revm_optimism/
transaction.rs1pub mod abstraction;
2pub mod deposit;
3pub mod error;
4
5pub use abstraction::{OpTransaction, OpTxTr};
6pub use error::OpTransactionError;
7
8use crate::fast_lz::flz_compress_len;
9
10const L1_COST_FASTLZ_COEF: u64 = 836_500;
12
13const L1_COST_INTERCEPT: u64 = 42_585_600;
16
17const MIN_TX_SIZE_SCALED: u64 = 100 * 1_000_000;
19
20pub fn estimate_tx_compressed_size(input: &[u8]) -> u64 {
22 let fastlz_size = flz_compress_len(input) as u64;
23
24 fastlz_size
25 .saturating_mul(L1_COST_FASTLZ_COEF)
26 .saturating_sub(L1_COST_INTERCEPT)
27 .max(MIN_TX_SIZE_SCALED)
28}