Trait sc_consensus::import_queue::Verifier[][src]

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

Verify a justification of a block

Required methods

Verify the given data and return the BlockImportParams and an optional new set of validators to import. If not, err with an Error-Message presented to the User in the logs.

Implementors

impl<B: BlockT, C, P, CAW, CIDP> Verifier<B> for AuraVerifier<C, P, CAW, CIDP> where
    C: ProvideRuntimeApi<B> + Send + Sync + AuxStore + ProvideCache<B> + BlockOf,
    C::Api: BlockBuilderApi<B> + AuraApi<B, <P as Pair>::Public> + ApiExt<B>,
    DigestItemFor<B>: CompatibleDigestItem<P::Signature>,
    P: Pair + Send + Sync + 'static,
    P::Public: Send + Sync + Hash + Eq + Clone + Decode + Encode + Debug + 'static,
    P::Signature: Encode + Decode,
    CAW: CanAuthorWith<B> + Send + Sync + 'static,
    CIDP: CreateInherentDataProviders<B, ()> + Send + Sync,
    CIDP::InherentDataProviders: InherentDataProviderExt + Send + Sync

impl<Block, Client, SelectChain, CAW, CIDP> Verifier<Block> for BabeVerifier<Block, Client, SelectChain, CAW, CIDP> where
    Block: BlockT,
    Client: HeaderMetadata<Block, Error = Error> + HeaderBackend<Block> + ProvideRuntimeApi<Block> + Send + Sync + AuxStore + ProvideCache<Block>,
    Client::Api: BlockBuilderApi<Block> + BabeApi<Block>,
    SelectChain: SelectChain<Block>,
    CAW: CanAuthorWith<Block> + Send + Sync,
    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

impl<B: BlockT> Verifier<B> for PassThroughVerifier