EIP-8141 Frame Transaction
A transaction whose validity and gas payment are defined abstractly via frames.
No ECDSA signature — sender is explicit. Authentication happens via APPROVE opcode.
Unsigned Transaction struct generic to all types which may not contain all required transaction fields
Used to perform gas estimations and access list creation
The same as a Transaction enum, only that blob transactions are in wrapped format, including
the blobs bundle.
PrivilegedL2Transaction is not included as it is not expected to be sent over P2P.
Maximum number of pending frame txs using a non-canonical paymaster per
paymaster address. Per OQ1, all paymasters are currently non-canonical
(FRAME_CANONICAL_PAYMASTER_CODE_HASH is unresolved in the draft EIP), so
this de-facto limits sponsored frame txs to 1 per paymaster in the pool.
EIP-8141 §Mempool MAX_VERIFY_GAS (spec commit fe0940cae2): the maximum gas
a public-mempool node should expend validating signatures and simulating the
validation prefix. Signature validation counts against this budget (rule #6),
so a frame tx whose signature_verification_cost() alone exceeds it can never
satisfy the prefix budget and must be rejected at admission.
Global cache mapping transaction hash → recovered sender address.
Keyed by tx hash (unique per transaction), so each entry is safe to reuse.
Not suitable for EIP-7702 authorization tuples where the same message hash
can correspond to different signers (the message excludes the signature).
Uses LRU eviction to avoid periodic cold-start spikes from clearing all entries.