reth::builder::components

Trait EngineValidatorBuilder

source
pub trait EngineValidatorBuilder<Node>: Send
where Node: FullNodeTypes,
{ type Validator: EngineValidator<<<Node as FullNodeTypes>::Types as NodeTypesWithEngine>::Engine> + Clone + Unpin + 'static; // Required method fn build_validator( self, ctx: &BuilderContext<Node>, ) -> impl Future<Output = Result<Self::Validator, Report>> + Send; }
Expand description

A type that knows how to build the engine validator.

Required Associated Types§

source

type Validator: EngineValidator<<<Node as FullNodeTypes>::Types as NodeTypesWithEngine>::Engine> + Clone + Unpin + 'static

The consensus implementation to build.

Required Methods§

source

fn build_validator( self, ctx: &BuilderContext<Node>, ) -> impl Future<Output = Result<Self::Validator, Report>> + Send

Creates the engine validator.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<Node, Types> EngineValidatorBuilder<Node> for EthereumEngineValidatorBuilder
where Types: NodeTypesWithEngine<ChainSpec = ChainSpec>, Node: FullNodeTypes<Types = Types>, EthereumEngineValidator: EngineValidator<<Types as NodeTypesWithEngine>::Engine>,

Implementors§

source§

impl<Node, F, Fut, Validator> EngineValidatorBuilder<Node> for F
where Node: FullNodeTypes, Validator: EngineValidator<<<Node as FullNodeTypes>::Types as NodeTypesWithEngine>::Engine> + Clone + Unpin + 'static, F: FnOnce(&BuilderContext<Node>) -> Fut + Send, Fut: Future<Output = Result<Validator, Report>> + Send,

source§

type Validator = Validator