referrerpolicy=no-referrer-when-downgrade
sc_consensus::import_queue

Trait Verifier

Source
pub trait Verifier<B: BlockT>: Send + Sync {
    // Required method
    fn verify<'life0, 'async_trait>(
        &'life0 self,
        block: BlockImportParams<B>,
    ) -> Pin<Box<dyn Future<Output = Result<BlockImportParams<B>, String>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Verify a justification of a block

Required Methods§

Source

fn verify<'life0, 'async_trait>( &'life0 self, block: BlockImportParams<B>, ) -> Pin<Box<dyn Future<Output = Result<BlockImportParams<B>, String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Verify the given block data and return the BlockImportParams to continue the block import process.

Implementors§

impl<P, Client, Block, CIDP> Verifier<Block> for Verifier<P, Client, Block, CIDP>
where P: Pair, P::Signature: Codec, P::Public: Codec + Debug, Block: BlockT, Client: ProvideRuntimeApi<Block> + Send + Sync, <Client as ProvideRuntimeApi<Block>>::Api: BlockBuilderApi<Block> + AuraApi<Block, P::Public>, CIDP: CreateInherentDataProviders<Block, ()>,

impl<Block: BlockT> Verifier<Block> for VerifyNothing

impl<Client, Block, CIDP> Verifier<Block> for Verifier<Client, Block, CIDP>
where Block: BlockT, Client: ProvideRuntimeApi<Block> + Send + Sync, <Client as ProvideRuntimeApi<Block>>::Api: BlockBuilderApi<Block>, CIDP: CreateInherentDataProviders<Block, ()>,

impl<B: BlockT, C, P, CIDP> Verifier<B> for AuraVerifier<C, P, CIDP, NumberFor<B>>
where C: ProvideRuntimeApi<B> + Send + Sync + AuxStore, C::Api: BlockBuilderApi<B> + AuraApi<B, <P as Pair>::Public> + ApiExt<B>, P: Pair, P::Public: Codec + Debug, P::Signature: Codec, CIDP: CreateInherentDataProviders<B, ()> + Send + Sync, CIDP::InherentDataProviders: InherentDataProviderExt + Send + Sync,

impl<Block, Client, SelectChain, CIDP> Verifier<Block> for BabeVerifier<Block, Client, SelectChain, CIDP>
where Block: BlockT, Client: HeaderMetadata<Block, Error = Error> + HeaderBackend<Block> + ProvideRuntimeApi<Block> + Send + Sync + AuxStore, Client::Api: BlockBuilderApi<Block> + BabeApi<Block>, SelectChain: SelectChain<Block>, CIDP: CreateInherentDataProviders<Block, ()> + Send + Sync, CIDP::InherentDataProviders: InherentDataProviderExt + Send + Sync,

impl<B, C> Verifier<B> for BabeVerifier<B, C>
where B: BlockT, C: HeaderBackend<B> + HeaderMetadata<B, Error = Error>,

impl<B: BlockT, Algorithm> Verifier<B> for PowVerifier<B, Algorithm>
where Algorithm: PowAlgorithm<B> + Send + Sync, Algorithm::Difficulty: 'static + Send,