[][src]Function sc_consensus_babe::import_queue

pub fn import_queue<Block: BlockT, Client, SelectChain, Inner, CAW>(
    babe_link: BabeLink<Block>,
    block_import: Inner,
    justification_import: Option<BoxJustificationImport<Block>>,
    finality_proof_import: Option<BoxFinalityProofImport<Block>>,
    client: Arc<Client>,
    select_chain: SelectChain,
    inherent_data_providers: InherentDataProviders,
    spawner: &impl SpawnNamed,
    registry: Option<&Registry>,
    can_author_with: CAW
) -> ClientResult<DefaultImportQueue<Block, Client>> where
    Inner: BlockImport<Block, Error = ConsensusError, Transaction = TransactionFor<Client, Block>> + Send + Sync + 'static,
    Client: ProvideRuntimeApi<Block> + ProvideCache<Block> + Send + Sync + AuxStore + 'static,
    Client: HeaderBackend<Block> + HeaderMetadata<Block, Error = Error>,
    Client::Api: BlockBuilderApi<Block> + BabeApi<Block> + ApiExt<Block, Error = Error>,
    SelectChain: SelectChain<Block> + 'static,
    CAW: CanAuthorWith<Block> + Send + Sync + 'static, 

Start an import queue for the BABE consensus algorithm.

This method returns the import queue, some data that needs to be passed to the block authoring logic (BabeLink), and a future that must be run to completion and is responsible for listening to finality notifications and pruning the epoch changes tree.

The block import object provided must be the BabeBlockImport or a wrapper of it, otherwise crucial import logic will be omitted.