,
/// The inherent data providers, to create the inherent data.
@@ -83,7 +84,7 @@ where
CIDP::InherentDataProviders: InherentDataProviderExt + Send + Sync,
{
sc_consensus_aura::import_queue::(sc_consensus_aura::ImportQueueParams {
- block_import: cumulus_client_consensus_common::ParachainBlockImport::new(block_import),
+ block_import,
justification_import: None,
client,
create_inherent_data_providers,
@@ -91,6 +92,7 @@ where
registry,
check_for_equivocation: sc_consensus_aura::CheckForEquivocation::No,
telemetry,
+ compatibility_mode: CompatibilityMode::None,
})
}
@@ -105,16 +107,17 @@ pub struct BuildVerifierParams {
}
/// Build the [`AuraVerifier`].
-pub fn build_verifier(
+pub fn build_verifier
(
BuildVerifierParams { client, create_inherent_data_providers, telemetry }: BuildVerifierParams<
C,
CIDP,
>,
-) -> AuraVerifier {
+) -> AuraVerifier {
sc_consensus_aura::build_verifier(sc_consensus_aura::BuildVerifierParams {
client,
create_inherent_data_providers,
telemetry,
check_for_equivocation: sc_consensus_aura::CheckForEquivocation::No,
+ compatibility_mode: CompatibilityMode::None,
})
}
diff --git a/client/consensus/aura/src/lib.rs b/client/consensus/aura/src/lib.rs
index 1be562e37c..abc6873cd0 100644
--- a/client/consensus/aura/src/lib.rs
+++ b/client/consensus/aura/src/lib.rs
@@ -71,6 +71,22 @@ impl Clone for AuraConsensus {
}
}
+/// Parameters of [`AuraConsensus::build`].
+pub struct BuildAuraConsensusParams {
+ pub proposer_factory: PF,
+ pub create_inherent_data_providers: CIDP,
+ pub block_import: ParachainBlockImport,
+ pub para_client: Arc,
+ pub backoff_authoring_blocks: Option,
+ pub sync_oracle: SO,
+ pub keystore: SyncCryptoStorePtr,
+ pub force_authoring: bool,
+ pub slot_duration: SlotDuration,
+ pub telemetry: Option,
+ pub block_proposal_slot_portion: SlotProportion,
+ pub max_block_proposal_slot_portion: Option,
+}
+
impl AuraConsensus
where
B: BlockT,
@@ -117,7 +133,7 @@ where
let worker = sc_consensus_aura::build_aura_worker::(
BuildAuraWorkerParams {
client: para_client,
- block_import: ParachainBlockImport::new(block_import),
+ block_import,
justification_sync_link: (),
proposer_factory,
sync_oracle,
@@ -127,6 +143,7 @@ where
telemetry,
block_proposal_slot_portion,
max_block_proposal_slot_portion,
+ compatibility_mode: sc_consensus_aura::CompatibilityMode::None,
},
);
@@ -216,19 +233,3 @@ where
Some(ParachainCandidate { block: res.block, proof: res.storage_proof })
}
}
-
-/// Parameters of [`AuraConsensus::build`].
-pub struct BuildAuraConsensusParams {
- pub proposer_factory: PF,
- pub create_inherent_data_providers: CIDP,
- pub block_import: BI,
- pub para_client: Arc,
- pub backoff_authoring_blocks: Option,
- pub sync_oracle: SO,
- pub keystore: SyncCryptoStorePtr,
- pub force_authoring: bool,
- pub slot_duration: SlotDuration,
- pub telemetry: Option,
- pub block_proposal_slot_portion: SlotProportion,
- pub max_block_proposal_slot_portion: Option,
-}
diff --git a/client/consensus/common/Cargo.toml b/client/consensus/common/Cargo.toml
index 42fa2fb53b..515e62ad78 100644
--- a/client/consensus/common/Cargo.toml
+++ b/client/consensus/common/Cargo.toml
@@ -6,11 +6,11 @@ authors = ["Parity Technologies "]
edition = "2021"
[dependencies]
-async-trait = "0.1.57"
+async-trait = "0.1.58"
codec = { package = "parity-scale-codec", version = "3.0.0", features = [ "derive" ] }
dyn-clone = "1.0.9"
futures = "0.3.24"
-tracing = "0.1.36"
+tracing = "0.1.37"
# Substrate
sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
diff --git a/client/consensus/common/src/lib.rs b/client/consensus/common/src/lib.rs
index 61098dfd43..d5d3358543 100644
--- a/client/consensus/common/src/lib.rs
+++ b/client/consensus/common/src/lib.rs
@@ -83,6 +83,12 @@ impl ParachainBlockImport {
}
}
+impl Clone for ParachainBlockImport {
+ fn clone(&self) -> Self {
+ ParachainBlockImport(self.0.clone())
+ }
+}
+
#[async_trait::async_trait]
impl BlockImport for ParachainBlockImport
where
diff --git a/client/consensus/common/src/parachain_consensus.rs b/client/consensus/common/src/parachain_consensus.rs
index ccdfb17b67..108dfd1c86 100644
--- a/client/consensus/common/src/parachain_consensus.rs
+++ b/client/consensus/common/src/parachain_consensus.rs
@@ -102,7 +102,7 @@ where
// don't finalize the same block multiple times.
if parachain.usage_info().chain.finalized_hash != hash {
- if let Err(e) = parachain.finalize_block(BlockId::hash(hash), None, true) {
+ if let Err(e) = parachain.finalize_block(&hash, None, true) {
match e {
ClientError::UnknownBlock(_) => tracing::debug!(
target: "cumulus-consensus",
diff --git a/client/consensus/relay-chain/Cargo.toml b/client/consensus/relay-chain/Cargo.toml
index 7f4b07db86..c088ee3254 100644
--- a/client/consensus/relay-chain/Cargo.toml
+++ b/client/consensus/relay-chain/Cargo.toml
@@ -6,10 +6,10 @@ authors = ["Parity Technologies "]
edition = "2021"
[dependencies]
-async-trait = "0.1.57"
+async-trait = "0.1.58"
futures = "0.3.24"
parking_lot = "0.12.1"
-tracing = "0.1.36"
+tracing = "0.1.37"
# Substrate
sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "master" }
diff --git a/client/consensus/relay-chain/src/import_queue.rs b/client/consensus/relay-chain/src/import_queue.rs
index 3792a9c04b..e5a31e600b 100644
--- a/client/consensus/relay-chain/src/import_queue.rs
+++ b/client/consensus/relay-chain/src/import_queue.rs
@@ -16,6 +16,8 @@
use std::{marker::PhantomData, sync::Arc};
+use cumulus_client_consensus_common::ParachainBlockImport;
+
use sc_consensus::{
import_queue::{BasicQueue, Verifier as VerifierT},
BlockImport, BlockImportParams,
@@ -103,7 +105,7 @@ where
/// Start an import queue for a Cumulus collator that does not uses any special authoring logic.
pub fn import_queue(
client: Arc,
- block_import: I,
+ block_import: ParachainBlockImport,
create_inherent_data_providers: CIDP,
spawner: &impl sp_core::traits::SpawnEssentialNamed,
registry: Option<&substrate_prometheus_endpoint::Registry>,
@@ -117,11 +119,5 @@ where
{
let verifier = Verifier::new(client, create_inherent_data_providers);
- Ok(BasicQueue::new(
- verifier,
- Box::new(cumulus_client_consensus_common::ParachainBlockImport::new(block_import)),
- None,
- spawner,
- registry,
- ))
+ Ok(BasicQueue::new(verifier, Box::new(block_import), None, spawner, registry))
}
diff --git a/client/consensus/relay-chain/src/lib.rs b/client/consensus/relay-chain/src/lib.rs
index 20d3b7cc75..decef37397 100644
--- a/client/consensus/relay-chain/src/lib.rs
+++ b/client/consensus/relay-chain/src/lib.rs
@@ -90,16 +90,14 @@ where
para_id: ParaId,
proposer_factory: PF,
create_inherent_data_providers: CIDP,
- block_import: BI,
+ block_import: ParachainBlockImport,
relay_chain_interface: RCInterface,
) -> Self {
Self {
para_id,
proposer_factory: Arc::new(Mutex::new(proposer_factory)),
create_inherent_data_providers: Arc::new(create_inherent_data_providers),
- block_import: Arc::new(futures::lock::Mutex::new(ParachainBlockImport::new(
- block_import,
- ))),
+ block_import: Arc::new(futures::lock::Mutex::new(block_import)),
relay_chain_interface,
_phantom: PhantomData,
}
@@ -222,7 +220,7 @@ pub struct BuildRelayChainConsensusParams {
pub para_id: ParaId,
pub proposer_factory: PF,
pub create_inherent_data_providers: CIDP,
- pub block_import: BI,
+ pub block_import: ParachainBlockImport,
pub relay_chain_interface: RCInterface,
}
diff --git a/client/network/Cargo.toml b/client/network/Cargo.toml
index 76b75fbd57..90795bf60a 100644
--- a/client/network/Cargo.toml
+++ b/client/network/Cargo.toml
@@ -6,12 +6,12 @@ description = "Cumulus-specific networking protocol"
edition = "2021"
[dependencies]
-async-trait = "0.1.57"
+async-trait = "0.1.58"
codec = { package = "parity-scale-codec", version = "3.0.0", features = [ "derive" ] }
futures = "0.3.24"
futures-timer = "3.0.2"
parking_lot = "0.12.1"
-tracing = "0.1.36"
+tracing = "0.1.37"
# Substrate
sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
@@ -31,7 +31,7 @@ cumulus-relay-chain-interface = { path = "../relay-chain-interface" }
[dev-dependencies]
portpicker = "0.1.1"
-tokio = { version = "1.21.1", features = ["macros"] }
+tokio = { version = "1.21.2", features = ["macros"] }
url = "2.3.1"
# Substrate
diff --git a/client/network/src/tests.rs b/client/network/src/tests.rs
index c2093c75ad..cef327b876 100644
--- a/client/network/src/tests.rs
+++ b/client/network/src/tests.rs
@@ -174,7 +174,7 @@ impl RelayChainInterface for DummyRelayChainInterface {
Ok(false)
}
- fn overseer_handle(&self) -> RelayChainResult