Crate revm

Expand description

Revm is a Rust EVM implementation.

Modules§

db
Database implementations.
handler
inspectors
Inspector implementations.
interpreter
revm-interpreter
optimism
Optimism-specific constants, types, and helpers.
precompile
revm-precompile

Structs§

CacheState
Cache state contains both modified and original values.
CallFrame
Call CallStackFrame.
Context
Main Context structure that contains both EvmContext and External context.
ContextPrecompiles
Precompiles context.
ContextWithHandlerCfg
Context with handler configuration.
CreateFrame
Evm
EVM instance containing both internal EVM context and external context and the handler that dictates the logic of EVM (or hardfork specification).
EvmBuilder
Evm Builder allows building or modifying EVM. Note that some of the methods that changes underlying structures will reset the registered handler to default mainnet.
EvmContext
EVM context that contains the inner EVM context and precompiles.
FrameData
Handler
Handler acts as a proxy and allow to define different behavior for different sections of the code. This allows nice integration of different chains or to disable some mainnet behavior.
InnerEvmContext
EVM contexts contains data that EVM needs for execution.
JournalCheckpoint
SubRoutine checkpoint that will help us to go back from this
JournaledState
A journal of state changes internal to the EVM.
L1BlockInfo
L1 block info
State
State of blockchain.
StateBuilder
Allows building of State and initializing it with different options.
TransitionAccount
Account Created when EVM state is merged to cache state. And it is sent to Block state.
TransitionState

Enums§

ContextPrecompile
A single precompile handler.
Frame
Call stack frame.
FrameOrResult
Contains either a frame or a result.
FrameResult
JournalEntry
Journal entries that are used to track changes to the state and are used to revert it.

Constants§

BASE_FEE_RECIPIENT
The address of the base fee recipient.
CALL_STACK_LIMIT
EVM call stack limit.
L1_BLOCK_CONTRACT
The address of the L1Block contract.
L1_FEE_RECIPIENT
The address of L1 fee recipient.

Traits§

ContextStatefulPrecompile
Context aware stateful precompile trait. It is used to create a arc precompile in ContextPrecompile.
ContextStatefulPrecompileMut
Context aware mutable stateful precompile trait. It is used to create a boxed precompile in ContextPrecompile.
Database
EVM database interface.
DatabaseCommit
EVM database commit interface.
DatabaseRef
EVM database interface.
GetInspector
Provides access to an Inspector instance.
Inspector
EVM Interpreter callbacks.

Functions§

inspector_handle_register
Register Inspector handles that interact with Inspector instance.

Type Aliases§

ContextStatefulPrecompileArc
Arc over context stateful precompile.
ContextStatefulPrecompileBox
Box over context mutable stateful precompile
DBBox
Database boxed with a lifetime and Send.
InMemoryDB
A Database implementation that stores all state changes in memory.
StateDBBox
More constrained version of State that uses Boxed database with a lifetime.