UNPKG

@biconomy/sdk

Version:

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

37 lines 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.signFusionQuote = exports.FUSION_NATIVE_TRANSFER_PREFIX = void 0; const viem_1 = require("viem"); const signQuote_1 = require("./signQuote.js"); exports.FUSION_NATIVE_TRANSFER_PREFIX = "0x150b7a02"; const signFusionQuote = async (client, params) => { const { account: account_ = client.account, quote, executionMode = "fusion-with-onchain-tx", trigger: { call: call_, chain } } = params; const call = { ...call_, data: (0, viem_1.concatHex)([ call_.data ?? exports.FUSION_NATIVE_TRANSFER_PREFIX, signQuote_1.PREFIX[executionMode], quote.hash ]) }; const signer = account_.signer; const masterClient = (0, viem_1.createWalletClient)({ account: signer, chain, transport: (0, viem_1.http)() }).extend(viem_1.publicActions); const hash = await masterClient.sendTransaction(call); const receipt = await masterClient.waitForTransactionReceipt({ hash }); const signature = (0, viem_1.concatHex)([ signQuote_1.PREFIX[executionMode], (0, viem_1.encodeAbiParameters)([{ type: "bytes32" }, { type: "uint256" }], [hash, BigInt(chain.id)]) ]); return { receipt, ...quote, signature }; }; exports.signFusionQuote = signFusionQuote; exports.default = exports.signFusionQuote; //# sourceMappingURL=signFusionQuote.js.map