pub trait ExecutorBuilder<Node>: Sendwhere
Node: FullNodeTypes,{
type EVM: ConfigureEvm<Header = <<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives as NodePrimitives>::BlockHeader, Transaction = <<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives as NodePrimitives>::SignedTx>;
type Executor: BlockExecutorProvider<Primitives = <<Node as FullNodeTypes>::Types as NodeTypes>::Primitives>;
// Required method
fn build_evm(
self,
ctx: &BuilderContext<Node>,
) -> impl Future<Output = Result<(Self::EVM, Self::Executor), Report>> + Send;
}
Expand description
A type that knows how to build the executor types.
Required Associated Types§
Sourcetype EVM: ConfigureEvm<Header = <<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives as NodePrimitives>::BlockHeader, Transaction = <<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives as NodePrimitives>::SignedTx>
type EVM: ConfigureEvm<Header = <<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives as NodePrimitives>::BlockHeader, Transaction = <<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives as NodePrimitives>::SignedTx>
The EVM config to use.
This provides the node with the necessary configuration to configure an EVM.
Sourcetype Executor: BlockExecutorProvider<Primitives = <<Node as FullNodeTypes>::Types as NodeTypes>::Primitives>
type Executor: BlockExecutorProvider<Primitives = <<Node as FullNodeTypes>::Types as NodeTypes>::Primitives>
The type that knows how to execute blocks.
Required Methods§
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.