Skip to content
Alchemy Logo

NativeTokenLimitModule

const NativeTokenLimitModule: object;

Defined in: packages/smart-accounts/src/ma-v2/modules/native-token-limit-module/module.ts:4

NameTypeDefault value

abi

readonly [{ inputs: readonly [{ internalType: "uint256"; name: "entityId"; type: "uint256"; }, { internalType: "address"; name: "account"; type: "address"; }]; name: "limits"; outputs: readonly [{ internalType: "uint256"; name: "limit"; type: "uint256"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly []; name: "moduleId"; outputs: readonly [{ internalType: "string"; name: ""; type: "string"; }]; stateMutability: "pure"; type: "function"; }, { inputs: readonly [{ internalType: "bytes"; name: "data"; type: "bytes"; }]; name: "onInstall"; outputs: readonly []; stateMutability: "nonpayable"; type: "function"; }, { inputs: readonly [{ internalType: "bytes"; name: "data"; type: "bytes"; }]; name: "onUninstall"; outputs: readonly []; stateMutability: "nonpayable"; type: "function"; }, { inputs: readonly [{ internalType: "uint32"; name: ""; type: "uint32"; }, { internalType: "bytes"; name: ""; type: "bytes"; }]; name: "postExecutionHook"; outputs: readonly []; stateMutability: "pure"; type: "function"; }, { inputs: readonly [{ internalType: "uint32"; name: "entityId"; type: "uint32"; }, { internalType: "address"; name: ""; type: "address"; }, { internalType: "uint256"; name: ""; type: "uint256"; }, { internalType: "bytes"; name: "data"; type: "bytes"; }]; name: "preExecutionHook"; outputs: readonly [{ internalType: "bytes"; name: ""; type: "bytes"; }]; stateMutability: "nonpayable"; type: "function"; }, { inputs: readonly [{ internalType: "uint32"; name: ""; type: "uint32"; }, { internalType: "address"; name: ""; type: "address"; }, { internalType: "uint256"; name: ""; type: "uint256"; }, { internalType: "bytes"; name: ""; type: "bytes"; }, { internalType: "bytes"; name: ""; type: "bytes"; }]; name: "preRuntimeValidationHook"; outputs: readonly []; stateMutability: "pure"; type: "function"; }, { inputs: readonly [{ internalType: "uint32"; name: ""; type: "uint32"; }, { internalType: "address"; name: ""; type: "address"; }, { internalType: "bytes32"; name: ""; type: "bytes32"; }, { internalType: "bytes"; name: ""; type: "bytes"; }]; name: "preSignatureValidationHook"; outputs: readonly []; stateMutability: "pure"; type: "function"; }, { inputs: readonly [{ internalType: "uint32"; name: "entityId"; type: "uint32"; }, { components: readonly [{ internalType: "address"; name: "sender"; type: "address"; }, { internalType: "uint256"; name: "nonce"; type: "uint256"; }, { internalType: "bytes"; name: "initCode"; type: "bytes"; }, { internalType: "bytes"; name: "callData"; type: "bytes"; }, { internalType: "bytes32"; name: "accountGasLimits"; type: "bytes32"; }, { internalType: "uint256"; name: "preVerificationGas"; type: "uint256"; }, { internalType: "bytes32"; name: "gasFees"; type: "bytes32"; }, { internalType: "bytes"; name: "paymasterAndData"; type: "bytes"; }, { internalType: "bytes"; name: "signature"; type: "bytes"; }]; internalType: "struct PackedUserOperation"; name: "userOp"; type: "tuple"; }, { internalType: "bytes32"; name: ""; type: "bytes32"; }]; name: "preUserOpValidationHook"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "nonpayable"; type: "function"; }, { inputs: readonly [{ internalType: "address"; name: "paymaster"; type: "address"; }, { internalType: "address"; name: "account"; type: "address"; }]; name: "specialPaymasters"; outputs: readonly [{ internalType: "bool"; name: "allowed"; type: "bool"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly [{ internalType: "bytes4"; name: "interfaceId"; type: "bytes4"; }]; name: "supportsInterface"; outputs: readonly [{ internalType: "bool"; name: ""; type: "bool"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly [{ internalType: "uint32"; name: "entityId"; type: "uint32"; }, { internalType: "uint256"; name: "newLimit"; type: "uint256"; }]; name: "updateLimits"; outputs: readonly []; stateMutability: "nonpayable"; type: "function"; }, { inputs: readonly [{ internalType: "address"; name: "paymaster"; type: "address"; }, { internalType: "bool"; name: "allowed"; type: "bool"; }]; name: "updateSpecialPaymaster"; outputs: readonly []; stateMutability: "nonpayable"; type: "function"; }, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint32"; name: "entityId"; type: "uint32"; }, { indexed: true; internalType: "address"; name: "account"; type: "address"; }, { indexed: false; internalType: "uint256"; name: "newLimit"; type: "uint256"; }]; name: "NativeTokenSpendLimitUpdated"; type: "event"; }, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "address"; name: "account"; type: "address"; }, { indexed: true; internalType: "address"; name: "paymaster"; type: "address"; }, { indexed: false; internalType: "bool"; name: "allowed"; type: "bool"; }]; name: "SpecialPaymasterUpdated"; type: "event"; }, { inputs: readonly []; name: "ExceededNativeTokenLimit"; type: "error"; }, { inputs: readonly []; name: "InvalidPaymaster"; type: "error"; }, { inputs: readonly []; name: "NotImplemented"; type: "error"; }, { inputs: readonly []; name: "UnexpectedDataPassed"; type: "error"; }]

nativeTokenLimitModuleAbi

encodeOnInstallData()

(args) => `0x${string}`

encodeOnUninstallData()

(args) => `0x${string}`

Was this page helpful?