Skip to main content

Module transaction

Module transaction 

Source

Structs§

AccessListEntry
ArchivedEIP1559Transaction
An archived EIP1559Transaction
ArchivedEIP2930Transaction
An archived EIP2930Transaction
ArchivedEIP4844Transaction
An archived EIP4844Transaction
ArchivedEIP7702Transaction
An archived EIP7702Transaction
ArchivedFeeTokenTransaction
An archived FeeTokenTransaction
ArchivedFrame
An archived Frame
ArchivedFrameSignature
An archived FrameSignature
ArchivedFrameTransaction
An archived FrameTransaction
ArchivedLegacyTransaction
An archived LegacyTransaction
ArchivedPrivilegedL2Transaction
An archived PrivilegedL2Transaction
AuthorizationTupleEntry
EIP1559Transaction
EIP1559TransactionResolver
The resolver for an archived EIP1559Transaction
EIP2930Transaction
EIP2930TransactionResolver
The resolver for an archived EIP2930Transaction
EIP4844Transaction
EIP4844TransactionResolver
The resolver for an archived EIP4844Transaction
EIP7702Transaction
EIP7702TransactionResolver
The resolver for an archived EIP7702Transaction
FeeTokenTransaction
FeeTokenTransactionResolver
The resolver for an archived FeeTokenTransaction
Frame
EIP-8141 Frame: a single execution step within a frame transaction.
FrameEntry
FrameResolver
The resolver for an archived Frame
FrameSignature
EIP-8141 transaction signature. RLP: [scheme, signer, msg, signature]. scheme: 0 = ARBITRARY (signer MUST be empty; signature is arbitrary bytes), 1 = SECP256K1 (sig = v||r||s, 65 bytes), 2 = P256 (sig = r||s||qx||qy, 128 bytes). signer: None (empty) is required for ARBITRARY and allowed for SECP256K1/P256 (empty ⇒ the resolved signer is tx.sender, for introspection too); Some(addr) pins it. msg: empty = signs compute_sig_hash(tx); 32 bytes = signs that explicit digest. Raw signature bytes are intentionally not EVM-introspectable.
FrameSignatureResolver
The resolver for an archived FrameSignature
FrameTransaction
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.
FrameTransactionResolver
The resolver for an archived FrameTransaction
GenericTransaction
Unsigned Transaction struct generic to all types which may not contain all required transaction fields Used to perform gas estimations and access list creation
LegacyTransaction
LegacyTransactionResolver
The resolver for an archived LegacyTransaction
MempoolTransaction
PrivilegedL2Transaction
PrivilegedL2TransactionResolver
The resolver for an archived PrivilegedL2Transaction
ValidationPrefix
Identified validation prefix of an EIP-8141 frame transaction.
WrappedEIP4844Transaction

Enums§

ArchivedFrameMode
An archived FrameMode
ArchivedTransaction
An archived Transaction
ArchivedTxKind
An archived TxKind
EnvelopeTxType
The EIP-2718 typed-transaction envelope types — the subset of TxType that can be encoded as a 0x{type} || payload envelope. Excludes TxType::Legacy: a legacy transaction is a bare RLP list, never a typed envelope. Decoders that dispatch on the leading type byte match this exhaustively, so there is no impossible Legacy arm to handle.
FrameMode
EIP-8141 Frame Transaction mode
FrameModeResolver
The resolver for an archived FrameMode
FrameValidationError
Errors produced by FrameTransaction::validation_prefix and FrameTransaction::validate_prefix_structure.
GenericTransactionError
P2PTransaction
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.
PrefixShape
The four recognized shapes of an EIP-8141 validation prefix (§Mempool).
Transaction
TransactionResolver
The resolver for an archived Transaction
TxKind
The transaction’s kind: call or create.
TxKindResolver
The resolver for an archived TxKind
TxType

Constants§

APPROVE_EXECUTION
APPROVE_EXECUTION_AND_PAYMENT
APPROVE_PAYMENT
EIP-8141 APPROVE scope-restriction values (bits 0-1 of Frame.flags). Used by VERIFY and PAY frames to declare which capabilities they grant.
EIP1559_DEFAULT_SERIALIZED_LENGTH
The serialized length of a default eip1559 transaction
FRAME_SIG_SCHEME_ARBITRARY
EIP-8141 signature schemes: ARBITRARY=0, SECP256K1=1, P256=2.
FRAME_SIG_SCHEME_P256
FRAME_SIG_SCHEME_SECP256K1
FRAME_TX_ENTRY_POINT_U64
ENTRY_POINT address used as caller for DEFAULT/VERIFY frames per EIP-8141.
FRAME_TX_EXPIRY_DATA_LENGTH
Required data length for an expiry verifier frame (8-byte BE deadline).
FRAME_TX_EXPIRY_VERIFIER_U64
EXPIRY_VERIFIER predeploy address (EIP-8141).
FRAME_TX_INTRINSIC_COST
Intrinsic gas cost for frame transactions (EIP-8141)
FRAME_TX_MAX_FRAMES
Maximum number of frames allowed per EIP-8141 frame transaction.
FRAME_TX_MAX_PENDING_NONCANONICAL_PAYMASTER
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.
FRAME_TX_MAX_VERIFY_GAS
EIP-8141 §Mempool MAX_VERIFY_GAS: 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.
FRAME_TX_PER_FRAME_COST
Per-frame cost (EIP-8141): CALL context overhead (100) + G_log (375)

Statics§

GLOBAL_SIGNER_CACHE
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.

Functions§

frame_tx_entry_point
Returns the ENTRY_POINT Address (0x…00aa) used as caller for DEFAULT/VERIFY frames per EIP-8141.
frame_tx_expiry_verifier
Returns the EXPIRY_VERIFIER Address (0x…8141) per EIP-8141.

Type Aliases§

SigningPayload
The bytes a transaction’s signature covers, paired with the 65-byte r || s || v signature itself. See Transaction::signing_payload.