UNPKG

@biconomy/abstractjs

Version:

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

56 lines 2.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildRawComposable = void 0; const composabilityCalls_1 = require("../../../modules/utils/composabilityCalls.js"); const conditions_1 = require("../../../modules/utils/conditions.js"); const buildComposable_1 = require("./buildComposable.js"); const buildRawComposable = async (baseParams, parameters, composabilityParameters) => { const { currentInstructions = [] } = baseParams; const { to, calldata, gasLimit, value, chainId, conditions, metadata, lowerBoundTimestamp, upperBoundTimestamp, executionSimulationRetryDelay, simulationOverrides } = parameters; const { composabilityVersion } = composabilityParameters; if (!composabilityVersion) { throw new Error(`Composability version is required to build a composable call. This error may be caused by using a non-composable .build decorator with a composable call. Please use buildComposable instead.`); } if (calldata.length < 10 || !calldata.startsWith("0x")) { throw new Error("Invalid calldata"); } const functionSig = calldata.slice(0, 10); const callDataEncodedArgs = `0x${calldata.slice(10)}`; let versionAgnosticComposableParams = []; if (callDataEncodedArgs.length !== 0) { versionAgnosticComposableParams = (0, composabilityCalls_1.prepareRawComposableParams)(callDataEncodedArgs); } const allInputParams = conditions?.length ? [ ...versionAgnosticComposableParams, ...conditions.map(conditions_1.createConditionInputParam) ] : versionAgnosticComposableParams; const composableCall = (0, buildComposable_1.formatComposableCallWithVersion)(composabilityVersion, false, allInputParams, functionSig, to, value, gasLimit); const defaultMetadata = [ { type: "CUSTOM", description: "Custom composable on-chain action", chainId } ]; return [ ...currentInstructions, { calls: [composableCall], chainId, isComposable: true, metadata: metadata || defaultMetadata, lowerBoundTimestamp, upperBoundTimestamp, executionSimulationRetryDelay, simulationOverrides } ]; }; exports.buildRawComposable = buildRawComposable; exports.default = exports.buildRawComposable; //# sourceMappingURL=buildRawComposable.js.map