UNPKG

@biconomy/abstractjs

Version:

SDK for Biconomy integration with support for account abstraction, smart accounts, ERC-4337.

34 lines 1.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.signFusionQuote = void 0; const Helpers_1 = require("../../../modules/utils/Helpers.js"); const getPaymentToken_1 = require("./getPaymentToken.js"); const signMmDtkQuote_1 = require("./signMmDtkQuote.js"); const signOnChainQuote_1 = require("./signOnChainQuote.js"); const signPermitQuote_1 = require("./signPermitQuote.js"); const signFusionQuote = async (client, parameters) => { if ("delegatorSmartAccount" in parameters) { return (0, signMmDtkQuote_1.signMMDtkQuote)(client, parameters); } if ("call" in parameters.fusionQuote.trigger) { return (0, signOnChainQuote_1.default)(client, parameters); } const paymentTokenInfo = await (0, getPaymentToken_1.getPaymentToken)(client, parameters.fusionQuote.trigger); let permitEnabled = false; if (paymentTokenInfo.paymentToken) { permitEnabled = paymentTokenInfo.paymentToken.permitEnabled || false; } else if (paymentTokenInfo.isArbitraryPaymentTokensSupported) { const modularSmartAccount = client.account.deploymentOn(parameters.fusionQuote.trigger.chainId, true); permitEnabled = await (0, Helpers_1.isPermitSupported)(modularSmartAccount.walletClient, parameters.fusionQuote.trigger.tokenAddress); } else { throw new Error(`Payment token (${parameters.fusionQuote.trigger.tokenAddress}) not supported for chain ${parameters.fusionQuote.trigger.chainId}`); } return permitEnabled ? (0, signPermitQuote_1.signPermitQuote)(client, parameters) : (0, signOnChainQuote_1.default)(client, parameters); }; exports.signFusionQuote = signFusionQuote; exports.default = exports.signFusionQuote; //# sourceMappingURL=signFusionQuote.js.map