UNPKG

@etherspot/modular-sdk

Version:

Etherspot Modular SDK - build with ERC-7579 smart accounts modules

67 lines 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.HookMultiplexer = void 0; exports.getHookMultiPlexerInitData = getHookMultiPlexerInitData; const viem_1 = require("viem"); exports.HookMultiplexer = [ { type: 'function', name: 'onInstall', inputs: [ { name: 'data', type: 'bytes', internalType: 'bytes', }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'addHook', inputs: [ { name: 'hook', type: 'address', internalType: 'address', }, { name: 'hookType', type: 'bytes1', internalType: 'enum HookType', }, ], outputs: [], stateMutability: 'nonpayable', }, ]; function getHookMultiPlexerInitData(globalHooks = [], valueHooks = [], delegatecallHooks = [], sigHooks = [], targetSigHooks = []) { const abiType = [ { type: 'address[]' }, { type: 'address[]' }, { type: 'address[]' }, { type: 'tuple[]', components: [{ type: 'bytes4' }, { type: 'address[]' }], }, { type: 'tuple[]', components: [{ type: 'bytes4' }, { type: 'address[]' }], }, ]; const encodedData = (0, viem_1.encodeAbiParameters)(abiType, [ globalHooks, valueHooks, delegatecallHooks, sigHooks, targetSigHooks, ]); const hookMultiplexerInitData = (0, viem_1.encodeFunctionData)({ abi: exports.HookMultiplexer, args: [encodedData], functionName: 'onInstall', }); return hookMultiplexerInitData; } //# sourceMappingURL=utils.js.map