Function sc_consensus_babe::import_queue
source · [−]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.