@reservoir0x/relay-sdk
Version:
Relay is the Fastest and Cheapest Way to Bridge and Transact Across Chains.
53 lines • 2 kB
JavaScript
;
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