pub fn import_queue<Block: BlockT, Client, SelectChain, Inner, CAW>(
    babe_link: BabeLink<Block>,
    block_import: Inner,
    justification_import: Option<BoxJustificationImport<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, 
Expand description

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.