domain_client_operator::domain_bundle_producer

Trait BundleProducer

Source
pub trait BundleProducer<Block, CBlock>
where Block: BlockT, CBlock: BlockT,
{ // Required method fn produce_bundle<'life0, 'async_trait>( &'life0 mut self, operator_id: OperatorId, slot_info: OperatorSlotInfo, ) -> Pin<Box<dyn Future<Output = Result<Option<DomainProposal<Block, CBlock>>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; }

Required Methods§

Source

fn produce_bundle<'life0, 'async_trait>( &'life0 mut self, operator_id: OperatorId, slot_info: OperatorSlotInfo, ) -> Pin<Box<dyn Future<Output = Result<Option<DomainProposal<Block, CBlock>>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Produce a bundle for the given operator and slot.

Implementors§

Source§

impl<Block, CBlock, Client, CClient, TransactionPool> BundleProducer<Block, CBlock> for DomainBundleProducer<Block, CBlock, Client, CClient, TransactionPool>
where Block: BlockT, CBlock: BlockT, NumberFor<Block>: Into<NumberFor<CBlock>>, NumberFor<CBlock>: Into<NumberFor<Block>>, Client: HeaderBackend<Block> + BlockBackend<Block> + AuxStore + ProvideRuntimeApi<Block>, Client::Api: BlockBuilder<Block> + DomainCoreApi<Block> + TaggedTransactionQueue<Block> + MessengerApi<Block, NumberFor<CBlock>, CBlock::Hash>, CClient: HeaderBackend<CBlock> + ProvideRuntimeApi<CBlock>, CClient::Api: DomainsApi<CBlock, Block::Header> + BundleProducerElectionApi<CBlock, Balance>, TransactionPool: TransactionPool<Block = Block, Hash = Block::Hash>,

Source§

impl<Block, CBlock, Client, CClient, TransactionPool> BundleProducer<Block, CBlock> for TestBundleProducer<Block, CBlock, Client, CClient, TransactionPool>
where Block: BlockT, CBlock: BlockT, NumberFor<Block>: Into<NumberFor<CBlock>>, NumberFor<CBlock>: Into<NumberFor<Block>>, Client: HeaderBackend<Block> + BlockBackend<Block> + AuxStore + ProvideRuntimeApi<Block>, Client::Api: BlockBuilder<Block> + DomainCoreApi<Block> + TaggedTransactionQueue<Block> + MessengerApi<Block, NumberFor<CBlock>, CBlock::Hash>, CClient: HeaderBackend<CBlock> + ProvideRuntimeApi<CBlock>, CClient::Api: DomainsApi<CBlock, Block::Header> + BundleProducerElectionApi<CBlock, Balance>, TransactionPool: TransactionPool<Block = Block, Hash = Block::Hash>,