Skip to content
Lattice

Call

Git Source

Title: IERC7821 — Minimal batch executor

Author: Vendored minimal subset of Solady

(https://github.com/Vectorized/solady/blob/main/src/accounts/ERC7821.sol). Upstream license: MIT. Re-authored to the ERC-7821 standard ABI (see also OpenZeppelin draft-ERC7821). Vendored subset — do not add an external dependency.

ERC-7821 single entrypoint for executing a batch of calls. The mode selects the encoding of executionData; capability is discovered via supportsExecutionMode (ERC-7821 defines NO ERC-165 interface id).

Supported mode ids (10-byte prefix, rest zero):

  • 0x01000000000000000000 — single batch: executionData = abi.encode(Call[]).
  • 0x01000000000078210001 — single batch + opData: executionData = abi.encode(Call[], bytes opData). The 0x7821...0001 infix marks the ERC-7821 "opData" variant.

One call in a batch. data empty + value set is a plain ETH transfer to target.

struct Call {
    address target;
    uint256 value;
    bytes data;
}

Properties

NameTypeDescription
targetaddress
valueuint256
databytes