pub fn parachain_build_import_queue(
	client: Arc<TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<StandardRuntimeExecutor>>>,
	block_import: FrontierBlockImport<
		Block,
		Arc<TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<StandardRuntimeExecutor>>>,
		TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<StandardRuntimeExecutor>>,
	>,
	config: &Configuration,
	telemetry: Option<TelemetryHandle>,
	task_manager: &TaskManager,
) -> Result<
	sc_consensus::DefaultImportQueue<
		Block,
		TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<StandardRuntimeExecutor>>,
	>,
	sc_service::Error,
> {
	let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?;

	cumulus_client_consensus_aura::import_queue::<
		sp_consensus_aura::sr25519::AuthorityPair,
		_,
		_,
		_,
		_,
		_,
		_,
	>(cumulus_client_consensus_aura::ImportQueueParams {
		block_import: client.clone(),
		client: client.clone(),
		create_inherent_data_providers: move |_, _| async move {
			let time = sp_timestamp::InherentDataProvider::from_system_time();

			let slot =
				sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration(
					*time,
					slot_duration,
				);

			Ok((time, slot))
		},
		registry: config.prometheus_registry(),
		can_author_with: sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()),
		spawner: &task_manager.spawn_essential_handle(),
		telemetry,
	})
	.map_err(Into::into)
}
/// Build the import queue for the parachain runtime.
Build the import queue for the parachain runtime.
Build the import queue for the parachain runtime .
pub fn parachain_build_import_queue(
	client: Arc<TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<StandardRuntimeExecutor>>>,
	block_import: FrontierBlockImport<
		Block,
		Arc<TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<StandardRuntimeExecutor>>>,
		TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<StandardRuntimeExecutor>>,
	>,
	config: &Configuration,
	telemetry: Option<TelemetryHandle>,
	task_manager: &TaskManager,
) -> Result<
	sc_consensus::DefaultImportQueue<
		Block,
		TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<StandardRuntimeExecutor>>,
	>,
	sc_service::Error,
> {
	let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?;
	cumulus_client_consensus_aura::import_queue::<
		sp_consensus_aura::sr25519::AuthorityPair,
		_,
		_,
		_,
		_,
		_,
		_,
	>(cumulus_client_consensus_aura::ImportQueueParams {
		block_import: client.clone(),
		client: client.clone(),
		create_inherent_data_providers: move |_, _| async move {
			let time = sp_timestamp::InherentDataProvider::from_system_time();
			let slot =
				sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration(
					*time,
					slot_duration,
				);
			Ok((time, slot))
		},
		registry: config.prometheus_registry(),
		can_author_with: sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()),
		spawner: &task_manager.spawn_essential_handle(),
		telemetry,
	})
	.map_err(Into::into)
}
pub fn parachain_build_import_queue ( client : Arc < TFullClient < Block , RuntimeApi , NativeElseWasmExecutor < StandardRuntimeExecutor > > > , block_import : FrontierBlockImport < Block , Arc < TFullClient < Block , RuntimeApi , NativeElseWasmExecutor < StandardRuntimeExecutor > > > , TFullClient < Block , RuntimeApi , NativeElseWasmExecutor < StandardRuntimeExecutor > > , > , config : & Configuration , telemetry : Option < TelemetryHandle > , task_manager : & TaskManager , ) -> Result < sc_consensus :: DefaultImportQueue < Block , TFullClient < Block , RuntimeApi , NativeElseWasmExecutor < StandardRuntimeExecutor > > , > , sc_service :: Error , > { let slot_duration = cumulus_client_consensus_aura :: slot_duration ( & * client ) ? ; cumulus_client_consensus_aura :: import_queue :: < sp_consensus_aura :: sr25519 :: AuthorityPair , _ , _ , _ , _ , _ , _ , > ( cumulus_client_consensus_aura :: ImportQueueParams { block_import : client . clone ( ) , client : client . clone ( ) , create_inherent_data_providers : move | _ , _ | async move { let time = sp_timestamp :: InherentDataProvider :: from_system_time ( ) ; let slot = sp_consensus_aura :: inherents :: InherentDataProvider :: from_timestamp_and_slot_duration ( * time , slot_duration , ) ; Ok ( ( time , slot ) ) } , registry : config . prometheus_registry ( ) , can_author_with : sp_consensus :: CanAuthorWithNativeVersion :: new ( client . executor ( ) . clone ( ) ) , spawner : & task_manager . spawn_essential_handle ( ) , telemetry , } ) . map_err ( Into :: into ) }
Build the import queue for the parachain runtime.
Build the import queue for the parachain runtime .
client
Arc<TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<StandardRuntimeExecutor>>>
block_import
FrontierBlockImport<
		Block,
		Arc<TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<StandardRuntimeExecutor>>>,
		TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<StandardRuntimeExecutor>>,
	>
config
&Configuration
telemetry
Option<TelemetryHandle>
task_manager
&TaskManager
client
Arc<TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<StandardRuntimeExecutor>>>
block_import
FrontierBlockImport<
		Block,
		Arc<TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<StandardRuntimeExecutor>>>,
		TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<StandardRuntimeExecutor>>,
	>
config
&Configuration
telemetry
Option<TelemetryHandle>
task_manager
&TaskManager