Expand description
Standalone crate for Reth configuration traits and builder types.
Re-exports§
pub use reth_engine_primitives as engine;
pub use reth_payload_primitives as payload;
pub use reth_payload_builder_primitives as payload_builder;
pub use node::*;
Modules§
- Traits for configuring a node.
Structs§
- A
NodeTypes
type builder. - A
NodeTypesWithEngine
type builder. - The struct that keeps track of the received forkchoice state and their status.
- Traits and helper types used to abstract over EVM methods and types. Represents additional attributes required to configure the next block. This is used to configure the next block’s environment
ConfigureEvmEnv::next_cfg_and_block_env
and contains fields that can’t be derived from the parent header alone (attributes that are determined by the CL.) - An adapter type combining
NodeTypes
and db intoNodeTypesWithDB
. - Represents the outcome of forkchoice update.
- Represents a receiver for various payload events.
Enums§
- A message for the beacon engine from other components of the node (engine RPC API invoked by the consensus layer).
- Represents all error cases when handling a new payload.
- The version of Engine API message.
- Thrown when the payload or attributes are known to be invalid before processing.
- Payload builder events.
- A helper type to check represent hashes of a [
ForkchoiceState
] - A simplified representation of [
PayloadStatusEnum
] specifically for FCU. - Thrown when validating the correctness of a payloadattributes object.
- A type that represents whether or not we are validating a payload or payload attributes.
- Possible error variants during payload building.
- Determines how we should choose the payload to return.
- Either an [
ExecutionPayload
] or a types that implements thePayloadAttributes
trait. - Thrown when validating an execution payload OR payload attributes fails due to:
Traits§
- Abstraction of block data type.
- Abstraction for block’s body.
- Represents a built payload type that contains a built [
SealedBlock
] and can be converted into engine API execution payloads. - Traits and helper types used to abstract over EVM methods and types. Trait for configuring the EVM for executing full blocks.
- Traits and helper types used to abstract over EVM methods and types. This represents the set of methods used to configure the EVM’s environment before block execution.
- This type defines the versioned types of the engine API.
- Type that validates the payloads processed by the engine.
- Helper trait that unifies all behaviour required by block to support full node operations.
- Helper trait that sets trait bounds on
NodePrimitives
. - Helper trait to unify all provider traits for simplicity.
- Helper trait that unifies all behaviour required by receipt to support full node operations.
- Helper trait that unifies all behaviour required by block to support full node operations.
- An invalid block hook.
- Configures all the primitive types of the node.
- The type that configures the essential types of an Ethereum-like node.
- A helper trait that is downstream of the
NodeTypesWithEngine
trait and adds database to the node. - The type that configures an Ethereum-like node with an engine for consensus.
- 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.
- A builder that can return the current payload attribute.
- A type that can request, subscribe to and resolve payloads.
- This can be implemented by types that describe a currently running payload job.
- A helper trait for internal usage to retrieve and resolve payloads.
- The types that are used by the engine API.
- Type that validates an [
ExecutionPayload
].
Functions§
- Validate the presence of the
parentBeaconBlockRoot
field according to the given timestamp. This method is meant to be used with either apayloadAttributes
field or a full payload, with theengine_forkchoiceUpdated
andengine_newPayload
methods respectively. - Validates the timestamp depending on the version called:
- Validates the presence or exclusion of fork-specific fields based on the ethereum execution payload, or payload attributes, and the message version.
Type Aliases§
- Helper adapter type for accessing
NodePrimitives::Block
onNodeTypes
. - Helper adapter type for accessing
NodePrimitives::BlockBody
onNodeTypes
. - Helper adapter type for accessing
NodePrimitives::BlockHeader
onNodeTypes
. - Helper adapter type for accessing
NodePrimitives::Receipt
onNodeTypes
. - Helper adapter type for accessing
NodePrimitives::SignedTx
onNodeTypes
.