@zerodev/sdk
Version:
A utility library for working with ERC-4337
34 lines • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.encodeCallData = void 0;
const constants_js_1 = require("../../../../../constants.js");
const encodeExecuteBatchCall_js_1 = require("../../ep0_7/encodeExecuteBatchCall.js");
const encodeExecuteDelegateCall_js_1 = require("../../ep0_7/encodeExecuteDelegateCall.js");
const encodeExecuteSingleCall_js_1 = require("../../ep0_7/encodeExecuteSingleCall.js");
const encodeCallData = async (calls, callType, includeHooks) => {
if (calls.length > 1) {
if (callType === "delegatecall") {
throw new Error("Cannot batch delegatecall");
}
return (0, encodeExecuteBatchCall_js_1.encodeExecuteBatchCall)(calls, {
execType: constants_js_1.EXEC_TYPE.DEFAULT
}, includeHooks);
}
const call = calls.length === 0 ? undefined : calls[0];
if (!call) {
throw new Error("No calls to encode");
}
if (!callType || callType === "call") {
return (0, encodeExecuteSingleCall_js_1.encodeExecuteSingleCall)(call, {
execType: constants_js_1.EXEC_TYPE.DEFAULT
}, includeHooks);
}
if (callType === "delegatecall") {
return (0, encodeExecuteDelegateCall_js_1.encodeExecuteDelegateCall)({ to: call.to, data: call.data }, {
execType: constants_js_1.EXEC_TYPE.DEFAULT
}, includeHooks);
}
throw new Error("Invalid call type");
};
exports.encodeCallData = encodeCallData;
//# sourceMappingURL=encodeCallData.js.map