export const allowlistModuleAbi = [ { type: "function", name: "addressAllowlist", inputs: [ { name: "entityId", type: "uint32", internalType: "uint32", }, { name: "target", type: "address", internalType: "address", }, { name: "account", type: "address", internalType: "address", }, ], outputs: [ { name: "allowed", type: "bool", internalType: "bool", }, { name: "hasSelectorAllowlist", type: "bool", internalType: "bool", }, { name: "hasERC20SpendLimit", type: "bool", internalType: "bool", }, ], stateMutability: "view", }, { type: "function", name: "checkAllowlistCalldata", inputs: [ { name: "entityId", type: "uint32", internalType: "uint32", }, { name: "callData", type: "bytes", internalType: "bytes", }, ], outputs: [], stateMutability: "view", }, { type: "function", name: "deleteAllowlist", inputs: [ { name: "entityId", type: "uint32", internalType: "uint32", }, { name: "inputs", type: "tuple[]", internalType: "struct AllowlistModule.AllowlistInput[]", components: [ { name: "target", type: "address", internalType: "address", }, { name: "hasSelectorAllowlist", type: "bool", internalType: "bool", }, { name: "hasERC20SpendLimit", type: "bool", internalType: "bool", }, { name: "erc20SpendLimit", type: "uint256", internalType: "uint256", }, { name: "selectors", type: "bytes4[]", internalType: "bytes4[]", }, ], }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "erc20SpendLimits", inputs: [ { name: "entityId", type: "uint32", internalType: "uint32", }, { name: "target", type: "address", internalType: "address", }, { name: "account", type: "address", internalType: "address", }, ], outputs: [ { name: "", type: "uint256", internalType: "uint256", }, ], stateMutability: "view", }, { type: "function", name: "moduleId", inputs: [], outputs: [ { name: "", type: "string", internalType: "string", }, ], stateMutability: "pure", }, { type: "function", name: "onInstall", inputs: [ { name: "data", type: "bytes", internalType: "bytes", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "onUninstall", inputs: [ { name: "data", type: "bytes", internalType: "bytes", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "postExecutionHook", inputs: [ { name: "", type: "uint32", internalType: "uint32", }, { name: "", type: "bytes", internalType: "bytes", }, ], outputs: [], stateMutability: "pure", }, { type: "function", name: "preExecutionHook", inputs: [ { name: "entityId", type: "uint32", internalType: "uint32", }, { name: "", type: "address", internalType: "address", }, { name: "", type: "uint256", internalType: "uint256", }, { name: "data", type: "bytes", internalType: "bytes", }, ], outputs: [ { name: "", type: "bytes", internalType: "bytes", }, ], stateMutability: "nonpayable", }, { type: "function", name: "preRuntimeValidationHook", inputs: [ { name: "entityId", type: "uint32", internalType: "uint32", }, { name: "", type: "address", internalType: "address", }, { name: "", type: "uint256", internalType: "uint256", }, { name: "data", type: "bytes", internalType: "bytes", }, { name: "", type: "bytes", internalType: "bytes", }, ], outputs: [], stateMutability: "view", }, { type: "function", name: "preSignatureValidationHook", inputs: [ { name: "", type: "uint32", internalType: "uint32", }, { name: "", type: "address", internalType: "address", }, { name: "", type: "bytes32", internalType: "bytes32", }, { name: "", type: "bytes", internalType: "bytes", }, ], outputs: [], stateMutability: "pure", }, { type: "function", name: "preUserOpValidationHook", inputs: [ { name: "entityId", type: "uint32", internalType: "uint32", }, { name: "userOp", type: "tuple", internalType: "struct PackedUserOperation", components: [ { name: "sender", type: "address", internalType: "address", }, { name: "nonce", type: "uint256", internalType: "uint256", }, { name: "initCode", type: "bytes", internalType: "bytes", }, { name: "callData", type: "bytes", internalType: "bytes", }, { name: "accountGasLimits", type: "bytes32", internalType: "bytes32", }, { name: "preVerificationGas", type: "uint256", internalType: "uint256", }, { name: "gasFees", type: "bytes32", internalType: "bytes32", }, { name: "paymasterAndData", type: "bytes", internalType: "bytes", }, { name: "signature", type: "bytes", internalType: "bytes", }, ], }, { name: "", type: "bytes32", internalType: "bytes32", }, ], outputs: [ { name: "", type: "uint256", internalType: "uint256", }, ], stateMutability: "view", }, { type: "function", name: "selectorAllowlist", inputs: [ { name: "entityId", type: "uint32", internalType: "uint32", }, { name: "selector", type: "bytes4", internalType: "bytes4", }, { name: "target", type: "address", internalType: "address", }, { name: "account", type: "address", internalType: "address", }, ], outputs: [ { name: "", type: "bool", internalType: "bool", }, ], stateMutability: "view", }, { type: "function", name: "setAddressAllowlist", inputs: [ { name: "entityId", type: "uint32", internalType: "uint32", }, { name: "target", type: "address", internalType: "address", }, { name: "allowed", type: "bool", internalType: "bool", }, { name: "hasSelectorAllowlist", type: "bool", internalType: "bool", }, { name: "hasERC20SpendLimit", type: "bool", internalType: "bool", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "setSelectorAllowlist", inputs: [ { name: "entityId", type: "uint32", internalType: "uint32", }, { name: "target", type: "address", internalType: "address", }, { name: "selector", type: "bytes4", internalType: "bytes4", }, { name: "allowed", type: "bool", internalType: "bool", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "supportsInterface", inputs: [ { name: "interfaceId", type: "bytes4", internalType: "bytes4", }, ], outputs: [ { name: "", type: "bool", internalType: "bool", }, ], stateMutability: "view", }, { type: "function", name: "updateAllowlist", inputs: [ { name: "entityId", type: "uint32", internalType: "uint32", }, { name: "inputs", type: "tuple[]", internalType: "struct AllowlistModule.AllowlistInput[]", components: [ { name: "target", type: "address", internalType: "address", }, { name: "hasSelectorAllowlist", type: "bool", internalType: "bool", }, { name: "hasERC20SpendLimit", type: "bool", internalType: "bool", }, { name: "erc20SpendLimit", type: "uint256", internalType: "uint256", }, { name: "selectors", type: "bytes4[]", internalType: "bytes4[]", }, ], }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "updateLimits", inputs: [ { name: "entityId", type: "uint32", internalType: "uint32", }, { name: "token", type: "address", internalType: "address", }, { name: "hasERC20SpendLimit", type: "bool", internalType: "bool", }, { name: "newLimit", type: "uint256", internalType: "uint256", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "event", name: "AddressAllowlistUpdated", inputs: [ { name: "entityId", type: "uint32", indexed: true, internalType: "uint32", }, { name: "account", type: "address", indexed: true, internalType: "address", }, { name: "target", type: "address", indexed: true, internalType: "address", }, { name: "entry", type: "tuple", indexed: false, internalType: "struct AllowlistModule.AddressAllowlistEntry", components: [ { name: "allowed", type: "bool", internalType: "bool", }, { name: "hasSelectorAllowlist", type: "bool", internalType: "bool", }, { name: "hasERC20SpendLimit", type: "bool", internalType: "bool", }, ], }, ], anonymous: false, }, { type: "event", name: "ERC20SpendLimitUpdated", inputs: [ { name: "entityId", type: "uint32", indexed: true, internalType: "uint32", }, { name: "account", type: "address", indexed: true, internalType: "address", }, { name: "token", type: "address", indexed: true, internalType: "address", }, { name: "newLimit", type: "uint256", indexed: false, internalType: "uint256", }, ], anonymous: false, }, { type: "event", name: "SelectorAllowlistUpdated", inputs: [ { name: "entityId", type: "uint32", indexed: true, internalType: "uint32", }, { name: "account", type: "address", indexed: true, internalType: "address", }, { name: "targetAndSelector", type: "bytes24", indexed: true, internalType: "bytes24", }, { name: "allowed", type: "bool", indexed: false, internalType: "bool", }, ], anonymous: false, }, { type: "error", name: "AddressNotAllowed", inputs: [], }, { type: "error", name: "ERC20NotAllowed", inputs: [ { name: "", type: "address", internalType: "address", }, ], }, { type: "error", name: "ExceededTokenLimit", inputs: [], }, { type: "error", name: "InvalidCalldataLength", inputs: [], }, { type: "error", name: "NoSelectorSpecified", inputs: [], }, { type: "error", name: "NotImplemented", inputs: [], }, { type: "error", name: "SelectorNotAllowed", inputs: [], }, { type: "error", name: "SpendingRequestNotAllowed", inputs: [ { name: "", type: "bytes4", internalType: "bytes4", }, ], }, { type: "error", name: "UnexpectedDataPassed", inputs: [], }, ] as const;