Expand description
Standalone crate for Reth configuration and builder types.
§features
js-tracer
: Enable theJavaScript
tracer for thedebug_trace
endpoints
Re-exports§
pub use components::NodeComponents;
pub use components::NodeComponentsBuilder;
pub use node::*;
Modules§
- Node add-ons. Depend on core
NodeComponents
. - Helper types that can be used by launchers.
- Support for configuring the components of a node. Support for configuring the components of a node.
- Temporarily re-export engine tree config. Engine tree configuration.
- Support for installing the ExExs (execution extensions) in a node. Types for launching execution extensions (ExEx).
- Node event hooks.
- Support for configuring the higher level node types.
- This crate defines abstractions to create and update payloads (blocks)
- This crate defines abstractions to create and update payloads (blocks)
- Builder support for rpc components.
- Helpers for setting up parts of the node.
Structs§
- Additional node extensions.
- Context passed to
NodeAddOns::launch_add_ons
, - A
NodeTypes
type builder. - A
NodeTypesWithEngine
type builder. - Captures the necessary context for building the components of the node.
- The default launcher for a node.
- The engine node launcher.
- Can launch execution extensions.
- The struct that keeps track of the received forkchoice state and their status.
- An adapter type that adds the builtin provider type to the user configured node types.
- Reusable setup for launching a node.
- 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.) - Container for the node’s types and the components and other internals that can be used by addons of the node.
- Declaratively construct a node.
- A fully type configured node builder.
- A node builder that also has the configured types.
- This includes all necessary configuration to launch the node. The individual configuration options can be overwritten before launching the node.
- A Handle to the launched node.
- Container for the node’s types and the database the node uses.
- An adapter type combining
NodeTypes
and db intoNodeTypesWithDB
. - Represents the outcome of forkchoice update.
- Represents a receiver for various payload events.
- A
NodeBuilder
with it’s launch context already configured.
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. - Trait for configuring the EVM for executing full blocks.
- 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.
- Encapsulates all types and components of the node.
- Helper trait that sets trait bounds on
NodePrimitives
. - A helper trait that is downstream of the
NodeTypesWithEngine
trait and adds stateful components to the node. - 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.
- A general purpose trait that launches a new node of any kind.
- Customizable node add-on types.
- 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.
- Re-export the core configuration traits. A trait that provides payload builder settings.
- 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
]. - Re-export the core configuration traits. A trait that represents the configured network and can be used to apply additional configuration to the network.
- Re-export the core configuration traits. A trait that provides all basic config values for the transaction pool and is implemented by the
TxPoolArgs
type.
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
. - Alias for
reth_rpc_eth_types::EthApiBuilderCtx
, adapter for [RpcNodeCore
]. - Helper adapter type for accessing
NodePrimitives::BlockHeader
onNodeTypes
. - Helper adapter type for accessing
NodePrimitives::Receipt
onNodeTypes
. - The adapter type for a reth node with the builtin provider type
- Helper adapter type for accessing
NodePrimitives::SignedTx
onNodeTypes
.