UNPKG

@reservoir0x/relay-sdk

Version:

Relay is the Fastest and Cheapest Way to Bridge and Transact Across Chains.

53 lines 2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.claimAppFees = void 0; const client_js_1 = require("../client.js"); const index_js_1 = require("../utils/index.js"); const viemWallet_js_1 = require("../utils/viemWallet.js"); async function claimAppFees(parameters) { const { wallet, chainId, currency, recipient, onProgress } = parameters; const client = (0, client_js_1.getClient)(); if (!client.baseApiUrl || !client.baseApiUrl.length) { throw new ReferenceError('RelayClient missing api url configuration'); } let adaptedWallet; if (wallet) { adaptedWallet = (0, viemWallet_js_1.isViemWalletClient)(wallet) ? (0, index_js_1.adaptViemWallet)(wallet) : wallet; } if (!adaptedWallet) { throw new Error('AdaptedWallet is required to execute claim steps'); } const address = await adaptedWallet.address(); const abortController = new AbortController(); const request = { url: `${client.baseApiUrl}/app-fees/${address}/claim`, method: 'post', data: { chainId, currency, recipient: recipient || address }, signal: abortController.signal }; try { const res = await client.utils.axios.request(request); if (res.status !== 200) { throw new index_js_1.APIError(res?.data?.message, res.status, res.data); } const steps = res.data.steps || []; const executeJson = (0, index_js_1.safeStructuredClone)({ steps }); const result = await (0, index_js_1.executeSteps)(chainId, request, adaptedWallet, (data) => { if (abortController.signal.aborted) { return; } onProgress?.(data); }, executeJson); return { data: result, abortController }; } catch (err) { console.error(err); throw err; } } exports.claimAppFees = claimAppFees; //# sourceMappingURL=claimAppFees.js.map