Skip to main content

ExecutorBuilder

Trait ExecutorBuilder 

Source
pub trait ExecutorBuilder<Node>: Send
where Node: FullNodeTypes,
{ type EVM: ConfigureEvm<Primitives = <<Node as FullNodeTypes>::Types as NodeTypes>::Primitives> + 'static; // Required method fn build_evm( self, ctx: &BuilderContext<Node>, ) -> impl Future<Output = Result<Self::EVM, Report>> + Send; }
Expand description

A type that knows how to build the executor types.

Required Associated Types§

Source

type EVM: ConfigureEvm<Primitives = <<Node as FullNodeTypes>::Types as NodeTypes>::Primitives> + 'static

The EVM config to use.

This provides the node with the necessary configuration to configure an EVM.

Required Methods§

Source

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

Creates the EVM config.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<Types, Node> ExecutorBuilder<Node> for EthereumExecutorBuilder
where Types: NodeTypes<Primitives = EthPrimitives>, <Types as NodeTypes>::ChainSpec: Hardforks + EthExecutorSpec + EthereumHardforks, Node: FullNodeTypes<Types = Types>,

Implementors§

Source§

impl<Node, F, Fut, EVM> ExecutorBuilder<Node> for F
where Node: FullNodeTypes, EVM: ConfigureEvm<Primitives = <<Node as FullNodeTypes>::Types as NodeTypes>::Primitives> + 'static, F: FnOnce(&BuilderContext<Node>) -> Fut + Send, Fut: Future<Output = Result<EVM, Report>> + Send,

Source§

type EVM = EVM