Crate handler

Expand description

EVM execution handling.

Modules§

api
EVM execution API traits and implementations.
evm
Core EVM traits for execution and frame management.
execution
EVM execution logic and utilities.
handler
Handler implementation for orchestrating EVM execution.
instructions
EVM instruction set implementations and tables.
post_execution
Post-execution operations including gas refunds and state finalization.
pre_execution
Handles related to the main function of the EVM.
system_call
System call implementations for special EVM operations. System call logic for external state transitions required by certain EIPs (notably EIP-2935 and EIP-4788).
validation
Transaction and environment validation utilities.

Structs§

CallFrame
Call Frame
CreateFrame
Create Frame
EthFrame
Frame implementation for Ethereum.
EthPrecompiles
The PrecompileProvider for ethereum precompiles.
MainnetHandler
Mainnet handler that implements the default Handler trait for the Evm.

Enums§

FrameData
Frame Data
FrameResult
Frame Result
ItemOrResult
Represents either an item or a result.

Constants§

SYSTEM_ADDRESS
The system address used for system calls.

Traits§

EvmTr
A trait that integrates context, instruction set, and precompiles to create an EVM struct.
EvmTrError
Trait for errors that can occur during EVM execution.
ExecuteCommitEvm
Extension of the ExecuteEvm trait that adds a method that commits the state after execution.
ExecuteEvm
Execute EVM transactions. Main trait for transaction execution.
FrameTr
Trait for defining a frame type used in EVM execution.
Handler
The main implementation of Ethereum Mainnet transaction execution.
MainBuilder
Trait for building mainnet EVM instances from contexts.
MainContext
Trait used to initialize Context with default mainnet types.
PrecompileProvider
Provider for precompiled contracts in the EVM.
SystemCallCommitEvm
Extension of the SystemCallEvm trait that adds a method that commits the state after execution.
SystemCallEvm
API for executing the system calls. System calls dont deduct the caller or reward the beneficiary. They are used before and after block execution to insert or obtain blockchain state.
SystemCallTx
Creates the system transaction with default values and set data and tx call target to system contract address that is going to be called.

Functions§

return_create
Handles the result of a CREATE operation, including validation and state updates.

Type Aliases§

ContextTrDbError
Type alias for database errors from a context.
FrameInitOrResult
Type alias for frame initialization or result.
MainnetContext
Type alias for a mainnet context with standard Ethereum environment types.
MainnetEvm
Type alias for a mainnet EVM instance with standard Ethereum components.