ERC7821Executor
Inherits: IERC7821
Title: ERC7821Executor
Authors: David Dada <daveproxy80@gmail.com> (https://github.com/dadadave80), Modified from Solady (https://github.com/Vectorized/solady)
ERC-7821 minimal batch executor facet. Executes a batch of calls from the account, authorized for
the account itself, the configured ERC-4337 EntryPoint, or a DEFAULT_ADMIN_ROLE holder.
Stateless delegator — logic lives in ERC7821ExecutorLib. Following the ERC-7821 reference, execution is gated by authorization only (no reentrancy lock, which would block legitimate self-re-entrant flows). An unauthorized caller may still execute a batch the owner signed off-chain via the opData envelope (replay-protected by the account nonce).
Notes:
- lattice-version: 0.1.0
- lattice-source: ERC-7821
Functions
execute
Executes a batch of calls encoded per mode.
Authorization is implementation-defined (this account: self / EntryPoint / admin / signed opData).
function execute(bytes32 mode, bytes calldata executionData) external payable virtual;Parameters
| Name | Type | Description |
|---|---|---|
| mode | bytes32 | The execution mode selecting the executionData encoding. |
| executionData | bytes | The encoded calls (and optional opData), per mode. |
supportsExecutionMode
Whether mode is supported by execute.
function supportsExecutionMode(bytes32 mode) external view virtual returns (bool result);Parameters
| Name | Type | Description |
|---|---|---|
| mode | bytes32 | The execution mode to query. |
Returns
| Name | Type | Description |
|---|---|---|
| result | bool | True if supported. |
exportSelectors
ERC-8153 selector export: this facet's cuttable selectors, tightly packed (4 bytes each).
Excludes exportSelectors() itself (0x0ef22643) - it is never cut into a diamond. Order matches
forge inspect ERC7821Executor methodIdentifiers (alphabetical by signature); kept in exact parity by
ExportSelectorsParityTest. Chunks:
execute(bytes32,bytes) 0xe9ae5c53
supportsExecutionMode(bytes32) 0xd03c7914
function exportSelectors() external pure virtual returns (bytes memory selectors);Returns
| Name | Type | Description |
|---|---|---|
| selectors | bytes |