Skip to main content

BlockBuilder

Trait BlockBuilder 

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

Block builder interface

Required Methods§

Source

fn build<SealBlock>( &mut self, parent_block_root: &BlockRoot, parent_header: &<Block::Header as GenericOwnedBlockHeader>::Header<'_>, parent_block_details: &BlockDetails, consensus_info: &BlockHeaderConsensusInfo, checkpoints: &[PotCheckpoints], seal_block: SealBlock, ) -> impl Future<Output = Result<BlockBuilderResult<Block, ExtraBlockBuilderDetails>, BlockBuilderError>> + Send
where SealBlock: AsyncFnOnce<(Blake3Hash,), Output = Option<OwnedBlockHeaderSeal>, CallOnceFuture: Send> + 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".

Implementors§

Source§

impl<CI> BlockBuilder<OwnedBeaconChainBlock> for BeaconChainBlockBuilder<CI>
where CI: BeaconChainInfo,