PayloadServiceBuilder

Trait PayloadServiceBuilder 

Source
pub trait PayloadServiceBuilder<Node, Pool, EvmConfig>: Sized + Send
where Node: FullNodeTypes, Pool: TransactionPool,
{ // Required method fn spawn_payload_builder_service( self, ctx: &BuilderContext<Node>, pool: Pool, evm_config: EvmConfig, ) -> impl Future<Output = Result<PayloadBuilderHandle<<<Node as FullNodeTypes>::Types as NodeTypes>::Payload>, Report>> + Send; }
Expand description

A type that knows how to spawn the payload service.

Required Methods§

Source

fn spawn_payload_builder_service( self, ctx: &BuilderContext<Node>, pool: Pool, evm_config: EvmConfig, ) -> impl Future<Output = Result<PayloadBuilderHandle<<<Node as FullNodeTypes>::Types as NodeTypes>::Payload>, Report>> + Send

Spawns the PayloadBuilderService and returns the handle to it for use by the engine.

We provide default implementation via [BasicPayloadJobGenerator] but it can be overridden for custom job orchestration logic,

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.

Implementors§

Source§

impl<N, Pool, EVM> PayloadServiceBuilder<N, Pool, EVM> for NoopPayloadBuilder
where N: FullNodeTypes, Pool: TransactionPool, EVM: ConfigureEvm<Primitives = <<N as FullNodeTypes>::Types as NodeTypes>::Primitives> + 'static,

Source§

impl<Node, F, Fut, Pool, EvmConfig> PayloadServiceBuilder<Node, Pool, EvmConfig> for F
where Node: FullNodeTypes, Pool: TransactionPool, F: Fn(&BuilderContext<Node>, Pool, EvmConfig) -> Fut + Send, Fut: Future<Output = Result<PayloadBuilderHandle<<<Node as FullNodeTypes>::Types as NodeTypes>::Payload>, Report>> + Send,

Source§

impl<Node, Pool, Evm> PayloadServiceBuilder<Node, Pool, Evm> for NoopPayloadServiceBuilder
where Node: FullNodeTypes, Pool: TransactionPool, Evm: Send,

Source§

impl<Node, Pool, PB, EvmConfig> PayloadServiceBuilder<Node, Pool, EvmConfig> for BasicPayloadServiceBuilder<PB>
where Node: FullNodeTypes, Pool: TransactionPool, EvmConfig: Send, PB: PayloadBuilderBuilder<Node, Pool, EvmConfig>,