Trait BlockBuilder

Source
pub trait BlockBuilder<Block>
where Block: GenericOwnedBlock,
{ // Required method fn build<SealBlock, SealBlockFut>( &mut self, parent_block_root: &BlockRoot, parent_header: &<Block::Header as GenericOwnedBlockHeader>::Header<'_>, consensus_info: &BlockHeaderConsensusInfo, checkpoints: &[PotCheckpoints], seal_block: SealBlock, ) -> impl Future<Output = Result<Block, BlockBuilderError>> + Send where SealBlock: FnOnce(Blake3Hash) -> SealBlockFut + Send, SealBlockFut: Future<Output = Option<OwnedBlockHeaderSeal>> + Send; }
Expand description

Block builder interface

Required Methods§

Source

fn build<SealBlock, SealBlockFut>( &mut self, parent_block_root: &BlockRoot, parent_header: &<Block::Header as GenericOwnedBlockHeader>::Header<'_>, consensus_info: &BlockHeaderConsensusInfo, checkpoints: &[PotCheckpoints], seal_block: SealBlock, ) -> impl Future<Output = Result<Block, BlockBuilderError>> + Send
where SealBlock: FnOnce(Blake3Hash) -> SealBlockFut + Send, SealBlockFut: Future<Output = Option<OwnedBlockHeaderSeal>> + Send,

Build a new block using provided parameters

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<CI> BlockBuilder<OwnedBeaconChainBlock> for BeaconChainBlockBuilder<CI>
where CI: ChainInfo<OwnedBeaconChainBlock>,