Expand description
EIP-8141 mempool validation-trace observer.
A lightweight, opt-in observer attached to VM that enforces
the ERC-7562-style validation-trace rules during mempool simulation of a
frame transaction’s validation prefix (the verify/pay/deploy frames that must
run before the transaction’s payer is established). It is a local peer
policy, never a consensus rule: it is active ONLY behind
LEVM::simulate_frame_validation_prefix (the mempool entry
point) and is constructed with ValidationObserver::disabled everywhere
else, so normal block execution and block building pay a single if active
branch in the dispatch loop and nothing more (mirrors LevmOpcodeTracer).
§OQ4 — SETDELEGATE is vacuous
The draft EIP’s validation-trace rules reference a SETDELEGATE operation
used by deploy frames to install an EIP-7702 delegation for the sender. There
is no SETDELEGATE opcode in opcodes.rs (the ethrex LEVM opcode set), so
the deploy-frame delegation allowance reduces to what the actual opcode set
can express: CREATE/CREATE2 plus SSTORE writing to the sender’s own
storage. The observer therefore permits exactly those state effects inside
the deploy frame and bans all other state writes; there is no separate
SETDELEGATE allowance to model.
§Canonical-pay-frame exemption
ERC-7562 exempts the canonical paymaster’s pay frame from the storage/call
access restrictions (a canonical paymaster is trusted to touch shared
reservation state). ethrex cannot resolve the canonical paymaster bytecode
(OQ1: not pinned in the draft EIP or any reference implementation), so
canonical_paymaster_pay_frame
is always None here and the exemption never fires. The field and the
current_frame_index == canonical_paymaster_pay_frame skip are wired up so
the exemption flips on for free once the canonical code hash is pinned.
Structs§
- Validation
Observer - EIP-8141 validation-trace observer. Inert (
active == false) in every VM construction except mempool prefix simulation.
Enums§
- Frame
SimViolation - A validation-trace rule violation detected during prefix simulation.