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::{
13    BlockExecutionResult, Evm, TxGasBreakdown, TxStatus, compute_burned_fees, log_gas_used_mismatch,
14};
15pub use db::{DynVmDatabase, VmDatabase};
16pub use errors::EvmError;
17pub use ethrex_levm::StatelessValidator;
18pub use ethrex_levm::errors::{InternalError, PrecompileError, VMError};
19pub use ethrex_levm::precompiles::{PrecompileCache, precompiles_for_fork};
20/// EIP-8037 intrinsic gas split `(regular, state)` for a transaction.
21/// Re-exported for mempool / payload-builder use.
22pub use ethrex_levm::utils::intrinsic_gas_dimensions;
23/// EIP-7623/7976/7981 floor gas for a transaction. Re-exported so the mempool
24/// can match the VM's `validate_min_gas_limit` check at admission time.
25pub use ethrex_levm::utils::intrinsic_gas_floor;
26pub use ethrex_levm::vm::validate_frame_signatures;
27pub use execution_result::ExecutionResult;
28pub use witness_db::GuestProgramStateWrapper;
29pub mod system_contracts;