1pub mod api;
8pub mod arb_api;
9pub mod arbdebug;
10pub mod arbtimeboost;
11pub mod arbtrace;
12pub mod block_producer;
13pub mod builder;
14pub mod conditional_tx;
15pub mod header;
16pub mod nitro_execution;
17pub mod nitro_execution_handler;
18pub mod nodeinterface_rpc;
19pub mod outbox_proof;
20pub mod receipt;
21pub mod response;
22pub mod stylus_debug;
23pub mod stylus_tracer;
24pub mod transaction;
25pub mod types;
26
27pub use api::ArbEthApi;
28pub use arb_api::{ArbApiHandler, ArbApiServer};
29pub use block_producer::{BlockProducer, BlockProducerError, BlockProductionInput, ProducedBlock};
30pub use builder::{ArbEthApiBuilder, ArbRpcConvert};
31pub use header::ArbHeaderConverter;
32pub use nitro_execution::{NitroExecutionApiServer, RpcMessageResult, RpcMessageWithMetadata};
33pub use nitro_execution_handler::NitroExecutionHandler;
34pub use receipt::ArbReceiptConverter;
35pub use response::ArbRpcTxConverter;
36pub use transaction::ArbTransactionRequest;
37pub use types::ArbRpcTypes;
38
39use alloy_primitives::{B256, U256};
40use serde::{Deserialize, Serialize};
41
42#[derive(Debug, Clone, Default, Serialize, Deserialize)]
44#[serde(rename_all = "camelCase")]
45pub struct ArbReceiptFields {
46 #[serde(skip_serializing_if = "Option::is_none")]
48 pub l1_block_number: Option<u64>,
49 #[serde(skip_serializing_if = "Option::is_none")]
51 pub gas_used_for_l1: Option<U256>,
52}
53
54#[derive(Debug, Clone, Serialize, Deserialize)]
56#[serde(rename_all = "camelCase")]
57pub struct ArbBlockInfo {
58 pub l1_block_number: u64,
60 pub arbos_format_version: u64,
62 pub send_count: u64,
64 pub send_root: B256,
66}
67
68#[derive(Debug, Clone, Default, Serialize, Deserialize)]
70#[serde(rename_all = "camelCase")]
71pub struct ArbMaintenanceStatus {
72 pub is_running: bool,
73}
74
75#[derive(Debug, Clone, Serialize, Deserialize)]
83#[serde(rename_all = "camelCase")]
84pub struct NumberAndBlockMetadata {
85 pub block_number: u64,
86 pub raw_metadata: alloy_primitives::Bytes,
87}