Skip to main content

Module evm

Module evm 

Source

StructsΒ§

EthEvmNetwork
EthFoundryEvm
EthFoundryHandler
OpEvmNetwork
OpFoundryEvm
Optimism counterpart of EthFoundryEvm. Wraps op_revm::OpEvm and routes execution through OpFoundryHandler which composes [OpHandler] with CREATE2 factory redirect logic.
OpFoundryHandler
Optimism handler that composes [OpHandler] with CREATE2 factory redirect logic.
TempoEvmNetwork
TempoFoundryEvm
Tempo counterpart of EthFoundryEvm. Wraps tempo_revm::TempoEvm and routes execution through TempoFoundryHandler which composes [TempoEvmHandler] with CREATE2 factory redirect logic.
TempoFoundryHandler
Tempo counterpart of EthFoundryHandler. Wraps [TempoEvmHandler] and injects CREATE2 factory redirect logic into the execution loop. Delegates all [Handler] methods to [TempoEvmHandler] for proper Tempo validation, fee collection, AA dispatch, and gas handling.

TraitsΒ§

FoundryEvmFactory
FoundryEvmNetwork
Foundry’s supertrait associating [Network] with FoundryEvmFactory
IntoInstructionResult
Converts a network-specific halt reason into an [InstructionResult].
IntoNestedEvm
Trait for converting a Foundry EVM wrapper into its inner NestedEvm implementation.
NestedEvm
Object-safe trait exposing the operations that cheatcode nested EVM closures need.

FunctionsΒ§

create2_exec_loop πŸ”’
CREATE2 factory redirect execution loop for Tempo.
get_create2_factory_call_inputs πŸ”’
Get the call inputs for the CREATE2 factory.
handle_create2_frame πŸ”’
Handles CREATE2 frame initialization, potentially transforming it to use the CREATE2 factory.
handle_create2_result πŸ”’
Transforms CREATE2 factory call results back into CREATE outcomes.
initialize_tempo_evm πŸ”’
Initialize Tempo precompiles and contracts for a newly created TempoFoundryEvm.
map_op_error πŸ”’
Maps an OP [EVMError] to the common EVMError<DatabaseError> used by NestedEvm.
map_tempo_error πŸ”’
Maps a Tempo [EVMError] to the common EVMError<DatabaseError> used by NestedEvm.
with_cloned_context
Clones the current context (env + journal), passes the database, cloned env, and cloned journal inner to the callback. The callback builds whatever EVM it needs, runs its operations, and returns (result, modified_env, modified_journal). Modified state is written back after the callback returns.

Type AliasesΒ§

BlockEnvFor
BlockResponseFor
EthRevmEvm πŸ”’
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.
NetworkFor
OpRevmEvm πŸ”’
PrecompilesFor
SpecFor
TempoRevmEvm πŸ”’
TransactionRequestFor
TransactionResponseFor
TxEnvFor
TxEnvelopeFor