kona_protocol/
lib.rs

1#![doc = include_str!("../README.md")]
2#![doc(
3    html_logo_url = "https://raw.githubusercontent.com/op-rs/kona/main/assets/square.png",
4    html_favicon_url = "https://raw.githubusercontent.com/op-rs/kona/main/assets/favicon.ico",
5    issue_tracker_base_url = "https://github.com/op-rs/kona/issues/"
6)]
7#![cfg_attr(not(test), warn(unused_crate_dependencies))]
8#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
9#![cfg_attr(not(feature = "std"), no_std)]
10
11extern crate alloc;
12
13mod batch;
14pub use batch::{
15    Batch, BatchDecodingError, BatchEncodingError, BatchReader, BatchTransaction, BatchType,
16    BatchValidationProvider, BatchValidity, BatchWithInclusionBlock, MAX_SPAN_BATCH_ELEMENTS,
17    RawSpanBatch, SINGLE_BATCH_TYPE, SPAN_BATCH_TYPE, SingleBatch, SpanBatch, SpanBatchBits,
18    SpanBatchEip1559TransactionData, SpanBatchEip2930TransactionData,
19    SpanBatchEip7702TransactionData, SpanBatchElement, SpanBatchError,
20    SpanBatchLegacyTransactionData, SpanBatchPayload, SpanBatchPrefix, SpanBatchTransactionData,
21    SpanBatchTransactions, SpanDecodingError,
22};
23
24mod sync;
25pub use sync::SyncStatus;
26
27mod errors;
28pub use errors::OpBlockConversionError;
29
30mod block;
31pub use block::{BlockInfo, FromBlockError, L2BlockInfo};
32
33mod frame;
34pub use frame::{
35    DERIVATION_VERSION_0, FRAME_OVERHEAD, Frame, FrameDecodingError, FrameParseError, MAX_FRAME_LEN,
36};
37
38mod compression;
39#[cfg(feature = "std")]
40pub use compression::{
41    BrotliCompressionError, BrotliCompressor, RatioCompressor, ShadowCompressor, VariantCompressor,
42};
43pub use compression::{
44    BrotliDecompressionError, BrotliLevel, ChannelCompressor, CompressionAlgo, CompressorError,
45    CompressorResult, CompressorType, CompressorWriter, Config, ZlibCompressor, compress_zlib,
46    decompress_brotli, decompress_zlib,
47};
48
49mod iter;
50pub use iter::FrameIter;
51
52mod utils;
53pub use utils::{read_tx_data, starts_with_2718_deposit, starts_with_7702_tx, to_system_config};
54
55mod channel_out;
56pub use channel_out::{ChannelOut, ChannelOutError};
57
58mod channel;
59pub use channel::{
60    CHANNEL_ID_LENGTH, Channel, ChannelError, ChannelId, FJORD_MAX_RLP_BYTES_PER_CHANNEL,
61    MAX_RLP_BYTES_PER_CHANNEL,
62};
63
64mod deposits;
65pub use deposits::{
66    DEPOSIT_EVENT_ABI, DEPOSIT_EVENT_ABI_HASH, DEPOSIT_EVENT_VERSION_0, DepositError,
67    decode_deposit,
68};
69
70mod info;
71pub use info::{
72    BlockInfoError, DecodeError, L1BlockInfoBedrock, L1BlockInfoEcotone, L1BlockInfoInterop,
73    L1BlockInfoIsthmus, L1BlockInfoTx, closing_deposit_context_tx,
74};
75
76mod fee;
77pub use fee::{
78    calculate_tx_l1_cost_bedrock, calculate_tx_l1_cost_bedrock_empty_scalars,
79    calculate_tx_l1_cost_ecotone, calculate_tx_l1_cost_fjord, calculate_tx_l1_cost_regolith,
80    data_gas_bedrock, data_gas_fjord, data_gas_regolith, flz_compress_len, tx_estimated_size_fjord,
81};
82
83mod predeploys;
84pub use predeploys::Predeploys;
85
86#[cfg(any(test, feature = "test-utils"))]
87pub mod test_utils;