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
|