Skip to content
Lattice

IERC4337Validation

Git Source

Title: IERC4337Validation

Authors: David Dada <daveproxy80@gmail.com> (https://github.com/dadadave80), Modified from eth-infinitism account-abstraction (https://github.com/eth-infinitism/account-abstraction)

Admin/read surface of the ERC4337Validation facet. validateUserOp itself is on the vendored IAccount (ERC-4337). This is the Diamond-local config: which EntryPoint is trusted.

The EntryPoint is stored, never hardcoded, so the canonical version (v0.7/v0.8/v0.9) is a deploy choice. Signature validation is delegated to the configured ECDSA signer (AccountSigner).

Functions

entryPoint

The ERC-4337 EntryPoint trusted to call validateUserOp.

function entryPoint() external view returns (address);

Returns

NameTypeDescription
<none>address

setEntryPoint

Sets the trusted EntryPoint. Admin only.

function setEntryPoint(address entryPoint) external;

Parameters

NameTypeDescription
entryPointaddress

Events

EntryPointSet

Emitted when the trusted EntryPoint is set.

event EntryPointSet(address indexed entryPoint);

Parameters

NameTypeDescription
entryPointaddress

Errors

NotFromEntryPoint

validateUserOp was called by an address other than the configured EntryPoint.

error NotFromEntryPoint(address caller);

Parameters

NameTypeDescription
calleraddress

InvalidEntryPoint

The EntryPoint address is the zero address.

error InvalidEntryPoint();