export const nativeTokenLimitModuleAbi = [ { type: "function", name: "limits", inputs: [ { name: "entityId", type: "uint256", internalType: "uint256", }, { name: "account", type: "address", internalType: "address", }, ], outputs: [ { name: "limit", 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: "", type: "uint32", internalType: "uint32", }, { name: "", type: "address", internalType: "address", }, { name: "", type: "uint256", internalType: "uint256", }, { name: "", type: "bytes", internalType: "bytes", }, { name: "", type: "bytes", internalType: "bytes", }, ], outputs: [], stateMutability: "pure", }, { 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: "nonpayable", }, { type: "function", name: "specialPaymasters", inputs: [ { name: "paymaster", type: "address", internalType: "address", }, { name: "account", type: "address", internalType: "address", }, ], outputs: [ { name: "allowed", type: "bool", internalType: "bool", }, ], stateMutability: "view", }, { type: "function", name: "supportsInterface", inputs: [ { name: "interfaceId", type: "bytes4", internalType: "bytes4", }, ], outputs: [ { name: "", type: "bool", internalType: "bool", }, ], stateMutability: "view", }, { type: "function", name: "updateLimits", inputs: [ { name: "entityId", type: "uint32", internalType: "uint32", }, { name: "newLimit", type: "uint256", internalType: "uint256", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "updateSpecialPaymaster", inputs: [ { name: "paymaster", type: "address", internalType: "address", }, { name: "allowed", type: "bool", internalType: "bool", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "event", name: "NativeTokenSpendLimitUpdated", inputs: [ { name: "entityId", type: "uint32", indexed: true, internalType: "uint32", }, { name: "account", type: "address", indexed: true, internalType: "address", }, { name: "newLimit", type: "uint256", indexed: false, internalType: "uint256", }, ], anonymous: false, }, { type: "event", name: "SpecialPaymasterUpdated", inputs: [ { name: "account", type: "address", indexed: true, internalType: "address", }, { name: "paymaster", type: "address", indexed: true, internalType: "address", }, { name: "allowed", type: "bool", indexed: false, internalType: "bool", }, ], anonymous: false, }, { type: "error", name: "ExceededNativeTokenLimit", inputs: [], }, { type: "error", name: "InvalidPaymaster", inputs: [], }, { type: "error", name: "NotImplemented", inputs: [], }, { type: "error", name: "UnexpectedDataPassed", inputs: [], }, ] as const;