arb_primitives/
lib.rs

1//! Arbitrum primitive types.
2//!
3//! Transaction types, receipts, gas accounting, and signed transaction
4//! handling for Arbitrum's extended EIP-2718 type space.
5
6extern crate alloc;
7
8pub mod arbos_versions;
9pub mod error;
10pub mod multigas;
11pub mod receipt;
12pub mod signed_tx;
13pub mod tx_types;
14
15pub use receipt::{ArbDepositReceipt, ArbReceipt, ArbReceiptKind, SetArbReceiptFields};
16pub use signed_tx::{
17    ArbTransactionExt, ArbTransactionSigned, ArbTxTypeLocal, ArbTypedTransaction, RetryTxInfo,
18    SubmitRetryableInfo,
19};
20
21/// Arbitrum node primitives for use with reth's `NodePrimitives` trait.
22#[derive(Debug, Clone, Default, PartialEq, Eq)]
23pub struct ArbPrimitives;
24
25impl reth_primitives_traits::NodePrimitives for ArbPrimitives {
26    type Block = alloy_consensus::Block<ArbTransactionSigned, alloy_consensus::Header>;
27    type BlockHeader = alloy_consensus::Header;
28    type BlockBody = alloy_consensus::BlockBody<ArbTransactionSigned, alloy_consensus::Header>;
29    type SignedTx = ArbTransactionSigned;
30    type Receipt = ArbReceipt;
31}