arbos_types/
lib.rs

1use alloy_primitives::Address;
2
3pub mod rlp;
4pub mod serialization;
5
6mod incoming_message;
7mod message_with_meta;
8
9pub use incoming_message::{
10    BatchDataStats, BatchPostingReportFields, DEFAULT_INITIAL_L1_BASE_FEE,
11    L1_MESSAGE_TYPE_BATCH_FOR_GAS_ESTIMATION, L1_MESSAGE_TYPE_BATCH_POSTING_REPORT,
12    L1_MESSAGE_TYPE_END_OF_BLOCK, L1_MESSAGE_TYPE_ETH_DEPOSIT, L1_MESSAGE_TYPE_INITIALIZE,
13    L1_MESSAGE_TYPE_INVALID, L1_MESSAGE_TYPE_L2_FUNDED_BY_L1, L1_MESSAGE_TYPE_L2_MESSAGE,
14    L1_MESSAGE_TYPE_ROLLUP_EVENT, L1_MESSAGE_TYPE_SUBMIT_RETRYABLE, L1IncomingMessage,
15    L1IncomingMessageHeader, MAX_L2_MESSAGE_SIZE, ParsedInitMessage, get_data_stats,
16    invalid_l1_message, legacy_cost_for_stats, parse_batch_posting_report_fields,
17    parse_incoming_l1_message, parse_init_message,
18};
19pub use message_with_meta::{MessageWithMetadata, MessageWithMetadataAndBlockInfo};
20
21/// The well-known ArbOS batch-poster address (`0xa4b0…73657175656e636572`).
22///
23/// Defined here rather than in `arbos::l1_pricing` so wasm consumers (`arb-mel`)
24/// can reach it without depending on `arbos`; `arbos::l1_pricing` re-exports it.
25pub const BATCH_POSTER_ADDRESS: Address = Address::new([
26    0xa4, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x65, 0x71, 0x75, 0x65,
27    0x6e, 0x63, 0x65, 0x72,
28]);