Trait PoolBuilder

pub trait PoolBuilder<Node>: Send
where Node: FullNodeTypes,
{ type Pool: TransactionPool + Unpin + 'static where <Self::Pool as TransactionPool>::Transaction: PoolTransaction<Consensus = <<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives as NodePrimitives>::SignedTx>; // Required method fn build_pool( self, ctx: &BuilderContext<Node>, ) -> impl Future<Output = Result<Self::Pool, Report>> + Send; }
Expand description

A type that knows how to build the transaction pool.

Required Associated Types§

type Pool: TransactionPool + Unpin + 'static where <Self::Pool as TransactionPool>::Transaction: PoolTransaction<Consensus = <<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives as NodePrimitives>::SignedTx>

The transaction pool to build.

Required Methods§

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

Creates the transaction pool.

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§

§

impl<Types, Node> PoolBuilder<Node> for EthereumPoolBuilder
where Types: NodeTypes, <Types as NodeTypes>::ChainSpec: EthereumHardforks, <Types as NodeTypes>::Primitives: NodePrimitives<SignedTx = EthereumTxEnvelope<TxEip4844>>, Node: FullNodeTypes<Types = Types>,

Implementors§

§

impl<Node, F, Fut, Pool> PoolBuilder<Node> for F
where Node: FullNodeTypes, Pool: TransactionPool + Unpin + 'static, <Pool as TransactionPool>::Transaction: PoolTransaction<Consensus = <<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives as NodePrimitives>::SignedTx>, F: FnOnce(&BuilderContext<Node>) -> Fut + Send, Fut: Future<Output = Result<Pool, Report>> + Send,

§

type Pool = Pool