From dcf94710e2263912591d8662c41e278fc0e7a465 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89lo=C3=AFs?= Date: Thu, 2 May 2024 13:30:20 +0200 Subject: [PATCH] remove useless NimbusBlockImport --- .../nimbus-consensus/src/import_queue.rs | 59 +------------------ template/node/src/command.rs | 8 +-- template/node/src/service.rs | 6 +- 3 files changed, 7 insertions(+), 66 deletions(-) diff --git a/client/consensus/nimbus-consensus/src/import_queue.rs b/client/consensus/nimbus-consensus/src/import_queue.rs index a3913b6..a27bfe5 100644 --- a/client/consensus/nimbus-consensus/src/import_queue.rs +++ b/client/consensus/nimbus-consensus/src/import_queue.rs @@ -200,7 +200,6 @@ pub fn import_queue( create_inherent_data_providers: CIDP, spawner: &impl sp_core::traits::SpawnEssentialNamed, registry: Option<&substrate_prometheus_endpoint::Registry>, - parachain: bool, ) -> ClientResult> where I: BlockImport + Send + Sync + 'static, @@ -216,65 +215,9 @@ where Ok(BasicQueue::new( verifier, - Box::new(NimbusBlockImport::new(block_import, parachain)), + Box::new(block_import), None, spawner, registry, )) } - -/// Nimbus specific block import. -/// -/// Nimbus supports both parachain and non-parachain contexts. In the parachain -/// context, new blocks should not be imported as best. Cumulus's ParachainBlockImport -/// handles this correctly, but does not work in non-parachain contexts. -/// This block import has a field indicating whether we should apply parachain rules or not. -/// -/// There may be additional nimbus-specific logic here in the future, but for now it is -/// only the conditional parachain logic -pub struct NimbusBlockImport { - inner: I, - parachain_context: bool, -} - -impl NimbusBlockImport { - /// Create a new instance. - pub fn new(inner: I, parachain_context: bool) -> Self { - Self { - inner, - parachain_context, - } - } -} - -#[async_trait::async_trait] -impl BlockImport for NimbusBlockImport -where - Block: BlockT, - I: BlockImport + Send, -{ - type Error = I::Error; - - async fn check_block( - &mut self, - block: sc_consensus::BlockCheckParams, - ) -> Result { - self.inner.check_block(block).await - } - - async fn import_block( - &mut self, - mut block_import_params: sc_consensus::BlockImportParams, - ) -> Result { - // If we are in the parachain context, best block is determined by the relay chain - // except during initial sync - if self.parachain_context { - block_import_params.fork_choice = Some(sc_consensus::ForkChoiceStrategy::Custom( - block_import_params.origin == sp_consensus::BlockOrigin::NetworkInitialSync, - )); - } - - // Now continue on to the rest of the import pipeline. - self.inner.import_block(block_import_params).await - } -} diff --git a/template/node/src/command.rs b/template/node/src/command.rs index 0715764..117cfc8 100644 --- a/template/node/src/command.rs +++ b/template/node/src/command.rs @@ -107,7 +107,7 @@ macro_rules! construct_async_run { runner.async_run(|$config| { let $components = new_partial( // We default to the non-parachain import queue and select chain. - &$config, false, + &$config, )?; let task_manager = $components.task_manager; { $( $code )* }.map(|v| (v, task_manager)) @@ -173,7 +173,7 @@ pub fn run() -> Result<()> { Some(Subcommand::ExportGenesisState(cmd)) => { let runner = cli.create_runner(cmd)?; runner.sync_run(|config| { - let partials = new_partial(&config, false)?; + let partials = new_partial(&config)?; cmd.run(partials.client) }) @@ -203,7 +203,7 @@ pub fn run() -> Result<()> { } } BenchmarkCmd::Block(cmd) => runner.sync_run(|config| { - let partials = new_partial(&config, false)?; + let partials = new_partial(&config)?; cmd.run(partials.client) }), #[cfg(not(feature = "runtime-benchmarks"))] @@ -217,7 +217,7 @@ pub fn run() -> Result<()> { } #[cfg(feature = "runtime-benchmarks")] BenchmarkCmd::Storage(cmd) => runner.sync_run(|config| { - let partials = new_partial(&config, false)?; + let partials = new_partial(&config)?; let db = partials.backend.expose_db(); let storage = partials.backend.expose_storage(); diff --git a/template/node/src/service.rs b/template/node/src/service.rs index b54c985..ae39aa0 100644 --- a/template/node/src/service.rs +++ b/template/node/src/service.rs @@ -70,7 +70,6 @@ type ParachainBlockImport = TParachainBlockImport, P /// be able to perform chain operations. pub fn new_partial( config: &Configuration, - parachain: bool, ) -> Result< PartialComponents< ParachainClient, @@ -156,7 +155,6 @@ pub fn new_partial( }, &task_manager.spawn_essential_handle(), config.prometheus_registry().clone(), - parachain, )?; Ok(PartialComponents { @@ -209,7 +207,7 @@ async fn start_node_impl( ) -> sc_service::error::Result<(TaskManager, Arc)> { let parachain_config = prepare_node_config(parachain_config); - let params = new_partial(¶chain_config, true)?; + let params = new_partial(¶chain_config)?; let (block_import, mut telemetry, telemetry_worker_handle) = params.other; let client = params.client.clone(); @@ -416,7 +414,7 @@ pub fn start_instant_seal_node(config: Configuration) -> Result