UNPKG

@biconomy/abstractjs

Version:

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

126 lines 5.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildComposable = exports.build = void 0; const composabilityCalls_1 = require("../../modules/utils/composabilityCalls.js"); const buildAcrossIntentComposable_1 = require("./instructions/buildAcrossIntentComposable.js"); const buildApprove_1 = require("./instructions/buildApprove.js"); const buildBatch_1 = require("./instructions/buildBatch.js"); const buildComposable_1 = require("./instructions/buildComposable.js"); const buildDefaultInstructions_1 = require("./instructions/buildDefaultInstructions.js"); const buildIntent_1 = require("./instructions/buildIntent.js"); const buildMultichainInstructions_1 = require("./instructions/buildMultichainInstructions.js"); const buildNativeTokenTransfer_1 = require("./instructions/buildNativeTokenTransfer.js"); const buildRawComposable_1 = require("./instructions/buildRawComposable.js"); const buildTransfer_1 = require("./instructions/buildTransfer.js"); const buildTransferFrom_1 = require("./instructions/buildTransferFrom.js"); const buildWithdrawal_1 = require("./instructions/buildWithdrawal.js"); const build = async (baseParams, parameters) => { const { type, data } = parameters; const containsRuntimeValues = Object.values(data).some((value) => (0, composabilityCalls_1.isRuntimeComposableValue)(value)); if (containsRuntimeValues) { throw new Error("Runtime values are not supported for `build` action. Use `buildComposable` instead."); } switch (type) { case "intent": { return (0, buildIntent_1.buildIntent)(baseParams, data); } case "default": { return (0, buildDefaultInstructions_1.buildDefaultInstructions)(baseParams, data); } case "transferFrom": { return (0, buildTransferFrom_1.buildTransferFrom)(baseParams, data); } case "transfer": { return (0, buildTransfer_1.buildTransfer)(baseParams, data); } case "nativeTokenTransfer": { return (0, buildNativeTokenTransfer_1.default)(baseParams, data); } case "approve": { return (0, buildApprove_1.buildApprove)(baseParams, data); } case "withdrawal": { return (0, buildWithdrawal_1.default)(baseParams, data); } case "batch": { return (0, buildBatch_1.default)(baseParams, data); } case "multichain": { return (0, buildMultichainInstructions_1.buildMultichainInstructions)(baseParams, data); } default: { throw new Error(`Unknown build action type: ${type}`); } } }; exports.build = build; const buildComposable = async (baseParams, parameters, composabilityVersion) => { const { type, data, efficientMode } = parameters; if (type !== "batch" && !composabilityVersion) { throw new Error(`Composability version param is required for composable type: ${type}`); } switch (type) { case "default": { return (0, buildComposable_1.buildComposableUtil)(baseParams, data, { composabilityVersion: composabilityVersion, efficientMode }); } case "rawCalldata": { return (0, buildRawComposable_1.default)(baseParams, data, { composabilityVersion: composabilityVersion }); } case "transferFrom": { return (0, buildTransferFrom_1.buildTransferFrom)(baseParams, data, { forceComposableEncoding: true, efficientMode, composabilityVersion: composabilityVersion }); } case "transfer": { return (0, buildTransfer_1.buildTransfer)(baseParams, data, { forceComposableEncoding: true, efficientMode, composabilityVersion: composabilityVersion }); } case "nativeTokenTransfer": { return (0, buildNativeTokenTransfer_1.default)(baseParams, data, { forceComposableEncoding: true, efficientMode, composabilityVersion: composabilityVersion }); } case "approve": { return (0, buildApprove_1.buildApprove)(baseParams, data, { forceComposableEncoding: true, efficientMode, composabilityVersion: composabilityVersion }); } case "withdrawal": { return (0, buildWithdrawal_1.default)(baseParams, data, { forceComposableEncoding: true, efficientMode, composabilityVersion: composabilityVersion }); } case "batch": { return (0, buildBatch_1.default)(baseParams, data); } case "acrossIntent": { return (0, buildAcrossIntentComposable_1.default)(baseParams, data, { composabilityVersion: composabilityVersion, efficientMode: false, forceComposableEncoding: true }); } default: { throw new Error(`Unknown build action type: ${type}`); } } }; exports.buildComposable = buildComposable; exports.default = exports.build; //# sourceMappingURL=build.js.map