> + Hash + Member + Encode + Decode,
{
- let worker =
- sc_consensus_aura::build_aura_worker::(BuildAuraWorkerParams {
+ let worker = sc_consensus_aura::build_aura_worker::
(
+ BuildAuraWorkerParams {
client: para_client,
block_import: ParachainBlockImport::new(block_import),
justification_sync_link: (),
@@ -151,7 +151,8 @@ where
telemetry,
block_proposal_slot_portion,
max_block_proposal_slot_portion,
- });
+ },
+ );
Self {
create_inherent_data_providers: Arc::new(create_inherent_data_providers),
diff --git a/client/consensus/common/Cargo.toml b/client/consensus/common/Cargo.toml
index cfbf5282909..8672b59f637 100644
--- a/client/consensus/common/Cargo.toml
+++ b/client/consensus/common/Cargo.toml
@@ -7,20 +7,21 @@ edition = "2018"
[dependencies]
# Substrate deps
-sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-inherents = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-block-builder = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-trie = { git = "https://github.com/paritytech/substrate", branch = "master" }
-substrate-prometheus-endpoint = { git = "https://github.com/paritytech/substrate", branch = "master" }
+sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-inherents = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-block-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-trie = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+substrate-prometheus-endpoint = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
# Polkadot deps
-polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "master" }
-polkadot-runtime = { git = "https://github.com/paritytech/polkadot", branch = "master" }
+polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
+polkadot-runtime = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
# Other deps
futures = { version = "0.3.8", features = ["compat"] }
@@ -31,10 +32,10 @@ dyn-clone = "1.0.4"
[dev-dependencies]
# Substrate deps
-sp-tracing = { git = "https://github.com/paritytech/substrate", branch = "master" }
-substrate-test-utils = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-service = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-cli = { git = "https://github.com/paritytech/substrate", branch = "master" }
+sp-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+substrate-test-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-service = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
# Cumulus dependencies
cumulus-test-runtime = { path = "../../../test/runtime" }
@@ -43,7 +44,7 @@ cumulus-test-service = { path = "../../../test/service" }
cumulus-primitives-core = { path = "../../../primitives/core" }
# Polkadot deps
-polkadot-test-client = { git = "https://github.com/paritytech/polkadot", branch = "master" }
+polkadot-test-client = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
# Other deps
tokio = { version = "0.2.21", features = ["macros"] }
diff --git a/client/consensus/common/src/lib.rs b/client/consensus/common/src/lib.rs
index bba1a4d9347..843020a36b0 100644
--- a/client/consensus/common/src/lib.rs
+++ b/client/consensus/common/src/lib.rs
@@ -15,7 +15,7 @@
// along with Cumulus. If not, see .
use polkadot_primitives::v1::{Hash as PHash, PersistedValidationData};
-use sp_consensus::BlockImport;
+use sc_consensus::BlockImport;
use sp_runtime::traits::Block as BlockT;
mod parachain_consensus;
@@ -96,19 +96,19 @@ where
async fn check_block(
&mut self,
- block: sp_consensus::BlockCheckParams,
- ) -> Result {
+ block: sc_consensus::BlockCheckParams,
+ ) -> Result {
self.0.check_block(block).await
}
async fn import_block(
&mut self,
- mut block_import_params: sp_consensus::BlockImportParams,
- cache: std::collections::HashMap>,
- ) -> Result {
+ mut block_import_params: sc_consensus::BlockImportParams,
+ cache: std::collections::HashMap>,
+ ) -> Result {
// Best block is determined by the relay chain, or if we are doing the intial sync
// we import all blocks as new best.
- block_import_params.fork_choice = Some(sp_consensus::ForkChoiceStrategy::Custom(
+ block_import_params.fork_choice = Some(sc_consensus::ForkChoiceStrategy::Custom(
block_import_params.origin == sp_consensus::BlockOrigin::NetworkInitialSync,
));
self.0.import_block(block_import_params, cache).await
diff --git a/client/consensus/common/src/parachain_consensus.rs b/client/consensus/common/src/parachain_consensus.rs
index 6373563d467..7b23bc7cbb5 100644
--- a/client/consensus/common/src/parachain_consensus.rs
+++ b/client/consensus/common/src/parachain_consensus.rs
@@ -17,9 +17,10 @@
use sc_client_api::{
Backend, BlockBackend, BlockImportNotification, BlockchainEvents, Finalizer, UsageProvider,
};
+use sc_consensus::{BlockImport, BlockImportParams, ForkChoiceStrategy};
use sp_api::ProvideRuntimeApi;
use sp_blockchain::{Error as ClientError, Result as ClientResult};
-use sp_consensus::{BlockImport, BlockImportParams, BlockOrigin, BlockStatus, ForkChoiceStrategy};
+use sp_consensus::{BlockOrigin, BlockStatus};
use sp_runtime::{
generic::BlockId,
traits::{Block as BlockT, Header as HeaderT},
@@ -346,6 +347,18 @@ where
P: UsageProvider + Send + Sync + BlockBackend,
for<'a> &'a P: BlockImport,
{
+ let best_number = parachain.usage_info().chain.best_number;
+ if *header.number() < best_number {
+ tracing::debug!(
+ target: "cumulus-consensus",
+ %best_number,
+ block_number = %header.number(),
+ "Skipping importing block as new best block, because there already exists a \
+ best block with an higher number",
+ );
+ return;
+ }
+
// Make it the new best block
let mut block_import_params = BlockImportParams::new(BlockOrigin::ConsensusBroadcast, header);
block_import_params.fork_choice = Some(ForkChoiceStrategy::Custom(true));
diff --git a/client/consensus/common/src/tests.rs b/client/consensus/common/src/tests.rs
index 7f6b2d6df49..4093c2ec648 100644
--- a/client/consensus/common/src/tests.rs
+++ b/client/consensus/common/src/tests.rs
@@ -19,14 +19,15 @@ use crate::*;
use codec::Encode;
use cumulus_test_client::{
runtime::{Block, Header},
- Client, InitBlockBuilder, TestClientBuilder, TestClientBuilderExt,
+ Backend, Client, InitBlockBuilder, TestClientBuilder, TestClientBuilderExt,
};
use futures::{channel::mpsc, executor::block_on, select, FutureExt, Stream, StreamExt};
use futures_timer::Delay;
use polkadot_primitives::v1::{Block as PBlock, Id as ParaId};
use sc_client_api::UsageProvider;
+use sc_consensus::{BlockImport, BlockImportParams, ForkChoiceStrategy};
use sp_blockchain::{Error as ClientError, Result as ClientResult};
-use sp_consensus::{BlockImport, BlockImportParams, BlockOrigin, ForkChoiceStrategy};
+use sp_consensus::BlockOrigin;
use sp_runtime::generic::BlockId;
use std::{
sync::{Arc, Mutex},
@@ -101,18 +102,17 @@ impl crate::parachain_consensus::RelaychainClient for Relaychain {
}
}
-fn build_and_import_block(mut client: Arc) -> Block {
+fn build_and_import_block(mut client: Arc, import_as_best: bool) -> Block {
let builder = client.init_block_builder(None, Default::default());
let block = builder.build().unwrap().block;
let (header, body) = block.clone().deconstruct();
let mut block_import_params = BlockImportParams::new(BlockOrigin::Own, header);
- block_import_params.fork_choice = Some(ForkChoiceStrategy::Custom(false));
+ block_import_params.fork_choice = Some(ForkChoiceStrategy::Custom(import_as_best));
block_import_params.body = Some(body);
block_on(client.import_block(block_import_params, Default::default())).unwrap();
- assert_eq!(0, client.chain_info().best_number);
block
}
@@ -123,7 +123,7 @@ fn follow_new_best_works() {
let client = Arc::new(TestClientBuilder::default().build());
- let block = build_and_import_block(client.clone());
+ let block = build_and_import_block(client.clone(), false);
let relay_chain = Relaychain::new();
let new_best_heads_sender = relay_chain
.inner
@@ -164,7 +164,7 @@ fn follow_finalized_works() {
let client = Arc::new(TestClientBuilder::default().build());
- let block = build_and_import_block(client.clone());
+ let block = build_and_import_block(client.clone(), false);
let relay_chain = Relaychain::new();
let finalized_sender = relay_chain
.inner
@@ -205,7 +205,7 @@ fn follow_finalized_does_not_stop_on_unknown_block() {
let client = Arc::new(TestClientBuilder::default().build());
- let block = build_and_import_block(client.clone());
+ let block = build_and_import_block(client.clone(), false);
let unknown_block = {
let block_builder =
@@ -264,7 +264,7 @@ fn follow_new_best_sets_best_after_it_is_imported() {
let mut client = Arc::new(TestClientBuilder::default().build());
- let block = build_and_import_block(client.clone());
+ let block = build_and_import_block(client.clone(), false);
let unknown_block = {
let block_builder =
@@ -336,3 +336,61 @@ fn follow_new_best_sets_best_after_it_is_imported() {
}
});
}
+
+/// When we import a new best relay chain block, we extract the best parachain block from it and set
+/// it. This works when we follow the relay chain and parachain at the tip of each other, but there
+/// can be race conditions when we are doing a full sync of both or just the relay chain.
+/// The problem is that we import parachain blocks as best as long as we are in major sync. So, we
+/// could import block 100 as best and then import a relay chain block that says that block 99 is
+/// the best parachain block. This should not happen, we should never set the best block to a lower
+/// block number.
+#[test]
+fn do_not_set_best_block_to_older_block() {
+ const NUM_BLOCKS: usize = 4;
+
+ sp_tracing::try_init_simple();
+
+ let backend = Arc::new(Backend::new_test(1000, 1));
+
+ let client = Arc::new(TestClientBuilder::with_backend(backend).build());
+
+ let blocks = (0..NUM_BLOCKS)
+ .into_iter()
+ .map(|_| build_and_import_block(client.clone(), true))
+ .collect::>();
+
+ assert_eq!(NUM_BLOCKS as u32, client.usage_info().chain.best_number);
+
+ let relay_chain = Relaychain::new();
+ let new_best_heads_sender = relay_chain
+ .inner
+ .lock()
+ .unwrap()
+ .new_best_heads_sender
+ .clone();
+
+ let consensus =
+ run_parachain_consensus(100.into(), client.clone(), relay_chain, Arc::new(|_, _| {}));
+
+ let client2 = client.clone();
+ let work = async move {
+ new_best_heads_sender
+ .unbounded_send(blocks[NUM_BLOCKS - 2].header().clone())
+ .unwrap();
+ // Wait for it to be processed.
+ Delay::new(Duration::from_millis(300)).await;
+ };
+
+ block_on(async move {
+ futures::pin_mut!(consensus);
+ futures::pin_mut!(work);
+
+ select! {
+ r = consensus.fuse() => panic!("Consensus should not end: {:?}", r),
+ _ = work.fuse() => {},
+ }
+ });
+
+ // Build and import a new best block.
+ build_and_import_block(client2.clone(), true);
+}
diff --git a/client/consensus/relay-chain/Cargo.toml b/client/consensus/relay-chain/Cargo.toml
index cb782025b71..6eb5225f98f 100644
--- a/client/consensus/relay-chain/Cargo.toml
+++ b/client/consensus/relay-chain/Cargo.toml
@@ -7,18 +7,19 @@ edition = "2018"
[dependencies]
# Substrate deps
-sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-inherents = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-block-builder = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
-substrate-prometheus-endpoint = { git = "https://github.com/paritytech/substrate", branch = "master" }
+sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-inherents = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-block-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+substrate-prometheus-endpoint = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
# Polkadot dependencies
-polkadot-client = { git = "https://github.com/paritytech/polkadot", branch = "master" }
+polkadot-client = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
# Cumulus dependencies
cumulus-client-consensus-common = { path = "../common" }
diff --git a/client/consensus/relay-chain/src/import_queue.rs b/client/consensus/relay-chain/src/import_queue.rs
index f7a25f3da52..ea9fc5bef50 100644
--- a/client/consensus/relay-chain/src/import_queue.rs
+++ b/client/consensus/relay-chain/src/import_queue.rs
@@ -16,19 +16,18 @@
use std::{marker::PhantomData, sync::Arc};
+use sc_consensus::{
+ import_queue::{BasicQueue, Verifier as VerifierT},
+ BlockImport, BlockImportParams,
+};
use sp_api::ProvideRuntimeApi;
use sp_block_builder::BlockBuilder as BlockBuilderApi;
use sp_blockchain::Result as ClientResult;
-use sp_consensus::{
- error::Error as ConsensusError,
- import_queue::{BasicQueue, CacheKeyId, Verifier as VerifierT},
- BlockImport, BlockImportParams, BlockOrigin,
-};
+use sp_consensus::{error::Error as ConsensusError, CacheKeyId};
use sp_inherents::{CreateInherentDataProviders, InherentDataProvider};
use sp_runtime::{
generic::BlockId,
traits::{Block as BlockT, Header as HeaderT},
- Justifications,
};
/// A verifier that just checks the inherents.
@@ -59,10 +58,7 @@ where
{
async fn verify(
&mut self,
- origin: BlockOrigin,
- header: Block::Header,
- justifications: Option,
- mut body: Option>,
+ mut block_params: BlockImportParams,
) -> Result<
(
BlockImportParams,
@@ -70,10 +66,10 @@ where
),
String,
> {
- if let Some(inner_body) = body.take() {
+ if let Some(inner_body) = block_params.body.take() {
let inherent_data_providers = self
.create_inherent_data_providers
- .create_inherent_data_providers(*header.parent_hash(), ())
+ .create_inherent_data_providers(*block_params.header.parent_hash(), ())
.await
.map_err(|e| e.to_string())?;
@@ -81,13 +77,13 @@ where
.create_inherent_data()
.map_err(|e| format!("{:?}", e))?;
- let block = Block::new(header.clone(), inner_body);
+ let block = Block::new(block_params.header.clone(), inner_body);
let inherent_res = self
.client
.runtime_api()
.check_inherents(
- &BlockId::Hash(*header.parent_hash()),
+ &BlockId::Hash(*block.header().parent_hash()),
block.clone(),
inherent_data,
)
@@ -106,17 +102,12 @@ where
}
let (_, inner_body) = block.deconstruct();
- body = Some(inner_body);
+ block_params.body = Some(inner_body);
}
- let post_hash = Some(header.hash());
- let mut block_import_params = BlockImportParams::new(origin, header);
- block_import_params.body = body;
- block_import_params.justifications = justifications;
-
- block_import_params.post_hash = post_hash;
+ block_params.post_hash = Some(block_params.header.hash());
- Ok((block_import_params, None))
+ Ok((block_params, None))
}
}
diff --git a/client/consensus/relay-chain/src/lib.rs b/client/consensus/relay-chain/src/lib.rs
index 782080bf7a7..7e1f7d85509 100644
--- a/client/consensus/relay-chain/src/lib.rs
+++ b/client/consensus/relay-chain/src/lib.rs
@@ -43,10 +43,10 @@ use cumulus_primitives_core::{
use parking_lot::Mutex;
use polkadot_client::ClientHandle;
use sc_client_api::Backend;
+use sc_consensus::{BlockImport, BlockImportParams};
use sp_api::ProvideRuntimeApi;
use sp_consensus::{
- BlockImport, BlockImportParams, BlockOrigin, EnableProofRecording, Environment, ProofRecording,
- Proposal, Proposer,
+ BlockOrigin, EnableProofRecording, Environment, ProofRecording, Proposal, Proposer,
};
use sp_inherents::{CreateInherentDataProviders, InherentData, InherentDataProvider};
use sp_runtime::traits::{Block as BlockT, HashFor, Header as HeaderT};
@@ -208,8 +208,8 @@ where
let mut block_import_params = BlockImportParams::new(BlockOrigin::Own, header);
block_import_params.body = Some(extrinsics);
- block_import_params.state_action = sp_consensus::StateAction::ApplyChanges(
- sp_consensus::StorageChanges::Changes(storage_changes)
+ block_import_params.state_action = sc_consensus::StateAction::ApplyChanges(
+ sc_consensus::StorageChanges::Changes(storage_changes),
);
if let Err(err) = self
diff --git a/client/network/Cargo.toml b/client/network/Cargo.toml
index a63d9a90e5f..a9de5286ee9 100644
--- a/client/network/Cargo.toml
+++ b/client/network/Cargo.toml
@@ -7,19 +7,19 @@ edition = "2018"
[dependencies]
# Substrate deps
-sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
+sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
# Polkadot deps
-polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "master" }
-polkadot-statement-table = { git = "https://github.com/paritytech/polkadot", branch = "master" }
-polkadot-node-primitives = { git = "https://github.com/paritytech/polkadot", branch = "master" }
-polkadot-client = { git = "https://github.com/paritytech/polkadot", branch = "master" }
-polkadot-parachain = { git = "https://github.com/paritytech/polkadot", branch = "master" }
+polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
+polkadot-statement-table = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
+polkadot-node-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
+polkadot-client = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
+polkadot-parachain = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
# other deps
codec = { package = "parity-scale-codec", version = "2.0.0", features = [ "derive" ] }
@@ -37,14 +37,14 @@ cumulus-test-service = { path = "../../test/service" }
cumulus-primitives-core = { path = "../../primitives/core" }
# Polkadot deps
-polkadot-test-client = { git = "https://github.com/paritytech/polkadot", branch = "master" }
+polkadot-test-client = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
# substrate deps
-sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-keyring = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-cli = { git = "https://github.com/paritytech/substrate", branch = "master" }
-substrate-test-utils = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-service = { git = "https://github.com/paritytech/substrate", branch = "master" }
+sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-keyring = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+substrate-test-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-service = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
diff --git a/client/network/src/lib.rs b/client/network/src/lib.rs
index 685007e1806..74479c9d0d9 100644
--- a/client/network/src/lib.rs
+++ b/client/network/src/lib.rs
@@ -33,7 +33,7 @@ use sp_runtime::{
traits::{Block as BlockT, HashFor, Header as HeaderT},
};
-use polkadot_node_primitives::{SignedFullStatement, Statement};
+use polkadot_node_primitives::{SignedFullStatement, Statement, CollationSecondedSignal};
use polkadot_parachain::primitives::HeadData;
use polkadot_primitives::v1::{
Block as PBlock, Hash as PHash, CandidateReceipt, CompactStatement, Id as ParaId,
@@ -530,7 +530,7 @@ impl WaitToAnnounce {
pub fn wait_to_announce(
&mut self,
block_hash: ::Hash,
- signed_stmt_recv: oneshot::Receiver,
+ signed_stmt_recv: oneshot::Receiver,
) {
let announce_block = self.announce_block.clone();
@@ -557,10 +557,10 @@ impl WaitToAnnounce {
async fn wait_to_announce(
block_hash: ::Hash,
announce_block: Arc>) + Send + Sync>,
- signed_stmt_recv: oneshot::Receiver,
+ signed_stmt_recv: oneshot::Receiver,
) {
let statement = match signed_stmt_recv.await {
- Ok(s) => s,
+ Ok(s) => s.statement,
Err(_) => {
tracing::debug!(
target: "cumulus-network",
diff --git a/client/pov-recovery/Cargo.toml b/client/pov-recovery/Cargo.toml
index 0af05ea452f..f34017b7cd3 100644
--- a/client/pov-recovery/Cargo.toml
+++ b/client/pov-recovery/Cargo.toml
@@ -7,18 +7,19 @@ edition = "2018"
[dependencies]
# Substrate deps
-sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-maybe-compressed-blob = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
+sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-maybe-compressed-blob = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
# Polkadot deps
-polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "master" }
-polkadot-node-primitives = { git = "https://github.com/paritytech/polkadot", branch = "master" }
-polkadot-overseer = { git = "https://github.com/paritytech/polkadot", branch = "master" }
-polkadot-node-subsystem = { git = "https://github.com/paritytech/polkadot", branch = "master" }
+polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
+polkadot-node-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
+polkadot-overseer = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
+polkadot-node-subsystem = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
# Cumulus deps
cumulus-primitives-core = { path = "../../primitives/core" }
@@ -37,14 +38,13 @@ tokio = { version = "0.2.21", features = ["macros"] }
cumulus-test-service = { path = "../../test/service" }
# Polkadot deps
-polkadot-test-client = { git = "https://github.com/paritytech/polkadot", branch = "master" }
+polkadot-test-client = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
# substrate deps
-sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-keyring = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-cli = { git = "https://github.com/paritytech/substrate", branch = "master" }
-substrate-test-utils = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-service = { git = "https://github.com/paritytech/substrate", branch = "master" }
+sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-keyring = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+substrate-test-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-service = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
diff --git a/client/pov-recovery/src/active_candidate_recovery.rs b/client/pov-recovery/src/active_candidate_recovery.rs
index 1a2f5d81584..42384e0d289 100644
--- a/client/pov-recovery/src/active_candidate_recovery.rs
+++ b/client/pov-recovery/src/active_candidate_recovery.rs
@@ -18,7 +18,7 @@ use sp_runtime::traits::Block as BlockT;
use polkadot_node_primitives::AvailableData;
use polkadot_node_subsystem::messages::AvailabilityRecoveryMessage;
-use polkadot_overseer::OverseerHandler;
+use polkadot_overseer::Handle as OverseerHandle;
use futures::{channel::oneshot, stream::FuturesUnordered, Future, FutureExt, StreamExt};
@@ -34,15 +34,15 @@ pub(crate) struct ActiveCandidateRecovery {
>,
/// The block hashes of the candidates currently being recovered.
candidates: HashSet,
- overseer_handler: OverseerHandler,
+ overseer_handle: OverseerHandle,
}
impl ActiveCandidateRecovery {
- pub fn new(overseer_handler: OverseerHandler) -> Self {
+ pub fn new(overseer_handle: OverseerHandle) -> Self {
Self {
recoveries: Default::default(),
candidates: Default::default(),
- overseer_handler,
+ overseer_handle,
}
}
@@ -54,7 +54,7 @@ impl ActiveCandidateRecovery {
) {
let (tx, rx) = oneshot::channel();
- self.overseer_handler
+ self.overseer_handle
.send_msg(
AvailabilityRecoveryMessage::RecoverAvailableData(
pending_candidate.receipt,
diff --git a/client/pov-recovery/src/lib.rs b/client/pov-recovery/src/lib.rs
index 4e979a255f6..24c2e3b580f 100644
--- a/client/pov-recovery/src/lib.rs
+++ b/client/pov-recovery/src/lib.rs
@@ -43,18 +43,16 @@
//! make sure that the blocks are imported in the correct order.
use sc_client_api::{BlockBackend, BlockchainEvents, UsageProvider};
+use sc_consensus::import_queue::{ImportQueue, IncomingBlock};
use sp_api::ProvideRuntimeApi;
-use sp_consensus::{
- import_queue::{ImportQueue, IncomingBlock},
- BlockOrigin, BlockStatus,
-};
+use sp_consensus::{BlockOrigin, BlockStatus};
use sp_runtime::{
generic::BlockId,
traits::{Block as BlockT, Header as HeaderT, NumberFor},
};
use polkadot_node_primitives::{AvailableData, POV_BOMB_LIMIT};
-use polkadot_overseer::OverseerHandler;
+use polkadot_overseer::Handle as OverseerHandle;
use polkadot_primitives::v1::{
Block as PBlock, CandidateReceipt, CommittedCandidateReceipt, Id as ParaId, ParachainHost,
SessionIndex,
@@ -117,7 +115,7 @@ where
{
/// Create a new instance.
pub fn new(
- overseer_handler: OverseerHandler,
+ overseer_handle: OverseerHandle,
relay_chain_slot_duration: Duration,
parachain_client: Arc,
parachain_import_queue: IQ,
@@ -127,7 +125,7 @@ where
Self {
pending_candidates: HashMap::new(),
next_candidate_to_recover: Default::default(),
- active_candidate_recovery: ActiveCandidateRecovery::new(overseer_handler),
+ active_candidate_recovery: ActiveCandidateRecovery::new(overseer_handle),
relay_chain_slot_duration,
waiting_for_parent: HashMap::new(),
parachain_client,
@@ -354,6 +352,7 @@ where
origin: None,
skip_execution: false,
state: None,
+ indexed_body: None,
});
if let Some(waiting) = self.waiting_for_parent.remove(&block_hash) {
diff --git a/client/service/Cargo.toml b/client/service/Cargo.toml
index b4e1924c7f0..db17155015d 100644
--- a/client/service/Cargo.toml
+++ b/client/service/Cargo.toml
@@ -12,22 +12,23 @@ cumulus-client-pov-recovery = { path = "../pov-recovery" }
cumulus-primitives-core = { path = "../../primitives/core" }
# Substrate dependencies
-sc-chain-spec = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-service = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-telemetry = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-tracing = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-consensus-babe = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "master" }
+sc-chain-spec = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-service = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-telemetry = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-consensus-babe = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
# Polkadot dependencies
-polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "master" }
-polkadot-service = { git = "https://github.com/paritytech/polkadot", branch = "master" }
-polkadot-overseer = { git = "https://github.com/paritytech/polkadot", branch = "master" }
+polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
+polkadot-service = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
+polkadot-overseer = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
# Other deps
tracing = "0.1.22"
diff --git a/client/service/src/lib.rs b/client/service/src/lib.rs
index 6db45b5e1fa..0262bca4881 100644
--- a/client/service/src/lib.rs
+++ b/client/service/src/lib.rs
@@ -20,20 +20,21 @@
use cumulus_client_consensus_common::ParachainConsensus;
use cumulus_primitives_core::{CollectCollationInfo, ParaId};
-use polkadot_overseer::OverseerHandler;
+use polkadot_overseer::Handle as OverseerHandle;
use polkadot_primitives::v1::{Block as PBlock, CollatorPair};
use polkadot_service::{AbstractClient, Client as PClient, ClientHandle, RuntimeApiCollection};
use sc_client_api::{
Backend as BackendT, BlockBackend, BlockchainEvents, Finalizer, UsageProvider,
};
+use sc_consensus::{
+ import_queue::{ImportQueue, IncomingBlock, Link, Origin},
+ BlockImport,
+};
use sc_service::{Configuration, Role, TaskManager};
use sc_telemetry::TelemetryWorkerHandle;
use sp_api::ProvideRuntimeApi;
use sp_blockchain::HeaderBackend;
-use sp_consensus::{
- import_queue::{ImportQueue, IncomingBlock, Link, Origin},
- BlockImport, BlockOrigin,
-};
+use sp_consensus::BlockOrigin;
use sp_core::{traits::SpawnNamed, Pair};
use sp_runtime::{
traits::{BlakeTwo256, Block as BlockT, NumberFor},
@@ -118,27 +119,27 @@ where
});
relay_chain_full_node
- .client
- .execute_with(StartPoVRecovery {
- para_id,
- client: client.clone(),
- import_queue,
- task_manager,
- overseer_handler: relay_chain_full_node
- .overseer_handler
+ .client
+ .execute_with(StartPoVRecovery {
+ para_id,
+ client: client.clone(),
+ import_queue,
+ task_manager,
+ overseer_handle: relay_chain_full_node
+ .overseer_handle
.clone()
- .ok_or_else(|| "Polkadot full node did not provided an `OverseerHandler`!")?,
- _phantom: PhantomData,
- })?;
+ .ok_or_else(|| "Polkadot full node did not provide an `OverseerHandle`!")?,
+ _phantom: PhantomData,
+ })?;
cumulus_client_collator::start_collator(cumulus_client_collator::StartCollatorParams {
runtime_api: client.clone(),
block_status,
announce_block,
- overseer_handler: relay_chain_full_node
- .overseer_handler
+ overseer_handle: relay_chain_full_node
+ .overseer_handle
.clone()
- .ok_or_else(|| "Polkadot full node did not provided an `OverseerHandler`!")?,
+ .ok_or_else(|| "Polkadot full node did not provide an `OverseerHandle`!")?,
spawner,
para_id,
key: relay_chain_full_node.collator_key.clone(),
@@ -248,7 +249,7 @@ struct StartPoVRecovery<'a, Block: BlockT, Client, IQ> {
para_id: ParaId,
client: Arc,
task_manager: &'a mut TaskManager,
- overseer_handler: OverseerHandler,
+ overseer_handle: OverseerHandle,
import_queue: IQ,
_phantom: PhantomData,
}
@@ -276,7 +277,7 @@ where
PClient: AbstractClient + 'static,
{
let pov_recovery = cumulus_client_pov_recovery::PoVRecovery::new(
- self.overseer_handler,
+ self.overseer_handle,
sc_consensus_babe::Config::get_or_compute(&*client)?.slot_duration(),
self.client,
self.import_queue,
diff --git a/pallets/aura-ext/Cargo.toml b/pallets/aura-ext/Cargo.toml
index 375977a8245..7e25975597c 100644
--- a/pallets/aura-ext/Cargo.toml
+++ b/pallets/aura-ext/Cargo.toml
@@ -7,14 +7,14 @@ description = "AURA consensus extension pallet for parachains"
[dependencies]
# Substrate dependencies
-frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-frame-system = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-frame-executive = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-pallet-aura = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-consensus-aura = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-application-crypto = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
+frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+frame-system = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+frame-executive = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+pallet-aura = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-consensus-aura = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-application-crypto = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
# Other Dependencies
codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"]}
diff --git a/pallets/collator-selection/Cargo.toml b/pallets/collator-selection/Cargo.toml
index 0d8c0179556..ea8da123a5e 100644
--- a/pallets/collator-selection/Cargo.toml
+++ b/pallets/collator-selection/Cargo.toml
@@ -16,25 +16,25 @@ targets = ['x86_64-unknown-linux-gnu']
log = { version = "0.4.0", default-features = false }
codec = { default-features = false, features = ['derive'], package = 'parity-scale-codec', version = '2.0.0' }
serde = { version = "1.0.119", default-features = false }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
-sp-staking = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
-pallet-authorship = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
-pallet-session = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+sp-staking = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+pallet-authorship = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+pallet-session = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
[dev-dependencies]
-sp-core = { git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
-sp-io = { git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
-sp-tracing = { git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
-sp-runtime = { git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
-pallet-timestamp = { git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
-sp-consensus-aura = { git = 'https://github.com/paritytech/substrate', branch = "master", version = '0.9.0' }
-pallet-balances = { git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
-pallet-aura = { git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
+sp-core = { git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+sp-io = { git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+sp-tracing = { git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+sp-runtime = { git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+pallet-timestamp = { git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+sp-consensus-aura = { git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+pallet-balances = { git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+pallet-aura = { git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
[features]
default = ['std']
diff --git a/pallets/collator-selection/src/mock.rs b/pallets/collator-selection/src/mock.rs
index bbc63295814..b5555357456 100644
--- a/pallets/collator-selection/src/mock.rs
+++ b/pallets/collator-selection/src/mock.rs
@@ -55,7 +55,7 @@ parameter_types! {
}
impl system::Config for Test {
- type BaseCallFilter = ();
+ type BaseCallFilter = frame_support::traits::Everything;
type BlockWeights = ();
type BlockLength = ();
type DbWeight = ();
@@ -126,6 +126,7 @@ impl pallet_timestamp::Config for Test {
impl pallet_aura::Config for Test {
type AuthorityId = sp_consensus_aura::sr25519::AuthorityId;
+ type DisabledValidators = ();
}
sp_runtime::impl_opaque_keys! {
diff --git a/pallets/dmp-queue/Cargo.toml b/pallets/dmp-queue/Cargo.toml
index e1f4447730c..86657a3d290 100644
--- a/pallets/dmp-queue/Cargo.toml
+++ b/pallets/dmp-queue/Cargo.toml
@@ -12,22 +12,22 @@ rand = { version = "0.8.3", default-features = false }
rand_chacha = { version = "0.3.0", default-features = false }
# Substrate Dependencies
-sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-io = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-frame-system = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
+sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-io = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+frame-system = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
# Polkadot Dependencies
-xcm = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "master" }
-xcm-executor = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "master" }
+xcm = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.9" }
+xcm-executor = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.9" }
# Cumulus Dependencies
cumulus-primitives-core = { path = "../../primitives/core", default-features = false }
[dev-dependencies]
-sp-core = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-version = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
+sp-core = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-version = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
[features]
default = [ "std" ]
diff --git a/pallets/dmp-queue/src/lib.rs b/pallets/dmp-queue/src/lib.rs
index a0eb91a8788..01bd6b5d96a 100644
--- a/pallets/dmp-queue/src/lib.rs
+++ b/pallets/dmp-queue/src/lib.rs
@@ -396,7 +396,7 @@ mod tests {
type OnNewAccount = ();
type OnKilledAccount = ();
type DbWeight = ();
- type BaseCallFilter = ();
+ type BaseCallFilter = frame_support::traits::Everything;
type SystemWeightInfo = ();
type SS58Prefix = ();
type OnSetCode = ();
diff --git a/pallets/parachain-system/Cargo.toml b/pallets/parachain-system/Cargo.toml
index 3c16f9ad0b2..2c7a50e564f 100644
--- a/pallets/parachain-system/Cargo.toml
+++ b/pallets/parachain-system/Cargo.toml
@@ -12,22 +12,22 @@ cumulus-primitives-parachain-inherent = { path = "../../primitives/parachain-inh
cumulus-pallet-parachain-system-proc-macro = { path = "proc-macro", default-features = false }
# Polkadot dependencies
-polkadot-parachain = { git = "https://github.com/paritytech/polkadot", default-features = false, features = [ "wasm-api" ], branch = "master" }
-xcm = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "master" }
+polkadot-parachain = { git = "https://github.com/paritytech/polkadot", default-features = false, features = [ "wasm-api" ], branch = "release-v0.9.9" }
+xcm = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.9" }
# Substrate dependencies
-frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-pallet-balances = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-core = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-inherents = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-io = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-version = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-frame-system = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-state-machine = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-trie = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-externalities = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
+frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+pallet-balances = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-core = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-inherents = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-io = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-version = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+frame-system = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-state-machine = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-trie = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-externalities = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
# Other Dependencies
codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"]}
@@ -41,10 +41,10 @@ hex-literal = "0.2.1"
lazy_static = "1.4"
# Substrate dependencies
-sp-version = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-keyring = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-tracing = { git = "https://github.com/paritytech/substrate", branch = "master" }
+sp-version = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-keyring = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
# Cumulus dependencies
cumulus-test-client = { path = "../../test/client" }
diff --git a/pallets/parachain-system/src/lib.rs b/pallets/parachain-system/src/lib.rs
index 6280e53e53d..02b15911a80 100644
--- a/pallets/parachain-system/src/lib.rs
+++ b/pallets/parachain-system/src/lib.rs
@@ -595,6 +595,29 @@ pub mod pallet {
sp_io::storage::set(b":c", &[]);
}
}
+
+ #[pallet::validate_unsigned]
+ impl sp_runtime::traits::ValidateUnsigned for Pallet {
+ type Call = Call;
+
+ fn validate_unsigned(_source: TransactionSource, call: &Self::Call) -> TransactionValidity {
+ if let Call::enact_authorized_upgrade(ref code) = call {
+ if let Ok(hash) = Self::validate_authorized_upgrade(code) {
+ return Ok(ValidTransaction {
+ priority: 100,
+ requires: vec![],
+ provides: vec![hash.as_ref().to_vec()],
+ longevity: TransactionLongevity::max_value(),
+ propagate: true,
+ });
+ }
+ }
+ if let Call::set_validation_data(..) = call {
+ return Ok(Default::default());
+ }
+ Err(InvalidTransaction::Call.into())
+ }
+ }
}
impl Pallet {
@@ -606,28 +629,6 @@ impl Pallet {
}
}
-impl sp_runtime::traits::ValidateUnsigned for Pallet {
- type Call = Call;
-
- fn validate_unsigned(_source: TransactionSource, call: &Self::Call) -> TransactionValidity {
- if let Call::enact_authorized_upgrade(ref code) = call {
- if let Ok(hash) = Self::validate_authorized_upgrade(code) {
- return Ok(ValidTransaction {
- priority: 100,
- requires: vec![],
- provides: vec![hash.as_ref().to_vec()],
- longevity: TransactionLongevity::max_value(),
- propagate: true,
- });
- }
- }
- if let Call::set_validation_data(..) = call {
- return Ok(Default::default());
- }
- Err(InvalidTransaction::Call.into())
- }
-}
-
impl GetChannelInfo for Pallet {
fn get_channel_status(id: ParaId) -> ChannelStatus {
// Note, that we are using `relevant_messaging_state` which may be from the previous
diff --git a/pallets/parachain-system/src/tests.rs b/pallets/parachain-system/src/tests.rs
index 2bfc1c0c610..3108f870a93 100755
--- a/pallets/parachain-system/src/tests.rs
+++ b/pallets/parachain-system/src/tests.rs
@@ -49,7 +49,7 @@ frame_support::construct_runtime!(
UncheckedExtrinsic = UncheckedExtrinsic,
{
System: frame_system::{Pallet, Call, Config, Storage, Event},
- ParachainSystem: parachain_system::{Pallet, Call, Storage, Event},
+ ParachainSystem: parachain_system::{Pallet, Call, Config, Storage, Inherent, Event, ValidateUnsigned},
}
);
@@ -88,7 +88,7 @@ impl frame_system::Config for Test {
type OnNewAccount = ();
type OnKilledAccount = ();
type DbWeight = ();
- type BaseCallFilter = ();
+ type BaseCallFilter = frame_support::traits::Everything;
type SystemWeightInfo = ();
type SS58Prefix = ();
type OnSetCode = ParachainSetCode;
diff --git a/pallets/session-benchmarking/Cargo.toml b/pallets/session-benchmarking/Cargo.toml
index 6136bb26740..f21f8f8c202 100644
--- a/pallets/session-benchmarking/Cargo.toml
+++ b/pallets/session-benchmarking/Cargo.toml
@@ -13,19 +13,19 @@ readme = "README.md"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
-sp-staking = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
-pallet-session = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
-sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+sp-staking = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+pallet-session = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
[dev-dependencies]
serde = { version = "1.0.119" }
-codec = { package = "parity-scale-codec", version = "2.0.0", features = ["derive"] }
-sp-core = { git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
+codec = { package = "parity-scale-codec", version = "2.0.0", features = [ "derive" ] }
+sp-core = { git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
[features]
default = ["std"]
diff --git a/pallets/xcm/Cargo.toml b/pallets/xcm/Cargo.toml
index 2d3c0f8220f..cd2cf573bcd 100644
--- a/pallets/xcm/Cargo.toml
+++ b/pallets/xcm/Cargo.toml
@@ -8,13 +8,13 @@ version = "0.1.0"
codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
serde = { version = "1.0.101", optional = true, features = ["derive"] }
-sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-io = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-frame-system = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
+sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-io = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+frame-system = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
-xcm = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "master" }
+xcm = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.9" }
cumulus-primitives-core = { path = "../../primitives/core", default-features = false }
diff --git a/pallets/xcmp-queue/Cargo.toml b/pallets/xcmp-queue/Cargo.toml
index e1bf3894830..4b1e3687e25 100644
--- a/pallets/xcmp-queue/Cargo.toml
+++ b/pallets/xcmp-queue/Cargo.toml
@@ -12,24 +12,24 @@ rand = { version = "0.8.3", default-features = false }
rand_chacha = { version = "0.3.0", default-features = false }
# Substrate Dependencies
-sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-frame-system = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
+sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+frame-system = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
# Polkadot Dependencies
-xcm = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "master" }
-xcm-executor = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "master" }
+xcm = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.9" }
+xcm-executor = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.9" }
# Cumulus Dependencies
cumulus-primitives-core = { path = "../../primitives/core", default-features = false }
[dev-dependencies]
-sp-core = { git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
-sp-io = { git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
+sp-core = { git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+sp-io = { git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
cumulus-pallet-parachain-system = { path = "../parachain-system" }
-xcm-builder = { git = "https://github.com/paritytech/polkadot", branch = "master" }
-pallet-balances = { git = 'https://github.com/paritytech/substrate', branch = "master", version = '3.0.0' }
+xcm-builder = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
+pallet-balances = { git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
[features]
default = [ "std" ]
diff --git a/pallets/xcmp-queue/src/lib.rs b/pallets/xcmp-queue/src/lib.rs
index 34c30e98184..1cb83a98ea6 100644
--- a/pallets/xcmp-queue/src/lib.rs
+++ b/pallets/xcmp-queue/src/lib.rs
@@ -34,7 +34,7 @@ mod tests;
use codec::{Decode, Encode};
use cumulus_primitives_core::{
relay_chain::BlockNumber as RelayBlockNumber, ChannelStatus, GetChannelInfo, MessageSendError,
- ParaId, XcmpMessageHandler, XcmpMessageSource,
+ ParaId, XcmpMessageHandler, XcmpMessageSource, XcmpMessageFormat,
};
use frame_support::weights::Weight;
use rand_chacha::{
@@ -208,18 +208,6 @@ pub enum ChannelSignal {
Resume,
}
-/// The aggregate XCMP message format.
-#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, RuntimeDebug)]
-pub enum XcmpMessageFormat {
- /// Encoded `VersionedXcm` messages, all concatenated.
- ConcatenatedVersionedXcm,
- /// Encoded `Vec` messages, all concatenated.
- ConcatenatedEncodedBlob,
- /// One or more channel control signals; these should be interpreted immediately upon receipt
- /// from the relay-chain.
- Signals,
-}
-
impl Pallet {
/// Place a message `fragment` on the outgoing XCMP queue for `recipient`.
///
diff --git a/pallets/xcmp-queue/src/mock.rs b/pallets/xcmp-queue/src/mock.rs
index 1c62a66c29c..7caf56eaf86 100644
--- a/pallets/xcmp-queue/src/mock.rs
+++ b/pallets/xcmp-queue/src/mock.rs
@@ -38,7 +38,9 @@ frame_support::construct_runtime!(
{
System: frame_system::{Pallet, Call, Config, Storage, Event},
Balances: pallet_balances::{Pallet, Call, Storage, Config, Event},
- ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Config, Storage, Inherent, Event},
+ ParachainSystem: cumulus_pallet_parachain_system::{
+ Pallet, Call, Config, Storage, Inherent, Event, ValidateUnsigned,
+ },
XcmpQueue: xcmp_queue::{Pallet, Call, Storage, Event},
}
);
@@ -51,7 +53,7 @@ parameter_types! {
type AccountId = u64;
impl frame_system::Config for Test {
- type BaseCallFilter = ();
+ type BaseCallFilter = frame_support::traits::Everything;
type BlockWeights = ();
type BlockLength = ();
type DbWeight = ();
diff --git a/polkadot-parachains/Cargo.toml b/polkadot-parachains/Cargo.toml
index fc142b46a89..e1287fcfcb5 100644
--- a/polkadot-parachains/Cargo.toml
+++ b/polkadot-parachains/Cargo.toml
@@ -31,36 +31,36 @@ westmint-runtime = { path = "westmint" }
statemint-common = { path = "statemint-common" }
# Substrate dependencies
-frame-benchmarking = { git = 'https://github.com/paritytech/substrate', branch = "master" }
-frame-benchmarking-cli = { git = 'https://github.com/paritytech/substrate', branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-io = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-inherents = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-session = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-cli = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-executor = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-service = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-telemetry = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-network = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-basic-authorship = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-timestamp = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-block-builder = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-finality-grandpa = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-chain-spec = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sc-tracing = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-offchain = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
-sp-consensus-aura = { git = "https://github.com/paritytech/substrate", branch = "master" }
-substrate-prometheus-endpoint = { git = "https://github.com/paritytech/substrate", branch = "master" }
+frame-benchmarking = { git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+frame-benchmarking-cli = { git = 'https://github.com/paritytech/substrate', branch = "polkadot-v0.9.9" }
+sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-inherents = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-session = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-executor = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-service = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-telemetry = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-network = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-basic-authorship = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-block-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-finality-grandpa = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-chain-spec = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sc-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-offchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+sp-consensus-aura = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
+substrate-prometheus-endpoint = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
# RPC related dependencies
jsonrpc-core = "15.1.0"
@@ -77,13 +77,13 @@ cumulus-primitives-core = { path = "../primitives/core" }
cumulus-primitives-parachain-inherent = { path = "../primitives/parachain-inherent" }
# Polkadot dependencies
-polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "master" }
-polkadot-service = { git = "https://github.com/paritytech/polkadot", branch = "master" }
-polkadot-cli = { git = "https://github.com/paritytech/polkadot", branch = "master" }
-polkadot-parachain = { git = "https://github.com/paritytech/polkadot", branch = "master" }
+polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
+polkadot-service = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
+polkadot-cli = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
+polkadot-parachain = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" }
[build-dependencies]
-substrate-build-script-utils = { git = "https://github.com/paritytech/substrate", branch = "master" }
+substrate-build-script-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
[dev-dependencies]
assert_cmd = "0.12"
diff --git a/polkadot-parachains/pallets/parachain-info/Cargo.toml b/polkadot-parachains/pallets/parachain-info/Cargo.toml
index 42bf4afceab..d60976eb6ab 100644
--- a/polkadot-parachains/pallets/parachain-info/Cargo.toml
+++ b/polkadot-parachains/pallets/parachain-info/Cargo.toml
@@ -8,8 +8,8 @@ version = "0.1.0"
codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
serde = { version = "1.0.101", optional = true, features = ["derive"] }
-frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-frame-system = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
+frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+frame-system = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
cumulus-primitives-core = { path = "../../../primitives/core", default-features = false }
diff --git a/polkadot-parachains/pallets/ping/Cargo.toml b/polkadot-parachains/pallets/ping/Cargo.toml
index 3c3d3a72416..0be3a9f0e9a 100644
--- a/polkadot-parachains/pallets/ping/Cargo.toml
+++ b/polkadot-parachains/pallets/ping/Cargo.toml
@@ -8,12 +8,12 @@ version = "0.1.0"
codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
serde = { version = "1.0.101", optional = true, features = ["derive"] }
-sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-frame-system = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
+sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+frame-system = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
-xcm = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "master" }
+xcm = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.9" }
cumulus-primitives-core = { path = "../../../primitives/core", default-features = false }
cumulus-pallet-xcm = { path = "../../../pallets/xcm", default-features = false }
diff --git a/polkadot-parachains/res/statemine.json b/polkadot-parachains/res/statemine.json
index b5ed5d2d0b1..826cdd37f0c 100644
--- a/polkadot-parachains/res/statemine.json
+++ b/polkadot-parachains/res/statemine.json
@@ -16,7 +16,6 @@
"relay_chain": "kusama",
"para_id": 1000,
"consensusEngine": null,
- "lightSyncState": null,
"genesis": {
"raw": {
"top": {
diff --git a/polkadot-parachains/res/statemine_genesis.json b/polkadot-parachains/res/statemine_genesis.json
index a24257046c3..95b7a973a49 100644
--- a/polkadot-parachains/res/statemine_genesis.json
+++ b/polkadot-parachains/res/statemine_genesis.json
@@ -14,7 +14,6 @@
"relay_chain": "kusama",
"para_id": 1000,
"consensusEngine": null,
- "lightSyncState": null,
"codeSubstitutes": {},
"genesis": {
"raw": {
@@ -74,4 +73,4 @@
"childrenDefault": {}
}
}
-}
\ No newline at end of file
+}
diff --git a/polkadot-parachains/res/statemint.json b/polkadot-parachains/res/statemint.json
index 5807c84dfb5..98714d5fd1d 100755
--- a/polkadot-parachains/res/statemint.json
+++ b/polkadot-parachains/res/statemint.json
@@ -13,7 +13,6 @@
"relay_chain": "rococo",
"para_id": 1,
"consensusEngine": null,
- "lightSyncState": null,
"genesis": {
"raw": {
"top": {
diff --git a/polkadot-parachains/res/tick.json b/polkadot-parachains/res/tick.json
index 47e00132e18..0bb0394b195 100644
--- a/polkadot-parachains/res/tick.json
+++ b/polkadot-parachains/res/tick.json
@@ -18,7 +18,6 @@
"relay_chain": "rococo",
"para_id": 100,
"consensusEngine": null,
- "lightSyncState": null,
"genesis": {
"raw": {
"top": {
diff --git a/polkadot-parachains/res/track.json b/polkadot-parachains/res/track.json
index 614c21b4eaf..1c70ce96b72 100644
--- a/polkadot-parachains/res/track.json
+++ b/polkadot-parachains/res/track.json
@@ -18,7 +18,6 @@
"relay_chain": "rococo",
"para_id": 120,
"consensusEngine": null,
- "lightSyncState": null,
"genesis": {
"raw": {
"top": {
diff --git a/polkadot-parachains/res/trick.json b/polkadot-parachains/res/trick.json
index d55288022b6..a3f29bfecfc 100644
--- a/polkadot-parachains/res/trick.json
+++ b/polkadot-parachains/res/trick.json
@@ -18,7 +18,6 @@
"relay_chain": "rococo",
"para_id": 110,
"consensusEngine": null,
- "lightSyncState": null,
"genesis": {
"raw": {
"top": {
diff --git a/polkadot-parachains/res/westmint.json b/polkadot-parachains/res/westmint.json
index 3c191c0b6e5..4e0af339388 100644
--- a/polkadot-parachains/res/westmint.json
+++ b/polkadot-parachains/res/westmint.json
@@ -17,7 +17,6 @@
},
"para_id": 1000,
"consensusEngine": null,
- "lightSyncState": null,
"genesis": {
"raw": {
"top": {
diff --git a/polkadot-parachains/res/westmint_genesis.json b/polkadot-parachains/res/westmint_genesis.json
index 90c30544767..ffd30fbe2de 100644
--- a/polkadot-parachains/res/westmint_genesis.json
+++ b/polkadot-parachains/res/westmint_genesis.json
@@ -14,7 +14,6 @@
"relay_chain": "westend",
"para_id": 1000,
"consensusEngine": null,
- "lightSyncState": null,
"codeSubstitutes": {},
"genesis": {
"raw": {
@@ -75,4 +74,4 @@
"childrenDefault": {}
}
}
-}
\ No newline at end of file
+}
diff --git a/polkadot-parachains/rococo/Cargo.toml b/polkadot-parachains/rococo/Cargo.toml
index b118ac416fa..0004de3840e 100644
--- a/polkadot-parachains/rococo/Cargo.toml
+++ b/polkadot-parachains/rococo/Cargo.toml
@@ -12,29 +12,29 @@ log = { version = "0.4.14", default-features = false }
parachain-info = { path = "../pallets/parachain-info", default-features = false }
# Substrate dependencies
-sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-api = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-io = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-version = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-core = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-session = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-offchain = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-block-builder = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-transaction-pool = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-inherents = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-consensus-aura = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
+sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-api = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-io = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-version = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-core = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-session = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-offchain = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-block-builder = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-transaction-pool = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-inherents = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-consensus-aura = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
-frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-frame-executive = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-frame-system = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-pallet-assets = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-pallet-balances = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-pallet-randomness-collective-flip = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-pallet-timestamp = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-pallet-sudo = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-pallet-transaction-payment = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-pallet-aura = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
+frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+frame-executive = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+frame-system = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+pallet-assets = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+pallet-balances = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+pallet-randomness-collective-flip = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+pallet-timestamp = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+pallet-sudo = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+pallet-transaction-payment = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+pallet-aura = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
# Cumulus dependencies
cumulus-pallet-aura-ext = { path = "../../pallets/aura-ext", default-features = false }
@@ -48,18 +48,18 @@ cumulus-pallet-xcm = { path = "../../pallets/xcm", default-features = false }
cumulus-ping = { path = "../pallets/ping", default-features = false }
# Polkadot dependencies
-polkadot-parachain = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "master" }
-xcm = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "master" }
-xcm-builder = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "master" }
-xcm-executor = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "master" }
-pallet-xcm = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "master" }
+polkadot-parachain = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.9" }
+xcm = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.9" }
+xcm-builder = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.9" }
+xcm-executor = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.9" }
+pallet-xcm = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.9" }
[dev-dependencies]
hex-literal = "0.3.1"
hex = "0.4.3"
[build-dependencies]
-substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", branch = "master" }
+substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
[features]
default = [ "std" ]
diff --git a/polkadot-parachains/rococo/src/lib.rs b/polkadot-parachains/rococo/src/lib.rs
index ab8977059f3..f90a55260a6 100644
--- a/polkadot-parachains/rococo/src/lib.rs
+++ b/polkadot-parachains/rococo/src/lib.rs
@@ -38,7 +38,7 @@ use sp_version::RuntimeVersion;
// A few exports that help ease life for downstream crates.
pub use frame_support::{
construct_runtime, match_type, parameter_types,
- traits::{All, IsInVec, Randomness},
+ traits::{Everything, IsInVec, Randomness},
weights::{
constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND},
DispatchClass, IdentityFee, Weight,
@@ -56,7 +56,7 @@ pub use sp_runtime::{Perbill, Permill};
// XCM imports
use pallet_xcm::{EnsureXcm, IsMajorityOfBody, XcmPassthrough};
use polkadot_parachain::primitives::Sibling;
-use xcm::v0::{BodyId, Junction::*, MultiAsset, MultiLocation, MultiLocation::*, NetworkId, Xcm};
+use xcm::v0::{BodyId, Junction::*, MultiLocation, MultiLocation::*, NetworkId, Xcm};
use xcm_builder::{
AccountId32Aliases, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, CurrencyAdapter,
EnsureXcmOrigin, FixedWeightBounds, IsConcrete, LocationInverter, NativeAsset,
@@ -179,7 +179,7 @@ impl frame_system::Config for Runtime {
type OnNewAccount = ();
type OnKilledAccount = ();
type DbWeight = ();
- type BaseCallFilter = ();
+ type BaseCallFilter = frame_support::traits::Everything;
type SystemWeightInfo = ();
type BlockWeights = RuntimeBlockWeights;
type BlockLength = RuntimeBlockLength;
@@ -328,7 +328,7 @@ match_type! {
pub type Barrier = (
TakeWeightCredit,
- AllowTopLevelPaidExecutionFrom>,
+ AllowTopLevelPaidExecutionFrom,
AllowUnpaidExecutionFrom,
// ^^^ Parent & its unit plurality gets free execution
);
@@ -366,11 +366,12 @@ impl pallet_xcm::Config for Runtime {
type SendXcmOrigin = EnsureXcmOrigin;
type XcmRouter = XcmRouter;
type ExecuteXcmOrigin = EnsureXcmOrigin;
- type XcmExecuteFilter = All<(MultiLocation, Xcm)>;
+ type XcmExecuteFilter = Everything;
type XcmExecutor = XcmExecutor;
- type XcmTeleportFilter = All<(MultiLocation, Vec)>;
+ type XcmTeleportFilter = Everything;
type XcmReserveTransferFilter = ();
type Weigher = FixedWeightBounds;
+ type LocationInverter = LocationInverter;
}
impl cumulus_pallet_xcm::Config for Runtime {
@@ -427,6 +428,7 @@ impl pallet_assets::Config for Runtime {
impl pallet_aura::Config for Runtime {
type AuthorityId = AuraId;
+ type DisabledValidators = ();
}
construct_runtime! {
@@ -441,7 +443,9 @@ construct_runtime! {
RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Pallet, Storage},
TransactionPayment: pallet_transaction_payment::{Pallet, Storage},
- ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Config, Storage, Inherent, Event} = 20,
+ ParachainSystem: cumulus_pallet_parachain_system::{
+ Pallet, Call, Config, Storage, Inherent, Event, ValidateUnsigned,
+ } = 20,
ParachainInfo: parachain_info::{Pallet, Storage, Config} = 21,
Balances: pallet_balances::{Pallet, Call, Storage, Config, Event} = 30,
diff --git a/polkadot-parachains/shell/Cargo.toml b/polkadot-parachains/shell/Cargo.toml
index d0f18618d15..38d196a28c6 100644
--- a/polkadot-parachains/shell/Cargo.toml
+++ b/polkadot-parachains/shell/Cargo.toml
@@ -11,21 +11,21 @@ log = { version = "0.4.14", default-features = false }
parachain-info = { path = "../pallets/parachain-info", default-features = false }
# Substrate dependencies
-sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-api = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-io = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-version = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-core = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-session = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-offchain = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-block-builder = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-transaction-pool = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-sp-inherents = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
+sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-api = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-io = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-version = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-core = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-session = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-offchain = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-block-builder = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-transaction-pool = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+sp-inherents = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
-frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-frame-executive = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
-frame-system = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
+frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+frame-executive = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
+frame-system = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.9" }
# Cumulus dependencies
cumulus-pallet-parachain-system = { path = "../../pallets/parachain-system", default-features = false }
@@ -35,17 +35,17 @@ cumulus-pallet-dmp-queue = { path = "../../pallets/dmp-queue", default-features
cumulus-pallet-xcm = { path = "../../pallets/xcm", default-features = false }
# Polkadot dependencies
-polkadot-parachain = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "master" }
-xcm = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "master" }
-xcm-builder = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "master" }
-xcm-executor = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "master" }
+polkadot-parachain = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.9" }
+xcm = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.9" }
+xcm-builder = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.9" }
+xcm-executor = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.9" }
[dev-dependencies]
hex = "0.4.3"
hex-literal = "0.3.1"
[build-dependencies]
-substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", branch = "master" }
+substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" }
[features]
default = [ "std" ]
diff --git a/polkadot-parachains/shell/src/lib.rs b/polkadot-parachains/shell/src/lib.rs
index fe88fc76bcc..680c003159c 100644
--- a/polkadot-parachains/shell/src/lib.rs
+++ b/polkadot-parachains/shell/src/lib.rs
@@ -38,7 +38,7 @@ use sp_version::RuntimeVersion;
// A few exports that help ease life for downstream crates.
pub use frame_support::{
construct_runtime, match_type, parameter_types,
- traits::{All, IsInVec, Randomness},
+ traits::{Everything, IsInVec, Randomness},
weights::{
constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND},
DispatchClass, IdentityFee, Weight,
@@ -145,7 +145,7 @@ impl frame_system::Config for Runtime {
type OnNewAccount = ();
type OnKilledAccount = ();
type DbWeight = ();
- type BaseCallFilter = ();
+ type BaseCallFilter = frame_support::traits::Everything;
type SystemWeightInfo = ();
type BlockWeights = RuntimeBlockWeights;
type BlockLength = RuntimeBlockLength;
@@ -226,7 +226,9 @@ construct_runtime! {
UncheckedExtrinsic = UncheckedExtrinsic,
{
System: frame_system::{Pallet, Call, Storage, Config, Event},
- ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Config, Storage, Inherent, Event},
+ ParachainSystem: cumulus_pallet_parachain_system::{
+ Pallet, Call, Config, Storage, Inherent, Event, ValidateUnsigned,
+ },
ParachainInfo: parachain_info::{Pallet, Storage, Config},
// DMP handler.
diff --git a/polkadot-parachains/src/command.rs b/polkadot-parachains/src/command.rs
index 5b56787e1c2..5432a4c33c6 100644
--- a/polkadot-parachains/src/command.rs
+++ b/polkadot-parachains/src/command.rs
@@ -575,6 +575,10 @@ impl CliConfiguration for RelayChainCli {
self.base.base.rpc_ws_max_connections()
}
+ fn rpc_http_threads(&self) -> Result