Skip to main content

Module evm

Module evm 

Source
Expand description

Shared EVM traits, associated types, and execution helpers.

Each network module owns its network marker and concrete EVM implementations.

Re-exportsΒ§

use crate::FoundryBlock; πŸ”’
use crate::FoundryChain; πŸ”’
use crate::FoundryContextExt; πŸ”’
use crate::FoundryInspectorExt; πŸ”’
use crate::FoundryJournal; πŸ”’
use crate::FoundryTransaction; πŸ”’
use crate::FromAnyRpcTransaction; πŸ”’
use crate::backend::DatabaseExt; πŸ”’
use crate::backend::JournaledState; πŸ”’
use alloy_consensus::SignableTransaction; πŸ”’
use alloy_consensus::Signed; πŸ”’
use alloy_consensus::transaction::SignerRecoverable; πŸ”’
use alloy_evm::Evm; πŸ”’
use alloy_evm::EvmEnv; πŸ”’
use alloy_evm::EvmFactory; πŸ”’
use alloy_evm::FromRecoveredTx; πŸ”’
use alloy_evm::precompiles::PrecompilesMap; πŸ”’
use alloy_network::Network; πŸ”’
use alloy_primitives::Address; πŸ”’
use alloy_primitives::Signature; πŸ”’
use alloy_primitives::U256; πŸ”’
use alloy_rlp::Decodable; πŸ”’
use foundry_common::FoundryReceiptResponse; πŸ”’
use foundry_common::FoundryTransactionBuilder; πŸ”’
use foundry_common::fmt::UIfmt; πŸ”’
use foundry_config::ExecutionSpec; πŸ”’
use foundry_fork_db::DatabaseError; πŸ”’
use foundry_fork_db::ForkBlockEnv; πŸ”’
use revm::Database; πŸ”’
use revm::context::ContextTr; πŸ”’
use revm::context::JournalTr; πŸ”’
use revm::context::LocalContextTr; πŸ”’
use revm::context::result::EVMError; πŸ”’
use revm::context::result::HaltReason; πŸ”’
use revm::context::result::ResultAndState; πŸ”’
use revm::handler::EvmTr; πŸ”’
use revm::handler::FrameResult; πŸ”’
use revm::inspector::InspectorEvmTr; πŸ”’
use revm::inspector::InspectorHandler; πŸ”’
use revm::inspector::NoOpInspector; πŸ”’
use revm::interpreter::CallInput; πŸ”’
use revm::interpreter::CallInputs; πŸ”’
use revm::interpreter::CallScheme; πŸ”’
use revm::interpreter::CallValue; πŸ”’
use revm::interpreter::CreateInputs; πŸ”’
use revm::interpreter::FrameInput; πŸ”’
use revm::interpreter::GasTracker; πŸ”’
use revm::interpreter::InstructionResult; πŸ”’
use revm::interpreter::SharedMemory; πŸ”’
use revm::interpreter::interpreter::EthInterpreter; πŸ”’
use revm::interpreter::interpreter_action::FrameInit; πŸ”’
use revm::primitives::hardfork::SpecId; πŸ”’
use revm::state::AccountStatus; πŸ”’
use revm::state::EvmState; πŸ”’
use serde::Deserialize; πŸ”’
use serde::Deserialize; πŸ”’
use serde::Serialize; πŸ”’
use serde::Serialize; πŸ”’
use std::fmt::Debug; πŸ”’
use std::fmt::Debug; πŸ”’
use std::ops::DerefMut; πŸ”’
pub use eth::*;
pub use tempo::*;
pub use base::*;base
pub use monad::*;monad
pub use op::*;optimism

ModulesΒ§

basebase
eth
monadmonad
opoptimism
tempo

TraitsΒ§

FoundryEvmFactory
FoundryEvmNetwork
Foundry’s compatibility trait associating a [Network] with a FoundryEvmFactory.
IntoInstructionResult
Converts a network-specific halt reason into an [InstructionResult].
NestedEvm
Object-safe EVM operations used by nested execution and fork replay.

FunctionsΒ§

get_create2_factory_call_inputs
Get the call inputs for the CREATE2 factory.
merge_child_state
Merges a child’s returned account state into its suspended parent.
prepare_child_state
Prepares account state for execution across a synthetic transaction boundary.
run_inspected_frame πŸ”’
Runs a nested frame with inspection and settles its gas into the parent frame.
with_inherited_evm
Runs a child operation with the parent’s environment, journal, and native chain state.

Type AliasesΒ§

BlockEnvFor
BlockResponseFor
ChainFor
EvmEnvFor
EvmFactoryFor
Convenience type aliases for accessing associated types through FoundryEvmNetwork.
FoundryContextFor
HaltReasonFor
NestedEvmClosure
Closure type used by CheatcodesExecutor methods that run nested EVM operations.
NestedEvmClosureFor
Nested EVM closure for a Foundry EVM network.
NestedEvmFor
Boxed nested EVM produced by a Foundry EVM factory.
NetworkFor
PrecompilesFor
SpecFor
TransactionRequestFor
TransactionResponseFor
TxEnvFor
TxEnvelopeFor