UNPKG

@biconomy/abstractjs

Version:

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

41 lines 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createCondition = exports.createConditionInputParam = exports.ConditionType = void 0; const viem_1 = require("viem"); const composabilityCalls_1 = require("./composabilityCalls.js"); var ConditionType; (function (ConditionType) { ConditionType["GTE"] = "gte"; ConditionType["LTE"] = "lte"; ConditionType["EQ"] = "eq"; })(ConditionType || (exports.ConditionType = ConditionType = {})); const createConditionInputParam = (condition) => { const encodedParam = (0, viem_1.encodeAbiParameters)([{ type: "address" }, { type: "bytes" }], [ condition.targetContract, (0, viem_1.encodeFunctionData)({ abi: condition.functionAbi, functionName: condition.functionName, args: condition.args }) ]); const constraintsToAdd = (0, composabilityCalls_1.validateAndProcessConstraints)([condition.constraint]); return (0, composabilityCalls_1.prepareInputParam)(composabilityCalls_1.InputParamFetcherType.STATIC_CALL, encodedParam, constraintsToAdd); }; exports.createConditionInputParam = createConditionInputParam; const createCondition = (params) => { const constraintMap = { [ConditionType.GTE]: composabilityCalls_1.greaterThanOrEqualTo, [ConditionType.LTE]: composabilityCalls_1.lessThanOrEqualTo, [ConditionType.EQ]: composabilityCalls_1.equalTo }; return { targetContract: params.targetContract, functionAbi: params.functionAbi, functionName: params.functionName, args: params.args, constraint: constraintMap[params.type](params.value), description: params.description }; }; exports.createCondition = createCondition; //# sourceMappingURL=conditions.js.map