Skip to main content

Crate primitives

Crate primitives 

Source
Available on crate feature evm only.
Expand description

Traits for configuring EVM specifics.

Modules§

cached
Cached database adapters for payload building. Database adapters for payload building.
database
Database adapters for EVM execution. State provider database adapter used by EVM execution.
either
Helper type that represents one of two possible executor types
execute
EVM environment configuration. Traits for execution.
metricsmetrics
Executor metrics.
noop
Helpers for testing.
precompile_cachestd
precompile cache provider. Precompile cache for payload prewarming.
witnesswitness
Helper types for execution witness generation.

Macros§

debug_unreachable
Marks a branch as unreachable in optimized builds while checking it in debug builds.

Structs§

BlockAssemblerInput
Input for block assembly.
BlockBuilderOutcome
Output of block building.
BlockExecutionOutput
BlockExecutionResult combined with state.
BundleState
Bundle state contain only values that got changed
EvmTransactionValidationGas
Transaction validation gas resolved for a transaction.
EvmTransactionValidationGasRules
Transaction validation gas rules resolved for an EVM environment.
EvmTransactionValidationLimits
Transaction validation limits resolved for an EVM environment.
GasOutput
Gas used by a successfully executed transaction.
NextBlockEnvAttributes
Represents additional attributes required to configure the next block.
ReceiptBuilderCtx
Context for building a transaction receipt from an execution result.
SenderRecoveryCache
Shared cache of recovered transaction senders.
StateUpdate
Per-transaction state changes streamed to execution state hooks.
WithTxEnv
A transaction stored together with its TxEnv.

Enums§

BlockExecutionError
Block executor errors.
BlockValidationError
Block validation error.
CommitChanges
Whether a block executor commits an executed transaction.
InternalBlockExecutionError
Internal, i.e. not validation or consensus related, block executor errors.

Traits§

BlockAssembler
A type that assembles a block from execution output.
BlockBuilder
A type that knows how to execute transactions and assemble a block.
BlockExecutor
A configured block executor.
BlockExecutorFactory
A type that creates configured block executors.
BlockTransactionResult
A detached block transaction output containing its raw execution result.
ConfigureEngineEvm
ConfigureEvm extension providing methods for executing payloads.
ConfigureEvm
A complete configuration of EVM for Reth.
ConvertTx
Converts a raw transaction into an executable transaction.
Database
Backing database implementation with a concrete error type.
DynDatabase
Backing database view used to initialize mutable [super::State].
Evm
A configured EVM instance.
EvmEnv
Resolved EVM environment data needed by the EVM execution path.
ExecutableTxFor
A helper trait marking a type that can be converted into an ExecutableTxParts for block executor.
ExecutableTxIterator
Iterator over executable transactions.
ExecutableTxParts
Helper trait to split an executable transaction into an EVM transaction environment and its recovered transaction accessor.
ExecutableTxTuple
A helper trait representing a pair of a “raw” transactions iterator and a closure that can be used to convert them to an executable transaction. This tuple is used in the engine to parallelize heavy work like decoding or recovery.
Executor
A type that knows how to execute blocks over a database.
ExecutorTx
Executable transaction consumed by a block executor.
FromRecoveredTx
Converts a recovered transaction into the configured transaction environment.
FromTxWithEncoded
Converts a recovered transaction with its encoded bytes into the configured transaction environment.
IntoTxEnv
Converts transaction wrappers into the configured transaction environment.
InvalidTxError
Abstraction over transaction validation errors.
JitBackend
JIT backend controls exposed by an EVM configuration.
OnStateHook
Receives per-transaction state changes streamed from block execution.
ReceiptBuilder
Builds chain-specific receipts from raw transaction execution results.
RecoveredTx
Helper trait to abstract over different Recovered<T> implementations.
TransactionEnvMut
Transaction environment that can be adjusted in place, e.g. by RPC simulations that re-execute a prepared transaction with a different gas limit or access list.

Type Aliases§

BlockExecutorForstd
Helper to access the configured block executor.
EvmEnvFor
Type alias for the configured EVM environment.
EvmFactoryFor
Helper to access the configured EVM factory state.
EvmForstd
Type alias for the configured EVM instance.
EvmTypesFor
Type alias for the configured runtime EVM type family.
ExecutionCtxFor
Helper to access the configured execution context.
SpecFor
Type alias for the configured runtime specification identifier.
TxEnvFor
Type alias for the configured transaction environment.
TxExecutionResultForstd
Detached transaction result accepted by the configured block executor.
TxResultWithStateFor
Type alias for a configured EVM transaction result with detached state changes.