Contract
0xaa7f03dee84967dce7c2bbc6a060ba5a9227ddf9
Verification
Unverified
Type
Contract
23 bytes
ABI entries
67
19 read · 13 write
License
—
Contract information
- Address
- 0xaa7f03dee84967dce7c2bbc6a060ba5a9227ddf9
- Chain
- Robinhood Chain (4663)
- Compiler
- —
- Optimization
- —
- Creator
- —
- Creation tx
- —
Token
Not a token
This contract does not expose ERC-20 metadata.
Read contract (19)
CUSTOM_STORAGE_ROOT() → bytes32
ENTRY_POINT() → address
ERC20ETH() → address
domainBytes() → bytes
domainSeparator() → bytes32
eip712Domain() → bytes1, string, string, uint256, address, bytes32, uint256[]
getKey(bytes32) → tuple
getKeySettings(bytes32) → uint256
getSeq(uint256) → uint256
hashTypedData(bytes32) → bytes32
isRegistered(bytes32) → bool
isValidSignature(bytes32, bytes) → bytes4
keyAt(uint256) → tuple
keyCount() → uint256
keyHashes() → uint256
namespaceAndVersion() → string
nativeAllowance(address) → uint256
nonceSequenceNumber(uint256) → uint256
supportsExecutionMode(bytes32) → bool
Events (9)
ApproveNativeEIP712DomainChangedEntryPointUpdatedKeySettingsUpdatedNativeAllowanceUpdatedNonceInvalidatedRegisteredRevokedTransferFromNative
ABI
[
{
"inputs": [],
"name": "AllowanceExceeded",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes",
"name": "reason",
"type": "bytes"
}
],
"name": "CallFailed",
"type": "error"
},
{
"inputs": [
{
"components": [
{
"internalType": "enum KeyType",
"name": "keyType",
"type": "uint8"
},
{
"internalType": "bytes",
"name": "publicKey",
"type": "bytes"
}
],
"internalType": "struct Key",
"name": "key",
"type": "tuple"
}
],
"name": "CannotRegisterKey",
"type": "error"
},
{
"inputs": [],
"name": "CannotRegisterRootKey",
"type": "error"
},
{
"inputs": [],
"name": "CannotUpdateRootKey",
"type": "error"
},
{
"inputs": [],
"name": "ExcessiveInvalidation",
"type": "error"
},
{
"inputs": [],
"name": "FnSelectorNotRecognized",
"type": "error"
},
{
"inputs": [],
"name": "IncorrectSender",
"type": "error"
},
{
"inputs": [],
"name": "IndexOutOfBounds",
"type": "error"
},
{
"inputs": [],
"name": "InvalidHook",
"type": "error"
},
{
"inputs": [],
"name": "InvalidHookResponse",
"type": "error"
},
{
"inputs": [],
"name": "InvalidKey",
"type": "error"
},
{
"inputs": [],
"name": "InvalidNonce",
"type": "error"
},
{
"inputs": [],
"name": "InvalidSettings",
"type": "error"
},
{
"inputs": [],
"name": "InvalidSignature",
"type": "error"
},
{
"inputs": [],
"name": "KeyDoesNotExist",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint40",
"name": "expiration",
"type": "uint40"
}
],
"name": "KeyExpired",
"type": "error"
},
{
"inputs": [],
"name": "NotEntryPoint",
"type": "error"
},
{
"inputs": [],
"name": "OnlyAdminCanCallEntryPoint",
"type": "error"
},
{
"inputs": [],
"name": "OnlyAdminCanSelfCall",
"type": "error"
},
{
"inputs": [],
"name": "SignatureExpired",
"type": "error"
},
{
"inputs": [],
"name": "TransferNativeFailed",
"type": "error"
},
{
"inputs": [],
"name": "Unauthorized",
"type": "error"
},
{
"inputs": [],
"name": "UnsupportedExecutionMode",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "ApproveNative",
"type": "event"
},
{
"anonymous": false,
"inputs": [],
"name": "EIP712DomainChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "newEntryPoint",
"type": "address"
}
],
"name": "EntryPointUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "keyHash",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "Settings",
"name": "settings",
"type": "uint256"
}
],
"name": "KeySettingsUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "NativeAllowanceUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
}
],
"name": "NonceInvalidated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "keyHash",
"type": "bytes32"
},
{
"components": [
{
"internalType": "enum KeyType",
"name": "keyType",
"type": "uint8"
},
{
"internalType": "bytes",
"name": "publicKey",
"type": "bytes"
}
],
"indexed": false,
"internalType": "struct Key",
"name": "key",
"type": "tuple"
}
],
"name": "Registered",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "keyHash",
"type": "bytes32"
}
],
"name": "Revoked",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "TransferFromNative",
"type": "event"
},
{
"stateMutability": "payable",
"type": "fallback"
},
{
"inputs": [],
"name": "CUSTOM_STORAGE_ROOT",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "ENTRY_POINT",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "ERC20ETH",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "approveNative",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "domainBytes",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "domainSeparator",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "eip712Domain",
"outputs": [
{
"internalType": "bytes1",
"name": "fields",
"type": "bytes1"
},
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "version",
"type": "string"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
},
{
"internalType": "address",
"name": "verifyingContract",
"type": "address"
},
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256[]",
"name": "extensions",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"components": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"internalType": "struct Call[]",
"name": "calls",
"type": "tuple[]"
},
{
"internalType": "bool",
"name": "revertOnFailure",
"type": "bool"
}
],
"internalType": "struct BatchedCall",
"name": "batchedCall",
"type": "tuple"
}
],
"name": "execute",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"components": [
{
"components": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"internalType": "struct Call[]",
"name": "calls",
"type": "tuple[]"
},
{
"internalType": "bool",
"name": "revertOnFailure",
"type": "bool"
}
],
"internalType": "struct BatchedCall",
"name": "batchedCall",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "keyHash",
"type": "bytes32"
},
{
"internalType": "address",
"name": "executor",
"type": "address"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
}
],
"internalType": "struct SignedBatchedCall",
"name": "signedBatchedCall",
"type": "tuple"
},
{
"internalType": "bytes",
"name": "wrappedSignature",
"type": "bytes"
}
],
"name": "execute",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "mode",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "executionData",
"type": "bytes"
}
],
"name": "execute",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"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": "executeUserOp",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "keyHash",
"type": "bytes32"
}
],
"name": "getKey",
"outputs": [
{
"components": [
{
"internalType": "enum KeyType",
"name": "keyType",
"type": "uint8"
},
{
"internalType": "bytes",
"name": "publicKey",
"type": "bytes"
}
],
"internalType": "struct Key",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "keyHash",
"type": "bytes32"
}
],
"name": "getKeySettings",
"outputs": [
{
"internalType": "Settings",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "key",
"type": "uint256"
}
],
"name": "getSeq",
"outputs": [
{
"internalType": "uint256",
"name": "seq",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "hash",
"type": "bytes32"
}
],
"name": "hashTypedData",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "newNonce",
"type": "uint256"
}
],
"name": "invalidateNonce",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "keyHash",
"type": "bytes32"
}
],
"name": "isRegistered",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "digest",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "wrappedSignature",
"type": "bytes"
}
],
"name": "isValidSignature",
"outputs": [
{
"internalType": "bytes4",
"name": "",
"type": "bytes4"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "i",
"type": "uint256"
}
],
"name": "keyAt",
"outputs": [
{
"components": [
{
"internalType": "enum KeyType",
"name": "keyType",
"type": "uint8"
},
{
"internalType": "bytes",
"name": "publicKey",
"type": "bytes"
}
],
"internalType": "struct Key",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "keyCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "keyHashes",
"outputs": [
{
"internalType": "uint256",
"name": "_spacer",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "namespaceAndVersion",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "nativeAllowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "key",
"type": "uint256"
}
],
"name": "nonceSequenceNumber",
"outputs": [
{
"internalType": "uint256",
"name": "seq",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "enum KeyType",
"name": "keyType",
"type": "uint8"
},
{
"internalType": "bytes",
"name": "publicKey",
"type": "bytes"
}
],
"internalType": "struct Key",
"name": "key",
"type": "tuple"
}
],
"name": "register",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "keyHash",
"type": "bytes32"
}
],
"name": "revoke",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "mode",
"type": "bytes32"
}
],
"name": "supportsExecutionMode",
"outputs": [
{
"internalType": "bool",
"name": "result",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferFromNative",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "keyHash",
"type": "bytes32"
},
{
"internalType": "Settings",
"name": "settings",
"type": "uint256"
}
],
"name": "update",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "entryPoint",
"type": "address"
}
],
"name": "updateEntryPoint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "updateSalt",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"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": "userOpHash",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "missingAccountFunds",
"type": "uint256"
}
],
"name": "validateUserOp",
"outputs": [
{
"internalType": "uint256",
"name": "validationData",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
]Source code
Source not published
Only verified contracts expose their source. The bytecode is still on-chain.
Chain explorer446msChain node73ms