reth::builder::rpc

Trait EngineValidatorBuilder

Source
pub trait EngineValidatorBuilder<Node>:
    Send
    + Sync
    + Clone
where Node: FullNodeComponents,
{ type Validator: EngineValidator<<<Node as FullNodeTypes>::Types as NodeTypesWithEngine>::Engine, Block = <<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives as NodePrimitives>::Block> + Clone; // Required method fn build( self, ctx: &AddOnsContext<'_, 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, Block = <<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives as NodePrimitives>::Block> + Clone

The consensus implementation to build.

Required Methods§

Source

fn build( self, ctx: &AddOnsContext<'_, Node>, ) -> impl Future<Output = Result<Self::Validator, Report>> + Send

Creates the engine validator.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<Node, Types> EngineValidatorBuilder<Node> for EthereumEngineValidatorBuilder
where Types: NodeTypesWithEngine<ChainSpec = ChainSpec, Engine = EthEngineTypes, Primitives = EthPrimitives>, Node: FullNodeComponents<Types = Types>,

Source§

type Validator = EthereumEngineValidator

Source§

async fn build( self, ctx: &AddOnsContext<'_, Node>, ) -> Result<<EthereumEngineValidatorBuilder as EngineValidatorBuilder<Node>>::Validator, Report>

Implementors§

Source§

impl<Node, F, Fut, Validator> EngineValidatorBuilder<Node> for F
where Node: FullNodeComponents, Validator: EngineValidator<<<Node as FullNodeTypes>::Types as NodeTypesWithEngine>::Engine, Block = <<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives as NodePrimitives>::Block> + Clone + Unpin + 'static, F: FnOnce(&AddOnsContext<'_, Node>) -> Fut + Send + Sync + Clone, Fut: Future<Output = Result<Validator, Report>> + Send,

Source§

type Validator = Validator