Skip to main content

ethrex_vm/
lib.rs

1mod db;
2mod errors;
3mod execution_result;
4pub mod tracing;
5mod witness_db;
6
7pub mod backends;
8
9/// EIP-8037 (Amsterdam+, PR #2703) per-tx 2D inclusion check. Re-exported so the
10/// payload builder can enforce it with identical semantics to the validator.
11pub use backends::levm::check_2d_gas_allowance;
12pub use backends::{BlockExecutionResult, Evm, TxGasBreakdown, TxStatus, log_gas_used_mismatch};
13pub use db::{DynVmDatabase, VmDatabase};
14pub use errors::EvmError;
15pub use ethrex_levm::precompiles::{PrecompileCache, precompiles_for_fork};
16/// EIP-8037 intrinsic gas split `(regular, state)` for a transaction.
17/// Re-exported for mempool / payload-builder use.
18pub use ethrex_levm::utils::intrinsic_gas_dimensions;
19/// EIP-7623/7976/7981 floor gas for a transaction. Re-exported so the mempool
20/// can match the VM's `validate_min_gas_limit` check at admission time.
21pub use ethrex_levm::utils::intrinsic_gas_floor;
22pub use execution_result::ExecutionResult;
23pub use witness_db::GuestProgramStateWrapper;
24pub mod system_contracts;