1pub mod api;
8pub mod arb_api;
9pub mod block_producer;
10pub mod builder;
11pub mod header;
12pub mod nitro_execution;
13pub mod nitro_execution_handler;
14pub mod receipt;
15pub mod response;
16pub mod transaction;
17pub mod types;
18
19pub use api::ArbEthApi;
20pub use arb_api::{ArbApiHandler, ArbApiServer};
21pub use block_producer::{BlockProducer, BlockProducerError, BlockProductionInput, ProducedBlock};
22pub use builder::{ArbEthApiBuilder, ArbRpcConvert};
23pub use header::ArbHeaderConverter;
24pub use nitro_execution::{NitroExecutionApiServer, RpcMessageResult, RpcMessageWithMetadata};
25pub use nitro_execution_handler::NitroExecutionHandler;
26pub use receipt::ArbReceiptConverter;
27pub use response::ArbRpcTxConverter;
28pub use transaction::ArbTransactionRequest;
29pub use types::ArbRpcTypes;
30
31use alloy_primitives::{B256, U256};
32use serde::{Deserialize, Serialize};
33
34#[derive(Debug, Clone, Default, Serialize, Deserialize)]
36#[serde(rename_all = "camelCase")]
37pub struct ArbReceiptFields {
38 #[serde(skip_serializing_if = "Option::is_none")]
40 pub l1_block_number: Option<u64>,
41 #[serde(skip_serializing_if = "Option::is_none")]
43 pub gas_used_for_l1: Option<U256>,
44}
45
46#[derive(Debug, Clone, Serialize, Deserialize)]
48#[serde(rename_all = "camelCase")]
49pub struct ArbBlockInfo {
50 pub l1_block_number: u64,
52 pub arbos_format_version: u64,
54 pub send_count: u64,
56 pub send_root: B256,
58}
59
60#[derive(Debug, Clone, Default, Serialize, Deserialize)]
62#[serde(rename_all = "camelCase")]
63pub struct ArbMaintenanceStatus {
64 pub is_running: bool,
65}