revm_handler/
lib.rs

1//! EVM execution handling.
2#![cfg_attr(not(test), warn(unused_crate_dependencies))]
3#![cfg_attr(not(feature = "std"), no_std)]
4
5#[cfg(not(feature = "std"))]
6extern crate alloc as std;
7
8// Mainnet related handlers.
9
10/// EVM execution API traits and implementations.
11pub mod api;
12/// Core EVM traits for execution and frame management.
13pub mod evm;
14/// EVM execution logic and utilities.
15pub mod execution;
16mod frame;
17mod frame_data;
18/// Handler implementation for orchestrating EVM execution.
19pub mod handler;
20/// EVM instruction set implementations and tables.
21pub mod instructions;
22mod item_or_result;
23mod mainnet_builder;
24mod mainnet_handler;
25/// Post-execution operations including gas refunds and state finalization.
26pub mod post_execution;
27pub mod pre_execution;
28mod precompile_provider;
29/// System call implementations for special EVM operations.
30pub mod system_call;
31/// Transaction and environment validation utilities.
32pub mod validation;
33
34// Public exports
35pub use api::{ExecuteCommitEvm, ExecuteEvm};
36pub use evm::{EvmTr, FrameTr};
37pub use frame::{return_create, ContextTrDbError, EthFrame};
38pub use frame_data::{CallFrame, CreateFrame, FrameData, FrameResult};
39pub use handler::{EvmTrError, Handler};
40pub use item_or_result::{FrameInitOrResult, ItemOrResult};
41pub use mainnet_builder::{MainBuilder, MainContext, MainnetContext, MainnetEvm};
42pub use mainnet_handler::MainnetHandler;
43pub use precompile_provider::{EthPrecompiles, PrecompileProvider};
44pub use system_call::{SystemCallCommitEvm, SystemCallEvm, SystemCallTx, SYSTEM_ADDRESS};