pub trait BlockProducer: Send {
// Required method
fn produce_block<SealBlock>(
&mut self,
claimed_slot: ClaimedSlot,
best_beacon_chain_header: &BeaconChainHeader<'_>,
seal_block: SealBlock,
) -> impl Future<Output = ()> + Send
where SealBlock: AsyncFnOnce<(Blake3Hash,), Output = Option<OwnedBlockHeaderSeal>, CallOnceFuture: Send> + Send;
}Expand description
Block builder interface
Required Methods§
Sourcefn produce_block<SealBlock>(
&mut self,
claimed_slot: ClaimedSlot,
best_beacon_chain_header: &BeaconChainHeader<'_>,
seal_block: SealBlock,
) -> impl Future<Output = ()> + Sendwhere
SealBlock: AsyncFnOnce<(Blake3Hash,), Output = Option<OwnedBlockHeaderSeal>, CallOnceFuture: Send> + Send,
fn produce_block<SealBlock>(
&mut self,
claimed_slot: ClaimedSlot,
best_beacon_chain_header: &BeaconChainHeader<'_>,
seal_block: SealBlock,
) -> impl Future<Output = ()> + Sendwhere
SealBlock: AsyncFnOnce<(Blake3Hash,), Output = Option<OwnedBlockHeaderSeal>, CallOnceFuture: Send> + Send,
Produce (build and import) a new block for the claimed slot
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".