op_alloy

Crate consensus

Source
Available on crate feature consensus only.
Expand description

§op-alloy-consensus

CI op-alloy-consensus crate MIT License Apache License Book

Optimism consensus interface.

This crate contains constants, types, and functions for implementing Optimism EL consensus and communication. This includes an extended OpTxEnvelope type with deposit transactions, and receipts containing OP Stack specific fields (deposit_nonce + deposit_receipt_version).

In general a type belongs in this crate if it exists in the alloy-consensus crate, but was modified from the base Ethereum protocol in the OP Stack. For consensus types that are not modified by the OP Stack, the alloy-consensus types should be used instead.

§Provenance

Much of this code was ported from reth-primitives as part of ongoing alloy migrations.

Modules§

eip1559
Support for EIP-1559 parameters after holocene.

Structs§

DepositContextDepositSource
A deposit context transaction source.
Ecotone
The Ecotone network upgrade transactions.
Fjord
The Fjord network upgrade transactions.
Hardforks
Optimism Hardforks
L1InfoDepositSource
A L1 info deposit transaction source.
OpDepositReceipt
Receipt containing result of transaction execution.
TxDeposit
Deposit transactions, also known as deposits are initiated on L1, and executed on L2.
UpgradeDepositSource
An upgrade deposit transaction source.
UserDepositSource
A deposit transaction source.

Enums§

DepositSourceDomain
Source domains for deposit transactions.
DepositSourceDomainIdentifier
Source domain identifiers for deposit transactions.
EIP1559ParamError
Error type for EIP-1559 parameters
OpPooledTransaction
All possible transactions that can be included in a response to GetPooledTransactions. A response to GetPooledTransactions. This can include a typed signed transaction, but cannot include a deposit transaction or EIP-4844 transaction.
OpReceiptEnvelope
Receipt envelope, as defined in EIP-2718, modified for OP Stack chains.
OpTxEnvelope
The Ethereum EIP-2718 Transaction Envelope, modified for OP Stack chains.
OpTxType
Optimism TransactionType flags as specified in EIPs 2718, 1559, and 2930, as well as the deposit transaction spec
OpTypedTransaction
The TypedTransaction enum represents all Ethereum transaction request types, modified for the OP Stack.

Constants§

DEPOSIT_TX_TYPE_ID
Identifier for an Optimism deposit transaction

Traits§

DepositTransaction
A trait representing a deposit transaction with specific attributes.
Hardfork
The trait abstraction for a Hardfork.
OpTxReceipt
Receipt is the result of a transaction execution.

Functions§

decode_eip_1559_params
Extracts the Holocene 1599 parameters from the encoded form: https://github.com/ethereum-optimism/specs/blob/main/specs/protocol/holocene/exec-engine.md#eip1559params-encoding
decode_holocene_extra_data
Decodes the eip1559 parameters from the extradata bytes.
encode_holocene_extra_data
Encodes the eip1559 parameters for the payload.
serde_deposit_tx_rpcserde
Deposit transactions don’t have a signature, however, we include an empty signature in the response for better compatibility.

Type Aliases§

OpBlock
An Optimism block type.
OpDepositReceiptWithBloom
OpDepositReceipt with calculated bloom filter, modified for the OP Stack.