Contract

0x2edbe6602e8cae94ff9d3f7013ddf78442813a5f

Verification
Unverified
Type
Contract
23 bytes
ABI entries
63
11 read · 12 write
License

Contract information

Address
0x2edbe6602e8cae94ff9d3f7013ddf78442813a5f
Chain
Robinhood Chain (4663)
Compiler
Optimization
Creator
Creation tx

Token

Not a token

This contract does not expose ERC-20 metadata.

Read contract (11)

accountId()string
entryPoint()address
getExecutionData(bytes4)tuple
getFallbackSignerData()address, bool
getValidationData(bytes24)tuple
isValidSignature(bytes32, bytes)bytes4
onERC1155BatchReceived(address, address, uint256[], uint256[], bytes)bytes4
onERC1155Received(address, address, uint256, uint256, bytes)bytes4
onERC721Received(address, address, uint256, bytes)bytes4
proxiableUUID()bytes32
supportsInterface(bytes4)bool

Events (7)

ExecutionInstalledExecutionUninstalledFallbackSignerUpdatedInitializedUpgradedValidationInstalledValidationUninstalled

ABI

[
  {
    "inputs": [
      {
        "internalType": "contract IEntryPoint",
        "name": "entryPoint",
        "type": "address"
      },
      {
        "internalType": "contract ExecutionInstallDelegate",
        "name": "executionInstallDelegate",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [],
    "name": "ArrayLengthMismatch",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "CreateFailed",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "DeferredActionSignatureInvalid",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "DeferredValidationHasValidationHooks",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "HookConfig",
        "name": "hookConfig",
        "type": "bytes25"
      }
    ],
    "name": "ExecutionHookAlreadySet",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "FallbackSignerDisabled",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "FallbackSignerMismatch",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "FallbackValidationInstallationNotAllowed",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "module",
        "type": "address"
      }
    ],
    "name": "InterfaceNotSupported",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidInitialization",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidSignatureType",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "module",
        "type": "address"
      },
      {
        "internalType": "bytes",
        "name": "revertReason",
        "type": "bytes"
      }
    ],
    "name": "ModuleInstallCallbackFailed",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "NonCanonicalEncoding",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "NotEntryPoint",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "PreValidationHookDuplicate",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RequireUserOperationContext",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "SegmentOutOfOrder",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "SelfCallRecursionDepthExceeded",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "ModuleEntity",
        "name": "validationFunction",
        "type": "bytes24"
      }
    ],
    "name": "SignatureValidationInvalid",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "UnauthorizedCallContext",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "ModuleEntity",
        "name": "validationFunction",
        "type": "bytes24"
      },
      {
        "internalType": "address",
        "name": "aggregator",
        "type": "address"
      }
    ],
    "name": "UnexpectedAggregator",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "bytes4",
        "name": "selector",
        "type": "bytes4"
      }
    ],
    "name": "UnrecognizedFunction",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "UpgradeFailed",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "UpgradeNotAllowed",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "ModuleEntity",
        "name": "validationFunction",
        "type": "bytes24"
      }
    ],
    "name": "UserOpValidationInvalid",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "bytes4",
        "name": "selector",
        "type": "bytes4"
      },
      {
        "internalType": "ModuleEntity",
        "name": "validationFunction",
        "type": "bytes24"
      }
    ],
    "name": "ValidationAlreadySet",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ValidationAssocHookLimitExceeded",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ValidationEntityIdInUse",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "bytes4",
        "name": "selector",
        "type": "bytes4"
      }
    ],
    "name": "ValidationFunctionMissing",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ValidationSignatureSegmentMissing",
    "type": "error"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "module",
        "type": "address"
      },
      {
        "components": [
          {
            "components": [
              {
                "internalType": "bytes4",
                "name": "executionSelector",
                "type": "bytes4"
              },
              {
                "internalType": "bool",
                "name": "skipRuntimeValidation",
                "type": "bool"
              },
              {
                "internalType": "bool",
                "name": "allowGlobalValidation",
                "type": "bool"
              }
            ],
            "internalType": "struct ManifestExecutionFunction[]",
            "name": "executionFunctions",
            "type": "tuple[]"
          },
          {
            "components": [
              {
                "internalType": "bytes4",
                "name": "executionSelector",
                "type": "bytes4"
              },
              {
                "internalType": "uint32",
                "name": "entityId",
                "type": "uint32"
              },
              {
                "internalType": "bool",
                "name": "isPreHook",
                "type": "bool"
              },
              {
                "internalType": "bool",
                "name": "isPostHook",
                "type": "bool"
              }
            ],
            "internalType": "struct ManifestExecutionHook[]",
            "name": "executionHooks",
            "type": "tuple[]"
          },
          {
            "internalType": "bytes4[]",
            "name": "interfaceIds",
            "type": "bytes4[]"
          }
        ],
        "indexed": false,
        "internalType": "struct ExecutionManifest",
        "name": "manifest",
        "type": "tuple"
      }
    ],
    "name": "ExecutionInstalled",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "module",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "onUninstallSucceeded",
        "type": "bool"
      },
      {
        "components": [
          {
            "components": [
              {
                "internalType": "bytes4",
                "name": "executionSelector",
                "type": "bytes4"
              },
              {
                "internalType": "bool",
                "name": "skipRuntimeValidation",
                "type": "bool"
              },
              {
                "internalType": "bool",
                "name": "allowGlobalValidation",
                "type": "bool"
              }
            ],
            "internalType": "struct ManifestExecutionFunction[]",
            "name": "executionFunctions",
            "type": "tuple[]"
          },
          {
            "components": [
              {
                "internalType": "bytes4",
                "name": "executionSelector",
                "type": "bytes4"
              },
              {
                "internalType": "uint32",
                "name": "entityId",
                "type": "uint32"
              },
              {
                "internalType": "bool",
                "name": "isPreHook",
                "type": "bool"
              },
              {
                "internalType": "bool",
                "name": "isPostHook",
                "type": "bool"
              }
            ],
            "internalType": "struct ManifestExecutionHook[]",
            "name": "executionHooks",
            "type": "tuple[]"
          },
          {
            "internalType": "bytes4[]",
            "name": "interfaceIds",
            "type": "bytes4[]"
          }
        ],
        "indexed": false,
        "internalType": "struct ExecutionManifest",
        "name": "manifest",
        "type": "tuple"
      }
    ],
    "name": "ExecutionUninstalled",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "newFallbackSigner",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "isDisabled",
        "type": "bool"
      }
    ],
    "name": "FallbackSignerUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint64",
        "name": "version",
        "type": "uint64"
      }
    ],
    "name": "Initialized",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "implementation",
        "type": "address"
      }
    ],
    "name": "Upgraded",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "module",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint32",
        "name": "entityId",
        "type": "uint32"
      }
    ],
    "name": "ValidationInstalled",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "module",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint32",
        "name": "entityId",
        "type": "uint32"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "onUninstallSucceeded",
        "type": "bool"
      }
    ],
    "name": "ValidationUninstalled",
    "type": "event"
  },
  {
    "stateMutability": "payable",
    "type": "fallback"
  },
  {
    "inputs": [],
    "name": "accountId",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "entryPoint",
    "outputs": [
      {
        "internalType": "contract IEntryPoint",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "target",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      },
      {
        "internalType": "bytes",
        "name": "data",
        "type": "bytes"
      }
    ],
    "name": "execute",
    "outputs": [
      {
        "internalType": "bytes",
        "name": "result",
        "type": "bytes"
      }
    ],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "internalType": "address",
            "name": "target",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "value",
            "type": "uint256"
          },
          {
            "internalType": "bytes",
            "name": "data",
            "type": "bytes"
          }
        ],
        "internalType": "struct Call[]",
        "name": "calls",
        "type": "tuple[]"
      }
    ],
    "name": "executeBatch",
    "outputs": [
      {
        "internalType": "bytes[]",
        "name": "results",
        "type": "bytes[]"
      }
    ],
    "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": "bytes",
        "name": "data",
        "type": "bytes"
      },
      {
        "internalType": "bytes",
        "name": "authorization",
        "type": "bytes"
      }
    ],
    "name": "executeWithRuntimeValidation",
    "outputs": [
      {
        "internalType": "bytes",
        "name": "",
        "type": "bytes"
      }
    ],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes4",
        "name": "selector",
        "type": "bytes4"
      }
    ],
    "name": "getExecutionData",
    "outputs": [
      {
        "components": [
          {
            "internalType": "address",
            "name": "module",
            "type": "address"
          },
          {
            "internalType": "bool",
            "name": "skipRuntimeValidation",
            "type": "bool"
          },
          {
            "internalType": "bool",
            "name": "allowGlobalValidation",
            "type": "bool"
          },
          {
            "internalType": "HookConfig[]",
            "name": "executionHooks",
            "type": "bytes25[]"
          }
        ],
        "internalType": "struct ExecutionDataView",
        "name": "data",
        "type": "tuple"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getFallbackSignerData",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "ModuleEntity",
        "name": "validationFunction",
        "type": "bytes24"
      }
    ],
    "name": "getValidationData",
    "outputs": [
      {
        "components": [
          {
            "internalType": "ValidationFlags",
            "name": "validationFlags",
            "type": "uint8"
          },
          {
            "internalType": "HookConfig[]",
            "name": "validationHooks",
            "type": "bytes25[]"
          },
          {
            "internalType": "HookConfig[]",
            "name": "executionHooks",
            "type": "bytes25[]"
          },
          {
            "internalType": "bytes4[]",
            "name": "selectors",
            "type": "bytes4[]"
          }
        ],
        "internalType": "struct ValidationDataView",
        "name": "data",
        "type": "tuple"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "module",
        "type": "address"
      },
      {
        "components": [
          {
            "components": [
              {
                "internalType": "bytes4",
                "name": "executionSelector",
                "type": "bytes4"
              },
              {
                "internalType": "bool",
                "name": "skipRuntimeValidation",
                "type": "bool"
              },
              {
                "internalType": "bool",
                "name": "allowGlobalValidation",
                "type": "bool"
              }
            ],
            "internalType": "struct ManifestExecutionFunction[]",
            "name": "executionFunctions",
            "type": "tuple[]"
          },
          {
            "components": [
              {
                "internalType": "bytes4",
                "name": "executionSelector",
                "type": "bytes4"
              },
              {
                "internalType": "uint32",
                "name": "entityId",
                "type": "uint32"
              },
              {
                "internalType": "bool",
                "name": "isPreHook",
                "type": "bool"
              },
              {
                "internalType": "bool",
                "name": "isPostHook",
                "type": "bool"
              }
            ],
            "internalType": "struct ManifestExecutionHook[]",
            "name": "executionHooks",
            "type": "tuple[]"
          },
          {
            "internalType": "bytes4[]",
            "name": "interfaceIds",
            "type": "bytes4[]"
          }
        ],
        "internalType": "struct ExecutionManifest",
        "name": "manifest",
        "type": "tuple"
      },
      {
        "internalType": "bytes",
        "name": "moduleInstallData",
        "type": "bytes"
      }
    ],
    "name": "installExecution",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "ValidationConfig",
        "name": "validationConfig",
        "type": "bytes25"
      },
      {
        "internalType": "bytes4[]",
        "name": "selectors",
        "type": "bytes4[]"
      },
      {
        "internalType": "bytes",
        "name": "installData",
        "type": "bytes"
      },
      {
        "internalType": "bytes[]",
        "name": "hooks",
        "type": "bytes[]"
      }
    ],
    "name": "installValidation",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "hash",
        "type": "bytes32"
      },
      {
        "internalType": "bytes",
        "name": "signature",
        "type": "bytes"
      }
    ],
    "name": "isValidSignature",
    "outputs": [
      {
        "internalType": "bytes4",
        "name": "",
        "type": "bytes4"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "uint256[]",
        "name": "",
        "type": "uint256[]"
      },
      {
        "internalType": "uint256[]",
        "name": "",
        "type": "uint256[]"
      },
      {
        "internalType": "bytes",
        "name": "",
        "type": "bytes"
      }
    ],
    "name": "onERC1155BatchReceived",
    "outputs": [
      {
        "internalType": "bytes4",
        "name": "",
        "type": "bytes4"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      },
      {
        "internalType": "bytes",
        "name": "",
        "type": "bytes"
      }
    ],
    "name": "onERC1155Received",
    "outputs": [
      {
        "internalType": "bytes4",
        "name": "",
        "type": "bytes4"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      },
      {
        "internalType": "bytes",
        "name": "",
        "type": "bytes"
      }
    ],
    "name": "onERC721Received",
    "outputs": [
      {
        "internalType": "bytes4",
        "name": "",
        "type": "bytes4"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      },
      {
        "internalType": "bytes",
        "name": "initCode",
        "type": "bytes"
      },
      {
        "internalType": "bool",
        "name": "isCreate2",
        "type": "bool"
      },
      {
        "internalType": "bytes32",
        "name": "salt",
        "type": "bytes32"
      }
    ],
    "name": "performCreate",
    "outputs": [
      {
        "internalType": "address",
        "name": "createdAddr",
        "type": "address"
      }
    ],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "proxiableUUID",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes4",
        "name": "interfaceId",
        "type": "bytes4"
      }
    ],
    "name": "supportsInterface",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "module",
        "type": "address"
      },
      {
        "components": [
          {
            "components": [
              {
                "internalType": "bytes4",
                "name": "executionSelector",
                "type": "bytes4"
              },
              {
                "internalType": "bool",
                "name": "skipRuntimeValidation",
                "type": "bool"
              },
              {
                "internalType": "bool",
                "name": "allowGlobalValidation",
                "type": "bool"
              }
            ],
            "internalType": "struct ManifestExecutionFunction[]",
            "name": "executionFunctions",
            "type": "tuple[]"
          },
          {
            "components": [
              {
                "internalType": "bytes4",
                "name": "executionSelector",
                "type": "bytes4"
              },
              {
                "internalType": "uint32",
                "name": "entityId",
                "type": "uint32"
              },
              {
                "internalType": "bool",
                "name": "isPreHook",
                "type": "bool"
              },
              {
                "internalType": "bool",
                "name": "isPostHook",
                "type": "bool"
              }
            ],
            "internalType": "struct ManifestExecutionHook[]",
            "name": "executionHooks",
            "type": "tuple[]"
          },
          {
            "internalType": "bytes4[]",
            "name": "interfaceIds",
            "type": "bytes4[]"
          }
        ],
        "internalType": "struct ExecutionManifest",
        "name": "manifest",
        "type": "tuple"
      },
      {
        "internalType": "bytes",
        "name": "moduleUninstallData",
        "type": "bytes"
      }
    ],
    "name": "uninstallExecution",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "ModuleEntity",
        "name": "validationFunction",
        "type": "bytes24"
      },
      {
        "internalType": "bytes",
        "name": "uninstallData",
        "type": "bytes"
      },
      {
        "internalType": "bytes[]",
        "name": "hookUninstallData",
        "type": "bytes[]"
      }
    ],
    "name": "uninstallValidation",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "fallbackSigner",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "isDisabled",
        "type": "bool"
      }
    ],
    "name": "updateFallbackSignerData",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "bytes",
        "name": "",
        "type": "bytes"
      }
    ],
    "name": "upgradeToAndCall",
    "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": "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 explorer1161msChain node78ms