Expand description
Re-exported from reth_node_api.
Modules§
- engine
- Traits, validation methods, and helper types used to abstract over engine types.
- node
- Traits for configuring a node.
- payload
- Abstractions for working with execution payloads.
- payload_
builder - This crate defines abstractions to create and update payloads (blocks)
Structs§
- AddOns
Context - Context passed to
NodeAddOns::launch_add_ons, - AnyNode
Types - A
NodeTypestype builder. - AnyNode
Types With Engine - A
NodeTypestype builder. - Built
Payload Executed Block - Represents an executed block for payload building purposes.
- Consensus
Engine Handle - A cloneable sender type that can be used to send engine API messages.
- Forkchoice
State Tracker - The struct that keeps track of the received forkchoice state and their status.
- Full
Node Types Adapter - An adapter type that adds the builtin provider type to the user configured node types.
- Invalid
Block Hooks - Multiple
InvalidBlockHooks that are executed in order. - Next
Block EnvAttributes - Represents additional attributes required to configure the next block.
- Node
Types WithDB Adapter - An adapter type combining
NodeTypesand db intoNodeTypesWithDB. - Noop
Invalid Block Hook - A no-op
InvalidBlockHookthat does nothing. - OnFork
Choice Updated - Represents the outcome of forkchoice update.
- Payload
Events - Represents a receiver for various payload events.
- Tree
Config - The configuration of the engine tree.
Enums§
- Beacon
Engine Message - A message for the beacon engine from other components of the node (engine RPC API invoked by the consensus layer).
- Beacon
Fork Choice Update Error - Represents error cases for an applied forkchoice update.
- Beacon
OnNew Payload Error - Represents all error cases when handling a new payload.
- Consensus
Engine Event - Events emitted by the consensus engine.
- Engine
ApiMessage Version - The version of Engine API message.
- Engine
Object Validation Error - Thrown when the payload or attributes are known to be invalid before processing.
- Events
- Payload builder events.
- Forkchoice
State Hash - A helper type to check represent hashes of a
ForkchoiceState - Forkchoice
Status - A simplified representation of
PayloadStatusEnumspecifically for FCU. - Invalid
Payload Attributes Error - Thrown when validating the correctness of a payloadattributes object.
- Message
Validation Kind - A type that represents whether or not we are validating a payload or payload attributes.
- NewPayload
Error - Error validating payload received over
newPayloadAPI. - Payload
Builder Error - Possible error variants during payload building.
- Payload
Kind - Determines how we should choose the payload to return.
- Payload
OrAttributes - A unified type for handling both execution payloads and payload attributes.
- Version
Specific Validation Error - Thrown when validating an execution payload OR payload attributes fails due to:
Constants§
- DEFAULT_
MEMORY_ BLOCK_ BUFFER_ TARGET - How close to the canonical head we persist blocks.
- DEFAULT_
MULTIPROOF_ TASK_ CHUNK_ SIZE - The size of proof targets chunk to spawn in one multiproof calculation.
- DEFAULT_
MULTIPROOF_ TASK_ CHUNK_ SIZE_ V2 - The size of proof targets chunk to spawn in one multiproof calculation when V2 proofs are enabled. This is 4x the default chunk size to take advantage of more efficient V2 proof computation.
- DEFAULT_
PERSISTENCE_ THRESHOLD - Triggers persistence when the number of canonical blocks in memory exceeds this threshold.
- DEFAULT_
PREWARM_ MAX_ CONCURRENCY - Default maximum concurrency for prewarm task.
- DEFAULT_
RESERVED_ CPU_ CORES - Default number of reserved CPU cores for non-reth processes.
- MIN_
WORKER_ COUNT - Minimum number of workers we allow configuring explicitly.
Traits§
- Block
- Abstraction of block data type.
- Block
Body - Abstraction for block’s body.
- Build
Next Env - Trait to build the EVM environment for the next block from the given payload attributes.
- Built
Payload - Represents a successfully built execution payload (block).
- Configure
Engine Evm ConfigureEvmextension providing methods for executing payloads.- Configure
Evm - A complete configuration of EVM for Reth.
- Engine
ApiValidator - Type that validates the payloads processed by the engine API.
- Engine
Types - This type defines the versioned types of the engine API based on the ethereum engine API.
- Executable
TxIterator - Iterator over executable transactions.
- Executable
TxTuple - 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.
- Execution
Payload - Represents the core data structure of an execution payload.
- Full
Block - Helper trait that unifies all behaviour required by block to support full node operations.
- Full
Node Components - Encapsulates all types and components of the node.
- Full
Node Types - A helper trait that is downstream of the
NodeTypestrait and adds stateful components to the node. - Full
Provider - Helper trait to unify all provider traits for simplicity.
- Full
Receipt - Helper trait that unifies all behaviour required by receipt to support full node operations.
- Full
Signed Tx - Helper trait that unifies all behaviour required by block to support full node operations.
- Invalid
Block Hook - An invalid block hook.
- Node
AddOns - Customizable node add-on types.
- Node
Primitives - Configures all the primitive types of the node.
- Node
Types - The type that configures the essential types of an Ethereum-like node.
- Node
Types WithDB - A helper trait that is downstream of the
NodeTypestrait and adds database to the node. - Payload
Attributes - Basic attributes required to initiate payload construction.
- Payload
Attributes Builder - Factory trait for creating payload attributes.
- Payload
Builder Attributes - Attributes used to guide the construction of a new execution payload.
- Payload
Builder For - Helper trait to bound
PayloadBuilderto the node’s engine types. - Payload
Types - Core trait that defines the associated types for working with execution payloads.
- Payload
Validator - Type that validates an
ExecutionPayload.
Functions§
- has_
enough_ parallelism - Determines if the host has enough parallelism to run the payload processor.
- validate_
execution_ requests - Validates that execution requests are valid according to Engine API specification.
- validate_
parent_ beacon_ block_ root_ presence - Validate the presence of the
parentBeaconBlockRootfield according to the given timestamp. This method is meant to be used with either apayloadAttributesfield or a full payload, with theengine_forkchoiceUpdatedandengine_newPayloadmethods respectively. - validate_
payload_ timestamp - Validates the timestamp depending on the version called:
- validate_
version_ specific_ fields - Validates the presence or exclusion of fork-specific fields based on the ethereum execution payload, or payload attributes, and the message version.
- validate_
withdrawals_ presence - Validates the presence of the
withdrawalsfield according to the payload timestamp. After Shanghai, withdrawals field must be Some. Before Shanghai, withdrawals field must be None;
Type Aliases§
- Beacon
Consensus Engine Event Deprecated - Type alias for backwards compat
- Beacon
Consensus Engine Handle Deprecated - Type alias for backwards compat
- BlockTy
- Helper adapter type for accessing
NodePrimitives::BlockonNodeTypes. - BodyTy
- Helper adapter type for accessing
NodePrimitives::BlockBodyonNodeTypes. - Header
Ty - Helper adapter type for accessing
NodePrimitives::BlockHeaderonNodeTypes. - Payload
Attr Ty - Helper adapter type for accessing
PayloadTypes::PayloadAttributesonNodeTypes. - Primitives
Ty - Helper type for getting the
Primitivesassociated type from aNodeTypes. - Receipt
Ty - Helper adapter type for accessing
NodePrimitives::ReceiptonNodeTypes. - TxTy
- Helper adapter type for accessing
NodePrimitives::SignedTxonNodeTypes.