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 multigas;
10pub mod receipt;
11pub mod signed_tx;
12pub mod tx_types;
13
14pub use receipt::{ArbDepositReceipt, ArbReceipt, ArbReceiptKind, SetArbReceiptFields};
15pub use signed_tx::{
16    ArbTransactionExt, ArbTransactionSigned, ArbTxTypeLocal, ArbTypedTransaction, RetryTxInfo,
17    SubmitRetryableInfo,
18};
19
20/// Arbitrum node primitives for use with reth's `NodePrimitives` trait.
21#[derive(Debug, Clone, Default, PartialEq, Eq)]
22pub struct ArbPrimitives;
23
24impl reth_primitives_traits::NodePrimitives for ArbPrimitives {
25    type Block = alloy_consensus::Block<ArbTransactionSigned, alloy_consensus::Header>;
26    type BlockHeader = alloy_consensus::Header;
27    type BlockBody = alloy_consensus::BlockBody<ArbTransactionSigned, alloy_consensus::Header>;
28    type SignedTx = ArbTransactionSigned;
29    type Receipt = ArbReceipt;
30}