Trait PayloadBuilderBuilder

Source
pub trait PayloadBuilderBuilder<Node: FullNodeTypes, Pool: TransactionPool>: Send + Sized {
    type PayloadBuilder: PayloadBuilderFor<Node::Types> + Unpin + 'static;

    // Required method
    fn build_payload_builder(
        self,
        ctx: &BuilderContext<Node>,
        pool: Pool,
    ) -> impl Future<Output = Result<Self::PayloadBuilder>> + Send;
}
Expand description

A type that knows how to build a payload builder to plug into BasicPayloadServiceBuilder.

Required Associated Types§

Source

type PayloadBuilder: PayloadBuilderFor<Node::Types> + Unpin + 'static

Payload builder implementation.

Required Methods§

Source

fn build_payload_builder( self, ctx: &BuilderContext<Node>, pool: Pool, ) -> impl Future<Output = Result<Self::PayloadBuilder>> + Send

Spawns the payload service and returns the handle to it.

The BuilderContext is provided to allow access to the node’s configuration.

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§

impl<Types, Node, Pool> PayloadBuilderBuilder<Node, Pool> for EthereumPayloadBuilder
where Types: NodeTypesWithEngine<ChainSpec = ChainSpec, Primitives = EthPrimitives>, Node: FullNodeTypes<Types = Types>, Pool: TransactionPool<Transaction: PoolTransaction<Consensus = TxTy<Node::Types>>> + Unpin + 'static, Types::Engine: PayloadTypes<BuiltPayload = EthBuiltPayload, PayloadAttributes = EthPayloadAttributes, PayloadBuilderAttributes = EthPayloadBuilderAttributes>,

impl<Node, Pool, Txs> PayloadBuilderBuilder<Node, Pool> for OpPayloadBuilder<Txs>
where Node: FullNodeTypes<Types: NodeTypesWithEngine<Engine = OpEngineTypes, ChainSpec = OpChainSpec, Primitives = OpPrimitives>>, Pool: TransactionPool<Transaction: PoolTransaction<Consensus = TxTy<Node::Types>>> + Unpin + 'static, Txs: OpPayloadTransactions<Pool::Transaction>, <Pool as TransactionPool>::Transaction: OpPooledTx,