pub trait BlockBuilder<Block, ExtraBlockBuilderDetails = ()>: Sendwhere
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§
Sourcefn 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>> + Sendwhere
SealBlock: AsyncFnOnce<(Blake3Hash,), Output = Option<OwnedBlockHeaderSeal>, CallOnceFuture: Send> + Send,
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>> + Sendwhere
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".