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
- This crate defines abstractions to create and update payloads (blocks)
- payload_builder 
- This crate defines abstractions to create and update payloads (blocks)
Structs§
- AddOnsContext 
- Context passed to NodeAddOns::launch_add_ons,
- AnyNodeTypes 
- A NodeTypestype builder.
- AnyNodeTypes With Engine 
- A NodeTypestype builder.
- BeaconConsensus Engine Handle 
- A cloneable sender type that can be used to send engine API messages.
- ForkchoiceState Tracker 
- The struct that keeps track of the received forkchoice state and their status.
- FullNode Types Adapter 
- An adapter type that adds the builtin provider type to the user configured node types.
- NextBlock EnvAttributes 
- Represents additional attributes required to configure the next block.
This is used to configure the next block’s environment
ConfigureEvm::next_evm_envand contains fields that can’t be derived from the parent header alone (attributes that are determined by the CL.)
- NodeTypes WithDB Adapter 
- An adapter type combining NodeTypesand db intoNodeTypesWithDB.
- OnForkChoice Updated 
- Represents the outcome of forkchoice update.
- PayloadEvents 
- Represents a receiver for various payload events.
- TreeConfig 
- The configuration of the engine tree.
Enums§
- BeaconConsensus Engine Event 
- Events emitted by the consensus engine.
- BeaconEngine Message 
- A message for the beacon engine from other components of the node (engine RPC API invoked by the consensus layer).
- BeaconFork Choice Update Error 
- Represents error cases for an applied forkchoice update.
- BeaconOnNew Payload Error 
- Represents all error cases when handling a new payload.
- ConsensusEngine Live Sync Progress 
- Progress of the consensus engine during live sync.
- EngineApiMessage Version 
- The version of Engine API message.
- EngineObject Validation Error 
- Thrown when the payload or attributes are known to be invalid before processing.
- Events
- Payload builder events.
- ForkchoiceState Hash 
- A helper type to check represent hashes of a ForkchoiceState
- ForkchoiceStatus 
- A simplified representation of PayloadStatusEnumspecifically for FCU.
- InvalidPayload Attributes Error 
- Thrown when validating the correctness of a payloadattributes object.
- MessageValidation Kind 
- A type that represents whether or not we are validating a payload or payload attributes.
- NewPayloadError 
- Error validating payload received over newPayloadAPI.
- PayloadBuilder Error 
- Possible error variants during payload building.
- PayloadKind 
- Determines how we should choose the payload to return.
- PayloadOrAttributes 
- Either a type that implements the ExecutionPayloador a type that implements thePayloadAttributestrait.
- VersionSpecific Validation Error 
- Thrown when validating an execution payload OR payload attributes fails due to:
Constants§
- DEFAULT_MAX_ PROOF_ TASK_ CONCURRENCY 
- Default maximum concurrency for proof tasks
- DEFAULT_MEMORY_ BLOCK_ BUFFER_ TARGET 
- How close to the canonical head we persist blocks.
- DEFAULT_PERSISTENCE_ THRESHOLD 
- Triggers persistence when the number of canonical blocks in memory exceeds this threshold.
- DEFAULT_RESERVED_ CPU_ CORES 
- Default number of reserved CPU cores for non-reth processes.
Traits§
- Block
- Abstraction of block data type.
- BlockBody 
- Abstraction for block’s body.
- BuiltPayload 
- Represents a built payload type that contains a built SealedBlockand can be converted into engine API execution payloads.
- ConfigureEvm 
- A complete configuration of EVM for Reth.
- EngineTypes 
- This type defines the versioned types of the engine API based on the ethereum engine API.
- EngineValidator 
- Type that validates the payloads processed by the engine.
- ExecutionPayload 
- An execution payload.
- FullBlock 
- Helper trait that unifies all behaviour required by block to support full node operations.
- FullNode Components 
- Encapsulates all types and components of the node.
- FullNode Primitives 
- Helper trait that sets trait bounds on NodePrimitives.
- FullNode Types 
- A helper trait that is downstream of the NodeTypestrait and adds stateful components to the node.
- FullProvider 
- Helper trait to unify all provider traits for simplicity.
- FullReceipt 
- Helper trait that unifies all behaviour required by receipt to support full node operations.
- FullSigned Tx 
- Helper trait that unifies all behaviour required by block to support full node operations.
- InvalidBlock Hook 
- An invalid block hook.
- NodeAddOns 
- Customizable node add-on types.
- NodePrimitives 
- Configures all the primitive types of the node.
- NodeTypes 
- The type that configures the essential types of an Ethereum-like node.
- NodeTypes WithDB 
- A helper trait that is downstream of the NodeTypestrait and adds database to the node.
- PayloadAttributes 
- The execution payload attribute type the CL node emits via the engine API. This trait should be implemented by types that could be used to spawn a payload job.
- PayloadAttributes Builder 
- A builder that can return the current payload attribute.
- PayloadBuilder Attributes 
- This can be implemented by types that describe a currently running payload job.
- PayloadBuilder For 
- Helper trait to bound [PayloadBuilder] to the node’s engine types.
- PayloadTypes 
- The types that are used by the engine API.
- PayloadValidator 
- 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§
- BlockTy
- Helper adapter type for accessing NodePrimitives::BlockonNodeTypes.
- BodyTy
- Helper adapter type for accessing NodePrimitives::BlockBodyonNodeTypes.
- HeaderTy 
- Helper adapter type for accessing NodePrimitives::BlockHeaderonNodeTypes.
- KeyHasherTy 
- Helper type for getting the Primitivesassociated type from aNodeTypes.
- PrimitivesTy 
- Helper type for getting the Primitivesassociated type from aNodeTypes.
- ReceiptTy 
- Helper adapter type for accessing NodePrimitives::ReceiptonNodeTypes.
- TxTy
- Helper adapter type for accessing NodePrimitives::SignedTxonNodeTypes.