pub trait BlockBuildingInfoProvider<Block: BlockT, ExtraArgs = ()> {
type InherentDataProviders: InherentDataProvider;
// Required method
fn get_inherent_providers_and_pre_digest<'life0, 'async_trait>(
&'life0 self,
parent_hash: Block::Hash,
extra_args: ExtraArgs
) -> Pin<Box<dyn Future<Output = Result<(Self::InherentDataProviders, Vec<DigestItem>)>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}
Expand description
Something that can create inherent data providers and pre-runtime digest.
It is possible for the caller to provide custom arguments to the callee by setting the
ExtraArgs
generic parameter.
This module already provides some convenience implementation of this trait for closures. So, it should not be required to implement it directly.