From 16f646dcd072cbcb75ef0128e22d4eada0dd507c Mon Sep 17 00:00:00 2001 From: Guillaume Thiolliere Date: Wed, 30 Jun 2021 13:11:43 +0200 Subject: [PATCH 01/23] Minor refactor (#3386) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * minro refactor * Update node/core/runtime-api/src/lib.rs Co-authored-by: Keith Yeung * Update node/core/runtime-api/src/lib.rs Co-authored-by: Bastian Köcher Co-authored-by: Keith Yeung Co-authored-by: Bastian Köcher --- node/core/runtime-api/src/lib.rs | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/node/core/runtime-api/src/lib.rs b/node/core/runtime-api/src/lib.rs index 839cbfa3938c..980a67858a56 100644 --- a/node/core/runtime-api/src/lib.rs +++ b/node/core/runtime-api/src/lib.rs @@ -302,33 +302,15 @@ where let _timer = metrics.time_make_runtime_api_request(); macro_rules! query { - ($req_variant:ident, $api_name:ident (), $sender:expr) => {{ + ($req_variant:ident, $api_name:ident ($($param:expr),*), $sender:expr) => {{ let sender = $sender; let api = client.runtime_api(); - let res = api.$api_name(&BlockId::Hash(relay_parent)) + let res = api.$api_name(&BlockId::Hash(relay_parent) $(, $param.clone() )*) .map_err(|e| RuntimeApiError::from(format!("{:?}", e))); metrics.on_request(res.is_ok()); let _ = sender.send(res.clone()); - if let Ok(res) = res { - Some(RequestResult::$req_variant(relay_parent, res.clone())) - } else { - None - } - }}; - ($req_variant:ident, $api_name:ident ($($param:expr),+), $sender:expr) => {{ - let sender = $sender; - let api = client.runtime_api(); - let res = api.$api_name(&BlockId::Hash(relay_parent), $($param.clone()),*) - .map_err(|e| RuntimeApiError::from(format!("{:?}", e))); - metrics.on_request(res.is_ok()); - let _ = sender.send(res.clone()); - - if let Ok(res) = res { - Some(RequestResult::$req_variant(relay_parent, $($param),+, res.clone())) - } else { - None - } + res.ok().map(|res| RequestResult::$req_variant(relay_parent, $( $param, )* res)) }} } From 3445eebac91bc62eac6c1403f2bbb0476f6f11b6 Mon Sep 17 00:00:00 2001 From: Robert Klotzner Date: Thu, 1 Jul 2021 08:44:13 +0200 Subject: [PATCH 02/23] Fix busy loops. (#3392) --- node/network/availability-recovery/src/lib.rs | 4 ++-- node/network/collator-protocol/src/validator_side/mod.rs | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/node/network/availability-recovery/src/lib.rs b/node/network/availability-recovery/src/lib.rs index efd8d3712851..ccbeba620472 100644 --- a/node/network/availability-recovery/src/lib.rs +++ b/node/network/availability-recovery/src/lib.rs @@ -806,8 +806,8 @@ impl AvailabilityRecoverySubsystem { } } } - output = state.interactions.next() => { - if let Some((candidate_hash, result)) = output.flatten() { + output = state.interactions.select_next_some() => { + if let Some((candidate_hash, result)) = output { state.availability_lru.put(candidate_hash, result); } } diff --git a/node/network/collator-protocol/src/validator_side/mod.rs b/node/network/collator-protocol/src/validator_side/mod.rs index 709855e353af..128733088ba7 100644 --- a/node/network/collator-protocol/src/validator_side/mod.rs +++ b/node/network/collator-protocol/src/validator_side/mod.rs @@ -1138,10 +1138,8 @@ pub(crate) async fn run( _ = next_inactivity_stream.next() => { disconnect_inactive_peers(&mut ctx, &eviction_policy, &state.peer_data).await; } - res = state.collation_fetches.next() => { - if let Some(res) = res { - handle_collation_fetched_result(&mut ctx, &mut state, res).await; - } + res = state.collation_fetches.select_next_some() => { + handle_collation_fetched_result(&mut ctx, &mut state, res).await; } } From ef1d192999894fc699de6626037ead795dc03b7b Mon Sep 17 00:00:00 2001 From: Martin Pugh Date: Thu, 1 Jul 2021 12:09:41 +0200 Subject: [PATCH 03/23] Bump version, specs & substrate in prep for v0.9.8 (#3387) * bump version * bump substrate * bump spec_versions --- Cargo.lock | 406 +++++++++--------- Cargo.toml | 2 +- cli/Cargo.toml | 2 +- core-primitives/Cargo.toml | 2 +- erasure-coding/Cargo.toml | 2 +- node/client/Cargo.toml | 2 +- node/malus/Cargo.toml | 2 +- node/service/Cargo.toml | 2 +- node/test/client/Cargo.toml | 2 +- node/test/service/Cargo.toml | 2 +- parachain/Cargo.toml | 2 +- parachain/test-parachains/Cargo.toml | 2 +- parachain/test-parachains/adder/Cargo.toml | 2 +- .../test-parachains/adder/collator/Cargo.toml | 2 +- parachain/test-parachains/halt/Cargo.toml | 2 +- primitives/Cargo.toml | 2 +- rpc/Cargo.toml | 2 +- runtime/common/Cargo.toml | 2 +- runtime/common/slot_range_helper/Cargo.toml | 2 +- runtime/kusama/Cargo.toml | 2 +- runtime/kusama/src/lib.rs | 2 +- runtime/parachains/Cargo.toml | 2 +- runtime/polkadot/Cargo.toml | 2 +- runtime/polkadot/src/lib.rs | 2 +- runtime/rococo/Cargo.toml | 2 +- runtime/test-runtime/Cargo.toml | 2 +- runtime/westend/Cargo.toml | 2 +- runtime/westend/src/lib.rs | 2 +- statement-table/Cargo.toml | 2 +- xcm/Cargo.toml | 2 +- xcm/xcm-builder/Cargo.toml | 2 +- xcm/xcm-executor/Cargo.toml | 2 +- 32 files changed, 229 insertions(+), 239 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6864ac7fa634..b6f9f8496ff7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1912,7 +1912,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "parity-scale-codec", ] @@ -1930,7 +1930,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "3.1.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-support", "frame-system", @@ -1949,7 +1949,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "Inflector", "chrono", @@ -1972,7 +1972,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-support", "frame-system", @@ -1985,7 +1985,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-support", "frame-system", @@ -2000,7 +2000,7 @@ dependencies = [ [[package]] name = "frame-metadata" version = "13.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "parity-scale-codec", "serde", @@ -2011,7 +2011,7 @@ dependencies = [ [[package]] name = "frame-support" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "bitflags", "frame-metadata", @@ -2038,7 +2038,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -2050,7 +2050,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.0.0", @@ -2062,7 +2062,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "proc-macro2", "quote", @@ -2072,7 +2072,7 @@ dependencies = [ [[package]] name = "frame-support-test" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-metadata", "frame-support", @@ -2092,7 +2092,7 @@ dependencies = [ [[package]] name = "frame-system" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -2109,7 +2109,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-support", @@ -2123,7 +2123,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "parity-scale-codec", "sp-api", @@ -2132,7 +2132,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-support", "parity-scale-codec", @@ -3254,7 +3254,7 @@ dependencies = [ [[package]] name = "kusama-runtime" -version = "0.9.7" +version = "0.9.8" dependencies = [ "beefy-primitives", "bitvec", @@ -4064,7 +4064,7 @@ dependencies = [ [[package]] name = "max-encoded-len" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "impl-trait-for-tuples", "max-encoded-len-derive", @@ -4075,7 +4075,7 @@ dependencies = [ [[package]] name = "max-encoded-len-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -4578,7 +4578,7 @@ checksum = "13370dae44474229701bb69b90b4f4dca6404cb0357a2d50d635f1171dc3aa7b" [[package]] name = "pallet-authority-discovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-support", "frame-system", @@ -4593,7 +4593,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-support", "frame-system", @@ -4607,7 +4607,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-support", @@ -4630,7 +4630,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-support", @@ -4660,7 +4660,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-support", @@ -4696,7 +4696,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-support", @@ -4712,7 +4712,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-support", @@ -4727,7 +4727,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4748,7 +4748,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-support", @@ -4765,7 +4765,7 @@ dependencies = [ [[package]] name = "pallet-gilt" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-support", @@ -4779,7 +4779,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "3.1.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-support", @@ -4801,7 +4801,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4816,7 +4816,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-support", @@ -4835,7 +4835,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-support", @@ -4851,7 +4851,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-support", @@ -4866,7 +4866,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "ckb-merkle-mountain-range", "frame-benchmarking", @@ -4883,7 +4883,7 @@ dependencies = [ [[package]] name = "pallet-mmr-primitives" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-support", "frame-system", @@ -4899,7 +4899,7 @@ dependencies = [ [[package]] name = "pallet-mmr-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -4917,7 +4917,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-support", @@ -4932,7 +4932,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-support", "frame-system", @@ -4945,7 +4945,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-support", "frame-system", @@ -4961,7 +4961,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4983,7 +4983,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-support", @@ -4999,7 +4999,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "enumflags2", "frame-support", @@ -5013,7 +5013,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-support", @@ -5028,7 +5028,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-support", "frame-system", @@ -5048,7 +5048,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-support", @@ -5064,7 +5064,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-support", "frame-system", @@ -5077,7 +5077,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5101,7 +5101,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -5112,7 +5112,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "log", "sp-arithmetic", @@ -5121,7 +5121,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-support", "frame-system", @@ -5134,7 +5134,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-support", @@ -5152,7 +5152,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-support", @@ -5167,7 +5167,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-support", "frame-system", @@ -5183,7 +5183,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -5200,7 +5200,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5211,7 +5211,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-support", @@ -5227,7 +5227,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-benchmarking", "frame-support", @@ -5242,7 +5242,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5690,7 +5690,7 @@ checksum = "989d43012e2ca1c4a02507c67282691a0a3207f9dc67cec596b43fe925b3d325" [[package]] name = "polkadot" -version = "0.9.7" +version = "0.9.8" dependencies = [ "assert_cmd", "color-eyre", @@ -5802,7 +5802,7 @@ dependencies = [ [[package]] name = "polkadot-cli" -version = "0.9.7" +version = "0.9.8" dependencies = [ "frame-benchmarking-cli", "futures 0.3.15", @@ -5824,7 +5824,7 @@ dependencies = [ [[package]] name = "polkadot-client" -version = "0.9.3" +version = "0.9.8" dependencies = [ "beefy-primitives", "frame-benchmarking", @@ -5879,7 +5879,7 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" -version = "0.9.7" +version = "0.9.8" dependencies = [ "parity-scale-codec", "parity-util-mem", @@ -5890,7 +5890,7 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" -version = "0.9.7" +version = "0.9.8" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -6417,7 +6417,7 @@ dependencies = [ [[package]] name = "polkadot-parachain" -version = "0.9.7" +version = "0.9.8" dependencies = [ "derive_more", "parity-scale-codec", @@ -6431,7 +6431,7 @@ dependencies = [ [[package]] name = "polkadot-primitives" -version = "0.9.7" +version = "0.9.8" dependencies = [ "bitvec", "frame-system", @@ -6484,7 +6484,7 @@ dependencies = [ [[package]] name = "polkadot-rpc" -version = "0.9.7" +version = "0.9.8" dependencies = [ "beefy-gadget", "beefy-gadget-rpc", @@ -6516,7 +6516,7 @@ dependencies = [ [[package]] name = "polkadot-runtime" -version = "0.9.7" +version = "0.9.8" dependencies = [ "beefy-primitives", "bitvec", @@ -6598,7 +6598,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" -version = "0.9.7" +version = "0.9.8" dependencies = [ "beefy-primitives", "bitvec", @@ -6651,7 +6651,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" -version = "0.9.7" +version = "0.9.8" dependencies = [ "bitvec", "derive_more", @@ -6701,7 +6701,7 @@ dependencies = [ [[package]] name = "polkadot-service" -version = "0.9.7" +version = "0.9.8" dependencies = [ "async-trait", "beefy-gadget", @@ -6822,7 +6822,7 @@ dependencies = [ [[package]] name = "polkadot-statement-table" -version = "0.9.7" +version = "0.9.8" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -6831,7 +6831,7 @@ dependencies = [ [[package]] name = "polkadot-test-client" -version = "0.9.7" +version = "0.9.8" dependencies = [ "futures 0.3.15", "parity-scale-codec", @@ -6857,7 +6857,7 @@ dependencies = [ [[package]] name = "polkadot-test-malus" -version = "0.9.4" +version = "0.9.8" dependencies = [ "assert_matches", "async-trait", @@ -6872,7 +6872,7 @@ dependencies = [ [[package]] name = "polkadot-test-runtime" -version = "0.9.7" +version = "0.9.8" dependencies = [ "beefy-primitives", "bitvec", @@ -6933,7 +6933,7 @@ dependencies = [ [[package]] name = "polkadot-test-service" -version = "0.9.7" +version = "0.9.8" dependencies = [ "frame-benchmarking", "frame-system", @@ -7575,7 +7575,7 @@ dependencies = [ [[package]] name = "remote-externalities" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "env_logger 0.8.4", "hex", @@ -7652,7 +7652,7 @@ dependencies = [ [[package]] name = "rococo-runtime" -version = "0.9.7" +version = "0.9.8" dependencies = [ "beefy-primitives", "bp-rococo", @@ -7866,10 +7866,22 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "sc-allocator" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +dependencies = [ + "log", + "sp-core", + "sp-std", + "sp-wasm-interface", + "thiserror", +] + [[package]] name = "sc-authority-discovery" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "async-trait", "derive_more", @@ -7898,7 +7910,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "futures 0.3.15", "futures-timer 3.0.2", @@ -7921,7 +7933,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -7937,7 +7949,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7949,7 +7961,6 @@ dependencies = [ "sc-telemetry", "serde", "serde_json", - "sp-chain-spec", "sp-consensus-babe", "sp-core", "sp-runtime", @@ -7958,7 +7969,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -7969,7 +7980,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "chrono", "fdlimit", @@ -8007,7 +8018,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "derive_more", "fnv", @@ -8041,7 +8052,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "blake2-rfc", "hash-db", @@ -8071,7 +8082,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "async-trait", "parking_lot 0.11.1", @@ -8084,7 +8095,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "async-trait", "derive_more", @@ -8130,7 +8141,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "derive_more", "futures 0.3.15", @@ -8154,7 +8165,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "fork-tree", "parity-scale-codec", @@ -8167,7 +8178,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "async-trait", "futures 0.3.15", @@ -8195,7 +8206,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "sc-client-api", "sp-authorship", @@ -8206,7 +8217,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "derive_more", "lazy_static", @@ -8235,12 +8246,12 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "derive_more", "parity-scale-codec", "pwasm-utils", - "sp-allocator", + "sc-allocator", "sp-core", "sp-maybe-compressed-blob", "sp-serializer", @@ -8252,12 +8263,12 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "log", "parity-scale-codec", + "sc-allocator", "sc-executor-common", - "sp-allocator", "sp-core", "sp-runtime-interface", "sp-wasm-interface", @@ -8267,16 +8278,16 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "cfg-if 1.0.0", "libc", "log", "parity-scale-codec", "parity-wasm 0.42.2", + "sc-allocator", "sc-executor-common", "scoped-tls", - "sp-allocator", "sp-core", "sp-runtime-interface", "sp-wasm-interface", @@ -8286,7 +8297,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "async-trait", "derive_more", @@ -8327,7 +8338,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "derive_more", "finality-grandpa", @@ -8351,7 +8362,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-warp-sync" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "derive_more", "futures 0.3.15", @@ -8372,7 +8383,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "ansi_term 0.12.1", "futures 0.3.15", @@ -8390,7 +8401,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "async-trait", "derive_more", @@ -8410,7 +8421,7 @@ dependencies = [ [[package]] name = "sc-light" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "hash-db", "lazy_static", @@ -8429,7 +8440,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "async-std", "async-trait", @@ -8482,7 +8493,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "futures 0.3.15", "futures-timer 3.0.2", @@ -8499,7 +8510,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "bytes 0.5.6", "fnv", @@ -8527,7 +8538,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "futures 0.3.15", "libp2p", @@ -8540,7 +8551,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -8549,7 +8560,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "futures 0.3.15", "hash-db", @@ -8559,6 +8570,7 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.11.1", "sc-block-builder", + "sc-chain-spec", "sc-client-api", "sc-executor", "sc-keystore", @@ -8567,7 +8579,6 @@ dependencies = [ "serde_json", "sp-api", "sp-blockchain", - "sp-chain-spec", "sp-core", "sp-keystore", "sp-offchain", @@ -8584,7 +8595,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "derive_more", "futures 0.3.15", @@ -8595,9 +8606,9 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.11.1", + "sc-chain-spec", "serde", "serde_json", - "sp-chain-spec", "sp-core", "sp-rpc", "sp-runtime", @@ -8609,7 +8620,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "futures 0.1.29", "jsonrpc-core", @@ -8627,7 +8638,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "async-trait", "directories", @@ -8693,7 +8704,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "log", "parity-scale-codec", @@ -8708,7 +8719,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -8728,7 +8739,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "chrono", "futures 0.3.15", @@ -8748,7 +8759,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "ansi_term 0.12.1", "atty", @@ -8785,7 +8796,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -8796,7 +8807,7 @@ dependencies = [ [[package]] name = "sc-transaction-graph" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "derive_more", "futures 0.3.15", @@ -8818,7 +8829,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "futures 0.3.15", "intervalier", @@ -9190,7 +9201,7 @@ dependencies = [ [[package]] name = "slot-range-helper" -version = "0.9.7" +version = "0.9.8" dependencies = [ "enumn", "parity-scale-codec", @@ -9294,22 +9305,10 @@ dependencies = [ "sha-1 0.9.6", ] -[[package]] -name = "sp-allocator" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" -dependencies = [ - "log", - "sp-core", - "sp-std", - "sp-wasm-interface", - "thiserror", -] - [[package]] name = "sp-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "hash-db", "log", @@ -9326,7 +9325,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "blake2-rfc", "proc-macro-crate 1.0.0", @@ -9338,7 +9337,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "max-encoded-len", "parity-scale-codec", @@ -9351,7 +9350,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "integer-sqrt", "num-traits", @@ -9365,7 +9364,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "parity-scale-codec", "sp-api", @@ -9377,7 +9376,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "async-trait", "parity-scale-codec", @@ -9389,7 +9388,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "parity-scale-codec", "sp-api", @@ -9401,7 +9400,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "futures 0.3.15", "log", @@ -9416,19 +9415,10 @@ dependencies = [ "thiserror", ] -[[package]] -name = "sp-chain-spec" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" -dependencies = [ - "serde", - "serde_json", -] - [[package]] name = "sp-consensus" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "async-trait", "futures 0.3.15", @@ -9455,7 +9445,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "async-trait", "merlin", @@ -9477,7 +9467,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "parity-scale-codec", "sp-arithmetic", @@ -9487,7 +9477,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -9499,7 +9489,7 @@ dependencies = [ [[package]] name = "sp-core" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "base58", "blake2-rfc", @@ -9544,7 +9534,7 @@ dependencies = [ [[package]] name = "sp-database" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "kvdb", "parking_lot 0.11.1", @@ -9553,7 +9543,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "proc-macro2", "quote", @@ -9563,7 +9553,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "environmental", "parity-scale-codec", @@ -9574,7 +9564,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "finality-grandpa", "log", @@ -9591,7 +9581,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9605,7 +9595,7 @@ dependencies = [ [[package]] name = "sp-io" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "futures 0.3.15", "hash-db", @@ -9630,7 +9620,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "lazy_static", "sp-core", @@ -9641,7 +9631,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "async-trait", "derive_more", @@ -9658,7 +9648,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "ruzstd", "zstd", @@ -9667,7 +9657,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "parity-scale-codec", "serde", @@ -9680,7 +9670,7 @@ dependencies = [ [[package]] name = "sp-npos-elections-compact" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -9691,7 +9681,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "sp-api", "sp-core", @@ -9701,7 +9691,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "backtrace", ] @@ -9709,7 +9699,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "rustc-hash", "serde", @@ -9720,7 +9710,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "either", "hash256-std-hasher", @@ -9742,7 +9732,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9759,7 +9749,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "Inflector", "proc-macro-crate 1.0.0", @@ -9771,7 +9761,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "serde", "serde_json", @@ -9780,7 +9770,7 @@ dependencies = [ [[package]] name = "sp-session" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "parity-scale-codec", "sp-api", @@ -9793,7 +9783,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -9803,7 +9793,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "hash-db", "log", @@ -9826,12 +9816,12 @@ dependencies = [ [[package]] name = "sp-std" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" [[package]] name = "sp-storage" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9844,7 +9834,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "log", "sp-core", @@ -9857,7 +9847,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "async-trait", "futures-timer 3.0.2", @@ -9874,7 +9864,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "erased-serde", "log", @@ -9892,7 +9882,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "derive_more", "futures 0.3.15", @@ -9908,7 +9898,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "async-trait", "log", @@ -9923,7 +9913,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "hash-db", "memory-db", @@ -9937,7 +9927,7 @@ dependencies = [ [[package]] name = "sp-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "futures 0.3.15", "futures-core", @@ -9949,7 +9939,7 @@ dependencies = [ [[package]] name = "sp-version" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9962,7 +9952,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "parity-scale-codec", "proc-macro-crate 1.0.0", @@ -9974,7 +9964,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -10119,7 +10109,7 @@ dependencies = [ [[package]] name = "substrate-browser-utils" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "chrono", "console_error_panic_hook", @@ -10145,7 +10135,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "platforms", ] @@ -10153,7 +10143,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.15", @@ -10176,7 +10166,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "async-std", "derive_more", @@ -10190,7 +10180,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "async-trait", "futures 0.1.29", @@ -10219,7 +10209,7 @@ dependencies = [ [[package]] name = "substrate-test-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "futures 0.3.15", "substrate-test-utils-derive", @@ -10229,7 +10219,7 @@ dependencies = [ [[package]] name = "substrate-test-utils-derive" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "proc-macro-crate 1.0.0", "quote", @@ -10239,7 +10229,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "ansi_term 0.12.1", "atty", @@ -10330,7 +10320,7 @@ dependencies = [ [[package]] name = "test-parachain-adder" -version = "0.9.7" +version = "0.9.8" dependencies = [ "dlmalloc", "parity-scale-codec", @@ -10343,7 +10333,7 @@ dependencies = [ [[package]] name = "test-parachain-adder-collator" -version = "0.9.7" +version = "0.9.8" dependencies = [ "futures 0.3.15", "futures-timer 3.0.2", @@ -10370,14 +10360,14 @@ dependencies = [ [[package]] name = "test-parachain-halt" -version = "0.9.7" +version = "0.9.8" dependencies = [ "substrate-wasm-builder", ] [[package]] name = "test-parachains" -version = "0.9.7" +version = "0.9.8" dependencies = [ "parity-scale-codec", "polkadot-parachain", @@ -10984,7 +10974,7 @@ checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" [[package]] name = "try-runtime-cli" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c6240ce90083f9e8db94b6c33f81297c11534ea0" +source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" dependencies = [ "frame-try-runtime", "log", @@ -11656,7 +11646,7 @@ dependencies = [ [[package]] name = "westend-runtime" -version = "0.9.7" +version = "0.9.8" dependencies = [ "beefy-primitives", "bitvec", @@ -11849,7 +11839,7 @@ dependencies = [ [[package]] name = "xcm" -version = "0.9.7" +version = "0.9.8" dependencies = [ "derivative", "impl-trait-for-tuples", @@ -11858,7 +11848,7 @@ dependencies = [ [[package]] name = "xcm-builder" -version = "0.9.7" +version = "0.9.8" dependencies = [ "frame-support", "frame-system", @@ -11876,7 +11866,7 @@ dependencies = [ [[package]] name = "xcm-executor" -version = "0.9.7" +version = "0.9.8" dependencies = [ "frame-support", "impl-trait-for-tuples", diff --git a/Cargo.toml b/Cargo.toml index 9c6f10b826ba..54681c52ebe1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,7 @@ path = "src/main.rs" name = "polkadot" description = "Implementation of a https://polkadot.network node in Rust based on the Substrate framework." license = "GPL-3.0-only" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] edition = "2018" readme = "README.md" diff --git a/cli/Cargo.toml b/cli/Cargo.toml index fa9ab9864122..bb0edb98729f 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-cli" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] description = "Polkadot Relay-chain Client Node" edition = "2018" diff --git a/core-primitives/Cargo.toml b/core-primitives/Cargo.toml index 494fdc4e6193..eb345bc2d8af 100644 --- a/core-primitives/Cargo.toml +++ b/core-primitives/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-core-primitives" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] edition = "2018" diff --git a/erasure-coding/Cargo.toml b/erasure-coding/Cargo.toml index a4d9523fa6fe..1b7ae391b773 100644 --- a/erasure-coding/Cargo.toml +++ b/erasure-coding/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-erasure-coding" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] edition = "2018" diff --git a/node/client/Cargo.toml b/node/client/Cargo.toml index 4f84b65659a9..2b64e8f086e5 100644 --- a/node/client/Cargo.toml +++ b/node/client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-client" -version = "0.9.3" +version = "0.9.8" authors = ["Parity Technologies "] edition = "2018" diff --git a/node/malus/Cargo.toml b/node/malus/Cargo.toml index 30c1da1d4057..8d34099c3e00 100644 --- a/node/malus/Cargo.toml +++ b/node/malus/Cargo.toml @@ -10,7 +10,7 @@ path = "src/variant-a.rs" name = "polkadot-test-malus" description = "Misbehaving nodes for local testnets, system and simnet tests." license = "GPL-3.0-only" -version = "0.9.4" +version = "0.9.8" authors = ["Parity Technologies "] edition = "2018" readme = "README.md" diff --git a/node/service/Cargo.toml b/node/service/Cargo.toml index 14b5082b222b..4fbd7af2e014 100644 --- a/node/service/Cargo.toml +++ b/node/service/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-service" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] edition = "2018" diff --git a/node/test/client/Cargo.toml b/node/test/client/Cargo.toml index 25853c9d42f9..f4be1180cd64 100644 --- a/node/test/client/Cargo.toml +++ b/node/test/client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-test-client" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] edition = "2018" diff --git a/node/test/service/Cargo.toml b/node/test/service/Cargo.toml index e3d93ee93bd1..e0b8cb8ff3f2 100644 --- a/node/test/service/Cargo.toml +++ b/node/test/service/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-test-service" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] edition = "2018" diff --git a/parachain/Cargo.toml b/parachain/Cargo.toml index fd48968de4ea..9af6616682a8 100644 --- a/parachain/Cargo.toml +++ b/parachain/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-parachain" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] description = "Types and utilities for creating and working with parachains" edition = "2018" diff --git a/parachain/test-parachains/Cargo.toml b/parachain/test-parachains/Cargo.toml index 7fe688915cee..6aa2f1853652 100644 --- a/parachain/test-parachains/Cargo.toml +++ b/parachain/test-parachains/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "test-parachains" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] description = "Integration tests using the test-parachains" edition = "2018" diff --git a/parachain/test-parachains/adder/Cargo.toml b/parachain/test-parachains/adder/Cargo.toml index f330b9b6dc50..be0137c83b81 100644 --- a/parachain/test-parachains/adder/Cargo.toml +++ b/parachain/test-parachains/adder/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "test-parachain-adder" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] description = "Test parachain which adds to a number as its state transition" edition = "2018" diff --git a/parachain/test-parachains/adder/collator/Cargo.toml b/parachain/test-parachains/adder/collator/Cargo.toml index ee0bc558dcf9..108fe461d55c 100644 --- a/parachain/test-parachains/adder/collator/Cargo.toml +++ b/parachain/test-parachains/adder/collator/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "test-parachain-adder-collator" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] description = "Collator for the adder test parachain" edition = "2018" diff --git a/parachain/test-parachains/halt/Cargo.toml b/parachain/test-parachains/halt/Cargo.toml index 4cec8b56476f..820e695554a4 100644 --- a/parachain/test-parachains/halt/Cargo.toml +++ b/parachain/test-parachains/halt/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "test-parachain-halt" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] description = "Test parachain which executes forever" edition = "2018" diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml index 677c8b31649c..4dcc697ecd15 100644 --- a/primitives/Cargo.toml +++ b/primitives/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-primitives" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] edition = "2018" diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml index 0c8a1f73517e..f160fd210c83 100644 --- a/rpc/Cargo.toml +++ b/rpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-rpc" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] edition = "2018" diff --git a/runtime/common/Cargo.toml b/runtime/common/Cargo.toml index a333eecc16e9..1b5e7c2ae18b 100644 --- a/runtime/common/Cargo.toml +++ b/runtime/common/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-runtime-common" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] edition = "2018" diff --git a/runtime/common/slot_range_helper/Cargo.toml b/runtime/common/slot_range_helper/Cargo.toml index 84e6184b70e2..8e25c5616447 100644 --- a/runtime/common/slot_range_helper/Cargo.toml +++ b/runtime/common/slot_range_helper/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "slot-range-helper" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] edition = "2018" diff --git a/runtime/kusama/Cargo.toml b/runtime/kusama/Cargo.toml index 24accb9a9a25..656e66435c5b 100644 --- a/runtime/kusama/Cargo.toml +++ b/runtime/kusama/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "kusama-runtime" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] edition = "2018" build = "build.rs" diff --git a/runtime/kusama/src/lib.rs b/runtime/kusama/src/lib.rs index 143f2f0c3cd0..afb052dcf5bf 100644 --- a/runtime/kusama/src/lib.rs +++ b/runtime/kusama/src/lib.rs @@ -121,7 +121,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("kusama"), impl_name: create_runtime_str!("parity-kusama"), authoring_version: 2, - spec_version: 9070, + spec_version: 9080, impl_version: 0, #[cfg(not(feature = "disable-runtime-api"))] apis: RUNTIME_API_VERSIONS, diff --git a/runtime/parachains/Cargo.toml b/runtime/parachains/Cargo.toml index 12989b60ab08..1447e6b878bb 100644 --- a/runtime/parachains/Cargo.toml +++ b/runtime/parachains/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-runtime-parachains" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] edition = "2018" diff --git a/runtime/polkadot/Cargo.toml b/runtime/polkadot/Cargo.toml index a6711dbee66d..14c21da2f399 100644 --- a/runtime/polkadot/Cargo.toml +++ b/runtime/polkadot/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-runtime" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] edition = "2018" build = "build.rs" diff --git a/runtime/polkadot/src/lib.rs b/runtime/polkadot/src/lib.rs index 204d42a8edce..1a15dac0dd89 100644 --- a/runtime/polkadot/src/lib.rs +++ b/runtime/polkadot/src/lib.rs @@ -96,7 +96,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("polkadot"), impl_name: create_runtime_str!("parity-polkadot"), authoring_version: 0, - spec_version: 9070, + spec_version: 9080, impl_version: 0, #[cfg(not(feature = "disable-runtime-api"))] apis: RUNTIME_API_VERSIONS, diff --git a/runtime/rococo/Cargo.toml b/runtime/rococo/Cargo.toml index ec03fbcdbc5e..3da97bbddd51 100644 --- a/runtime/rococo/Cargo.toml +++ b/runtime/rococo/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rococo-runtime" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] edition = "2018" build = "build.rs" diff --git a/runtime/test-runtime/Cargo.toml b/runtime/test-runtime/Cargo.toml index 8c350080b4f4..1bd2c7882990 100644 --- a/runtime/test-runtime/Cargo.toml +++ b/runtime/test-runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-test-runtime" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] edition = "2018" build = "build.rs" diff --git a/runtime/westend/Cargo.toml b/runtime/westend/Cargo.toml index 876b63b3956d..e36836afbdd4 100644 --- a/runtime/westend/Cargo.toml +++ b/runtime/westend/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "westend-runtime" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] edition = "2018" build = "build.rs" diff --git a/runtime/westend/src/lib.rs b/runtime/westend/src/lib.rs index a8573f34dd93..fa1c1641cb8b 100644 --- a/runtime/westend/src/lib.rs +++ b/runtime/westend/src/lib.rs @@ -120,7 +120,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("westend"), impl_name: create_runtime_str!("parity-westend"), authoring_version: 2, - spec_version: 9070, + spec_version: 9080, impl_version: 0, #[cfg(not(feature = "disable-runtime-api"))] apis: RUNTIME_API_VERSIONS, diff --git a/statement-table/Cargo.toml b/statement-table/Cargo.toml index 993a709abb1b..0b8d48af3ffe 100644 --- a/statement-table/Cargo.toml +++ b/statement-table/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-statement-table" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies "] edition = "2018" diff --git a/xcm/Cargo.toml b/xcm/Cargo.toml index 3080ae157981..c48df915f8a5 100644 --- a/xcm/Cargo.toml +++ b/xcm/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "xcm" -version = "0.9.7" +version = "0.9.8" authors = ["Parity Technologies x"] description = "The basic XCM datastructures." edition = "2018" diff --git a/xcm/xcm-builder/Cargo.toml b/xcm/xcm-builder/Cargo.toml index 1111802aede4..7cda682d4b30 100644 --- a/xcm/xcm-builder/Cargo.toml +++ b/xcm/xcm-builder/Cargo.toml @@ -3,7 +3,7 @@ authors = ["Parity Technologies "] edition = "2018" name = "xcm-builder" description = "Tools & types for building with XCM and its executor." -version = "0.9.7" +version = "0.9.8" [dependencies] impl-trait-for-tuples = "0.2.0" diff --git a/xcm/xcm-executor/Cargo.toml b/xcm/xcm-executor/Cargo.toml index 1c8505cb2154..3ff04c530486 100644 --- a/xcm/xcm-executor/Cargo.toml +++ b/xcm/xcm-executor/Cargo.toml @@ -3,7 +3,7 @@ authors = ["Parity Technologies "] edition = "2018" name = "xcm-executor" description = "An abstract and configurable XCM message executor." -version = "0.9.7" +version = "0.9.8" [dependencies] impl-trait-for-tuples = "0.2.0" From a620156c0cdb46991b8eae89b99d1941aa8d9e18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bastian=20K=C3=B6cher?= Date: Thu, 1 Jul 2021 18:21:51 +0200 Subject: [PATCH 04/23] Companion for Substrate#8953 (#3140) * Companion * Update branch * Update to correspond to substrate fixes * Update cargo.lock * Remove patches * update Substrate Co-authored-by: parity-processbot <> --- Cargo.lock | 308 +++++++++++++------------- bridges/bin/millau/runtime/src/lib.rs | 3 +- bridges/bin/rialto/runtime/src/lib.rs | 3 +- primitives/src/v1/mod.rs | 31 --- runtime/kusama/src/lib.rs | 3 +- runtime/polkadot/src/lib.rs | 3 +- runtime/rococo/src/lib.rs | 3 +- runtime/test-runtime/src/lib.rs | 3 +- runtime/westend/src/lib.rs | 3 +- 9 files changed, 168 insertions(+), 192 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b6f9f8496ff7..07a847a4e5e6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1912,7 +1912,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "parity-scale-codec", ] @@ -1930,7 +1930,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "3.1.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-support", "frame-system", @@ -1949,7 +1949,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "Inflector", "chrono", @@ -1972,7 +1972,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-support", "frame-system", @@ -1985,7 +1985,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-support", "frame-system", @@ -2000,7 +2000,7 @@ dependencies = [ [[package]] name = "frame-metadata" version = "13.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "parity-scale-codec", "serde", @@ -2011,7 +2011,7 @@ dependencies = [ [[package]] name = "frame-support" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "bitflags", "frame-metadata", @@ -2038,7 +2038,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -2050,7 +2050,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.0.0", @@ -2062,7 +2062,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "proc-macro2", "quote", @@ -2072,7 +2072,7 @@ dependencies = [ [[package]] name = "frame-support-test" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-metadata", "frame-support", @@ -2092,7 +2092,7 @@ dependencies = [ [[package]] name = "frame-system" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -2109,7 +2109,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-support", @@ -2123,7 +2123,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "parity-scale-codec", "sp-api", @@ -2132,7 +2132,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-support", "parity-scale-codec", @@ -4064,7 +4064,7 @@ dependencies = [ [[package]] name = "max-encoded-len" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "impl-trait-for-tuples", "max-encoded-len-derive", @@ -4075,7 +4075,7 @@ dependencies = [ [[package]] name = "max-encoded-len-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -4578,7 +4578,7 @@ checksum = "13370dae44474229701bb69b90b4f4dca6404cb0357a2d50d635f1171dc3aa7b" [[package]] name = "pallet-authority-discovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-support", "frame-system", @@ -4593,7 +4593,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-support", "frame-system", @@ -4607,7 +4607,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-support", @@ -4630,7 +4630,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-support", @@ -4660,7 +4660,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-support", @@ -4696,7 +4696,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-support", @@ -4712,7 +4712,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-support", @@ -4727,7 +4727,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4748,7 +4748,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-support", @@ -4765,7 +4765,7 @@ dependencies = [ [[package]] name = "pallet-gilt" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-support", @@ -4779,7 +4779,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "3.1.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-support", @@ -4801,7 +4801,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4816,7 +4816,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-support", @@ -4835,7 +4835,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-support", @@ -4851,7 +4851,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-support", @@ -4866,7 +4866,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "ckb-merkle-mountain-range", "frame-benchmarking", @@ -4883,7 +4883,7 @@ dependencies = [ [[package]] name = "pallet-mmr-primitives" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-support", "frame-system", @@ -4899,7 +4899,7 @@ dependencies = [ [[package]] name = "pallet-mmr-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -4917,7 +4917,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-support", @@ -4932,7 +4932,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-support", "frame-system", @@ -4945,7 +4945,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-support", "frame-system", @@ -4961,7 +4961,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4983,7 +4983,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-support", @@ -4999,7 +4999,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "enumflags2", "frame-support", @@ -5013,7 +5013,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-support", @@ -5028,7 +5028,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-support", "frame-system", @@ -5048,7 +5048,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-support", @@ -5064,7 +5064,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-support", "frame-system", @@ -5077,7 +5077,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5101,7 +5101,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -5112,7 +5112,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "log", "sp-arithmetic", @@ -5121,7 +5121,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-support", "frame-system", @@ -5134,7 +5134,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-support", @@ -5152,7 +5152,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-support", @@ -5167,7 +5167,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-support", "frame-system", @@ -5183,7 +5183,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -5200,7 +5200,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5211,7 +5211,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-support", @@ -5227,7 +5227,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-benchmarking", "frame-support", @@ -5242,7 +5242,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "enumflags2", "frame-benchmarking", @@ -7575,7 +7575,7 @@ dependencies = [ [[package]] name = "remote-externalities" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "env_logger 0.8.4", "hex", @@ -7869,7 +7869,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "log", "sp-core", @@ -7881,7 +7881,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "async-trait", "derive_more", @@ -7910,7 +7910,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "futures 0.3.15", "futures-timer 3.0.2", @@ -7933,7 +7933,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -7949,7 +7949,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7969,7 +7969,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -7980,7 +7980,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "chrono", "fdlimit", @@ -8018,7 +8018,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "derive_more", "fnv", @@ -8052,7 +8052,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "blake2-rfc", "hash-db", @@ -8082,7 +8082,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "async-trait", "parking_lot 0.11.1", @@ -8095,7 +8095,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "async-trait", "derive_more", @@ -8141,7 +8141,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "derive_more", "futures 0.3.15", @@ -8165,7 +8165,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "fork-tree", "parity-scale-codec", @@ -8178,7 +8178,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "async-trait", "futures 0.3.15", @@ -8206,7 +8206,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "sc-client-api", "sp-authorship", @@ -8217,7 +8217,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "derive_more", "lazy_static", @@ -8246,7 +8246,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "derive_more", "parity-scale-codec", @@ -8263,7 +8263,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "log", "parity-scale-codec", @@ -8278,7 +8278,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "cfg-if 1.0.0", "libc", @@ -8297,7 +8297,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "async-trait", "derive_more", @@ -8338,7 +8338,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "derive_more", "finality-grandpa", @@ -8362,7 +8362,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-warp-sync" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "derive_more", "futures 0.3.15", @@ -8383,7 +8383,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "ansi_term 0.12.1", "futures 0.3.15", @@ -8401,7 +8401,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "async-trait", "derive_more", @@ -8421,7 +8421,7 @@ dependencies = [ [[package]] name = "sc-light" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "hash-db", "lazy_static", @@ -8440,7 +8440,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "async-std", "async-trait", @@ -8493,7 +8493,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "futures 0.3.15", "futures-timer 3.0.2", @@ -8510,7 +8510,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "bytes 0.5.6", "fnv", @@ -8538,7 +8538,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "futures 0.3.15", "libp2p", @@ -8551,7 +8551,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -8560,7 +8560,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "futures 0.3.15", "hash-db", @@ -8595,7 +8595,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "derive_more", "futures 0.3.15", @@ -8620,7 +8620,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "futures 0.1.29", "jsonrpc-core", @@ -8638,7 +8638,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "async-trait", "directories", @@ -8704,7 +8704,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "log", "parity-scale-codec", @@ -8719,7 +8719,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -8739,7 +8739,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "chrono", "futures 0.3.15", @@ -8759,7 +8759,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "ansi_term 0.12.1", "atty", @@ -8796,7 +8796,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -8807,7 +8807,7 @@ dependencies = [ [[package]] name = "sc-transaction-graph" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "derive_more", "futures 0.3.15", @@ -8829,7 +8829,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "futures 0.3.15", "intervalier", @@ -9308,7 +9308,7 @@ dependencies = [ [[package]] name = "sp-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "hash-db", "log", @@ -9325,7 +9325,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "blake2-rfc", "proc-macro-crate 1.0.0", @@ -9337,7 +9337,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "max-encoded-len", "parity-scale-codec", @@ -9350,7 +9350,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "integer-sqrt", "num-traits", @@ -9364,7 +9364,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "parity-scale-codec", "sp-api", @@ -9376,7 +9376,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "async-trait", "parity-scale-codec", @@ -9388,7 +9388,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "parity-scale-codec", "sp-api", @@ -9400,7 +9400,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "futures 0.3.15", "log", @@ -9418,7 +9418,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "async-trait", "futures 0.3.15", @@ -9445,7 +9445,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "async-trait", "merlin", @@ -9467,7 +9467,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "parity-scale-codec", "sp-arithmetic", @@ -9477,7 +9477,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -9489,7 +9489,7 @@ dependencies = [ [[package]] name = "sp-core" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "base58", "blake2-rfc", @@ -9534,7 +9534,7 @@ dependencies = [ [[package]] name = "sp-database" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "kvdb", "parking_lot 0.11.1", @@ -9543,7 +9543,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "proc-macro2", "quote", @@ -9553,7 +9553,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "environmental", "parity-scale-codec", @@ -9564,7 +9564,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "finality-grandpa", "log", @@ -9581,7 +9581,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9595,7 +9595,7 @@ dependencies = [ [[package]] name = "sp-io" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "futures 0.3.15", "hash-db", @@ -9620,7 +9620,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "lazy_static", "sp-core", @@ -9631,7 +9631,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "async-trait", "derive_more", @@ -9648,7 +9648,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "ruzstd", "zstd", @@ -9657,7 +9657,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "parity-scale-codec", "serde", @@ -9670,7 +9670,7 @@ dependencies = [ [[package]] name = "sp-npos-elections-compact" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -9681,7 +9681,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "sp-api", "sp-core", @@ -9691,7 +9691,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "backtrace", ] @@ -9699,7 +9699,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "rustc-hash", "serde", @@ -9710,7 +9710,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "either", "hash256-std-hasher", @@ -9732,7 +9732,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9749,7 +9749,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "Inflector", "proc-macro-crate 1.0.0", @@ -9761,7 +9761,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "serde", "serde_json", @@ -9770,7 +9770,7 @@ dependencies = [ [[package]] name = "sp-session" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "parity-scale-codec", "sp-api", @@ -9783,7 +9783,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -9793,7 +9793,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "hash-db", "log", @@ -9816,12 +9816,12 @@ dependencies = [ [[package]] name = "sp-std" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" [[package]] name = "sp-storage" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9834,7 +9834,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "log", "sp-core", @@ -9847,7 +9847,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "async-trait", "futures-timer 3.0.2", @@ -9864,7 +9864,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "erased-serde", "log", @@ -9882,7 +9882,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "derive_more", "futures 0.3.15", @@ -9898,7 +9898,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "async-trait", "log", @@ -9913,7 +9913,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "hash-db", "memory-db", @@ -9927,7 +9927,7 @@ dependencies = [ [[package]] name = "sp-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "futures 0.3.15", "futures-core", @@ -9939,7 +9939,7 @@ dependencies = [ [[package]] name = "sp-version" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9952,7 +9952,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "parity-scale-codec", "proc-macro-crate 1.0.0", @@ -9964,7 +9964,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -10109,7 +10109,7 @@ dependencies = [ [[package]] name = "substrate-browser-utils" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "chrono", "console_error_panic_hook", @@ -10135,7 +10135,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "platforms", ] @@ -10143,7 +10143,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.15", @@ -10166,7 +10166,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "async-std", "derive_more", @@ -10180,7 +10180,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "async-trait", "futures 0.1.29", @@ -10209,7 +10209,7 @@ dependencies = [ [[package]] name = "substrate-test-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "futures 0.3.15", "substrate-test-utils-derive", @@ -10219,7 +10219,7 @@ dependencies = [ [[package]] name = "substrate-test-utils-derive" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "proc-macro-crate 1.0.0", "quote", @@ -10229,7 +10229,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "ansi_term 0.12.1", "atty", @@ -10974,7 +10974,7 @@ checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" [[package]] name = "try-runtime-cli" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#a4c8ab99d68bdfa0cc85a07ae99b7e9f289ef450" +source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" dependencies = [ "frame-try-runtime", "log", diff --git a/bridges/bin/millau/runtime/src/lib.rs b/bridges/bin/millau/runtime/src/lib.rs index 33c21027f8a2..363f12c6c791 100644 --- a/bridges/bin/millau/runtime/src/lib.rs +++ b/bridges/bin/millau/runtime/src/lib.rs @@ -495,8 +495,9 @@ impl_runtime_apis! { fn validate_transaction( source: TransactionSource, tx: ::Extrinsic, + block_hash: ::Hash, ) -> TransactionValidity { - Executive::validate_transaction(source, tx) + Executive::validate_transaction(source, tx, block_hash) } } diff --git a/bridges/bin/rialto/runtime/src/lib.rs b/bridges/bin/rialto/runtime/src/lib.rs index 219feda64693..f61965a83c3d 100644 --- a/bridges/bin/rialto/runtime/src/lib.rs +++ b/bridges/bin/rialto/runtime/src/lib.rs @@ -668,8 +668,9 @@ impl_runtime_apis! { fn validate_transaction( source: TransactionSource, tx: ::Extrinsic, + block_hash: ::Hash, ) -> TransactionValidity { - Executive::validate_transaction(source, tx) + Executive::validate_transaction(source, tx, block_hash) } } diff --git a/primitives/src/v1/mod.rs b/primitives/src/v1/mod.rs index 02112e068323..83192f4f6ab3 100644 --- a/primitives/src/v1/mod.rs +++ b/primitives/src/v1/mod.rs @@ -874,37 +874,16 @@ impl ApprovalVote { sp_api::decl_runtime_apis! { /// The API for querying the state of parachains on-chain. pub trait ParachainHost { - // NOTE: Many runtime API are declared with `#[skip_initialize_block]`. This is because without - // this attribute before each runtime call, the `initialize_block` runtime API will be called. - // That in turns will lead to two things: - // - // (a) The frame_system module will be initialized to the next block. - // (b) Initialization sequences for each runtime module (pallet) will be run. - // - // (a) is undesirable because the runtime APIs are querying the state against a specific - // block state. However, due to that initialization the observed block number would be as if - // it was the next block. - // - // We dont want (b) mainly because block initialization can be very heavy. Upgrade enactment, - // storage migration, and whatever other logic exists in `on_initialize` will be executed - // if not explicitly opted out with the `#[skip_initialize_block]` attribute. - // - // Additionally, some runtime APIs may depend on state that is pruned on the `on_initialize`. - // At the moment of writing, this is `candidate_events`. - /// Get the current validators. - #[skip_initialize_block] fn validators() -> Vec; /// Returns the validator groups and rotation info localized based on the hypothetical child /// of a block whose state this is invoked on. Note that `now` in the `GroupRotationInfo` /// should be the successor of the number of the block. - #[skip_initialize_block] fn validator_groups() -> (Vec>, GroupRotationInfo); /// Yields information on all availability cores as relevant to the child block. /// Cores are either free or occupied. Free cores can have paras assigned to them. - #[skip_initialize_block] fn availability_cores() -> Vec>; /// Yields the persisted validation data for the given ParaId along with an assumption that @@ -912,54 +891,44 @@ sp_api::decl_runtime_apis! { /// /// Returns `None` if either the para is not registered or the assumption is `Freed` /// and the para already occupies a core. - #[skip_initialize_block] fn persisted_validation_data(para_id: Id, assumption: OccupiedCoreAssumption) -> Option>; /// Checks if the given validation outputs pass the acceptance criteria. - #[skip_initialize_block] fn check_validation_outputs(para_id: Id, outputs: CandidateCommitments) -> bool; /// Returns the session index expected at a child of the block. /// /// This can be used to instantiate a `SigningContext`. - #[skip_initialize_block] fn session_index_for_child() -> SessionIndex; /// Get the session info for the given session, if stored. - #[skip_initialize_block] fn session_info(index: SessionIndex) -> Option; /// Fetch the validation code used by a para, making the given `OccupiedCoreAssumption`. /// /// Returns `None` if either the para is not registered or the assumption is `Freed` /// and the para already occupies a core. - #[skip_initialize_block] fn validation_code(para_id: Id, assumption: OccupiedCoreAssumption) -> Option; /// Get the receipt of a candidate pending availability. This returns `Some` for any paras /// assigned to occupied cores in `availability_cores` and `None` otherwise. - #[skip_initialize_block] fn candidate_pending_availability(para_id: Id) -> Option>; /// Get a vector of events concerning candidates that occurred within a block. - #[skip_initialize_block] fn candidate_events() -> Vec>; /// Get all the pending inbound messages in the downward message queue for a para. - #[skip_initialize_block] fn dmq_contents( recipient: Id, ) -> Vec>; /// Get the contents of all channels addressed to the given recipient. Channels that have no /// messages in them are also included. - #[skip_initialize_block] fn inbound_hrmp_channels_contents(recipient: Id) -> BTreeMap>>; /// Get the validation code from its hash. - #[skip_initialize_block] fn validation_code_by_hash(hash: ValidationCodeHash) -> Option; } } diff --git a/runtime/kusama/src/lib.rs b/runtime/kusama/src/lib.rs index afb052dcf5bf..77cbcfcde33a 100644 --- a/runtime/kusama/src/lib.rs +++ b/runtime/kusama/src/lib.rs @@ -1590,8 +1590,9 @@ sp_api::impl_runtime_apis! { fn validate_transaction( source: TransactionSource, tx: ::Extrinsic, + block_hash: ::Hash, ) -> TransactionValidity { - Executive::validate_transaction(source, tx) + Executive::validate_transaction(source, tx, block_hash) } } diff --git a/runtime/polkadot/src/lib.rs b/runtime/polkadot/src/lib.rs index 1a15dac0dd89..518c24fb3754 100644 --- a/runtime/polkadot/src/lib.rs +++ b/runtime/polkadot/src/lib.rs @@ -1155,8 +1155,9 @@ sp_api::impl_runtime_apis! { fn validate_transaction( source: TransactionSource, tx: ::Extrinsic, + block_hash: ::Hash, ) -> TransactionValidity { - Executive::validate_transaction(source, tx) + Executive::validate_transaction(source, tx, block_hash) } } diff --git a/runtime/rococo/src/lib.rs b/runtime/rococo/src/lib.rs index d7da171acdba..6992d23bcb86 100644 --- a/runtime/rococo/src/lib.rs +++ b/runtime/rococo/src/lib.rs @@ -1058,8 +1058,9 @@ sp_api::impl_runtime_apis! { fn validate_transaction( source: TransactionSource, tx: ::Extrinsic, + block_hash: ::Hash, ) -> TransactionValidity { - Executive::validate_transaction(source, tx) + Executive::validate_transaction(source, tx, block_hash) } } diff --git a/runtime/test-runtime/src/lib.rs b/runtime/test-runtime/src/lib.rs index 2646e189d918..a1d9a76cffc5 100644 --- a/runtime/test-runtime/src/lib.rs +++ b/runtime/test-runtime/src/lib.rs @@ -618,8 +618,9 @@ sp_api::impl_runtime_apis! { fn validate_transaction( source: TransactionSource, tx: ::Extrinsic, + block_hash: ::Hash, ) -> TransactionValidity { - Executive::validate_transaction(source, tx) + Executive::validate_transaction(source, tx, block_hash) } } diff --git a/runtime/westend/src/lib.rs b/runtime/westend/src/lib.rs index fa1c1641cb8b..4a312cec5d7f 100644 --- a/runtime/westend/src/lib.rs +++ b/runtime/westend/src/lib.rs @@ -1182,8 +1182,9 @@ sp_api::impl_runtime_apis! { fn validate_transaction( source: TransactionSource, tx: ::Extrinsic, + block_hash: ::Hash, ) -> TransactionValidity { - Executive::validate_transaction(source, tx) + Executive::validate_transaction(source, tx, block_hash) } } From 677d4b10f3224db36002c25c106ed4318019cd17 Mon Sep 17 00:00:00 2001 From: Kian Paimani <5588131+kianenigma@users.noreply.github.com> Date: Thu, 1 Jul 2021 21:22:35 +0200 Subject: [PATCH 05/23] Staking Miner (#3141) Co-authored-by: Peter Goodspeed-Niklaus Co-authored-by: Peter Goodspeed-Niklaus --- Cargo.lock | 44 ++ Cargo.toml | 1 + node/service/src/chain_spec.rs | 6 +- runtime/common/src/elections.rs | 37 +- runtime/kusama/src/lib.rs | 19 +- runtime/polkadot/src/lib.rs | 17 +- runtime/westend/src/lib.rs | 17 +- utils/staking-miner/.gitignore | 2 + utils/staking-miner/Cargo.toml | 47 ++ utils/staking-miner/src/dry_run.rs | 105 ++++ utils/staking-miner/src/emergency_solution.rs | 52 ++ utils/staking-miner/src/main.rs | 493 ++++++++++++++++++ utils/staking-miner/src/monitor.rs | 163 ++++++ utils/staking-miner/src/prelude.rs | 48 ++ utils/staking-miner/src/rpc_helpers.rs | 107 ++++ utils/staking-miner/src/signer.rs | 73 +++ 16 files changed, 1194 insertions(+), 37 deletions(-) create mode 100644 utils/staking-miner/.gitignore create mode 100644 utils/staking-miner/Cargo.toml create mode 100644 utils/staking-miner/src/dry_run.rs create mode 100644 utils/staking-miner/src/emergency_solution.rs create mode 100644 utils/staking-miner/src/main.rs create mode 100644 utils/staking-miner/src/monitor.rs create mode 100644 utils/staking-miner/src/prelude.rs create mode 100644 utils/staking-miner/src/rpc_helpers.rs create mode 100644 utils/staking-miner/src/signer.rs diff --git a/Cargo.lock b/Cargo.lock index 07a847a4e5e6..05d9b0f5f810 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3181,6 +3181,12 @@ dependencies = [ "slab", ] +[[package]] +name = "jsonrpsee" +version = "0.2.0-alpha.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4e48ecdd757b22fae87e87aad2dbadf11c56499c6509763c8ef20db16ffb0e9" + [[package]] name = "jsonrpsee-proc-macros" version = "0.2.0" @@ -9984,6 +9990,44 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" +[[package]] +name = "staking-miner" +version = "0.9.0" +dependencies = [ + "env_logger 0.8.4", + "frame-election-provider-support", + "frame-support", + "frame-system", + "hex", + "jsonrpsee", + "jsonrpsee-types", + "jsonrpsee-ws-client", + "kusama-runtime", + "lazy_static", + "log", + "pallet-election-provider-multi-phase", + "pallet-staking", + "pallet-transaction-payment", + "parity-scale-codec", + "paste 1.0.5", + "polkadot-core-primitives", + "polkadot-runtime", + "polkadot-runtime-common", + "remote-externalities", + "serde", + "serde_json", + "sp-core", + "sp-io", + "sp-npos-elections", + "sp-runtime", + "sp-transaction-pool", + "sp-version", + "structopt", + "thiserror", + "tokio 0.2.21", + "westend-runtime", +] + [[package]] name = "static_assertions" version = "1.1.0" diff --git a/Cargo.toml b/Cargo.toml index 54681c52ebe1..a9cd823c8d25 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -79,6 +79,7 @@ members = [ "parachain/test-parachains", "parachain/test-parachains/adder", "parachain/test-parachains/adder/collator", + "utils/staking-miner", ] # We want to be able to build the bridge relayer without pulling it (and all of its diff --git a/node/service/src/chain_spec.rs b/node/service/src/chain_spec.rs index 676762b7e536..2eee6b5f4cea 100644 --- a/node/service/src/chain_spec.rs +++ b/node/service/src/chain_spec.rs @@ -1213,7 +1213,7 @@ pub fn polkadot_testnet_genesis( }, staking: polkadot::StakingConfig { minimum_validator_count: 1, - validator_count: 2, + validator_count: initial_authorities.len() as u32, stakers: initial_authorities .iter() .map(|x| { @@ -1312,7 +1312,7 @@ pub fn kusama_testnet_genesis( }, staking: kusama::StakingConfig { minimum_validator_count: 1, - validator_count: 2, + validator_count: initial_authorities.len() as u32, stakers: initial_authorities .iter() .map(|x| { @@ -1416,7 +1416,7 @@ pub fn westend_testnet_genesis( }, staking: westend::StakingConfig { minimum_validator_count: 1, - validator_count: 2, + validator_count: initial_authorities.len() as u32, stakers: initial_authorities .iter() .map(|x| { diff --git a/runtime/common/src/elections.rs b/runtime/common/src/elections.rs index 3b7086fcfd5d..b2109b598ebd 100644 --- a/runtime/common/src/elections.rs +++ b/runtime/common/src/elections.rs @@ -18,10 +18,14 @@ use frame_support::{ parameter_types, - traits::Get, - weights::{DispatchClass, Weight, WeightToFeePolynomial}, + weights::{DispatchClass, Weight}, }; -use sp_runtime::Perbill; +use sp_runtime::{ + traits::{Zero, Dispatchable}, + FixedU128, FixedPointNumber, Perbill, +}; +use pallet_transaction_payment::OnChargeTransaction; +use frame_support::weights::{DispatchInfo, Pays}; use super::{BlockExecutionWeight, BlockLength, BlockWeights}; parameter_types! { @@ -44,18 +48,21 @@ parameter_types! { .get(DispatchClass::Normal); } -/// Compute the expected fee for submitting an election solution. -/// -/// This is `multiplier` multiplied by the fee for the expected submission weight according to the -/// weight info. -/// -/// Assumes that the signed submission queue is full. -pub fn fee_for_submit_call(multiplier: Perbill) -> WeightToFee::Balance +pub fn fee_for_submit_call( + multiplier: FixedU128, + weight: Weight, + length: u32, +) -> primitives::v1::Balance where - T: pallet_election_provider_multi_phase::Config, - WeightToFee: WeightToFeePolynomial, - WeightInfo: pallet_election_provider_multi_phase::WeightInfo, + T: pallet_transaction_payment::Config, + ::OnChargeTransaction: + OnChargeTransaction, + ::Call: Dispatchable, { - let expected_weight = WeightInfo::submit(T::SignedMaxSubmissions::get()); - multiplier * WeightToFee::calc(&expected_weight) + let info = DispatchInfo { weight, class: DispatchClass::Normal, pays_fee: Pays::Yes }; + multiplier.saturating_mul_int(pallet_transaction_payment::Pallet::::compute_fee( + length, + &info, + Zero::zero(), + )) } diff --git a/runtime/kusama/src/lib.rs b/runtime/kusama/src/lib.rs index 77cbcfcde33a..33e7b3697fe8 100644 --- a/runtime/kusama/src/lib.rs +++ b/runtime/kusama/src/lib.rs @@ -65,8 +65,8 @@ use xcm_builder::{ use xcm_executor::XcmExecutor; use sp_arithmetic::Perquintill; use sp_runtime::{ - create_runtime_str, generic, impl_opaque_keys, - ApplyExtrinsicResult, KeyTypeId, Percent, Permill, Perbill, + create_runtime_str, generic, impl_opaque_keys, ApplyExtrinsicResult, KeyTypeId, Percent, + Permill, Perbill, FixedPointNumber, transaction_validity::{TransactionValidity, TransactionSource, TransactionPriority}, traits::{ BlakeTwo256, Block as BlockT, OpaqueKeys, ConvertInto, AccountIdLookup, @@ -101,6 +101,7 @@ pub use pallet_staking::StakerStatus; pub use sp_runtime::BuildStorage; pub use pallet_timestamp::Call as TimestampCall; pub use pallet_balances::Call as BalancesCall; +pub use pallet_election_provider_multi_phase::Call as EPMCall; /// Constant values used within the runtime. pub mod constants; @@ -348,6 +349,7 @@ impl pallet_session::historical::Config for Runtime { type FullIdentificationOf = pallet_staking::ExposureOf; } +use pallet_election_provider_multi_phase::WeightInfo; parameter_types! { // phase durations. 1/4 of the last session for each. pub const SignedPhase: u32 = EPOCH_DURATION_IN_SLOTS / 4; @@ -360,11 +362,14 @@ parameter_types! { // This formula is currently adjusted such that a typical solution will spend an amount equal // to the base deposit for every 50 kb. pub const SignedDepositByte: Balance = deposit(1, 0) / (50 * 1024); - pub SignedRewardBase: Balance = fee_for_submit_call::< - Runtime, - crate::constants::fee::WeightToFee, - crate::weights::pallet_election_provider_multi_phase::WeightInfo, - >(Perbill::from_perthousand(1500)); + pub SignedRewardBase: Balance = fee_for_submit_call::( + // give 20% threshold. + sp_runtime::FixedU128::saturating_from_rational(12, 10), + // maximum weight possible. + weights::pallet_election_provider_multi_phase::WeightInfo::::submit(SignedMaxSubmissions::get()), + // assume a solution of 100kb length. + 100 * 1024 + ); // fallback: emergency phase. pub const Fallback: pallet_election_provider_multi_phase::FallbackStrategy = diff --git a/runtime/polkadot/src/lib.rs b/runtime/polkadot/src/lib.rs index 518c24fb3754..a0bb4f1dc485 100644 --- a/runtime/polkadot/src/lib.rs +++ b/runtime/polkadot/src/lib.rs @@ -41,7 +41,7 @@ use primitives::v1::{ ValidatorIndex, InboundDownwardMessage, InboundHrmpMessage, SessionInfo, }; use sp_runtime::{ - create_runtime_str, generic, impl_opaque_keys, ApplyExtrinsicResult, + create_runtime_str, generic, impl_opaque_keys, ApplyExtrinsicResult, FixedPointNumber, KeyTypeId, Percent, Permill, Perbill, curve::PiecewiseLinear, transaction_validity::{TransactionValidity, TransactionSource, TransactionPriority}, traits::{ @@ -77,6 +77,7 @@ pub use pallet_staking::StakerStatus; pub use sp_runtime::BuildStorage; pub use pallet_timestamp::Call as TimestampCall; pub use pallet_balances::Call as BalancesCall; +pub use pallet_election_provider_multi_phase::Call as EPMCall; /// Constant values used within the runtime. pub mod constants; @@ -328,6 +329,7 @@ impl pallet_session::historical::Config for Runtime { type FullIdentificationOf = pallet_staking::ExposureOf; } +use pallet_election_provider_multi_phase::WeightInfo; parameter_types! { // phase durations. 1/4 of the last session for each. pub const SignedPhase: u32 = EPOCH_DURATION_IN_SLOTS / 4; @@ -340,11 +342,14 @@ parameter_types! { // This formula is currently adjusted such that a typical solution will spend an amount equal // to the base deposit for every 50 kb. pub const SignedDepositByte: Balance = deposit(1, 0) / (50 * 1024); - pub SignedRewardBase: Balance = fee_for_submit_call::< - Runtime, - crate::constants::fee::WeightToFee, - crate::weights::pallet_election_provider_multi_phase::WeightInfo, - >(Perbill::from_perthousand(1500)); + pub SignedRewardBase: Balance = fee_for_submit_call::( + // give 20% threshold. + sp_runtime::FixedU128::saturating_from_rational(12, 10), + // maximum weight possible. + weights::pallet_election_provider_multi_phase::WeightInfo::::submit(SignedMaxSubmissions::get()), + // assume a solution of 200kb length. + 200 * 1024 + ); // fallback: emergency phase. pub const Fallback: pallet_election_provider_multi_phase::FallbackStrategy = diff --git a/runtime/westend/src/lib.rs b/runtime/westend/src/lib.rs index 4a312cec5d7f..499825520ddf 100644 --- a/runtime/westend/src/lib.rs +++ b/runtime/westend/src/lib.rs @@ -65,7 +65,7 @@ use xcm_builder::{ }; use sp_runtime::{ - create_runtime_str, generic, impl_opaque_keys, + create_runtime_str, generic, impl_opaque_keys, FixedPointNumber, ApplyExtrinsicResult, KeyTypeId, Perbill, curve::PiecewiseLinear, transaction_validity::{TransactionValidity, TransactionSource, TransactionPriority}, traits::{ @@ -100,6 +100,7 @@ pub use pallet_staking::StakerStatus; pub use sp_runtime::BuildStorage; pub use pallet_timestamp::Call as TimestampCall; pub use pallet_balances::Call as BalancesCall; +pub use pallet_election_provider_multi_phase::Call as EPMCall; /// Constant values used within the runtime. pub mod constants; @@ -333,6 +334,7 @@ impl pallet_session::historical::Config for Runtime { type FullIdentificationOf = pallet_staking::ExposureOf; } +use pallet_election_provider_multi_phase::WeightInfo; parameter_types! { // phase durations. 1/4 of the last session for each. pub const SignedPhase: u32 = EPOCH_DURATION_IN_SLOTS / 4; @@ -345,11 +347,14 @@ parameter_types! { // This formula is currently adjusted such that a typical solution will spend an amount equal // to the base deposit for every 50 kb. pub const SignedDepositByte: Balance = deposit(1, 0) / (50 * 1024); - pub SignedRewardBase: Balance = fee_for_submit_call::< - Runtime, - crate::constants::fee::WeightToFee, - crate::weights::pallet_election_provider_multi_phase::WeightInfo, - >(Perbill::from_perthousand(1500)); + pub SignedRewardBase: Balance = fee_for_submit_call::( + // give 20% threshold. + sp_runtime::FixedU128::saturating_from_rational(12, 10), + // maximum weight possible. + weights::pallet_election_provider_multi_phase::WeightInfo::::submit(SignedMaxSubmissions::get()), + // assume a solution of 100kb length. + 100 * 1024 + ); // fallback: emergency phase. pub const Fallback: pallet_election_provider_multi_phase::FallbackStrategy = diff --git a/utils/staking-miner/.gitignore b/utils/staking-miner/.gitignore new file mode 100644 index 000000000000..db7cff848330 --- /dev/null +++ b/utils/staking-miner/.gitignore @@ -0,0 +1,2 @@ +*.key +*.bin diff --git a/utils/staking-miner/Cargo.toml b/utils/staking-miner/Cargo.toml new file mode 100644 index 000000000000..e8aae026bf72 --- /dev/null +++ b/utils/staking-miner/Cargo.toml @@ -0,0 +1,47 @@ +[package] +name = "staking-miner" +version = "0.9.0" +authors = ["Parity Technologies "] +edition = "2018" + +[dependencies] +codec = { package = "parity-scale-codec", version = "2.0.0" } +tokio = { version = "0.2", features = ["macros"] } +log = "0.4.11" +env_logger = "0.8.3" +structopt = "0.3.0" +jsonrpsee-ws-client = { version = "0.2.0", default-features = false, features = ["tokio02"] } +jsonrpsee-types = { version = "0.2.0" } +jsonrpsee = "=0.2.0-alpha.6" +serde_json = "1.0" +serde = "1.0.0" +hex = "0.4.0" +lazy_static = "1.4.0" +paste = "1.0.5" +thiserror = "1.0.0" + +remote-externalities = { git = "https://github.com/paritytech/substrate", branch = "master" } + +sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-io = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-npos-elections = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "master" } + + +frame-system = { git = "https://github.com/paritytech/substrate", branch = "master" } +frame-support = { git = "https://github.com/paritytech/substrate", branch = "master" } +frame-election-provider-support = { git = "https://github.com/paritytech/substrate", branch = "master" } +pallet-election-provider-multi-phase = { git = "https://github.com/paritytech/substrate", branch = "master" } +pallet-staking = { git = "https://github.com/paritytech/substrate", branch = "master" } +pallet-transaction-payment = { git = "https://github.com/paritytech/substrate", branch = "master" } + +core-primitives = { package = "polkadot-core-primitives", path = "../../core-primitives" } + +runtime-common = { package = "polkadot-runtime-common", path = "../../runtime/common" } +polkadot-runtime = { path = "../../runtime/polkadot" } +kusama-runtime = { path = "../../runtime/kusama" } +westend-runtime = { path = "../../runtime/westend" } + +[dev-dependencies] +sp-version = { git = "https://github.com/paritytech/substrate", branch = "master" } diff --git a/utils/staking-miner/src/dry_run.rs b/utils/staking-miner/src/dry_run.rs new file mode 100644 index 000000000000..853e8da588b8 --- /dev/null +++ b/utils/staking-miner/src/dry_run.rs @@ -0,0 +1,105 @@ +// Copyright 2021 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! The dry-run command. + +use crate::{ + params, prelude::*, rpc_helpers::*, signer::Signer, DryRunConfig, Error, SharedConfig, WsClient, +}; +use codec::Encode; + +/// Forcefully create the snapshot. This can be used to compute the election at anytime. +fn force_create_snapshot(ext: &mut Ext) -> Result<(), Error> { + ext.execute_with(|| { + if >::exists() { + log::info!(target: LOG_TARGET, "snapshot already exists."); + Ok(()) + } else { + log::info!(target: LOG_TARGET, "creating a fake snapshot now."); + >::create_snapshot().map(|_| ()).map_err(Into::into) + } + }) +} + +/// Helper method to print the encoded size of the snapshot. +fn measure_snapshot_size(ext: &mut Ext) { + ext.execute_with(|| { + log::info!(target: LOG_TARGET, "Metadata: {:?}", >::snapshot_metadata()); + log::info!( + target: LOG_TARGET, + "Encoded Length: {:?}", + >::snapshot() + .expect("snapshot must exist before calling `measure_snapshot_size`") + .encode() + .len() + ); + }) +} + +/// Find the stake threshold in order to have at most `count` voters. +#[allow(unused)] +fn find_threshold(ext: &mut Ext, count: usize) { + ext.execute_with(|| { + let mut voters = >::snapshot() + .expect("snapshot must exist before calling `measure_snapshot_size`") + .voters; + voters.sort_by_key(|(_voter, weight, _targets)| std::cmp::Reverse(*weight)); + match voters.get(count) { + Some(threshold_voter) => println!("smallest allowed voter is {:?}", threshold_voter), + None => { + println!("requested truncation to {} voters but had only {}", count, voters.len()); + println!("smallest current voter: {:?}", voters.last()); + } + } + }) +} + +macro_rules! dry_run_cmd_for { ($runtime:ident) => { paste::paste! { + /// Execute the dry-run command. + pub(crate) async fn []( + client: &WsClient, + shared: SharedConfig, + config: DryRunConfig, + signer: Signer, + ) -> Result<(), Error> { + use $crate::[<$runtime _runtime_exports>]::*; + let mut ext = crate::create_election_ext::(shared.uri.clone(), config.at, true).await?; + force_create_snapshot::(&mut ext)?; + measure_snapshot_size::(&mut ext); + let (raw_solution, witness) = crate::mine_unchecked::(&mut ext, config.iterations, false)?; + log::info!(target: LOG_TARGET, "mined solution with {:?}", &raw_solution.score); + + let nonce = crate::get_account_info::(client, &signer.account, config.at) + .await? + .map(|i| i.nonce) + .expect("signer account is checked to exist upon startup; it can only die if it \ + transfers funds out of it, or get slashed. If it does not exist at this point, \ + it is likely due to a bug, or the signer got slashed. Terminating." + ); + let tip = 0 as Balance; + let era = sp_runtime::generic::Era::Immortal; + let extrinsic = ext.execute_with(|| create_uxt(raw_solution, witness, signer.clone(), nonce, tip, era)); + + let bytes = sp_core::Bytes(extrinsic.encode().to_vec()); + let outcome = rpc_decode::(client, "system_dryRun", params!{ bytes }).await?; + log::info!(target: LOG_TARGET, "dry-run outcome is {:?}", outcome); + Ok(()) + } +}}} + +dry_run_cmd_for!(polkadot); +dry_run_cmd_for!(kusama); +dry_run_cmd_for!(westend); diff --git a/utils/staking-miner/src/emergency_solution.rs b/utils/staking-miner/src/emergency_solution.rs new file mode 100644 index 000000000000..b41c69e1e0e6 --- /dev/null +++ b/utils/staking-miner/src/emergency_solution.rs @@ -0,0 +1,52 @@ +// Copyright 2021 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! The emergency-solution command. + +use crate::{prelude::*, SharedConfig, Error}; +use std::io::Write; +use codec::Encode; + +macro_rules! emergency_solution_cmd_for { ($runtime:ident) => { paste::paste! { + /// Execute the emergency-solution command. + pub(crate) async fn []( + shared: SharedConfig, + ) -> Result<(), Error> { + use $crate::[<$runtime _runtime_exports>]::*; + let mut ext = crate::create_election_ext::(shared.uri.clone(), None, false).await?; + ext.execute_with(|| { + assert!(EPM::Pallet::::current_phase().is_emergency()); + // NOTE: this internally calls feasibility_check, but we just re-do it here as an easy way + // to get a `ReadySolution`. + let (raw_solution, _) = >::mine_solution(50)?; + log::info!(target: LOG_TARGET, "mined solution with {:?}", &raw_solution.score); + let ready_solution = EPM::Pallet::::feasibility_check(raw_solution, EPM::ElectionCompute::Signed)?; + let encoded_ready = ready_solution.encode(); + let encoded_support = ready_solution.supports.encode(); + let mut solution_file = std::fs::File::create("solution.bin")?; + let mut supports_file = std::fs::File::create("solution.supports.bin")?; + solution_file.write_all(&encoded_ready)?; + supports_file.write_all(&encoded_support)?; + log::info!(target: LOG_TARGET, "ReadySolution: size {:?} / score = {:?}", encoded_ready.len(), ready_solution.score); + log::trace!(target: LOG_TARGET, "Supports: {}", sp_core::hexdisplay::HexDisplay::from(&encoded_support)); + Ok(()) + }) + } +}}} + +emergency_solution_cmd_for!(polkadot); +emergency_solution_cmd_for!(kusama); +emergency_solution_cmd_for!(westend); diff --git a/utils/staking-miner/src/main.rs b/utils/staking-miner/src/main.rs new file mode 100644 index 000000000000..0bc83866f977 --- /dev/null +++ b/utils/staking-miner/src/main.rs @@ -0,0 +1,493 @@ +// Copyright 2021 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! # Polkadot Staking Miner. +//! +//! Simple bot capable of monitoring a polkadot (and cousins) chain and submitting solutions to the +//! 'pallet-election-provider-multi-phase'. See `--help` for more details. +//! +//! # Implementation Notes: +//! +//! - First draft: Be aware that this is the first draft and there might be bugs, or undefined +//! behaviors. Don't attach this bot to an account with lots of funds. +//! - Quick to crash: The bot is written so that it only continues to work if everything goes well. +//! In case of any failure (RPC, logic, IO), it will crash. This was a decision to simplify the +//! development. It is intended to run this bot with a `restart = true` way, so that it reports it +//! crash, but resumes work thereafter. + +mod dry_run; +mod emergency_solution; +mod monitor; +mod prelude; +mod rpc_helpers; +mod signer; + +pub(crate) use prelude::*; +pub(crate) use signer::get_account_info; + +use jsonrpsee_ws_client::{WsClient, WsClientBuilder}; +use remote_externalities::{Builder, Mode, OnlineConfig}; +use sp_runtime::traits::Block as BlockT; +use structopt::StructOpt; + +pub(crate) enum AnyRuntime { + Polkadot, + Kusama, + Westend, +} + +pub(crate) static mut RUNTIME: AnyRuntime = AnyRuntime::Polkadot; + +macro_rules! construct_runtime_prelude { + ($runtime:ident) => { paste::paste! { + #[allow(unused_import)] + pub(crate) mod [<$runtime _runtime_exports>] { + pub(crate) use crate::prelude::EPM; + pub(crate) use [<$runtime _runtime>]::*; + pub(crate) use crate::monitor::[] as monitor_cmd; + pub(crate) use crate::dry_run::[] as dry_run_cmd; + pub(crate) use crate::emergency_solution::[] as emergency_solution_cmd; + pub(crate) use private::{[] as create_uxt}; + + mod private { + use super::*; + pub(crate) fn []( + raw_solution: EPM::RawSolution>, + witness: u32, + signer: crate::signer::Signer, + nonce: crate::prelude::Index, + tip: crate::prelude::Balance, + era: sp_runtime::generic::Era, + ) -> UncheckedExtrinsic { + use codec::Encode as _; + use sp_core::Pair as _; + use sp_runtime::traits::StaticLookup as _; + + let crate::signer::Signer { account, pair, .. } = signer; + + let local_call = EPMCall::::submit(raw_solution, witness); + let call: Call = as std::convert::TryInto>::try_into(local_call) + .expect("election provider pallet must exist in the runtime, thus \ + inner call can be converted, qed." + ); + + let extra: SignedExtra = crate::[](nonce, tip, era); + let raw_payload = SignedPayload::new(call, extra).expect("creating signed payload infallible; qed."); + let signature = raw_payload.using_encoded(|payload| { + pair.clone().sign(payload) + }); + let (call, extra, _) = raw_payload.deconstruct(); + let address = ::Lookup::unlookup(account.clone()); + let extrinsic = UncheckedExtrinsic::new_signed(call, address, signature.into(), extra); + log::debug!( + target: crate::LOG_TARGET, "constructed extrinsic {}", + sp_core::hexdisplay::HexDisplay::from(&extrinsic.encode()) + ); + extrinsic + } + } + }} + }; +} + +// NOTE: we might be able to use some code from the bridges repo here. +fn signed_ext_builder_polkadot( + nonce: Index, + tip: Balance, + era: sp_runtime::generic::Era, +) -> polkadot_runtime_exports::SignedExtra { + use polkadot_runtime_exports::Runtime; + ( + frame_system::CheckSpecVersion::::new(), + frame_system::CheckTxVersion::::new(), + frame_system::CheckGenesis::::new(), + frame_system::CheckMortality::::from(era), + frame_system::CheckNonce::::from(nonce), + frame_system::CheckWeight::::new(), + pallet_transaction_payment::ChargeTransactionPayment::::from(tip), + runtime_common::claims::PrevalidateAttests::::new(), + ) +} + +fn signed_ext_builder_kusama( + nonce: Index, + tip: Balance, + era: sp_runtime::generic::Era, +) -> kusama_runtime_exports::SignedExtra { + use kusama_runtime_exports::Runtime; + ( + frame_system::CheckSpecVersion::::new(), + frame_system::CheckTxVersion::::new(), + frame_system::CheckGenesis::::new(), + frame_system::CheckMortality::::from(era), + frame_system::CheckNonce::::from(nonce), + frame_system::CheckWeight::::new(), + pallet_transaction_payment::ChargeTransactionPayment::::from(tip), + ) +} + +fn signed_ext_builder_westend( + nonce: Index, + tip: Balance, + era: sp_runtime::generic::Era, +) -> westend_runtime_exports::SignedExtra { + use westend_runtime_exports::Runtime; + ( + frame_system::CheckSpecVersion::::new(), + frame_system::CheckTxVersion::::new(), + frame_system::CheckGenesis::::new(), + frame_system::CheckMortality::::from(era), + frame_system::CheckNonce::::from(nonce), + frame_system::CheckWeight::::new(), + pallet_transaction_payment::ChargeTransactionPayment::::from(tip), + ) +} + +construct_runtime_prelude!(polkadot); +construct_runtime_prelude!(kusama); +construct_runtime_prelude!(westend); + +// NOTE: this is no longer used extensively, most of the per-runtime stuff us delegated to +// `construct_runtime_prelude` and macro's the import directly from it. A part of the code is also +// still generic over `T`. My hope is to still make everything generic over a `Runtime`, but sadly +// that is not currently possible as each runtime has its unique `Call`, and all Calls are not +// sharing any generic trait. In other words, to create the `UncheckedExtrinsic` of each chain, you +// need the concrete `Call` of that chain as well. +#[macro_export] +macro_rules! any_runtime { + ($($code:tt)*) => { + unsafe { + match $crate::RUNTIME { + $crate::AnyRuntime::Polkadot => { + use $crate::polkadot_runtime_exports::*; + $($code)* + }, + $crate::AnyRuntime::Kusama => { + use $crate::kusama_runtime_exports::*; + $($code)* + }, + $crate::AnyRuntime::Westend => { + use $crate::westend_runtime_exports::*; + $($code)* + } + } + } + } +} + +#[derive(Debug, thiserror::Error)] +enum Error { + Io(#[from] std::io::Error), + Jsonrpsee(#[from] jsonrpsee_ws_client::Error), + Codec(#[from] codec::Error), + Crypto(sp_core::crypto::SecretStringError), + RemoteExternalities(&'static str), + PalletMiner(EPM::unsigned::MinerError), + PalletElection(EPM::ElectionError), + PalletFeasibility(EPM::FeasibilityError), + AccountDoesNotExists, + IncorrectPhase, + AlreadySubmitted, +} + +impl From for Error { + fn from(e: sp_core::crypto::SecretStringError) -> Error { + Error::Crypto(e) + } +} + +impl From for Error { + fn from(e: EPM::unsigned::MinerError) -> Error { + Error::PalletMiner(e) + } +} + +impl From for Error { + fn from(e: EPM::ElectionError) -> Error { + Error::PalletElection(e) + } +} + +impl From for Error { + fn from(e: EPM::FeasibilityError) -> Error { + Error::PalletFeasibility(e) + } +} + +impl std::fmt::Display for Error { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + ::fmt(self, f) + } +} + +#[derive(Debug, Clone, StructOpt)] +enum Command { + /// Monitor for the phase being signed, then compute. + Monitor(MonitorConfig), + /// Just compute a solution now, and don't submit it. + DryRun(DryRunConfig), + /// Provide a solution that can be submitted to the chian as an emergency response. + EmergencySolution, +} + +#[derive(Debug, Clone, StructOpt)] +struct MonitorConfig { + /// They type of event to listen to. + /// + /// Typically, finalized is safer and there is no chance of anything going wrong, but it can be + /// slower. It is recommended to use finalized, if the duration of the signed phase is longer + /// than the the finality delay. + #[structopt(long, default_value = "head", possible_values = &["head", "finalized"])] + listen: String, + + #[structopt(long, short, default_value = "10")] + iterations: usize, +} + +#[derive(Debug, Clone, StructOpt)] +struct DryRunConfig { + /// The block hash at which scraping happens. If none is provided, the latest head is used. + #[structopt(long)] + at: Option, + + #[structopt(long, short, default_value = "10")] + iterations: usize, +} + +#[derive(Debug, Clone, StructOpt)] +struct SharedConfig { + /// The ws node to connect to. + #[structopt(long, default_value = DEFAULT_URI)] + uri: String, + + /// The file from which we read the account seed. + /// + /// WARNING: don't use an account with a large stash for this. Based on how the bot is + /// configured, it might re-try lose funds through transaction fees/deposits. + #[structopt(long)] + account_seed: std::path::PathBuf, +} + +#[derive(Debug, Clone, StructOpt)] +struct Opt { + /// The ws node to connect to. + #[structopt(flatten)] + shared: SharedConfig, + + #[structopt(subcommand)] + command: Command, +} + +/// Build the `Ext` at `hash` with all the data of `ElectionProviderMultiPhase` and `Staking` +/// stored. +async fn create_election_ext( + uri: String, + at: Option, + with_staking: bool, +) -> Result { + use frame_support::{storage::generator::StorageMap, traits::PalletInfo}; + let system_block_hash_key = >::prefix_hash(); + + Builder::::new() + .mode(Mode::Online(OnlineConfig { + transport: uri.into(), + at, + modules: if with_staking { + vec![ + ::PalletInfo::name::>() + .expect("Pallet always has name; qed.") + .to_string(), + ::PalletInfo::name::>() + .expect("Pallet always has name; qed.") + .to_string(), + ] + } else { + vec![::PalletInfo::name::>() + .expect("Pallet always has name; qed.") + .to_string() + ] + }, + ..Default::default() + })) + .inject_hashed_prefix(&system_block_hash_key) + .build() + .await + .map_err(|why| Error::RemoteExternalities(why)) +} + +/// Compute the election at the given block number. It expects to NOT be `Phase::Off`. In other +/// words, the snapshot must exists on the given externalities. +fn mine_unchecked( + ext: &mut Ext, + iterations: usize, + do_feasibility: bool, +) -> Result<(EPM::RawSolution>, u32), Error> { + ext.execute_with(|| { + let (solution, _) = >::mine_solution(iterations)?; + if do_feasibility { + let _ = >::feasibility_check(solution.clone(), EPM::ElectionCompute::Signed)?; + } + let witness = >::decode_len().unwrap_or_default(); + Ok((solution, witness as u32)) + }) +} + +#[allow(unused)] +fn mine_dpos(ext: &mut Ext) -> Result<(), Error> { + ext.execute_with(|| { + use std::collections::BTreeMap; + use EPM::RoundSnapshot; + let RoundSnapshot { voters, .. } = EPM::Snapshot::::get().unwrap(); + let desired_targets = EPM::DesiredTargets::::get().unwrap(); + let mut candidates_and_backing = BTreeMap::::new(); + voters.into_iter().for_each(|(who, stake, targets)| { + if targets.len() == 0 { + println!("target = {:?}", (who, stake, targets)); + return; + } + let share: u128 = (stake as u128) / (targets.len() as u128); + for target in targets { + *candidates_and_backing.entry(target.clone()).or_default() += share + } + }); + + let mut candidates_and_backing = + candidates_and_backing.into_iter().collect::>(); + candidates_and_backing.sort_by_key(|(_, total_stake)| *total_stake); + let winners = candidates_and_backing + .into_iter() + .rev() + .take(desired_targets as usize) + .collect::>(); + let score = { + let min_staker = *winners.last().map(|(_, stake)| stake).unwrap(); + let sum_stake = winners.iter().fold(0u128, |acc, (_, stake)| acc + stake); + let sum_squared = winners.iter().fold(0u128, |acc, (_, stake)| acc + stake); + [min_staker, sum_stake, sum_squared] + }; + println!("mined a dpos-like solution with score = {:?}", score); + Ok(()) + }) +} + +#[tokio::main] +async fn main() { + env_logger::Builder::from_default_env().format_module_path(true).format_level(true).init(); + let Opt { shared, command } = Opt::from_args(); + log::debug!(target: LOG_TARGET, "attempting to connect to {:?}", shared.uri); + + let client = loop { + let maybe_client = WsClientBuilder::default() + .connection_timeout(std::time::Duration::new(20, 0)) + .max_request_body_size(u32::MAX) + .build(&shared.uri) + .await; + match maybe_client { + Ok(client) => break client, + Err(why) => { + log::warn!( + target: LOG_TARGET, + "failed to connect to client due to {:?}, retrying soon..", + why + ); + std::thread::sleep(std::time::Duration::from_millis(2500)); + } + } + }; + + let chain = rpc_helpers::rpc::(&client, "system_chain", params! {}) + .await + .expect("system_chain infallible; qed."); + match chain.to_lowercase().as_str() { + "polkadot" | "development" => { + sp_core::crypto::set_default_ss58_version( + sp_core::crypto::Ss58AddressFormat::PolkadotAccount, + ); + // safety: this program will always be single threaded, thus accessing global static is + // safe. + unsafe { + RUNTIME = AnyRuntime::Polkadot; + } + } + "kusama" | "kusama-dev" => { + sp_core::crypto::set_default_ss58_version( + sp_core::crypto::Ss58AddressFormat::KusamaAccount, + ); + // safety: this program will always be single threaded, thus accessing global static is + // safe. + unsafe { + RUNTIME = AnyRuntime::Kusama; + } + } + "westend" => { + sp_core::crypto::set_default_ss58_version( + sp_core::crypto::Ss58AddressFormat::PolkadotAccount, + ); + // safety: this program will always be single threaded, thus accessing global static is + // safe. + unsafe { + RUNTIME = AnyRuntime::Westend; + } + } + _ => { + eprintln!("unexpected chain: {:?}", chain); + return; + } + } + log::info!(target: LOG_TARGET, "connected to chain {:?}", chain); + + let signer_account = any_runtime! { + signer::read_signer_uri::<_, Runtime>(&shared.account_seed, &client) + .await + .expect("Provided account is invalid, terminating.") + }; + + let outcome = any_runtime! { + match command.clone() { + Command::Monitor(c) => monitor_cmd(&client, shared, c, signer_account).await, + // --------------------^^ comes from the macro prelude, needs no generic. + Command::DryRun(c) => dry_run_cmd(&client, shared, c, signer_account).await, + Command::EmergencySolution => emergency_solution_cmd(shared.clone()).await, + } + }; + log::info!(target: LOG_TARGET, "round of execution finished. outcome = {:?}", outcome); +} + +#[cfg(test)] +mod tests { + use super::*; + + fn get_version() -> sp_version::RuntimeVersion { + use frame_support::traits::Get; + T::Version::get() + } + + #[test] + fn any_runtime_works() { + unsafe { + RUNTIME = AnyRuntime::Polkadot; + } + let polkadot_version = any_runtime! { get_version::() }; + + unsafe { + RUNTIME = AnyRuntime::Kusama; + } + let kusama_version = any_runtime! { get_version::() }; + + assert_eq!(polkadot_version.spec_name, "polkadot".into()); + assert_eq!(kusama_version.spec_name, "kusama".into()); + } +} diff --git a/utils/staking-miner/src/monitor.rs b/utils/staking-miner/src/monitor.rs new file mode 100644 index 000000000000..502b5a0bc55e --- /dev/null +++ b/utils/staking-miner/src/monitor.rs @@ -0,0 +1,163 @@ +// Copyright 2021 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! The monitor command. + +use crate::{ + params, prelude::*, rpc_helpers::*, signer::Signer, Error, MonitorConfig, SharedConfig, +}; +use codec::Encode; +use jsonrpsee_ws_client::{ + traits::SubscriptionClient, v2::params::JsonRpcParams, Subscription, WsClient, +}; +use sp_transaction_pool::TransactionStatus; + +/// Ensure that now is the signed phase. +async fn ensure_signed_phase( + client: &WsClient, + at: B::Hash, +) -> Result<(), Error> { + let key = sp_core::storage::StorageKey(EPM::CurrentPhase::::hashed_key().to_vec()); + let phase = get_storage::>(client, params! {key, at}) + .await? + .unwrap_or_default(); + + if phase.is_signed() { + Ok(()) + } else { + Err(Error::IncorrectPhase) + } +} + +/// Ensure that our current `us` have not submitted anything previously. +async fn ensure_no_previous_solution< + T: EPM::Config + frame_system::Config, + B: BlockT, +>( + ext: &mut Ext, + us: &AccountId, +) -> Result<(), Error> { + use EPM::signed::SignedSubmissions; + ext.execute_with(|| { + if >::get().iter().any(|ss| &ss.who == us) { + Err(Error::AlreadySubmitted) + } else { + Ok(()) + } + }) +} + +macro_rules! monitor_cmd_for { ($runtime:tt) => { paste::paste! { + /// The monitor command. + pub(crate) async fn []( + client: &WsClient, + shared: SharedConfig, + config: MonitorConfig, + signer: Signer, + ) -> Result<(), Error> { + use $crate::[<$runtime _runtime_exports>]::*; + let (sub, unsub) = if config.listen == "head" { + ("chain_subscribeNewHeads", "chain_unsubscribeNewHeads") + } else { + ("chain_subscribeFinalizedHeads", "chain_unsubscribeFinalizedHeads") + }; + + log::info!(target: LOG_TARGET, "subscribing to {:?} / {:?}", sub, unsub); + let mut subscription: Subscription
= client + .subscribe(&sub, JsonRpcParams::NoParams, &unsub) + .await + .unwrap(); + + while let Some(now) = subscription.next().await? { + let hash = now.hash(); + log::debug!(target: LOG_TARGET, "new event at #{:?} ({:?})", now.number, hash); + + // we prefer doing this check before fetching anything into a remote-ext. + if ensure_signed_phase::(client, hash).await.is_err() { + log::debug!(target: LOG_TARGET, "phase closed, not interested in this block at all."); + continue; + }; + + // NOTE: we don't check the score of any of the submitted solutions. If we submit a weak + // one, as long as we are valid, we will end up getting our deposit back, so not a big + // deal for now. Note that to avoid an unfeasible solution, we should make sure that we + // only start the process on a finalized snapshot. If the signed phase is long enough, + // this will not be a solution. + + // grab an externalities without staking, just the election snapshot. + let mut ext = crate::create_election_ext::(shared.uri.clone(), Some(hash), false).await?; + + if ensure_no_previous_solution::(&mut ext, &signer.account).await.is_err() { + log::debug!(target: LOG_TARGET, "We already have a solution in this phase, skipping."); + continue; + } + + let (raw_solution, witness) = crate::mine_unchecked::(&mut ext, config.iterations, true)?; + log::info!(target: LOG_TARGET, "mined solution with {:?}", &raw_solution.score); + + let nonce = crate::get_account_info::(client, &signer.account, Some(hash)) + .await? + .map(|i| i.nonce) + .expect(crate::signer::SIGNER_ACCOUNT_WILL_EXIST); + let tip = 0 as Balance; + let period = ::BlockHashCount::get() / 2; + let current_block = now.number.saturating_sub(1); + let era = sp_runtime::generic::Era::mortal(period.into(), current_block.into()); + log::trace!(target: LOG_TARGET, "transaction mortality: {:?} -> {:?}", era.birth(current_block.into()), era.death(current_block.into())); + let extrinsic = ext.execute_with(|| create_uxt(raw_solution, witness, signer.clone(), nonce, tip, era)); + let bytes = sp_core::Bytes(extrinsic.encode()); + + let mut tx_subscription: Subscription< + TransactionStatus<::Hash, ::Hash> + > = client + .subscribe(&"author_submitAndWatchExtrinsic", params! { bytes }, "author_unwatchExtrinsic") + .await + .unwrap(); + + let _success = while let Some(status_update) = tx_subscription.next().await? { + log::trace!(target: LOG_TARGET, "status update {:?}", status_update); + match status_update { + TransactionStatus::Ready | TransactionStatus::Broadcast(_) | TransactionStatus::Future => continue, + TransactionStatus::InBlock(hash) => { + log::info!(target: LOG_TARGET, "included at {:?}", hash); + let key = sp_core::storage::StorageKey(frame_system::Events::::hashed_key().to_vec()); + let events =get_storage::< + Vec::Hash>> + >(client, params!{ key, hash }).await?.unwrap_or_default(); + log::info!(target: LOG_TARGET, "events at inclusion {:?}", events); + } + TransactionStatus::Retracted(hash) => { + log::info!(target: LOG_TARGET, "Retracted at {:?}", hash); + } + TransactionStatus::Finalized(hash) => { + log::info!(target: LOG_TARGET, "Finalized at {:?}", hash); + break + } + _ => { + log::warn!(target: LOG_TARGET, "Stopping listen due to other status {:?}", status_update); + break + } + } + }; + } + + Ok(()) + } +}}} + +monitor_cmd_for!(polkadot); +monitor_cmd_for!(kusama); +monitor_cmd_for!(westend); diff --git a/utils/staking-miner/src/prelude.rs b/utils/staking-miner/src/prelude.rs new file mode 100644 index 000000000000..7989c2e3c66b --- /dev/null +++ b/utils/staking-miner/src/prelude.rs @@ -0,0 +1,48 @@ +// Copyright 2021 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! Types that we don't fetch from a particular runtime and just assume that they are constant all +//! of the place. +//! +//! It is actually easy to convert the rest as well, but it'll be a lot of noise in our codebase, +//! needing to sprinkle `any_runtime` in a few extra places. + +/// The account id type. +pub type AccountId = core_primitives::AccountId; +/// The block number type. +pub type BlockNumber = core_primitives::BlockNumber; +/// The balance type. +pub type Balance = core_primitives::Balance; +/// The index of an account. +pub type Index = core_primitives::AccountIndex; +/// The hash type. We re-export it here, but we can easily get it from block as well. +pub type Hash = core_primitives::Hash; + +pub use sp_runtime::traits::{Block as BlockT, Header as HeaderT}; + +/// Default URI to connect to. +pub const DEFAULT_URI: &'static str = "wss://rpc.polkadot.io"; +/// The logging target. +pub const LOG_TARGET: &'static str = "staking-miner"; + +/// The election provider pallet. +pub use pallet_election_provider_multi_phase as EPM; + +/// The externalities type. +pub type Ext = sp_io::TestExternalities; + +/// The key pair type being used. We 'strongly' assume sr25519 for simplicity. +pub type Pair = sp_core::sr25519::Pair; diff --git a/utils/staking-miner/src/rpc_helpers.rs b/utils/staking-miner/src/rpc_helpers.rs new file mode 100644 index 000000000000..c2590d1f8406 --- /dev/null +++ b/utils/staking-miner/src/rpc_helpers.rs @@ -0,0 +1,107 @@ +// Copyright 2021 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! Helper method for RPC. + +use super::*; +use jsonrpsee_ws_client::traits::Client; +pub(crate) use jsonrpsee_ws_client::v2::params::JsonRpcParams; + +#[macro_export] +macro_rules! params { + ($($param:expr),*) => { + { + let mut __params = vec![]; + $( + __params.push(serde_json::to_value($param).expect("json serialization infallible; qed.")); + )* + $crate::rpc_helpers::JsonRpcParams::Array(__params) + } + }; + () => { + $crate::rpc::JsonRpcParams::NoParams, + } +} + +/// Make the rpc request, returning `Ret`. +pub(crate) async fn rpc<'a, Ret: serde::de::DeserializeOwned>( + client: &WsClient, + method: &'a str, + params: JsonRpcParams<'a>, +) -> Result { + client.request::(method, params).await.map_err(Into::into) +} + +/// Make the rpc request, decode the outcome into `Dec`. Don't use for storage, it will fail for +/// non-existent storage items. +pub(crate) async fn rpc_decode<'a, Dec: codec::Decode>( + client: &WsClient, + method: &'a str, + params: JsonRpcParams<'a>, +) -> Result { + let bytes = rpc::(client, method, params).await?; + ::decode(&mut &*bytes.0).map_err(Into::into) +} + +/// Get the storage item. +pub(crate) async fn get_storage<'a, T: codec::Decode>( + client: &WsClient, + params: JsonRpcParams<'a>, +) -> Result, Error> { + let maybe_bytes = rpc::>(client, "state_getStorage", params).await?; + if let Some(bytes) = maybe_bytes { + let decoded = ::decode(&mut &*bytes.0)?; + Ok(Some(decoded)) + } else { + Ok(None) + } +} + +use codec::{EncodeLike, FullCodec}; +use frame_support::storage::{StorageMap, StorageValue}; +#[allow(unused)] +pub(crate) async fn get_storage_value_frame_v2<'a, V: StorageValue, T: FullCodec, Hash>( + client: &WsClient, + maybe_at: Option, +) -> Result, Error> +where + V::Query: codec::Decode, + Hash: serde::Serialize, +{ + let key = >::hashed_key(); + get_storage::(&client, params! { key, maybe_at }).await +} + +#[allow(unused)] +pub(crate) async fn get_storage_map_frame_v2< + 'a, + Hash, + KeyArg: EncodeLike, + K: FullCodec, + T: FullCodec, + M: StorageMap, +>( + client: &WsClient, + key: KeyArg, + maybe_at: Option, +) -> Result, Error> +where + M::Query: codec::Decode, + Hash: serde::Serialize, +{ + let key = >::hashed_key_for(key); + get_storage::(&client, params! { key, maybe_at }).await +} diff --git a/utils/staking-miner/src/signer.rs b/utils/staking-miner/src/signer.rs new file mode 100644 index 000000000000..409d7befab8a --- /dev/null +++ b/utils/staking-miner/src/signer.rs @@ -0,0 +1,73 @@ +// Copyright 2021 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! Wrappers around creating a signer account. + +use crate::{rpc_helpers, AccountId, Error, Index, Pair, WsClient, LOG_TARGET}; +use sp_core::crypto::Pair as _; +use std::path::Path; + +pub(crate) const SIGNER_ACCOUNT_WILL_EXIST: &'static str = + "signer account is checked to exist upon startup; it can only die if it transfers funds out \ + of it, or get slashed. If it does not exist at this point, it is likely due to a bug, or the \ + signer got slashed. Terminating."; + +/// Some information about the signer. Redundant at this point, but makes life easier. +#[derive(Clone)] +pub(crate) struct Signer { + /// The account id. + pub(crate) account: AccountId, + /// The full crypto key-pair. + pub(crate) pair: Pair, + /// The raw uri read from file. + pub(crate) uri: String, +} + +pub(crate) async fn get_account_info( + client: &WsClient, + who: &T::AccountId, + maybe_at: Option, +) -> Result>, Error> { + rpc_helpers::get_storage::>( + client, + crate::params! { + sp_core::storage::StorageKey(>::hashed_key_for(&who)), + maybe_at + }, + ) + .await +} + +/// Read the signer account's uri from the given `path`. +pub(crate) async fn read_signer_uri< + P: AsRef, + T: frame_system::Config, +>( + path: P, + client: &WsClient, +) -> Result { + let uri = std::fs::read_to_string(path)?; + + // trim any trailing garbage. + let uri = uri.trim_end(); + + let pair = Pair::from_string(&uri, None)?; + let account = T::AccountId::from(pair.public()); + let _info = + get_account_info::(&client, &account, None).await?.ok_or(Error::AccountDoesNotExists)?; + log::info!(target: LOG_TARGET, "loaded account {:?}, info: {:?}", &account, _info); + Ok(Signer { account, pair, uri: uri.to_string() }) +} From 91912fd2e308133db13619711c3abd5c05518c68 Mon Sep 17 00:00:00 2001 From: Andronik Ordian Date: Fri, 2 Jul 2021 10:23:26 +0200 Subject: [PATCH 06/23] cleanup stream polls (#3397) * metered-channel: remove dead code * we don't need no fuse * even more --- node/core/provisioner/src/lib.rs | 2 +- node/metered-channel/src/bounded.rs | 31 --------------- node/network/bridge/src/lib.rs | 2 +- .../network/statement-distribution/src/lib.rs | 8 ++-- node/overseer/src/lib.rs | 39 ++++++------------- 5 files changed, 17 insertions(+), 65 deletions(-) diff --git a/node/core/provisioner/src/lib.rs b/node/core/provisioner/src/lib.rs index 7a730aa8cfdf..85f10c68a74c 100644 --- a/node/core/provisioner/src/lib.rs +++ b/node/core/provisioner/src/lib.rs @@ -191,7 +191,7 @@ impl ProvisioningJob { }; loop { futures::select! { - msg = self.receiver.next().fuse() => match msg { + msg = self.receiver.next() => match msg { Some(RequestInherentData(_, return_sender)) => { let _span = span.child("req-inherent-data"); let _timer = self.metrics.time_request_inherent_data(); diff --git a/node/metered-channel/src/bounded.rs b/node/metered-channel/src/bounded.rs index 38aa6f15c65f..43a77f707fc0 100644 --- a/node/metered-channel/src/bounded.rs +++ b/node/metered-channel/src/bounded.rs @@ -153,34 +153,3 @@ impl MeteredSender { }) } } - -impl futures::sink::Sink for MeteredSender { - type Error = mpsc::SendError; - - fn start_send(mut self: Pin<&mut Self>, item: T) -> Result<(), Self::Error> { - Pin::new(&mut self.inner).start_send(item) - } - - fn poll_ready(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { - Pin::new(&mut self.inner).poll_ready(cx) - } - - fn poll_close(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { - match Pin::new(&mut self.inner).poll_close(cx) { - val @ Poll::Ready(_)=> { - val - } - other => other, - } - } - - fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { - match Pin::new(&mut self.inner).poll_flush(cx) { - val @ Poll::Ready(_)=> { - self.meter.note_sent(); - val - } - other => other, - } - } -} diff --git a/node/network/bridge/src/lib.rs b/node/network/bridge/src/lib.rs index 399b6e6c26d0..87c6fd9494b0 100644 --- a/node/network/bridge/src/lib.rs +++ b/node/network/bridge/src/lib.rs @@ -830,7 +830,7 @@ async fn handle_network_messages( } } }, - req_res_event = request_multiplexer.next().fuse() => match req_res_event { + req_res_event = request_multiplexer.next() => match req_res_event { None => return Err(UnexpectedAbort::RequestStreamConcluded), Some(Err(err)) => { network_service.report_peer(err.peer, MALFORMED_MESSAGE_COST); diff --git a/node/network/statement-distribution/src/lib.rs b/node/network/statement-distribution/src/lib.rs index b0b2d8d8f859..59c9cf249ba0 100644 --- a/node/network/statement-distribution/src/lib.rs +++ b/node/network/statement-distribution/src/lib.rs @@ -595,14 +595,14 @@ impl Message { // We are only fusing here to make `select` happy, in reality we will quit if one of those // streams end: let from_overseer = ctx.recv().fuse(); - let from_requester = from_requester.next().fuse(); - let from_responder = from_responder.next().fuse(); + let from_requester = from_requester.next(); + let from_responder = from_responder.next(); futures::pin_mut!(from_overseer, from_requester, from_responder); - futures::select!( + futures::select! { msg = from_overseer => Message::Subsystem(msg.map_err(Fatal::SubsystemReceive)), msg = from_requester => Message::Requester(msg), msg = from_responder => Message::Responder(msg), - ) + } } } diff --git a/node/overseer/src/lib.rs b/node/overseer/src/lib.rs index 7e6f831dd70a..06a720e85fdc 100644 --- a/node/overseer/src/lib.rs +++ b/node/overseer/src/lib.rs @@ -909,8 +909,8 @@ impl SubsystemContext for OverseerSubsystemContext { } } - let mut await_message = self.messages.next().fuse(); - let mut await_signal = self.signals.next().fuse(); + let mut await_message = self.messages.next(); + let mut await_signal = self.signals.next(); let signals_received = self.signals_received.load(); let pending_incoming = &mut self.pending_incoming; @@ -1901,13 +1901,7 @@ where loop { select! { - msg = self.events_rx.next().fuse() => { - let msg = if let Some(msg) = msg { - msg - } else { - continue - }; - + msg = self.events_rx.select_next_some() => { match msg { Event::MsgToSubsystem(msg) => { self.route_message(msg.into()).await?; @@ -1927,16 +1921,7 @@ where } } }, - msg = self.to_overseer_rx.next() => { - let msg = match msg { - Some(m) => m, - None => { - // This is a fused stream so we will shut down after receiving all - // shutdown notifications. - continue - } - }; - + msg = self.to_overseer_rx.select_next_some() => { match msg { ToOverseer::SpawnJob { name, s } => { self.spawn_job(name, s); @@ -1946,16 +1931,14 @@ where } } }, - res = self.running_subsystems.next().fuse() => { - let finished = if let Some(finished) = res { - finished - } else { - continue - }; - - tracing::error!(target: LOG_TARGET, subsystem = ?finished, "subsystem finished unexpectedly"); + res = self.running_subsystems.select_next_some() => { + tracing::error!( + target: LOG_TARGET, + subsystem = ?res, + "subsystem finished unexpectedly", + ); self.stop().await; - return finished; + return res; }, } } From e714cc676891fd97a76f01e791f9fc6260389f6d Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Fri, 2 Jul 2021 12:31:13 -0400 Subject: [PATCH 07/23] XCM `canonicalize` + `prepend_with` fix (#3269) * canonicalize + prepend_with fix * fix doc * not needed * better docs, and more deterministic logic * one more test * Update xcm/src/v0/multi_location.rs * Update multi_location.rs Co-Authored-By: parity-processbot <> * follow style guide Co-Authored-By: parity-processbot <> * oops * Update xcm/src/v0/multi_location.rs Co-authored-by: Robert Habermeier * Update xcm/src/v0/multi_location.rs Co-authored-by: Robert Habermeier --- xcm/src/v0/junction.rs | 8 ++ xcm/src/v0/multi_location.rs | 138 +++++++++++++++++++++++++++++++---- 2 files changed, 130 insertions(+), 16 deletions(-) diff --git a/xcm/src/v0/junction.rs b/xcm/src/v0/junction.rs index 2f3af556b462..0111ee2e129f 100644 --- a/xcm/src/v0/junction.rs +++ b/xcm/src/v0/junction.rs @@ -138,6 +138,14 @@ pub enum Junction { } impl Junction { + /// Returns true if this junction is a `Parent` item. + pub fn is_parent(&self) -> bool { + match self { + Junction::Parent => true, + _ => false, + } + } + /// Returns true if this junction can be considered an interior part of its context. This is generally `true`, /// except for the `Parent` item. pub fn is_interior(&self) -> bool { diff --git a/xcm/src/v0/multi_location.rs b/xcm/src/v0/multi_location.rs index 17df340eca07..10a620cc6f4e 100644 --- a/xcm/src/v0/multi_location.rs +++ b/xcm/src/v0/multi_location.rs @@ -491,7 +491,7 @@ impl MultiLocation { } /// Returns the number of `Parent` junctions at the beginning of `self`. - pub fn parent_count(&self) -> usize { + pub fn leading_parent_count(&self) -> usize { use Junction::Parent; match self { MultiLocation::X8(Parent, Parent, Parent, Parent, Parent, Parent, Parent, Parent) => 8, @@ -541,10 +541,42 @@ impl MultiLocation { } } + /// This function ensures a multi-junction is in its canonicalized/normalized form, removing + /// any internal `[Non-Parent, Parent]` combinations. + pub fn canonicalize(&mut self) { + let mut normalized = MultiLocation::Null; + let mut iter = self.iter(); + // We build up the the new normalized path by taking items from the original multi-location. + // When the next item we would add is `Parent`, we instead remove the last item assuming + // it is non-parent. + const EXPECT_MESSAGE: &'static str = + "`self` is a well formed multi-location with N junctions; \ + this loop iterates over the junctions of `self`; \ + the loop can push to the new multi-location at most one time; \ + thus the size of the new multi-location is at most N junctions; \ + qed"; + while let Some(j) = iter.next() { + if j == &Junction::Parent { + match normalized.last() { + None | Some(Junction::Parent) => {} + Some(_) => { + normalized.take_last(); + continue; + }, + } + } + + normalized.push(j.clone()).expect(EXPECT_MESSAGE); + } + + core::mem::swap(self, &mut normalized); + } + + /// Mutate `self` so that it is suffixed with `suffix`. The correct normalized form is returned, - /// removing any internal [Non-Parent, `Parent`] combinations. + /// removing any internal `[Non-Parent, Parent]` combinations. /// - /// Does not modify `self` and returns `Err` with `suffix` in case of overflow. + /// In the case of overflow, `self` is unmodified and we return `Err` with `suffix`. /// /// # Example /// ```rust @@ -571,7 +603,7 @@ impl MultiLocation { /// Mutate `self` so that it is prefixed with `prefix`. The correct normalized form is returned, /// removing any internal [Non-Parent, `Parent`] combinations. /// - /// Does not modify `self` and returns `Err` with `prefix` in case of overflow. + /// In the case of overflow, `self` is unmodified and we return `Err` with `prefix`. /// /// # Example /// ```rust @@ -583,22 +615,41 @@ impl MultiLocation { /// # } /// ``` pub fn prepend_with(&mut self, prefix: MultiLocation) -> Result<(), MultiLocation> { - let self_parents = self.parent_count(); - let prefix_rest = prefix.len() - prefix.parent_count(); - let skipped = self_parents.min(prefix_rest); + let mut prefix = prefix; + + // This will guarantee that all `Parent` junctions in the prefix are leading, which is + // important for calculating the `skipped` items below. + prefix.canonicalize(); + + let self_leading_parents = self.leading_parent_count(); + // These are the number of `non-parent` items in the prefix that we can + // potentially remove if the original location leads with parents. + let prefix_rest = prefix.len() - prefix.leading_parent_count(); + // 2 * skipped items will be removed when performing the normalization below. + let skipped = self_leading_parents.min(prefix_rest); + + // Pre-pending this prefix would create a multi-location with too many junctions. if self.len() + prefix.len() - 2 * skipped > MAX_MULTILOCATION_LENGTH { return Err(prefix); } - let mut prefix = prefix; - while match (prefix.last(), self.first()) { - (Some(x), Some(Junction::Parent)) if x.is_interior() => { - prefix.take_last(); - self.take_first(); - true - } - _ => false, - } {} + // Here we cancel out `[Non-Parent, Parent]` items (normalization), where + // the non-parent item comes from the end of the prefix, and the parent item + // comes from the front of the original location. + // + // We calculated already how many of these there should be above. + for _ in 0 .. skipped { + let _non_parent = prefix.take_last(); + let _parent = self.take_first(); + debug_assert!( + _non_parent.is_some() && _non_parent != Some(Junction::Parent), + "prepend_with should always remove a non-parent from the end of the prefix", + ); + debug_assert!( + _parent == Some(Junction::Parent), + "prepend_with should always remove a parent from the front of the location", + ); + } for j in prefix.into_iter_rev() { self.push_front(j).expect("len + prefix minus 2*skipped is less than max length; qed"); @@ -680,5 +731,60 @@ mod tests { let mut m = X7(Parent, Parent, Parent, Parent, Parent, Parent, Parachain(42)); let prefix = X2(Parent, Parent); assert_eq!(m.prepend_with(prefix.clone()), Err(prefix)); + + // Can handle shared prefix and resizing correctly. + let mut m = X1(Parent); + let prefix = X8(Parachain(100), OnlyChild, OnlyChild, OnlyChild, OnlyChild, OnlyChild, OnlyChild, Parent); + assert_eq!(m.prepend_with(prefix.clone()), Ok(())); + assert_eq!(m, X5(Parachain(100), OnlyChild, OnlyChild, OnlyChild, OnlyChild)); + + let mut m = X1(Parent); + let prefix = X8(Parent, Parent, Parent, Parent, Parent, Parent, Parent, Parent); + assert_eq!(m.prepend_with(prefix.clone()), Err(prefix)); + + let mut m = X1(Parent); + let prefix = X7(Parent, Parent, Parent, Parent, Parent, Parent, Parent); + assert_eq!(m.prepend_with(prefix.clone()), Ok(())); + assert_eq!(m, X8(Parent, Parent, Parent, Parent, Parent, Parent, Parent, Parent)); + + let mut m = X1(Parent); + let prefix = X8(Parent, Parent, Parent, Parent, OnlyChild, Parent, Parent, Parent); + assert_eq!(m.prepend_with(prefix.clone()), Ok(())); + assert_eq!(m, X7(Parent, Parent, Parent, Parent, Parent, Parent, Parent)); + } + + #[test] + fn canonicalize_works() { + let mut m = X1(Parent); + m.canonicalize(); + assert_eq!(m, X1(Parent)); + + let mut m = X1(Parachain(1)); + m.canonicalize(); + assert_eq!(m, X1(Parachain(1))); + + let mut m = X6(Parent, Parachain(1), Parent, Parachain(2), Parent, Parachain(3)); + m.canonicalize(); + assert_eq!(m, X2(Parent, Parachain(3))); + + let mut m = X5(Parachain(1), Parent, Parachain(2), Parent, Parachain(3)); + m.canonicalize(); + assert_eq!(m, X1(Parachain(3))); + + let mut m = X6(Parachain(1), Parent, Parachain(2), Parent, Parachain(3), Parent); + m.canonicalize(); + assert_eq!(m, Null); + + let mut m = X5(Parachain(1), Parent, Parent, Parent, Parachain(3)); + m.canonicalize(); + assert_eq!(m, X3(Parent, Parent, Parachain(3))); + + let mut m = X4(Parachain(1), Parachain(2), Parent, Parent); + m.canonicalize(); + assert_eq!(m, Null); + + let mut m = X4( Parent, Parent, Parachain(1), Parachain(2)); + m.canonicalize(); + assert_eq!(m, X4( Parent, Parent, Parachain(1), Parachain(2))); } } From ac39b076ca4e31f8511799770cdb80794ec16a42 Mon Sep 17 00:00:00 2001 From: Andronik Ordian Date: Fri, 2 Jul 2021 21:09:18 +0200 Subject: [PATCH 08/23] make it easier to dbg stalls (#3351) * make it easier to dbg * revert channel sizes * BAnon --- node/core/parachains-inherent/src/lib.rs | 9 +- node/overseer/src/lib.rs | 94 +++++++++++++------ node/overseer/src/tests.rs | 34 +++---- node/service/src/grandpa_support.rs | 13 ++- node/service/src/relay_chain_selection.rs | 23 +++-- node/subsystem-test-helpers/src/lib.rs | 2 +- node/test/service/src/lib.rs | 4 +- .../adder/collator/src/main.rs | 4 +- 8 files changed, 115 insertions(+), 68 deletions(-) diff --git a/node/core/parachains-inherent/src/lib.rs b/node/core/parachains-inherent/src/lib.rs index e8ffb573658c..23bd250a2f3c 100644 --- a/node/core/parachains-inherent/src/lib.rs +++ b/node/core/parachains-inherent/src/lib.rs @@ -57,9 +57,12 @@ impl ParachainsInherentDataProvider { receiver.await.map_err(|_| Error::ClosedChannelAwaitingActivation)?.map_err(Error::Subsystem)?; let (sender, receiver) = futures::channel::oneshot::channel(); - overseer.send_msg(AllMessages::Provisioner( - ProvisionerMessage::RequestInherentData(parent, sender), - )).await; + overseer.send_msg( + AllMessages::Provisioner( + ProvisionerMessage::RequestInherentData(parent, sender), + ), + std::any::type_name::(), + ).await; receiver.await.map_err(|_| Error::ClosedChannelAwaitingInherentData) }; diff --git a/node/overseer/src/lib.rs b/node/overseer/src/lib.rs index 06a720e85fdc..cb28797ab3e2 100644 --- a/node/overseer/src/lib.rs +++ b/node/overseer/src/lib.rs @@ -401,7 +401,10 @@ impl From> for BlockInfo { enum Event { BlockImported(BlockInfo), BlockFinalized(BlockInfo), - MsgToSubsystem(AllMessages), + MsgToSubsystem { + msg: AllMessages, + origin: &'static str, + }, ExternalRequest(ExternalRequest), Stop, } @@ -452,8 +455,16 @@ impl OverseerHandler { } /// Send some message to one of the `Subsystem`s. - pub async fn send_msg(&mut self, msg: impl Into) { - self.send_and_log_error(Event::MsgToSubsystem(msg.into())).await + pub async fn send_msg(&mut self, msg: impl Into, origin: &'static str) { + self.send_and_log_error(Event::MsgToSubsystem { + msg: msg.into(), + origin, + }).await + } + + /// Same as `send_msg`, but with no origin. Used for tests. + pub async fn send_msg_anon(&mut self, msg: impl Into) { + self.send_msg(msg, "").await } /// Inform the `Overseer` that some block was finalized. @@ -801,7 +812,8 @@ pub struct OverseerSubsystemSender { #[async_trait::async_trait] impl SubsystemSender for OverseerSubsystemSender { async fn send_message(&mut self, msg: AllMessages) { - self.channels.send_and_log_error(self.signals_received.load(), msg).await; + let needed_signals = self.signals_received.load(); + self.channels.send_and_log_error(needed_signals, msg).await; } async fn send_messages(&mut self, msgs: T) @@ -891,12 +903,18 @@ impl SubsystemContext for OverseerSubsystemContext { loop { // If we have a message pending an overseer signal, we only poll for signals // in the meantime. + let signals_received = self.signals_received.load(); if let Some((needs_signals_received, msg)) = self.pending_incoming.take() { - if needs_signals_received <= self.signals_received.load() { + if needs_signals_received <= signals_received { return Ok(FromOverseer::Communication { msg }); } else { self.pending_incoming = Some((needs_signals_received, msg)); - + tracing::debug!( + target: LOG_TARGET, + subsystem = std::any::type_name::(), + diff = needs_signals_received - signals_received, + "waiting for a signal", + ); // wait for next signal. let signal = self.signals.next().await .ok_or(SubsystemError::Context( @@ -911,7 +929,6 @@ impl SubsystemContext for OverseerSubsystemContext { let mut await_message = self.messages.next(); let mut await_signal = self.signals.next(); - let signals_received = self.signals_received.load(); let pending_incoming = &mut self.pending_incoming; // Otherwise, wait for the next signal or incoming message. @@ -989,7 +1006,7 @@ impl OverseenSubsystem { /// Send a message to the wrapped subsystem. /// /// If the inner `instance` is `None`, nothing is happening. - async fn send_message(&mut self, msg: M) -> SubsystemResult<()> { + async fn send_message(&mut self, msg: M, origin: &'static str) -> SubsystemResult<()> { const MESSAGE_TIMEOUT: Duration = Duration::from_secs(10); if let Some(ref mut instance) = self.instance { @@ -999,7 +1016,12 @@ impl OverseenSubsystem { }).timeout(MESSAGE_TIMEOUT).await { None => { - tracing::error!(target: LOG_TARGET, "Subsystem {} appears unresponsive.", instance.name); + tracing::error!( + target: LOG_TARGET, + %origin, + "Subsystem {} appears unresponsive.", + instance.name, + ); Err(SubsystemError::SubsystemStalled(instance.name)) } Some(res) => res.map_err(Into::into), @@ -1016,9 +1038,15 @@ impl OverseenSubsystem { const SIGNAL_TIMEOUT: Duration = Duration::from_secs(10); if let Some(ref mut instance) = self.instance { - match instance.tx_signal.send(signal).timeout(SIGNAL_TIMEOUT).await { + match instance.tx_signal.send(signal.clone()).timeout(SIGNAL_TIMEOUT).await { None => { - tracing::error!(target: LOG_TARGET, "Subsystem {} appears unresponsive.", instance.name); + tracing::error!( + target: LOG_TARGET, + ?signal, + received = instance.signals_received, + "Subsystem {} appears unresponsive.", + instance.name, + ); Err(SubsystemError::SubsystemStalled(instance.name)) } Some(res) => { @@ -1903,8 +1931,8 @@ where select! { msg = self.events_rx.select_next_some() => { match msg { - Event::MsgToSubsystem(msg) => { - self.route_message(msg.into()).await?; + Event::MsgToSubsystem { msg, origin } => { + self.route_message(msg.into(), origin).await?; } Event::Stop => { self.stop().await; @@ -2028,59 +2056,63 @@ where Ok(()) } - async fn route_message(&mut self, msg: AllMessages) -> SubsystemResult<()> { + async fn route_message( + &mut self, + msg: AllMessages, + origin: &'static str, + ) -> SubsystemResult<()> { self.metrics.on_message_relayed(); match msg { AllMessages::CandidateValidation(msg) => { - self.subsystems.candidate_validation.send_message(msg).await?; + self.subsystems.candidate_validation.send_message(msg, origin).await?; }, AllMessages::CandidateBacking(msg) => { - self.subsystems.candidate_backing.send_message(msg).await?; + self.subsystems.candidate_backing.send_message(msg, origin).await?; }, AllMessages::StatementDistribution(msg) => { - self.subsystems.statement_distribution.send_message(msg).await?; + self.subsystems.statement_distribution.send_message(msg, origin).await?; }, AllMessages::AvailabilityDistribution(msg) => { - self.subsystems.availability_distribution.send_message(msg).await?; + self.subsystems.availability_distribution.send_message(msg, origin).await?; }, AllMessages::AvailabilityRecovery(msg) => { - self.subsystems.availability_recovery.send_message(msg).await?; + self.subsystems.availability_recovery.send_message(msg, origin).await?; }, AllMessages::BitfieldDistribution(msg) => { - self.subsystems.bitfield_distribution.send_message(msg).await?; + self.subsystems.bitfield_distribution.send_message(msg, origin).await?; }, AllMessages::BitfieldSigning(msg) => { - self.subsystems.bitfield_signing.send_message(msg).await?; + self.subsystems.bitfield_signing.send_message(msg, origin).await?; }, AllMessages::Provisioner(msg) => { - self.subsystems.provisioner.send_message(msg).await?; + self.subsystems.provisioner.send_message(msg, origin).await?; }, AllMessages::RuntimeApi(msg) => { - self.subsystems.runtime_api.send_message(msg).await?; + self.subsystems.runtime_api.send_message(msg, origin).await?; }, AllMessages::AvailabilityStore(msg) => { - self.subsystems.availability_store.send_message(msg).await?; + self.subsystems.availability_store.send_message(msg, origin).await?; }, AllMessages::NetworkBridge(msg) => { - self.subsystems.network_bridge.send_message(msg).await?; + self.subsystems.network_bridge.send_message(msg, origin).await?; }, AllMessages::ChainApi(msg) => { - self.subsystems.chain_api.send_message(msg).await?; + self.subsystems.chain_api.send_message(msg, origin).await?; }, AllMessages::CollationGeneration(msg) => { - self.subsystems.collation_generation.send_message(msg).await?; + self.subsystems.collation_generation.send_message(msg, origin).await?; }, AllMessages::CollatorProtocol(msg) => { - self.subsystems.collator_protocol.send_message(msg).await?; + self.subsystems.collator_protocol.send_message(msg, origin).await?; }, AllMessages::ApprovalDistribution(msg) => { - self.subsystems.approval_distribution.send_message(msg).await?; + self.subsystems.approval_distribution.send_message(msg, origin).await?; }, AllMessages::ApprovalVoting(msg) => { - self.subsystems.approval_voting.send_message(msg).await?; + self.subsystems.approval_voting.send_message(msg, origin).await?; }, AllMessages::GossipSupport(msg) => { - self.subsystems.gossip_support.send_message(msg).await?; + self.subsystems.gossip_support.send_message(msg, origin).await?; }, AllMessages::DisputeCoordinator(_) => {} AllMessages::DisputeParticipation(_) => {} diff --git a/node/overseer/src/tests.rs b/node/overseer/src/tests.rs index c33a01dabfec..888ebea0e127 100644 --- a/node/overseer/src/tests.rs +++ b/node/overseer/src/tests.rs @@ -228,7 +228,7 @@ fn overseer_metrics_work() { handler.block_imported(second_block).await; handler.block_imported(third_block).await; - handler.send_msg(AllMessages::CandidateValidation(test_candidate_validation_msg())).await; + handler.send_msg_anon(AllMessages::CandidateValidation(test_candidate_validation_msg())).await; handler.stop().await; select! { @@ -984,22 +984,22 @@ fn overseer_all_subsystems_receive_signals_and_messages() { // send a msg to each subsystem // except for BitfieldSigning and GossipSupport as the messages are not instantiable - handler.send_msg(AllMessages::CandidateValidation(test_candidate_validation_msg())).await; - handler.send_msg(AllMessages::CandidateBacking(test_candidate_backing_msg())).await; - handler.send_msg(AllMessages::CollationGeneration(test_collator_generation_msg())).await; - handler.send_msg(AllMessages::CollatorProtocol(test_collator_protocol_msg())).await; - handler.send_msg(AllMessages::StatementDistribution(test_statement_distribution_msg())).await; - handler.send_msg(AllMessages::AvailabilityRecovery(test_availability_recovery_msg())).await; - // handler.send_msg(AllMessages::BitfieldSigning(test_bitfield_signing_msg())).await; - // handler.send_msg(AllMessages::GossipSupport(test_bitfield_signing_msg())).await; - handler.send_msg(AllMessages::BitfieldDistribution(test_bitfield_distribution_msg())).await; - handler.send_msg(AllMessages::Provisioner(test_provisioner_msg())).await; - handler.send_msg(AllMessages::RuntimeApi(test_runtime_api_msg())).await; - handler.send_msg(AllMessages::AvailabilityStore(test_availability_store_msg())).await; - handler.send_msg(AllMessages::NetworkBridge(test_network_bridge_msg())).await; - handler.send_msg(AllMessages::ChainApi(test_chain_api_msg())).await; - handler.send_msg(AllMessages::ApprovalDistribution(test_approval_distribution_msg())).await; - handler.send_msg(AllMessages::ApprovalVoting(test_approval_voting_msg())).await; + handler.send_msg_anon(AllMessages::CandidateValidation(test_candidate_validation_msg())).await; + handler.send_msg_anon(AllMessages::CandidateBacking(test_candidate_backing_msg())).await; + handler.send_msg_anon(AllMessages::CollationGeneration(test_collator_generation_msg())).await; + handler.send_msg_anon(AllMessages::CollatorProtocol(test_collator_protocol_msg())).await; + handler.send_msg_anon(AllMessages::StatementDistribution(test_statement_distribution_msg())).await; + handler.send_msg_anon(AllMessages::AvailabilityRecovery(test_availability_recovery_msg())).await; + // handler.send_msg_anon(AllMessages::BitfieldSigning(test_bitfield_signing_msg())).await; + // handler.send_msg_anon(AllMessages::GossipSupport(test_bitfield_signing_msg())).await; + handler.send_msg_anon(AllMessages::BitfieldDistribution(test_bitfield_distribution_msg())).await; + handler.send_msg_anon(AllMessages::Provisioner(test_provisioner_msg())).await; + handler.send_msg_anon(AllMessages::RuntimeApi(test_runtime_api_msg())).await; + handler.send_msg_anon(AllMessages::AvailabilityStore(test_availability_store_msg())).await; + handler.send_msg_anon(AllMessages::NetworkBridge(test_network_bridge_msg())).await; + handler.send_msg_anon(AllMessages::ChainApi(test_chain_api_msg())).await; + handler.send_msg_anon(AllMessages::ApprovalDistribution(test_approval_distribution_msg())).await; + handler.send_msg_anon(AllMessages::ApprovalVoting(test_approval_voting_msg())).await; // Wait until all subsystems have received. Otherwise the messages might race against // the conclude signal. diff --git a/node/service/src/grandpa_support.rs b/node/service/src/grandpa_support.rs index bb45709ebbc7..407bedf671c0 100644 --- a/node/service/src/grandpa_support.rs +++ b/node/service/src/grandpa_support.rs @@ -130,11 +130,14 @@ impl grandpa::VotingRule for ApprovalCheckingVotingRule Box::pin(async move { let (tx, rx) = oneshot::channel(); let approval_checking_subsystem_vote = { - overseer.send_msg(ApprovalVotingMessage::ApprovedAncestor( - best_hash, - base_number, - tx, - )).await; + overseer.send_msg( + ApprovalVotingMessage::ApprovedAncestor( + best_hash, + base_number, + tx, + ), + std::any::type_name::(), + ).await; rx.await.ok().and_then(|v| v) }; diff --git a/node/service/src/relay_chain_selection.rs b/node/service/src/relay_chain_selection.rs index 1ca1c5c5f29c..cca90e6ae1a9 100644 --- a/node/service/src/relay_chain_selection.rs +++ b/node/service/src/relay_chain_selection.rs @@ -216,7 +216,10 @@ impl SelectChain for SelectRelayChain self.overseer .clone() - .send_msg(ChainSelectionMessage::Leaves(tx)).await; + .send_msg( + ChainSelectionMessage::Leaves(tx), + std::any::type_name::(), + ).await; rx.await .map_err(Error::OverseerDisconnected) @@ -264,7 +267,10 @@ impl SelectChain for SelectRelayChain let subchain_head = { let (tx, rx) = oneshot::channel(); - overseer.send_msg(ChainSelectionMessage::BestLeafContaining(target_hash, tx)).await; + overseer.send_msg( + ChainSelectionMessage::BestLeafContaining(target_hash, tx), + std::any::type_name::(), + ).await; let best = rx.await .map_err(Error::OverseerDisconnected) @@ -318,11 +324,14 @@ impl SelectChain for SelectRelayChain let (subchain_head, subchain_number) = { let (tx, rx) = oneshot::channel(); - overseer.send_msg(ApprovalVotingMessage::ApprovedAncestor( - subchain_head, - target_number, - tx, - )).await; + overseer.send_msg( + ApprovalVotingMessage::ApprovedAncestor( + subchain_head, + target_number, + tx, + ), + std::any::type_name::(), + ).await; match rx.await .map_err(Error::OverseerDisconnected) diff --git a/node/subsystem-test-helpers/src/lib.rs b/node/subsystem-test-helpers/src/lib.rs index c09d0ed000af..cd3550678c11 100644 --- a/node/subsystem-test-helpers/src/lib.rs +++ b/node/subsystem-test-helpers/src/lib.rs @@ -385,7 +385,7 @@ mod tests { spawner.spawn("overseer", overseer.run().then(|_| async { () }).boxed()); - block_on(handler.send_msg(CollatorProtocolMessage::CollateOn(Default::default()))); + block_on(handler.send_msg_anon(CollatorProtocolMessage::CollateOn(Default::default()))); assert!(matches!(block_on(rx.into_future()).0.unwrap(), CollatorProtocolMessage::CollateOn(_))); } } diff --git a/node/test/service/src/lib.rs b/node/test/service/src/lib.rs index d7425cde3d41..121b7306623b 100644 --- a/node/test/service/src/lib.rs +++ b/node/test/service/src/lib.rs @@ -348,11 +348,11 @@ impl PolkadotTestNode { }; self.overseer_handler - .send_msg(CollationGenerationMessage::Initialize(config)) + .send_msg(CollationGenerationMessage::Initialize(config), "Collator") .await; self.overseer_handler - .send_msg(CollatorProtocolMessage::CollateOn(para_id)) + .send_msg(CollatorProtocolMessage::CollateOn(para_id), "Collator") .await; } } diff --git a/parachain/test-parachains/adder/collator/src/main.rs b/parachain/test-parachains/adder/collator/src/main.rs index 2b6b219f0d3c..83a65c447cbd 100644 --- a/parachain/test-parachains/adder/collator/src/main.rs +++ b/parachain/test-parachains/adder/collator/src/main.rs @@ -88,11 +88,11 @@ fn main() -> Result<()> { para_id, }; overseer_handler - .send_msg(CollationGenerationMessage::Initialize(config)) + .send_msg(CollationGenerationMessage::Initialize(config), "Collator") .await; overseer_handler - .send_msg(CollatorProtocolMessage::CollateOn(para_id)) + .send_msg(CollatorProtocolMessage::CollateOn(para_id), "Collator") .await; Ok(full_node.task_manager) From ade205869b037ceae7859626e4725347ae7fc85b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bastian=20K=C3=B6cher?= Date: Mon, 5 Jul 2021 14:18:20 +0200 Subject: [PATCH 09/23] Enable logging in the puppet worker (#3411) This is useful for tests where something is failing :D --- Cargo.lock | 1 + node/core/pvf/Cargo.toml | 1 + node/core/pvf/src/lib.rs | 3 +++ node/core/pvf/src/testing.rs | 2 ++ 4 files changed, 7 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 05d9b0f5f810..0d016ce66530 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6234,6 +6234,7 @@ dependencies = [ "sp-externalities", "sp-io", "sp-maybe-compressed-blob", + "sp-tracing", "sp-wasm-interface", "tempfile", "test-parachain-adder", diff --git a/node/core/pvf/Cargo.toml b/node/core/pvf/Cargo.toml index b6415078b0e1..23388b28daa4 100644 --- a/node/core/pvf/Cargo.toml +++ b/node/core/pvf/Cargo.toml @@ -31,6 +31,7 @@ sp-io = { git = "https://github.com/paritytech/substrate", branch = "master" } sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" } sp-wasm-interface = { git = "https://github.com/paritytech/substrate", branch = "master" } sp-maybe-compressed-blob = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-tracing = { git = "https://github.com/paritytech/substrate", branch = "master" } [dev-dependencies] adder = { package = "test-parachain-adder", path = "../../../parachain/test-parachains/adder" } diff --git a/node/core/pvf/src/lib.rs b/node/core/pvf/src/lib.rs index d29887edba2b..b65d5797cea8 100644 --- a/node/core/pvf/src/lib.rs +++ b/node/core/pvf/src/lib.rs @@ -88,6 +88,9 @@ mod worker_common; #[doc(hidden)] pub mod testing; +#[doc(hidden)] +pub use sp_tracing; + pub use error::{ValidationError, InvalidCandidate}; pub use priority::Priority; pub use pvf::Pvf; diff --git a/node/core/pvf/src/testing.rs b/node/core/pvf/src/testing.rs index 9c14ad8bd017..35ba80c1bdc2 100644 --- a/node/core/pvf/src/testing.rs +++ b/node/core/pvf/src/testing.rs @@ -50,6 +50,8 @@ pub fn validate_candidate( macro_rules! decl_puppet_worker_main { () => { fn main() { + $crate::sp_tracing::try_init_simple(); + let args = std::env::args().collect::>(); if args.len() < 2 { panic!("wrong number of arguments"); From 11f3ff6912080e3b5e98dbde6869b28f0792f2aa Mon Sep 17 00:00:00 2001 From: ferrell-code Date: Mon, 5 Jul 2021 12:48:51 -0400 Subject: [PATCH 10/23] origin to frame v2 (#3405) --- runtime/parachains/src/origin.rs | 44 +++++++++++++++++++------------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/runtime/parachains/src/origin.rs b/runtime/parachains/src/origin.rs index f238b91fba9d..6a16c3cfedfb 100644 --- a/runtime/parachains/src/origin.rs +++ b/runtime/parachains/src/origin.rs @@ -19,14 +19,8 @@ use sp_std::result; use sp_runtime::traits::BadOrigin; use primitives::v1::Id as ParaId; -use parity_scale_codec::{Decode, Encode}; -/// Origin for the parachains. -#[derive(PartialEq, Eq, Clone, Encode, Decode, sp_core::RuntimeDebug)] -pub enum Origin { - /// It comes from a parachain. - Parachain(ParaId), -} +pub use pallet::*; /// Ensure that the origin `o` represents a parachain. /// Returns `Ok` with the parachain ID that effected the extrinsic or an `Err` otherwise. @@ -39,17 +33,31 @@ pub fn ensure_parachain(o: OuterOrigin) -> result::Result for enum Call where origin: ::Origin {} +/// There is no way to register an origin type in `construct_runtime` without a pallet the origin +/// belongs to. +/// +/// This module fulfills only the single purpose of housing the `Origin` in `construct_runtime`. +/// +// ideally, though, the `construct_runtime` should support a free-standing origin. +#[frame_support::pallet] +pub mod pallet { + use frame_support::pallet_prelude::*; + use super::*; + + #[pallet::pallet] + #[pallet::generate_store(pub(super) trait Store)] + pub struct Pallet(_); + + #[pallet::config] + pub trait Config: frame_system::Config {} + + /// Origin for the parachains. + #[pallet::origin] + #[derive(PartialEq, Eq, Clone, Encode, Decode, sp_core::RuntimeDebug)] + pub enum Origin { + /// It comes from a parachain. + Parachain(ParaId), + } } impl From for Origin { From 0236a386bb095b5d0974e028fbe055028205a8dd Mon Sep 17 00:00:00 2001 From: Robert Klotzner Date: Mon, 5 Jul 2021 21:22:03 +0200 Subject: [PATCH 11/23] Warn on low connectivity. (#3408) * Warn on low connectivity. * Better timeout and docs. * Review remarks. --- node/network/gossip-support/src/lib.rs | 45 ++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 3 deletions(-) diff --git a/node/network/gossip-support/src/lib.rs b/node/network/gossip-support/src/lib.rs index 29ba32b6163b..adb9fa6e34f8 100644 --- a/node/network/gossip-support/src/lib.rs +++ b/node/network/gossip-support/src/lib.rs @@ -52,6 +52,16 @@ const LOG_TARGET: &str = "parachain::gossip-support"; // since the last authority discovery resolution failure. const BACKOFF_DURATION: Duration = Duration::from_secs(5); +/// Duration after which we consider low connectivity a problem. +/// +/// Especially at startup low connectivity is expected (authority discovery cache needs to be +/// populated). Authority discovery on Kusama takes around 8 minutes, so warning after 10 minutes +/// should be fine: +/// +/// https://github.com/paritytech/substrate/blob/fc49802f263529160635471c8a17888846035f5d/client/authority-discovery/src/lib.rs#L88 +/// +const LOW_CONNECTIVITY_WARN_DELAY: Duration = Duration::from_secs(600); + /// The Gossip Support subsystem. pub struct GossipSupport { keystore: SyncCryptoStorePtr, @@ -64,6 +74,13 @@ struct State { // at least a third of authorities the last time. // `None` otherwise. last_failure: Option, + + /// First time we did not reach our connectivity threshold. + /// + /// This is the time of the first failed attempt to connect to >2/3 of all validators in a + /// potential sequence of failed attempts. It will be cleared once we reached >2/3 + /// connectivity. + failure_start: Option, } impl GossipSupport { @@ -313,10 +330,32 @@ impl State { // issue another request for the same session // if at least a third of the authorities were not resolved - self.last_failure = if failures >= num / 3 { - Some(Instant::now()) + if failures >= num / 3 { + let timestamp = Instant::now(); + match self.failure_start { + None => self.failure_start = Some(timestamp), + Some(first) if first.elapsed() >= LOW_CONNECTIVITY_WARN_DELAY => { + tracing::warn!( + target: LOG_TARGET, + connected = ?(num - failures), + target = ?num, + "Low connectivity - authority lookup failed for too many validators." + ); + + } + Some(_) => { + tracing::debug!( + target: LOG_TARGET, + connected = ?(num - failures), + target = ?num, + "Low connectivity (due to authority lookup failures) - expected on startup." + ); + } + } + self.last_failure = Some(timestamp); } else { - None + self.last_failure = None; + self.failure_start = None; }; Ok(()) From 0347e253a55e98814d3923074a870678c21677ac Mon Sep 17 00:00:00 2001 From: Andronik Ordian Date: Mon, 5 Jul 2021 21:45:51 +0200 Subject: [PATCH 12/23] bump a bunch of deps in parity-common (#3402) * bump a bunch of deps in parity-common * update Substrate * fix browser check Co-authored-by: parity-processbot <> --- Cargo.lock | 538 +++++++++++------------ cli/browser-demo/index.html | 2 +- cli/src/browser.rs | 8 +- core-primitives/Cargo.toml | 2 +- node/core/approval-voting/Cargo.toml | 4 +- node/core/av-store/Cargo.toml | 4 +- node/core/chain-selection/Cargo.toml | 2 +- node/core/dispute-coordinator/Cargo.toml | 4 +- node/core/runtime-api/Cargo.toml | 2 +- node/malus/Cargo.toml | 2 +- node/service/Cargo.toml | 4 +- parachain/Cargo.toml | 2 +- primitives/Cargo.toml | 2 +- xcm/pallet-xcm/Cargo.toml | 2 +- 14 files changed, 284 insertions(+), 294 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0d016ce66530..38c2b3ff9cee 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -96,6 +96,17 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6789e291be47ace86a60303502173d84af8327e3627ecf334356ee0f87a164c" +[[package]] +name = "ahash" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43bb833f0bf979d8475d38fbf09ed3b8a55e1885fe93ad3f93239fc6a4f17b98" +dependencies = [ + "getrandom 0.2.1", + "once_cell", + "version_check", +] + [[package]] name = "aho-corasick" version = "0.7.13" @@ -137,9 +148,9 @@ checksum = "81cddc5f91628367664cc7c69714ff08deee8a3efc54623011c772544d7b2767" [[package]] name = "approx" -version = "0.3.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3" +checksum = "072df7202e63b127ab55acfe16ce97013d5b97bf160489336d3f1840fd78e99e" dependencies = [ "num-traits", ] @@ -1742,9 +1753,9 @@ dependencies = [ [[package]] name = "ethereum-types" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f64b5df66a228d85e4b17e5d6c6aa43b0310898ffe8a85988c4c032357aaabfd" +checksum = "0dd6bde671199089e601e8d47e153368b893ef885f11f365a3261ec58153c211" dependencies = [ "ethbloom", "fixed-hash", @@ -1912,7 +1923,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "parity-scale-codec", ] @@ -1930,14 +1941,14 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "3.1.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-support", "frame-system", "linregress", "log", "parity-scale-codec", - "paste 1.0.5", + "paste", "sp-api", "sp-io", "sp-runtime", @@ -1949,7 +1960,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "Inflector", "chrono", @@ -1972,7 +1983,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-support", "frame-system", @@ -1985,7 +1996,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-support", "frame-system", @@ -2000,7 +2011,7 @@ dependencies = [ [[package]] name = "frame-metadata" version = "13.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "parity-scale-codec", "serde", @@ -2011,7 +2022,7 @@ dependencies = [ [[package]] name = "frame-support" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "bitflags", "frame-metadata", @@ -2021,7 +2032,7 @@ dependencies = [ "max-encoded-len", "once_cell", "parity-scale-codec", - "paste 1.0.5", + "paste", "serde", "smallvec 1.6.1", "sp-arithmetic", @@ -2038,7 +2049,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -2050,7 +2061,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.0.0", @@ -2062,7 +2073,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "proc-macro2", "quote", @@ -2072,7 +2083,7 @@ dependencies = [ [[package]] name = "frame-support-test" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-metadata", "frame-support", @@ -2092,7 +2103,7 @@ dependencies = [ [[package]] name = "frame-system" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -2109,7 +2120,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-support", @@ -2123,7 +2134,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "parity-scale-codec", "sp-api", @@ -2132,7 +2143,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-support", "parity-scale-codec", @@ -2332,7 +2343,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" dependencies = [ "gloo-timers", - "send_wrapper 0.4.0", + "send_wrapper", ] [[package]] @@ -2385,15 +2396,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "generic-array" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ed1e761351b56f54eb9dcd0cfaca9fd0daecf93918e1cfc01c8a3d26ee7adcd" -dependencies = [ - "typenum", -] - [[package]] name = "generic-array" version = "0.14.4" @@ -2559,7 +2561,16 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" dependencies = [ - "ahash", + "ahash 0.4.6", +] + +[[package]] +name = "hashbrown" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +dependencies = [ + "ahash 0.7.4", ] [[package]] @@ -2877,9 +2888,9 @@ dependencies = [ [[package]] name = "impl-codec" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df170efa359aebdd5cb7fe78edcc67107748e4737bdca8a8fb40d15ea7a877ed" +checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" dependencies = [ "parity-scale-codec", ] @@ -2926,7 +2937,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb1fa934250de4de8aef298d81c729a7d33d8c239daa3a7575e6b92bfc7313b" dependencies = [ "autocfg", - "hashbrown", + "hashbrown 0.9.1", "serde", ] @@ -2935,11 +2946,6 @@ name = "instant" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b141fdc7836c525d4d594027d318c84161ca17aaf8113ab1f81ab93ae897485" -dependencies = [ - "js-sys", - "wasm-bindgen", - "web-sys", -] [[package]] name = "integer-encoding" @@ -3359,9 +3365,9 @@ dependencies = [ [[package]] name = "kvdb" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8891bd853eff90e33024195d79d578dc984c82f9e0715fcd2b525a0c19d52811" +checksum = "45a3f58dc069ec0e205a27f5b45920722a46faed802a0541538241af6228f512" dependencies = [ "parity-util-mem", "smallvec 1.6.1", @@ -3369,9 +3375,9 @@ dependencies = [ [[package]] name = "kvdb-memorydb" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a0da8e08caf08d384a620ec19bb6c9b85c84137248e202617fb91881f25912" +checksum = "c3b6b85fc643f5acd0bffb2cc8a6d150209379267af0d41db72170021841f9f5" dependencies = [ "kvdb", "parity-util-mem", @@ -3380,9 +3386,9 @@ dependencies = [ [[package]] name = "kvdb-rocksdb" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b27cdb788bf1c8ade782289f9dbee626940be2961fd75c7cde993fa2f1ded1" +checksum = "431ca65516efab86e65d96281f750ebb54277dec656fcf6c027f3d1c0cb69e4c" dependencies = [ "fs-swap", "kvdb", @@ -3396,24 +3402,6 @@ dependencies = [ "smallvec 1.6.1", ] -[[package]] -name = "kvdb-web" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1e98ba343d0b35f9009a8844cd2b87fa3192f7e79033ac05b00aeae0f3b0b5" -dependencies = [ - "futures 0.3.15", - "js-sys", - "kvdb", - "kvdb-memorydb", - "log", - "parity-util-mem", - "parking_lot 0.11.1", - "send_wrapper 0.5.0", - "wasm-bindgen", - "web-sys", -] - [[package]] name = "lazy_static" version = "1.4.0" @@ -3955,9 +3943,9 @@ dependencies = [ [[package]] name = "linregress" -version = "0.4.0" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d0ad4b5cc8385a881c561fac3501353d63d2a2b7a357b5064d71815c9a92724" +checksum = "1e6e407dadb4ca4b31bc69c27aff00e7ca4534fdcee855159b039a7cebb5f395" dependencies = [ "nalgebra", "statrs", @@ -4010,7 +3998,7 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f374d42cdfc1d7dbf3d3dec28afab2eb97ffbf43a3234d795b5986dbf4b90ba" dependencies = [ - "hashbrown", + "hashbrown 0.9.1", ] [[package]] @@ -4060,9 +4048,9 @@ checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" [[package]] name = "matrixmultiply" -version = "0.2.3" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4f7ec66360130972f34830bfad9ef05c6610a43938a467bcc9ab9369ab3478f" +checksum = "5a8a15b776d9dfaecd44b03c5828c2199cddff5247215858aac14624f8d6b741" dependencies = [ "rawpointer", ] @@ -4070,7 +4058,7 @@ dependencies = [ [[package]] name = "max-encoded-len" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "impl-trait-for-tuples", "max-encoded-len-derive", @@ -4081,7 +4069,7 @@ dependencies = [ [[package]] name = "max-encoded-len-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -4130,12 +4118,12 @@ dependencies = [ [[package]] name = "memory-db" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "814bbecfc0451fc314eeea34f05bbcd5b98a7ad7af37faee088b86a1e633f1d4" +checksum = "de006e09d04fc301a5f7e817b75aa49801c4479a8af753764416b085337ddcc5" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.11.2", "parity-util-mem", ] @@ -4362,22 +4350,33 @@ dependencies = [ [[package]] name = "nalgebra" -version = "0.21.1" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6b6147c3d50b4f3cdabfe2ecc94a0191fd3d6ad58aefd9664cf396285883486" +checksum = "462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120" dependencies = [ "approx", - "generic-array 0.13.2", "matrixmultiply", + "nalgebra-macros", "num-complex", - "num-rational", + "num-rational 0.4.0", "num-traits", - "rand 0.7.3", + "rand 0.8.4", "rand_distr", "simba", "typenum", ] +[[package]] +name = "nalgebra-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "names" version = "0.11.0" @@ -4455,11 +4454,10 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.2.4" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" +checksum = "26873667bbbb7c5182d4a37c1add32cdf09f841af72da53318fdb81543c15085" dependencies = [ - "autocfg", "num-traits", ] @@ -4485,6 +4483,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-rational" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.14" @@ -4584,7 +4593,7 @@ checksum = "13370dae44474229701bb69b90b4f4dca6404cb0357a2d50d635f1171dc3aa7b" [[package]] name = "pallet-authority-discovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-support", "frame-system", @@ -4599,7 +4608,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-support", "frame-system", @@ -4613,7 +4622,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4636,7 +4645,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4666,7 +4675,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4702,7 +4711,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4718,7 +4727,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4733,7 +4742,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4754,7 +4763,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4771,7 +4780,7 @@ dependencies = [ [[package]] name = "pallet-gilt" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4785,7 +4794,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "3.1.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4807,7 +4816,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4822,7 +4831,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4841,7 +4850,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4857,7 +4866,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4872,7 +4881,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "ckb-merkle-mountain-range", "frame-benchmarking", @@ -4889,7 +4898,7 @@ dependencies = [ [[package]] name = "pallet-mmr-primitives" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-support", "frame-system", @@ -4905,7 +4914,7 @@ dependencies = [ [[package]] name = "pallet-mmr-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -4923,7 +4932,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4938,7 +4947,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-support", "frame-system", @@ -4951,7 +4960,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-support", "frame-system", @@ -4967,7 +4976,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4989,7 +4998,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5005,7 +5014,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "enumflags2", "frame-support", @@ -5019,7 +5028,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5034,7 +5043,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-support", "frame-system", @@ -5054,7 +5063,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5070,7 +5079,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-support", "frame-system", @@ -5083,7 +5092,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5093,7 +5102,7 @@ dependencies = [ "pallet-authorship", "pallet-session", "parity-scale-codec", - "paste 1.0.5", + "paste", "rand_chacha 0.2.2", "serde", "sp-application-crypto", @@ -5107,7 +5116,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -5118,7 +5127,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "log", "sp-arithmetic", @@ -5127,7 +5136,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-support", "frame-system", @@ -5140,7 +5149,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5158,7 +5167,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5173,7 +5182,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-support", "frame-system", @@ -5189,7 +5198,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -5206,7 +5215,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5217,7 +5226,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5233,7 +5242,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5248,7 +5257,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5310,24 +5319,25 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "731f4d179ed52b1c7eeb29baf29c604ea9301b889b23ce93660220a5465d5c6f" +checksum = "8975095a2a03bbbdc70a74ab11a4f76a6d0b84680d87c68d722531b0ac28e8a9" dependencies = [ "arrayvec 0.7.0", "bitvec", "byte-slice-cast", + "impl-trait-for-tuples", "parity-scale-codec-derive", "serde", ] [[package]] name = "parity-scale-codec-derive" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f44c5f94427bd0b5076e8f7e15ca3f60a4d8ac0077e4793884e6fdfd8915344e" +checksum = "40dbbfef7f0a1143c5b06e0d76a6278e25dac0bc1af4be51a0fbb73f07e7ad09" dependencies = [ - "proc-macro-crate 0.1.5", + "proc-macro-crate 1.0.0", "proc-macro2", "quote", "syn", @@ -5360,13 +5370,13 @@ dependencies = [ [[package]] name = "parity-util-mem" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "664a8c6b8e62d8f9f2f937e391982eb433ab285b4cd9545b342441e04a906e42" +checksum = "7ad6f1acec69b95caf435bbd158d486e5a0a44fcf51531e84922c59ff09e8457" dependencies = [ "cfg-if 1.0.0", "ethereum-types", - "hashbrown", + "hashbrown 0.11.2", "impl-trait-for-tuples", "jemallocator", "lru", @@ -5503,31 +5513,12 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "paste" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880" -dependencies = [ - "paste-impl", - "proc-macro-hack", -] - [[package]] name = "paste" version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58" -[[package]] -name = "paste-impl" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6" -dependencies = [ - "proc-macro-hack", -] - [[package]] name = "pbkdf2" version = "0.3.0" @@ -7082,9 +7073,9 @@ dependencies = [ [[package]] name = "primitive-types" -version = "0.9.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2415937401cb030a2a0a4d922483f945fa068f52a7dbb22ce0fe5f2b6f6adace" +checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" dependencies = [ "fixed-hash", "impl-codec", @@ -7384,11 +7375,12 @@ dependencies = [ [[package]] name = "rand_distr" -version = "0.2.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96977acbdd3a6576fb1d27391900035bf3863d4a16422973a409b488cf29ffb2" +checksum = "051b398806e42b9cd04ad9ec8f81e355d0a382c543ac6672c62f5a5b452ef142" dependencies = [ - "rand 0.7.3", + "num-traits", + "rand 0.8.4", ] [[package]] @@ -7582,7 +7574,7 @@ dependencies = [ [[package]] name = "remote-externalities" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "env_logger 0.8.4", "hex", @@ -7876,7 +7868,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "log", "sp-core", @@ -7888,7 +7880,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "async-trait", "derive_more", @@ -7917,7 +7909,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "futures 0.3.15", "futures-timer 3.0.2", @@ -7940,7 +7932,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -7956,7 +7948,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7976,7 +7968,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -7987,7 +7979,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "chrono", "fdlimit", @@ -8025,7 +8017,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "derive_more", "fnv", @@ -8059,7 +8051,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "blake2-rfc", "hash-db", @@ -8089,7 +8081,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "async-trait", "parking_lot 0.11.1", @@ -8102,7 +8094,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "async-trait", "derive_more", @@ -8112,7 +8104,7 @@ dependencies = [ "log", "merlin", "num-bigint", - "num-rational", + "num-rational 0.2.4", "num-traits", "parity-scale-codec", "parking_lot 0.11.1", @@ -8148,7 +8140,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "derive_more", "futures 0.3.15", @@ -8172,7 +8164,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "fork-tree", "parity-scale-codec", @@ -8185,7 +8177,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "async-trait", "futures 0.3.15", @@ -8213,7 +8205,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "sc-client-api", "sp-authorship", @@ -8224,7 +8216,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "derive_more", "lazy_static", @@ -8253,7 +8245,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "derive_more", "parity-scale-codec", @@ -8270,7 +8262,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "log", "parity-scale-codec", @@ -8285,7 +8277,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "cfg-if 1.0.0", "libc", @@ -8304,7 +8296,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "async-trait", "derive_more", @@ -8345,7 +8337,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "derive_more", "finality-grandpa", @@ -8369,7 +8361,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-warp-sync" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "derive_more", "futures 0.3.15", @@ -8390,7 +8382,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "ansi_term 0.12.1", "futures 0.3.15", @@ -8408,7 +8400,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "async-trait", "derive_more", @@ -8428,7 +8420,7 @@ dependencies = [ [[package]] name = "sc-light" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "hash-db", "lazy_static", @@ -8447,7 +8439,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "async-std", "async-trait", @@ -8500,7 +8492,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "futures 0.3.15", "futures-timer 3.0.2", @@ -8517,7 +8509,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "bytes 0.5.6", "fnv", @@ -8545,7 +8537,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "futures 0.3.15", "libp2p", @@ -8558,7 +8550,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -8567,7 +8559,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "futures 0.3.15", "hash-db", @@ -8602,7 +8594,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "derive_more", "futures 0.3.15", @@ -8627,7 +8619,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "futures 0.1.29", "jsonrpc-core", @@ -8645,7 +8637,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "async-trait", "directories", @@ -8711,7 +8703,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "log", "parity-scale-codec", @@ -8726,7 +8718,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -8746,7 +8738,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "chrono", "futures 0.3.15", @@ -8766,7 +8758,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "ansi_term 0.12.1", "atty", @@ -8803,7 +8795,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -8814,7 +8806,7 @@ dependencies = [ [[package]] name = "sc-transaction-graph" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "derive_more", "futures 0.3.15", @@ -8836,7 +8828,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "futures 0.3.15", "intervalier", @@ -9032,12 +9024,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" -[[package]] -name = "send_wrapper" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "930c0acf610d3fdb5e2ab6213019aaa04e227ebe9547b0649ba599b16d788bd7" - [[package]] name = "separator" version = "0.4.1" @@ -9181,14 +9167,14 @@ checksum = "65211b7b6fc3f14ff9fc7a2011a434e3e6880585bd2e9e9396315ae24cbf7852" [[package]] name = "simba" -version = "0.1.5" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb931b1367faadea6b1ab1c306a860ec17aaa5fa39f367d0c744e69d971a1fb2" +checksum = "8e82063457853d00243beda9952e910b82593e4b07ae9f721b9278a99a0d3d5c" dependencies = [ "approx", "num-complex", "num-traits", - "paste 0.1.18", + "paste", ] [[package]] @@ -9212,7 +9198,7 @@ version = "0.9.8" dependencies = [ "enumn", "parity-scale-codec", - "paste 1.0.5", + "paste", "sp-runtime", "sp-std", ] @@ -9315,7 +9301,7 @@ dependencies = [ [[package]] name = "sp-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "hash-db", "log", @@ -9332,7 +9318,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "blake2-rfc", "proc-macro-crate 1.0.0", @@ -9344,7 +9330,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "max-encoded-len", "parity-scale-codec", @@ -9357,7 +9343,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "integer-sqrt", "num-traits", @@ -9371,7 +9357,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "parity-scale-codec", "sp-api", @@ -9383,7 +9369,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "async-trait", "parity-scale-codec", @@ -9395,7 +9381,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "parity-scale-codec", "sp-api", @@ -9407,7 +9393,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "futures 0.3.15", "log", @@ -9425,7 +9411,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "async-trait", "futures 0.3.15", @@ -9452,7 +9438,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "async-trait", "merlin", @@ -9474,7 +9460,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "parity-scale-codec", "sp-arithmetic", @@ -9484,7 +9470,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -9496,7 +9482,7 @@ dependencies = [ [[package]] name = "sp-core" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "base58", "blake2-rfc", @@ -9541,7 +9527,7 @@ dependencies = [ [[package]] name = "sp-database" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "kvdb", "parking_lot 0.11.1", @@ -9550,7 +9536,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "proc-macro2", "quote", @@ -9560,7 +9546,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "environmental", "parity-scale-codec", @@ -9571,7 +9557,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "finality-grandpa", "log", @@ -9588,7 +9574,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9602,7 +9588,7 @@ dependencies = [ [[package]] name = "sp-io" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "futures 0.3.15", "hash-db", @@ -9627,7 +9613,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "lazy_static", "sp-core", @@ -9638,7 +9624,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "async-trait", "derive_more", @@ -9655,7 +9641,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "ruzstd", "zstd", @@ -9664,7 +9650,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "parity-scale-codec", "serde", @@ -9677,7 +9663,7 @@ dependencies = [ [[package]] name = "sp-npos-elections-compact" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -9688,7 +9674,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "sp-api", "sp-core", @@ -9698,7 +9684,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "backtrace", ] @@ -9706,7 +9692,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "rustc-hash", "serde", @@ -9717,7 +9703,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "either", "hash256-std-hasher", @@ -9726,7 +9712,7 @@ dependencies = [ "max-encoded-len", "parity-scale-codec", "parity-util-mem", - "paste 1.0.5", + "paste", "rand 0.7.3", "serde", "sp-application-crypto", @@ -9739,7 +9725,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9756,7 +9742,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "Inflector", "proc-macro-crate 1.0.0", @@ -9768,7 +9754,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "serde", "serde_json", @@ -9777,7 +9763,7 @@ dependencies = [ [[package]] name = "sp-session" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "parity-scale-codec", "sp-api", @@ -9790,7 +9776,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -9800,7 +9786,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "hash-db", "log", @@ -9823,12 +9809,12 @@ dependencies = [ [[package]] name = "sp-std" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" [[package]] name = "sp-storage" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9841,7 +9827,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "log", "sp-core", @@ -9854,7 +9840,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "async-trait", "futures-timer 3.0.2", @@ -9871,7 +9857,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "erased-serde", "log", @@ -9889,7 +9875,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "derive_more", "futures 0.3.15", @@ -9905,7 +9891,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "async-trait", "log", @@ -9920,7 +9906,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "hash-db", "memory-db", @@ -9934,7 +9920,7 @@ dependencies = [ [[package]] name = "sp-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "futures 0.3.15", "futures-core", @@ -9946,7 +9932,7 @@ dependencies = [ [[package]] name = "sp-version" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9959,7 +9945,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "parity-scale-codec", "proc-macro-crate 1.0.0", @@ -9971,7 +9957,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -10010,7 +9996,7 @@ dependencies = [ "pallet-staking", "pallet-transaction-payment", "parity-scale-codec", - "paste 1.0.5", + "paste", "polkadot-core-primitives", "polkadot-runtime", "polkadot-runtime-common", @@ -10062,11 +10048,15 @@ dependencies = [ [[package]] name = "statrs" -version = "0.12.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cce16f6de653e88beca7bd13780d08e09d4489dbca1f9210e041bc4852481382" +checksum = "05bdbb8e4e78216a85785a85d3ec3183144f98d0097b9281802c019bb07a6f05" dependencies = [ - "rand 0.7.3", + "approx", + "lazy_static", + "nalgebra", + "num-traits", + "rand 0.8.4", ] [[package]] @@ -10154,7 +10144,7 @@ dependencies = [ [[package]] name = "substrate-browser-utils" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "chrono", "console_error_panic_hook", @@ -10163,7 +10153,7 @@ dependencies = [ "futures-timer 3.0.2", "getrandom 0.2.1", "js-sys", - "kvdb-web", + "kvdb-memorydb", "libp2p-wasm-ext", "log", "rand 0.7.3", @@ -10180,7 +10170,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "platforms", ] @@ -10188,7 +10178,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.15", @@ -10211,7 +10201,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "async-std", "derive_more", @@ -10225,7 +10215,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "async-trait", "futures 0.1.29", @@ -10254,7 +10244,7 @@ dependencies = [ [[package]] name = "substrate-test-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "futures 0.3.15", "substrate-test-utils-derive", @@ -10264,7 +10254,7 @@ dependencies = [ [[package]] name = "substrate-test-utils-derive" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "proc-macro-crate 1.0.0", "quote", @@ -10274,7 +10264,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "ansi_term 0.12.1", "atty", @@ -10947,12 +10937,12 @@ checksum = "a7f741b240f1a48843f9b8e0444fb55fb2a4ff67293b50a9179dfd5ea67f8d41" [[package]] name = "trie-db" -version = "0.22.5" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd81fe0c8bc2b528a51c9d2c31dae4483367a26a723a3c9a4a8120311d7774e3" +checksum = "9eac131e334e81b6b3be07399482042838adcd7957aa0010231d0813e39e02fa" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.11.2", "log", "rustc-hex", "smallvec 1.6.1", @@ -11019,7 +11009,7 @@ checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" [[package]] name = "try-runtime-cli" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#baf37363b23fd07514090a373a00337424ee8f68" +source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" dependencies = [ "frame-try-runtime", "log", @@ -11406,7 +11396,7 @@ dependencies = [ "downcast-rs", "libc", "memory_units", - "num-rational", + "num-rational 0.2.4", "num-traits", "parity-wasm 0.42.2", "wasmi-validation", @@ -11442,7 +11432,7 @@ dependencies = [ "lazy_static", "libc", "log", - "paste 1.0.5", + "paste", "psm", "region", "rustc-demangle", diff --git a/cli/browser-demo/index.html b/cli/browser-demo/index.html index e8419281b750..10e53ef433b5 100644 --- a/cli/browser-demo/index.html +++ b/cli/browser-demo/index.html @@ -21,7 +21,7 @@ // Build our client. log('Starting client'); - let client = await start_client(chain_spec_text, 'info'); + let client = start_client(chain_spec_text, 'info'); log('Client started'); client.rpcSubscribe('{"method":"chain_subscribeNewHead","params":[],"id":1,"jsonrpc":"2.0"}', diff --git a/cli/src/browser.rs b/cli/src/browser.rs index 29dac5c4f2b8..ad9b1bf947eb 100644 --- a/cli/src/browser.rs +++ b/cli/src/browser.rs @@ -20,17 +20,17 @@ use wasm_bindgen::prelude::*; /// Starts the client. #[wasm_bindgen] -pub async fn start_client(chain_spec: String, log_level: String) -> Result { - start_inner(chain_spec, log_level).await.map_err(|err| JsValue::from_str(&err.to_string())) +pub fn start_client(chain_spec: String, log_level: String) -> Result { + start_inner(chain_spec, log_level).map_err(|err| JsValue::from_str(&err.to_string())) } -async fn start_inner(chain_spec: String, log_directives: String) -> Result> { +fn start_inner(chain_spec: String, log_directives: String) -> Result> { set_console_error_panic_hook(); init_logging(&log_directives)?; let chain_spec = service::PolkadotChainSpec::from_json_bytes(chain_spec.as_bytes().to_vec()).map_err(|e| format!("{:?}", e))?; - let config = browser_configuration(chain_spec).await?; + let config = browser_configuration(chain_spec)?; info!("Polkadot browser node"); info!(" version {}", config.impl_version); diff --git a/core-primitives/Cargo.toml b/core-primitives/Cargo.toml index eb345bc2d8af..54e875048515 100644 --- a/core-primitives/Cargo.toml +++ b/core-primitives/Cargo.toml @@ -9,7 +9,7 @@ sp-core = { git = "https://github.com/paritytech/substrate", branch = "master", sp-std = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } parity-scale-codec = { version = "2.0.0", default-features = false, features = [ "derive" ] } -parity-util-mem = { version = "0.9.0", default-features = false, optional = true } +parity-util-mem = { version = "0.10.0", default-features = false, optional = true } [features] default = [ "std" ] diff --git a/node/core/approval-voting/Cargo.toml b/node/core/approval-voting/Cargo.toml index 104a52621e9e..9385380df585 100644 --- a/node/core/approval-voting/Cargo.toml +++ b/node/core/approval-voting/Cargo.toml @@ -13,7 +13,7 @@ bitvec = { version = "0.20.1", default-features = false, features = ["alloc"] } lru = "0.6" merlin = "2.0" schnorrkel = "0.9.1" -kvdb = "0.9.0" +kvdb = "0.10.0" derive_more = "0.99.14" polkadot-node-subsystem = { path = "../../subsystem" } @@ -41,4 +41,4 @@ sp-consensus-babe = { git = "https://github.com/paritytech/substrate", branch = maplit = "1.0.2" polkadot-node-subsystem-test-helpers = { path = "../../subsystem-test-helpers" } assert_matches = "1.4.0" -kvdb-memorydb = "0.9.0" +kvdb-memorydb = "0.10.0" diff --git a/node/core/av-store/Cargo.toml b/node/core/av-store/Cargo.toml index 1880b5b80fff..f60dfd42b36e 100644 --- a/node/core/av-store/Cargo.toml +++ b/node/core/av-store/Cargo.toml @@ -7,7 +7,7 @@ edition = "2018" [dependencies] futures = "0.3.15" futures-timer = "3.0.2" -kvdb = "0.9.0" +kvdb = "0.10.0" thiserror = "1.0.23" tracing = "0.1.26" bitvec = "0.20.1" @@ -24,7 +24,7 @@ polkadot-node-primitives = { path = "../../primitives" } log = "0.4.13" env_logger = "0.8.4" assert_matches = "1.4.0" -kvdb-memorydb = "0.9.0" +kvdb-memorydb = "0.10.0" sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" } polkadot-node-subsystem-util = { path = "../../subsystem-util" } diff --git a/node/core/chain-selection/Cargo.toml b/node/core/chain-selection/Cargo.toml index ee498427ea0d..53e74cf883a1 100644 --- a/node/core/chain-selection/Cargo.toml +++ b/node/core/chain-selection/Cargo.toml @@ -12,7 +12,7 @@ polkadot-primitives = { path = "../../../primitives" } polkadot-node-primitives = { path = "../../primitives" } polkadot-subsystem = { package = "polkadot-node-subsystem", path = "../../subsystem" } polkadot-node-subsystem-util = { path = "../../subsystem-util" } -kvdb = "0.9.0" +kvdb = "0.10.0" thiserror = "1.0.23" parity-scale-codec = "2" diff --git a/node/core/dispute-coordinator/Cargo.toml b/node/core/dispute-coordinator/Cargo.toml index f2ba0491005f..72af0db6ed62 100644 --- a/node/core/dispute-coordinator/Cargo.toml +++ b/node/core/dispute-coordinator/Cargo.toml @@ -9,7 +9,7 @@ bitvec = { version = "0.20.1", default-features = false, features = ["alloc"] } futures = "0.3.12" tracing = "0.1.26" parity-scale-codec = "2" -kvdb = "0.9.0" +kvdb = "0.10.0" derive_more = "0.99.14" thiserror = "1.0.23" @@ -21,7 +21,7 @@ polkadot-node-subsystem-util = { path = "../../subsystem-util" } sc-keystore = { git = "https://github.com/paritytech/substrate", branch = "master" } [dev-dependencies] -kvdb-memorydb = "0.9.0" +kvdb-memorydb = "0.10.0" polkadot-node-subsystem-test-helpers = { path = "../../subsystem-test-helpers"} sp-keyring = { git = "https://github.com/paritytech/substrate", branch = "master" } sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" } diff --git a/node/core/runtime-api/Cargo.toml b/node/core/runtime-api/Cargo.toml index 27d2c5a20a3b..a1a5962c6bd8 100644 --- a/node/core/runtime-api/Cargo.toml +++ b/node/core/runtime-api/Cargo.toml @@ -8,7 +8,7 @@ edition = "2018" futures = "0.3.15" tracing = "0.1.26" memory-lru = "0.1.0" -parity-util-mem = { version = "0.9.0", default-features = false } +parity-util-mem = { version = "0.10.0", default-features = false } sp-api = { git = "https://github.com/paritytech/substrate", branch = "master" } sp-authority-discovery = { git = "https://github.com/paritytech/substrate", branch = "master" } diff --git a/node/malus/Cargo.toml b/node/malus/Cargo.toml index 8d34099c3e00..084a02b9591a 100644 --- a/node/malus/Cargo.toml +++ b/node/malus/Cargo.toml @@ -21,7 +21,7 @@ polkadot-cli = { path = "../../cli", default-features = false, features = [ "cli polkadot-node-subsystem = { path = "../subsystem" } polkadot-node-subsystem-util = { path = "../subsystem-util" } polkadot-node-core-candidate-validation = { path = "../core/candidate-validation" } -parity-util-mem = { version = "*", default-features = false, features = ["jemalloc-global"] } +parity-util-mem = { version = "0.10.0", default-features = false, features = ["jemalloc-global"] } color-eyre = { version = "0.5.11", default-features = false } assert_matches = "1.5" structopt = "0.3.21" diff --git a/node/service/Cargo.toml b/node/service/Cargo.toml index 4fbd7af2e014..30b1bb87ad2d 100644 --- a/node/service/Cargo.toml +++ b/node/service/Cargo.toml @@ -65,8 +65,8 @@ hex-literal = "0.3.1" tracing = "0.1.26" serde = { version = "1.0.123", features = ["derive"] } thiserror = "1.0.23" -kvdb = "0.9.0" -kvdb-rocksdb = { version = "0.11.1", optional = true } +kvdb = "0.10.0" +kvdb-rocksdb = { version = "0.12.0", optional = true } async-trait = "0.1.42" # Polkadot diff --git a/parachain/Cargo.toml b/parachain/Cargo.toml index 9af6616682a8..116d80e84188 100644 --- a/parachain/Cargo.toml +++ b/parachain/Cargo.toml @@ -10,7 +10,7 @@ edition = "2018" # this crate for WASM. This is critical to avoid forcing all parachain WASM into implementing # various unnecessary Substrate-specific endpoints. parity-scale-codec = { version = "2.0.0", default-features = false, features = [ "derive" ] } -parity-util-mem = { version = "0.9.0", optional = true } +parity-util-mem = { version = "0.10.0", optional = true } sp-std = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } sp-core = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml index 4dcc697ecd15..596aed56f750 100644 --- a/primitives/Cargo.toml +++ b/primitives/Cargo.toml @@ -26,7 +26,7 @@ trie = { package = "sp-trie", git = "https://github.com/paritytech/substrate", b bitvec = { version = "0.20.1", default-features = false, features = ["alloc"] } frame-system = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } hex-literal = "0.3.1" -parity-util-mem = { version = "0.9.0", default-features = false, optional = true } +parity-util-mem = { version = "0.10.0", default-features = false, optional = true } thiserror = "1.0.23" [dev-dependencies] diff --git a/xcm/pallet-xcm/Cargo.toml b/xcm/pallet-xcm/Cargo.toml index 75d737ed69cd..2b4fbbbba7dd 100644 --- a/xcm/pallet-xcm/Cargo.toml +++ b/xcm/pallet-xcm/Cargo.toml @@ -27,4 +27,4 @@ std = [ "frame-system/std", "xcm/std", ] -runtime-benchmarks = [] \ No newline at end of file +runtime-benchmarks = [] From c113764b8e8025f75a1863b99226ce33e21bb92f Mon Sep 17 00:00:00 2001 From: Igor Matuszewski Date: Mon, 5 Jul 2021 23:11:03 +0200 Subject: [PATCH 13/23] Use MaxEncodedLen trait from new parity-scale-codec v2.2 (#3412) * Use MaxEncodedLen trait from new parity-scale-codec v2.2 * update Substrate Co-authored-by: parity-processbot <> --- Cargo.lock | 336 ++++++++---------- bridges/primitives/chain-millau/Cargo.toml | 4 +- .../chain-millau/src/millau_hash.rs | 3 +- runtime/kusama/Cargo.toml | 5 +- runtime/kusama/src/lib.rs | 4 +- runtime/polkadot/Cargo.toml | 5 +- runtime/polkadot/src/lib.rs | 4 +- runtime/rococo/Cargo.toml | 5 +- runtime/rococo/src/lib.rs | 4 +- runtime/westend/Cargo.toml | 5 +- runtime/westend/src/lib.rs | 4 +- 11 files changed, 166 insertions(+), 213 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 38c2b3ff9cee..c33694939c35 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1923,7 +1923,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "parity-scale-codec", ] @@ -1941,7 +1941,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "3.1.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-support", "frame-system", @@ -1960,7 +1960,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "Inflector", "chrono", @@ -1983,7 +1983,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-support", "frame-system", @@ -1996,7 +1996,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-support", "frame-system", @@ -2011,7 +2011,7 @@ dependencies = [ [[package]] name = "frame-metadata" version = "13.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "parity-scale-codec", "serde", @@ -2022,14 +2022,13 @@ dependencies = [ [[package]] name = "frame-support" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "bitflags", "frame-metadata", "frame-support-procedural", "impl-trait-for-tuples", "log", - "max-encoded-len", "once_cell", "parity-scale-codec", "paste", @@ -2049,7 +2048,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -2061,7 +2060,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.0.0", @@ -2073,7 +2072,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "proc-macro2", "quote", @@ -2083,7 +2082,7 @@ dependencies = [ [[package]] name = "frame-support-test" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-metadata", "frame-support", @@ -2103,7 +2102,7 @@ dependencies = [ [[package]] name = "frame-system" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -2120,7 +2119,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-support", @@ -2134,7 +2133,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "parity-scale-codec", "sp-api", @@ -2143,7 +2142,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-support", "parity-scale-codec", @@ -3281,7 +3280,6 @@ dependencies = [ "hex-literal", "libsecp256k1", "log", - "max-encoded-len", "pallet-authority-discovery", "pallet-authorship", "pallet-babe", @@ -4055,28 +4053,6 @@ dependencies = [ "rawpointer", ] -[[package]] -name = "max-encoded-len" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" -dependencies = [ - "impl-trait-for-tuples", - "max-encoded-len-derive", - "parity-scale-codec", - "primitive-types", -] - -[[package]] -name = "max-encoded-len-derive" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" -dependencies = [ - "proc-macro-crate 1.0.0", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "maybe-uninit" version = "2.0.0" @@ -4593,7 +4569,7 @@ checksum = "13370dae44474229701bb69b90b4f4dca6404cb0357a2d50d635f1171dc3aa7b" [[package]] name = "pallet-authority-discovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-support", "frame-system", @@ -4608,7 +4584,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-support", "frame-system", @@ -4622,7 +4598,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-support", @@ -4645,13 +4621,12 @@ dependencies = [ [[package]] name = "pallet-balances" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", - "max-encoded-len", "parity-scale-codec", "sp-runtime", "sp-std", @@ -4675,7 +4650,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-support", @@ -4711,7 +4686,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-support", @@ -4727,7 +4702,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-support", @@ -4742,7 +4717,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4763,7 +4738,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-support", @@ -4780,7 +4755,7 @@ dependencies = [ [[package]] name = "pallet-gilt" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-support", @@ -4794,7 +4769,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "3.1.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-support", @@ -4816,7 +4791,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4831,7 +4806,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-support", @@ -4850,7 +4825,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-support", @@ -4866,7 +4841,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-support", @@ -4881,7 +4856,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "ckb-merkle-mountain-range", "frame-benchmarking", @@ -4898,7 +4873,7 @@ dependencies = [ [[package]] name = "pallet-mmr-primitives" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-support", "frame-system", @@ -4914,7 +4889,7 @@ dependencies = [ [[package]] name = "pallet-mmr-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -4932,7 +4907,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-support", @@ -4947,7 +4922,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-support", "frame-system", @@ -4960,7 +4935,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-support", "frame-system", @@ -4976,7 +4951,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4998,12 +4973,11 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "max-encoded-len", "parity-scale-codec", "sp-core", "sp-io", @@ -5014,7 +4988,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "enumflags2", "frame-support", @@ -5028,7 +5002,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-support", @@ -5043,7 +5017,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-support", "frame-system", @@ -5063,7 +5037,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-support", @@ -5079,7 +5053,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-support", "frame-system", @@ -5092,7 +5066,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5116,7 +5090,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -5127,7 +5101,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "log", "sp-arithmetic", @@ -5136,7 +5110,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-support", "frame-system", @@ -5149,7 +5123,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-support", @@ -5167,7 +5141,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-support", @@ -5182,7 +5156,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-support", "frame-system", @@ -5198,7 +5172,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -5215,7 +5189,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5226,7 +5200,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-support", @@ -5242,7 +5216,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-benchmarking", "frame-support", @@ -5257,7 +5231,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "enumflags2", "frame-benchmarking", @@ -6529,7 +6503,6 @@ dependencies = [ "hex-literal", "libsecp256k1", "log", - "max-encoded-len", "pallet-authority-discovery", "pallet-authorship", "pallet-babe", @@ -7574,7 +7547,7 @@ dependencies = [ [[package]] name = "remote-externalities" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "env_logger 0.8.4", "hex", @@ -7662,7 +7635,6 @@ dependencies = [ "frame-system-rpc-runtime-api", "hex-literal", "log", - "max-encoded-len", "pallet-authority-discovery", "pallet-authorship", "pallet-babe", @@ -7868,7 +7840,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "log", "sp-core", @@ -7880,7 +7852,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "async-trait", "derive_more", @@ -7909,7 +7881,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "futures 0.3.15", "futures-timer 3.0.2", @@ -7932,7 +7904,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -7948,7 +7920,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7968,7 +7940,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -7979,7 +7951,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "chrono", "fdlimit", @@ -8017,7 +7989,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "derive_more", "fnv", @@ -8051,7 +8023,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "blake2-rfc", "hash-db", @@ -8081,7 +8053,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "async-trait", "parking_lot 0.11.1", @@ -8094,7 +8066,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "async-trait", "derive_more", @@ -8140,7 +8112,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "derive_more", "futures 0.3.15", @@ -8164,7 +8136,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "fork-tree", "parity-scale-codec", @@ -8177,7 +8149,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "async-trait", "futures 0.3.15", @@ -8205,7 +8177,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "sc-client-api", "sp-authorship", @@ -8216,7 +8188,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "derive_more", "lazy_static", @@ -8245,7 +8217,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "derive_more", "parity-scale-codec", @@ -8262,7 +8234,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "log", "parity-scale-codec", @@ -8277,7 +8249,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "cfg-if 1.0.0", "libc", @@ -8296,7 +8268,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "async-trait", "derive_more", @@ -8337,7 +8309,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "derive_more", "finality-grandpa", @@ -8361,7 +8333,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-warp-sync" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "derive_more", "futures 0.3.15", @@ -8382,7 +8354,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "ansi_term 0.12.1", "futures 0.3.15", @@ -8400,7 +8372,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "async-trait", "derive_more", @@ -8420,7 +8392,7 @@ dependencies = [ [[package]] name = "sc-light" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "hash-db", "lazy_static", @@ -8439,7 +8411,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "async-std", "async-trait", @@ -8492,7 +8464,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "futures 0.3.15", "futures-timer 3.0.2", @@ -8509,7 +8481,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "bytes 0.5.6", "fnv", @@ -8537,7 +8509,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "futures 0.3.15", "libp2p", @@ -8550,7 +8522,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -8559,7 +8531,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "futures 0.3.15", "hash-db", @@ -8594,7 +8566,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "derive_more", "futures 0.3.15", @@ -8619,7 +8591,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "futures 0.1.29", "jsonrpc-core", @@ -8637,7 +8609,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "async-trait", "directories", @@ -8703,7 +8675,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "log", "parity-scale-codec", @@ -8718,7 +8690,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -8738,7 +8710,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "chrono", "futures 0.3.15", @@ -8758,7 +8730,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "ansi_term 0.12.1", "atty", @@ -8795,7 +8767,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -8806,7 +8778,7 @@ dependencies = [ [[package]] name = "sc-transaction-graph" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "derive_more", "futures 0.3.15", @@ -8828,7 +8800,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "futures 0.3.15", "intervalier", @@ -9301,7 +9273,7 @@ dependencies = [ [[package]] name = "sp-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "hash-db", "log", @@ -9318,7 +9290,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "blake2-rfc", "proc-macro-crate 1.0.0", @@ -9330,9 +9302,8 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ - "max-encoded-len", "parity-scale-codec", "serde", "sp-core", @@ -9343,7 +9314,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "integer-sqrt", "num-traits", @@ -9357,7 +9328,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "parity-scale-codec", "sp-api", @@ -9369,7 +9340,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "async-trait", "parity-scale-codec", @@ -9381,7 +9352,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "parity-scale-codec", "sp-api", @@ -9393,7 +9364,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "futures 0.3.15", "log", @@ -9411,7 +9382,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "async-trait", "futures 0.3.15", @@ -9438,7 +9409,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "async-trait", "merlin", @@ -9460,7 +9431,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "parity-scale-codec", "sp-arithmetic", @@ -9470,7 +9441,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -9482,7 +9453,7 @@ dependencies = [ [[package]] name = "sp-core" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "base58", "blake2-rfc", @@ -9497,7 +9468,6 @@ dependencies = [ "lazy_static", "libsecp256k1", "log", - "max-encoded-len", "merlin", "num-traits", "parity-scale-codec", @@ -9527,7 +9497,7 @@ dependencies = [ [[package]] name = "sp-database" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "kvdb", "parking_lot 0.11.1", @@ -9536,7 +9506,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "proc-macro2", "quote", @@ -9546,7 +9516,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "environmental", "parity-scale-codec", @@ -9557,7 +9527,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "finality-grandpa", "log", @@ -9574,7 +9544,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9588,7 +9558,7 @@ dependencies = [ [[package]] name = "sp-io" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "futures 0.3.15", "hash-db", @@ -9613,7 +9583,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "lazy_static", "sp-core", @@ -9624,7 +9594,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "async-trait", "derive_more", @@ -9641,7 +9611,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "ruzstd", "zstd", @@ -9650,7 +9620,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "parity-scale-codec", "serde", @@ -9663,7 +9633,7 @@ dependencies = [ [[package]] name = "sp-npos-elections-compact" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -9674,7 +9644,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "sp-api", "sp-core", @@ -9684,7 +9654,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "backtrace", ] @@ -9692,7 +9662,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "rustc-hash", "serde", @@ -9703,13 +9673,12 @@ dependencies = [ [[package]] name = "sp-runtime" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "either", "hash256-std-hasher", "impl-trait-for-tuples", "log", - "max-encoded-len", "parity-scale-codec", "parity-util-mem", "paste", @@ -9725,7 +9694,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9742,7 +9711,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "Inflector", "proc-macro-crate 1.0.0", @@ -9754,7 +9723,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "serde", "serde_json", @@ -9763,7 +9732,7 @@ dependencies = [ [[package]] name = "sp-session" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "parity-scale-codec", "sp-api", @@ -9776,7 +9745,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -9786,7 +9755,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "hash-db", "log", @@ -9809,12 +9778,12 @@ dependencies = [ [[package]] name = "sp-std" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" [[package]] name = "sp-storage" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9827,7 +9796,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "log", "sp-core", @@ -9840,7 +9809,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "async-trait", "futures-timer 3.0.2", @@ -9857,7 +9826,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "erased-serde", "log", @@ -9875,7 +9844,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "derive_more", "futures 0.3.15", @@ -9891,7 +9860,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "async-trait", "log", @@ -9906,7 +9875,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "hash-db", "memory-db", @@ -9920,7 +9889,7 @@ dependencies = [ [[package]] name = "sp-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "futures 0.3.15", "futures-core", @@ -9932,7 +9901,7 @@ dependencies = [ [[package]] name = "sp-version" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9945,7 +9914,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "parity-scale-codec", "proc-macro-crate 1.0.0", @@ -9957,7 +9926,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -10144,7 +10113,7 @@ dependencies = [ [[package]] name = "substrate-browser-utils" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "chrono", "console_error_panic_hook", @@ -10170,7 +10139,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "platforms", ] @@ -10178,7 +10147,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.15", @@ -10201,7 +10170,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "async-std", "derive_more", @@ -10215,7 +10184,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "async-trait", "futures 0.1.29", @@ -10244,7 +10213,7 @@ dependencies = [ [[package]] name = "substrate-test-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "futures 0.3.15", "substrate-test-utils-derive", @@ -10254,7 +10223,7 @@ dependencies = [ [[package]] name = "substrate-test-utils-derive" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "proc-macro-crate 1.0.0", "quote", @@ -10264,7 +10233,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "ansi_term 0.12.1", "atty", @@ -11009,7 +10978,7 @@ checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" [[package]] name = "try-runtime-cli" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#32a365d549dfb123d2d14443b3e35ed908da6de4" +source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" dependencies = [ "frame-try-runtime", "log", @@ -11696,7 +11665,6 @@ dependencies = [ "hex-literal", "libsecp256k1", "log", - "max-encoded-len", "pallet-authority-discovery", "pallet-authorship", "pallet-babe", diff --git a/bridges/primitives/chain-millau/Cargo.toml b/bridges/primitives/chain-millau/Cargo.toml index f4198e35c38c..671bcbd53d00 100644 --- a/bridges/primitives/chain-millau/Cargo.toml +++ b/bridges/primitives/chain-millau/Cargo.toml @@ -14,7 +14,7 @@ bp-messages = { path = "../messages", default-features = false } bp-runtime = { path = "../runtime", default-features = false } fixed-hash = { version = "0.7.0", default-features = false } hash256-std-hasher = { version = "0.15.2", default-features = false } -impl-codec = { version = "0.5.0", default-features = false } +impl-codec = { version = "0.5.1", default-features = false } impl-serde = { version = "0.3.1", optional = true } parity-util-mem = { version = "0.9.0", default-features = false, features = ["primitive-types"] } serde = { version = "1.0.101", optional = true, features = ["derive"] } @@ -23,7 +23,6 @@ serde = { version = "1.0.101", optional = true, features = ["derive"] } frame-support = { git = "https://github.com/paritytech/substrate", branch = "master" , default-features = false } frame-system = { git = "https://github.com/paritytech/substrate", branch = "master" , default-features = false } -max-encoded-len = { git = "https://github.com/paritytech/substrate", branch = "master" , default-features = false, features = ["derive"] } sp-api = { git = "https://github.com/paritytech/substrate", branch = "master" , default-features = false } sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" , default-features = false } sp-io = { git = "https://github.com/paritytech/substrate", branch = "master" , default-features = false } @@ -42,7 +41,6 @@ std = [ "hash256-std-hasher/std", "impl-codec/std", "impl-serde", - "max-encoded-len/std", "parity-util-mem/std", "serde", "sp-api/std", diff --git a/bridges/primitives/chain-millau/src/millau_hash.rs b/bridges/primitives/chain-millau/src/millau_hash.rs index 219ceb68a824..936791217af1 100644 --- a/bridges/primitives/chain-millau/src/millau_hash.rs +++ b/bridges/primitives/chain-millau/src/millau_hash.rs @@ -14,7 +14,6 @@ // You should have received a copy of the GNU General Public License // along with Parity Bridges Common. If not, see . -use frame_support::traits::MaxEncodedLen; use parity_util_mem::MallocSizeOf; use sp_runtime::traits::CheckEqual; @@ -23,7 +22,7 @@ use sp_runtime::traits::CheckEqual; fixed_hash::construct_fixed_hash! { /// Hash type used in Millau chain. - #[derive(MallocSizeOf, MaxEncodedLen)] + #[derive(MallocSizeOf)] pub struct MillauHash(64); } diff --git a/runtime/kusama/Cargo.toml b/runtime/kusama/Cargo.toml index 656e66435c5b..8d26bd06a524 100644 --- a/runtime/kusama/Cargo.toml +++ b/runtime/kusama/Cargo.toml @@ -7,7 +7,7 @@ build = "build.rs" [dependencies] bitvec = { version = "0.20.1", default-features = false, features = ["alloc"] } -parity-scale-codec = { version = "2.0.0", default-features = false, features = ["derive"] } +parity-scale-codec = { version = "2.2.0", default-features = false, features = ["derive", "max-encoded-len"] } log = { version = "0.4.14", default-features = false } rustc-hex = { version = "2.1.0", default-features = false } serde = { version = "1.0.123", default-features = false } @@ -88,8 +88,6 @@ xcm = { package = "xcm", path = "../../xcm", default-features = false } xcm-executor = { package = "xcm-executor", path = "../../xcm/xcm-executor", default-features = false } xcm-builder = { package = "xcm-builder", path = "../../xcm/xcm-builder", default-features = false } -max-encoded-len = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } - [dev-dependencies] hex-literal = "0.3.1" libsecp256k1 = "0.3.5" @@ -174,7 +172,6 @@ std = [ "xcm/std", "xcm-executor/std", "xcm-builder/std", - "max-encoded-len/std", "frame-election-provider-support/std", ] runtime-benchmarks = [ diff --git a/runtime/kusama/src/lib.rs b/runtime/kusama/src/lib.rs index 33e7b3697fe8..af1fa6fe21f9 100644 --- a/runtime/kusama/src/lib.rs +++ b/runtime/kusama/src/lib.rs @@ -24,7 +24,7 @@ use pallet_transaction_payment::CurrencyAdapter; use sp_std::prelude::*; use sp_std::collections::btree_map::BTreeMap; use sp_core::u32_trait::{_1, _2, _3, _5}; -use parity_scale_codec::{Encode, Decode}; +use parity_scale_codec::{Encode, Decode, MaxEncodedLen}; use primitives::v1::{ AccountId, AccountIndex, Balance, BlockNumber, CandidateEvent, CommittedCandidateReceipt, CoreState, GroupRotationInfo, Hash, Id as ParaId, Moment, Nonce, OccupiedCoreAssumption, @@ -83,7 +83,7 @@ use sp_core::OpaqueMetadata; use sp_staking::SessionIndex; use frame_support::{ parameter_types, construct_runtime, RuntimeDebug, PalletId, - traits::{KeyOwnerProofSystem, LockIdentifier, Filter, InstanceFilter, All, MaxEncodedLen}, + traits::{KeyOwnerProofSystem, LockIdentifier, Filter, InstanceFilter, All}, weights::Weight, }; use frame_system::{EnsureRoot, EnsureOneOf}; diff --git a/runtime/polkadot/Cargo.toml b/runtime/polkadot/Cargo.toml index 14c21da2f399..4effd887e43e 100644 --- a/runtime/polkadot/Cargo.toml +++ b/runtime/polkadot/Cargo.toml @@ -7,7 +7,7 @@ build = "build.rs" [dependencies] bitvec = { version = "0.20.1", default-features = false, features = ["alloc"] } -parity-scale-codec = { version = "2.0.0", default-features = false, features = ["derive"] } +parity-scale-codec = { version = "2.2.0", default-features = false, features = ["derive", "max-encoded-len"] } log = { version = "0.4.14", default-features = false } rustc-hex = { version = "2.1.0", default-features = false } serde = { version = "1.0.123", default-features = false } @@ -78,8 +78,6 @@ hex-literal = { version = "0.3.1", optional = true } runtime-common = { package = "polkadot-runtime-common", path = "../common", default-features = false } primitives = { package = "polkadot-primitives", path = "../../primitives", default-features = false } -max-encoded-len = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } - [dev-dependencies] hex-literal = "0.3.1" libsecp256k1 = "0.3.5" @@ -155,7 +153,6 @@ std = [ "sp-npos-elections/std", "beefy-primitives/std", "pallet-mmr-primitives/std", - "max-encoded-len/std", "frame-election-provider-support/std", ] runtime-benchmarks = [ diff --git a/runtime/polkadot/src/lib.rs b/runtime/polkadot/src/lib.rs index a0bb4f1dc485..edb602b10f4e 100644 --- a/runtime/polkadot/src/lib.rs +++ b/runtime/polkadot/src/lib.rs @@ -33,7 +33,7 @@ use runtime_common::{ use sp_std::prelude::*; use sp_std::collections::btree_map::BTreeMap; use sp_core::u32_trait::{_1, _2, _3, _4, _5}; -use parity_scale_codec::{Encode, Decode}; +use parity_scale_codec::{Encode, Decode, MaxEncodedLen}; use primitives::v1::{ AccountId, AccountIndex, Balance, BlockNumber, CandidateEvent, CommittedCandidateReceipt, CoreState, GroupRotationInfo, Hash, Id, Moment, Nonce, OccupiedCoreAssumption, @@ -59,7 +59,7 @@ use sp_core::OpaqueMetadata; use sp_staking::SessionIndex; use frame_support::{ parameter_types, construct_runtime, RuntimeDebug, PalletId, - traits::{KeyOwnerProofSystem, LockIdentifier, Filter, MaxEncodedLen}, + traits::{KeyOwnerProofSystem, LockIdentifier, Filter}, weights::Weight, }; use frame_system::{EnsureRoot, EnsureOneOf}; diff --git a/runtime/rococo/Cargo.toml b/runtime/rococo/Cargo.toml index 3da97bbddd51..f9cd04c7decf 100644 --- a/runtime/rococo/Cargo.toml +++ b/runtime/rococo/Cargo.toml @@ -6,7 +6,7 @@ edition = "2018" build = "build.rs" [dependencies] -parity-scale-codec = { version = "2.0.0", default-features = false, features = ["derive"] } +parity-scale-codec = { version = "2.2.0", default-features = false, features = ["derive", "max-encoded-len"] } serde = { version = "1.0.123", default-features = false } serde_derive = { version = "1.0.117", optional = true } smallvec = "1.6.1" @@ -73,8 +73,6 @@ bp-rococo = { path = "../../bridges/primitives/chain-rococo", default-features = bp-wococo = { path = "../../bridges/primitives/chain-wococo", default-features = false } pallet-bridge-grandpa = { path = "../../bridges/modules/grandpa", default-features = false } -max-encoded-len = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } - [build-dependencies] substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", branch = "master" } @@ -135,7 +133,6 @@ std = [ "xcm-builder/std", "pallet-xcm/std", "log/std", - "max-encoded-len/std", ] # When enabled, the runtime api will not be build. # diff --git a/runtime/rococo/src/lib.rs b/runtime/rococo/src/lib.rs index 6992d23bcb86..7b48f2c0336b 100644 --- a/runtime/rococo/src/lib.rs +++ b/runtime/rococo/src/lib.rs @@ -23,7 +23,7 @@ use pallet_transaction_payment::CurrencyAdapter; use sp_std::prelude::*; use sp_std::collections::btree_map::BTreeMap; -use parity_scale_codec::{Encode, Decode}; +use parity_scale_codec::{Encode, Decode, MaxEncodedLen}; use primitives::v1::{ AccountId, AccountIndex, Balance, BlockNumber, Hash, Nonce, Signature, Moment, GroupRotationInfo, CoreState, Id, ValidationCode, ValidationCodeHash, CandidateEvent, @@ -41,7 +41,7 @@ use runtime_parachains::{ }; use frame_support::{ construct_runtime, parameter_types, - traits::{Filter, KeyOwnerProofSystem, Randomness, All, IsInVec, MaxEncodedLen}, + traits::{Filter, KeyOwnerProofSystem, Randomness, All, IsInVec}, weights::Weight, PalletId }; diff --git a/runtime/westend/Cargo.toml b/runtime/westend/Cargo.toml index e36836afbdd4..73f79f3aa278 100644 --- a/runtime/westend/Cargo.toml +++ b/runtime/westend/Cargo.toml @@ -7,7 +7,7 @@ build = "build.rs" [dependencies] bitvec = { version = "0.20.1", default-features = false, features = ["alloc"] } -parity-scale-codec = { version = "2.0.0", default-features = false, features = ["derive"] } +parity-scale-codec = { version = "2.2.0", default-features = false, features = ["derive", "max-encoded-len"] } log = { version = "0.4.14", default-features = false } rustc-hex = { version = "2.1.0", default-features = false } serde = { version = "1.0.123", default-features = false } @@ -86,8 +86,6 @@ xcm = { package = "xcm", path = "../../xcm", default-features = false } xcm-executor = { package = "xcm-executor", path = "../../xcm/xcm-executor", default-features = false } xcm-builder = { package = "xcm-builder", path = "../../xcm/xcm-builder", default-features = false } -max-encoded-len = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } - [dev-dependencies] hex-literal = "0.3.1" libsecp256k1 = "0.3.5" @@ -169,7 +167,6 @@ std = [ "xcm/std", "xcm-executor/std", "xcm-builder/std", - "max-encoded-len/std", "frame-election-provider-support/std", ] runtime-benchmarks = [ diff --git a/runtime/westend/src/lib.rs b/runtime/westend/src/lib.rs index 499825520ddf..227e1496c4e6 100644 --- a/runtime/westend/src/lib.rs +++ b/runtime/westend/src/lib.rs @@ -23,7 +23,7 @@ use pallet_transaction_payment::CurrencyAdapter; use sp_std::prelude::*; use sp_std::collections::btree_map::BTreeMap; -use parity_scale_codec::{Encode, Decode}; +use parity_scale_codec::{Encode, Decode, MaxEncodedLen}; use primitives::v1::{ AccountId, AccountIndex, Balance, BlockNumber, CandidateEvent, CommittedCandidateReceipt, CoreState, GroupRotationInfo, Hash, Id as ParaId, Moment, Nonce, OccupiedCoreAssumption, @@ -83,7 +83,7 @@ use sp_core::OpaqueMetadata; use sp_staking::SessionIndex; use frame_support::{ parameter_types, construct_runtime, RuntimeDebug, PalletId, - traits::{KeyOwnerProofSystem, Filter, InstanceFilter, All, MaxEncodedLen}, + traits::{KeyOwnerProofSystem, Filter, InstanceFilter, All}, weights::Weight, }; use pallet_im_online::sr25519::AuthorityId as ImOnlineId; From a78434a6d8b3a60056abe319f20a6b1c86c65e46 Mon Sep 17 00:00:00 2001 From: Alexander Popiak Date: Tue, 6 Jul 2021 00:44:46 +0200 Subject: [PATCH 14/23] Add XCM Tracing (#3353) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add missing bridges logging target * trace send_xcm * trace execute_xcm * trace calls in xcm-executor * trace tuple implementations of xcm traits * update cargo.lock * remove bridge log target Co-authored-by: Bastian Köcher * log argument formatting Co-authored-by: Bastian Köcher Co-authored-by: Bastian Köcher --- Cargo.lock | 2 ++ xcm/Cargo.toml | 1 + xcm/pallet-xcm/Cargo.toml | 1 + xcm/pallet-xcm/src/lib.rs | 1 + xcm/src/v0/traits.rs | 7 +++++ xcm/xcm-executor/src/lib.rs | 27 ++++++++++++++++- xcm/xcm-executor/src/traits/conversion.rs | 6 ++++ .../src/traits/filter_asset_location.rs | 6 ++++ .../src/traits/matches_fungible.rs | 1 + .../src/traits/matches_fungibles.rs | 1 + xcm/xcm-executor/src/traits/should_execute.rs | 9 ++++++ xcm/xcm-executor/src/traits/transact_asset.rs | 30 +++++++++++++++++++ 12 files changed, 91 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index c33694939c35..1914b9877866 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5248,6 +5248,7 @@ version = "0.1.0" dependencies = [ "frame-support", "frame-system", + "log", "parity-scale-codec", "serde", "sp-runtime", @@ -11846,6 +11847,7 @@ version = "0.9.8" dependencies = [ "derivative", "impl-trait-for-tuples", + "log", "parity-scale-codec", ] diff --git a/xcm/Cargo.toml b/xcm/Cargo.toml index c48df915f8a5..66d565efde4e 100644 --- a/xcm/Cargo.toml +++ b/xcm/Cargo.toml @@ -9,6 +9,7 @@ edition = "2018" impl-trait-for-tuples = "0.2.0" parity-scale-codec = { version = "2.0.0", default-features = false, features = [ "derive" ] } derivative = {version = "2.2.0", default-features = false, features = [ "use_core" ] } +log = { version = "0.4.14", default-features = false } [features] default = ["std"] diff --git a/xcm/pallet-xcm/Cargo.toml b/xcm/pallet-xcm/Cargo.toml index 2b4fbbbba7dd..17f4de53957e 100644 --- a/xcm/pallet-xcm/Cargo.toml +++ b/xcm/pallet-xcm/Cargo.toml @@ -7,6 +7,7 @@ version = "0.1.0" [dependencies] codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] } serde = { version = "1.0.101", optional = true, features = ["derive"] } +log = { version = "0.4.14", default-features = false } 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" } diff --git a/xcm/pallet-xcm/src/lib.rs b/xcm/pallet-xcm/src/lib.rs index d89356cc02b5..a99d630fefe3 100644 --- a/xcm/pallet-xcm/src/lib.rs +++ b/xcm/pallet-xcm/src/lib.rs @@ -254,6 +254,7 @@ pub mod pallet { MultiLocation::Null => message, who => Xcm::<()>::RelayedFrom { who, message: Box::new(message) }, }; + log::trace!(target: "xcm::send_xcm", "dest: {:?}, message: {:?}", &dest, &message); T::XcmRouter::send_xcm(dest, message) } diff --git a/xcm/src/v0/traits.rs b/xcm/src/v0/traits.rs index 8664484c87ce..cbaaa3604b75 100644 --- a/xcm/src/v0/traits.rs +++ b/xcm/src/v0/traits.rs @@ -134,6 +134,13 @@ pub trait ExecuteXcm { /// a basic hard-limit and the implementation may place further restrictions or requirements on weight and /// other aspects. fn execute_xcm(origin: MultiLocation, message: Xcm, weight_limit: Weight) -> Outcome { + log::debug!( + target: "xcm::execute_xcm", + "origin: {:?}, message: {:?}, weight_limit: {:?}", + origin, + message, + weight_limit, + ); Self::execute_xcm_in_credit(origin, message, weight_limit, 0) } diff --git a/xcm/xcm-executor/src/lib.rs b/xcm/xcm-executor/src/lib.rs index e7c90f1edbd9..8f8a5c9ee617 100644 --- a/xcm/xcm-executor/src/lib.rs +++ b/xcm/xcm-executor/src/lib.rs @@ -47,6 +47,14 @@ impl ExecuteXcm for XcmExecutor { weight_limit: Weight, mut weight_credit: Weight, ) -> Outcome { + log::trace!( + target: "xcm::execute_xcm_in_credit", + "origin: {:?}, message: {:?}, weight_limit: {:?}, weight_credit: {:?}", + origin, + message, + weight_limit, + weight_credit, + ); // TODO: #2841 #HARDENXCM We should identify recursive bombs here and bail. let mut message = Xcm::::from(message); let shallow_weight = match Config::Weigher::shallow(&mut message) { @@ -67,6 +75,7 @@ impl ExecuteXcm for XcmExecutor { let mut trader = Config::Trader::new(); let result = Self::do_execute_xcm(origin, true, message, &mut weight_credit, Some(shallow_weight), &mut trader); drop(trader); + log::trace!(target: "xcm::execute_xcm", "result: {:?}", &result); match result { Ok(surplus) => Outcome::Complete(maximum_weight.saturating_sub(surplus)), // TODO: #2841 #REALWEIGHT We can do better than returning `maximum_weight` here, and we should otherwise @@ -94,6 +103,15 @@ impl XcmExecutor { maybe_shallow_weight: Option, trader: &mut Config::Trader, ) -> Result { + log::trace!( + target: "xcm::do_execute_xcm", + "origin: {:?}, top_level: {:?}, message: {:?}, weight_credit: {:?}, maybe_shallow_weight: {:?}", + origin, + top_level, + message, + weight_credit, + maybe_shallow_weight, + ); // This is the weight of everything that cannot be paid for. This basically means all computation // except any XCM which is behind an Order::BuyExecution. let shallow_weight = maybe_shallow_weight @@ -165,7 +183,7 @@ impl XcmExecutor { } Some((Assets::from(assets), effects)) } - (origin, Xcm::Transact { origin_type, require_weight_at_most, mut call }) => { + (origin, Xcm::Transact { origin_type, require_weight_at_most, mut call }) => { // We assume that the Relay-chain is allowed to use transact on this parachain. // TODO: #2841 #TRANSACTFILTER allow the trait to issue filters for the relay-chain @@ -225,6 +243,13 @@ impl XcmExecutor { effect: Order, trader: &mut Config::Trader, ) -> Result { + log::trace!( + target: "xcm::execute_effects", + "origin: {:?}, holding: {:?}, effect: {:?}", + origin, + holding, + effect, + ); let mut total_surplus = 0; match effect { Order::DepositAsset { assets, dest } => { diff --git a/xcm/xcm-executor/src/traits/conversion.rs b/xcm/xcm-executor/src/traits/conversion.rs index da39c3cecd39..971b4b9e0e98 100644 --- a/xcm/xcm-executor/src/traits/conversion.rs +++ b/xcm/xcm-executor/src/traits/conversion.rs @@ -173,6 +173,12 @@ impl ConvertOrigin for Tuple { r => return r }; )* ); + log::trace!( + target: "xcm::convert_origin", + "could not convert: origin: {:?}, kind: {:?}", + origin, + kind, + ); Err(origin) } } diff --git a/xcm/xcm-executor/src/traits/filter_asset_location.rs b/xcm/xcm-executor/src/traits/filter_asset_location.rs index c68fcd6ff79a..8b1a7bd1d1dc 100644 --- a/xcm/xcm-executor/src/traits/filter_asset_location.rs +++ b/xcm/xcm-executor/src/traits/filter_asset_location.rs @@ -30,6 +30,12 @@ impl FilterAssetLocation for Tuple { for_tuples!( #( if Tuple::filter_asset_location(what, origin) { return true } )* ); + log::trace!( + target: "xcm::filter_asset_location", + "got filtered: what: {:?}, origin: {:?}", + what, + origin, + ); false } } diff --git a/xcm/xcm-executor/src/traits/matches_fungible.rs b/xcm/xcm-executor/src/traits/matches_fungible.rs index 70383e93966d..6634d16d0243 100644 --- a/xcm/xcm-executor/src/traits/matches_fungible.rs +++ b/xcm/xcm-executor/src/traits/matches_fungible.rs @@ -26,6 +26,7 @@ impl MatchesFungible for Tuple { for_tuples!( #( match Tuple::matches_fungible(a) { o @ Some(_) => return o, _ => () } )* ); + log::trace!(target: "xcm::matches_fungible", "did not match fungible asset: {:?}", &a); None } } diff --git a/xcm/xcm-executor/src/traits/matches_fungibles.rs b/xcm/xcm-executor/src/traits/matches_fungibles.rs index 75de0ae8be44..baa4d55a4b12 100644 --- a/xcm/xcm-executor/src/traits/matches_fungibles.rs +++ b/xcm/xcm-executor/src/traits/matches_fungibles.rs @@ -54,6 +54,7 @@ impl< for_tuples!( #( match Tuple::matches_fungibles(a) { o @ Ok(_) => return o, _ => () } )* ); + log::trace!(target: "xcm::matches_fungibles", "did not match fungibles asset: {:?}", &a); Err(Error::AssetNotFound) } } diff --git a/xcm/xcm-executor/src/traits/should_execute.rs b/xcm/xcm-executor/src/traits/should_execute.rs index 15f66d5105ee..19c8ef4a9c10 100644 --- a/xcm/xcm-executor/src/traits/should_execute.rs +++ b/xcm/xcm-executor/src/traits/should_execute.rs @@ -58,6 +58,15 @@ impl ShouldExecute for Tuple { _ => (), } )* ); + log::trace!( + target: "xcm::should_execute", + "did not pass barrier: origin: {:?}, top_level: {:?}, message: {:?}, shallow_weight: {:?}, weight_credit: {:?}", + origin, + top_level, + message, + shallow_weight, + weight_credit, + ); Err(()) } } diff --git a/xcm/xcm-executor/src/traits/transact_asset.rs b/xcm/xcm-executor/src/traits/transact_asset.rs index 795bb0f49bd4..8c04bc57ae21 100644 --- a/xcm/xcm-executor/src/traits/transact_asset.rs +++ b/xcm/xcm-executor/src/traits/transact_asset.rs @@ -107,34 +107,64 @@ impl TransactAsset for Tuple { r => return r, } )* ); + log::trace!( + target: "xcm::TransactAsset::can_check_in", + "asset not found: what: {:?}, origin: {:?}", + what, + origin, + ); Err(XcmError::AssetNotFound) } + fn check_in(origin: &MultiLocation, what: &MultiAsset) { for_tuples!( #( Tuple::check_in(origin, what); )* ); } + fn check_out(dest: &MultiLocation, what: &MultiAsset) { for_tuples!( #( Tuple::check_out(dest, what); )* ); } + fn deposit_asset(what: &MultiAsset, who: &MultiLocation) -> XcmResult { for_tuples!( #( match Tuple::deposit_asset(what, who) { o @ Ok(_) => return o, _ => () } )* ); + log::trace!( + target: "xcm::TransactAsset::deposit_asset", + "did not deposit asset: what: {:?}, who: {:?}", + what, + who, + ); Err(XcmError::Unimplemented) } + fn withdraw_asset(what: &MultiAsset, who: &MultiLocation) -> Result { for_tuples!( #( match Tuple::withdraw_asset(what, who) { o @ Ok(_) => return o, _ => () } )* ); + log::trace!( + target: "xcm::TransactAsset::withdraw_asset", + "did not withdraw asset: what: {:?}, who: {:?}", + what, + who, + ); Err(XcmError::Unimplemented) } + fn transfer_asset(what: &MultiAsset, from: &MultiLocation, to: &MultiLocation) -> Result { for_tuples!( #( match Tuple::transfer_asset(what, from, to) { o @ Ok(_) => return o, _ => () } )* ); + log::trace!( + target: "xcm::TransactAsset::transfer_asset", + "did not transfer asset: what: {:?}, from: {:?}, to: {:?}", + what, + from, + to, + ); Err(XcmError::Unimplemented) } } From b583753a6b937aff4aa6e2cd0b684a78e176ba68 Mon Sep 17 00:00:00 2001 From: ferrell-code Date: Mon, 5 Jul 2021 20:24:27 -0400 Subject: [PATCH 15/23] paras.rs to FRAME V2 (#3403) * to v2 macro * line width * fix mock * actually compile moxk * compile tests * add hooks * origin back in mocks * assimilate_storage * add generic * maybe mock compiles now * origin between parachain and system causing problem * change origin * type alias as origin * keep origin * add aliases to tests * remove unnecessary imports * Parachain -> Paras * paras test * nvm * use genesis build in mock --- node/service/src/chain_spec.rs | 2 - runtime/common/src/integration_tests.rs | 2 +- runtime/common/src/paras_registrar.rs | 2 +- runtime/kusama/src/lib.rs | 2 +- runtime/parachains/src/hrmp.rs | 10 +- runtime/parachains/src/inclusion.rs | 8 +- runtime/parachains/src/initializer.rs | 6 +- runtime/parachains/src/lib.rs | 8 +- runtime/parachains/src/mock.rs | 7 +- runtime/parachains/src/paras.rs | 445 ++++++++++-------- runtime/parachains/src/runtime_api_impl/v1.rs | 6 +- runtime/parachains/src/scheduler.rs | 16 +- runtime/parachains/src/util.rs | 2 +- runtime/rococo/src/lib.rs | 2 +- runtime/westend/src/lib.rs | 2 +- 15 files changed, 288 insertions(+), 232 deletions(-) diff --git a/node/service/src/chain_spec.rs b/node/service/src/chain_spec.rs index 2eee6b5f4cea..5bb0af0ad9ad 100644 --- a/node/service/src/chain_spec.rs +++ b/node/service/src/chain_spec.rs @@ -975,7 +975,6 @@ fn rococo_staging_testnet_config_genesis(wasm_binary: &[u8]) -> rococo_runtime:: }, paras: rococo_runtime::ParasConfig { paras: vec![], - _phdata: Default::default(), }, hrmp: Default::default(), parachains_configuration: rococo_runtime::ParachainsConfigurationConfig { @@ -1516,7 +1515,6 @@ pub fn rococo_testnet_genesis( hrmp: Default::default(), paras: rococo_runtime::ParasConfig { paras: vec![], - _phdata: Default::default(), }, bridge_rococo_grandpa: rococo_runtime::BridgeRococoGrandpaConfig { owner: Some(root_key.clone()), diff --git a/runtime/common/src/integration_tests.rs b/runtime/common/src/integration_tests.rs index dfca5f5cbc7f..0fb3b7ea1bf4 100644 --- a/runtime/common/src/integration_tests.rs +++ b/runtime/common/src/integration_tests.rs @@ -65,7 +65,7 @@ frame_support::construct_runtime!( // Parachains Runtime Configuration: configuration::{Pallet, Call, Storage, Config}, - Paras: paras::{Pallet, Origin, Call, Storage, Event, Config}, + Paras: paras::{Pallet, Origin, Call, Storage, Event, Config}, // Para Onboarding Pallets Registrar: paras_registrar::{Pallet, Call, Storage, Event}, diff --git a/runtime/common/src/paras_registrar.rs b/runtime/common/src/paras_registrar.rs index 26c3ce20d26b..30a97bf76942 100644 --- a/runtime/common/src/paras_registrar.rs +++ b/runtime/common/src/paras_registrar.rs @@ -572,7 +572,7 @@ mod tests { System: frame_system::{Pallet, Call, Config, Storage, Event}, Balances: pallet_balances::{Pallet, Call, Storage, Config, Event}, ParachainsConfiguration: configuration::{Pallet, Call, Storage, Config}, - Parachains: paras::{Pallet, Origin, Call, Storage, Config, Event}, + Parachains: paras::{Pallet, Origin, Call, Storage, Config, Event}, Registrar: paras_registrar::{Pallet, Call, Storage, Event}, } ); diff --git a/runtime/kusama/src/lib.rs b/runtime/kusama/src/lib.rs index af1fa6fe21f9..ccf90b90a034 100644 --- a/runtime/kusama/src/lib.rs +++ b/runtime/kusama/src/lib.rs @@ -1486,7 +1486,7 @@ construct_runtime! { ParasInclusion: parachains_inclusion::{Pallet, Call, Storage, Event} = 53, ParasInherent: parachains_paras_inherent::{Pallet, Call, Storage, Inherent} = 54, ParasScheduler: parachains_scheduler::{Pallet, Call, Storage} = 55, - Paras: parachains_paras::{Pallet, Call, Storage, Event, Config} = 56, + Paras: parachains_paras::{Pallet, Call, Storage, Event, Config} = 56, ParasInitializer: parachains_initializer::{Pallet, Call, Storage} = 57, ParasDmp: parachains_dmp::{Pallet, Call, Storage} = 58, ParasUmp: parachains_ump::{Pallet, Call, Storage, Event} = 59, diff --git a/runtime/parachains/src/hrmp.rs b/runtime/parachains/src/hrmp.rs index a04fd465dd6e..e1d7d3d57c08 100644 --- a/runtime/parachains/src/hrmp.rs +++ b/runtime/parachains/src/hrmp.rs @@ -573,8 +573,8 @@ impl Module { ); if request.confirmed { - if >::is_valid_para(channel_id.sender) - && >::is_valid_para(channel_id.recipient) + if >::is_valid_para(channel_id.sender) + && >::is_valid_para(channel_id.recipient) { ::HrmpChannels::insert( &channel_id, @@ -972,7 +972,7 @@ impl Module { ) -> DispatchResult { ensure!(origin != recipient, Error::::OpenHrmpChannelToSelf); ensure!( - >::is_valid_para(recipient), + >::is_valid_para(recipient), Error::::OpenHrmpChannelInvalidRecipient, ); @@ -1010,7 +1010,7 @@ impl Module { let egress_cnt = ::HrmpEgressChannelsIndex::decode_len(&origin).unwrap_or(0) as u32; let open_req_cnt = ::HrmpOpenChannelRequestCount::get(&origin); - let channel_num_limit = if >::is_parathread(origin) { + let channel_num_limit = if >::is_parathread(origin) { config.hrmp_max_parathread_outbound_channels } else { config.hrmp_max_parachain_outbound_channels @@ -1080,7 +1080,7 @@ impl Module { // check if by accepting this open channel request, this parachain would exceed the // number of inbound channels. let config = >::config(); - let channel_num_limit = if >::is_parathread(origin) { + let channel_num_limit = if >::is_parathread(origin) { config.hrmp_max_parathread_inbound_channels } else { config.hrmp_max_parachain_inbound_channels diff --git a/runtime/parachains/src/inclusion.rs b/runtime/parachains/src/inclusion.rs index 79b682a4d192..eb58f315a0fa 100644 --- a/runtime/parachains/src/inclusion.rs +++ b/runtime/parachains/src/inclusion.rs @@ -453,7 +453,7 @@ impl Module { ); let validation_code_hash = - >::validation_code_hash_at(para_id, now, None) + >::validation_code_hash_at(para_id, now, None) // A candidate for a parachain without current validation code is not scheduled. .ok_or_else(|| Error::::UnscheduledCandidate)?; ensure!( @@ -679,7 +679,7 @@ impl Module { // initial weight is config read. let mut weight = T::DbWeight::get().reads_writes(1, 0); if let Some(new_code) = commitments.new_validation_code { - weight += >::schedule_code_upgrade( + weight += >::schedule_code_upgrade( receipt.descriptor.para_id, new_code, relay_parent_number + config.validation_upgrade_delay, @@ -708,7 +708,7 @@ impl Module { Event::::CandidateIncluded(plain, commitments.head_data.clone(), core_index, backing_group) ); - weight + >::note_new_head( + weight + >::note_new_head( receipt.descriptor.para_id, commitments.head_data, relay_parent_number, @@ -869,7 +869,7 @@ impl CandidateCheckContext { // if any, the code upgrade attempt is allowed. if let Some(new_validation_code) = new_validation_code { - let valid_upgrade_attempt = >::last_code_upgrade(para_id, true) + let valid_upgrade_attempt = >::last_code_upgrade(para_id, true) .map_or(true, |last| { last <= self.relay_parent_number && self.relay_parent_number.saturating_sub(last) diff --git a/runtime/parachains/src/initializer.rs b/runtime/parachains/src/initializer.rs index 9eb441fd8c12..12e404575b80 100644 --- a/runtime/parachains/src/initializer.rs +++ b/runtime/parachains/src/initializer.rs @@ -131,7 +131,7 @@ decl_module! { // - HRMP let total_weight = configuration::Module::::initializer_initialize(now) + shared::Module::::initializer_initialize(now) + - paras::Module::::initializer_initialize(now) + + paras::Pallet::::initializer_initialize(now) + scheduler::Module::::initializer_initialize(now) + inclusion::Module::::initializer_initialize(now) + session_info::Module::::initializer_initialize(now) + @@ -152,7 +152,7 @@ decl_module! { session_info::Module::::initializer_finalize(); inclusion::Module::::initializer_finalize(); scheduler::Module::::initializer_finalize(); - paras::Module::::initializer_finalize(); + paras::Pallet::::initializer_finalize(); shared::Module::::initializer_finalize(); configuration::Module::::initializer_finalize(); @@ -224,7 +224,7 @@ impl Module { session_index, }; - let outgoing_paras = paras::Module::::initializer_on_new_session(¬ification); + let outgoing_paras = paras::Pallet::::initializer_on_new_session(¬ification); scheduler::Module::::initializer_on_new_session(¬ification); inclusion::Module::::initializer_on_new_session(¬ification); session_info::Module::::initializer_on_new_session(¬ification); diff --git a/runtime/parachains/src/lib.rs b/runtime/parachains/src/lib.rs index b486d82958ac..98014340f21e 100644 --- a/runtime/parachains/src/lib.rs +++ b/runtime/parachains/src/lib.rs @@ -52,20 +52,20 @@ pub fn schedule_para_initialize( id: ParaId, genesis: paras::ParaGenesisArgs, ) -> Result<(), ()> { - >::schedule_para_initialize(id, genesis).map_err(|_| ()) + >::schedule_para_initialize(id, genesis).map_err(|_| ()) } /// Schedule a para to be cleaned up at the start of the next session. pub fn schedule_para_cleanup(id: primitives::v1::Id) -> Result<(), ()> { - >::schedule_para_cleanup(id).map_err(|_| ()) + >::schedule_para_cleanup(id).map_err(|_| ()) } /// Schedule a parathread to be upgraded to a parachain. pub fn schedule_parathread_upgrade(id: ParaId) -> Result<(), ()> { - paras::Module::::schedule_parathread_upgrade(id).map_err(|_| ()) + paras::Pallet::::schedule_parathread_upgrade(id).map_err(|_| ()) } /// Schedule a parachain to be downgraded to a parathread. pub fn schedule_parachain_downgrade(id: ParaId) -> Result<(), ()> { - paras::Module::::schedule_parachain_downgrade(id).map_err(|_| ()) + paras::Pallet::::schedule_parachain_downgrade(id).map_err(|_| ()) } diff --git a/runtime/parachains/src/mock.rs b/runtime/parachains/src/mock.rs index 82d17a9e0b9d..ccf25104ee0e 100644 --- a/runtime/parachains/src/mock.rs +++ b/runtime/parachains/src/mock.rs @@ -23,6 +23,7 @@ use sp_runtime::traits::{ }; use primitives::v1::{AuthorityDiscoveryId, Balance, BlockNumber, Header, ValidatorIndex}; use frame_support::parameter_types; +use frame_support::traits::GenesisBuild; use frame_support_test::TestRandomness; use std::cell::RefCell; use std::collections::HashMap; @@ -42,7 +43,7 @@ frame_support::construct_runtime!( { System: frame_system::{Pallet, Call, Config, Storage, Event}, Balances: pallet_balances::{Pallet, Call, Storage, Config, Event}, - Paras: paras::{Pallet, Origin, Call, Storage, Event, Config}, + Paras: paras::{Pallet, Origin, Call, Storage, Event, Config}, Configuration: configuration::{Pallet, Call, Storage, Config}, Shared: shared::{Pallet, Call, Storage}, Inclusion: inclusion::{Pallet, Call, Storage, Event}, @@ -208,7 +209,7 @@ pub fn new_test_ext(state: MockGenesisConfig) -> TestExternalities { let mut t = state.system.build_storage::().unwrap(); state.configuration.assimilate_storage(&mut t).unwrap(); - state.paras.assimilate_storage(&mut t).unwrap(); + GenesisBuild::::assimilate_storage(&state.paras, &mut t).unwrap(); t.into() } @@ -217,5 +218,5 @@ pub fn new_test_ext(state: MockGenesisConfig) -> TestExternalities { pub struct MockGenesisConfig { pub system: frame_system::GenesisConfig, pub configuration: crate::configuration::GenesisConfig, - pub paras: crate::paras::GenesisConfig, + pub paras: crate::paras::GenesisConfig, } diff --git a/runtime/parachains/src/paras.rs b/runtime/parachains/src/paras.rs index 2d64721b833c..ce407963fc39 100644 --- a/runtime/parachains/src/paras.rs +++ b/runtime/parachains/src/paras.rs @@ -14,29 +14,23 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -//! The paras module is responsible for storing data on parachains and parathreads. +//! The paras pallet is responsible for storing data on parachains and parathreads. //! //! It tracks which paras are parachains, what their current head data is in //! this fork of the relay chain, what their validation code is, and what their past and upcoming //! validation code is. //! -//! A para is not considered live until it is registered and activated in this module. Activation can +//! A para is not considered live until it is registered and activated in this pallet. Activation can //! only occur at session boundaries. use sp_std::prelude::*; use sp_std::result; -#[cfg(feature = "std")] -use sp_std::marker::PhantomData; use primitives::v1::{ Id as ParaId, ValidationCode, ValidationCodeHash, HeadData, SessionIndex, ConsensusLog, }; use sp_runtime::{traits::One, DispatchResult, SaturatedConversion}; -use frame_system::ensure_root; -use frame_support::{ - decl_storage, decl_module, decl_error, decl_event, ensure, - traits::Get, - weights::Weight, -}; +use frame_system::pallet_prelude::*; +use frame_support::pallet_prelude::*; use parity_scale_codec::{Encode, Decode}; use crate::{configuration, shared, initializer::SessionChangeNotification}; use sp_core::RuntimeDebug; @@ -44,20 +38,9 @@ use sp_core::RuntimeDebug; #[cfg(feature = "std")] use serde::{Serialize, Deserialize}; -pub use crate::Origin; +pub use crate::Origin as ParachainOrigin; -pub trait Config: - frame_system::Config + - configuration::Config + - shared::Config -{ - /// The outer origin type. - type Origin: From - + From<::Origin> - + Into::Origin>>; - - type Event: From + Into<::Event>; -} +pub use pallet::*; // the two key times necessary to track for every code replacement. #[derive(Default, Encode, Decode)] @@ -279,91 +262,45 @@ pub struct ParaGenesisArgs { pub parachain: bool, } -decl_storage! { - trait Store for Module as Paras { - /// All parachains. Ordered ascending by ParaId. Parathreads are not included. - Parachains get(fn parachains): Vec; - /// The current lifecycle of a all known Para IDs. - ParaLifecycles: map hasher(twox_64_concat) ParaId => Option; - /// The head-data of every registered para. - Heads get(fn para_head): map hasher(twox_64_concat) ParaId => Option; - /// The validation code hash of every live para. - /// - /// Corresponding code can be retrieved with [`CodeByHash`]. - CurrentCodeHash: map hasher(twox_64_concat) ParaId => Option; - /// Actual past code hash, indicated by the para id as well as the block number at which it - /// became outdated. - /// - /// Corresponding code can be retrieved with [`CodeByHash`]. - PastCodeHash: map hasher(twox_64_concat) (ParaId, T::BlockNumber) => Option; - /// Past code of parachains. The parachains themselves may not be registered anymore, - /// but we also keep their code on-chain for the same amount of time as outdated code - /// to keep it available for secondary checkers. - PastCodeMeta get(fn past_code_meta): - map hasher(twox_64_concat) ParaId => ParaPastCodeMeta; - /// Which paras have past code that needs pruning and the relay-chain block at which the code was replaced. - /// Note that this is the actual height of the included block, not the expected height at which the - /// code upgrade would be applied, although they may be equal. - /// This is to ensure the entire acceptance period is covered, not an offset acceptance period starting - /// from the time at which the parachain perceives a code upgrade as having occurred. - /// Multiple entries for a single para are permitted. Ordered ascending by block number. - PastCodePruning: Vec<(ParaId, T::BlockNumber)>; - /// The block number at which the planned code change is expected for a para. - /// The change will be applied after the first parablock for this ID included which executes - /// in the context of a relay chain block with a number >= `expected_at`. - FutureCodeUpgrades get(fn future_code_upgrade_at): map hasher(twox_64_concat) ParaId => Option; - /// The actual future code hash of a para. - /// - /// Corresponding code can be retrieved with [`CodeByHash`]. - FutureCodeHash: map hasher(twox_64_concat) ParaId => Option; - /// The actions to perform during the start of a specific session index. - ActionsQueue get(fn actions_queue): map hasher(twox_64_concat) SessionIndex => Vec; - /// Upcoming paras instantiation arguments. - UpcomingParasGenesis: map hasher(twox_64_concat) ParaId => Option; - /// The number of reference on the validation code in [`CodeByHash`] storage. - CodeByHashRefs: map hasher(identity) ValidationCodeHash => u32; - /// Validation code stored by its hash. - /// - /// This storage is consistent with [`FutureCodeHash`], [`CurrentCodeHash`] and - /// [`PastCodeHash`]. - CodeByHash get(fn code_by_hash): map hasher(identity) ValidationCodeHash => Option; - } - add_extra_genesis { - config(paras): Vec<(ParaId, ParaGenesisArgs)>; - config(_phdata): PhantomData; - build(build::); +#[frame_support::pallet] +pub mod pallet { + use super::*; + + #[pallet::pallet] + #[pallet::generate_store(pub(super) trait Store)] + pub struct Pallet(_); + + #[pallet::config] + pub trait Config: + frame_system::Config + + configuration::Config + + shared::Config + { + /// The outer origin type. + type Origin: From + + From<::Origin> + + Into::Origin>>; + + type Event: From + IsType<::Event>; } -} -#[cfg(feature = "std")] -fn build(config: &GenesisConfig) { - let mut parachains: Vec<_> = config.paras - .iter() - .filter(|(_, args)| args.parachain) - .map(|&(ref id, _)| id) - .cloned() - .collect(); - - parachains.sort(); - parachains.dedup(); - - Parachains::put(¶chains); - - for (id, genesis_args) in &config.paras { - let code_hash = genesis_args.validation_code.hash(); - >::increase_code_ref(&code_hash, &genesis_args.validation_code); - as Store>::CurrentCodeHash::insert(&id, &code_hash); - as Store>::Heads::insert(&id, &genesis_args.genesis_head); - if genesis_args.parachain { - ParaLifecycles::insert(&id, ParaLifecycle::Parachain); - } else { - ParaLifecycles::insert(&id, ParaLifecycle::Parathread); - } + #[pallet::event] + #[pallet::generate_deposit(pub(super) fn deposit_event)] + pub enum Event { + /// Current code has been updated for a Para. \[para_id\] + CurrentCodeUpdated(ParaId), + /// Current head has been updated for a Para. \[para_id\] + CurrentHeadUpdated(ParaId), + /// A code upgrade has been scheduled for a Para. \[para_id\] + CodeUpgradeScheduled(ParaId), + /// A new head has been noted for a Para. \[para_id\] + NewHeadNoted(ParaId), + /// A para has been queued to execute pending actions. \[para_id\] + ActionQueued(ParaId, SessionIndex), } -} -decl_error! { - pub enum Error for Module { + #[pallet::error] + pub enum Error { /// Para is not registered in our system. NotRegistered, /// Para cannot be onboarded because it is already tracked by our system. @@ -375,33 +312,146 @@ decl_error! { /// Para cannot be downgraded to a parathread. CannotDowngrade, } -} -decl_event! { - pub enum Event { - /// Current code has been updated for a Para. \[para_id\] - CurrentCodeUpdated(ParaId), - /// Current head has been updated for a Para. \[para_id\] - CurrentHeadUpdated(ParaId), - /// A code upgrade has been scheduled for a Para. \[para_id\] - CodeUpgradeScheduled(ParaId), - /// A new head has been noted for a Para. \[para_id\] - NewHeadNoted(ParaId), - /// A para has been queued to execute pending actions. \[para_id\] - ActionQueued(ParaId, SessionIndex), + /// All parachains. Ordered ascending by ParaId. Parathreads are not included. + #[pallet::storage] + #[pallet::getter(fn parachains)] + pub(super) type Parachains = StorageValue<_, Vec, ValueQuery>; + + /// The current lifecycle of a all known Para IDs. + #[pallet::storage] + pub(super) type ParaLifecycles = StorageMap<_, Twox64Concat, ParaId, ParaLifecycle>; + + /// The head-data of every registered para. + #[pallet::storage] + #[pallet::getter(fn para_head)] + pub(super) type Heads = StorageMap<_, Twox64Concat, ParaId, HeadData>; + + /// The validation code hash of every live para. + /// + /// Corresponding code can be retrieved with [`CodeByHash`]. + #[pallet::storage] + pub(super) type CurrentCodeHash = StorageMap<_, Twox64Concat, ParaId, ValidationCodeHash>; + + /// Actual past code hash, indicated by the para id as well as the block number at which it + /// became outdated. + /// + /// Corresponding code can be retrieved with [`CodeByHash`]. + #[pallet::storage] + pub(super) type PastCodeHash = StorageMap< + _, + Twox64Concat, + (ParaId, T::BlockNumber), + ValidationCodeHash + >; + + /// Past code of parachains. The parachains themselves may not be registered anymore, + /// but we also keep their code on-chain for the same amount of time as outdated code + /// to keep it available for secondary checkers. + #[pallet::storage] + #[pallet::getter(fn past_code_meta)] + pub(super) type PastCodeMeta = StorageMap< + _, + Twox64Concat, + ParaId, + ParaPastCodeMeta, + ValueQuery + >; + + /// Which paras have past code that needs pruning and the relay-chain block at which the code was replaced. + /// Note that this is the actual height of the included block, not the expected height at which the + /// code upgrade would be applied, although they may be equal. + /// This is to ensure the entire acceptance period is covered, not an offset acceptance period starting + /// from the time at which the parachain perceives a code upgrade as having occurred. + /// Multiple entries for a single para are permitted. Ordered ascending by block number. + #[pallet::storage] + pub(super) type PastCodePruning = StorageValue<_, Vec<(ParaId, T::BlockNumber)>, ValueQuery>; + + /// The block number at which the planned code change is expected for a para. + /// The change will be applied after the first parablock for this ID included which executes + /// in the context of a relay chain block with a number >= `expected_at`. + #[pallet::storage] + #[pallet::getter(fn future_code_upgrade_at)] + pub(super) type FutureCodeUpgrades = StorageMap<_, Twox64Concat, ParaId, T::BlockNumber>; + + /// The actual future code hash of a para. + /// + /// Corresponding code can be retrieved with [`CodeByHash`]. + #[pallet::storage] + pub(super) type FutureCodeHash = StorageMap<_, Twox64Concat, ParaId, ValidationCodeHash>; + + /// The actions to perform during the start of a specific session index. + #[pallet::storage] + #[pallet::getter(fn actions_queue)] + pub(super) type ActionsQueue = StorageMap<_, Twox64Concat, SessionIndex, Vec, ValueQuery>; + + /// Upcoming paras instantiation arguments. + #[pallet::storage] + pub(super) type UpcomingParasGenesis = StorageMap<_, Twox64Concat, ParaId, ParaGenesisArgs>; + + /// The number of reference on the validation code in [`CodeByHash`] storage. + #[pallet::storage] + pub(super) type CodeByHashRefs = StorageMap<_, Identity, ValidationCodeHash, u32, ValueQuery>; + + /// Validation code stored by its hash. + /// + /// This storage is consistent with [`FutureCodeHash`], [`CurrentCodeHash`] and + /// [`PastCodeHash`]. + #[pallet::storage] + #[pallet::getter(fn code_by_hash)] + pub(super) type CodeByHash = StorageMap<_, Identity, ValidationCodeHash, ValidationCode>; + + #[pallet::genesis_config] + pub struct GenesisConfig { + pub paras: Vec<(ParaId, ParaGenesisArgs)>, + } + + #[cfg(feature = "std")] + impl Default for GenesisConfig { + fn default() -> Self { + GenesisConfig { + paras: Default::default(), + } + } } -} -decl_module! { - /// The parachains configuration module. - pub struct Module for enum Call where origin: ::Origin { - type Error = Error; + #[pallet::genesis_build] + impl GenesisBuild for GenesisConfig { + fn build(&self) { + let mut parachains: Vec<_> = self.paras + .iter() + .filter(|(_, args)| args.parachain) + .map(|&(ref id, _)| id) + .cloned() + .collect(); + + parachains.sort(); + parachains.dedup(); + + Parachains::::put(¶chains); + + for (id, genesis_args) in &self.paras { + let code_hash = genesis_args.validation_code.hash(); + >::increase_code_ref(&code_hash, &genesis_args.validation_code); + as Store>::CurrentCodeHash::insert(&id, &code_hash); + as Store>::Heads::insert(&id, &genesis_args.genesis_head); + if genesis_args.parachain { + ParaLifecycles::::insert(&id, ParaLifecycle::Parachain); + } else { + ParaLifecycles::::insert(&id, ParaLifecycle::Parathread); + } + } + } + } - fn deposit_event() = default; + #[pallet::origin] + pub type Origin = ParachainOrigin; + #[pallet::call] + impl Pallet { /// Set the storage for the parachain validation code immediately. - #[weight = 0] - fn force_set_current_code(origin, para: ParaId, new_code: ValidationCode) { + #[pallet::weight(0)] + pub fn force_set_current_code(origin: OriginFor, para: ParaId, new_code: ValidationCode) -> DispatchResult { ensure_root(origin)?; let prior_code_hash = ::CurrentCodeHash::get(¶).unwrap_or_default(); let new_code_hash = new_code.hash(); @@ -411,57 +461,67 @@ decl_module! { let now = frame_system::Pallet::::block_number(); Self::note_past_code(para, now, now, prior_code_hash); Self::deposit_event(Event::CurrentCodeUpdated(para)); + Ok(()) } /// Set the storage for the current parachain head data immediately. - #[weight = 0] - fn force_set_current_head(origin, para: ParaId, new_head: HeadData) { + #[pallet::weight(0)] + pub fn force_set_current_head(origin: OriginFor, para: ParaId, new_head: HeadData) -> DispatchResult { ensure_root(origin)?; ::Heads::insert(¶, new_head); Self::deposit_event(Event::CurrentHeadUpdated(para)); + Ok(()) } /// Schedule a code upgrade for block `expected_at`. - #[weight = 0] - fn force_schedule_code_upgrade(origin, para: ParaId, new_code: ValidationCode, expected_at: T::BlockNumber) { + #[pallet::weight(0)] + pub fn force_schedule_code_upgrade( + origin: OriginFor, + para: ParaId, + new_code: ValidationCode, + expected_at: T::BlockNumber + ) -> DispatchResult { ensure_root(origin)?; Self::schedule_code_upgrade(para, new_code, expected_at); Self::deposit_event(Event::CodeUpgradeScheduled(para)); + Ok(()) } /// Note a new block head for para within the context of the current block. - #[weight = 0] - fn force_note_new_head(origin, para: ParaId, new_head: HeadData) { + #[pallet::weight(0)] + pub fn force_note_new_head(origin: OriginFor, para: ParaId, new_head: HeadData) -> DispatchResult { ensure_root(origin)?; let now = frame_system::Pallet::::block_number(); Self::note_new_head(para, new_head, now); Self::deposit_event(Event::NewHeadNoted(para)); + Ok(()) } /// Put a parachain directly into the next session's action queue. /// We can't queue it any sooner than this without going into the /// initializer... - #[weight = 0] - fn force_queue_action(origin, para: ParaId) { + #[pallet::weight(0)] + pub fn force_queue_action(origin: OriginFor, para: ParaId) -> DispatchResult { ensure_root(origin)?; - let next_session = shared::Module::::session_index().saturating_add(One::one()); - ActionsQueue::mutate(next_session, |v| { + let next_session = shared::Pallet::::session_index().saturating_add(One::one()); + ActionsQueue::::mutate(next_session, |v| { if let Err(i) = v.binary_search(¶) { v.insert(i, para); } }); Self::deposit_event(Event::ActionQueued(para, next_session)); + Ok(()) } } } -impl Module { - /// Called by the initializer to initialize the configuration module. +impl Pallet { + /// Called by the initializer to initialize the configuration pallet. pub(crate) fn initializer_initialize(now: T::BlockNumber) -> Weight { Self::prune_old_code(now) } - /// Called by the initializer to finalize the configuration module. + /// Called by the initializer to finalize the configuration pallet. pub(crate) fn initializer_finalize() { } /// Called by the initializer to note that a new session has started. @@ -474,8 +534,8 @@ impl Module { /// The validation code of live para. pub(crate) fn current_code(para_id: &ParaId) -> Option { - CurrentCodeHash::get(para_id).and_then(|code_hash| { - let code = CodeByHash::get(&code_hash); + CurrentCodeHash::::get(para_id).and_then(|code_hash| { + let code = CodeByHash::::get(&code_hash); if code.is_none() { log::error!( "Pallet paras storage is inconsistent, code not found for hash {}", @@ -496,13 +556,13 @@ impl Module { // // Returns the list of outgoing paras from the actions queue. fn apply_actions_queue(session: SessionIndex) -> Vec { - let actions = ActionsQueue::take(session); + let actions = ActionsQueue::::take(session); let mut parachains = ::Parachains::get(); let now = >::block_number(); let mut outgoing = Vec::new(); for para in actions { - let lifecycle = ParaLifecycles::get(¶); + let lifecycle = ParaLifecycles::::get(¶); match lifecycle { None | Some(ParaLifecycle::Parathread) | Some(ParaLifecycle::Parachain) => { /* Nothing to do... */ }, // Onboard a new parathread or parachain. @@ -512,9 +572,9 @@ impl Module { if let Err(i) = parachains.binary_search(¶) { parachains.insert(i, para); } - ParaLifecycles::insert(¶, ParaLifecycle::Parachain); + ParaLifecycles::::insert(¶, ParaLifecycle::Parachain); } else { - ParaLifecycles::insert(¶, ParaLifecycle::Parathread); + ParaLifecycles::::insert(¶, ParaLifecycle::Parathread); } let code_hash = genesis_data.validation_code.hash(); @@ -528,14 +588,14 @@ impl Module { if let Err(i) = parachains.binary_search(¶) { parachains.insert(i, para); } - ParaLifecycles::insert(¶, ParaLifecycle::Parachain); + ParaLifecycles::::insert(¶, ParaLifecycle::Parachain); }, // Downgrade a parachain to a parathread Some(ParaLifecycle::DowngradingParachain) => { if let Ok(i) = parachains.binary_search(¶) { parachains.remove(i); } - ParaLifecycles::insert(¶, ParaLifecycle::Parathread); + ParaLifecycles::::insert(¶, ParaLifecycle::Parathread); }, // Offboard a parathread or parachain from the system Some(ParaLifecycle::OffboardingParachain) | Some(ParaLifecycle::OffboardingParathread) => { @@ -545,7 +605,7 @@ impl Module { ::Heads::remove(¶); ::FutureCodeUpgrades::remove(¶); - ParaLifecycles::remove(¶); + ParaLifecycles::::remove(¶); let removed_future_code_hash = ::FutureCodeHash::take(¶); if let Some(removed_future_code_hash) = removed_future_code_hash { Self::decrease_code_ref(&removed_future_code_hash); @@ -599,7 +659,7 @@ impl Module { // looks at old code metadata, compares them to the current acceptance window, and prunes those // that are too old. fn prune_old_code(now: T::BlockNumber) -> Weight { - let config = configuration::Module::::config(); + let config = configuration::Pallet::::config(); let code_retention_period = config.code_retention_period; if now <= code_retention_period { let weight = T::DbWeight::get().reads_writes(1, 0); @@ -658,7 +718,7 @@ impl Module { /// /// Returns false if para is already registered in the system. pub fn can_schedule_para_initialize(id: &ParaId, _: &ParaGenesisArgs) -> bool { - let lifecycle = ParaLifecycles::get(id); + let lifecycle = ParaLifecycles::::get(id); lifecycle.is_none() } @@ -671,9 +731,9 @@ impl Module { // Make sure parachain isn't already in our system. ensure!(Self::can_schedule_para_initialize(&id, &genesis), Error::::CannotOnboard); - ParaLifecycles::insert(&id, ParaLifecycle::Onboarding); - UpcomingParasGenesis::insert(&id, genesis); - ActionsQueue::mutate(scheduled_session, |v| { + ParaLifecycles::::insert(&id, ParaLifecycle::Onboarding); + UpcomingParasGenesis::::insert(&id, genesis); + ActionsQueue::::mutate(scheduled_session, |v| { if let Err(i) = v.binary_search(&id) { v.insert(i, id); } @@ -688,23 +748,23 @@ impl Module { /// /// No-op if para is not registered at all. pub(crate) fn schedule_para_cleanup(id: ParaId) -> DispatchResult { - let lifecycle = ParaLifecycles::get(&id); + let lifecycle = ParaLifecycles::::get(&id); match lifecycle { // If para is not registered, nothing to do! None => { return Ok(()) }, Some(ParaLifecycle::Parathread) => { - ParaLifecycles::insert(&id, ParaLifecycle::OffboardingParathread); + ParaLifecycles::::insert(&id, ParaLifecycle::OffboardingParathread); }, Some(ParaLifecycle::Parachain) => { - ParaLifecycles::insert(&id, ParaLifecycle::OffboardingParachain); + ParaLifecycles::::insert(&id, ParaLifecycle::OffboardingParachain); }, _ => return Err(Error::::CannotOffboard)?, } let scheduled_session = Self::scheduled_session(); - ActionsQueue::mutate(scheduled_session, |v| { + ActionsQueue::::mutate(scheduled_session, |v| { if let Err(i) = v.binary_search(&id) { v.insert(i, id); } @@ -718,12 +778,12 @@ impl Module { /// Will return error if `ParaLifecycle` is not `Parathread`. pub(crate) fn schedule_parathread_upgrade(id: ParaId) -> DispatchResult { let scheduled_session = Self::scheduled_session(); - let lifecycle = ParaLifecycles::get(&id).ok_or(Error::::NotRegistered)?; + let lifecycle = ParaLifecycles::::get(&id).ok_or(Error::::NotRegistered)?; ensure!(lifecycle == ParaLifecycle::Parathread, Error::::CannotUpgrade); - ParaLifecycles::insert(&id, ParaLifecycle::UpgradingParathread); - ActionsQueue::mutate(scheduled_session, |v| { + ParaLifecycles::::insert(&id, ParaLifecycle::UpgradingParathread); + ActionsQueue::::mutate(scheduled_session, |v| { if let Err(i) = v.binary_search(&id) { v.insert(i, id); } @@ -737,12 +797,12 @@ impl Module { /// Noop if `ParaLifecycle` is not `Parachain`. pub(crate) fn schedule_parachain_downgrade(id: ParaId) -> DispatchResult { let scheduled_session = Self::scheduled_session(); - let lifecycle = ParaLifecycles::get(&id).ok_or(Error::::NotRegistered)?; + let lifecycle = ParaLifecycles::::get(&id).ok_or(Error::::NotRegistered)?; ensure!(lifecycle == ParaLifecycle::Parachain, Error::::CannotDowngrade); - ParaLifecycles::insert(&id, ParaLifecycle::DowngradingParachain); - ActionsQueue::mutate(scheduled_session, |v| { + ParaLifecycles::::insert(&id, ParaLifecycle::DowngradingParachain); + ActionsQueue::::mutate(scheduled_session, |v| { if let Err(i) = v.binary_search(&id) { v.insert(i, id); } @@ -773,7 +833,7 @@ impl Module { >::deposit_log(log.into()); let (reads, writes) = Self::increase_code_ref(&new_code_hash, &new_code); - FutureCodeHash::insert(&id, new_code_hash); + FutureCodeHash::::insert(&id, new_code_hash); T::DbWeight::get().reads_writes(1 + reads, 2 + writes) } }) @@ -787,16 +847,16 @@ impl Module { new_head: HeadData, execution_context: T::BlockNumber, ) -> Weight { - Heads::insert(&id, new_head); + Heads::::insert(&id, new_head); if let Some(expected_at) = ::FutureCodeUpgrades::get(&id) { if expected_at <= execution_context { ::FutureCodeUpgrades::remove(&id); // Both should always be `Some` in this case, since a code upgrade is scheduled. - let new_code_hash = FutureCodeHash::take(&id).unwrap_or_default(); - let prior_code_hash = CurrentCodeHash::get(&id).unwrap_or_default(); - CurrentCodeHash::insert(&id, &new_code_hash); + let new_code_hash = FutureCodeHash::::take(&id).unwrap_or_default(); + let prior_code_hash = CurrentCodeHash::::get(&id).unwrap_or_default(); + CurrentCodeHash::::insert(&id, &new_code_hash); let log = ConsensusLog::ParaUpgradeCode(id, new_code_hash); >::deposit_log(log.into()); @@ -847,11 +907,11 @@ impl Module { }; if upgrade_applied_intermediate { - FutureCodeHash::get(&id) + FutureCodeHash::::get(&id) } else { match Self::past_code_meta(&id).code_at(at) { None => None, - Some(UseCodeAt::Current) => CurrentCodeHash::get(&id), + Some(UseCodeAt::Current) => CurrentCodeHash::::get(&id), Some(UseCodeAt::ReplacedAt(replaced)) => ::PastCodeHash::get(&(id, replaced)), } } @@ -859,14 +919,14 @@ impl Module { /// Returns the current lifecycle state of the para. pub fn lifecycle(id: ParaId) -> Option { - ParaLifecycles::get(&id) + ParaLifecycles::::get(&id) } /// Returns whether the given ID refers to a valid para. /// /// Paras that are onboarding or offboarding are not included. pub fn is_valid_para(id: ParaId) -> bool { - if let Some(state) = ParaLifecycles::get(&id) { + if let Some(state) = ParaLifecycles::::get(&id) { !state.is_onboarding() && !state.is_offboarding() } else { false @@ -877,7 +937,7 @@ impl Module { /// /// Includes parachains which will downgrade to a parathread in the future. pub fn is_parachain(id: ParaId) -> bool { - if let Some(state) = ParaLifecycles::get(&id) { + if let Some(state) = ParaLifecycles::::get(&id) { state.is_parachain() } else { false @@ -888,7 +948,7 @@ impl Module { /// /// Includes parathreads which will upgrade to parachains in the future. pub fn is_parathread(id: ParaId) -> bool { - if let Some(state) = ParaLifecycles::get(&id) { + if let Some(state) = ParaLifecycles::::get(&id) { state.is_parathread() } else { false @@ -909,7 +969,7 @@ impl Module { /// Return the session index that should be used for any future scheduled changes. fn scheduled_session() -> SessionIndex { - shared::Module::::scheduled_session() + shared::Pallet::::scheduled_session() } /// Store the validation code if not already stored, and increase the number of reference. @@ -944,7 +1004,7 @@ impl Module { #[cfg(any(feature = "std", feature = "runtime-benchmarks", test))] pub fn test_on_new_session() { Self::initializer_on_new_session(&SessionChangeNotification { - session_index: shared::Module::::session_index(), + session_index: shared::Pallet::::session_index(), ..Default::default() }); } @@ -954,10 +1014,7 @@ impl Module { mod tests { use super::*; use primitives::v1::BlockNumber; - use frame_support::{ - assert_ok, - traits::{OnFinalize, OnInitialize} - }; + use frame_support::assert_ok; use crate::mock::{new_test_ext, Paras, Shared, System, MockGenesisConfig}; use crate::configuration::HostConfiguration; @@ -1613,9 +1670,9 @@ mod tests { ); // Lifecycle is tracked correctly - assert_eq!(ParaLifecycles::get(&a), Some(ParaLifecycle::Onboarding)); - assert_eq!(ParaLifecycles::get(&b), Some(ParaLifecycle::Onboarding)); - assert_eq!(ParaLifecycles::get(&c), Some(ParaLifecycle::Onboarding)); + assert_eq!(::ParaLifecycles::get(&a), Some(ParaLifecycle::Onboarding)); + assert_eq!(::ParaLifecycles::get(&b), Some(ParaLifecycle::Onboarding)); + assert_eq!(::ParaLifecycles::get(&c), Some(ParaLifecycle::Onboarding)); // run to block without session change. run_to_block(2, None); @@ -1627,9 +1684,9 @@ mod tests { ); // Lifecycle is tracked correctly - assert_eq!(ParaLifecycles::get(&a), Some(ParaLifecycle::Onboarding)); - assert_eq!(ParaLifecycles::get(&b), Some(ParaLifecycle::Onboarding)); - assert_eq!(ParaLifecycles::get(&c), Some(ParaLifecycle::Onboarding)); + assert_eq!(::ParaLifecycles::get(&a), Some(ParaLifecycle::Onboarding)); + assert_eq!(::ParaLifecycles::get(&b), Some(ParaLifecycle::Onboarding)); + assert_eq!(::ParaLifecycles::get(&c), Some(ParaLifecycle::Onboarding)); // Two sessions pass, so action queue is triggered @@ -1639,9 +1696,9 @@ mod tests { assert_eq!(::ActionsQueue::get(Paras::scheduled_session()), Vec::new()); // Lifecycle is tracked correctly - assert_eq!(ParaLifecycles::get(&a), Some(ParaLifecycle::Parathread)); - assert_eq!(ParaLifecycles::get(&b), Some(ParaLifecycle::Parachain)); - assert_eq!(ParaLifecycles::get(&c), Some(ParaLifecycle::Parachain)); + assert_eq!(::ParaLifecycles::get(&a), Some(ParaLifecycle::Parathread)); + assert_eq!(::ParaLifecycles::get(&b), Some(ParaLifecycle::Parachain)); + assert_eq!(::ParaLifecycles::get(&c), Some(ParaLifecycle::Parachain)); assert_eq!(Paras::current_code(&a), Some(vec![2].into())); assert_eq!(Paras::current_code(&b), Some(vec![1].into())); @@ -1777,18 +1834,18 @@ mod tests { Paras::increase_code_ref(&code.hash(), &code); Paras::increase_code_ref(&code.hash(), &code); - assert!(CodeByHash::contains_key(code.hash())); - assert_eq!(CodeByHashRefs::get(code.hash()), 2); + assert!(::CodeByHash::contains_key(code.hash())); + assert_eq!(::CodeByHashRefs::get(code.hash()), 2); Paras::decrease_code_ref(&code.hash()); - assert!(CodeByHash::contains_key(code.hash())); - assert_eq!(CodeByHashRefs::get(code.hash()), 1); + assert!(::CodeByHash::contains_key(code.hash())); + assert_eq!(::CodeByHashRefs::get(code.hash()), 1); Paras::decrease_code_ref(&code.hash()); - assert!(!CodeByHash::contains_key(code.hash())); - assert!(!CodeByHashRefs::contains_key(code.hash())); + assert!(!::CodeByHash::contains_key(code.hash())); + assert!(!::CodeByHashRefs::contains_key(code.hash())); }); } } diff --git a/runtime/parachains/src/runtime_api_impl/v1.rs b/runtime/parachains/src/runtime_api_impl/v1.rs index c91095a77547..d51e980c933a 100644 --- a/runtime/parachains/src/runtime_api_impl/v1.rs +++ b/runtime/parachains/src/runtime_api_impl/v1.rs @@ -51,7 +51,7 @@ pub fn validator_groups() -> ( /// Implementation for the `availability_cores` function of the runtime API. pub fn availability_cores() -> Vec> { let cores = >::availability_cores(); - let parachains = >::parachains(); + let parachains = >::parachains(); let config = >::config(); let now = >::block_number() + One::one(); @@ -270,7 +270,7 @@ pub fn validation_code( with_assumption::( para_id, assumption, - || >::current_code(¶_id), + || >::current_code(¶_id), ) } @@ -327,5 +327,5 @@ pub fn inbound_hrmp_channels_contents( pub fn validation_code_by_hash( hash: ValidationCodeHash, ) -> Option { - >::code_by_hash(hash) + >::code_by_hash(hash) } diff --git a/runtime/parachains/src/scheduler.rs b/runtime/parachains/src/scheduler.rs index 32c7e169e735..44e03b701681 100644 --- a/runtime/parachains/src/scheduler.rs +++ b/runtime/parachains/src/scheduler.rs @@ -228,7 +228,7 @@ impl Module { let config = new_config; let mut thread_queue = ParathreadQueue::get(); - let n_parachains = >::parachains().len() as u32; + let n_parachains = >::parachains().len() as u32; let n_cores = core::cmp::max( n_parachains + config.parathread_cores, match config.max_validators_per_core { @@ -297,7 +297,7 @@ impl Module { // prune out all entries beyond retry or that no longer correspond to live parathread. thread_queue.queue.retain(|queued| { let will_keep = queued.claim.retries <= config.parathread_retries - && >::is_parathread(queued.claim.claim.0); + && >::is_parathread(queued.claim.claim.0); if !will_keep { let claim_para = queued.claim.claim.0; @@ -333,7 +333,7 @@ impl Module { /// Fails if the claim does not correspond to any live parathread. #[allow(unused)] pub fn add_parathread_claim(claim: ParathreadClaim) { - if !>::is_parathread(claim.0) { return } + if !>::is_parathread(claim.0) { return } let config = >::config(); let queue_max_size = config.parathread_cores * config.scheduling_lookahead; @@ -399,7 +399,7 @@ impl Module { } } - let parachains = >::parachains(); + let parachains = >::parachains(); let mut scheduled = Scheduled::get(); let mut parathread_queue = ParathreadQueue::get(); @@ -537,7 +537,7 @@ impl Module { match cores.get(core_index.0 as usize).and_then(|c| c.as_ref()) { None => None, Some(CoreOccupied::Parachain) => { - let parachains = >::parachains(); + let parachains = >::parachains(); Some(parachains[core_index.0 as usize]) } Some(CoreOccupied::Parathread(ref entry)) => Some(entry.claim.0), @@ -647,7 +647,7 @@ impl Module { /// For parathreads, this is based on the next item in the ParathreadQueue assigned to that /// core, and is None if there isn't one. pub(crate) fn next_up_on_available(core: CoreIndex) -> Option { - let parachains = >::parachains(); + let parachains = >::parachains(); if (core.0 as usize) < parachains.len() { Some(ScheduledCore { para_id: parachains[core.0 as usize], @@ -671,7 +671,7 @@ impl Module { /// core, or if there isn't one, the claim that is currently occupying the core, as long /// as the claim's retries would not exceed the limit. Otherwise None. pub(crate) fn next_up_on_time_out(core: CoreIndex) -> Option { - let parachains = >::parachains(); + let parachains = >::parachains(); if (core.0 as usize) < parachains.len() { Some(ScheduledCore { para_id: parachains[core.0 as usize], @@ -712,7 +712,7 @@ impl Module { ParathreadQueue::mutate(|queue| { for core_assignment in Scheduled::take() { if let AssignmentKind::Parathread(collator, retries) = core_assignment.kind { - if !>::is_parathread(core_assignment.para_id) { continue } + if !>::is_parathread(core_assignment.para_id) { continue } let entry = ParathreadEntry { claim: ParathreadClaim(core_assignment.para_id, collator), diff --git a/runtime/parachains/src/util.rs b/runtime/parachains/src/util.rs index 6cada4dd65ab..45b578166897 100644 --- a/runtime/parachains/src/util.rs +++ b/runtime/parachains/src/util.rs @@ -34,7 +34,7 @@ pub fn make_persisted_validation_data( let config = >::config(); Some(PersistedValidationData { - parent_head: >::para_head(¶_id)?, + parent_head: >::para_head(¶_id)?, relay_parent_number, relay_parent_storage_root, max_pov_size: config.max_pov_size, diff --git a/runtime/rococo/src/lib.rs b/runtime/rococo/src/lib.rs index 7b48f2c0336b..9bb541ed9f07 100644 --- a/runtime/rococo/src/lib.rs +++ b/runtime/rococo/src/lib.rs @@ -214,7 +214,7 @@ construct_runtime! { Inclusion: parachains_inclusion::{Pallet, Call, Storage, Event}, ParasInherent: parachains_paras_inherent::{Pallet, Call, Storage, Inherent}, Scheduler: parachains_scheduler::{Pallet, Call, Storage}, - Paras: parachains_paras::{Pallet, Call, Storage, Event, Config}, + Paras: parachains_paras::{Pallet, Call, Storage, Event, Config}, Initializer: parachains_initializer::{Pallet, Call, Storage}, Dmp: parachains_dmp::{Pallet, Call, Storage}, Ump: parachains_ump::{Pallet, Call, Storage, Event}, diff --git a/runtime/westend/src/lib.rs b/runtime/westend/src/lib.rs index 227e1496c4e6..80b48258c585 100644 --- a/runtime/westend/src/lib.rs +++ b/runtime/westend/src/lib.rs @@ -1077,7 +1077,7 @@ construct_runtime! { ParasInclusion: parachains_inclusion::{Pallet, Call, Storage, Event} = 44, ParasInherent: parachains_paras_inherent::{Pallet, Call, Storage, Inherent} = 45, ParasScheduler: parachains_scheduler::{Pallet, Call, Storage} = 46, - Paras: parachains_paras::{Pallet, Call, Storage, Event, Config} = 47, + Paras: parachains_paras::{Pallet, Call, Storage, Event, Config} = 47, ParasInitializer: parachains_initializer::{Pallet, Call, Storage} = 48, ParasDmp: parachains_dmp::{Pallet, Call, Storage} = 49, ParasUmp: parachains_ump::{Pallet, Call, Storage, Event} = 50, From ad6e755b842aee67543c9af66db1801b27cc7d87 Mon Sep 17 00:00:00 2001 From: Svyatoslav Nikolsky Date: Tue, 6 Jul 2021 13:03:12 +0300 Subject: [PATCH 16/23] Enable over-bridge-messaging in Rococo/Wococo runtime (#3377) * bridges in W<>R * fix node compilation * Update runtime/rococo/src/bridge_messages.rs Co-authored-by: Hernando Castano * Update runtime/rococo/src/bridge_messages.rs Co-authored-by: Hernando Castano * Update runtime/rococo/src/bridge_messages.rs Co-authored-by: Hernando Castano * Update runtime/rococo/src/bridge_messages.rs Co-authored-by: Hernando Castano * long line fix * comment/remove -> comment/#[ignore] * explicit instances Co-authored-by: Hernando Castano --- Cargo.lock | 93 ++++++ node/service/src/chain_spec.rs | 16 + runtime/rococo/Cargo.toml | 10 + runtime/rococo/src/bridge_messages.rs | 410 ++++++++++++++++++++++++++ runtime/rococo/src/lib.rs | 225 ++++++++++++++ 5 files changed, 754 insertions(+) create mode 100644 runtime/rococo/src/bridge_messages.rs diff --git a/Cargo.lock b/Cargo.lock index 1914b9877866..3496afc6e7e4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -734,6 +734,16 @@ dependencies = [ "sp-std", ] +[[package]] +name = "bp-message-dispatch" +version = "0.1.0" +dependencies = [ + "bp-runtime", + "frame-support", + "parity-scale-codec", + "sp-std", +] + [[package]] name = "bp-messages" version = "0.1.0" @@ -765,6 +775,20 @@ dependencies = [ "sp-version", ] +[[package]] +name = "bp-rialto" +version = "0.1.0" +dependencies = [ + "bp-messages", + "bp-runtime", + "frame-support", + "frame-system", + "sp-api", + "sp-core", + "sp-runtime", + "sp-std", +] + [[package]] name = "bp-rococo" version = "0.1.0" @@ -825,6 +849,28 @@ dependencies = [ "sp-std", ] +[[package]] +name = "bridge-runtime-common" +version = "0.1.0" +dependencies = [ + "bp-message-dispatch", + "bp-messages", + "bp-runtime", + "ed25519-dalek", + "frame-support", + "hash-db", + "pallet-bridge-dispatch", + "pallet-bridge-grandpa", + "pallet-bridge-messages", + "pallet-transaction-payment", + "parity-scale-codec", + "sp-core", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-trie", +] + [[package]] name = "bs58" version = "0.4.0" @@ -4661,6 +4707,23 @@ dependencies = [ "sp-std", ] +[[package]] +name = "pallet-bridge-dispatch" +version = "0.1.0" +dependencies = [ + "bp-message-dispatch", + "bp-runtime", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + [[package]] name = "pallet-bridge-grandpa" version = "0.1.0" @@ -4683,6 +4746,31 @@ dependencies = [ "sp-trie", ] +[[package]] +name = "pallet-bridge-messages" +version = "0.1.0" +dependencies = [ + "bitvec", + "bp-message-dispatch", + "bp-messages", + "bp-rialto", + "bp-runtime", + "frame-benchmarking", + "frame-support", + "frame-system", + "hex", + "hex-literal", + "log", + "num-traits", + "pallet-balances", + "parity-scale-codec", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + [[package]] name = "pallet-collective" version = "3.0.0" @@ -7628,8 +7716,11 @@ name = "rococo-runtime" version = "0.9.8" dependencies = [ "beefy-primitives", + "bp-messages", "bp-rococo", + "bp-runtime", "bp-wococo", + "bridge-runtime-common", "frame-executive", "frame-support", "frame-system", @@ -7641,7 +7732,9 @@ dependencies = [ "pallet-babe", "pallet-balances", "pallet-beefy", + "pallet-bridge-dispatch", "pallet-bridge-grandpa", + "pallet-bridge-messages", "pallet-collective", "pallet-grandpa", "pallet-im-online", diff --git a/node/service/src/chain_spec.rs b/node/service/src/chain_spec.rs index 5bb0af0ad9ad..57e07b2bf0f7 100644 --- a/node/service/src/chain_spec.rs +++ b/node/service/src/chain_spec.rs @@ -988,6 +988,14 @@ fn rococo_staging_testnet_config_genesis(wasm_binary: &[u8]) -> rococo_runtime:: owner: Some(endowed_accounts[0].clone()), ..Default::default() }, + bridge_rococo_messages: rococo_runtime::BridgeRococoMessagesConfig { + owner: Some(endowed_accounts[0].clone()), + ..Default::default() + }, + bridge_wococo_messages: rococo_runtime::BridgeWococoMessagesConfig { + owner: Some(endowed_accounts[0].clone()), + ..Default::default() + }, } } @@ -1524,6 +1532,14 @@ pub fn rococo_testnet_genesis( owner: Some(root_key.clone()), ..Default::default() }, + bridge_rococo_messages: rococo_runtime::BridgeRococoMessagesConfig { + owner: Some(root_key.clone()), + ..Default::default() + }, + bridge_wococo_messages: rococo_runtime::BridgeWococoMessagesConfig { + owner: Some(root_key.clone()), + ..Default::default() + }, } } diff --git a/runtime/rococo/Cargo.toml b/runtime/rococo/Cargo.toml index f9cd04c7decf..d59aac3a0834 100644 --- a/runtime/rococo/Cargo.toml +++ b/runtime/rococo/Cargo.toml @@ -69,9 +69,14 @@ xcm-builder = { package = "xcm-builder", path = "../../xcm/xcm-builder", default pallet-xcm = { path = "../../xcm/pallet-xcm", default-features = false } # Bridge Dependencies +bp-messages = { path = "../../bridges/primitives/messages", default-features = false } bp-rococo = { path = "../../bridges/primitives/chain-rococo", default-features = false } +bp-runtime = { path = "../../bridges/primitives/runtime", default-features = false } bp-wococo = { path = "../../bridges/primitives/chain-wococo", default-features = false } +bridge-runtime-common = { path = "../../bridges/bin/runtime-common", default-features = false } +pallet-bridge-dispatch = { path = "../../bridges/modules/dispatch", default-features = false } pallet-bridge-grandpa = { path = "../../bridges/modules/grandpa", default-features = false } +pallet-bridge-messages = { path = "../../bridges/modules/messages", default-features = false } [build-dependencies] substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", branch = "master" } @@ -82,8 +87,11 @@ no_std = [] std = [ "authority-discovery-primitives/std", "babe-primitives/std", + "bp-messages/std", "bp-rococo/std", + "bp-runtime/std", "bp-wococo/std", + "bridge-runtime-common/std", "parity-scale-codec/std", "frame-executive/std", "pallet-authority-discovery/std", @@ -91,7 +99,9 @@ std = [ "pallet-babe/std", "beefy-primitives/std", "pallet-balances/std", + "pallet-bridge-dispatch/std", "pallet-bridge-grandpa/std", + "pallet-bridge-messages/std", "pallet-collective/std", "pallet-beefy/std", "pallet-grandpa/std", diff --git a/runtime/rococo/src/bridge_messages.rs b/runtime/rococo/src/bridge_messages.rs new file mode 100644 index 000000000000..93e7314c737d --- /dev/null +++ b/runtime/rococo/src/bridge_messages.rs @@ -0,0 +1,410 @@ +// Copyright 2020 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! Over-bridge messaging support for Rococo <> Wococo bridge. + +pub use self::{at_rococo::*, at_wococo::*}; + +use bp_messages::{ + source_chain::TargetHeaderChain, + target_chain::{ProvedMessages, SourceHeaderChain}, + InboundLaneData, LaneId, Message, MessageNonce, +}; +use bp_rococo::{EXTRA_STORAGE_PROOF_SIZE, MAXIMAL_ENCODED_ACCOUNT_ID_SIZE, max_extrinsic_size, max_extrinsic_weight}; +use bp_runtime::{ROCOCO_CHAIN_ID, WOCOCO_CHAIN_ID, ChainId}; +use bridge_runtime_common::messages::{ + BridgedChainWithMessages, ChainWithMessages, MessageBridge, MessageTransaction, ThisChainWithMessages, + source as messages_source, target as messages_target, +}; +use frame_support::{traits::Get, weights::{Weight, WeightToFeePolynomial}, RuntimeDebug}; +use sp_std::{convert::TryFrom, marker::PhantomData, ops::RangeInclusive}; + +/// Maximal number of pending outbound messages. +const MAXIMAL_PENDING_MESSAGES_AT_OUTBOUND_LANE: MessageNonce = bp_rococo::MAX_UNCONFIRMED_MESSAGES_AT_INBOUND_LANE; +/// Maximal weight of single message delivery confirmation transaction on Rococo/Wococo chain. +/// +/// This value is a result of `pallet_bridge_messages::Pallet::receive_messages_delivery_proof` weight formula +/// computation for the case when single message is confirmed. The result then must be rounded up to account +/// possible future runtime upgrades. +const MAX_SINGLE_MESSAGE_DELIVERY_CONFIRMATION_TX_WEIGHT: Weight = 2_000_000_000; +/// Increase of delivery transaction weight on Rococo/Wococo chain with every additional message byte. +/// +/// This value is a result of `pallet_bridge_messages::WeightInfoExt::storage_proof_size_overhead(1)` call. The +/// result then must be rounded up to account possible future runtime upgrades. +const ADDITIONAL_MESSAGE_BYTE_DELIVERY_WEIGHT: Weight = 25_000; +/// Weight of single regular message delivery transaction on Rococo/Wococo chain. +/// +/// This value is a result of `pallet_bridge_messages::Pallet::receive_messages_proof_weight()` call +/// for the case when single message of `pallet_bridge_messages::EXPECTED_DEFAULT_MESSAGE_LENGTH` bytes is delivered. +/// The message must have dispatch weight set to zero. The result then must be rounded up to account +/// possible future runtime upgrades. +const DEFAULT_MESSAGE_DELIVERY_TX_WEIGHT: Weight = 1_500_000_000; +/// Weight of pay-dispatch-fee operation for inbound messages at Rococo/Wococo chain. +/// +/// This value corresponds to the result of `pallet_bridge_messages::WeightInfoExt::pay_inbound_dispatch_fee_overhead()` +/// call for your chain. Don't put too much reserve there, because it is used to **decrease** +/// `DEFAULT_MESSAGE_DELIVERY_TX_WEIGHT` cost. So putting large reserve would make delivery transactions cheaper. +const PAY_INBOUND_DISPATCH_FEE_WEIGHT: Weight = 600_000_000; +/// Number of bytes, included in the signed Rococo/Wococo transaction apart from the encoded call itself. +/// +/// Can be computed by subtracting encoded call size from raw transaction size. +const TX_EXTRA_BYTES: u32 = 130; + +/// Rococo chain as it is seen at Rococo. +pub type RococoAtRococo = RococoLikeChain; + +/// Rococo chain as it is seen at Wococo. +pub type RococoAtWococo = RococoLikeChain; + +/// Wococo chain as it is seen at Wococo. +pub type WococoAtWococo = RococoLikeChain; + +/// Wococo chain as it is seen at Rococo. +pub type WococoAtRococo = RococoLikeChain; + +/// Rococo/Wococo chain from message lane point of view. +#[derive(RuntimeDebug, Clone, Copy)] +pub struct RococoLikeChain { + _bridge_definition: PhantomData, + _at_this_chain_grandpa_pallet_instance: PhantomData, +} + +impl ChainWithMessages for RococoLikeChain { + type Hash = crate::Hash; + type AccountId = crate::AccountId; + type Signer = primitives::v1::AccountPublic; + type Signature = crate::Signature; + type Weight = Weight; + type Balance = crate::Balance; +} + +impl ThisChainWithMessages for RococoLikeChain { + type Call = crate::Call; + + fn is_outbound_lane_enabled(lane: &LaneId) -> bool { + *lane == [0, 0, 0, 0] + } + + fn maximal_pending_messages_at_outbound_lane() -> MessageNonce { + MAXIMAL_PENDING_MESSAGES_AT_OUTBOUND_LANE + } + + fn estimate_delivery_confirmation_transaction() -> MessageTransaction { + let inbound_data_size = InboundLaneData::::encoded_size_hint( + MAXIMAL_ENCODED_ACCOUNT_ID_SIZE, + 1, + 1, + ) + .unwrap_or(u32::MAX); + + MessageTransaction { + dispatch_weight: MAX_SINGLE_MESSAGE_DELIVERY_CONFIRMATION_TX_WEIGHT, + size: inbound_data_size + .saturating_add(EXTRA_STORAGE_PROOF_SIZE) + .saturating_add(TX_EXTRA_BYTES), + } + } + + fn transaction_payment(transaction: MessageTransaction) -> crate::Balance { + // current fee multiplier is used here + bridge_runtime_common::messages::transaction_payment( + crate::BlockWeights::get().get(frame_support::weights::DispatchClass::Normal).base_extrinsic, + crate::TransactionByteFee::get(), + pallet_transaction_payment::Pallet::::next_fee_multiplier(), + |weight| crate::constants::fee::WeightToFee::calc(&weight), + transaction, + ) + } +} + +impl BridgedChainWithMessages for RococoLikeChain { + fn maximal_extrinsic_size() -> u32 { + max_extrinsic_size() + } + + fn message_weight_limits(_message_payload: &[u8]) -> RangeInclusive { + // we don't want to relay too large messages + keep reserve for future upgrades + let upper_limit = messages_target::maximal_incoming_message_dispatch_weight(max_extrinsic_weight()); + + // we're charging for payload bytes in `With(Wococo | Rococo)MessageBridge::transaction_payment` function + // + // this bridge may be used to deliver all kind of messages, so we're not making any assumptions about + // minimal dispatch weight here + + 0..=upper_limit + } + + fn estimate_delivery_transaction( + message_payload: &[u8], + include_pay_dispatch_fee_cost: bool, + message_dispatch_weight: Weight, + ) -> MessageTransaction { + let message_payload_len = u32::try_from(message_payload.len()).unwrap_or(u32::MAX); + let extra_bytes_in_payload = Weight::from(message_payload_len) + .saturating_sub(pallet_bridge_messages::EXPECTED_DEFAULT_MESSAGE_LENGTH.into()); + + MessageTransaction { + dispatch_weight: extra_bytes_in_payload + .saturating_mul(ADDITIONAL_MESSAGE_BYTE_DELIVERY_WEIGHT) + .saturating_add(DEFAULT_MESSAGE_DELIVERY_TX_WEIGHT) + .saturating_sub(if include_pay_dispatch_fee_cost { + 0 + } else { + PAY_INBOUND_DISPATCH_FEE_WEIGHT + }) + .saturating_add(message_dispatch_weight), + size: message_payload_len + .saturating_add(EXTRA_STORAGE_PROOF_SIZE) + .saturating_add(TX_EXTRA_BYTES), + } + } + + fn transaction_payment(transaction: MessageTransaction) -> crate::Balance { + // current fee multiplier is used here + bridge_runtime_common::messages::transaction_payment( + crate::BlockWeights::get().get(frame_support::weights::DispatchClass::Normal).base_extrinsic, + crate::TransactionByteFee::get(), + pallet_transaction_payment::Pallet::::next_fee_multiplier(), + |weight| crate::constants::fee::WeightToFee::calc(&weight), + transaction, + ) + } +} + +impl TargetHeaderChain, crate::AccountId> + for RococoLikeChain +where + B: MessageBridge, + B::ThisChain: ChainWithMessages, + B::BridgedChain: ChainWithMessages, + GI: 'static, + crate::Runtime: pallet_bridge_grandpa::Config + pallet_bridge_messages::Config, + <>::BridgedChain as bp_runtime::Chain>::Hash: From, +{ + type Error = &'static str; + type MessagesDeliveryProof = messages_source::FromBridgedChainMessagesDeliveryProof; + + fn verify_message(payload: &messages_source::FromThisChainMessagePayload) -> Result<(), Self::Error> { + messages_source::verify_chain_message::(payload) + } + + fn verify_messages_delivery_proof( + proof: Self::MessagesDeliveryProof, + ) -> Result<(LaneId, InboundLaneData), Self::Error> { + messages_source::verify_messages_delivery_proof::(proof) + } +} + +impl SourceHeaderChain for RococoLikeChain +where + B: MessageBridge, + B::BridgedChain: ChainWithMessages, + GI: 'static, + crate::Runtime: pallet_bridge_grandpa::Config + pallet_bridge_messages::Config, + <>::BridgedChain as bp_runtime::Chain>::Hash: From, +{ + type Error = &'static str; + type MessagesProof = messages_target::FromBridgedChainMessagesProof; + + fn verify_messages_proof( + proof: Self::MessagesProof, + messages_count: u32, + ) -> Result>, Self::Error> { + messages_target::verify_messages_proof::(proof, messages_count) + } +} + +/// The cost of delivery confirmation transaction. +pub struct GetDeliveryConfirmationTransactionFee; + +impl Get for GetDeliveryConfirmationTransactionFee { + fn get() -> crate::Balance { + ::transaction_payment( + RococoAtRococo::estimate_delivery_confirmation_transaction() + ) + } +} + +/// This module contains definitions that are used by the messages pallet instance, 'deployed' at Rococo. +mod at_rococo { + use super::*; + + /// Message bridge that is 'deployed' at Rococo chain and connecting it to Wococo chain. + #[derive(RuntimeDebug, Clone, Copy)] + pub struct AtRococoWithWococoMessageBridge; + + impl MessageBridge for AtRococoWithWococoMessageBridge { + const THIS_CHAIN_ID: ChainId = ROCOCO_CHAIN_ID; + const BRIDGED_CHAIN_ID: ChainId = WOCOCO_CHAIN_ID; + const RELAYER_FEE_PERCENT: u32 = 10; + + type ThisChain = RococoAtRococo; + type BridgedChain = WococoAtRococo; + type BridgedMessagesInstance = crate::AtWococoWithRococoMessagesInstance; + + fn bridged_balance_to_this_balance(bridged_balance: bp_wococo::Balance) -> bp_rococo::Balance { + bridged_balance + } + } + + /// Message payload for Rococo -> Wococo messages as it is seen at the Rococo. + pub type ToWococoMessagePayload = messages_source::FromThisChainMessagePayload; + + /// Message verifier for Rococo -> Wococo messages at Rococo. + pub type ToWococoMessageVerifier = messages_source::FromThisChainMessageVerifier; + + /// Message payload for Wococo -> Rococo messages as it is seen at Rococo. + pub type FromWococoMessagePayload = messages_target::FromBridgedChainMessagePayload< + AtRococoWithWococoMessageBridge + >; + + /// Encoded Rococo Call as it comes from Wococo. + pub type FromWococoEncodedCall = messages_target::FromBridgedChainEncodedMessageCall; + + /// Call-dispatch based message dispatch for Wococo -> Rococo messages. + pub type FromWococoMessageDispatch = messages_target::FromBridgedChainMessageDispatch< + AtRococoWithWococoMessageBridge, + crate::Runtime, + pallet_balances::Pallet, + crate::AtRococoFromWococoMessagesDispatch, + >; +} + +/// This module contains definitions that are used by the messages pallet instance, 'deployed' at Wococo. +mod at_wococo { + use super::*; + + /// Message bridge that is 'deployed' at Wococo chain and connecting it to Rococo chain. + #[derive(RuntimeDebug, Clone, Copy)] + pub struct AtWococoWithRococoMessageBridge; + + impl MessageBridge for AtWococoWithRococoMessageBridge { + const THIS_CHAIN_ID: ChainId = WOCOCO_CHAIN_ID; + const BRIDGED_CHAIN_ID: ChainId = ROCOCO_CHAIN_ID; + const RELAYER_FEE_PERCENT: u32 = 10; + + type ThisChain = WococoAtWococo; + type BridgedChain = RococoAtWococo; + type BridgedMessagesInstance = crate::AtRococoWithWococoMessagesInstance; + + fn bridged_balance_to_this_balance(bridged_balance: bp_rococo::Balance) -> bp_wococo::Balance { + bridged_balance + } + } + + /// Message payload for Wococo -> Rococo messages as it is seen at the Wococo. + pub type ToRococoMessagePayload = messages_source::FromThisChainMessagePayload; + + /// Message verifier for Wococo -> Rococo messages at Wococo. + pub type ToRococoMessageVerifier = messages_source::FromThisChainMessageVerifier; + + /// Message payload for Rococo -> Wococo messages as it is seen at Wococo. + pub type FromRococoMessagePayload = messages_target::FromBridgedChainMessagePayload< + AtWococoWithRococoMessageBridge, + >; + + /// Encoded Wococo Call as it comes from Rococo. + pub type FromRococoEncodedCall = messages_target::FromBridgedChainEncodedMessageCall; + + /// Call-dispatch based message dispatch for Rococo -> Wococo messages. + pub type FromRococoMessageDispatch = messages_target::FromBridgedChainMessageDispatch< + AtWococoWithRococoMessageBridge, + crate::Runtime, + pallet_balances::Pallet, + crate::AtWococoFromRococoMessagesDispatch, + >; +} + +#[cfg(test)] +mod tests { + use bridge_runtime_common::messages; + use parity_scale_codec::Encode; + use super::*; + + #[test] + fn ensure_rococo_messages_weights_are_correct() { + // **NOTE**: the main purpose of this test is to be sure that any message that is sumbitted + // to (any) inbound lane in Rococo<>Wococo bridge can be delivered to the bridged chain. + // Since we deal with testnets here, in case of failure + urgency: + // + // 1) ping bridges team about this failure (see the CODEOWNERS file if you're unsure who to ping); + // 2) comment/#[ignore] the test. + + // we don't have any knowledge of messages-at-Rococo weights, so we'll be using + // weights of one of our testnets, which should be accurate enough + type Weights = pallet_bridge_messages::weights::RialtoWeight; + + pallet_bridge_messages::ensure_weights_are_correct::( + DEFAULT_MESSAGE_DELIVERY_TX_WEIGHT, + ADDITIONAL_MESSAGE_BYTE_DELIVERY_WEIGHT, + MAX_SINGLE_MESSAGE_DELIVERY_CONFIRMATION_TX_WEIGHT, + PAY_INBOUND_DISPATCH_FEE_WEIGHT, + ); + + let max_incoming_message_proof_size = bp_rococo::EXTRA_STORAGE_PROOF_SIZE.saturating_add( + messages::target::maximal_incoming_message_size(bp_rococo::max_extrinsic_size()), + ); + pallet_bridge_messages::ensure_able_to_receive_message::( + bp_rococo::max_extrinsic_size(), + bp_rococo::max_extrinsic_weight(), + max_incoming_message_proof_size, + messages::target::maximal_incoming_message_dispatch_weight(bp_rococo::max_extrinsic_weight()), + ); + + let max_incoming_inbound_lane_data_proof_size = bp_messages::InboundLaneData::<()>::encoded_size_hint( + bp_rococo::MAXIMAL_ENCODED_ACCOUNT_ID_SIZE, + bp_rococo::MAX_UNREWARDED_RELAYER_ENTRIES_AT_INBOUND_LANE as _, + bp_rococo::MAX_UNCONFIRMED_MESSAGES_AT_INBOUND_LANE as _, + ) + .unwrap_or(u32::MAX); + pallet_bridge_messages::ensure_able_to_receive_confirmation::( + bp_rococo::max_extrinsic_size(), + bp_rococo::max_extrinsic_weight(), + max_incoming_inbound_lane_data_proof_size, + bp_rococo::MAX_UNREWARDED_RELAYER_ENTRIES_AT_INBOUND_LANE, + bp_rococo::MAX_UNCONFIRMED_MESSAGES_AT_INBOUND_LANE, + ); + } + + #[test] + fn ensure_rococo_tx_extra_bytes_constant_is_correct() { + // **NOTE**: this test checks that we're computing transaction fee (for bridged chain, which, in + // case of Rococo<>Wococo, means any chain) on-chain properly. If this assert fails: + // + // 1) just fix the `TX_EXTRA_BYTES` constant to actual (or sightly rounded up) value; + // 2) (only if it has changed significantly (> x2 times)) ping the bridges team (see the CODEOWNERS + // file if you're unsure who to ping) + + let signed_extra: crate::SignedExtra = ( + frame_system::CheckSpecVersion::new(), + frame_system::CheckTxVersion::new(), + frame_system::CheckGenesis::new(), + frame_system::CheckMortality::from(sp_runtime::generic::Era::mortal(u64::MAX, u64::MAX)), + frame_system::CheckNonce::from(primitives::v1::Nonce::MAX), + frame_system::CheckWeight::new(), + pallet_transaction_payment::ChargeTransactionPayment::from(primitives::v1::Balance::MAX), + ); + let extra_bytes_in_transaction = crate::Address::default().encoded_size() + + crate::Signature::default().encoded_size() + + signed_extra.encoded_size(); + assert!( + TX_EXTRA_BYTES as usize >= extra_bytes_in_transaction, + "Hardcoded number of extra bytes in Rococo transaction {} is lower than actual value: {}", + TX_EXTRA_BYTES, + extra_bytes_in_transaction, + ); + } +} diff --git a/runtime/rococo/src/lib.rs b/runtime/rococo/src/lib.rs index 9bb541ed9f07..a68123efea23 100644 --- a/runtime/rococo/src/lib.rs +++ b/runtime/rococo/src/lib.rs @@ -82,6 +82,8 @@ use runtime_parachains::ump as parachains_ump; use runtime_parachains::hrmp as parachains_hrmp; use runtime_parachains::scheduler as parachains_scheduler; +use bridge_runtime_common::messages::{MessageBridge, source::estimate_message_dispatch_and_delivery_fee}; + pub use pallet_balances::Call as BalancesCall; use polkadot_parachain::primitives::Id as ParaId; @@ -99,6 +101,7 @@ use frame_support::traits::InstanceFilter; /// Constant values used within the runtime. pub mod constants; +mod bridge_messages; mod validator_manager; // Make the WASM binary available. @@ -245,6 +248,13 @@ construct_runtime! { // Validator Manager pallet. ValidatorManager: validator_manager::{Pallet, Call, Storage, Event}, + // Bridge messages support. The same story as with the bridge grandpa pallet above ^^^ - when we're + // running as Rococo we only use `BridgeWococoMessages`/`BridgeWococoMessagesDispatch`, and vice versa. + BridgeRococoMessages: pallet_bridge_messages::{Pallet, Call, Storage, Event, Config} = 43, + BridgeWococoMessages: pallet_bridge_messages::::{Pallet, Call, Storage, Event, Config} = 44, + BridgeRococoMessagesDispatch: pallet_bridge_dispatch::{Pallet, Event} = 45, + BridgeWococoMessagesDispatch: pallet_bridge_dispatch::::{Pallet, Event} = 46, + // A "council" Collective: pallet_collective::{Pallet, Call, Storage, Origin, Event, Config} = 80, Membership: pallet_membership::{Pallet, Call, Storage, Event, Config} = 81, @@ -857,6 +867,111 @@ impl pallet_bridge_grandpa::Config for Runtime { type WeightInfo = pallet_bridge_grandpa::weights::RialtoWeight; } +// Instance that is 'deployed' at Wococo chain. Responsible for dispatching Rococo -> Wococo messages. +pub type AtWococoFromRococoMessagesDispatch = pallet_bridge_dispatch::DefaultInstance; +impl pallet_bridge_dispatch::Config for Runtime { + type Event = Event; + type MessageId = (bp_messages::LaneId, bp_messages::MessageNonce); + type Call = Call; + type CallFilter = (); + type EncodedCall = bridge_messages::FromRococoEncodedCall; + type SourceChainAccountId = bp_wococo::AccountId; + type TargetChainAccountPublic = sp_runtime::MultiSigner; + type TargetChainSignature = sp_runtime::MultiSignature; + type AccountIdConverter = bp_rococo::AccountIdConverter; +} + +// Instance that is 'deployed' at Rococo chain. Responsible for dispatching Wococo -> Rococo messages. +pub type AtRococoFromWococoMessagesDispatch = pallet_bridge_dispatch::Instance1; +impl pallet_bridge_dispatch::Config for Runtime { + type Event = Event; + type MessageId = (bp_messages::LaneId, bp_messages::MessageNonce); + type Call = Call; + type CallFilter = (); + type EncodedCall = bridge_messages::FromWococoEncodedCall; + type SourceChainAccountId = bp_rococo::AccountId; + type TargetChainAccountPublic = sp_runtime::MultiSigner; + type TargetChainSignature = sp_runtime::MultiSignature; + type AccountIdConverter = bp_wococo::AccountIdConverter; +} + +parameter_types! { + pub const MaxMessagesToPruneAtOnce: bp_messages::MessageNonce = 8; + pub const MaxUnrewardedRelayerEntriesAtInboundLane: bp_messages::MessageNonce = + bp_rococo::MAX_UNREWARDED_RELAYER_ENTRIES_AT_INBOUND_LANE; + pub const MaxUnconfirmedMessagesAtInboundLane: bp_messages::MessageNonce = + bp_rococo::MAX_UNCONFIRMED_MESSAGES_AT_INBOUND_LANE; + pub const RootAccountForPayments: Option = None; +} + +// Instance that is 'deployed' at Wococo chain. Responsible for sending Wococo -> Rococo messages +// and receiving Rococo -> Wococo messages. +pub type AtWococoWithRococoMessagesInstance = pallet_bridge_messages::DefaultInstance; +impl pallet_bridge_messages::Config for Runtime { + type Event = Event; + type WeightInfo = pallet_bridge_messages::weights::RialtoWeight; + type Parameter = (); + type MaxMessagesToPruneAtOnce = MaxMessagesToPruneAtOnce; + type MaxUnrewardedRelayerEntriesAtInboundLane = MaxUnrewardedRelayerEntriesAtInboundLane; + type MaxUnconfirmedMessagesAtInboundLane = MaxUnconfirmedMessagesAtInboundLane; + + type OutboundPayload = crate::bridge_messages::ToRococoMessagePayload; + type OutboundMessageFee = bp_wococo::Balance; + + type InboundPayload = crate::bridge_messages::FromRococoMessagePayload; + type InboundMessageFee = bp_rococo::Balance; + type InboundRelayer = bp_rococo::AccountId; + + type AccountIdConverter = bp_wococo::AccountIdConverter; + + type TargetHeaderChain = crate::bridge_messages::RococoAtWococo; + type LaneMessageVerifier = crate::bridge_messages::ToRococoMessageVerifier; + type MessageDeliveryAndDispatchPayment = pallet_bridge_messages::instant_payments::InstantCurrencyPayments< + Runtime, + pallet_balances::Pallet, + crate::bridge_messages::GetDeliveryConfirmationTransactionFee, + RootAccountForPayments, + >; + type OnDeliveryConfirmed = (); + + type SourceHeaderChain = crate::bridge_messages::RococoAtWococo; + type MessageDispatch = crate::bridge_messages::FromRococoMessageDispatch; +} + +// Instance that is 'deployed' at Rococo chain. Responsible for sending Rococo -> Wococo messages +// and receiving Wococo -> Rococo messages. +pub type AtRococoWithWococoMessagesInstance = pallet_bridge_messages::Instance1; +impl pallet_bridge_messages::Config for Runtime { + type Event = Event; + type WeightInfo = pallet_bridge_messages::weights::RialtoWeight; + type Parameter = (); + type MaxMessagesToPruneAtOnce = MaxMessagesToPruneAtOnce; + type MaxUnrewardedRelayerEntriesAtInboundLane = MaxUnrewardedRelayerEntriesAtInboundLane; + type MaxUnconfirmedMessagesAtInboundLane = MaxUnconfirmedMessagesAtInboundLane; + + type OutboundPayload = crate::bridge_messages::ToWococoMessagePayload; + type OutboundMessageFee = bp_rococo::Balance; + + type InboundPayload = crate::bridge_messages::FromWococoMessagePayload; + type InboundMessageFee = bp_wococo::Balance; + type InboundRelayer = bp_wococo::AccountId; + + type AccountIdConverter = bp_rococo::AccountIdConverter; + + type TargetHeaderChain = crate::bridge_messages::WococoAtRococo; + type LaneMessageVerifier = crate::bridge_messages::ToWococoMessageVerifier; + type MessageDeliveryAndDispatchPayment = pallet_bridge_messages::instant_payments::InstantCurrencyPayments< + Runtime, + pallet_balances::Pallet, + crate::bridge_messages::GetDeliveryConfirmationTransactionFee, + RootAccountForPayments, + >; + type OnDeliveryConfirmed = (); + + type SourceHeaderChain = crate::bridge_messages::WococoAtRococo; + type MessageDispatch = crate::bridge_messages::FromWococoMessageDispatch; +} + impl Randomness for ParentHashRandomness { fn random(subject: &[u8]) -> (Hash, BlockNumber) { ( @@ -1302,6 +1417,116 @@ sp_api::impl_runtime_apis! { } } + impl bp_rococo::ToRococoOutboundLaneApi for Runtime { + fn estimate_message_delivery_and_dispatch_fee( + _lane_id: bp_messages::LaneId, + payload: bridge_messages::ToWococoMessagePayload, + ) -> Option { + estimate_message_dispatch_and_delivery_fee::( + &payload, + bridge_messages::AtWococoWithRococoMessageBridge::RELAYER_FEE_PERCENT, + ).ok() + } + + fn message_details( + lane: bp_messages::LaneId, + begin: bp_messages::MessageNonce, + end: bp_messages::MessageNonce, + ) -> Vec> { + (begin..=end).filter_map(|nonce| { + let message_data = BridgeRococoMessages::outbound_message_data(lane, nonce)?; + let decoded_payload = bridge_messages::ToRococoMessagePayload::decode( + &mut &message_data.payload[..] + ).ok()?; + Some(bp_messages::MessageDetails { + nonce, + dispatch_weight: decoded_payload.weight, + size: message_data.payload.len() as _, + delivery_and_dispatch_fee: message_data.fee, + dispatch_fee_payment: decoded_payload.dispatch_fee_payment, + }) + }) + .collect() + } + + fn latest_received_nonce(lane: bp_messages::LaneId) -> bp_messages::MessageNonce { + BridgeRococoMessages::outbound_latest_received_nonce(lane) + } + + fn latest_generated_nonce(lane: bp_messages::LaneId) -> bp_messages::MessageNonce { + BridgeRococoMessages::outbound_latest_generated_nonce(lane) + } + } + + impl bp_rococo::FromRococoInboundLaneApi for Runtime { + fn latest_received_nonce(lane: bp_messages::LaneId) -> bp_messages::MessageNonce { + BridgeRococoMessages::inbound_latest_received_nonce(lane) + } + + fn latest_confirmed_nonce(lane: bp_messages::LaneId) -> bp_messages::MessageNonce { + BridgeRococoMessages::inbound_latest_confirmed_nonce(lane) + } + + fn unrewarded_relayers_state(lane: bp_messages::LaneId) -> bp_messages::UnrewardedRelayersState { + BridgeRococoMessages::inbound_unrewarded_relayers_state(lane) + } + } + + impl bp_wococo::ToWococoOutboundLaneApi for Runtime { + fn estimate_message_delivery_and_dispatch_fee( + _lane_id: bp_messages::LaneId, + payload: bridge_messages::ToWococoMessagePayload, + ) -> Option { + estimate_message_dispatch_and_delivery_fee::( + &payload, + bridge_messages::AtRococoWithWococoMessageBridge::RELAYER_FEE_PERCENT, + ).ok() + } + + fn message_details( + lane: bp_messages::LaneId, + begin: bp_messages::MessageNonce, + end: bp_messages::MessageNonce, + ) -> Vec> { + (begin..=end).filter_map(|nonce| { + let message_data = BridgeWococoMessages::outbound_message_data(lane, nonce)?; + let decoded_payload = bridge_messages::ToWococoMessagePayload::decode( + &mut &message_data.payload[..] + ).ok()?; + Some(bp_messages::MessageDetails { + nonce, + dispatch_weight: decoded_payload.weight, + size: message_data.payload.len() as _, + delivery_and_dispatch_fee: message_data.fee, + dispatch_fee_payment: decoded_payload.dispatch_fee_payment, + }) + }) + .collect() + } + + fn latest_received_nonce(lane: bp_messages::LaneId) -> bp_messages::MessageNonce { + BridgeWococoMessages::outbound_latest_received_nonce(lane) + } + + fn latest_generated_nonce(lane: bp_messages::LaneId) -> bp_messages::MessageNonce { + BridgeWococoMessages::outbound_latest_generated_nonce(lane) + } + } + + impl bp_wococo::FromWococoInboundLaneApi for Runtime { + fn latest_received_nonce(lane: bp_messages::LaneId) -> bp_messages::MessageNonce { + BridgeWococoMessages::inbound_latest_received_nonce(lane) + } + + fn latest_confirmed_nonce(lane: bp_messages::LaneId) -> bp_messages::MessageNonce { + BridgeWococoMessages::inbound_latest_confirmed_nonce(lane) + } + + fn unrewarded_relayers_state(lane: bp_messages::LaneId) -> bp_messages::UnrewardedRelayersState { + BridgeWococoMessages::inbound_unrewarded_relayers_state(lane) + } + } + impl frame_system_rpc_runtime_api::AccountNonceApi for Runtime { fn account_nonce(account: AccountId) -> Nonce { System::account_nonce(account) From ee67bdce4fa2ccc4ea23ace7e63ac0f2f3e091c2 Mon Sep 17 00:00:00 2001 From: Martin Pugh Date: Tue, 6 Jul 2021 13:12:28 +0200 Subject: [PATCH 17/23] Update all weights, add run_all_benches.sh script (#3400) * update all weights * add run_all_benches.sh --- runtime/kusama/src/weights/pallet_balances.rs | 14 +-- runtime/kusama/src/weights/pallet_bounties.rs | 24 ++-- .../kusama/src/weights/pallet_collective.rs | 60 ++++----- .../kusama/src/weights/pallet_democracy.rs | 84 ++++++------- runtime/kusama/src/weights/pallet_gilt.rs | 28 ++--- runtime/kusama/src/weights/pallet_identity.rs | 96 +++++++-------- .../kusama/src/weights/pallet_im_online.rs | 8 +- runtime/kusama/src/weights/pallet_indices.rs | 12 +- .../kusama/src/weights/pallet_membership.rs | 34 +++-- runtime/kusama/src/weights/pallet_multisig.rs | 44 +++---- runtime/kusama/src/weights/pallet_proxy.rs | 48 ++++---- .../kusama/src/weights/pallet_scheduler.rs | 18 +-- runtime/kusama/src/weights/pallet_session.rs | 6 +- runtime/kusama/src/weights/pallet_staking.rs | 108 ++++++++-------- .../kusama/src/weights/pallet_timestamp.rs | 6 +- runtime/kusama/src/weights/pallet_tips.rs | 20 +-- runtime/kusama/src/weights/pallet_treasury.rs | 14 +-- runtime/kusama/src/weights/pallet_utility.rs | 12 +- runtime/kusama/src/weights/pallet_vesting.rs | 38 +++--- .../src/weights/runtime_common_auctions.rs | 12 +- .../src/weights/runtime_common_claims.rs | 12 +- .../src/weights/runtime_common_crowdloan.rs | 26 ++-- .../weights/runtime_common_paras_registrar.rs | 14 +-- .../src/weights/runtime_common_slots.rs | 18 +-- .../polkadot/src/weights/pallet_balances.rs | 14 +-- .../polkadot/src/weights/pallet_bounties.rs | 24 ++-- .../polkadot/src/weights/pallet_collective.rs | 60 ++++----- .../polkadot/src/weights/pallet_democracy.rs | 82 ++++++------- .../src/weights/pallet_elections_phragmen.rs | 52 ++++---- .../polkadot/src/weights/pallet_identity.rs | 98 +++++++-------- .../polkadot/src/weights/pallet_im_online.rs | 10 +- .../polkadot/src/weights/pallet_indices.rs | 12 +- .../polkadot/src/weights/pallet_membership.rs | 30 ++--- .../polkadot/src/weights/pallet_multisig.rs | 42 +++---- runtime/polkadot/src/weights/pallet_proxy.rs | 50 ++++---- .../polkadot/src/weights/pallet_scheduler.rs | 18 +-- .../polkadot/src/weights/pallet_session.rs | 6 +- .../polkadot/src/weights/pallet_staking.rs | 112 ++++++++--------- .../polkadot/src/weights/pallet_timestamp.rs | 6 +- runtime/polkadot/src/weights/pallet_tips.rs | 24 ++-- .../polkadot/src/weights/pallet_treasury.rs | 14 +-- .../polkadot/src/weights/pallet_utility.rs | 12 +- .../polkadot/src/weights/pallet_vesting.rs | 38 +++--- .../src/weights/runtime_common_claims.rs | 12 +- .../westend/src/weights/pallet_balances.rs | 14 +-- .../westend/src/weights/pallet_identity.rs | 96 +++++++-------- .../westend/src/weights/pallet_im_online.rs | 8 +- runtime/westend/src/weights/pallet_indices.rs | 12 +- .../westend/src/weights/pallet_multisig.rs | 40 +++--- runtime/westend/src/weights/pallet_proxy.rs | 56 ++++----- .../westend/src/weights/pallet_scheduler.rs | 18 +-- runtime/westend/src/weights/pallet_session.rs | 6 +- runtime/westend/src/weights/pallet_staking.rs | 116 +++++++++--------- .../westend/src/weights/pallet_timestamp.rs | 4 +- runtime/westend/src/weights/pallet_utility.rs | 12 +- runtime/westend/src/weights/pallet_vesting.rs | 38 +++--- .../src/weights/runtime_common_auctions.rs | 12 +- .../src/weights/runtime_common_crowdloan.rs | 26 ++-- .../weights/runtime_common_paras_registrar.rs | 14 +-- .../src/weights/runtime_common_slots.rs | 18 +-- scripts/run_all_benches.sh | 22 ++++ 61 files changed, 1001 insertions(+), 983 deletions(-) create mode 100755 scripts/run_all_benches.sh diff --git a/runtime/kusama/src/weights/pallet_balances.rs b/runtime/kusama/src/weights/pallet_balances.rs index c030c3dcafee..747863a737a6 100644 --- a/runtime/kusama/src/weights/pallet_balances.rs +++ b/runtime/kusama/src/weights/pallet_balances.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_balances //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -44,32 +44,32 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_balances::WeightInfo for WeightInfo { fn transfer() -> Weight { - (72_443_000 as Weight) + (73_559_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn transfer_keep_alive() -> Weight { - (52_788_000 as Weight) + (54_667_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_balance_creating() -> Weight { - (28_510_000 as Weight) + (29_203_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_balance_killing() -> Weight { - (34_621_000 as Weight) + (35_128_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn force_transfer() -> Weight { - (70_962_000 as Weight) + (72_833_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn transfer_all() -> Weight { - (66_162_000 as Weight) + (67_554_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } diff --git a/runtime/kusama/src/weights/pallet_bounties.rs b/runtime/kusama/src/weights/pallet_bounties.rs index c8d37d90a3fd..5ca7c519b871 100644 --- a/runtime/kusama/src/weights/pallet_bounties.rs +++ b/runtime/kusama/src/weights/pallet_bounties.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_bounties //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -44,49 +44,49 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_bounties::WeightInfo for WeightInfo { fn propose_bounty(d: u32, ) -> Weight { - (42_863_000 as Weight) + (43_276_000 as Weight) // Standard Error: 0 .saturating_add((1_000 as Weight).saturating_mul(d as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn approve_bounty() -> Weight { - (11_260_000 as Weight) + (11_557_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn propose_curator() -> Weight { - (8_487_000 as Weight) + (8_693_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn unassign_curator() -> Weight { - (52_302_000 as Weight) + (53_028_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn accept_curator() -> Weight { - (36_396_000 as Weight) + (36_603_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn award_bounty() -> Weight { - (24_492_000 as Weight) + (24_706_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn claim_bounty() -> Weight { - (124_315_000 as Weight) + (126_167_000 as Weight) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(5 as Weight)) } fn close_bounty_proposed() -> Weight { - (51_443_000 as Weight) + (51_788_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn close_bounty_active() -> Weight { - (82_325_000 as Weight) + (83_343_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } @@ -97,8 +97,8 @@ impl pallet_bounties::WeightInfo for WeightInfo { } fn spend_funds(b: u32, ) -> Weight { (0 as Weight) - // Standard Error: 12_000 - .saturating_add((59_403_000 as Weight).saturating_mul(b as Weight)) + // Standard Error: 14_000 + .saturating_add((60_142_000 as Weight).saturating_mul(b as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(b as Weight))) .saturating_add(T::DbWeight::get().writes(1 as Weight)) diff --git a/runtime/kusama/src/weights/pallet_collective.rs b/runtime/kusama/src/weights/pallet_collective.rs index aeac3eaea6d5..8fc3e1c564ea 100644 --- a/runtime/kusama/src/weights/pallet_collective.rs +++ b/runtime/kusama/src/weights/pallet_collective.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_collective //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -46,94 +46,94 @@ impl pallet_collective::WeightInfo for WeightInfo { fn set_members(m: u32, n: u32, p: u32, ) -> Weight { (0 as Weight) // Standard Error: 4_000 - .saturating_add((14_300_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((14_115_000 as Weight).saturating_mul(m as Weight)) // Standard Error: 4_000 - .saturating_add((95_000 as Weight).saturating_mul(n as Weight)) + .saturating_add((60_000 as Weight).saturating_mul(n as Weight)) // Standard Error: 4_000 - .saturating_add((19_625_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((19_459_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(p as Weight))) .saturating_add(T::DbWeight::get().writes(2 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(p as Weight))) } fn execute(b: u32, m: u32, ) -> Weight { - (23_351_000 as Weight) + (23_670_000 as Weight) // Standard Error: 0 - .saturating_add((3_000 as Weight).saturating_mul(b as Weight)) + .saturating_add((2_000 as Weight).saturating_mul(b as Weight)) // Standard Error: 0 - .saturating_add((87_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((83_000 as Weight).saturating_mul(m as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) } fn propose_execute(b: u32, m: u32, ) -> Weight { - (28_075_000 as Weight) + (28_523_000 as Weight) // Standard Error: 0 .saturating_add((3_000 as Weight).saturating_mul(b as Weight)) // Standard Error: 0 - .saturating_add((175_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((163_000 as Weight).saturating_mul(m as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) } fn propose_proposed(b: u32, m: u32, p: u32, ) -> Weight { - (43_983_000 as Weight) + (44_252_000 as Weight) // Standard Error: 0 .saturating_add((4_000 as Weight).saturating_mul(b as Weight)) // Standard Error: 0 - .saturating_add((94_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((91_000 as Weight).saturating_mul(m as Weight)) // Standard Error: 0 - .saturating_add((365_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((399_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn vote(m: u32, ) -> Weight { - (32_626_000 as Weight) + (32_883_000 as Weight) // Standard Error: 0 - .saturating_add((206_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((214_000 as Weight).saturating_mul(m as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn close_early_disapproved(m: u32, p: u32, ) -> Weight { - (42_402_000 as Weight) + (42_090_000 as Weight) // Standard Error: 0 - .saturating_add((174_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((166_000 as Weight).saturating_mul(m as Weight)) // Standard Error: 0 - .saturating_add((339_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((374_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn close_early_approved(b: u32, m: u32, p: u32, ) -> Weight { - (62_616_000 as Weight) + (62_491_000 as Weight) // Standard Error: 0 - .saturating_add((3_000 as Weight).saturating_mul(b as Weight)) + .saturating_add((2_000 as Weight).saturating_mul(b as Weight)) // Standard Error: 0 - .saturating_add((175_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((169_000 as Weight).saturating_mul(m as Weight)) // Standard Error: 0 - .saturating_add((343_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((380_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn close_disapproved(m: u32, p: u32, ) -> Weight { - (46_908_000 as Weight) + (46_976_000 as Weight) // Standard Error: 0 - .saturating_add((177_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((168_000 as Weight).saturating_mul(m as Weight)) // Standard Error: 0 - .saturating_add((341_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((374_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn close_approved(b: u32, m: u32, p: u32, ) -> Weight { - (66_697_000 as Weight) + (66_976_000 as Weight) // Standard Error: 0 - .saturating_add((3_000 as Weight).saturating_mul(b as Weight)) + .saturating_add((2_000 as Weight).saturating_mul(b as Weight)) // Standard Error: 0 - .saturating_add((176_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((169_000 as Weight).saturating_mul(m as Weight)) // Standard Error: 0 - .saturating_add((345_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((378_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn disapprove_proposal(p: u32, ) -> Weight { - (25_921_000 as Weight) + (26_129_000 as Weight) // Standard Error: 0 - .saturating_add((346_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((379_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } diff --git a/runtime/kusama/src/weights/pallet_democracy.rs b/runtime/kusama/src/weights/pallet_democracy.rs index 56373855862e..36bff259cb60 100644 --- a/runtime/kusama/src/weights/pallet_democracy.rs +++ b/runtime/kusama/src/weights/pallet_democracy.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_democracy //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -44,163 +44,163 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_democracy::WeightInfo for WeightInfo { fn propose() -> Weight { - (57_057_000 as Weight) + (58_488_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn second(s: u32, ) -> Weight { - (38_340_000 as Weight) + (39_011_000 as Weight) // Standard Error: 0 - .saturating_add((139_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((157_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn vote_new(r: u32, ) -> Weight { - (43_376_000 as Weight) + (43_998_000 as Weight) // Standard Error: 0 - .saturating_add((182_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((211_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn vote_existing(r: u32, ) -> Weight { - (43_661_000 as Weight) + (44_219_000 as Weight) // Standard Error: 0 - .saturating_add((173_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((206_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn emergency_cancel() -> Weight { - (28_302_000 as Weight) + (28_974_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn blacklist(p: u32, ) -> Weight { - (76_895_000 as Weight) + (77_299_000 as Weight) // Standard Error: 4_000 - .saturating_add((467_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((541_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(6 as Weight)) } fn external_propose(v: u32, ) -> Weight { - (13_005_000 as Weight) + (13_334_000 as Weight) // Standard Error: 0 - .saturating_add((84_000 as Weight).saturating_mul(v as Weight)) + .saturating_add((80_000 as Weight).saturating_mul(v as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn external_propose_majority() -> Weight { - (2_734_000 as Weight) + (2_650_000 as Weight) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn external_propose_default() -> Weight { - (2_716_000 as Weight) + (2_667_000 as Weight) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn fast_track() -> Weight { - (27_335_000 as Weight) + (27_908_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn veto_external(v: u32, ) -> Weight { - (27_918_000 as Weight) + (28_446_000 as Weight) // Standard Error: 0 - .saturating_add((119_000 as Weight).saturating_mul(v as Weight)) + .saturating_add((134_000 as Weight).saturating_mul(v as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn cancel_proposal(p: u32, ) -> Weight { - (50_828_000 as Weight) + (51_004_000 as Weight) // Standard Error: 0 - .saturating_add((440_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((512_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn cancel_referendum() -> Weight { - (17_244_000 as Weight) + (17_377_000 as Weight) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn cancel_queued(r: u32, ) -> Weight { - (33_078_000 as Weight) + (33_882_000 as Weight) // Standard Error: 15_000 - .saturating_add((4_660_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((6_070_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn on_initialize_base(r: u32, ) -> Weight { - (7_135_000 as Weight) + (7_295_000 as Weight) // Standard Error: 4_000 - .saturating_add((5_086_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((5_093_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(r as Weight))) } fn delegate(r: u32, ) -> Weight { - (53_113_000 as Weight) + (54_128_000 as Weight) // Standard Error: 5_000 - .saturating_add((7_074_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((7_209_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(r as Weight))) .saturating_add(T::DbWeight::get().writes(4 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(r as Weight))) } fn undelegate(r: u32, ) -> Weight { - (23_010_000 as Weight) - // Standard Error: 5_000 - .saturating_add((7_048_000 as Weight).saturating_mul(r as Weight)) + (23_613_000 as Weight) + // Standard Error: 4_000 + .saturating_add((7_196_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(r as Weight))) .saturating_add(T::DbWeight::get().writes(2 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(r as Weight))) } fn clear_public_proposals() -> Weight { - (2_640_000 as Weight) + (2_607_000 as Weight) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn note_preimage(b: u32, ) -> Weight { - (41_512_000 as Weight) + (42_847_000 as Weight) // Standard Error: 0 .saturating_add((3_000 as Weight).saturating_mul(b as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn note_imminent_preimage(b: u32, ) -> Weight { - (26_759_000 as Weight) + (27_699_000 as Weight) // Standard Error: 0 .saturating_add((2_000 as Weight).saturating_mul(b as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn reap_preimage(b: u32, ) -> Weight { - (37_154_000 as Weight) + (38_171_000 as Weight) // Standard Error: 0 .saturating_add((2_000 as Weight).saturating_mul(b as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn unlock_remove(r: u32, ) -> Weight { - (37_083_000 as Weight) + (37_418_000 as Weight) // Standard Error: 0 - .saturating_add((49_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((55_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn unlock_set(r: u32, ) -> Weight { - (34_821_000 as Weight) + (35_077_000 as Weight) // Standard Error: 0 - .saturating_add((159_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((197_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn remove_vote(r: u32, ) -> Weight { - (19_491_000 as Weight) + (19_476_000 as Weight) // Standard Error: 0 - .saturating_add((148_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((183_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn remove_other_vote(r: u32, ) -> Weight { - (19_498_000 as Weight) + (19_518_000 as Weight) // Standard Error: 0 - .saturating_add((148_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((186_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } diff --git a/runtime/kusama/src/weights/pallet_gilt.rs b/runtime/kusama/src/weights/pallet_gilt.rs index 969957f64f20..41bbd987e622 100644 --- a/runtime/kusama/src/weights/pallet_gilt.rs +++ b/runtime/kusama/src/weights/pallet_gilt.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_gilt //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -44,50 +44,50 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_gilt::WeightInfo for WeightInfo { fn place_bid(l: u32, ) -> Weight { - (51_257_000 as Weight) + (57_179_000 as Weight) // Standard Error: 0 - .saturating_add((171_000 as Weight).saturating_mul(l as Weight)) + .saturating_add((195_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn place_bid_max() -> Weight { - (196_161_000 as Weight) + (226_003_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn retract_bid(l: u32, ) -> Weight { - (51_317_000 as Weight) + (57_082_000 as Weight) // Standard Error: 0 - .saturating_add((144_000 as Weight).saturating_mul(l as Weight)) + .saturating_add((166_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn set_target() -> Weight { - (5_785_000 as Weight) + (5_948_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn thaw() -> Weight { - (68_092_000 as Weight) + (70_070_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn pursue_target_noop() -> Weight { - (3_242_000 as Weight) + (3_347_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) } fn pursue_target_per_item(b: u32, ) -> Weight { - (52_205_000 as Weight) + (56_853_000 as Weight) // Standard Error: 1_000 - .saturating_add((9_944_000 as Weight).saturating_mul(b as Weight)) + .saturating_add((10_238_000 as Weight).saturating_mul(b as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(b as Weight))) } fn pursue_target_per_queue(q: u32, ) -> Weight { - (16_887_000 as Weight) - // Standard Error: 6_000 - .saturating_add((16_321_000 as Weight).saturating_mul(q as Weight)) + (23_272_000 as Weight) + // Standard Error: 5_000 + .saturating_add((16_821_000 as Weight).saturating_mul(q as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(q as Weight))) .saturating_add(T::DbWeight::get().writes(2 as Weight)) diff --git a/runtime/kusama/src/weights/pallet_identity.rs b/runtime/kusama/src/weights/pallet_identity.rs index 8d93e14be4c7..bef743c77a4f 100644 --- a/runtime/kusama/src/weights/pallet_identity.rs +++ b/runtime/kusama/src/weights/pallet_identity.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_identity //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -44,135 +44,135 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_identity::WeightInfo for WeightInfo { fn add_registrar(r: u32, ) -> Weight { - (21_467_000 as Weight) + (21_339_000 as Weight) // Standard Error: 2_000 - .saturating_add((200_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((236_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_identity(r: u32, x: u32, ) -> Weight { - (52_103_000 as Weight) - // Standard Error: 15_000 - .saturating_add((201_000 as Weight).saturating_mul(r as Weight)) + (50_839_000 as Weight) + // Standard Error: 14_000 + .saturating_add((223_000 as Weight).saturating_mul(r as Weight)) // Standard Error: 1_000 - .saturating_add((932_000 as Weight).saturating_mul(x as Weight)) + .saturating_add((954_000 as Weight).saturating_mul(x as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_subs_new(s: u32, ) -> Weight { - (40_048_000 as Weight) + (40_807_000 as Weight) // Standard Error: 1_000 - .saturating_add((6_295_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((6_374_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(s as Weight))) .saturating_add(T::DbWeight::get().writes(1 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight))) } fn set_subs_old(p: u32, ) -> Weight { - (40_539_000 as Weight) + (40_924_000 as Weight) // Standard Error: 0 - .saturating_add((1_996_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((2_059_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(p as Weight))) } fn clear_identity(r: u32, s: u32, x: u32, ) -> Weight { - (49_774_000 as Weight) - // Standard Error: 5_000 - .saturating_add((139_000 as Weight).saturating_mul(r as Weight)) + (51_123_000 as Weight) + // Standard Error: 7_000 + .saturating_add((110_000 as Weight).saturating_mul(r as Weight)) // Standard Error: 0 - .saturating_add((1_985_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((2_042_000 as Weight).saturating_mul(s as Weight)) // Standard Error: 0 - .saturating_add((602_000 as Weight).saturating_mul(x as Weight)) + .saturating_add((595_000 as Weight).saturating_mul(x as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight))) } fn request_judgement(r: u32, x: u32, ) -> Weight { - (53_847_000 as Weight) - // Standard Error: 4_000 - .saturating_add((235_000 as Weight).saturating_mul(r as Weight)) + (53_230_000 as Weight) + // Standard Error: 5_000 + .saturating_add((223_000 as Weight).saturating_mul(r as Weight)) // Standard Error: 0 - .saturating_add((1_156_000 as Weight).saturating_mul(x as Weight)) + .saturating_add((1_169_000 as Weight).saturating_mul(x as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn cancel_request(r: u32, x: u32, ) -> Weight { - (49_428_000 as Weight) + (48_425_000 as Weight) // Standard Error: 6_000 - .saturating_add((147_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((161_000 as Weight).saturating_mul(r as Weight)) // Standard Error: 0 - .saturating_add((1_142_000 as Weight).saturating_mul(x as Weight)) + .saturating_add((1_161_000 as Weight).saturating_mul(x as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_fee(r: u32, ) -> Weight { - (7_739_000 as Weight) - // Standard Error: 1_000 - .saturating_add((168_000 as Weight).saturating_mul(r as Weight)) + (8_028_000 as Weight) + // Standard Error: 0 + .saturating_add((202_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_account_id(r: u32, ) -> Weight { - (8_326_000 as Weight) - // Standard Error: 0 - .saturating_add((175_000 as Weight).saturating_mul(r as Weight)) + (8_682_000 as Weight) + // Standard Error: 1_000 + .saturating_add((203_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_fields(r: u32, ) -> Weight { - (7_725_000 as Weight) - // Standard Error: 1_000 - .saturating_add((170_000 as Weight).saturating_mul(r as Weight)) + (8_010_000 as Weight) + // Standard Error: 0 + .saturating_add((203_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn provide_judgement(r: u32, x: u32, ) -> Weight { - (35_272_000 as Weight) - // Standard Error: 4_000 - .saturating_add((188_000 as Weight).saturating_mul(r as Weight)) + (34_291_000 as Weight) + // Standard Error: 5_000 + .saturating_add((203_000 as Weight).saturating_mul(r as Weight)) // Standard Error: 0 - .saturating_add((1_147_000 as Weight).saturating_mul(x as Weight)) + .saturating_add((1_164_000 as Weight).saturating_mul(x as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn kill_identity(r: u32, s: u32, x: u32, ) -> Weight { - (63_036_000 as Weight) - // Standard Error: 5_000 - .saturating_add((88_000 as Weight).saturating_mul(r as Weight)) + (62_644_000 as Weight) + // Standard Error: 6_000 + .saturating_add((111_000 as Weight).saturating_mul(r as Weight)) // Standard Error: 0 - .saturating_add((1_987_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((2_048_000 as Weight).saturating_mul(s as Weight)) // Standard Error: 0 - .saturating_add((10_000 as Weight).saturating_mul(x as Weight)) + .saturating_add((3_000 as Weight).saturating_mul(x as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight))) } fn add_sub(s: u32, ) -> Weight { - (53_817_000 as Weight) + (54_234_000 as Weight) // Standard Error: 0 - .saturating_add((145_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((154_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn rename_sub(s: u32, ) -> Weight { - (16_130_000 as Weight) + (16_622_000 as Weight) // Standard Error: 0 .saturating_add((21_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn remove_sub(s: u32, ) -> Weight { - (54_744_000 as Weight) + (55_325_000 as Weight) // Standard Error: 0 - .saturating_add((127_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((138_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn quit_sub(s: u32, ) -> Weight { - (33_675_000 as Weight) + (34_002_000 as Weight) // Standard Error: 0 - .saturating_add((123_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((138_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } diff --git a/runtime/kusama/src/weights/pallet_im_online.rs b/runtime/kusama/src/weights/pallet_im_online.rs index f226108c7287..481009d3d756 100644 --- a/runtime/kusama/src/weights/pallet_im_online.rs +++ b/runtime/kusama/src/weights/pallet_im_online.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_im_online //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -44,11 +44,11 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_im_online::WeightInfo for WeightInfo { fn validate_unsigned_and_then_heartbeat(k: u32, e: u32, ) -> Weight { - (87_465_000 as Weight) + (86_872_000 as Weight) // Standard Error: 0 - .saturating_add((169_000 as Weight).saturating_mul(k as Weight)) + .saturating_add((158_000 as Weight).saturating_mul(k as Weight)) // Standard Error: 1_000 - .saturating_add((335_000 as Weight).saturating_mul(e as Weight)) + .saturating_add((347_000 as Weight).saturating_mul(e as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } diff --git a/runtime/kusama/src/weights/pallet_indices.rs b/runtime/kusama/src/weights/pallet_indices.rs index d37264f7facd..213620648940 100644 --- a/runtime/kusama/src/weights/pallet_indices.rs +++ b/runtime/kusama/src/weights/pallet_indices.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_indices //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -44,27 +44,27 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_indices::WeightInfo for WeightInfo { fn claim() -> Weight { - (39_903_000 as Weight) + (40_340_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn transfer() -> Weight { - (48_162_000 as Weight) + (48_814_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn free() -> Weight { - (39_958_000 as Weight) + (40_153_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn force_transfer() -> Weight { - (40_459_000 as Weight) + (40_676_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn freeze() -> Weight { - (37_761_000 as Weight) + (37_742_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } diff --git a/runtime/kusama/src/weights/pallet_membership.rs b/runtime/kusama/src/weights/pallet_membership.rs index 7878243a203b..29cad36612f6 100644 --- a/runtime/kusama/src/weights/pallet_membership.rs +++ b/runtime/kusama/src/weights/pallet_membership.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_membership //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -44,51 +44,49 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_membership::WeightInfo for WeightInfo { fn add_member(m: u32, ) -> Weight { - (23_510_000 as Weight) - // Standard Error: 1_000 - .saturating_add((126_000 as Weight).saturating_mul(m as Weight)) + (23_736_000 as Weight) + // Standard Error: 3_000 + .saturating_add((166_000 as Weight).saturating_mul(m as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn remove_member(m: u32, ) -> Weight { - (28_576_000 as Weight) + (28_609_000 as Weight) // Standard Error: 0 - .saturating_add((102_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((137_000 as Weight).saturating_mul(m as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn swap_member(m: u32, ) -> Weight { - (28_826_000 as Weight) + (28_935_000 as Weight) // Standard Error: 0 - .saturating_add((117_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((150_000 as Weight).saturating_mul(m as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn reset_member(m: u32, ) -> Weight { - (29_556_000 as Weight) + (29_621_000 as Weight) // Standard Error: 0 - .saturating_add((271_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((304_000 as Weight).saturating_mul(m as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn change_key(m: u32, ) -> Weight { - (30_300_000 as Weight) + (30_393_000 as Weight) // Standard Error: 0 - .saturating_add((113_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((145_000 as Weight).saturating_mul(m as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn set_prime(m: u32, ) -> Weight { - (7_436_000 as Weight) + (7_534_000 as Weight) // Standard Error: 0 - .saturating_add((84_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((79_000 as Weight).saturating_mul(m as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } - fn clear_prime(m: u32, ) -> Weight { - (2_947_000 as Weight) - // Standard Error: 0 - .saturating_add((1_000 as Weight).saturating_mul(m as Weight)) + fn clear_prime(_m: u32, ) -> Weight { + (2_755_000 as Weight) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } } diff --git a/runtime/kusama/src/weights/pallet_multisig.rs b/runtime/kusama/src/weights/pallet_multisig.rs index 2d05d2d877dd..c2ac465aaada 100644 --- a/runtime/kusama/src/weights/pallet_multisig.rs +++ b/runtime/kusama/src/weights/pallet_multisig.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_multisig //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -44,78 +44,78 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_threshold_1(_z: u32, ) -> Weight { - (10_273_000 as Weight) + (12_153_000 as Weight) } fn as_multi_create(s: u32, z: u32, ) -> Weight { - (50_795_000 as Weight) + (50_455_000 as Weight) // Standard Error: 0 - .saturating_add((85_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((103_000 as Weight).saturating_mul(s as Weight)) // Standard Error: 0 .saturating_add((1_000 as Weight).saturating_mul(z as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn as_multi_create_store(s: u32, z: u32, ) -> Weight { - (56_223_000 as Weight) + (56_117_000 as Weight) // Standard Error: 0 - .saturating_add((91_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((106_000 as Weight).saturating_mul(s as Weight)) // Standard Error: 0 .saturating_add((2_000 as Weight).saturating_mul(z as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn as_multi_approve(s: u32, z: u32, ) -> Weight { - (29_190_000 as Weight) + (29_486_000 as Weight) // Standard Error: 0 - .saturating_add((86_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((103_000 as Weight).saturating_mul(s as Weight)) // Standard Error: 0 .saturating_add((1_000 as Weight).saturating_mul(z as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn as_multi_approve_store(s: u32, z: u32, ) -> Weight { - (53_138_000 as Weight) + (53_516_000 as Weight) // Standard Error: 0 - .saturating_add((98_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((118_000 as Weight).saturating_mul(s as Weight)) // Standard Error: 0 .saturating_add((2_000 as Weight).saturating_mul(z as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn as_multi_complete(s: u32, z: u32, ) -> Weight { - (73_267_000 as Weight) - // Standard Error: 2_000 - .saturating_add((195_000 as Weight).saturating_mul(s as Weight)) + (70_795_000 as Weight) // Standard Error: 0 - .saturating_add((4_000 as Weight).saturating_mul(z as Weight)) + .saturating_add((205_000 as Weight).saturating_mul(s as Weight)) + // Standard Error: 0 + .saturating_add((3_000 as Weight).saturating_mul(z as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn approve_as_multi_create(s: u32, ) -> Weight { - (50_201_000 as Weight) + (50_128_000 as Weight) // Standard Error: 0 - .saturating_add((83_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((104_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn approve_as_multi_approve(s: u32, ) -> Weight { - (28_525_000 as Weight) + (28_902_000 as Weight) // Standard Error: 0 - .saturating_add((88_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((105_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn approve_as_multi_complete(s: u32, ) -> Weight { - (120_751_000 as Weight) + (112_716_000 as Weight) // Standard Error: 0 - .saturating_add((196_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((210_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn cancel_as_multi(s: u32, ) -> Weight { - (86_776_000 as Weight) + (84_205_000 as Weight) // Standard Error: 0 - .saturating_add((86_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((101_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } diff --git a/runtime/kusama/src/weights/pallet_proxy.rs b/runtime/kusama/src/weights/pallet_proxy.rs index 195a8613a601..8b0b2801beda 100644 --- a/runtime/kusama/src/weights/pallet_proxy.rs +++ b/runtime/kusama/src/weights/pallet_proxy.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_proxy //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-19, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -44,75 +44,75 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_proxy::WeightInfo for WeightInfo { fn proxy(p: u32, ) -> Weight { - (24_270_000 as Weight) - // Standard Error: 1_000 - .saturating_add((130_000 as Weight).saturating_mul(p as Weight)) + (24_892_000 as Weight) + // Standard Error: 0 + .saturating_add((122_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) } fn proxy_announced(a: u32, p: u32, ) -> Weight { - (54_046_000 as Weight) + (55_405_000 as Weight) // Standard Error: 1_000 - .saturating_add((503_000 as Weight).saturating_mul(a as Weight)) + .saturating_add((563_000 as Weight).saturating_mul(a as Weight)) // Standard Error: 1_000 - .saturating_add((107_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((106_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn remove_announcement(a: u32, _p: u32, ) -> Weight { - (36_894_000 as Weight) + (37_762_000 as Weight) // Standard Error: 1_000 - .saturating_add((489_000 as Weight).saturating_mul(a as Weight)) + .saturating_add((554_000 as Weight).saturating_mul(a as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn reject_announcement(a: u32, _p: u32, ) -> Weight { - (36_533_000 as Weight) + (37_826_000 as Weight) // Standard Error: 1_000 - .saturating_add((497_000 as Weight).saturating_mul(a as Weight)) + .saturating_add((554_000 as Weight).saturating_mul(a as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn announce(a: u32, p: u32, ) -> Weight { - (49_934_000 as Weight) + (51_131_000 as Weight) // Standard Error: 1_000 - .saturating_add((495_000 as Weight).saturating_mul(a as Weight)) + .saturating_add((562_000 as Weight).saturating_mul(a as Weight)) // Standard Error: 1_000 - .saturating_add((111_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((109_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn add_proxy(p: u32, ) -> Weight { - (34_641_000 as Weight) + (36_114_000 as Weight) // Standard Error: 1_000 - .saturating_add((190_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((223_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn remove_proxy(p: u32, ) -> Weight { - (34_496_000 as Weight) + (35_456_000 as Weight) // Standard Error: 2_000 - .saturating_add((213_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((246_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn remove_proxies(p: u32, ) -> Weight { - (33_022_000 as Weight) + (33_748_000 as Weight) // Standard Error: 1_000 - .saturating_add((139_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((136_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn anonymous(p: u32, ) -> Weight { - (47_629_000 as Weight) + (48_409_000 as Weight) // Standard Error: 1_000 - .saturating_add((33_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((31_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn kill_anonymous(p: u32, ) -> Weight { - (34_875_000 as Weight) + (35_515_000 as Weight) // Standard Error: 1_000 - .saturating_add((135_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((134_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } diff --git a/runtime/kusama/src/weights/pallet_scheduler.rs b/runtime/kusama/src/weights/pallet_scheduler.rs index 4b00baa217fd..a89f745c7a1e 100644 --- a/runtime/kusama/src/weights/pallet_scheduler.rs +++ b/runtime/kusama/src/weights/pallet_scheduler.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_scheduler //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-19, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -44,30 +44,30 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_scheduler::WeightInfo for WeightInfo { fn schedule(s: u32, ) -> Weight { - (28_189_000 as Weight) + (28_202_000 as Weight) // Standard Error: 0 .saturating_add((42_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn cancel(s: u32, ) -> Weight { - (27_165_000 as Weight) + (27_640_000 as Weight) // Standard Error: 14_000 - .saturating_add((4_332_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((5_699_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn schedule_named(s: u32, ) -> Weight { - (33_852_000 as Weight) + (34_298_000 as Weight) // Standard Error: 1_000 - .saturating_add((62_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((56_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn cancel_named(s: u32, ) -> Weight { - (29_352_000 as Weight) - // Standard Error: 14_000 - .saturating_add((4_346_000 as Weight).saturating_mul(s as Weight)) + (29_004_000 as Weight) + // Standard Error: 15_000 + .saturating_add((5_720_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } diff --git a/runtime/kusama/src/weights/pallet_session.rs b/runtime/kusama/src/weights/pallet_session.rs index 92bbfe9443ad..4c9a9fe8e5b0 100644 --- a/runtime/kusama/src/weights/pallet_session.rs +++ b/runtime/kusama/src/weights/pallet_session.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_session //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-19, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -44,12 +44,12 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_session::WeightInfo for WeightInfo { fn set_keys() -> Weight { - (70_343_000 as Weight) + (72_025_000 as Weight) .saturating_add(T::DbWeight::get().reads(8 as Weight)) .saturating_add(T::DbWeight::get().writes(7 as Weight)) } fn purge_keys() -> Weight { - (40_249_000 as Weight) + (39_838_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(7 as Weight)) } diff --git a/runtime/kusama/src/weights/pallet_staking.rs b/runtime/kusama/src/weights/pallet_staking.rs index a078fe8fc8c0..c517d84c6ed4 100644 --- a/runtime/kusama/src/weights/pallet_staking.rs +++ b/runtime/kusama/src/weights/pallet_staking.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_staking //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-19, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -44,154 +44,154 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_staking::WeightInfo for WeightInfo { fn bond() -> Weight { - (68_483_000 as Weight) + (70_648_000 as Weight) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn bond_extra() -> Weight { - (52_724_000 as Weight) + (54_235_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn unbond() -> Weight { - (56_614_000 as Weight) + (57_950_000 as Weight) .saturating_add(T::DbWeight::get().reads(6 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn withdraw_unbonded_update(s: u32, ) -> Weight { - (48_650_000 as Weight) + (49_532_000 as Weight) // Standard Error: 0 - .saturating_add((28_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((29_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn withdraw_unbonded_kill(s: u32, ) -> Weight { - (79_902_000 as Weight) + (81_722_000 as Weight) // Standard Error: 1_000 - .saturating_add((2_200_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((2_331_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(8 as Weight)) .saturating_add(T::DbWeight::get().writes(6 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight))) } fn validate() -> Weight { - (29_119_000 as Weight) + (31_838_000 as Weight) .saturating_add(T::DbWeight::get().reads(6 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn kick(k: u32, ) -> Weight { - (10_981_000 as Weight) + (10_120_000 as Weight) // Standard Error: 6_000 - .saturating_add((17_518_000 as Weight).saturating_mul(k as Weight)) + .saturating_add((18_142_000 as Weight).saturating_mul(k as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(k as Weight))) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(k as Weight))) } fn nominate(n: u32, ) -> Weight { - (35_585_000 as Weight) + (37_716_000 as Weight) // Standard Error: 6_000 - .saturating_add((5_106_000 as Weight).saturating_mul(n as Weight)) + .saturating_add((5_240_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(7 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(n as Weight))) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn chill() -> Weight { - (16_193_000 as Weight) + (16_594_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) } fn set_payee() -> Weight { - (10_861_000 as Weight) + (11_260_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_controller() -> Weight { - (23_628_000 as Weight) + (24_156_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn set_validator_count() -> Weight { - (2_081_000 as Weight) + (2_123_000 as Weight) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn force_no_eras() -> Weight { - (2_358_000 as Weight) + (2_458_000 as Weight) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn force_new_era() -> Weight { - (2_338_000 as Weight) + (2_428_000 as Weight) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn force_new_era_always() -> Weight { - (2_312_000 as Weight) + (2_435_000 as Weight) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_invulnerables(v: u32, ) -> Weight { - (2_285_000 as Weight) + (2_524_000 as Weight) // Standard Error: 0 - .saturating_add((5_000 as Weight).saturating_mul(v as Weight)) + .saturating_add((23_000 as Weight).saturating_mul(v as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn force_unstake(s: u32, ) -> Weight { - (55_848_000 as Weight) + (57_861_000 as Weight) // Standard Error: 1_000 - .saturating_add((2_197_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((2_315_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(6 as Weight)) .saturating_add(T::DbWeight::get().writes(6 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight))) } fn cancel_deferred_slash(s: u32, ) -> Weight { - (3_386_960_000 as Weight) + (3_460_645_000 as Weight) // Standard Error: 221_000 - .saturating_add((19_794_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((19_673_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn payout_stakers_dead_controller(n: u32, ) -> Weight { - (109_960_000 as Weight) - // Standard Error: 16_000 - .saturating_add((47_064_000 as Weight).saturating_mul(n as Weight)) + (108_055_000 as Weight) + // Standard Error: 15_000 + .saturating_add((47_913_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(10 as Weight)) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(n as Weight))) .saturating_add(T::DbWeight::get().writes(2 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(n as Weight))) } fn payout_stakers_alive_staked(n: u32, ) -> Weight { - (145_438_000 as Weight) - // Standard Error: 24_000 - .saturating_add((59_384_000 as Weight).saturating_mul(n as Weight)) + (122_624_000 as Weight) + // Standard Error: 22_000 + .saturating_add((60_815_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(11 as Weight)) .saturating_add(T::DbWeight::get().reads((5 as Weight).saturating_mul(n as Weight))) .saturating_add(T::DbWeight::get().writes(3 as Weight)) .saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(n as Weight))) } fn rebond(l: u32, ) -> Weight { - (45_646_000 as Weight) + (46_725_000 as Weight) // Standard Error: 1_000 - .saturating_add((72_000 as Weight).saturating_mul(l as Weight)) + .saturating_add((62_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn set_history_depth(e: u32, ) -> Weight { (0 as Weight) - // Standard Error: 70_000 - .saturating_add((32_189_000 as Weight).saturating_mul(e as Weight)) + // Standard Error: 68_000 + .saturating_add((32_190_000 as Weight).saturating_mul(e as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) .saturating_add(T::DbWeight::get().writes((7 as Weight).saturating_mul(e as Weight))) } fn reap_stash(s: u32, ) -> Weight { - (66_554_000 as Weight) + (68_887_000 as Weight) // Standard Error: 0 - .saturating_add((2_198_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((2_318_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(7 as Weight)) .saturating_add(T::DbWeight::get().writes(8 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight))) } fn new_era(v: u32, n: u32, ) -> Weight { (0 as Weight) - // Standard Error: 749_000 - .saturating_add((299_115_000 as Weight).saturating_mul(v as Weight)) - // Standard Error: 37_000 - .saturating_add((46_619_000 as Weight).saturating_mul(n as Weight)) + // Standard Error: 734_000 + .saturating_add((296_342_000 as Weight).saturating_mul(v as Weight)) + // Standard Error: 36_000 + .saturating_add((46_481_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(10 as Weight)) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(v as Weight))) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(n as Weight))) @@ -200,12 +200,12 @@ impl pallet_staking::WeightInfo for WeightInfo { } fn get_npos_voters(v: u32, n: u32, s: u32, ) -> Weight { (0 as Weight) - // Standard Error: 97_000 - .saturating_add((24_261_000 as Weight).saturating_mul(v as Weight)) - // Standard Error: 97_000 - .saturating_add((27_765_000 as Weight).saturating_mul(n as Weight)) - // Standard Error: 3_310_000 - .saturating_add((22_891_000 as Weight).saturating_mul(s as Weight)) + // Standard Error: 92_000 + .saturating_add((24_187_000 as Weight).saturating_mul(v as Weight)) + // Standard Error: 92_000 + .saturating_add((27_771_000 as Weight).saturating_mul(n as Weight)) + // Standard Error: 3_152_000 + .saturating_add((40_493_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(v as Weight))) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(n as Weight))) @@ -213,18 +213,18 @@ impl pallet_staking::WeightInfo for WeightInfo { } fn get_npos_targets(v: u32, ) -> Weight { (0 as Weight) - // Standard Error: 31_000 - .saturating_add((10_297_000 as Weight).saturating_mul(v as Weight)) + // Standard Error: 27_000 + .saturating_add((10_233_000 as Weight).saturating_mul(v as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(v as Weight))) } fn set_staking_limits() -> Weight { - (4_799_000 as Weight) - .saturating_add(T::DbWeight::get().writes(4 as Weight)) + (5_708_000 as Weight) + .saturating_add(T::DbWeight::get().writes(5 as Weight)) } fn chill_other() -> Weight { - (31_294_000 as Weight) - .saturating_add(T::DbWeight::get().reads(5 as Weight)) + (39_559_000 as Weight) + .saturating_add(T::DbWeight::get().reads(7 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } } diff --git a/runtime/kusama/src/weights/pallet_timestamp.rs b/runtime/kusama/src/weights/pallet_timestamp.rs index 094e394eb420..cb9098577a61 100644 --- a/runtime/kusama/src/weights/pallet_timestamp.rs +++ b/runtime/kusama/src/weights/pallet_timestamp.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_timestamp //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-19, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -44,11 +44,11 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_timestamp::WeightInfo for WeightInfo { fn set() -> Weight { - (10_330_000 as Weight) + (9_872_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn on_finalize() -> Weight { - (4_458_000 as Weight) + (4_405_000 as Weight) } } diff --git a/runtime/kusama/src/weights/pallet_tips.rs b/runtime/kusama/src/weights/pallet_tips.rs index 370c01ef395d..bf358e3b80ef 100644 --- a/runtime/kusama/src/weights/pallet_tips.rs +++ b/runtime/kusama/src/weights/pallet_tips.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_tips //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-19, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -44,42 +44,42 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_tips::WeightInfo for WeightInfo { fn report_awesome(r: u32, ) -> Weight { - (50_649_000 as Weight) + (49_516_000 as Weight) // Standard Error: 0 .saturating_add((1_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn retract_tip() -> Weight { - (45_588_000 as Weight) + (45_151_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn tip_new(r: u32, t: u32, ) -> Weight { - (29_606_000 as Weight) + (30_538_000 as Weight) // Standard Error: 0 .saturating_add((2_000 as Weight).saturating_mul(r as Weight)) // Standard Error: 0 - .saturating_add((124_000 as Weight).saturating_mul(t as Weight)) + .saturating_add((116_000 as Weight).saturating_mul(t as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn tip(t: u32, ) -> Weight { - (18_751_000 as Weight) + (18_895_000 as Weight) // Standard Error: 0 - .saturating_add((567_000 as Weight).saturating_mul(t as Weight)) + .saturating_add((558_000 as Weight).saturating_mul(t as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn close_tip(t: u32, ) -> Weight { - (81_517_000 as Weight) + (82_263_000 as Weight) // Standard Error: 0 - .saturating_add((318_000 as Weight).saturating_mul(t as Weight)) + .saturating_add((290_000 as Weight).saturating_mul(t as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn slash_tip(t: u32, ) -> Weight { - (24_467_000 as Weight) + (24_307_000 as Weight) // Standard Error: 0 .saturating_add((7_000 as Weight).saturating_mul(t as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) diff --git a/runtime/kusama/src/weights/pallet_treasury.rs b/runtime/kusama/src/weights/pallet_treasury.rs index 24c2c1c36a0e..80e169edc7db 100644 --- a/runtime/kusama/src/weights/pallet_treasury.rs +++ b/runtime/kusama/src/weights/pallet_treasury.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_treasury //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-19, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -44,26 +44,26 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_treasury::WeightInfo for WeightInfo { fn propose_spend() -> Weight { - (40_599_000 as Weight) + (41_175_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn reject_proposal() -> Weight { - (49_321_000 as Weight) + (50_148_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn approve_proposal(p: u32, ) -> Weight { - (12_230_000 as Weight) + (12_321_000 as Weight) // Standard Error: 0 .saturating_add((34_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn on_initialize_proposals(p: u32, ) -> Weight { - (75_382_000 as Weight) - // Standard Error: 16_000 - .saturating_add((59_314_000 as Weight).saturating_mul(p as Weight)) + (76_361_000 as Weight) + // Standard Error: 17_000 + .saturating_add((60_132_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(p as Weight))) .saturating_add(T::DbWeight::get().writes(3 as Weight)) diff --git a/runtime/kusama/src/weights/pallet_utility.rs b/runtime/kusama/src/weights/pallet_utility.rs index 02dda1721835..66f9857c00ec 100644 --- a/runtime/kusama/src/weights/pallet_utility.rs +++ b/runtime/kusama/src/weights/pallet_utility.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_utility //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-19, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -44,16 +44,16 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_utility::WeightInfo for WeightInfo { fn batch(c: u32, ) -> Weight { - (14_911_000 as Weight) + (15_334_000 as Weight) // Standard Error: 0 - .saturating_add((2_456_000 as Weight).saturating_mul(c as Weight)) + .saturating_add((2_478_000 as Weight).saturating_mul(c as Weight)) } fn as_derivative() -> Weight { - (5_087_000 as Weight) + (5_220_000 as Weight) } fn batch_all(c: u32, ) -> Weight { - (16_211_000 as Weight) + (16_791_000 as Weight) // Standard Error: 0 - .saturating_add((3_296_000 as Weight).saturating_mul(c as Weight)) + .saturating_add((3_292_000 as Weight).saturating_mul(c as Weight)) } } diff --git a/runtime/kusama/src/weights/pallet_vesting.rs b/runtime/kusama/src/weights/pallet_vesting.rs index acf043b67e20..af19647c27e0 100644 --- a/runtime/kusama/src/weights/pallet_vesting.rs +++ b/runtime/kusama/src/weights/pallet_vesting.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_vesting //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-19, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -44,44 +44,44 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_vesting::WeightInfo for WeightInfo { fn vest_locked(l: u32, ) -> Weight { - (41_675_000 as Weight) - // Standard Error: 7_000 - .saturating_add((159_000 as Weight).saturating_mul(l as Weight)) + (42_136_000 as Weight) + // Standard Error: 16_000 + .saturating_add((235_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn vest_unlocked(l: u32, ) -> Weight { - (44_454_000 as Weight) - // Standard Error: 4_000 - .saturating_add((129_000 as Weight).saturating_mul(l as Weight)) + (45_276_000 as Weight) + // Standard Error: 10_000 + .saturating_add((189_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn vest_other_locked(l: u32, ) -> Weight { - (41_313_000 as Weight) - // Standard Error: 7_000 - .saturating_add((161_000 as Weight).saturating_mul(l as Weight)) + (42_030_000 as Weight) + // Standard Error: 18_000 + .saturating_add((243_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn vest_other_unlocked(l: u32, ) -> Weight { - (44_088_000 as Weight) - // Standard Error: 4_000 - .saturating_add((131_000 as Weight).saturating_mul(l as Weight)) + (45_211_000 as Weight) + // Standard Error: 10_000 + .saturating_add((191_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn vested_transfer(l: u32, ) -> Weight { - (95_360_000 as Weight) - // Standard Error: 6_000 - .saturating_add((152_000 as Weight).saturating_mul(l as Weight)) + (100_375_000 as Weight) + // Standard Error: 13_000 + .saturating_add((136_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn force_vested_transfer(l: u32, ) -> Weight { - (94_577_000 as Weight) - // Standard Error: 6_000 - .saturating_add((149_000 as Weight).saturating_mul(l as Weight)) + (100_907_000 as Weight) + // Standard Error: 12_000 + .saturating_add((101_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } diff --git a/runtime/kusama/src/weights/runtime_common_auctions.rs b/runtime/kusama/src/weights/runtime_common_auctions.rs index f33b909ae1d2..f3fd08ec3ae5 100644 --- a/runtime/kusama/src/weights/runtime_common_auctions.rs +++ b/runtime/kusama/src/weights/runtime_common_auctions.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for runtime_common::auctions //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-24, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -31,7 +31,7 @@ // --wasm-execution=compiled // --heap-pages=4096 // --header=./file_header.txt -// --output=./runtime/kusama/src/weights/runtime_common_auctions.rs +// --output=./runtime/kusama/src/weights/ #![allow(unused_parens)] @@ -44,22 +44,22 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl runtime_common::auctions::WeightInfo for WeightInfo { fn new_auction() -> Weight { - (29_554_000 as Weight) + (24_436_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn bid() -> Weight { - (154_464_000 as Weight) + (137_499_000 as Weight) .saturating_add(T::DbWeight::get().reads(8 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn on_initialize() -> Weight { - (33_239_172_000 as Weight) + (23_555_687_000 as Weight) .saturating_add(T::DbWeight::get().reads(3688 as Weight)) .saturating_add(T::DbWeight::get().writes(3683 as Weight)) } fn cancel_auction() -> Weight { - (7_021_314_000 as Weight) + (5_007_594_000 as Weight) .saturating_add(T::DbWeight::get().reads(73 as Weight)) .saturating_add(T::DbWeight::get().writes(3673 as Weight)) } diff --git a/runtime/kusama/src/weights/runtime_common_claims.rs b/runtime/kusama/src/weights/runtime_common_claims.rs index 0277b96f3f9e..94a4bd36f9e0 100644 --- a/runtime/kusama/src/weights/runtime_common_claims.rs +++ b/runtime/kusama/src/weights/runtime_common_claims.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for runtime_common::claims //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -44,27 +44,27 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl runtime_common::claims::WeightInfo for WeightInfo { fn claim() -> Weight { - (443_398_000 as Weight) + (438_457_000 as Weight) .saturating_add(T::DbWeight::get().reads(7 as Weight)) .saturating_add(T::DbWeight::get().writes(6 as Weight)) } fn mint_claim() -> Weight { - (12_397_000 as Weight) + (13_035_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn claim_attest() -> Weight { - (444_202_000 as Weight) + (439_894_000 as Weight) .saturating_add(T::DbWeight::get().reads(7 as Weight)) .saturating_add(T::DbWeight::get().writes(6 as Weight)) } fn attest() -> Weight { - (130_109_000 as Weight) + (132_760_000 as Weight) .saturating_add(T::DbWeight::get().reads(8 as Weight)) .saturating_add(T::DbWeight::get().writes(7 as Weight)) } fn move_claim() -> Weight { - (27_762_000 as Weight) + (28_459_000 as Weight) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(7 as Weight)) } diff --git a/runtime/kusama/src/weights/runtime_common_crowdloan.rs b/runtime/kusama/src/weights/runtime_common_crowdloan.rs index 0f4382bb1a16..d269b826db36 100644 --- a/runtime/kusama/src/weights/runtime_common_crowdloan.rs +++ b/runtime/kusama/src/weights/runtime_common_crowdloan.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for runtime_common::crowdloan //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-24, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -31,7 +31,7 @@ // --wasm-execution=compiled // --heap-pages=4096 // --header=./file_header.txt -// --output=./runtime/kusama/src/weights/runtime_common_crowdloan.rs +// --output=./runtime/kusama/src/weights/ #![allow(unused_parens)] @@ -44,53 +44,53 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl runtime_common::crowdloan::WeightInfo for WeightInfo { fn create() -> Weight { - (93_538_000 as Weight) + (83_561_000 as Weight) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn contribute() -> Weight { - (581_495_000 as Weight) + (306_719_000 as Weight) .saturating_add(T::DbWeight::get().reads(7 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn withdraw() -> Weight { - (127_588_000 as Weight) + (110_824_000 as Weight) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn refund(k: u32, ) -> Weight { (0 as Weight) - // Standard Error: 52_000 - .saturating_add((56_719_000 as Weight).saturating_mul(k as Weight)) + // Standard Error: 21_000 + .saturating_add((45_890_000 as Weight).saturating_mul(k as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().reads((2 as Weight).saturating_mul(k as Weight))) .saturating_add(T::DbWeight::get().writes(2 as Weight)) .saturating_add(T::DbWeight::get().writes((2 as Weight).saturating_mul(k as Weight))) } fn dissolve() -> Weight { - (68_758_000 as Weight) + (62_162_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn edit() -> Weight { - (42_049_000 as Weight) + (37_555_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn add_memo() -> Weight { - (65_306_000 as Weight) + (55_817_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn poke() -> Weight { - (51_610_000 as Weight) + (43_448_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn on_initialize(n: u32, ) -> Weight { (0 as Weight) - // Standard Error: 32_000 - .saturating_add((131_978_000 as Weight).saturating_mul(n as Weight)) + // Standard Error: 19_000 + .saturating_add((110_004_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().reads((5 as Weight).saturating_mul(n as Weight))) .saturating_add(T::DbWeight::get().writes(3 as Weight)) diff --git a/runtime/kusama/src/weights/runtime_common_paras_registrar.rs b/runtime/kusama/src/weights/runtime_common_paras_registrar.rs index a10b1215f48f..666e1edffffe 100644 --- a/runtime/kusama/src/weights/runtime_common_paras_registrar.rs +++ b/runtime/kusama/src/weights/runtime_common_paras_registrar.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for runtime_common::paras_registrar //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-21, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -31,7 +31,7 @@ // --wasm-execution=compiled // --heap-pages=4096 // --header=./file_header.txt -// --output=./runtime/kusama/src/weights/runtime_common_paras_registrar.rs +// --output=./runtime/kusama/src/weights/ #![allow(unused_parens)] @@ -44,27 +44,27 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl runtime_common::paras_registrar::WeightInfo for WeightInfo { fn reserve() -> Weight { - (59_279_000 as Weight) + (48_931_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn register() -> Weight { - (4_148_907_000 as Weight) + (4_193_117_000 as Weight) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn force_register() -> Weight { - (4_144_844_000 as Weight) + (4_174_902_000 as Weight) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn deregister() -> Weight { - (90_495_000 as Weight) + (81_324_000 as Weight) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn swap() -> Weight { - (80_604_000 as Weight) + (69_717_000 as Weight) .saturating_add(T::DbWeight::get().reads(10 as Weight)) .saturating_add(T::DbWeight::get().writes(8 as Weight)) } diff --git a/runtime/kusama/src/weights/runtime_common_slots.rs b/runtime/kusama/src/weights/runtime_common_slots.rs index 0762ded1a116..b1867c175c8c 100644 --- a/runtime/kusama/src/weights/runtime_common_slots.rs +++ b/runtime/kusama/src/weights/runtime_common_slots.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for runtime_common::slots //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-25, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 128 // Executed Command: @@ -31,7 +31,7 @@ // --wasm-execution=compiled // --heap-pages=4096 // --header=./file_header.txt -// --output=./runtime/kusama/src/weights/runtime_common_slots.rs +// --output=./runtime/kusama/src/weights/ #![allow(unused_parens)] @@ -44,16 +44,16 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl runtime_common::slots::WeightInfo for WeightInfo { fn force_lease() -> Weight { - (54_624_000 as Weight) + (92_502_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn manage_lease_period_start(c: u32, t: u32, ) -> Weight { (0 as Weight) - // Standard Error: 36_000 - .saturating_add((19_526_000 as Weight).saturating_mul(c as Weight)) - // Standard Error: 36_000 - .saturating_add((42_887_000 as Weight).saturating_mul(t as Weight)) + // Standard Error: 17_000 + .saturating_add((16_401_000 as Weight).saturating_mul(c as Weight)) + // Standard Error: 17_000 + .saturating_add((34_480_000 as Weight).saturating_mul(t as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(c as Weight))) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(t as Weight))) @@ -62,12 +62,12 @@ impl runtime_common::slots::WeightInfo for WeightInfo Weight { - (230_377_000 as Weight) + (194_756_000 as Weight) .saturating_add(T::DbWeight::get().reads(9 as Weight)) .saturating_add(T::DbWeight::get().writes(9 as Weight)) } fn trigger_onboard() -> Weight { - (45_884_000 as Weight) + (41_785_000 as Weight) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } diff --git a/runtime/polkadot/src/weights/pallet_balances.rs b/runtime/polkadot/src/weights/pallet_balances.rs index fd39857ec655..19ebf60963e3 100644 --- a/runtime/polkadot/src/weights/pallet_balances.rs +++ b/runtime/polkadot/src/weights/pallet_balances.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_balances //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 128 // Executed Command: @@ -44,32 +44,32 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_balances::WeightInfo for WeightInfo { fn transfer() -> Weight { - (68_987_000 as Weight) + (68_885_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn transfer_keep_alive() -> Weight { - (50_696_000 as Weight) + (51_441_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_balance_creating() -> Weight { - (27_340_000 as Weight) + (27_736_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_balance_killing() -> Weight { - (33_128_000 as Weight) + (32_999_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn force_transfer() -> Weight { - (67_909_000 as Weight) + (67_451_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn transfer_all() -> Weight { - (63_138_000 as Weight) + (63_359_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } diff --git a/runtime/polkadot/src/weights/pallet_bounties.rs b/runtime/polkadot/src/weights/pallet_bounties.rs index 08a7b17b8801..05e2d438d6dd 100644 --- a/runtime/polkadot/src/weights/pallet_bounties.rs +++ b/runtime/polkadot/src/weights/pallet_bounties.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_bounties //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 128 // Executed Command: @@ -44,61 +44,61 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_bounties::WeightInfo for WeightInfo { fn propose_bounty(d: u32, ) -> Weight { - (41_122_000 as Weight) + (41_618_000 as Weight) // Standard Error: 0 .saturating_add((1_000 as Weight).saturating_mul(d as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn approve_bounty() -> Weight { - (10_042_000 as Weight) + (10_450_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn propose_curator() -> Weight { - (7_654_000 as Weight) + (8_111_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn unassign_curator() -> Weight { - (50_121_000 as Weight) + (51_324_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn accept_curator() -> Weight { - (34_663_000 as Weight) + (35_558_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn award_bounty() -> Weight { - (23_054_000 as Weight) + (23_099_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn claim_bounty() -> Weight { - (120_265_000 as Weight) + (122_233_000 as Weight) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(5 as Weight)) } fn close_bounty_proposed() -> Weight { - (49_587_000 as Weight) + (50_418_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn close_bounty_active() -> Weight { - (79_774_000 as Weight) + (80_662_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn extend_bounty_expiry() -> Weight { - (22_533_000 as Weight) + (22_554_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn spend_funds(b: u32, ) -> Weight { (0 as Weight) // Standard Error: 14_000 - .saturating_add((57_405_000 as Weight).saturating_mul(b as Weight)) + .saturating_add((58_304_000 as Weight).saturating_mul(b as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(b as Weight))) .saturating_add(T::DbWeight::get().writes(1 as Weight)) diff --git a/runtime/polkadot/src/weights/pallet_collective.rs b/runtime/polkadot/src/weights/pallet_collective.rs index 6e41d192c1e7..dca397766b7b 100644 --- a/runtime/polkadot/src/weights/pallet_collective.rs +++ b/runtime/polkadot/src/weights/pallet_collective.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_collective //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 128 // Executed Command: @@ -46,94 +46,94 @@ impl pallet_collective::WeightInfo for WeightInfo { fn set_members(m: u32, n: u32, p: u32, ) -> Weight { (0 as Weight) // Standard Error: 4_000 - .saturating_add((14_001_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((14_051_000 as Weight).saturating_mul(m as Weight)) // Standard Error: 4_000 - .saturating_add((106_000 as Weight).saturating_mul(n as Weight)) + .saturating_add((57_000 as Weight).saturating_mul(n as Weight)) // Standard Error: 4_000 - .saturating_add((19_318_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((19_434_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(p as Weight))) .saturating_add(T::DbWeight::get().writes(2 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(p as Weight))) } fn execute(b: u32, m: u32, ) -> Weight { - (20_878_000 as Weight) + (20_424_000 as Weight) // Standard Error: 0 - .saturating_add((2_000 as Weight).saturating_mul(b as Weight)) + .saturating_add((3_000 as Weight).saturating_mul(b as Weight)) // Standard Error: 0 - .saturating_add((83_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((82_000 as Weight).saturating_mul(m as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) } fn propose_execute(b: u32, m: u32, ) -> Weight { - (25_662_000 as Weight) + (24_961_000 as Weight) // Standard Error: 0 - .saturating_add((2_000 as Weight).saturating_mul(b as Weight)) + .saturating_add((3_000 as Weight).saturating_mul(b as Weight)) // Standard Error: 0 - .saturating_add((162_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((160_000 as Weight).saturating_mul(m as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) } fn propose_proposed(b: u32, m: u32, p: u32, ) -> Weight { - (42_102_000 as Weight) + (41_826_000 as Weight) // Standard Error: 0 .saturating_add((4_000 as Weight).saturating_mul(b as Weight)) // Standard Error: 0 - .saturating_add((89_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((90_000 as Weight).saturating_mul(m as Weight)) // Standard Error: 0 - .saturating_add((364_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((405_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn vote(m: u32, ) -> Weight { - (31_866_000 as Weight) + (31_640_000 as Weight) // Standard Error: 0 - .saturating_add((196_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((216_000 as Weight).saturating_mul(m as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn close_early_disapproved(m: u32, p: u32, ) -> Weight { - (40_751_000 as Weight) + (40_355_000 as Weight) // Standard Error: 0 - .saturating_add((167_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((165_000 as Weight).saturating_mul(m as Weight)) // Standard Error: 0 - .saturating_add((333_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((376_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn close_early_approved(b: u32, m: u32, p: u32, ) -> Weight { - (56_534_000 as Weight) + (55_837_000 as Weight) // Standard Error: 0 .saturating_add((3_000 as Weight).saturating_mul(b as Weight)) // Standard Error: 0 - .saturating_add((166_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((170_000 as Weight).saturating_mul(m as Weight)) // Standard Error: 0 - .saturating_add((347_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((382_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn close_disapproved(m: u32, p: u32, ) -> Weight { - (45_673_000 as Weight) + (44_700_000 as Weight) // Standard Error: 0 - .saturating_add((167_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((169_000 as Weight).saturating_mul(m as Weight)) // Standard Error: 0 - .saturating_add((336_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((380_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn close_approved(b: u32, m: u32, p: u32, ) -> Weight { - (61_152_000 as Weight) + (60_051_000 as Weight) // Standard Error: 0 - .saturating_add((2_000 as Weight).saturating_mul(b as Weight)) + .saturating_add((3_000 as Weight).saturating_mul(b as Weight)) // Standard Error: 0 - .saturating_add((167_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((169_000 as Weight).saturating_mul(m as Weight)) // Standard Error: 0 - .saturating_add((340_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((385_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn disapprove_proposal(p: u32, ) -> Weight { - (25_103_000 as Weight) + (24_750_000 as Weight) // Standard Error: 0 - .saturating_add((346_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((380_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } diff --git a/runtime/polkadot/src/weights/pallet_democracy.rs b/runtime/polkadot/src/weights/pallet_democracy.rs index 6dcdf6a97371..b970e12d1711 100644 --- a/runtime/polkadot/src/weights/pallet_democracy.rs +++ b/runtime/polkadot/src/weights/pallet_democracy.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_democracy //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 128 // Executed Command: @@ -44,163 +44,163 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_democracy::WeightInfo for WeightInfo { fn propose() -> Weight { - (55_166_000 as Weight) + (56_840_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn second(s: u32, ) -> Weight { - (36_768_000 as Weight) + (37_688_000 as Weight) // Standard Error: 0 - .saturating_add((143_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((154_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn vote_new(r: u32, ) -> Weight { - (42_144_000 as Weight) + (43_654_000 as Weight) // Standard Error: 0 - .saturating_add((183_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((208_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn vote_existing(r: u32, ) -> Weight { - (42_316_000 as Weight) + (43_543_000 as Weight) // Standard Error: 0 - .saturating_add((174_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((207_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn emergency_cancel() -> Weight { - (26_501_000 as Weight) + (26_829_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn blacklist(p: u32, ) -> Weight { - (73_883_000 as Weight) + (74_916_000 as Weight) // Standard Error: 4_000 - .saturating_add((460_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((536_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(6 as Weight)) } fn external_propose(v: u32, ) -> Weight { - (12_461_000 as Weight) + (12_632_000 as Weight) // Standard Error: 0 - .saturating_add((78_000 as Weight).saturating_mul(v as Weight)) + .saturating_add((79_000 as Weight).saturating_mul(v as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn external_propose_majority() -> Weight { - (2_393_000 as Weight) + (2_396_000 as Weight) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn external_propose_default() -> Weight { - (2_401_000 as Weight) + (2_450_000 as Weight) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn fast_track() -> Weight { - (25_767_000 as Weight) + (25_867_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn veto_external(v: u32, ) -> Weight { - (26_834_000 as Weight) + (26_789_000 as Weight) // Standard Error: 0 - .saturating_add((116_000 as Weight).saturating_mul(v as Weight)) + .saturating_add((133_000 as Weight).saturating_mul(v as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn cancel_proposal(p: u32, ) -> Weight { - (49_339_000 as Weight) + (49_939_000 as Weight) // Standard Error: 0 - .saturating_add((436_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((511_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn cancel_referendum() -> Weight { - (15_793_000 as Weight) + (15_902_000 as Weight) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn cancel_queued(r: u32, ) -> Weight { - (27_553_000 as Weight) + (27_621_000 as Weight) // Standard Error: 1_000 - .saturating_add((1_614_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((2_163_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn on_initialize_base(r: u32, ) -> Weight { - (6_724_000 as Weight) + (7_728_000 as Weight) // Standard Error: 4_000 - .saturating_add((5_014_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((5_099_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(r as Weight))) } fn delegate(r: u32, ) -> Weight { - (50_940_000 as Weight) + (53_667_000 as Weight) // Standard Error: 4_000 - .saturating_add((7_009_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((7_194_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(r as Weight))) .saturating_add(T::DbWeight::get().writes(4 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(r as Weight))) } fn undelegate(r: u32, ) -> Weight { - (22_520_000 as Weight) + (23_077_000 as Weight) // Standard Error: 5_000 - .saturating_add((6_964_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((7_164_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(r as Weight))) .saturating_add(T::DbWeight::get().writes(2 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(r as Weight))) } fn clear_public_proposals() -> Weight { - (2_251_000 as Weight) + (2_195_000 as Weight) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn note_preimage(b: u32, ) -> Weight { - (40_109_000 as Weight) + (41_252_000 as Weight) // Standard Error: 0 .saturating_add((2_000 as Weight).saturating_mul(b as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn note_imminent_preimage(b: u32, ) -> Weight { - (25_678_000 as Weight) + (26_149_000 as Weight) // Standard Error: 0 .saturating_add((2_000 as Weight).saturating_mul(b as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn reap_preimage(b: u32, ) -> Weight { - (36_132_000 as Weight) + (36_669_000 as Weight) // Standard Error: 0 .saturating_add((2_000 as Weight).saturating_mul(b as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn unlock_remove(r: u32, ) -> Weight { - (36_160_000 as Weight) + (37_226_000 as Weight) // Standard Error: 0 - .saturating_add((51_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((53_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn unlock_set(r: u32, ) -> Weight { - (33_706_000 as Weight) + (34_663_000 as Weight) // Standard Error: 0 - .saturating_add((165_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((199_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn remove_vote(r: u32, ) -> Weight { - (18_398_000 as Weight) + (19_247_000 as Weight) // Standard Error: 0 - .saturating_add((149_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((182_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn remove_other_vote(r: u32, ) -> Weight { - (18_520_000 as Weight) + (19_335_000 as Weight) // Standard Error: 0 - .saturating_add((151_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((184_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } diff --git a/runtime/polkadot/src/weights/pallet_elections_phragmen.rs b/runtime/polkadot/src/weights/pallet_elections_phragmen.rs index 52ae5f90b91d..06155383261f 100644 --- a/runtime/polkadot/src/weights/pallet_elections_phragmen.rs +++ b/runtime/polkadot/src/weights/pallet_elections_phragmen.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_elections_phragmen //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 128 // Executed Command: @@ -44,82 +44,80 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_elections_phragmen::WeightInfo for WeightInfo { fn vote_equal(v: u32, ) -> Weight { - (40_098_000 as Weight) + (40_509_000 as Weight) // Standard Error: 3_000 - .saturating_add((251_000 as Weight).saturating_mul(v as Weight)) + .saturating_add((254_000 as Weight).saturating_mul(v as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn vote_more(v: u32, ) -> Weight { - (62_907_000 as Weight) + (63_177_000 as Weight) // Standard Error: 5_000 - .saturating_add((244_000 as Weight).saturating_mul(v as Weight)) + .saturating_add((246_000 as Weight).saturating_mul(v as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn vote_less(v: u32, ) -> Weight { - (62_646_000 as Weight) + (62_878_000 as Weight) // Standard Error: 5_000 - .saturating_add((275_000 as Weight).saturating_mul(v as Weight)) + .saturating_add((269_000 as Weight).saturating_mul(v as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn remove_voter() -> Weight { - (57_669_000 as Weight) + (58_025_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn submit_candidacy(c: u32, ) -> Weight { - (51_325_000 as Weight) + (51_250_000 as Weight) // Standard Error: 0 - .saturating_add((246_000 as Weight).saturating_mul(c as Weight)) + .saturating_add((272_000 as Weight).saturating_mul(c as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn renounce_candidacy_candidate(c: u32, ) -> Weight { - (42_877_000 as Weight) + (42_742_000 as Weight) // Standard Error: 0 - .saturating_add((129_000 as Weight).saturating_mul(c as Weight)) + .saturating_add((156_000 as Weight).saturating_mul(c as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn renounce_candidacy_members() -> Weight { - (65_943_000 as Weight) + (66_974_000 as Weight) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn renounce_candidacy_runners_up() -> Weight { - (45_901_000 as Weight) + (46_343_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn remove_member_with_replacement() -> Weight { - (84_434_000 as Weight) + (85_130_000 as Weight) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(5 as Weight)) } fn remove_member_wrong_refund() -> Weight { - (6_294_000 as Weight) + (6_347_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) } - fn clean_defunct_voters(v: u32, d: u32, ) -> Weight { + fn clean_defunct_voters(v: u32, _d: u32, ) -> Weight { (0 as Weight) - // Standard Error: 34_000 - .saturating_add((106_858_000 as Weight).saturating_mul(v as Weight)) - // Standard Error: 32_000 - .saturating_add((212_000 as Weight).saturating_mul(d as Weight)) + // Standard Error: 43_000 + .saturating_add((107_372_000 as Weight).saturating_mul(v as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(v as Weight))) .saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(v as Weight))) } fn election_phragmen(c: u32, v: u32, e: u32, ) -> Weight { (0 as Weight) - // Standard Error: 2_605_000 - .saturating_add((122_952_000 as Weight).saturating_mul(c as Weight)) - // Standard Error: 1_083_000 - .saturating_add((102_007_000 as Weight).saturating_mul(v as Weight)) - // Standard Error: 74_000 - .saturating_add((6_719_000 as Weight).saturating_mul(e as Weight)) + // Standard Error: 2_739_000 + .saturating_add((126_782_000 as Weight).saturating_mul(c as Weight)) + // Standard Error: 1_139_000 + .saturating_add((105_285_000 as Weight).saturating_mul(v as Weight)) + // Standard Error: 77_000 + .saturating_add((6_966_000 as Weight).saturating_mul(e as Weight)) .saturating_add(T::DbWeight::get().reads((2 as Weight).saturating_mul(c as Weight))) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(v as Weight))) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(c as Weight))) diff --git a/runtime/polkadot/src/weights/pallet_identity.rs b/runtime/polkadot/src/weights/pallet_identity.rs index e30e902f7137..a037e0b6737a 100644 --- a/runtime/polkadot/src/weights/pallet_identity.rs +++ b/runtime/polkadot/src/weights/pallet_identity.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_identity //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 128 // Executed Command: @@ -44,135 +44,135 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_identity::WeightInfo for WeightInfo { fn add_registrar(r: u32, ) -> Weight { - (20_387_000 as Weight) + (20_345_000 as Weight) // Standard Error: 2_000 - .saturating_add((201_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((233_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_identity(r: u32, x: u32, ) -> Weight { - (50_833_000 as Weight) + (50_253_000 as Weight) // Standard Error: 14_000 - .saturating_add((180_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((196_000 as Weight).saturating_mul(r as Weight)) // Standard Error: 1_000 - .saturating_add((936_000 as Weight).saturating_mul(x as Weight)) + .saturating_add((942_000 as Weight).saturating_mul(x as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_subs_new(s: u32, ) -> Weight { - (38_886_000 as Weight) - // Standard Error: 2_000 - .saturating_add((6_241_000 as Weight).saturating_mul(s as Weight)) + (39_222_000 as Weight) + // Standard Error: 1_000 + .saturating_add((6_369_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(s as Weight))) .saturating_add(T::DbWeight::get().writes(1 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight))) } fn set_subs_old(p: u32, ) -> Weight { - (39_842_000 as Weight) + (39_661_000 as Weight) // Standard Error: 0 - .saturating_add((2_003_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((2_102_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(p as Weight))) } fn clear_identity(r: u32, s: u32, x: u32, ) -> Weight { - (48_868_000 as Weight) - // Standard Error: 11_000 - .saturating_add((159_000 as Weight).saturating_mul(r as Weight)) - // Standard Error: 1_000 - .saturating_add((2_003_000 as Weight).saturating_mul(s as Weight)) - // Standard Error: 1_000 - .saturating_add((597_000 as Weight).saturating_mul(x as Weight)) + (48_967_000 as Weight) + // Standard Error: 7_000 + .saturating_add((135_000 as Weight).saturating_mul(r as Weight)) + // Standard Error: 0 + .saturating_add((2_108_000 as Weight).saturating_mul(s as Weight)) + // Standard Error: 0 + .saturating_add((594_000 as Weight).saturating_mul(x as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight))) } fn request_judgement(r: u32, x: u32, ) -> Weight { - (52_307_000 as Weight) - // Standard Error: 5_000 - .saturating_add((221_000 as Weight).saturating_mul(r as Weight)) + (52_197_000 as Weight) + // Standard Error: 4_000 + .saturating_add((218_000 as Weight).saturating_mul(r as Weight)) // Standard Error: 0 - .saturating_add((1_168_000 as Weight).saturating_mul(x as Weight)) + .saturating_add((1_151_000 as Weight).saturating_mul(x as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn cancel_request(r: u32, x: u32, ) -> Weight { - (47_911_000 as Weight) - // Standard Error: 7_000 - .saturating_add((163_000 as Weight).saturating_mul(r as Weight)) + (48_022_000 as Weight) + // Standard Error: 6_000 + .saturating_add((141_000 as Weight).saturating_mul(r as Weight)) // Standard Error: 0 - .saturating_add((1_130_000 as Weight).saturating_mul(x as Weight)) + .saturating_add((1_146_000 as Weight).saturating_mul(x as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_fee(r: u32, ) -> Weight { - (7_595_000 as Weight) + (7_590_000 as Weight) // Standard Error: 1_000 - .saturating_add((159_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((203_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_account_id(r: u32, ) -> Weight { - (8_265_000 as Weight) + (8_422_000 as Weight) // Standard Error: 1_000 - .saturating_add((161_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((210_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_fields(r: u32, ) -> Weight { - (7_644_000 as Weight) - // Standard Error: 1_000 - .saturating_add((157_000 as Weight).saturating_mul(r as Weight)) + (7_561_000 as Weight) + // Standard Error: 0 + .saturating_add((207_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn provide_judgement(r: u32, x: u32, ) -> Weight { - (33_454_000 as Weight) - // Standard Error: 5_000 - .saturating_add((202_000 as Weight).saturating_mul(r as Weight)) + (33_330_000 as Weight) + // Standard Error: 4_000 + .saturating_add((196_000 as Weight).saturating_mul(r as Weight)) // Standard Error: 0 - .saturating_add((1_143_000 as Weight).saturating_mul(x as Weight)) + .saturating_add((1_147_000 as Weight).saturating_mul(x as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn kill_identity(r: u32, s: u32, x: u32, ) -> Weight { - (63_116_000 as Weight) + (61_538_000 as Weight) // Standard Error: 4_000 - .saturating_add((54_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((106_000 as Weight).saturating_mul(r as Weight)) // Standard Error: 0 - .saturating_add((2_003_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((2_105_000 as Weight).saturating_mul(s as Weight)) // Standard Error: 0 - .saturating_add((1_000 as Weight).saturating_mul(x as Weight)) + .saturating_add((2_000 as Weight).saturating_mul(x as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight))) } fn add_sub(s: u32, ) -> Weight { - (52_871_000 as Weight) + (52_704_000 as Weight) // Standard Error: 0 - .saturating_add((141_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((156_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn rename_sub(s: u32, ) -> Weight { - (16_359_000 as Weight) + (16_279_000 as Weight) // Standard Error: 0 - .saturating_add((21_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((22_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn remove_sub(s: u32, ) -> Weight { - (54_147_000 as Weight) + (53_681_000 as Weight) // Standard Error: 0 - .saturating_add((122_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((138_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn quit_sub(s: u32, ) -> Weight { - (33_116_000 as Weight) + (32_963_000 as Weight) // Standard Error: 0 - .saturating_add((122_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((136_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } diff --git a/runtime/polkadot/src/weights/pallet_im_online.rs b/runtime/polkadot/src/weights/pallet_im_online.rs index 803a81972316..620ea6c42643 100644 --- a/runtime/polkadot/src/weights/pallet_im_online.rs +++ b/runtime/polkadot/src/weights/pallet_im_online.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_im_online //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 128 // Executed Command: @@ -44,11 +44,11 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_im_online::WeightInfo for WeightInfo { fn validate_unsigned_and_then_heartbeat(k: u32, e: u32, ) -> Weight { - (88_108_000 as Weight) + (88_006_000 as Weight) // Standard Error: 0 - .saturating_add((162_000 as Weight).saturating_mul(k as Weight)) - // Standard Error: 2_000 - .saturating_add((314_000 as Weight).saturating_mul(e as Weight)) + .saturating_add((157_000 as Weight).saturating_mul(k as Weight)) + // Standard Error: 1_000 + .saturating_add((328_000 as Weight).saturating_mul(e as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } diff --git a/runtime/polkadot/src/weights/pallet_indices.rs b/runtime/polkadot/src/weights/pallet_indices.rs index 4b799601b1a0..0b590d27adc4 100644 --- a/runtime/polkadot/src/weights/pallet_indices.rs +++ b/runtime/polkadot/src/weights/pallet_indices.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_indices //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 128 // Executed Command: @@ -44,27 +44,27 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_indices::WeightInfo for WeightInfo { fn claim() -> Weight { - (38_147_000 as Weight) + (38_148_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn transfer() -> Weight { - (46_258_000 as Weight) + (46_185_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn free() -> Weight { - (38_012_000 as Weight) + (38_031_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn force_transfer() -> Weight { - (38_762_000 as Weight) + (38_125_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn freeze() -> Weight { - (36_160_000 as Weight) + (36_300_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } diff --git a/runtime/polkadot/src/weights/pallet_membership.rs b/runtime/polkadot/src/weights/pallet_membership.rs index b4892d3d66bc..fbc04feb62d4 100644 --- a/runtime/polkadot/src/weights/pallet_membership.rs +++ b/runtime/polkadot/src/weights/pallet_membership.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_membership //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 128 // Executed Command: @@ -44,49 +44,49 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_membership::WeightInfo for WeightInfo { fn add_member(m: u32, ) -> Weight { - (22_281_000 as Weight) - // Standard Error: 1_000 - .saturating_add((121_000 as Weight).saturating_mul(m as Weight)) + (22_415_000 as Weight) + // Standard Error: 3_000 + .saturating_add((169_000 as Weight).saturating_mul(m as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn remove_member(m: u32, ) -> Weight { - (27_105_000 as Weight) + (27_436_000 as Weight) // Standard Error: 0 - .saturating_add((96_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((135_000 as Weight).saturating_mul(m as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn swap_member(m: u32, ) -> Weight { - (27_225_000 as Weight) + (27_577_000 as Weight) // Standard Error: 0 - .saturating_add((110_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((149_000 as Weight).saturating_mul(m as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn reset_member(m: u32, ) -> Weight { - (27_835_000 as Weight) + (28_417_000 as Weight) // Standard Error: 0 - .saturating_add((264_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((305_000 as Weight).saturating_mul(m as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn change_key(m: u32, ) -> Weight { - (28_699_000 as Weight) + (29_217_000 as Weight) // Standard Error: 0 - .saturating_add((108_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((145_000 as Weight).saturating_mul(m as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn set_prime(m: u32, ) -> Weight { - (6_983_000 as Weight) + (7_017_000 as Weight) // Standard Error: 0 - .saturating_add((78_000 as Weight).saturating_mul(m as Weight)) + .saturating_add((80_000 as Weight).saturating_mul(m as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn clear_prime(_m: u32, ) -> Weight { - (2_735_000 as Weight) + (2_742_000 as Weight) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } } diff --git a/runtime/polkadot/src/weights/pallet_multisig.rs b/runtime/polkadot/src/weights/pallet_multisig.rs index 52d90bc6427f..4e7eca209113 100644 --- a/runtime/polkadot/src/weights/pallet_multisig.rs +++ b/runtime/polkadot/src/weights/pallet_multisig.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_multisig //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 128 // Executed Command: @@ -44,78 +44,78 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_threshold_1(_z: u32, ) -> Weight { - (8_469_000 as Weight) + (10_355_000 as Weight) } fn as_multi_create(s: u32, z: u32, ) -> Weight { - (48_033_000 as Weight) + (48_627_000 as Weight) // Standard Error: 0 - .saturating_add((87_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((106_000 as Weight).saturating_mul(s as Weight)) // Standard Error: 0 .saturating_add((1_000 as Weight).saturating_mul(z as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn as_multi_create_store(s: u32, z: u32, ) -> Weight { - (53_076_000 as Weight) + (54_885_000 as Weight) // Standard Error: 0 - .saturating_add((91_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((108_000 as Weight).saturating_mul(s as Weight)) // Standard Error: 0 .saturating_add((2_000 as Weight).saturating_mul(z as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn as_multi_approve(s: u32, z: u32, ) -> Weight { - (27_924_000 as Weight) + (28_368_000 as Weight) // Standard Error: 0 - .saturating_add((87_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((103_000 as Weight).saturating_mul(s as Weight)) // Standard Error: 0 .saturating_add((1_000 as Weight).saturating_mul(z as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn as_multi_approve_store(s: u32, z: u32, ) -> Weight { - (50_732_000 as Weight) + (52_085_000 as Weight) // Standard Error: 0 - .saturating_add((102_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((116_000 as Weight).saturating_mul(s as Weight)) // Standard Error: 0 .saturating_add((2_000 as Weight).saturating_mul(z as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn as_multi_complete(s: u32, z: u32, ) -> Weight { - (64_066_000 as Weight) + (66_094_000 as Weight) // Standard Error: 0 - .saturating_add((196_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((206_000 as Weight).saturating_mul(s as Weight)) // Standard Error: 0 - .saturating_add((4_000 as Weight).saturating_mul(z as Weight)) + .saturating_add((3_000 as Weight).saturating_mul(z as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn approve_as_multi_create(s: u32, ) -> Weight { - (47_877_000 as Weight) + (48_354_000 as Weight) // Standard Error: 0 - .saturating_add((86_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((105_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn approve_as_multi_approve(s: u32, ) -> Weight { - (27_217_000 as Weight) + (27_780_000 as Weight) // Standard Error: 0 - .saturating_add((87_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((103_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn approve_as_multi_complete(s: u32, ) -> Weight { - (108_186_000 as Weight) + (108_496_000 as Weight) // Standard Error: 0 - .saturating_add((196_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((211_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn cancel_as_multi(s: u32, ) -> Weight { - (80_428_000 as Weight) + (81_062_000 as Weight) // Standard Error: 0 - .saturating_add((83_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((103_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } diff --git a/runtime/polkadot/src/weights/pallet_proxy.rs b/runtime/polkadot/src/weights/pallet_proxy.rs index bfb932c3a939..cd44de29fec9 100644 --- a/runtime/polkadot/src/weights/pallet_proxy.rs +++ b/runtime/polkadot/src/weights/pallet_proxy.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_proxy //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 128 // Executed Command: @@ -44,75 +44,75 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_proxy::WeightInfo for WeightInfo { fn proxy(p: u32, ) -> Weight { - (21_441_000 as Weight) - // Standard Error: 1_000 - .saturating_add((124_000 as Weight).saturating_mul(p as Weight)) + (21_368_000 as Weight) + // Standard Error: 0 + .saturating_add((123_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) } fn proxy_announced(a: u32, p: u32, ) -> Weight { - (50_942_000 as Weight) + (51_019_000 as Weight) // Standard Error: 1_000 - .saturating_add((495_000 as Weight).saturating_mul(a as Weight)) - // Standard Error: 2_000 - .saturating_add((100_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((562_000 as Weight).saturating_mul(a as Weight)) + // Standard Error: 1_000 + .saturating_add((108_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn remove_announcement(a: u32, _p: u32, ) -> Weight { - (35_895_000 as Weight) + (36_491_000 as Weight) // Standard Error: 1_000 - .saturating_add((485_000 as Weight).saturating_mul(a as Weight)) + .saturating_add((556_000 as Weight).saturating_mul(a as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn reject_announcement(a: u32, _p: u32, ) -> Weight { - (35_800_000 as Weight) + (36_142_000 as Weight) // Standard Error: 1_000 - .saturating_add((488_000 as Weight).saturating_mul(a as Weight)) + .saturating_add((564_000 as Weight).saturating_mul(a as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn announce(a: u32, p: u32, ) -> Weight { - (48_613_000 as Weight) + (48_515_000 as Weight) // Standard Error: 2_000 - .saturating_add((498_000 as Weight).saturating_mul(a as Weight)) + .saturating_add((562_000 as Weight).saturating_mul(a as Weight)) // Standard Error: 2_000 - .saturating_add((106_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((110_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn add_proxy(p: u32, ) -> Weight { - (34_308_000 as Weight) + (34_650_000 as Weight) // Standard Error: 1_000 - .saturating_add((176_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((212_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn remove_proxy(p: u32, ) -> Weight { - (33_775_000 as Weight) + (34_378_000 as Weight) // Standard Error: 2_000 - .saturating_add((206_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((240_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn remove_proxies(p: u32, ) -> Weight { - (32_306_000 as Weight) + (32_543_000 as Weight) // Standard Error: 1_000 - .saturating_add((130_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((134_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn anonymous(p: u32, ) -> Weight { - (45_964_000 as Weight) + (46_410_000 as Weight) // Standard Error: 1_000 - .saturating_add((31_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((32_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn kill_anonymous(p: u32, ) -> Weight { - (33_990_000 as Weight) + (34_483_000 as Weight) // Standard Error: 1_000 - .saturating_add((132_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((133_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } diff --git a/runtime/polkadot/src/weights/pallet_scheduler.rs b/runtime/polkadot/src/weights/pallet_scheduler.rs index 17564ec684e4..d071d389024d 100644 --- a/runtime/polkadot/src/weights/pallet_scheduler.rs +++ b/runtime/polkadot/src/weights/pallet_scheduler.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_scheduler //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 128 // Executed Command: @@ -44,30 +44,30 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_scheduler::WeightInfo for WeightInfo { fn schedule(s: u32, ) -> Weight { - (22_755_000 as Weight) + (23_340_000 as Weight) // Standard Error: 0 - .saturating_add((47_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((39_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn cancel(s: u32, ) -> Weight { - (22_112_000 as Weight) + (22_347_000 as Weight) // Standard Error: 4_000 - .saturating_add((1_354_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((1_864_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn schedule_named(s: u32, ) -> Weight { - (29_156_000 as Weight) + (29_626_000 as Weight) // Standard Error: 1_000 - .saturating_add((64_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((58_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn cancel_named(s: u32, ) -> Weight { - (24_505_000 as Weight) + (25_024_000 as Weight) // Standard Error: 4_000 - .saturating_add((1_376_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((1_882_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } diff --git a/runtime/polkadot/src/weights/pallet_session.rs b/runtime/polkadot/src/weights/pallet_session.rs index cd2aa1395343..b873df595f08 100644 --- a/runtime/polkadot/src/weights/pallet_session.rs +++ b/runtime/polkadot/src/weights/pallet_session.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_session //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 128 // Executed Command: @@ -44,12 +44,12 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_session::WeightInfo for WeightInfo { fn set_keys() -> Weight { - (68_529_000 as Weight) + (71_592_000 as Weight) .saturating_add(T::DbWeight::get().reads(8 as Weight)) .saturating_add(T::DbWeight::get().writes(7 as Weight)) } fn purge_keys() -> Weight { - (38_184_000 as Weight) + (40_063_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(7 as Weight)) } diff --git a/runtime/polkadot/src/weights/pallet_staking.rs b/runtime/polkadot/src/weights/pallet_staking.rs index 85cde7e6fe2a..101956ffe9ab 100644 --- a/runtime/polkadot/src/weights/pallet_staking.rs +++ b/runtime/polkadot/src/weights/pallet_staking.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_staking //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 128 // Executed Command: @@ -44,154 +44,154 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_staking::WeightInfo for WeightInfo { fn bond() -> Weight { - (66_434_000 as Weight) + (70_259_000 as Weight) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn bond_extra() -> Weight { - (51_531_000 as Weight) + (53_621_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn unbond() -> Weight { - (54_336_000 as Weight) + (57_038_000 as Weight) .saturating_add(T::DbWeight::get().reads(6 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn withdraw_unbonded_update(s: u32, ) -> Weight { - (47_505_000 as Weight) + (49_182_000 as Weight) // Standard Error: 0 - .saturating_add((24_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((31_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn withdraw_unbonded_kill(s: u32, ) -> Weight { - (77_865_000 as Weight) + (81_006_000 as Weight) // Standard Error: 1_000 - .saturating_add((2_194_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((2_333_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(8 as Weight)) .saturating_add(T::DbWeight::get().writes(6 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight))) } fn validate() -> Weight { - (28_555_000 as Weight) + (31_525_000 as Weight) .saturating_add(T::DbWeight::get().reads(6 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn kick(k: u32, ) -> Weight { - (10_886_000 as Weight) - // Standard Error: 6_000 - .saturating_add((15_538_000 as Weight).saturating_mul(k as Weight)) + (10_487_000 as Weight) + // Standard Error: 7_000 + .saturating_add((16_334_000 as Weight).saturating_mul(k as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(k as Weight))) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(k as Weight))) } fn nominate(n: u32, ) -> Weight { - (34_708_000 as Weight) - // Standard Error: 9_000 - .saturating_add((5_034_000 as Weight).saturating_mul(n as Weight)) + (38_083_000 as Weight) + // Standard Error: 10_000 + .saturating_add((5_185_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(7 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(n as Weight))) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn chill() -> Weight { - (15_837_000 as Weight) + (16_783_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) } fn set_payee() -> Weight { - (10_696_000 as Weight) + (11_391_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_controller() -> Weight { - (23_482_000 as Weight) + (24_470_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn set_validator_count() -> Weight { - (1_815_000 as Weight) + (1_879_000 as Weight) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn force_no_eras() -> Weight { - (2_048_000 as Weight) + (2_139_000 as Weight) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn force_new_era() -> Weight { - (2_052_000 as Weight) + (2_096_000 as Weight) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn force_new_era_always() -> Weight { - (2_047_000 as Weight) + (2_089_000 as Weight) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_invulnerables(v: u32, ) -> Weight { - (1_969_000 as Weight) + (2_143_000 as Weight) // Standard Error: 0 - .saturating_add((5_000 as Weight).saturating_mul(v as Weight)) + .saturating_add((23_000 as Weight).saturating_mul(v as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn force_unstake(s: u32, ) -> Weight { - (54_672_000 as Weight) + (58_264_000 as Weight) // Standard Error: 1_000 - .saturating_add((2_189_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((2_309_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(6 as Weight)) .saturating_add(T::DbWeight::get().writes(6 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight))) } fn cancel_deferred_slash(s: u32, ) -> Weight { - (3_374_694_000 as Weight) - // Standard Error: 221_000 - .saturating_add((19_788_000 as Weight).saturating_mul(s as Weight)) + (3_444_385_000 as Weight) + // Standard Error: 224_000 + .saturating_add((19_743_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn payout_stakers_dead_controller(n: u32, ) -> Weight { - (95_732_000 as Weight) - // Standard Error: 17_000 - .saturating_add((45_189_000 as Weight).saturating_mul(n as Weight)) + (106_496_000 as Weight) + // Standard Error: 13_000 + .saturating_add((46_186_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(10 as Weight)) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(n as Weight))) .saturating_add(T::DbWeight::get().writes(2 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(n as Weight))) } fn payout_stakers_alive_staked(n: u32, ) -> Weight { - (123_745_000 as Weight) - // Standard Error: 22_000 - .saturating_add((58_409_000 as Weight).saturating_mul(n as Weight)) + (131_706_000 as Weight) + // Standard Error: 20_000 + .saturating_add((60_519_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(11 as Weight)) .saturating_add(T::DbWeight::get().reads((5 as Weight).saturating_mul(n as Weight))) .saturating_add(T::DbWeight::get().writes(3 as Weight)) .saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(n as Weight))) } fn rebond(l: u32, ) -> Weight { - (44_585_000 as Weight) + (46_089_000 as Weight) // Standard Error: 1_000 - .saturating_add((63_000 as Weight).saturating_mul(l as Weight)) + .saturating_add((64_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn set_history_depth(e: u32, ) -> Weight { (0 as Weight) - // Standard Error: 69_000 - .saturating_add((31_931_000 as Weight).saturating_mul(e as Weight)) + // Standard Error: 67_000 + .saturating_add((32_486_000 as Weight).saturating_mul(e as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) .saturating_add(T::DbWeight::get().writes((7 as Weight).saturating_mul(e as Weight))) } fn reap_stash(s: u32, ) -> Weight { - (65_438_000 as Weight) + (69_019_000 as Weight) // Standard Error: 0 - .saturating_add((2_182_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((2_317_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(7 as Weight)) .saturating_add(T::DbWeight::get().writes(8 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight))) } fn new_era(v: u32, n: u32, ) -> Weight { (0 as Weight) - // Standard Error: 786_000 - .saturating_add((286_767_000 as Weight).saturating_mul(v as Weight)) - // Standard Error: 39_000 - .saturating_add((46_380_000 as Weight).saturating_mul(n as Weight)) + // Standard Error: 666_000 + .saturating_add((306_698_000 as Weight).saturating_mul(v as Weight)) + // Standard Error: 33_000 + .saturating_add((47_483_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(10 as Weight)) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(v as Weight))) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(n as Weight))) @@ -200,12 +200,12 @@ impl pallet_staking::WeightInfo for WeightInfo { } fn get_npos_voters(v: u32, n: u32, s: u32, ) -> Weight { (0 as Weight) - // Standard Error: 93_000 - .saturating_add((23_941_000 as Weight).saturating_mul(v as Weight)) - // Standard Error: 93_000 - .saturating_add((26_505_000 as Weight).saturating_mul(n as Weight)) - // Standard Error: 3_172_000 - .saturating_add((25_012_000 as Weight).saturating_mul(s as Weight)) + // Standard Error: 97_000 + .saturating_add((25_109_000 as Weight).saturating_mul(v as Weight)) + // Standard Error: 97_000 + .saturating_add((27_162_000 as Weight).saturating_mul(n as Weight)) + // Standard Error: 3_332_000 + .saturating_add((50_488_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(v as Weight))) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(n as Weight))) @@ -214,17 +214,17 @@ impl pallet_staking::WeightInfo for WeightInfo { fn get_npos_targets(v: u32, ) -> Weight { (0 as Weight) // Standard Error: 31_000 - .saturating_add((10_079_000 as Weight).saturating_mul(v as Weight)) + .saturating_add((10_220_000 as Weight).saturating_mul(v as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(v as Weight))) } fn set_staking_limits() -> Weight { - (4_524_000 as Weight) - .saturating_add(T::DbWeight::get().writes(4 as Weight)) + (5_584_000 as Weight) + .saturating_add(T::DbWeight::get().writes(5 as Weight)) } fn chill_other() -> Weight { - (30_191_000 as Weight) - .saturating_add(T::DbWeight::get().reads(5 as Weight)) + (39_524_000 as Weight) + .saturating_add(T::DbWeight::get().reads(7 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } } diff --git a/runtime/polkadot/src/weights/pallet_timestamp.rs b/runtime/polkadot/src/weights/pallet_timestamp.rs index 53a369db2f70..f3078196b93e 100644 --- a/runtime/polkadot/src/weights/pallet_timestamp.rs +++ b/runtime/polkadot/src/weights/pallet_timestamp.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_timestamp //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 128 // Executed Command: @@ -44,11 +44,11 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_timestamp::WeightInfo for WeightInfo { fn set() -> Weight { - (9_868_000 as Weight) + (9_886_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn on_finalize() -> Weight { - (4_337_000 as Weight) + (4_386_000 as Weight) } } diff --git a/runtime/polkadot/src/weights/pallet_tips.rs b/runtime/polkadot/src/weights/pallet_tips.rs index 157148b26101..c3315cc0f250 100644 --- a/runtime/polkadot/src/weights/pallet_tips.rs +++ b/runtime/polkadot/src/weights/pallet_tips.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_tips //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 128 // Executed Command: @@ -44,44 +44,44 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_tips::WeightInfo for WeightInfo { fn report_awesome(r: u32, ) -> Weight { - (45_075_000 as Weight) + (46_460_000 as Weight) // Standard Error: 0 - .saturating_add((1_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((2_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn retract_tip() -> Weight { - (42_197_000 as Weight) + (42_798_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn tip_new(r: u32, t: u32, ) -> Weight { - (27_673_000 as Weight) + (27_685_000 as Weight) // Standard Error: 0 .saturating_add((2_000 as Weight).saturating_mul(r as Weight)) // Standard Error: 0 - .saturating_add((117_000 as Weight).saturating_mul(t as Weight)) + .saturating_add((115_000 as Weight).saturating_mul(t as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn tip(t: u32, ) -> Weight { - (17_648_000 as Weight) + (18_081_000 as Weight) // Standard Error: 0 - .saturating_add((536_000 as Weight).saturating_mul(t as Weight)) + .saturating_add((565_000 as Weight).saturating_mul(t as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn close_tip(t: u32, ) -> Weight { - (77_210_000 as Weight) + (77_929_000 as Weight) // Standard Error: 0 - .saturating_add((301_000 as Weight).saturating_mul(t as Weight)) + .saturating_add((299_000 as Weight).saturating_mul(t as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn slash_tip(t: u32, ) -> Weight { - (22_593_000 as Weight) + (22_710_000 as Weight) // Standard Error: 0 - .saturating_add((6_000 as Weight).saturating_mul(t as Weight)) + .saturating_add((7_000 as Weight).saturating_mul(t as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } diff --git a/runtime/polkadot/src/weights/pallet_treasury.rs b/runtime/polkadot/src/weights/pallet_treasury.rs index 3b37e873709f..058cf2d845b9 100644 --- a/runtime/polkadot/src/weights/pallet_treasury.rs +++ b/runtime/polkadot/src/weights/pallet_treasury.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_treasury //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 128 // Executed Command: @@ -44,26 +44,26 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_treasury::WeightInfo for WeightInfo { fn propose_spend() -> Weight { - (37_918_000 as Weight) + (39_374_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn reject_proposal() -> Weight { - (47_245_000 as Weight) + (48_264_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn approve_proposal(p: u32, ) -> Weight { - (11_005_000 as Weight) + (11_245_000 as Weight) // Standard Error: 0 - .saturating_add((35_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((32_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn on_initialize_proposals(p: u32, ) -> Weight { - (38_570_000 as Weight) + (40_847_000 as Weight) // Standard Error: 15_000 - .saturating_add((56_410_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((56_748_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(p as Weight))) .saturating_add(T::DbWeight::get().writes(2 as Weight)) diff --git a/runtime/polkadot/src/weights/pallet_utility.rs b/runtime/polkadot/src/weights/pallet_utility.rs index 7c81ce2a7a6e..e760a508f063 100644 --- a/runtime/polkadot/src/weights/pallet_utility.rs +++ b/runtime/polkadot/src/weights/pallet_utility.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_utility //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 128 // Executed Command: @@ -44,16 +44,16 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_utility::WeightInfo for WeightInfo { fn batch(c: u32, ) -> Weight { - (13_742_000 as Weight) + (13_489_000 as Weight) // Standard Error: 0 - .saturating_add((607_000 as Weight).saturating_mul(c as Weight)) + .saturating_add((605_000 as Weight).saturating_mul(c as Weight)) } fn as_derivative() -> Weight { - (3_045_000 as Weight) + (3_230_000 as Weight) } fn batch_all(c: u32, ) -> Weight { - (13_513_000 as Weight) + (13_266_000 as Weight) // Standard Error: 0 - .saturating_add((1_026_000 as Weight).saturating_mul(c as Weight)) + .saturating_add((1_014_000 as Weight).saturating_mul(c as Weight)) } } diff --git a/runtime/polkadot/src/weights/pallet_vesting.rs b/runtime/polkadot/src/weights/pallet_vesting.rs index bfef0b12684d..03bbf926b8dd 100644 --- a/runtime/polkadot/src/weights/pallet_vesting.rs +++ b/runtime/polkadot/src/weights/pallet_vesting.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_vesting //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 128 // Executed Command: @@ -44,44 +44,44 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_vesting::WeightInfo for WeightInfo { fn vest_locked(l: u32, ) -> Weight { - (40_549_000 as Weight) - // Standard Error: 7_000 - .saturating_add((162_000 as Weight).saturating_mul(l as Weight)) + (41_282_000 as Weight) + // Standard Error: 14_000 + .saturating_add((225_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn vest_unlocked(l: u32, ) -> Weight { - (43_713_000 as Weight) - // Standard Error: 4_000 - .saturating_add((129_000 as Weight).saturating_mul(l as Weight)) + (44_048_000 as Weight) + // Standard Error: 10_000 + .saturating_add((192_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn vest_other_locked(l: u32, ) -> Weight { - (40_331_000 as Weight) - // Standard Error: 7_000 - .saturating_add((154_000 as Weight).saturating_mul(l as Weight)) + (40_722_000 as Weight) + // Standard Error: 17_000 + .saturating_add((242_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn vest_other_unlocked(l: u32, ) -> Weight { - (43_179_000 as Weight) - // Standard Error: 4_000 - .saturating_add((130_000 as Weight).saturating_mul(l as Weight)) + (43_752_000 as Weight) + // Standard Error: 14_000 + .saturating_add((215_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn vested_transfer(l: u32, ) -> Weight { - (92_890_000 as Weight) - // Standard Error: 5_000 - .saturating_add((156_000 as Weight).saturating_mul(l as Weight)) + (97_642_000 as Weight) + // Standard Error: 13_000 + .saturating_add((133_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn force_vested_transfer(l: u32, ) -> Weight { - (92_001_000 as Weight) - // Standard Error: 5_000 - .saturating_add((155_000 as Weight).saturating_mul(l as Weight)) + (97_119_000 as Weight) + // Standard Error: 13_000 + .saturating_add((124_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } diff --git a/runtime/polkadot/src/weights/runtime_common_claims.rs b/runtime/polkadot/src/weights/runtime_common_claims.rs index 3b5047ea9473..42d2b2f6d8eb 100644 --- a/runtime/polkadot/src/weights/runtime_common_claims.rs +++ b/runtime/polkadot/src/weights/runtime_common_claims.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for runtime_common::claims //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 128 // Executed Command: @@ -44,27 +44,27 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl runtime_common::claims::WeightInfo for WeightInfo { fn claim() -> Weight { - (435_155_000 as Weight) + (447_705_000 as Weight) .saturating_add(T::DbWeight::get().reads(7 as Weight)) .saturating_add(T::DbWeight::get().writes(6 as Weight)) } fn mint_claim() -> Weight { - (11_642_000 as Weight) + (11_995_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn claim_attest() -> Weight { - (437_198_000 as Weight) + (439_703_000 as Weight) .saturating_add(T::DbWeight::get().reads(7 as Weight)) .saturating_add(T::DbWeight::get().writes(6 as Weight)) } fn attest() -> Weight { - (124_628_000 as Weight) + (128_588_000 as Weight) .saturating_add(T::DbWeight::get().reads(8 as Weight)) .saturating_add(T::DbWeight::get().writes(7 as Weight)) } fn move_claim() -> Weight { - (25_441_000 as Weight) + (26_297_000 as Weight) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(7 as Weight)) } diff --git a/runtime/westend/src/weights/pallet_balances.rs b/runtime/westend/src/weights/pallet_balances.rs index 1fdbb034d67d..86f2121b4732 100644 --- a/runtime/westend/src/weights/pallet_balances.rs +++ b/runtime/westend/src/weights/pallet_balances.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_balances //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 128 // Executed Command: @@ -44,32 +44,32 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_balances::WeightInfo for WeightInfo { fn transfer() -> Weight { - (72_675_000 as Weight) + (73_094_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn transfer_keep_alive() -> Weight { - (53_454_000 as Weight) + (54_347_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_balance_creating() -> Weight { - (28_750_000 as Weight) + (29_223_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_balance_killing() -> Weight { - (35_013_000 as Weight) + (35_007_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn force_transfer() -> Weight { - (72_130_000 as Weight) + (72_492_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn transfer_all() -> Weight { - (66_281_000 as Weight) + (67_276_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } diff --git a/runtime/westend/src/weights/pallet_identity.rs b/runtime/westend/src/weights/pallet_identity.rs index 229eee38a0cb..1ca5dabd6ff2 100644 --- a/runtime/westend/src/weights/pallet_identity.rs +++ b/runtime/westend/src/weights/pallet_identity.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_identity //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-01, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 128 // Executed Command: @@ -44,133 +44,133 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_identity::WeightInfo for WeightInfo { fn add_registrar(r: u32, ) -> Weight { - (20_868_000 as Weight) + (20_852_000 as Weight) // Standard Error: 2_000 - .saturating_add((228_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((249_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_identity(r: u32, x: u32, ) -> Weight { - (50_889_000 as Weight) + (50_867_000 as Weight) // Standard Error: 14_000 - .saturating_add((193_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((216_000 as Weight).saturating_mul(r as Weight)) // Standard Error: 1_000 - .saturating_add((934_000 as Weight).saturating_mul(x as Weight)) + .saturating_add((948_000 as Weight).saturating_mul(x as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_subs_new(s: u32, ) -> Weight { - (39_392_000 as Weight) + (39_701_000 as Weight) // Standard Error: 1_000 - .saturating_add((6_164_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((6_376_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(s as Weight))) .saturating_add(T::DbWeight::get().writes(1 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight))) } fn set_subs_old(p: u32, ) -> Weight { - (40_206_000 as Weight) + (40_181_000 as Weight) // Standard Error: 0 - .saturating_add((2_006_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((2_045_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(p as Weight))) } fn clear_identity(r: u32, s: u32, x: u32, ) -> Weight { - (49_355_000 as Weight) - // Standard Error: 10_000 - .saturating_add((89_000 as Weight).saturating_mul(r as Weight)) - // Standard Error: 1_000 - .saturating_add((1_997_000 as Weight).saturating_mul(s as Weight)) - // Standard Error: 1_000 - .saturating_add((605_000 as Weight).saturating_mul(x as Weight)) + (48_884_000 as Weight) + // Standard Error: 6_000 + .saturating_add((140_000 as Weight).saturating_mul(r as Weight)) + // Standard Error: 0 + .saturating_add((2_052_000 as Weight).saturating_mul(s as Weight)) + // Standard Error: 0 + .saturating_add((607_000 as Weight).saturating_mul(x as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight))) } fn request_judgement(r: u32, x: u32, ) -> Weight { - (51_505_000 as Weight) - // Standard Error: 10_000 - .saturating_add((290_000 as Weight).saturating_mul(r as Weight)) - // Standard Error: 1_000 - .saturating_add((1_159_000 as Weight).saturating_mul(x as Weight)) + (52_661_000 as Weight) + // Standard Error: 5_000 + .saturating_add((250_000 as Weight).saturating_mul(r as Weight)) + // Standard Error: 0 + .saturating_add((1_172_000 as Weight).saturating_mul(x as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn cancel_request(r: u32, x: u32, ) -> Weight { - (48_609_000 as Weight) + (48_072_000 as Weight) // Standard Error: 7_000 - .saturating_add((132_000 as Weight).saturating_mul(r as Weight)) - // Standard Error: 1_000 - .saturating_add((1_141_000 as Weight).saturating_mul(x as Weight)) + .saturating_add((173_000 as Weight).saturating_mul(r as Weight)) + // Standard Error: 0 + .saturating_add((1_165_000 as Weight).saturating_mul(x as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_fee(r: u32, ) -> Weight { - (7_565_000 as Weight) - // Standard Error: 0 - .saturating_add((190_000 as Weight).saturating_mul(r as Weight)) + (7_817_000 as Weight) + // Standard Error: 1_000 + .saturating_add((220_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_account_id(r: u32, ) -> Weight { - (8_260_000 as Weight) + (8_397_000 as Weight) // Standard Error: 1_000 - .saturating_add((190_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((223_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_fields(r: u32, ) -> Weight { - (7_681_000 as Weight) + (7_854_000 as Weight) // Standard Error: 1_000 - .saturating_add((190_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((216_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn provide_judgement(r: u32, x: u32, ) -> Weight { - (33_891_000 as Weight) + (33_563_000 as Weight) // Standard Error: 5_000 - .saturating_add((230_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((232_000 as Weight).saturating_mul(r as Weight)) // Standard Error: 0 - .saturating_add((1_139_000 as Weight).saturating_mul(x as Weight)) + .saturating_add((1_168_000 as Weight).saturating_mul(x as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn kill_identity(r: u32, s: u32, _x: u32, ) -> Weight { - (50_289_000 as Weight) - // Standard Error: 6_000 - .saturating_add((63_000 as Weight).saturating_mul(r as Weight)) + (49_152_000 as Weight) + // Standard Error: 3_000 + .saturating_add((72_000 as Weight).saturating_mul(r as Weight)) // Standard Error: 0 - .saturating_add((1_985_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((2_043_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight))) } fn add_sub(s: u32, ) -> Weight { - (52_741_000 as Weight) + (53_373_000 as Weight) // Standard Error: 0 - .saturating_add((144_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((162_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn rename_sub(s: u32, ) -> Weight { - (15_775_000 as Weight) + (16_191_000 as Weight) // Standard Error: 0 - .saturating_add((22_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((19_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn remove_sub(s: u32, ) -> Weight { - (54_310_000 as Weight) + (54_328_000 as Weight) // Standard Error: 0 - .saturating_add((126_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((143_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn quit_sub(s: u32, ) -> Weight { - (33_162_000 as Weight) + (32_901_000 as Weight) // Standard Error: 0 - .saturating_add((125_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((145_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } diff --git a/runtime/westend/src/weights/pallet_im_online.rs b/runtime/westend/src/weights/pallet_im_online.rs index 862f896a5ffb..fc7cf81a9d40 100644 --- a/runtime/westend/src/weights/pallet_im_online.rs +++ b/runtime/westend/src/weights/pallet_im_online.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_im_online //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-02, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 128 // Executed Command: @@ -44,11 +44,11 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_im_online::WeightInfo for WeightInfo { fn validate_unsigned_and_then_heartbeat(k: u32, e: u32, ) -> Weight { - (88_602_000 as Weight) + (88_980_000 as Weight) // Standard Error: 0 - .saturating_add((169_000 as Weight).saturating_mul(k as Weight)) + .saturating_add((167_000 as Weight).saturating_mul(k as Weight)) // Standard Error: 1_000 - .saturating_add((325_000 as Weight).saturating_mul(e as Weight)) + .saturating_add((332_000 as Weight).saturating_mul(e as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } diff --git a/runtime/westend/src/weights/pallet_indices.rs b/runtime/westend/src/weights/pallet_indices.rs index ebab9cdc1950..8bb176f7ce2d 100644 --- a/runtime/westend/src/weights/pallet_indices.rs +++ b/runtime/westend/src/weights/pallet_indices.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_indices //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-02, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 128 // Executed Command: @@ -44,27 +44,27 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_indices::WeightInfo for WeightInfo { fn claim() -> Weight { - (38_980_000 as Weight) + (40_414_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn transfer() -> Weight { - (46_875_000 as Weight) + (48_770_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn free() -> Weight { - (38_813_000 as Weight) + (40_357_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn force_transfer() -> Weight { - (38_848_000 as Weight) + (40_846_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn freeze() -> Weight { - (36_403_000 as Weight) + (38_084_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } diff --git a/runtime/westend/src/weights/pallet_multisig.rs b/runtime/westend/src/weights/pallet_multisig.rs index c79ff762dab1..8dc861b508a8 100644 --- a/runtime/westend/src/weights/pallet_multisig.rs +++ b/runtime/westend/src/weights/pallet_multisig.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_multisig //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-02, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 128 // Executed Command: @@ -44,78 +44,78 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_threshold_1(_z: u32, ) -> Weight { - (10_239_000 as Weight) + (12_189_000 as Weight) } fn as_multi_create(s: u32, z: u32, ) -> Weight { - (50_062_000 as Weight) + (50_768_000 as Weight) // Standard Error: 0 - .saturating_add((88_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((106_000 as Weight).saturating_mul(s as Weight)) // Standard Error: 0 .saturating_add((1_000 as Weight).saturating_mul(z as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn as_multi_create_store(s: u32, z: u32, ) -> Weight { - (55_485_000 as Weight) + (56_293_000 as Weight) // Standard Error: 0 - .saturating_add((90_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((110_000 as Weight).saturating_mul(s as Weight)) // Standard Error: 0 .saturating_add((2_000 as Weight).saturating_mul(z as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn as_multi_approve(s: u32, z: u32, ) -> Weight { - (29_381_000 as Weight) + (29_281_000 as Weight) // Standard Error: 0 - .saturating_add((83_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((105_000 as Weight).saturating_mul(s as Weight)) // Standard Error: 0 .saturating_add((1_000 as Weight).saturating_mul(z as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn as_multi_approve_store(s: u32, z: u32, ) -> Weight { - (53_339_000 as Weight) + (53_770_000 as Weight) // Standard Error: 0 - .saturating_add((100_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((122_000 as Weight).saturating_mul(s as Weight)) // Standard Error: 0 .saturating_add((2_000 as Weight).saturating_mul(z as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn as_multi_complete(s: u32, z: u32, ) -> Weight { - (70_481_000 as Weight) + (70_625_000 as Weight) // Standard Error: 0 - .saturating_add((193_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((212_000 as Weight).saturating_mul(s as Weight)) // Standard Error: 0 .saturating_add((4_000 as Weight).saturating_mul(z as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn approve_as_multi_create(s: u32, ) -> Weight { - (49_991_000 as Weight) + (49_662_000 as Weight) // Standard Error: 0 - .saturating_add((86_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((107_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn approve_as_multi_approve(s: u32, ) -> Weight { - (28_369_000 as Weight) + (28_469_000 as Weight) // Standard Error: 0 - .saturating_add((87_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((107_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn approve_as_multi_complete(s: u32, ) -> Weight { - (121_416_000 as Weight) + (121_389_000 as Weight) // Standard Error: 0 - .saturating_add((196_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((212_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn cancel_as_multi(s: u32, ) -> Weight { - (87_265_000 as Weight) + (86_993_000 as Weight) // Standard Error: 0 - .saturating_add((90_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((102_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } diff --git a/runtime/westend/src/weights/pallet_proxy.rs b/runtime/westend/src/weights/pallet_proxy.rs index 3c649859aa49..e554547918f8 100644 --- a/runtime/westend/src/weights/pallet_proxy.rs +++ b/runtime/westend/src/weights/pallet_proxy.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_proxy //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-02, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 128 // Executed Command: @@ -44,75 +44,75 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_proxy::WeightInfo for WeightInfo { fn proxy(p: u32, ) -> Weight { - (24_799_000 as Weight) + (24_786_000 as Weight) // Standard Error: 1_000 - .saturating_add((132_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((133_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) } fn proxy_announced(a: u32, p: u32, ) -> Weight { - (56_202_000 as Weight) - // Standard Error: 6_000 - .saturating_add((502_000 as Weight).saturating_mul(a as Weight)) - // Standard Error: 7_000 - .saturating_add((68_000 as Weight).saturating_mul(p as Weight)) + (55_730_000 as Weight) + // Standard Error: 1_000 + .saturating_add((558_000 as Weight).saturating_mul(a as Weight)) + // Standard Error: 2_000 + .saturating_add((105_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn remove_announcement(a: u32, _p: u32, ) -> Weight { - (37_003_000 as Weight) + (37_947_000 as Weight) // Standard Error: 1_000 - .saturating_add((498_000 as Weight).saturating_mul(a as Weight)) + .saturating_add((560_000 as Weight).saturating_mul(a as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn reject_announcement(a: u32, _p: u32, ) -> Weight { - (36_932_000 as Weight) + (37_904_000 as Weight) // Standard Error: 1_000 - .saturating_add((499_000 as Weight).saturating_mul(a as Weight)) + .saturating_add((562_000 as Weight).saturating_mul(a as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn announce(a: u32, p: u32, ) -> Weight { - (50_165_000 as Weight) - // Standard Error: 1_000 - .saturating_add((499_000 as Weight).saturating_mul(a as Weight)) - // Standard Error: 1_000 - .saturating_add((118_000 as Weight).saturating_mul(p as Weight)) + (51_562_000 as Weight) + // Standard Error: 2_000 + .saturating_add((550_000 as Weight).saturating_mul(a as Weight)) + // Standard Error: 2_000 + .saturating_add((112_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn add_proxy(p: u32, ) -> Weight { - (35_416_000 as Weight) + (36_284_000 as Weight) // Standard Error: 1_000 - .saturating_add((191_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((223_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn remove_proxy(p: u32, ) -> Weight { - (35_237_000 as Weight) + (35_792_000 as Weight) // Standard Error: 2_000 - .saturating_add((216_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((249_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn remove_proxies(p: u32, ) -> Weight { - (33_872_000 as Weight) + (34_091_000 as Weight) // Standard Error: 1_000 - .saturating_add((134_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((136_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn anonymous(p: u32, ) -> Weight { - (47_651_000 as Weight) + (48_824_000 as Weight) // Standard Error: 1_000 - .saturating_add((27_000 as Weight).saturating_mul(p as Weight)) + .saturating_add((31_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn kill_anonymous(p: u32, ) -> Weight { - (35_319_000 as Weight) - // Standard Error: 1_000 - .saturating_add((137_000 as Weight).saturating_mul(p as Weight)) + (35_989_000 as Weight) + // Standard Error: 0 + .saturating_add((134_000 as Weight).saturating_mul(p as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } diff --git a/runtime/westend/src/weights/pallet_scheduler.rs b/runtime/westend/src/weights/pallet_scheduler.rs index 9629137d125f..d2c20742a91e 100644 --- a/runtime/westend/src/weights/pallet_scheduler.rs +++ b/runtime/westend/src/weights/pallet_scheduler.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_scheduler //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-02, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 128 // Executed Command: @@ -44,30 +44,30 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_scheduler::WeightInfo for WeightInfo { fn schedule(s: u32, ) -> Weight { - (27_538_000 as Weight) + (28_493_000 as Weight) // Standard Error: 0 - .saturating_add((42_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((39_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn cancel(s: u32, ) -> Weight { - (26_898_000 as Weight) + (27_793_000 as Weight) // Standard Error: 14_000 - .saturating_add((3_721_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((6_333_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn schedule_named(s: u32, ) -> Weight { - (33_405_000 as Weight) + (34_482_000 as Weight) // Standard Error: 1_000 - .saturating_add((58_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((56_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn cancel_named(s: u32, ) -> Weight { - (28_566_000 as Weight) + (29_087_000 as Weight) // Standard Error: 14_000 - .saturating_add((3_731_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((6_341_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } diff --git a/runtime/westend/src/weights/pallet_session.rs b/runtime/westend/src/weights/pallet_session.rs index 862dff0cc69b..4c2118257018 100644 --- a/runtime/westend/src/weights/pallet_session.rs +++ b/runtime/westend/src/weights/pallet_session.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_session //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-02, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 128 // Executed Command: @@ -44,12 +44,12 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_session::WeightInfo for WeightInfo { fn set_keys() -> Weight { - (71_267_000 as Weight) + (71_585_000 as Weight) .saturating_add(T::DbWeight::get().reads(8 as Weight)) .saturating_add(T::DbWeight::get().writes(7 as Weight)) } fn purge_keys() -> Weight { - (39_990_000 as Weight) + (40_032_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(7 as Weight)) } diff --git a/runtime/westend/src/weights/pallet_staking.rs b/runtime/westend/src/weights/pallet_staking.rs index 2a1067ea3512..75c3078a1712 100644 --- a/runtime/westend/src/weights/pallet_staking.rs +++ b/runtime/westend/src/weights/pallet_staking.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_staking //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-02, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 128 // Executed Command: @@ -44,154 +44,154 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_staking::WeightInfo for WeightInfo { fn bond() -> Weight { - (69_787_000 as Weight) + (71_835_000 as Weight) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn bond_extra() -> Weight { - (53_774_000 as Weight) + (54_894_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn unbond() -> Weight { - (57_805_000 as Weight) + (59_419_000 as Weight) .saturating_add(T::DbWeight::get().reads(6 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn withdraw_unbonded_update(s: u32, ) -> Weight { - (49_787_000 as Weight) + (50_384_000 as Weight) // Standard Error: 0 - .saturating_add((23_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((26_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn withdraw_unbonded_kill(s: u32, ) -> Weight { - (81_664_000 as Weight) + (82_905_000 as Weight) // Standard Error: 1_000 - .saturating_add((2_238_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((2_287_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(8 as Weight)) .saturating_add(T::DbWeight::get().writes(6 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight))) } fn validate() -> Weight { - (31_287_000 as Weight) + (33_672_000 as Weight) .saturating_add(T::DbWeight::get().reads(6 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn kick(k: u32, ) -> Weight { - (10_445_000 as Weight) - // Standard Error: 9_000 - .saturating_add((16_845_000 as Weight).saturating_mul(k as Weight)) + (11_371_000 as Weight) + // Standard Error: 7_000 + .saturating_add((16_959_000 as Weight).saturating_mul(k as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(k as Weight))) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(k as Weight))) } fn nominate(n: u32, ) -> Weight { - (38_344_000 as Weight) - // Standard Error: 15_000 - .saturating_add((5_321_000 as Weight).saturating_mul(n as Weight)) + (40_353_000 as Weight) + // Standard Error: 12_000 + .saturating_add((5_341_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(7 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(n as Weight))) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn chill() -> Weight { - (17_221_000 as Weight) + (17_740_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) } fn set_payee() -> Weight { - (11_371_000 as Weight) + (11_624_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_controller() -> Weight { - (25_217_000 as Weight) + (25_480_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn set_validator_count() -> Weight { - (2_092_000 as Weight) + (2_082_000 as Weight) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn force_no_eras() -> Weight { - (2_339_000 as Weight) + (2_311_000 as Weight) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn force_new_era() -> Weight { - (2_359_000 as Weight) + (2_282_000 as Weight) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn force_new_era_always() -> Weight { - (2_324_000 as Weight) + (2_230_000 as Weight) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn set_invulnerables(v: u32, ) -> Weight { - (2_318_000 as Weight) + (2_352_000 as Weight) // Standard Error: 0 - .saturating_add((5_000 as Weight).saturating_mul(v as Weight)) + .saturating_add((27_000 as Weight).saturating_mul(v as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn force_unstake(s: u32, ) -> Weight { - (57_794_000 as Weight) + (58_375_000 as Weight) // Standard Error: 1_000 - .saturating_add((2_215_000 as Weight).saturating_mul(s as Weight)) + .saturating_add((2_282_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(6 as Weight)) .saturating_add(T::DbWeight::get().writes(6 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight))) } fn cancel_deferred_slash(s: u32, ) -> Weight { - (3_389_533_000 as Weight) - // Standard Error: 221_000 - .saturating_add((19_801_000 as Weight).saturating_mul(s as Weight)) + (3_430_757_000 as Weight) + // Standard Error: 222_000 + .saturating_add((19_760_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn payout_stakers_dead_controller(n: u32, ) -> Weight { - (106_909_000 as Weight) - // Standard Error: 39_000 - .saturating_add((47_300_000 as Weight).saturating_mul(n as Weight)) + (103_686_000 as Weight) + // Standard Error: 17_000 + .saturating_add((47_044_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(10 as Weight)) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(n as Weight))) .saturating_add(T::DbWeight::get().writes(2 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(n as Weight))) } fn payout_stakers_alive_staked(n: u32, ) -> Weight { - (132_392_000 as Weight) - // Standard Error: 36_000 - .saturating_add((58_988_000 as Weight).saturating_mul(n as Weight)) + (128_168_000 as Weight) + // Standard Error: 21_000 + .saturating_add((59_293_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(11 as Weight)) .saturating_add(T::DbWeight::get().reads((5 as Weight).saturating_mul(n as Weight))) .saturating_add(T::DbWeight::get().writes(3 as Weight)) .saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(n as Weight))) } fn rebond(l: u32, ) -> Weight { - (46_661_000 as Weight) + (46_916_000 as Weight) // Standard Error: 1_000 - .saturating_add((67_000 as Weight).saturating_mul(l as Weight)) + .saturating_add((64_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn set_history_depth(e: u32, ) -> Weight { (0 as Weight) - // Standard Error: 65_000 - .saturating_add((33_444_000 as Weight).saturating_mul(e as Weight)) + // Standard Error: 63_000 + .saturating_add((33_032_000 as Weight).saturating_mul(e as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) .saturating_add(T::DbWeight::get().writes((7 as Weight).saturating_mul(e as Weight))) } fn reap_stash(s: u32, ) -> Weight { - (68_870_000 as Weight) - // Standard Error: 0 - .saturating_add((2_211_000 as Weight).saturating_mul(s as Weight)) + (69_690_000 as Weight) + // Standard Error: 1_000 + .saturating_add((2_271_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(7 as Weight)) .saturating_add(T::DbWeight::get().writes(8 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight))) } fn new_era(v: u32, n: u32, ) -> Weight { (0 as Weight) - // Standard Error: 909_000 - .saturating_add((300_182_000 as Weight).saturating_mul(v as Weight)) - // Standard Error: 45_000 - .saturating_add((48_335_000 as Weight).saturating_mul(n as Weight)) + // Standard Error: 787_000 + .saturating_add((310_720_000 as Weight).saturating_mul(v as Weight)) + // Standard Error: 39_000 + .saturating_add((48_687_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(10 as Weight)) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(v as Weight))) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(n as Weight))) @@ -200,12 +200,12 @@ impl pallet_staking::WeightInfo for WeightInfo { } fn get_npos_voters(v: u32, n: u32, s: u32, ) -> Weight { (0 as Weight) - // Standard Error: 97_000 - .saturating_add((26_275_000 as Weight).saturating_mul(v as Weight)) - // Standard Error: 97_000 - .saturating_add((28_529_000 as Weight).saturating_mul(n as Weight)) - // Standard Error: 3_318_000 - .saturating_add((53_298_000 as Weight).saturating_mul(s as Weight)) + // Standard Error: 110_000 + .saturating_add((25_641_000 as Weight).saturating_mul(v as Weight)) + // Standard Error: 110_000 + .saturating_add((27_889_000 as Weight).saturating_mul(n as Weight)) + // Standard Error: 3_749_000 + .saturating_add((15_769_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(v as Weight))) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(n as Weight))) @@ -213,18 +213,18 @@ impl pallet_staking::WeightInfo for WeightInfo { } fn get_npos_targets(v: u32, ) -> Weight { (0 as Weight) - // Standard Error: 32_000 - .saturating_add((10_999_000 as Weight).saturating_mul(v as Weight)) + // Standard Error: 36_000 + .saturating_add((10_960_000 as Weight).saturating_mul(v as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(v as Weight))) } fn set_staking_limits() -> Weight { - (4_846_000 as Weight) - .saturating_add(T::DbWeight::get().writes(4 as Weight)) + (5_696_000 as Weight) + .saturating_add(T::DbWeight::get().writes(5 as Weight)) } fn chill_other() -> Weight { - (32_703_000 as Weight) - .saturating_add(T::DbWeight::get().reads(5 as Weight)) + (41_216_000 as Weight) + .saturating_add(T::DbWeight::get().reads(7 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } } diff --git a/runtime/westend/src/weights/pallet_timestamp.rs b/runtime/westend/src/weights/pallet_timestamp.rs index 577bcc8f8612..ecf0ac9bc1b6 100644 --- a/runtime/westend/src/weights/pallet_timestamp.rs +++ b/runtime/westend/src/weights/pallet_timestamp.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_timestamp //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-02, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 128 // Executed Command: @@ -44,7 +44,7 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_timestamp::WeightInfo for WeightInfo { fn set() -> Weight { - (9_227_000 as Weight) + (9_647_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } diff --git a/runtime/westend/src/weights/pallet_utility.rs b/runtime/westend/src/weights/pallet_utility.rs index 1471eacbc250..8ee0f466139c 100644 --- a/runtime/westend/src/weights/pallet_utility.rs +++ b/runtime/westend/src/weights/pallet_utility.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_utility //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-02, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 128 // Executed Command: @@ -44,16 +44,16 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_utility::WeightInfo for WeightInfo { fn batch(c: u32, ) -> Weight { - (15_158_000 as Weight) + (15_136_000 as Weight) // Standard Error: 0 - .saturating_add((2_641_000 as Weight).saturating_mul(c as Weight)) + .saturating_add((2_640_000 as Weight).saturating_mul(c as Weight)) } fn as_derivative() -> Weight { - (5_540_000 as Weight) + (5_428_000 as Weight) } fn batch_all(c: u32, ) -> Weight { - (17_590_000 as Weight) + (16_887_000 as Weight) // Standard Error: 0 - .saturating_add((3_269_000 as Weight).saturating_mul(c as Weight)) + .saturating_add((3_091_000 as Weight).saturating_mul(c as Weight)) } } diff --git a/runtime/westend/src/weights/pallet_vesting.rs b/runtime/westend/src/weights/pallet_vesting.rs index c0fa7850babd..4d6fb8a75bea 100644 --- a/runtime/westend/src/weights/pallet_vesting.rs +++ b/runtime/westend/src/weights/pallet_vesting.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for pallet_vesting //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-02, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 128 // Executed Command: @@ -44,44 +44,44 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_vesting::WeightInfo for WeightInfo { fn vest_locked(l: u32, ) -> Weight { - (40_663_000 as Weight) - // Standard Error: 20_000 - .saturating_add((232_000 as Weight).saturating_mul(l as Weight)) + (42_241_000 as Weight) + // Standard Error: 13_000 + .saturating_add((220_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn vest_unlocked(l: u32, ) -> Weight { - (44_310_000 as Weight) - // Standard Error: 11_000 - .saturating_add((172_000 as Weight).saturating_mul(l as Weight)) + (45_263_000 as Weight) + // Standard Error: 10_000 + .saturating_add((188_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn vest_other_locked(l: u32, ) -> Weight { - (40_981_000 as Weight) - // Standard Error: 19_000 - .saturating_add((218_000 as Weight).saturating_mul(l as Weight)) + (41_538_000 as Weight) + // Standard Error: 17_000 + .saturating_add((239_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn vest_other_unlocked(l: u32, ) -> Weight { - (43_731_000 as Weight) - // Standard Error: 16_000 - .saturating_add((194_000 as Weight).saturating_mul(l as Weight)) + (44_715_000 as Weight) + // Standard Error: 13_000 + .saturating_add((207_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn vested_transfer(l: u32, ) -> Weight { - (96_952_000 as Weight) - // Standard Error: 15_000 - .saturating_add((206_000 as Weight).saturating_mul(l as Weight)) + (100_413_000 as Weight) + // Standard Error: 13_000 + .saturating_add((103_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn force_vested_transfer(l: u32, ) -> Weight { - (96_519_000 as Weight) - // Standard Error: 15_000 - .saturating_add((204_000 as Weight).saturating_mul(l as Weight)) + (99_525_000 as Weight) + // Standard Error: 13_000 + .saturating_add((108_000 as Weight).saturating_mul(l as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } diff --git a/runtime/westend/src/weights/runtime_common_auctions.rs b/runtime/westend/src/weights/runtime_common_auctions.rs index c4d398faacd3..808be370df6c 100644 --- a/runtime/westend/src/weights/runtime_common_auctions.rs +++ b/runtime/westend/src/weights/runtime_common_auctions.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for runtime_common::auctions //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-24, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-02, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 128 // Executed Command: @@ -31,7 +31,7 @@ // --wasm-execution=compiled // --heap-pages=4096 // --header=./file_header.txt -// --output=./runtime/westend/src/weights/runtime_common_auctions.rs +// --output=./runtime/westend/src/weights/ #![allow(unused_parens)] @@ -44,22 +44,22 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl runtime_common::auctions::WeightInfo for WeightInfo { fn new_auction() -> Weight { - (29_966_000 as Weight) + (22_995_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn bid() -> Weight { - (152_563_000 as Weight) + (129_219_000 as Weight) .saturating_add(T::DbWeight::get().reads(8 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn on_initialize() -> Weight { - (32_736_787_000 as Weight) + (23_099_346_000 as Weight) .saturating_add(T::DbWeight::get().reads(3688 as Weight)) .saturating_add(T::DbWeight::get().writes(3683 as Weight)) } fn cancel_auction() -> Weight { - (7_057_595_000 as Weight) + (4_847_229_000 as Weight) .saturating_add(T::DbWeight::get().reads(73 as Weight)) .saturating_add(T::DbWeight::get().writes(3673 as Weight)) } diff --git a/runtime/westend/src/weights/runtime_common_crowdloan.rs b/runtime/westend/src/weights/runtime_common_crowdloan.rs index 060e481ed66e..23a9f78b6374 100644 --- a/runtime/westend/src/weights/runtime_common_crowdloan.rs +++ b/runtime/westend/src/weights/runtime_common_crowdloan.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for runtime_common::crowdloan //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-24, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-02, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 128 // Executed Command: @@ -31,7 +31,7 @@ // --wasm-execution=compiled // --heap-pages=4096 // --header=./file_header.txt -// --output=./runtime/westend/src/weights/runtime_common_crowdloan.rs +// --output=./runtime/westend/src/weights/ #![allow(unused_parens)] @@ -44,53 +44,53 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl runtime_common::crowdloan::WeightInfo for WeightInfo { fn create() -> Weight { - (95_715_000 as Weight) + (82_435_000 as Weight) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } fn contribute() -> Weight { - (500_788_000 as Weight) + (267_367_000 as Weight) .saturating_add(T::DbWeight::get().reads(7 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn withdraw() -> Weight { - (127_448_000 as Weight) + (106_591_000 as Weight) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn refund(k: u32, ) -> Weight { (0 as Weight) - // Standard Error: 53_000 - .saturating_add((56_113_000 as Weight).saturating_mul(k as Weight)) + // Standard Error: 28_000 + .saturating_add((44_792_000 as Weight).saturating_mul(k as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().reads((2 as Weight).saturating_mul(k as Weight))) .saturating_add(T::DbWeight::get().writes(2 as Weight)) .saturating_add(T::DbWeight::get().writes((2 as Weight).saturating_mul(k as Weight))) } fn dissolve() -> Weight { - (71_359_000 as Weight) + (61_912_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn edit() -> Weight { - (43_194_000 as Weight) + (38_032_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn add_memo() -> Weight { - (65_648_000 as Weight) + (52_847_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn poke() -> Weight { - (51_082_000 as Weight) + (41_461_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn on_initialize(n: u32, ) -> Weight { (0 as Weight) - // Standard Error: 31_000 - .saturating_add((134_501_000 as Weight).saturating_mul(n as Weight)) + // Standard Error: 20_000 + .saturating_add((108_965_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().reads((5 as Weight).saturating_mul(n as Weight))) .saturating_add(T::DbWeight::get().writes(3 as Weight)) diff --git a/runtime/westend/src/weights/runtime_common_paras_registrar.rs b/runtime/westend/src/weights/runtime_common_paras_registrar.rs index 3526923a7d21..aeb93ac07430 100644 --- a/runtime/westend/src/weights/runtime_common_paras_registrar.rs +++ b/runtime/westend/src/weights/runtime_common_paras_registrar.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for runtime_common::paras_registrar //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-21, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-02, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 128 // Executed Command: @@ -31,7 +31,7 @@ // --wasm-execution=compiled // --heap-pages=4096 // --header=./file_header.txt -// --output=./runtime/westend/src/weights/runtime_common_paras_registrar.rs +// --output=./runtime/westend/src/weights/ #![allow(unused_parens)] @@ -44,27 +44,27 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl runtime_common::paras_registrar::WeightInfo for WeightInfo { fn reserve() -> Weight { - (58_328_000 as Weight) + (49_034_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn register() -> Weight { - (4_162_851_000 as Weight) + (4_178_287_000 as Weight) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn force_register() -> Weight { - (4_141_674_000 as Weight) + (4_156_439_000 as Weight) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn deregister() -> Weight { - (91_960_000 as Weight) + (82_728_000 as Weight) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } fn swap() -> Weight { - (79_489_000 as Weight) + (68_944_000 as Weight) .saturating_add(T::DbWeight::get().reads(10 as Weight)) .saturating_add(T::DbWeight::get().writes(8 as Weight)) } diff --git a/runtime/westend/src/weights/runtime_common_slots.rs b/runtime/westend/src/weights/runtime_common_slots.rs index 4a9f022327e3..6c886e7f0070 100644 --- a/runtime/westend/src/weights/runtime_common_slots.rs +++ b/runtime/westend/src/weights/runtime_common_slots.rs @@ -16,7 +16,7 @@ //! Autogenerated weights for runtime_common::slots //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-25, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-07-02, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 128 // Executed Command: @@ -31,7 +31,7 @@ // --wasm-execution=compiled // --heap-pages=4096 // --header=./file_header.txt -// --output=./runtime/westend/src/weights/runtime_common_slots.rs +// --output=./runtime/westend/src/weights/ #![allow(unused_parens)] @@ -44,16 +44,16 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl runtime_common::slots::WeightInfo for WeightInfo { fn force_lease() -> Weight { - (53_939_000 as Weight) + (45_355_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } fn manage_lease_period_start(c: u32, t: u32, ) -> Weight { (0 as Weight) - // Standard Error: 37_000 - .saturating_add((19_723_000 as Weight).saturating_mul(c as Weight)) - // Standard Error: 37_000 - .saturating_add((42_186_000 as Weight).saturating_mul(t as Weight)) + // Standard Error: 16_000 + .saturating_add((16_002_000 as Weight).saturating_mul(c as Weight)) + // Standard Error: 16_000 + .saturating_add((33_337_000 as Weight).saturating_mul(t as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(c as Weight))) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(t as Weight))) @@ -62,12 +62,12 @@ impl runtime_common::slots::WeightInfo for WeightInfo Weight { - (249_570_000 as Weight) + (191_822_000 as Weight) .saturating_add(T::DbWeight::get().reads(9 as Weight)) .saturating_add(T::DbWeight::get().writes(9 as Weight)) } fn trigger_onboard() -> Weight { - (49_692_000 as Weight) + (40_822_000 as Weight) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } diff --git a/scripts/run_all_benches.sh b/scripts/run_all_benches.sh new file mode 100755 index 000000000000..cfbaab233e84 --- /dev/null +++ b/scripts/run_all_benches.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +# Runs all benchmarks for all pallets, for each of the runtimes specified below +# Should be run on a reference machine to gain accurate benchmarks +# current reference machine: https://github.com/paritytech/substrate/pull/5848 + +runtimes=( + polkadot + kusama + westend +) + +# cargo build --locked --release +for runtime in "${runtimes[@]}"; do + cargo +nightly run --release --features=runtime-benchmarks --locked benchmark --chain "${runtime}-dev" --execution=wasm --wasm-execution=compiled --pallet "*" --extrinsic "*" --repeat 0 | sed -r -e 's/Pallet: "([a-z_:]+)".*/\1/' | uniq | grep -v frame_system > "${runtime}_pallets" + while read -r line; do + pallet="$(echo "$line" | cut -d' ' -f1)"; + echo "Runtime: $runtime. Pallet: $pallet"; + cargo +nightly run --release --features=runtime-benchmarks -- benchmark --chain="${runtime}-dev" --steps=50 --repeat=20 --pallet="$pallet" --extrinsic="*" --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output="./runtime/${runtime}/src/weights/${pallet/::/_}.rs" + done < "${runtime}_pallets" + rm "${runtime}_pallets" +done From 6cc70a8a3fe52009b4628c2eca942a337f45cd6f Mon Sep 17 00:00:00 2001 From: Robert Habermeier Date: Tue, 6 Jul 2021 16:00:52 -0500 Subject: [PATCH 18/23] Chain Selection: Follow-ups (#3328) * DB skeleton * key formats * lexicographic test * custom types for DB * implement backend for db-v1 * remove VoidBackend and integrate with real DbBackend * detect stagnant blocks on in interval * fix tests * add tests for stagnant * send ChainSelectionMessage::Approved * tests for DB backend * unused import * upgrade kvdb-memorydb Co-authored-by: Andronik Ordian --- Cargo.lock | 2 + .../approval-voting/src/approval_db/v1/mod.rs | 19 +- .../src/approval_db/v1/tests.rs | 6 +- node/core/approval-voting/src/import.rs | 19 +- node/core/approval-voting/src/lib.rs | 7 +- node/core/approval-voting/src/tests.rs | 21 +- node/core/chain-selection/Cargo.toml | 2 + .../chain-selection/src/db_backend/mod.rs | 19 + .../core/chain-selection/src/db_backend/v1.rs | 668 ++++++++++++++++++ node/core/chain-selection/src/lib.rs | 290 +++++--- node/core/chain-selection/src/tests.rs | 445 +++++++++++- node/core/chain-selection/src/tree.rs | 7 +- 12 files changed, 1357 insertions(+), 148 deletions(-) create mode 100644 node/core/chain-selection/src/db_backend/mod.rs create mode 100644 node/core/chain-selection/src/db_backend/v1.rs diff --git a/Cargo.lock b/Cargo.lock index 3496afc6e7e4..ac5849410dbf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6176,7 +6176,9 @@ version = "0.1.0" dependencies = [ "assert_matches", "futures 0.3.15", + "futures-timer 3.0.2", "kvdb", + "kvdb-memorydb", "parity-scale-codec", "parking_lot 0.11.1", "polkadot-node-primitives", diff --git a/node/core/approval-voting/src/approval_db/v1/mod.rs b/node/core/approval-voting/src/approval_db/v1/mod.rs index 27960eb29211..f6307a8b5a1e 100644 --- a/node/core/approval-voting/src/approval_db/v1/mod.rs +++ b/node/core/approval-voting/src/approval_db/v1/mod.rs @@ -423,17 +423,21 @@ pub(crate) fn add_block_entry( /// Forcibly approve all candidates included at up to the given relay-chain height in the indicated /// chain. +/// +/// Returns a list of block hashes that were not approved and are now. pub fn force_approve( store: &dyn KeyValueDB, db_config: Config, chain_head: Hash, up_to: BlockNumber, -) -> Result<()> { +) -> Result> { enum State { WalkTo, Approving, } + let mut approved_hashes = Vec::new(); + let mut cur_hash = chain_head; let mut state = State::WalkTo; @@ -452,13 +456,20 @@ pub fn force_approve( match state { State::WalkTo => {}, State::Approving => { - entry.approved_bitfield.iter_mut().for_each(|mut b| *b = true); - tx.put_block_entry(entry); + let is_approved = entry.approved_bitfield.count_ones() + == entry.approved_bitfield.len(); + + if !is_approved { + entry.approved_bitfield.iter_mut().for_each(|mut b| *b = true); + approved_hashes.push(entry.block_hash); + tx.put_block_entry(entry); + } } } } - tx.write(store) + tx.write(store)?; + Ok(approved_hashes) } /// Return all blocks which have entries in the DB, ascending, by height. diff --git a/node/core/approval-voting/src/approval_db/v1/tests.rs b/node/core/approval-voting/src/approval_db/v1/tests.rs index 71c4d3c47e29..d0056cd98d9e 100644 --- a/node/core/approval-voting/src/approval_db/v1/tests.rs +++ b/node/core/approval-voting/src/approval_db/v1/tests.rs @@ -534,7 +534,7 @@ fn force_approve_works() { ).unwrap(); } - force_approve(&store, TEST_CONFIG, block_hash_d, 2).unwrap(); + let approved_hashes = force_approve(&store, TEST_CONFIG, block_hash_d, 2).unwrap(); assert!(load_block_entry( &store, @@ -556,6 +556,10 @@ fn force_approve_works() { &TEST_CONFIG, &block_hash_d, ).unwrap().unwrap().approved_bitfield.not_any()); + assert_eq!( + approved_hashes, + vec![block_hash_b, block_hash_a], + ); } #[test] diff --git a/node/core/approval-voting/src/import.rs b/node/core/approval-voting/src/import.rs index bcb59f6ba7b0..6cdbfe8550ab 100644 --- a/node/core/approval-voting/src/import.rs +++ b/node/core/approval-voting/src/import.rs @@ -31,6 +31,7 @@ use polkadot_node_subsystem::{ messages::{ RuntimeApiMessage, RuntimeApiRequest, ChainApiMessage, ApprovalDistributionMessage, + ChainSelectionMessage, }, SubsystemContext, SubsystemError, SubsystemResult, }; @@ -462,10 +463,16 @@ pub(crate) async fn handle_new_head( result.len(), ); } + result } }; + // If all bits are already set, then send an approve message. + if approved_bitfield.count_ones() == approved_bitfield.len() { + ctx.send_message(ChainSelectionMessage::Approved(block_hash).into()).await; + } + let block_entry = approval_db::v1::BlockEntry { block_hash, parent_hash: block_header.parent_hash, @@ -487,8 +494,18 @@ pub(crate) async fn handle_new_head( "Enacting force-approve", ); - approval_db::v1::force_approve(db_writer, db_config, block_hash, up_to) + let approved_hashes = approval_db::v1::force_approve( + db_writer, + db_config, + block_hash, + up_to, + ) .map_err(|e| SubsystemError::with_origin("approval-voting", e))?; + + // Notify chain-selection of all approved hashes. + for hash in approved_hashes { + ctx.send_message(ChainSelectionMessage::Approved(hash).into()).await; + } } tracing::trace!( diff --git a/node/core/approval-voting/src/lib.rs b/node/core/approval-voting/src/lib.rs index 54943c40b660..28cc1ca6a709 100644 --- a/node/core/approval-voting/src/lib.rs +++ b/node/core/approval-voting/src/lib.rs @@ -26,7 +26,7 @@ use polkadot_node_subsystem::{ AssignmentCheckError, AssignmentCheckResult, ApprovalCheckError, ApprovalCheckResult, ApprovalVotingMessage, RuntimeApiMessage, RuntimeApiRequest, ChainApiMessage, ApprovalDistributionMessage, CandidateValidationMessage, - AvailabilityRecoveryMessage, + AvailabilityRecoveryMessage, ChainSelectionMessage, }, errors::RecoveryError, Subsystem, SubsystemContext, SubsystemError, SubsystemResult, SpawnedSubsystem, @@ -717,6 +717,7 @@ enum Action { candidate: CandidateReceipt, backing_group: GroupIndex, }, + NoteApprovedInChainSelection(Hash), IssueApproval(CandidateHash, ApprovalVoteRequest), BecomeActive, Conclude, @@ -962,6 +963,9 @@ async fn handle_actions( Some(_) => {}, } } + Action::NoteApprovedInChainSelection(block_hash) => { + ctx.send_message(ChainSelectionMessage::Approved(block_hash).into()).await; + } Action::BecomeActive => { *mode = Mode::Active; @@ -1805,6 +1809,7 @@ fn import_checked_approval( if is_block_approved && !was_block_approved { metrics.on_block_approved(status.tranche_now as _); + actions.push(Action::NoteApprovedInChainSelection(block_hash)); } actions.push(Action::WriteBlockEntry(block_entry)); diff --git a/node/core/approval-voting/src/tests.rs b/node/core/approval-voting/src/tests.rs index 5603c362fd24..84006478bd85 100644 --- a/node/core/approval-voting/src/tests.rs +++ b/node/core/approval-voting/src/tests.rs @@ -850,6 +850,14 @@ fn import_checked_approval_updates_entries_and_schedules() { assert_matches!( actions.get(0).unwrap(), + Action::NoteApprovedInChainSelection(h) => { + assert_eq!(h, &block_hash); + } + ); + + + assert_matches!( + actions.get(1).unwrap(), Action::WriteBlockEntry(b_entry) => { assert_eq!(b_entry.block_hash(), block_hash); assert!(b_entry.is_fully_approved()); @@ -857,7 +865,7 @@ fn import_checked_approval_updates_entries_and_schedules() { } ); assert_matches!( - actions.get_mut(1).unwrap(), + actions.get_mut(2).unwrap(), Action::WriteCandidateEntry(c_hash, ref mut c_entry) => { assert_eq!(c_hash, &candidate_hash); assert!(c_entry.approval_entry(&block_hash).unwrap().is_approved()); @@ -1391,9 +1399,16 @@ fn import_checked_approval_sets_one_block_bit_at_a_time() { ApprovalSource::Remote(validator_index_b), ); - assert_eq!(actions.len(), 2); + assert_eq!(actions.len(), 3); assert_matches!( actions.get(0).unwrap(), + Action::NoteApprovedInChainSelection(h) => { + assert_eq!(h, &block_hash); + } + ); + + assert_matches!( + actions.get(1).unwrap(), Action::WriteBlockEntry(b_entry) => { assert_eq!(b_entry.block_hash(), block_hash); assert!(b_entry.is_fully_approved()); @@ -1403,7 +1418,7 @@ fn import_checked_approval_sets_one_block_bit_at_a_time() { ); assert_matches!( - actions.get(1).unwrap(), + actions.get(2).unwrap(), Action::WriteCandidateEntry(c_h, c_entry) => { assert_eq!(c_h, &candidate_hash_2); assert!(c_entry.approval_entry(&block_hash).unwrap().is_approved()); diff --git a/node/core/chain-selection/Cargo.toml b/node/core/chain-selection/Cargo.toml index 53e74cf883a1..f6b42a2bec47 100644 --- a/node/core/chain-selection/Cargo.toml +++ b/node/core/chain-selection/Cargo.toml @@ -7,6 +7,7 @@ edition = "2018" [dependencies] futures = "0.3.15" +futures-timer = "3" tracing = "0.1.26" polkadot-primitives = { path = "../../../primitives" } polkadot-node-primitives = { path = "../../primitives" } @@ -21,3 +22,4 @@ polkadot-node-subsystem-test-helpers = { path = "../../subsystem-test-helpers" } sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" } parking_lot = "0.11" assert_matches = "1" +kvdb-memorydb = "0.10.0" diff --git a/node/core/chain-selection/src/db_backend/mod.rs b/node/core/chain-selection/src/db_backend/mod.rs new file mode 100644 index 000000000000..66e61426b738 --- /dev/null +++ b/node/core/chain-selection/src/db_backend/mod.rs @@ -0,0 +1,19 @@ +// Copyright 2021 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! A database [`Backend`][crate::backend::Backend] for the chain selection subsystem. + +pub(super) mod v1; diff --git a/node/core/chain-selection/src/db_backend/v1.rs b/node/core/chain-selection/src/db_backend/v1.rs new file mode 100644 index 000000000000..6aea4af8c136 --- /dev/null +++ b/node/core/chain-selection/src/db_backend/v1.rs @@ -0,0 +1,668 @@ +// Copyright 2021 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! A database [`Backend`][crate::backend::Backend] for the chain selection subsystem. +//! +//! This stores the following schema: +//! +//! ```ignore +//! ("CS_block_entry", Hash) -> BlockEntry; +//! ("CS_block_height", BigEndianBlockNumber) -> Vec; +//! ("CS_stagnant_at", BigEndianTimestamp) -> Vec; +//! ("CS_leaves") -> LeafEntrySet; +//! ``` +//! +//! The big-endian encoding is used for creating iterators over the key-value DB which are +//! accessible by prefix, to find the earlist block number stored as well as the all stagnant +//! blocks. +//! +//! The `Vec`s stored are always non-empty. Empty `Vec`s are not stored on disk so there is no +//! semantic difference between `None` and an empty `Vec`. + +use crate::backend::{Backend, BackendWriteOp}; +use crate::Error; + +use polkadot_primitives::v1::{BlockNumber, Hash}; +use polkadot_node_primitives::BlockWeight; + +use kvdb::{DBTransaction, KeyValueDB}; +use parity_scale_codec::{Encode, Decode}; + +use std::sync::Arc; + +const BLOCK_ENTRY_PREFIX: &[u8; 14] = b"CS_block_entry"; +const BLOCK_HEIGHT_PREFIX: &[u8; 15] = b"CS_block_height"; +const STAGNANT_AT_PREFIX: &[u8; 14] = b"CS_stagnant_at"; +const LEAVES_KEY: &[u8; 9] = b"CS_leaves"; + +type Timestamp = u64; + +#[derive(Debug, Encode, Decode, Clone, PartialEq)] +enum Approval { + #[codec(index = 0)] + Approved, + #[codec(index = 1)] + Unapproved, + #[codec(index = 2)] + Stagnant, +} + +impl From for Approval { + fn from(x: crate::Approval) -> Self { + match x { + crate::Approval::Approved => Approval::Approved, + crate::Approval::Unapproved => Approval::Unapproved, + crate::Approval::Stagnant => Approval::Stagnant, + } + } +} + +impl From for crate::Approval { + fn from(x: Approval) -> crate::Approval { + match x { + Approval::Approved => crate::Approval::Approved, + Approval::Unapproved => crate::Approval::Unapproved, + Approval::Stagnant => crate::Approval::Stagnant, + } + } +} + +#[derive(Debug, Encode, Decode, Clone, PartialEq)] +struct ViabilityCriteria { + explicitly_reverted: bool, + approval: Approval, + earliest_unviable_ancestor: Option, +} + +impl From for ViabilityCriteria { + fn from(x: crate::ViabilityCriteria) -> Self { + ViabilityCriteria { + explicitly_reverted: x.explicitly_reverted, + approval: x.approval.into(), + earliest_unviable_ancestor: x.earliest_unviable_ancestor, + } + } +} + +impl From for crate::ViabilityCriteria { + fn from(x: ViabilityCriteria) -> crate::ViabilityCriteria { + crate::ViabilityCriteria { + explicitly_reverted: x.explicitly_reverted, + approval: x.approval.into(), + earliest_unviable_ancestor: x.earliest_unviable_ancestor, + } + } +} + +#[derive(Encode, Decode)] +struct LeafEntry { + weight: BlockWeight, + block_number: BlockNumber, + block_hash: Hash, +} + +impl From for LeafEntry { + fn from(x: crate::LeafEntry) -> Self { + LeafEntry { + weight: x.weight, + block_number: x.block_number, + block_hash: x.block_hash, + } + } +} + +impl From for crate::LeafEntry { + fn from(x: LeafEntry) -> crate::LeafEntry { + crate::LeafEntry { + weight: x.weight, + block_number: x.block_number, + block_hash: x.block_hash, + } + } +} + +#[derive(Encode, Decode)] +struct LeafEntrySet { + inner: Vec, +} + +impl From for LeafEntrySet { + fn from(x: crate::LeafEntrySet) -> Self { + LeafEntrySet { + inner: x.inner.into_iter().map(Into::into).collect(), + } + } +} + +impl From for crate::LeafEntrySet { + fn from(x: LeafEntrySet) -> crate::LeafEntrySet { + crate::LeafEntrySet { + inner: x.inner.into_iter().map(Into::into).collect(), + } + } +} + +#[derive(Debug, Encode, Decode, Clone, PartialEq)] +struct BlockEntry { + block_hash: Hash, + block_number: BlockNumber, + parent_hash: Hash, + children: Vec, + viability: ViabilityCriteria, + weight: BlockWeight, +} + +impl From for BlockEntry { + fn from(x: crate::BlockEntry) -> Self { + BlockEntry { + block_hash: x.block_hash, + block_number: x.block_number, + parent_hash: x.parent_hash, + children: x.children, + viability: x.viability.into(), + weight: x.weight, + } + } +} + +impl From for crate::BlockEntry { + fn from(x: BlockEntry) -> crate::BlockEntry { + crate::BlockEntry { + block_hash: x.block_hash, + block_number: x.block_number, + parent_hash: x.parent_hash, + children: x.children, + viability: x.viability.into(), + weight: x.weight, + } + } +} + +/// Configuration for the database backend. +#[derive(Debug, Clone, Copy)] +pub struct Config { + /// The column where block metadata is stored. + pub col_data: u32, +} + +/// The database backend. +pub struct DbBackend { + inner: Arc, + config: Config, +} + +impl DbBackend { + /// Create a new [`DbBackend`] with the supplied key-value store and + /// config. + pub fn new(db: Arc, config: Config) -> Self { + DbBackend { + inner: db, + config, + } + } +} + +impl Backend for DbBackend { + fn load_block_entry(&self, hash: &Hash) -> Result, Error> { + load_decode::( + &*self.inner, + self.config.col_data, + &block_entry_key(hash), + ).map(|o| o.map(Into::into)) + } + + fn load_leaves(&self) -> Result { + load_decode::( + &*self.inner, + self.config.col_data, + LEAVES_KEY, + ).map(|o| o.map(Into::into).unwrap_or_default()) + } + + fn load_stagnant_at(&self, timestamp: crate::Timestamp) -> Result, Error> { + load_decode::>( + &*self.inner, + self.config.col_data, + &stagnant_at_key(timestamp.into()), + ).map(|o| o.unwrap_or_default()) + } + + fn load_stagnant_at_up_to(&self, up_to: crate::Timestamp) + -> Result)>, Error> + { + let stagnant_at_iter = self.inner.iter_with_prefix( + self.config.col_data, + &STAGNANT_AT_PREFIX[..], + ); + + let val = stagnant_at_iter + .filter_map(|(k, v)| { + match (decode_stagnant_at_key(&mut &k[..]), >::decode(&mut &v[..]).ok()) { + (Some(at), Some(stagnant_at)) => Some((at, stagnant_at)), + _ => None, + } + }) + .take_while(|(at, _)| *at <= up_to.into()) + .collect::>(); + + Ok(val) + } + + fn load_first_block_number(&self) -> Result, Error> { + let blocks_at_height_iter = self.inner.iter_with_prefix( + self.config.col_data, + &BLOCK_HEIGHT_PREFIX[..], + ); + + let val = blocks_at_height_iter + .filter_map(|(k, _)| decode_block_height_key(&k[..])) + .next(); + + Ok(val) + } + + fn load_blocks_by_number(&self, number: BlockNumber) -> Result, Error> { + load_decode::>( + &*self.inner, + self.config.col_data, + &block_height_key(number), + ).map(|o| o.unwrap_or_default()) + } + + /// Atomically write the list of operations, with later operations taking precedence over prior. + fn write(&mut self, ops: I) -> Result<(), Error> + where I: IntoIterator + { + let mut tx = DBTransaction::new(); + for op in ops { + match op { + BackendWriteOp::WriteBlockEntry(block_entry) => { + let block_entry: BlockEntry = block_entry.into(); + tx.put_vec( + self.config.col_data, + &block_entry_key(&block_entry.block_hash), + block_entry.encode(), + ); + } + BackendWriteOp::WriteBlocksByNumber(block_number, v) => { + if v.is_empty() { + tx.delete( + self.config.col_data, + &block_height_key(block_number), + ); + } else { + tx.put_vec( + self.config.col_data, + &block_height_key(block_number), + v.encode(), + ); + } + } + BackendWriteOp::WriteViableLeaves(leaves) => { + let leaves: LeafEntrySet = leaves.into(); + if leaves.inner.is_empty() { + tx.delete( + self.config.col_data, + &LEAVES_KEY[..], + ); + } else { + tx.put_vec( + self.config.col_data, + &LEAVES_KEY[..], + leaves.encode(), + ); + } + } + BackendWriteOp::WriteStagnantAt(timestamp, stagnant_at) => { + let timestamp: Timestamp = timestamp.into(); + if stagnant_at.is_empty() { + tx.delete( + self.config.col_data, + &stagnant_at_key(timestamp), + ); + } else { + tx.put_vec( + self.config.col_data, + &stagnant_at_key(timestamp), + stagnant_at.encode(), + ); + } + } + BackendWriteOp::DeleteBlocksByNumber(block_number) => { + tx.delete( + self.config.col_data, + &block_height_key(block_number), + ); + } + BackendWriteOp::DeleteBlockEntry(hash) => { + tx.delete( + self.config.col_data, + &block_entry_key(&hash), + ); + } + BackendWriteOp::DeleteStagnantAt(timestamp) => { + let timestamp: Timestamp = timestamp.into(); + tx.delete( + self.config.col_data, + &stagnant_at_key(timestamp), + ); + } + } + } + + self.inner.write(tx).map_err(Into::into) + } +} + +fn load_decode( + db: &dyn KeyValueDB, + col_data: u32, + key: &[u8], +) -> Result, Error> { + match db.get(col_data, key)? { + None => Ok(None), + Some(raw) => D::decode(&mut &raw[..]) + .map(Some) + .map_err(Into::into), + } +} + +fn block_entry_key(hash: &Hash) -> [u8; 14 + 32] { + let mut key = [0; 14 + 32]; + key[..14].copy_from_slice(BLOCK_ENTRY_PREFIX); + hash.using_encoded(|s| key[14..].copy_from_slice(s)); + key +} + +fn block_height_key(number: BlockNumber) -> [u8; 15 + 4] { + let mut key = [0; 15 + 4]; + key[..15].copy_from_slice(BLOCK_HEIGHT_PREFIX); + key[15..].copy_from_slice(&number.to_be_bytes()); + key +} + +fn stagnant_at_key(timestamp: Timestamp) -> [u8; 14 + 8] { + let mut key = [0; 14 + 8]; + key[..14].copy_from_slice(STAGNANT_AT_PREFIX); + key[14..].copy_from_slice(×tamp.to_be_bytes()); + key +} + +fn decode_block_height_key(key: &[u8]) -> Option { + if key.len() != 15 + 4 { return None } + if !key.starts_with(BLOCK_HEIGHT_PREFIX) { return None } + + let mut bytes = [0; 4]; + bytes.copy_from_slice(&key[15..]); + Some(BlockNumber::from_be_bytes(bytes)) +} + +fn decode_stagnant_at_key(key: &[u8]) -> Option { + if key.len() != 14 + 8 { return None } + if !key.starts_with(STAGNANT_AT_PREFIX) { return None } + + let mut bytes = [0; 8]; + bytes.copy_from_slice(&key[14..]); + Some(Timestamp::from_be_bytes(bytes)) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn block_height_key_decodes() { + let key = block_height_key(5); + assert_eq!(decode_block_height_key(&key), Some(5)); + } + + #[test] + fn stagnant_at_key_decodes() { + let key = stagnant_at_key(5); + assert_eq!(decode_stagnant_at_key(&key), Some(5)); + } + + #[test] + fn lower_block_height_key_lesser() { + for i in 0..256 { + for j in 1..=256 { + let key_a = block_height_key(i); + let key_b = block_height_key(i + j); + + assert!(key_a < key_b); + } + } + } + + #[test] + fn lower_stagnant_at_key_lesser() { + for i in 0..256 { + for j in 1..=256 { + let key_a = stagnant_at_key(i); + let key_b = stagnant_at_key(i + j); + + assert!(key_a < key_b); + } + } + } + + #[test] + fn write_read_block_entry() { + let db = Arc::new(kvdb_memorydb::create(1)); + let config = Config { col_data: 0 }; + + let mut backend = DbBackend::new(db, config); + + let block_entry = BlockEntry { + block_hash: Hash::repeat_byte(1), + block_number: 1, + parent_hash: Hash::repeat_byte(0), + children: vec![], + viability: ViabilityCriteria { + earliest_unviable_ancestor: None, + explicitly_reverted: false, + approval: Approval::Unapproved, + }, + weight: 100, + }; + + backend.write(vec![ + BackendWriteOp::WriteBlockEntry(block_entry.clone().into()) + ]).unwrap(); + + assert_eq!( + backend.load_block_entry(&block_entry.block_hash).unwrap().map(BlockEntry::from), + Some(block_entry), + ); + } + + #[test] + fn delete_block_entry() { + let db = Arc::new(kvdb_memorydb::create(1)); + let config = Config { col_data: 0 }; + + let mut backend = DbBackend::new(db, config); + + let block_entry = BlockEntry { + block_hash: Hash::repeat_byte(1), + block_number: 1, + parent_hash: Hash::repeat_byte(0), + children: vec![], + viability: ViabilityCriteria { + earliest_unviable_ancestor: None, + explicitly_reverted: false, + approval: Approval::Unapproved, + }, + weight: 100, + }; + + backend.write(vec![ + BackendWriteOp::WriteBlockEntry(block_entry.clone().into()) + ]).unwrap(); + + backend.write(vec![ + BackendWriteOp::DeleteBlockEntry(block_entry.block_hash), + ]).unwrap(); + + assert!( + backend.load_block_entry(&block_entry.block_hash).unwrap().is_none(), + ); + } + + #[test] + fn earliest_block_number() { + let db = Arc::new(kvdb_memorydb::create(1)); + let config = Config { col_data: 0 }; + + let mut backend = DbBackend::new(db, config); + + assert!( + backend.load_first_block_number().unwrap().is_none(), + ); + + backend.write(vec![ + BackendWriteOp::WriteBlocksByNumber(2, vec![Hash::repeat_byte(0)]), + BackendWriteOp::WriteBlocksByNumber(5, vec![Hash::repeat_byte(0)]), + BackendWriteOp::WriteBlocksByNumber(10, vec![Hash::repeat_byte(0)]), + ]).unwrap(); + + assert_eq!( + backend.load_first_block_number().unwrap(), + Some(2), + ); + + backend.write(vec![ + BackendWriteOp::WriteBlocksByNumber(2, vec![]), + BackendWriteOp::DeleteBlocksByNumber(5), + ]).unwrap(); + + assert_eq!( + backend.load_first_block_number().unwrap(), + Some(10), + ); + } + + #[test] + fn stagnant_at_up_to() { + let db = Arc::new(kvdb_memorydb::create(1)); + let config = Config { col_data: 0 }; + + let mut backend = DbBackend::new(db, config); + + // Prove that it's cheap + assert!( + backend.load_stagnant_at_up_to(Timestamp::max_value()).unwrap().is_empty(), + ); + + backend.write(vec![ + BackendWriteOp::WriteStagnantAt(2, vec![Hash::repeat_byte(1)]), + BackendWriteOp::WriteStagnantAt(5, vec![Hash::repeat_byte(2)]), + BackendWriteOp::WriteStagnantAt(10, vec![Hash::repeat_byte(3)]), + ]).unwrap(); + + assert_eq!( + backend.load_stagnant_at_up_to(Timestamp::max_value()).unwrap(), + vec![ + (2, vec![Hash::repeat_byte(1)]), + (5, vec![Hash::repeat_byte(2)]), + (10, vec![Hash::repeat_byte(3)]), + ] + ); + + assert_eq!( + backend.load_stagnant_at_up_to(10).unwrap(), + vec![ + (2, vec![Hash::repeat_byte(1)]), + (5, vec![Hash::repeat_byte(2)]), + (10, vec![Hash::repeat_byte(3)]), + ] + ); + + assert_eq!( + backend.load_stagnant_at_up_to(9).unwrap(), + vec![ + (2, vec![Hash::repeat_byte(1)]), + (5, vec![Hash::repeat_byte(2)]), + ] + ); + + backend.write(vec![ + BackendWriteOp::DeleteStagnantAt(2), + ]).unwrap(); + + assert_eq!( + backend.load_stagnant_at_up_to(5).unwrap(), + vec![ + (5, vec![Hash::repeat_byte(2)]), + ] + ); + + backend.write(vec![ + BackendWriteOp::WriteStagnantAt(5, vec![]), + ]).unwrap(); + + assert_eq!( + backend.load_stagnant_at_up_to(10).unwrap(), + vec![ + (10, vec![Hash::repeat_byte(3)]), + ] + ); + } + + #[test] + fn write_read_blocks_at_height() { + let db = Arc::new(kvdb_memorydb::create(1)); + let config = Config { col_data: 0 }; + + let mut backend = DbBackend::new(db, config); + + backend.write(vec![ + BackendWriteOp::WriteBlocksByNumber(2, vec![Hash::repeat_byte(1)]), + BackendWriteOp::WriteBlocksByNumber(5, vec![Hash::repeat_byte(2)]), + BackendWriteOp::WriteBlocksByNumber(10, vec![Hash::repeat_byte(3)]), + ]).unwrap(); + + assert_eq!( + backend.load_blocks_by_number(2).unwrap(), + vec![Hash::repeat_byte(1)], + ); + + assert_eq!( + backend.load_blocks_by_number(3).unwrap(), + vec![], + ); + + backend.write(vec![ + BackendWriteOp::WriteBlocksByNumber(2, vec![]), + BackendWriteOp::DeleteBlocksByNumber(5), + ]).unwrap(); + + assert_eq!( + backend.load_blocks_by_number(2).unwrap(), + vec![], + ); + + assert_eq!( + backend.load_blocks_by_number(5).unwrap(), + vec![], + ); + + assert_eq!( + backend.load_blocks_by_number(10).unwrap(), + vec![Hash::repeat_byte(3)], + ); + } +} diff --git a/node/core/chain-selection/src/lib.rs b/node/core/chain-selection/src/lib.rs index dddfc2590d33..39d416eb22b2 100644 --- a/node/core/chain-selection/src/lib.rs +++ b/node/core/chain-selection/src/lib.rs @@ -25,15 +25,18 @@ use polkadot_subsystem::{ errors::ChainApiError, }; +use kvdb::KeyValueDB; use parity_scale_codec::Error as CodecError; use futures::channel::oneshot; use futures::prelude::*; -use std::time::{UNIX_EPOCH, SystemTime}; +use std::time::{UNIX_EPOCH, Duration,SystemTime}; +use std::sync::Arc; use crate::backend::{Backend, OverlayedBackend, BackendWriteOp}; mod backend; +mod db_backend; mod tree; #[cfg(test)] @@ -43,6 +46,10 @@ const LOG_TARGET: &str = "parachain::chain-selection"; /// Timestamp based on the 1 Jan 1970 UNIX base, which is persistent across node restarts and OS reboots. type Timestamp = u64; +// If a block isn't approved in 120 seconds, nodes will abandon it +// and begin building on another chain. +const STAGNANT_TIMEOUT: Timestamp = 120; + #[derive(Debug, Clone)] enum Approval { // Approved @@ -202,96 +209,143 @@ impl Error { } } -fn timestamp_now() -> Timestamp { - // `SystemTime` is notoriously non-monotonic, so our timers might not work - // exactly as expected. Regardless, stagnation is detected on the order of minutes, - // and slippage of a few seconds in either direction won't cause any major harm. - // - // The exact time that a block becomes stagnant in the local node is always expected - // to differ from other nodes due to network asynchrony and delays in block propagation. - // Non-monotonicity exarcerbates that somewhat, but not meaningfully. - - match SystemTime::now().duration_since(UNIX_EPOCH) { - Ok(d) => d.as_secs(), - Err(e) => { - tracing::warn!( - target: LOG_TARGET, - err = ?e, - "Current time is before unix epoch. Validation will not work correctly." - ); - - 0 - } - } +/// A clock used for fetching the current timestamp. +pub trait Clock { + /// Get the current timestamp. + fn timestamp_now(&self) -> Timestamp; } -fn stagnant_timeout_from_now() -> Timestamp { - // If a block isn't approved in 120 seconds, nodes will abandon it - // and begin building on another chain. - const STAGNANT_TIMEOUT: Timestamp = 120; +struct SystemClock; - timestamp_now() + STAGNANT_TIMEOUT -} +impl Clock for SystemClock { + fn timestamp_now(&self) -> Timestamp { + // `SystemTime` is notoriously non-monotonic, so our timers might not work + // exactly as expected. Regardless, stagnation is detected on the order of minutes, + // and slippage of a few seconds in either direction won't cause any major harm. + // + // The exact time that a block becomes stagnant in the local node is always expected + // to differ from other nodes due to network asynchrony and delays in block propagation. + // Non-monotonicity exarcerbates that somewhat, but not meaningfully. -// TODO https://github.com/paritytech/polkadot/issues/3293: -// -// This is used just so we can have a public function that calls -// `run` and eliminates all the unused errors. -// -// Should be removed when the real implementation is done. -struct VoidBackend; + match SystemTime::now().duration_since(UNIX_EPOCH) { + Ok(d) => d.as_secs(), + Err(e) => { + tracing::warn!( + target: LOG_TARGET, + err = ?e, + "Current time is before unix epoch. Validation will not work correctly." + ); -impl Backend for VoidBackend { - fn load_block_entry(&self, _: &Hash) -> Result, Error> { - Ok(None) - } - fn load_leaves(&self) -> Result { - Ok(LeafEntrySet::default()) - } - fn load_stagnant_at(&self, _: Timestamp) -> Result, Error> { - Ok(Vec::new()) - } - fn load_stagnant_at_up_to(&self, _: Timestamp) - -> Result)>, Error> - { - Ok(Vec::new()) + 0 + } + } } - fn load_first_block_number(&self) -> Result, Error> { - Ok(None) +} + +/// The interval, in seconds to check for stagnant blocks. +#[derive(Debug, Clone)] +pub struct StagnantCheckInterval(Duration); + +impl Default for StagnantCheckInterval { + fn default() -> Self { + // 5 seconds is a reasonable balance between avoiding DB reads and + // ensuring validators are generally in agreement on stagnant blocks. + // + // Assuming a network delay of D, the longest difference in view possible + // between 2 validators is D + 5s. + const DEFAULT_STAGNANT_CHECK_INTERVAL: Duration = Duration::from_secs(5); + + StagnantCheckInterval(DEFAULT_STAGNANT_CHECK_INTERVAL) } - fn load_blocks_by_number(&self, _: BlockNumber) -> Result, Error> { - Ok(Vec::new()) +} + +impl StagnantCheckInterval { + /// Create a new stagnant-check interval wrapping the given duration. + pub fn new(interval: Duration) -> Self { + StagnantCheckInterval(interval) } - fn write(&mut self, _: I) -> Result<(), Error> - where I: IntoIterator - { - Ok(()) + fn timeout_stream(&self) -> impl Stream { + let interval = self.0; + let mut delay = futures_timer::Delay::new(interval); + + futures::stream::poll_fn(move |cx| { + let poll = delay.poll_unpin(cx); + if poll.is_ready() { + delay.reset(interval) + } + + poll.map(Some) + }) } } +/// Configuration for the chain selection subsystem. +#[derive(Debug, Clone)] +pub struct Config { + /// The column in the database that the storage should use. + pub col_data: u32, + /// How often to check for stagnant blocks. + pub stagnant_check_interval: StagnantCheckInterval, +} + /// The chain selection subsystem. -pub struct ChainSelectionSubsystem; +pub struct ChainSelectionSubsystem { + config: Config, + db: Arc, +} + +impl ChainSelectionSubsystem { + /// Create a new instance of the subsystem with the given config + /// and key-value store. + pub fn new(config: Config, db: Arc) -> Self { + ChainSelectionSubsystem { + config, + db, + } + } +} impl Subsystem for ChainSelectionSubsystem where Context: SubsystemContext { fn start(self, ctx: Context) -> SpawnedSubsystem { - let backend = VoidBackend; + let backend = crate::db_backend::v1::DbBackend::new( + self.db, + crate::db_backend::v1::Config { col_data: self.config.col_data }, + ); + SpawnedSubsystem { - future: run(ctx, backend).map(|()| Ok(())).boxed(), + future: run( + ctx, + backend, + self.config.stagnant_check_interval, + Box::new(SystemClock), + ) + .map(Ok) + .boxed(), name: "chain-selection-subsystem", } } } -async fn run(mut ctx: Context, mut backend: B) +async fn run( + mut ctx: Context, + mut backend: B, + stagnant_check_interval: StagnantCheckInterval, + clock: Box, +) where Context: SubsystemContext, B: Backend, { loop { - let res = run_iteration(&mut ctx, &mut backend).await; + let res = run_iteration( + &mut ctx, + &mut backend, + &stagnant_check_interval, + &*clock, + ).await; match res { Err(e) => { e.trace(); @@ -313,55 +367,69 @@ async fn run(mut ctx: Context, mut backend: B) // // A return value of `Ok` indicates that an exit should be made, while non-fatal errors // lead to another call to this function. -async fn run_iteration(ctx: &mut Context, backend: &mut B) +async fn run_iteration( + ctx: &mut Context, + backend: &mut B, + stagnant_check_interval: &StagnantCheckInterval, + clock: &(dyn Clock + Sync), +) -> Result<(), Error> where Context: SubsystemContext, B: Backend, { - // TODO https://github.com/paritytech/polkadot/issues/3293: Add stagnant checking timer loop. + let mut stagnant_check_stream = stagnant_check_interval.timeout_stream(); loop { - match ctx.recv().await? { - FromOverseer::Signal(OverseerSignal::Conclude) => { - return Ok(()) - } - FromOverseer::Signal(OverseerSignal::ActiveLeaves(update)) => { - for leaf in update.activated { - let write_ops = handle_active_leaf( - ctx, - &*backend, - leaf.hash, - ).await?; - - backend.write(write_ops)?; + futures::select! { + msg = ctx.recv().fuse() => { + let msg = msg?; + match msg { + FromOverseer::Signal(OverseerSignal::Conclude) => { + return Ok(()) + } + FromOverseer::Signal(OverseerSignal::ActiveLeaves(update)) => { + for leaf in update.activated { + let write_ops = handle_active_leaf( + ctx, + &*backend, + clock.timestamp_now() + STAGNANT_TIMEOUT, + leaf.hash, + ).await?; + + backend.write(write_ops)?; + } + } + FromOverseer::Signal(OverseerSignal::BlockFinalized(h, n)) => { + handle_finalized_block(backend, h, n)? + } + FromOverseer::Communication { msg } => match msg { + ChainSelectionMessage::Approved(hash) => { + handle_approved_block(backend, hash)? + } + ChainSelectionMessage::Leaves(tx) => { + let leaves = load_leaves(ctx, &*backend).await?; + let _ = tx.send(leaves); + } + ChainSelectionMessage::BestLeafContaining(required, tx) => { + let best_containing = crate::backend::find_best_leaf_containing( + &*backend, + required, + )?; + + // note - this may be none if the finalized block is + // a leaf. this is fine according to the expected usage of the + // function. `None` responses should just `unwrap_or(required)`, + // so if the required block is the finalized block, then voilá. + + let _ = tx.send(best_containing); + } + } } } - FromOverseer::Signal(OverseerSignal::BlockFinalized(h, n)) => { - handle_finalized_block(backend, h, n)? - } - FromOverseer::Communication { msg } => match msg { - ChainSelectionMessage::Approved(hash) => { - handle_approved_block(backend, hash)? - } - ChainSelectionMessage::Leaves(tx) => { - let leaves = load_leaves(ctx, &*backend).await?; - let _ = tx.send(leaves); - } - ChainSelectionMessage::BestLeafContaining(required, tx) => { - let best_containing = crate::backend::find_best_leaf_containing( - &*backend, - required, - )?; - - // note - this may be none if the finalized block is - // a leaf. this is fine according to the expected usage of the - // function. `None` responses should just `unwrap_or(required)`, - // so if the required block is the finalized block, then voilá. - - let _ = tx.send(best_containing); - } + _ = stagnant_check_stream.next().fuse() => { + detect_stagnant(backend, clock.timestamp_now())?; } - }; + } } } @@ -415,6 +483,7 @@ async fn fetch_block_weight( async fn handle_active_leaf( ctx: &mut impl SubsystemContext, backend: &impl Backend, + stagnant_at: Timestamp, hash: Hash, ) -> Result, Error> { let lower_bound = match backend.load_first_block_number()? { @@ -475,6 +544,7 @@ async fn handle_active_leaf( header.parent_hash, reversion_logs, weight, + stagnant_at, )?; } @@ -556,6 +626,22 @@ fn handle_approved_block( backend.write(ops) } +fn detect_stagnant( + backend: &mut impl Backend, + now: Timestamp, +) -> Result<(), Error> { + let ops = { + let overlay = crate::tree::detect_stagnant( + &*backend, + now, + )?; + + overlay.into_write_ops() + }; + + backend.write(ops) +} + // Load the leaves from the backend. If there are no leaves, then return // the finalized block. async fn load_leaves( diff --git a/node/core/chain-selection/src/tests.rs b/node/core/chain-selection/src/tests.rs index 945578a47e6e..1449fae3f5dd 100644 --- a/node/core/chain-selection/src/tests.rs +++ b/node/core/chain-selection/src/tests.rs @@ -22,7 +22,7 @@ use super::*; use std::collections::{HashMap, HashSet, BTreeMap}; -use std::sync::Arc; +use std::sync::{atomic::{Ordering as AtomicOrdering, AtomicU64}, Arc}; use futures::channel::oneshot; use parity_scale_codec::Encode; @@ -103,6 +103,21 @@ impl TestBackend { } } } + + fn assert_stagnant_at_state( + &self, + stagnant_at: Vec<(Timestamp, Vec)>, + ) { + let inner = self.inner.lock(); + assert_eq!(inner.stagnant_at.len(), stagnant_at.len()); + for (at, hashes) in stagnant_at { + let stored_hashes = inner.stagnant_at.get(&at).unwrap(); + assert_eq!(hashes.len(), stored_hashes.len()); + for hash in hashes { + assert!(stored_hashes.contains(&hash)); + } + } + } } impl Default for TestBackend { @@ -173,18 +188,45 @@ impl Backend for TestBackend { } } +#[derive(Clone)] +pub struct TestClock(Arc); + +impl TestClock { + fn new(initial: u64) -> Self { + TestClock(Arc::new(AtomicU64::new(initial))) + } + + fn inc_by(&self, duration: u64) { + self.0.fetch_add(duration, AtomicOrdering::Relaxed); + } +} + +impl Clock for TestClock { + fn timestamp_now(&self) -> Timestamp { + self.0.load(AtomicOrdering::Relaxed) + } +} + +const TEST_STAGNANT_INTERVAL: Duration = Duration::from_millis(20); + type VirtualOverseer = test_helpers::TestSubsystemContextHandle; fn test_harness>( - test: impl FnOnce(TestBackend, VirtualOverseer) -> T + test: impl FnOnce(TestBackend, TestClock, VirtualOverseer) -> T ) { let pool = TaskExecutor::new(); let (context, virtual_overseer) = test_helpers::make_subsystem_context(pool); let backend = TestBackend::default(); - let subsystem = crate::run(context, backend.clone()); + let clock = TestClock::new(0); + let subsystem = crate::run( + context, + backend.clone(), + StagnantCheckInterval::new(TEST_STAGNANT_INTERVAL), + Box::new(clock.clone()), + ); - let test_fut = test(backend, virtual_overseer); + let test_fut = test(backend, clock, virtual_overseer); let test_and_conclude = async move { let mut virtual_overseer = test_fut.await; virtual_overseer.send(OverseerSignal::Conclude.into()).await; @@ -582,12 +624,12 @@ async fn approve_block( #[test] fn no_op_subsystem_run() { - test_harness(|_, virtual_overseer| async move { virtual_overseer }); + test_harness(|_, _, virtual_overseer| async move { virtual_overseer }); } #[test] fn import_direct_child_of_finalized_on_empty() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -614,7 +656,7 @@ fn import_direct_child_of_finalized_on_empty() { #[test] fn import_chain_on_finalized_incrementally() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -643,7 +685,7 @@ fn import_chain_on_finalized_incrementally() { #[test] fn import_two_subtrees_on_finalized() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -687,7 +729,7 @@ fn import_two_subtrees_on_finalized() { #[test] fn import_two_subtrees_on_nonzero_finalized() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 100; let finalized_hash = Hash::repeat_byte(0); @@ -731,7 +773,7 @@ fn import_two_subtrees_on_nonzero_finalized() { #[test] fn leaves_ordered_by_weight_and_then_number() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -784,7 +826,7 @@ fn leaves_ordered_by_weight_and_then_number() { #[test] fn subtrees_imported_even_with_gaps() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -835,7 +877,7 @@ fn subtrees_imported_even_with_gaps() { #[test] fn reversion_removes_viability_of_chain() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -871,7 +913,7 @@ fn reversion_removes_viability_of_chain() { #[test] fn reversion_removes_viability_and_finds_ancestor_as_leaf() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -905,7 +947,7 @@ fn reversion_removes_viability_and_finds_ancestor_as_leaf() { #[test] fn ancestor_of_unviable_is_not_leaf_if_has_children() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -974,7 +1016,7 @@ fn ancestor_of_unviable_is_not_leaf_if_has_children() { #[test] fn self_and_future_reversions_are_ignored() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -1006,7 +1048,7 @@ fn self_and_future_reversions_are_ignored() { #[test] fn revert_finalized_is_ignored() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 10; let finalized_hash = Hash::repeat_byte(0); @@ -1038,7 +1080,7 @@ fn revert_finalized_is_ignored() { #[test] fn reversion_affects_viability_of_all_subtrees() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -1096,7 +1138,7 @@ fn reversion_affects_viability_of_all_subtrees() { #[test] fn finalize_viable_prunes_subtrees() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -1204,7 +1246,7 @@ fn finalize_viable_prunes_subtrees() { #[test] fn finalization_does_not_clobber_unviability() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -1258,7 +1300,7 @@ fn finalization_does_not_clobber_unviability() { #[test] fn finalization_erases_unviable() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -1322,7 +1364,7 @@ fn finalization_erases_unviable() { #[test] fn finalize_erases_unviable_but_keeps_later_unviability() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -1390,7 +1432,7 @@ fn finalize_erases_unviable_but_keeps_later_unviability() { #[test] fn finalize_erases_unviable_from_one_but_not_all_reverts() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -1450,7 +1492,7 @@ fn finalize_erases_unviable_from_one_but_not_all_reverts() { #[test] fn finalize_triggers_viability_search() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -1522,7 +1564,7 @@ fn finalize_triggers_viability_search() { #[test] fn best_leaf_none_with_empty_db() { - test_harness(|_backend, mut virtual_overseer| async move { + test_harness(|_backend, _, mut virtual_overseer| async move { let required = Hash::repeat_byte(1); let best_leaf = best_leaf_containing(&mut virtual_overseer, required).await; assert!(best_leaf.is_none()); @@ -1533,7 +1575,7 @@ fn best_leaf_none_with_empty_db() { #[test] fn best_leaf_none_with_no_viable_leaves() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -1575,7 +1617,7 @@ fn best_leaf_none_with_no_viable_leaves() { #[test] fn best_leaf_none_with_unknown_required() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -1609,7 +1651,7 @@ fn best_leaf_none_with_unknown_required() { #[test] fn best_leaf_none_with_unviable_required() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -1661,7 +1703,7 @@ fn best_leaf_none_with_unviable_required() { #[test] fn best_leaf_with_finalized_required() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -1705,7 +1747,7 @@ fn best_leaf_with_finalized_required() { #[test] fn best_leaf_with_unfinalized_required() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -1751,7 +1793,7 @@ fn best_leaf_with_unfinalized_required() { #[test] fn best_leaf_ancestor_of_all_leaves() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -1809,7 +1851,7 @@ fn best_leaf_ancestor_of_all_leaves() { #[test] fn approve_message_approves_block_entry() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -1859,7 +1901,7 @@ fn approve_message_approves_block_entry() { #[test] fn approve_nonexistent_has_no_effect() { - test_harness(|backend, mut virtual_overseer| async move { + test_harness(|backend, _, mut virtual_overseer| async move { let finalized_number = 0; let finalized_hash = Hash::repeat_byte(0); @@ -1907,3 +1949,342 @@ fn approve_nonexistent_has_no_effect() { virtual_overseer }) } + +#[test] +fn block_has_correct_stagnant_at() { + test_harness(|backend, clock, mut virtual_overseer| async move { + let finalized_number = 0; + let finalized_hash = Hash::repeat_byte(0); + + // F <- A1 <- A2 + + let (a1_hash, chain_a) = construct_chain_on_base( + vec![1], + finalized_number, + finalized_hash, + |h| { + salt_header(h, b"a"); + } + ); + + let (a2_hash, chain_a_ext) = construct_chain_on_base( + vec![1], + 1, + a1_hash, + |h| { + salt_header(h, b"a"); + } + ); + + import_chains_into_empty( + &mut virtual_overseer, + &backend, + finalized_number, + finalized_hash, + vec![chain_a.clone()], + ).await; + + clock.inc_by(1); + + import_blocks_into( + &mut virtual_overseer, + &backend, + None, + chain_a_ext.clone(), + ).await; + + backend.assert_stagnant_at_state(vec![ + (STAGNANT_TIMEOUT, vec![a1_hash]), + (STAGNANT_TIMEOUT + 1, vec![a2_hash]), + ]); + + virtual_overseer + }) +} + +#[test] +fn detects_stagnant() { + test_harness(|backend, clock, mut virtual_overseer| async move { + let finalized_number = 0; + let finalized_hash = Hash::repeat_byte(0); + + // F <- A1 + + let (a1_hash, chain_a) = construct_chain_on_base( + vec![1], + finalized_number, + finalized_hash, + |h| { + salt_header(h, b"a"); + } + ); + + import_chains_into_empty( + &mut virtual_overseer, + &backend, + finalized_number, + finalized_hash, + vec![chain_a.clone()], + ).await; + + { + let (_, write_rx) = backend.await_next_write(); + clock.inc_by(STAGNANT_TIMEOUT); + + write_rx.await.unwrap(); + } + + backend.assert_stagnant_at_state(vec![]); + + assert_matches!( + backend.load_block_entry(&a1_hash).unwrap().unwrap().viability.approval, + Approval::Stagnant + ); + + assert_leaves(&backend, vec![]); + + virtual_overseer + }) +} + +#[test] +fn finalize_stagnant_unlocks_subtree() { + test_harness(|backend, clock, mut virtual_overseer| async move { + let finalized_number = 0; + let finalized_hash = Hash::repeat_byte(0); + + // F <- A1 <- A2 + + let (a1_hash, chain_a) = construct_chain_on_base( + vec![1], + finalized_number, + finalized_hash, + |h| { + salt_header(h, b"a"); + } + ); + + let (a2_hash, chain_a_ext) = construct_chain_on_base( + vec![1], + 1, + a1_hash, + |h| { + salt_header(h, b"a"); + } + ); + + import_chains_into_empty( + &mut virtual_overseer, + &backend, + finalized_number, + finalized_hash, + vec![chain_a.clone()], + ).await; + + clock.inc_by(1); + + import_blocks_into( + &mut virtual_overseer, + &backend, + None, + chain_a_ext.clone(), + ).await; + + { + let (_, write_rx) = backend.await_next_write(); + clock.inc_by(STAGNANT_TIMEOUT - 1); + + write_rx.await.unwrap(); + } + + backend.assert_stagnant_at_state(vec![(STAGNANT_TIMEOUT + 1, vec![a2_hash])]); + + assert_matches!( + backend.load_block_entry(&a1_hash).unwrap().unwrap().viability.approval, + Approval::Stagnant + ); + + assert_leaves(&backend, vec![]); + + finalize_block( + &mut virtual_overseer, + &backend, + 1, + a1_hash, + ).await; + + assert_leaves(&backend, vec![a2_hash]); + + virtual_overseer + }) +} + +#[test] +fn approval_undoes_stagnant_unlocking_subtree() { + test_harness(|backend, clock, mut virtual_overseer| async move { + let finalized_number = 0; + let finalized_hash = Hash::repeat_byte(0); + + // F <- A1 <- A2 + + let (a1_hash, chain_a) = construct_chain_on_base( + vec![1], + finalized_number, + finalized_hash, + |h| { + salt_header(h, b"a"); + } + ); + + let (a2_hash, chain_a_ext) = construct_chain_on_base( + vec![1], + 1, + a1_hash, + |h| { + salt_header(h, b"a"); + } + ); + + import_chains_into_empty( + &mut virtual_overseer, + &backend, + finalized_number, + finalized_hash, + vec![chain_a.clone()], + ).await; + + clock.inc_by(1); + + import_blocks_into( + &mut virtual_overseer, + &backend, + None, + chain_a_ext.clone(), + ).await; + + { + let (_, write_rx) = backend.await_next_write(); + clock.inc_by(STAGNANT_TIMEOUT - 1); + + write_rx.await.unwrap(); + } + + backend.assert_stagnant_at_state(vec![(STAGNANT_TIMEOUT + 1, vec![a2_hash])]); + + approve_block( + &mut virtual_overseer, + &backend, + a1_hash, + ).await; + + assert_matches!( + backend.load_block_entry(&a1_hash).unwrap().unwrap().viability.approval, + Approval::Approved + ); + + assert_leaves(&backend, vec![a2_hash]); + + virtual_overseer + }) +} + +#[test] +fn stagnant_preserves_parents_children() { + test_harness(|backend, clock, mut virtual_overseer| async move { + let finalized_number = 0; + let finalized_hash = Hash::repeat_byte(0); + + // F <- A1 <- A2 + // A1 <- B2 + + let (a2_hash, chain_a) = construct_chain_on_base( + vec![1, 2], + finalized_number, + finalized_hash, + |h| { + salt_header(h, b"a"); + } + ); + + let (_, a1_hash, _) = extract_info_from_chain(0, &chain_a); + + let (b2_hash, chain_b) = construct_chain_on_base( + vec![1], + 1, + a1_hash, + |h| { + salt_header(h, b"b"); + } + ); + + import_chains_into_empty( + &mut virtual_overseer, + &backend, + finalized_number, + finalized_hash, + vec![chain_a.clone(), chain_b.clone()], + ).await; + + approve_block(&mut virtual_overseer, &backend, a1_hash).await; + approve_block(&mut virtual_overseer, &backend, b2_hash).await; + + assert_leaves(&backend, vec![a2_hash, b2_hash]); + + { + let (_, write_rx) = backend.await_next_write(); + clock.inc_by(STAGNANT_TIMEOUT); + + write_rx.await.unwrap(); + } + + backend.assert_stagnant_at_state(vec![]); + assert_leaves(&backend, vec![b2_hash]); + + virtual_overseer + }) +} + +#[test] +fn stagnant_makes_childless_parent_leaf() { + test_harness(|backend, clock, mut virtual_overseer| async move { + let finalized_number = 0; + let finalized_hash = Hash::repeat_byte(0); + + // F <- A1 <- A2 + + let (a2_hash, chain_a) = construct_chain_on_base( + vec![1, 2], + finalized_number, + finalized_hash, + |h| { + salt_header(h, b"a"); + } + ); + + let (_, a1_hash, _) = extract_info_from_chain(0, &chain_a); + + import_chains_into_empty( + &mut virtual_overseer, + &backend, + finalized_number, + finalized_hash, + vec![chain_a.clone()], + ).await; + + approve_block(&mut virtual_overseer, &backend, a1_hash).await; + + assert_leaves(&backend, vec![a2_hash]); + + { + let (_, write_rx) = backend.await_next_write(); + clock.inc_by(STAGNANT_TIMEOUT); + + write_rx.await.unwrap(); + } + + backend.assert_stagnant_at_state(vec![]); + assert_leaves(&backend, vec![a1_hash]); + + virtual_overseer + }) +} diff --git a/node/core/chain-selection/src/tree.rs b/node/core/chain-selection/src/tree.rs index a10f0d0c5ad5..ff3db9e9e4a3 100644 --- a/node/core/chain-selection/src/tree.rs +++ b/node/core/chain-selection/src/tree.rs @@ -251,8 +251,9 @@ pub(crate) fn import_block( parent_hash: Hash, reversion_logs: Vec, weight: BlockWeight, + stagnant_at: Timestamp, ) -> Result<(), Error> { - add_block(backend, block_hash, block_number, parent_hash, weight)?; + add_block(backend, block_hash, block_number, parent_hash, weight, stagnant_at)?; apply_reversions( backend, block_hash, @@ -308,6 +309,7 @@ fn add_block( block_number: BlockNumber, parent_hash: Hash, weight: BlockWeight, + stagnant_at: Timestamp, ) -> Result<(), Error> { let mut leaves = backend.load_leaves()?; let parent_entry = backend.load_block_entry(&parent_hash)?; @@ -350,7 +352,6 @@ fn add_block( backend.write_blocks_by_number(block_number, blocks_by_number); // 5. Add stagnation timeout. - let stagnant_at = crate::stagnant_timeout_from_now(); let mut stagnant_at_list = backend.load_stagnant_at(stagnant_at)?; stagnant_at_list.push(block_hash); backend.write_stagnant_at(stagnant_at, stagnant_at_list); @@ -549,8 +550,6 @@ pub(super) fn approve_block( /// /// This accepts a fresh backend and returns an overlay on top of it representing /// all changes made. -// TODO https://github.com/paritytech/polkadot/issues/3293:: remove allow -#[allow(unused)] pub(super) fn detect_stagnant<'a, B: 'a + Backend>( backend: &'a B, up_to: Timestamp, From 86f670f358f68dcb470a23aa4f40e3c4604355ba Mon Sep 17 00:00:00 2001 From: ferrell-code Date: Tue, 6 Jul 2021 22:50:52 -0400 Subject: [PATCH 19/23] parchain initializer.rs to FrameV2 (#3416) * migrate to FrameV2 * kusama & westend change pallet name * keep item private Co-authored-by: Guillaume Thiolliere --- runtime/kusama/src/lib.rs | 4 +- runtime/parachains/src/initializer.rs | 142 ++++++++++++++------------ runtime/westend/src/lib.rs | 4 +- 3 files changed, 78 insertions(+), 72 deletions(-) diff --git a/runtime/kusama/src/lib.rs b/runtime/kusama/src/lib.rs index ccf90b90a034..5b0b2eecd9e1 100644 --- a/runtime/kusama/src/lib.rs +++ b/runtime/kusama/src/lib.rs @@ -321,7 +321,7 @@ impl_opaque_keys! { pub grandpa: Grandpa, pub babe: Babe, pub im_online: ImOnline, - pub para_validator: ParasInitializer, + pub para_validator: Initializer, pub para_assignment: ParasSessionInfo, pub authority_discovery: AuthorityDiscovery, } @@ -1487,7 +1487,7 @@ construct_runtime! { ParasInherent: parachains_paras_inherent::{Pallet, Call, Storage, Inherent} = 54, ParasScheduler: parachains_scheduler::{Pallet, Call, Storage} = 55, Paras: parachains_paras::{Pallet, Call, Storage, Event, Config} = 56, - ParasInitializer: parachains_initializer::{Pallet, Call, Storage} = 57, + Initializer: parachains_initializer::{Pallet, Call, Storage} = 57, ParasDmp: parachains_dmp::{Pallet, Call, Storage} = 58, ParasUmp: parachains_ump::{Pallet, Call, Storage, Event} = 59, ParasHrmp: parachains_hrmp::{Pallet, Call, Storage, Event} = 60, diff --git a/runtime/parachains/src/initializer.rs b/runtime/parachains/src/initializer.rs index 12e404575b80..5bbc56c21455 100644 --- a/runtime/parachains/src/initializer.rs +++ b/runtime/parachains/src/initializer.rs @@ -20,18 +20,16 @@ //! This module can throw fatal errors if session-change notifications are received after initialization. use sp_std::prelude::*; -use frame_support::weights::{Weight, DispatchClass}; -use frame_support::traits::EnsureOrigin; use primitives::v1::{ValidatorId, SessionIndex, ConsensusLog, BlockNumber}; -use frame_support::{ - decl_storage, decl_module, decl_error, traits::{OneSessionHandler, Randomness}, -}; +use frame_support::traits::{Randomness, OneSessionHandler}; use parity_scale_codec::{Encode, Decode}; use crate::{ configuration::{self, HostConfiguration}, shared, paras, scheduler, inclusion, session_info, dmp, ump, hrmp, }; +pub use pallet::*; + /// Information about a session change that has just occurred. #[derive(Clone)] pub struct SessionChangeNotification { @@ -69,55 +67,59 @@ struct BufferedSessionChange { session_index: SessionIndex, } -pub trait Config: - frame_system::Config - + configuration::Config - + shared::Config - + paras::Config - + scheduler::Config - + inclusion::Config - + session_info::Config - + dmp::Config - + ump::Config - + hrmp::Config -{ - /// A randomness beacon. - type Randomness: Randomness; - /// An origin which is allowed to force updates to parachains. - type ForceOrigin: EnsureOrigin<::Origin>; -} +#[frame_support::pallet] +pub mod pallet { + use frame_support::pallet_prelude::*; + use frame_system::pallet_prelude::*; + use super::*; -decl_storage! { - trait Store for Module as Initializer { - /// Whether the parachains modules have been initialized within this block. - /// - /// Semantically a bool, but this guarantees it should never hit the trie, - /// as this is cleared in `on_finalize` and Frame optimizes `None` values to be empty values. - /// - /// As a bool, `set(false)` and `remove()` both lead to the next `get()` being false, but one of - /// them writes to the trie and one does not. This confusion makes `Option<()>` more suitable for - /// the semantics of this variable. - HasInitialized: Option<()>; - /// Buffered session changes along with the block number at which they should be applied. - /// - /// Typically this will be empty or one element long. Apart from that this item never hits - /// the storage. - /// - /// However this is a `Vec` regardless to handle various edge cases that may occur at runtime - /// upgrade boundaries or if governance intervenes. - BufferedSessionChanges: Vec; + #[pallet::pallet] + #[pallet::generate_store(pub(super) trait Store)] + pub struct Pallet(_); + + #[pallet::config] + pub trait Config: + frame_system::Config + + configuration::Config + + shared::Config + + paras::Config + + scheduler::Config + + inclusion::Config + + session_info::Config + + dmp::Config + + ump::Config + + hrmp::Config + { + /// A randomness beacon. + type Randomness: Randomness; + /// An origin which is allowed to force updates to parachains. + type ForceOrigin: EnsureOrigin<::Origin>; } -} - -decl_error! { - pub enum Error for Module { } -} -decl_module! { - /// The initializer module. - pub struct Module for enum Call where origin: ::Origin { - type Error = Error; + /// Whether the parachains modules have been initialized within this block. + /// + /// Semantically a bool, but this guarantees it should never hit the trie, + /// as this is cleared in `on_finalize` and Frame optimizes `None` values to be empty values. + /// + /// As a bool, `set(false)` and `remove()` both lead to the next `get()` being false, but one of + /// them writes to the trie and one does not. This confusion makes `Option<()>` more suitable for + /// the semantics of this variable. + #[pallet::storage] + pub(super) type HasInitialized = StorageValue<_, ()>; + + /// Buffered session changes along with the block number at which they should be applied. + /// + /// Typically this will be empty or one element long. Apart from that this item never hits + /// the storage. + /// + /// However this is a `Vec` regardless to handle various edge cases that may occur at runtime + /// upgrade boundaries or if governance intervenes. + #[pallet::storage] + pub(super) type BufferedSessionChanges = StorageValue<_, Vec, ValueQuery>; + + #[pallet::hooks] + impl Hooks> for Pallet { fn on_initialize(now: T::BlockNumber) -> Weight { // The other modules are initialized in this order: // - Configuration @@ -139,12 +141,12 @@ decl_module! { ump::Module::::initializer_initialize(now) + hrmp::Module::::initializer_initialize(now); - HasInitialized::set(Some(())); + HasInitialized::::set(Some(())); total_weight } - fn on_finalize() { + fn on_finalize(_: T::BlockNumber) { // reverse initialization order. hrmp::Module::::initializer_finalize(); ump::Module::::initializer_finalize(); @@ -164,27 +166,31 @@ decl_module! { session_index, validators, queued, - }) = BufferedSessionChanges::take().pop() + }) = BufferedSessionChanges::::take().pop() { Self::apply_new_session(session_index, validators, queued); } - HasInitialized::take(); + HasInitialized::::take(); } + } + #[pallet::call] + impl Pallet { /// Issue a signal to the consensus engine to forcibly act as though all parachain /// blocks in all relay chain blocks up to and including the given number in the current /// chain are valid and should be finalized. - #[weight = (0, DispatchClass::Operational)] - fn force_approve(origin, up_to: BlockNumber) { + #[pallet::weight((0, DispatchClass::Operational))] + pub fn force_approve(origin: OriginFor, up_to: BlockNumber) -> DispatchResult { T::ForceOrigin::ensure_origin(origin)?; frame_system::Pallet::::deposit_log(ConsensusLog::ForceApprove(up_to).into()); + Ok(()) } } } -impl Module { +impl Pallet { fn apply_new_session( session_index: SessionIndex, all_validators: Vec, @@ -254,7 +260,7 @@ impl Module { // Genesis session should be immediately enacted. Self::apply_new_session(0, validators, queued); } else { - BufferedSessionChanges::mutate(|v| v.push(BufferedSessionChange { + BufferedSessionChanges::::mutate(|v| v.push(BufferedSessionChange { validators, queued, session_index, @@ -264,24 +270,24 @@ impl Module { } } -impl sp_runtime::BoundToRuntimeAppPublic for Module { +impl sp_runtime::BoundToRuntimeAppPublic for Pallet { type Public = ValidatorId; } -impl OneSessionHandler for Module { +impl OneSessionHandler for Pallet { type Key = ValidatorId; fn on_genesis_session<'a, I: 'a>(validators: I) where I: Iterator { - >::on_new_session(false, 0, validators, None); + >::on_new_session(false, 0, validators, None); } fn on_new_session<'a, I: 'a>(changed: bool, validators: I, queued: I) where I: Iterator { - let session_index = >::current_index(); - >::on_new_session(changed, session_index, validators, Some(queued)); + let session_index = >::current_index(); + >::on_new_session(changed, session_index, validators, Some(queued)); } fn on_disabled(_i: usize) { } @@ -311,7 +317,7 @@ mod tests { Some(Vec::new().into_iter()), ); - let v = ::get(); + let v = ::BufferedSessionChanges::get(); assert!(v.is_empty()); assert_eq!(SessionInfo::earliest_stored_session(), 0); @@ -332,7 +338,7 @@ mod tests { let now = System::block_number(); Initializer::on_initialize(now); - let v = ::get(); + let v = ::BufferedSessionChanges::get(); assert_eq!(v.len(), 1); }); } @@ -350,7 +356,7 @@ mod tests { Initializer::on_finalize(1); - assert!(::get().is_empty()); + assert!(::BufferedSessionChanges::get().is_empty()); }); } @@ -359,7 +365,7 @@ mod tests { new_test_ext(Default::default()).execute_with(|| { Initializer::on_initialize(1); - assert!(HasInitialized::get().is_some()); + assert!(::HasInitialized::get().is_some()); }) } @@ -369,7 +375,7 @@ mod tests { Initializer::on_initialize(1); Initializer::on_finalize(1); - assert!(HasInitialized::get().is_none()); + assert!(::HasInitialized::get().is_none()); }) } diff --git a/runtime/westend/src/lib.rs b/runtime/westend/src/lib.rs index 80b48258c585..654d5d50e343 100644 --- a/runtime/westend/src/lib.rs +++ b/runtime/westend/src/lib.rs @@ -306,7 +306,7 @@ impl_opaque_keys! { pub grandpa: Grandpa, pub babe: Babe, pub im_online: ImOnline, - pub para_validator: ParasInitializer, + pub para_validator: Initializer, pub para_assignment: ParasSessionInfo, pub authority_discovery: AuthorityDiscovery, } @@ -1078,7 +1078,7 @@ construct_runtime! { ParasInherent: parachains_paras_inherent::{Pallet, Call, Storage, Inherent} = 45, ParasScheduler: parachains_scheduler::{Pallet, Call, Storage} = 46, Paras: parachains_paras::{Pallet, Call, Storage, Event, Config} = 47, - ParasInitializer: parachains_initializer::{Pallet, Call, Storage} = 48, + Initializer: parachains_initializer::{Pallet, Call, Storage} = 48, ParasDmp: parachains_dmp::{Pallet, Call, Storage} = 49, ParasUmp: parachains_ump::{Pallet, Call, Storage, Event} = 50, ParasHrmp: parachains_hrmp::{Pallet, Call, Storage, Event} = 51, From 10da5c721e490bcece3331c70cdc0d504b7477c8 Mon Sep 17 00:00:00 2001 From: cheme Date: Wed, 7 Jul 2021 09:53:33 +0200 Subject: [PATCH 20/23] Companion for #9100 (Paged keys rpc for child storage.) (#3258) * patch branch * patch bis * Add missing client method. * unpatch * update Substrate Co-authored-by: parity-processbot <> --- Cargo.lock | 306 +++++++++++++++++++++-------------------- node/client/src/lib.rs | 16 +++ 2 files changed, 170 insertions(+), 152 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ac5849410dbf..2c80d384d2b9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1969,7 +1969,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "parity-scale-codec", ] @@ -1987,7 +1987,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "3.1.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-support", "frame-system", @@ -2006,7 +2006,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "Inflector", "chrono", @@ -2029,7 +2029,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-support", "frame-system", @@ -2042,7 +2042,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-support", "frame-system", @@ -2057,7 +2057,7 @@ dependencies = [ [[package]] name = "frame-metadata" version = "13.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "parity-scale-codec", "serde", @@ -2068,7 +2068,7 @@ dependencies = [ [[package]] name = "frame-support" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "bitflags", "frame-metadata", @@ -2094,7 +2094,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -2106,7 +2106,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.0.0", @@ -2118,7 +2118,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "proc-macro2", "quote", @@ -2128,7 +2128,7 @@ dependencies = [ [[package]] name = "frame-support-test" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-metadata", "frame-support", @@ -2148,7 +2148,7 @@ dependencies = [ [[package]] name = "frame-system" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -2165,7 +2165,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-support", @@ -2179,7 +2179,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "parity-scale-codec", "sp-api", @@ -2188,7 +2188,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-support", "parity-scale-codec", @@ -4615,7 +4615,7 @@ checksum = "13370dae44474229701bb69b90b4f4dca6404cb0357a2d50d635f1171dc3aa7b" [[package]] name = "pallet-authority-discovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-support", "frame-system", @@ -4630,7 +4630,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-support", "frame-system", @@ -4644,7 +4644,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-support", @@ -4667,7 +4667,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-support", @@ -4696,7 +4696,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-support", @@ -4774,7 +4774,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-support", @@ -4790,7 +4790,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-support", @@ -4805,7 +4805,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4826,7 +4826,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-support", @@ -4843,7 +4843,7 @@ dependencies = [ [[package]] name = "pallet-gilt" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-support", @@ -4857,7 +4857,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "3.1.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-support", @@ -4879,7 +4879,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4894,7 +4894,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-support", @@ -4913,7 +4913,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-support", @@ -4929,7 +4929,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-support", @@ -4944,7 +4944,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "ckb-merkle-mountain-range", "frame-benchmarking", @@ -4961,7 +4961,7 @@ dependencies = [ [[package]] name = "pallet-mmr-primitives" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-support", "frame-system", @@ -4977,7 +4977,7 @@ dependencies = [ [[package]] name = "pallet-mmr-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -4995,7 +4995,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-support", @@ -5010,7 +5010,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-support", "frame-system", @@ -5023,7 +5023,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-support", "frame-system", @@ -5039,7 +5039,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5061,7 +5061,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-support", @@ -5076,7 +5076,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "enumflags2", "frame-support", @@ -5090,7 +5090,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-support", @@ -5105,7 +5105,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-support", "frame-system", @@ -5125,7 +5125,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-support", @@ -5141,7 +5141,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-support", "frame-system", @@ -5154,7 +5154,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5178,7 +5178,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -5189,7 +5189,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "log", "sp-arithmetic", @@ -5198,7 +5198,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-support", "frame-system", @@ -5211,7 +5211,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-support", @@ -5229,7 +5229,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-support", @@ -5244,7 +5244,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-support", "frame-system", @@ -5260,7 +5260,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -5277,7 +5277,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5288,7 +5288,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-support", @@ -5304,7 +5304,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-benchmarking", "frame-support", @@ -5319,7 +5319,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "enumflags2", "frame-benchmarking", @@ -7638,7 +7638,7 @@ dependencies = [ [[package]] name = "remote-externalities" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "env_logger 0.8.4", "hex", @@ -7936,7 +7936,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "log", "sp-core", @@ -7948,7 +7948,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "async-trait", "derive_more", @@ -7977,7 +7977,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "futures 0.3.15", "futures-timer 3.0.2", @@ -8000,7 +8000,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -8016,7 +8016,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -8036,7 +8036,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -8047,7 +8047,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "chrono", "fdlimit", @@ -8085,7 +8085,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "derive_more", "fnv", @@ -8119,7 +8119,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "blake2-rfc", "hash-db", @@ -8149,7 +8149,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "async-trait", "parking_lot 0.11.1", @@ -8162,7 +8162,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "async-trait", "derive_more", @@ -8208,7 +8208,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "derive_more", "futures 0.3.15", @@ -8232,7 +8232,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "fork-tree", "parity-scale-codec", @@ -8245,7 +8245,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "async-trait", "futures 0.3.15", @@ -8273,7 +8273,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "sc-client-api", "sp-authorship", @@ -8284,7 +8284,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "derive_more", "lazy_static", @@ -8313,7 +8313,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "derive_more", "parity-scale-codec", @@ -8330,7 +8330,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "log", "parity-scale-codec", @@ -8345,7 +8345,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "cfg-if 1.0.0", "libc", @@ -8364,7 +8364,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "async-trait", "derive_more", @@ -8405,7 +8405,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "derive_more", "finality-grandpa", @@ -8429,7 +8429,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-warp-sync" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "derive_more", "futures 0.3.15", @@ -8450,7 +8450,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "ansi_term 0.12.1", "futures 0.3.15", @@ -8468,7 +8468,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "async-trait", "derive_more", @@ -8488,7 +8488,7 @@ dependencies = [ [[package]] name = "sc-light" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "hash-db", "lazy_static", @@ -8507,7 +8507,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "async-std", "async-trait", @@ -8560,7 +8560,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "futures 0.3.15", "futures-timer 3.0.2", @@ -8577,7 +8577,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "bytes 0.5.6", "fnv", @@ -8605,7 +8605,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "futures 0.3.15", "libp2p", @@ -8618,7 +8618,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -8627,7 +8627,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "futures 0.3.15", "hash-db", @@ -8662,7 +8662,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "derive_more", "futures 0.3.15", @@ -8687,7 +8687,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "futures 0.1.29", "jsonrpc-core", @@ -8705,7 +8705,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "async-trait", "directories", @@ -8771,7 +8771,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "log", "parity-scale-codec", @@ -8786,7 +8786,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -8806,7 +8806,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "chrono", "futures 0.3.15", @@ -8826,7 +8826,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "ansi_term 0.12.1", "atty", @@ -8863,7 +8863,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -8874,7 +8874,7 @@ dependencies = [ [[package]] name = "sc-transaction-graph" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "derive_more", "futures 0.3.15", @@ -8896,7 +8896,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "futures 0.3.15", "intervalier", @@ -9369,7 +9369,7 @@ dependencies = [ [[package]] name = "sp-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "hash-db", "log", @@ -9386,7 +9386,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "blake2-rfc", "proc-macro-crate 1.0.0", @@ -9398,7 +9398,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "parity-scale-codec", "serde", @@ -9410,7 +9410,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "integer-sqrt", "num-traits", @@ -9424,7 +9424,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "parity-scale-codec", "sp-api", @@ -9436,7 +9436,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "async-trait", "parity-scale-codec", @@ -9448,7 +9448,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "parity-scale-codec", "sp-api", @@ -9460,7 +9460,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "futures 0.3.15", "log", @@ -9478,7 +9478,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "async-trait", "futures 0.3.15", @@ -9505,7 +9505,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "async-trait", "merlin", @@ -9527,7 +9527,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "parity-scale-codec", "sp-arithmetic", @@ -9537,7 +9537,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -9549,7 +9549,7 @@ dependencies = [ [[package]] name = "sp-core" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "base58", "blake2-rfc", @@ -9593,7 +9593,7 @@ dependencies = [ [[package]] name = "sp-database" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "kvdb", "parking_lot 0.11.1", @@ -9602,7 +9602,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "proc-macro2", "quote", @@ -9612,7 +9612,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "environmental", "parity-scale-codec", @@ -9623,7 +9623,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "finality-grandpa", "log", @@ -9640,7 +9640,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9654,7 +9654,7 @@ dependencies = [ [[package]] name = "sp-io" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "futures 0.3.15", "hash-db", @@ -9679,7 +9679,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "lazy_static", "sp-core", @@ -9690,7 +9690,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "async-trait", "derive_more", @@ -9707,7 +9707,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "ruzstd", "zstd", @@ -9716,7 +9716,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "parity-scale-codec", "serde", @@ -9729,7 +9729,7 @@ dependencies = [ [[package]] name = "sp-npos-elections-compact" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -9740,7 +9740,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "sp-api", "sp-core", @@ -9750,7 +9750,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "backtrace", ] @@ -9758,7 +9758,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "rustc-hash", "serde", @@ -9769,7 +9769,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "either", "hash256-std-hasher", @@ -9790,7 +9790,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9807,7 +9807,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "Inflector", "proc-macro-crate 1.0.0", @@ -9819,7 +9819,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "serde", "serde_json", @@ -9828,7 +9828,7 @@ dependencies = [ [[package]] name = "sp-session" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "parity-scale-codec", "sp-api", @@ -9841,7 +9841,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -9851,7 +9851,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "hash-db", "log", @@ -9874,12 +9874,12 @@ dependencies = [ [[package]] name = "sp-std" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" [[package]] name = "sp-storage" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9892,7 +9892,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "log", "sp-core", @@ -9905,7 +9905,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "async-trait", "futures-timer 3.0.2", @@ -9922,7 +9922,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "erased-serde", "log", @@ -9940,7 +9940,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "derive_more", "futures 0.3.15", @@ -9956,7 +9956,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "async-trait", "log", @@ -9971,7 +9971,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "hash-db", "memory-db", @@ -9985,7 +9985,7 @@ dependencies = [ [[package]] name = "sp-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "futures 0.3.15", "futures-core", @@ -9997,20 +9997,22 @@ dependencies = [ [[package]] name = "sp-version" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "impl-serde", "parity-scale-codec", + "parity-wasm 0.42.2", "serde", "sp-runtime", "sp-std", "sp-version-proc-macro", + "thiserror", ] [[package]] name = "sp-version-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "parity-scale-codec", "proc-macro-crate 1.0.0", @@ -10022,7 +10024,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -10209,7 +10211,7 @@ dependencies = [ [[package]] name = "substrate-browser-utils" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "chrono", "console_error_panic_hook", @@ -10235,7 +10237,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "platforms", ] @@ -10243,7 +10245,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.15", @@ -10266,7 +10268,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "async-std", "derive_more", @@ -10280,7 +10282,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "async-trait", "futures 0.1.29", @@ -10309,7 +10311,7 @@ dependencies = [ [[package]] name = "substrate-test-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "futures 0.3.15", "substrate-test-utils-derive", @@ -10319,7 +10321,7 @@ dependencies = [ [[package]] name = "substrate-test-utils-derive" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "proc-macro-crate 1.0.0", "quote", @@ -10329,7 +10331,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "ansi_term 0.12.1", "atty", @@ -11074,7 +11076,7 @@ checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" [[package]] name = "try-runtime-cli" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d22f0df5ec001699f85e5be8b1a00d333b15de25" +source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" dependencies = [ "frame-try-runtime", "log", diff --git a/node/client/src/lib.rs b/node/client/src/lib.rs index 7a0a2264d914..9aa522788a93 100644 --- a/node/client/src/lib.rs +++ b/node/client/src/lib.rs @@ -430,6 +430,22 @@ impl sc_client_api::StorageProvider for Client { } } + fn child_storage_keys_iter<'a>( + &self, + id: &BlockId, + child_info: ChildInfo, + prefix: Option<&'a StorageKey>, + start_key: Option<&StorageKey>, + ) -> sp_blockchain::Result>::State, Block>> { + with_client! { + self, + client, + { + client.child_storage_keys_iter(id, child_info, prefix, start_key) + } + } + } + fn child_storage_hash( &self, id: &BlockId, From 4c5cd37d44e50cdc1b910c7652f85cd374a9863a Mon Sep 17 00:00:00 2001 From: Sergei Shulepov Date: Wed, 7 Jul 2021 11:28:07 +0300 Subject: [PATCH 21/23] PVF: unresponsive worker doesn't mean the candidate is bad (#3418) * PVF: unresponsive worker doesn't mean the candidate is bad * s/if let Some/.is_some --- node/core/pvf/src/prepare/pool.rs | 19 +++++++++++++++---- node/core/pvf/src/prepare/worker.rs | 5 ++++- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/node/core/pvf/src/prepare/pool.rs b/node/core/pvf/src/prepare/pool.rs index 618c71e25383..ca7b6f65d52d 100644 --- a/node/core/pvf/src/prepare/pool.rs +++ b/node/core/pvf/src/prepare/pool.rs @@ -60,8 +60,11 @@ pub enum ToPool { /// Request the given worker to start working on the given code. /// /// Once the job either succeeded or failed, a [`FromPool::Concluded`] message will be sent back. + /// It's also possible that the worker dies before handling the message in which case [`FromPool::Rip`] + /// will be sent back. /// - /// This should not be sent again until the concluded message is received. + /// In either case, the worker is considered busy and no further `StartWork` messages should be + /// sent until either `Concluded` or `Rip` message is received. StartWork { worker: Worker, code: Arc>, @@ -176,8 +179,9 @@ async fn purge_dead( } } for w in to_remove { - let _ = spawned.remove(w); - reply(from_pool, FromPool::Rip(w))?; + if spawned.remove(w).is_some() { + reply(from_pool, FromPool::Rip(w))?; + } } Ok(()) } @@ -308,8 +312,15 @@ fn handle_mux( Ok(()) } + Outcome::Unreachable => { + if spawned.remove(worker).is_some() { + reply(from_pool, FromPool::Rip(worker))?; + } + + Ok(()) + } Outcome::DidntMakeIt => { - if let Some(_data) = spawned.remove(worker) { + if spawned.remove(worker).is_some() { reply(from_pool, FromPool::Concluded(worker, true))?; } diff --git a/node/core/pvf/src/prepare/worker.rs b/node/core/pvf/src/prepare/worker.rs index 307396b01af5..a7854e83e6bb 100644 --- a/node/core/pvf/src/prepare/worker.rs +++ b/node/core/pvf/src/prepare/worker.rs @@ -55,6 +55,9 @@ pub async fn spawn( pub enum Outcome { /// The worker has finished the work assigned to it. Concluded(IdleWorker), + /// The host tried to reach the worker but failed. This is most likely because the worked was + /// killed by the system. + Unreachable, /// The execution was interrupted abruptly and the worker is not available anymore. For example, /// this could've happen because the worker hadn't finished the work until the given deadline. /// @@ -96,7 +99,7 @@ pub async fn start_work( "failed to send a prepare request: {:?}", err, ); - return Outcome::DidntMakeIt; + return Outcome::Unreachable; } // Wait for the result from the worker, keeping in mind that there may be a timeout, the From 2bad8079a73dc92d83bc3c0e5d81de388d36cf24 Mon Sep 17 00:00:00 2001 From: Sergei Shulepov Date: Wed, 7 Jul 2021 12:55:00 +0300 Subject: [PATCH 22/23] pvf: Enable stack depth metering & NaN canonicalization (#3373) * Add `canonicalize_nans` and enable `stack_depth_metering` * Update to the latest change in the substrate PR * Explain why the numbers are what they are. * Update Substrate to the latest master Co-authored-by: parity-processbot <> --- Cargo.lock | 366 ++++++++++++----------------- node/core/pvf/src/executor_intf.rs | 20 +- 2 files changed, 171 insertions(+), 215 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2c80d384d2b9..bd81295b88f8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1969,7 +1969,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "parity-scale-codec", ] @@ -1987,7 +1987,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "3.1.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-support", "frame-system", @@ -2006,7 +2006,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "Inflector", "chrono", @@ -2029,7 +2029,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-support", "frame-system", @@ -2042,7 +2042,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-support", "frame-system", @@ -2057,7 +2057,7 @@ dependencies = [ [[package]] name = "frame-metadata" version = "13.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "parity-scale-codec", "serde", @@ -2068,7 +2068,7 @@ dependencies = [ [[package]] name = "frame-support" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "bitflags", "frame-metadata", @@ -2094,7 +2094,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -2106,7 +2106,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.0.0", @@ -2118,7 +2118,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "proc-macro2", "quote", @@ -2128,7 +2128,7 @@ dependencies = [ [[package]] name = "frame-support-test" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-metadata", "frame-support", @@ -2148,7 +2148,7 @@ dependencies = [ [[package]] name = "frame-system" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -2165,7 +2165,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-support", @@ -2179,7 +2179,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "parity-scale-codec", "sp-api", @@ -2188,7 +2188,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-support", "parity-scale-codec", @@ -3458,12 +3458,6 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" -[[package]] -name = "leb128" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3576a87f2ba00f6f106fdfcd16db1d698d648a26ad8e0573cad8537c3c362d2a" - [[package]] name = "libc" version = "0.2.91" @@ -4615,7 +4609,7 @@ checksum = "13370dae44474229701bb69b90b4f4dca6404cb0357a2d50d635f1171dc3aa7b" [[package]] name = "pallet-authority-discovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-support", "frame-system", @@ -4630,7 +4624,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-support", "frame-system", @@ -4644,7 +4638,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-support", @@ -4667,7 +4661,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-support", @@ -4696,7 +4690,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-support", @@ -4774,7 +4768,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-support", @@ -4790,7 +4784,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-support", @@ -4805,7 +4799,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4826,7 +4820,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-support", @@ -4843,7 +4837,7 @@ dependencies = [ [[package]] name = "pallet-gilt" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-support", @@ -4857,7 +4851,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "3.1.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-support", @@ -4879,7 +4873,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4894,7 +4888,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-support", @@ -4913,7 +4907,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-support", @@ -4929,7 +4923,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-support", @@ -4944,7 +4938,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "ckb-merkle-mountain-range", "frame-benchmarking", @@ -4961,7 +4955,7 @@ dependencies = [ [[package]] name = "pallet-mmr-primitives" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-support", "frame-system", @@ -4977,7 +4971,7 @@ dependencies = [ [[package]] name = "pallet-mmr-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -4995,7 +4989,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-support", @@ -5010,7 +5004,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-support", "frame-system", @@ -5023,7 +5017,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-support", "frame-system", @@ -5039,7 +5033,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5061,7 +5055,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-support", @@ -5076,7 +5070,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "enumflags2", "frame-support", @@ -5090,7 +5084,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-support", @@ -5105,7 +5099,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-support", "frame-system", @@ -5125,7 +5119,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-support", @@ -5141,7 +5135,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-support", "frame-system", @@ -5154,7 +5148,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5178,7 +5172,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -5189,7 +5183,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "log", "sp-arithmetic", @@ -5198,7 +5192,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-support", "frame-system", @@ -5211,7 +5205,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-support", @@ -5229,7 +5223,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-support", @@ -5244,7 +5238,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-support", "frame-system", @@ -5260,7 +5254,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -5277,7 +5271,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5288,7 +5282,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-support", @@ -5304,7 +5298,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-benchmarking", "frame-support", @@ -5319,7 +5313,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "enumflags2", "frame-benchmarking", @@ -7638,7 +7632,7 @@ dependencies = [ [[package]] name = "remote-externalities" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "env_logger 0.8.4", "hex", @@ -7936,7 +7930,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "log", "sp-core", @@ -7948,7 +7942,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "async-trait", "derive_more", @@ -7977,7 +7971,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "futures 0.3.15", "futures-timer 3.0.2", @@ -8000,7 +7994,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -8016,7 +8010,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -8036,7 +8030,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -8047,7 +8041,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "chrono", "fdlimit", @@ -8085,7 +8079,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "derive_more", "fnv", @@ -8119,7 +8113,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "blake2-rfc", "hash-db", @@ -8149,7 +8143,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "async-trait", "parking_lot 0.11.1", @@ -8162,7 +8156,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "async-trait", "derive_more", @@ -8208,7 +8202,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "derive_more", "futures 0.3.15", @@ -8232,7 +8226,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "fork-tree", "parity-scale-codec", @@ -8245,7 +8239,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "async-trait", "futures 0.3.15", @@ -8273,7 +8267,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "sc-client-api", "sp-authorship", @@ -8284,7 +8278,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "derive_more", "lazy_static", @@ -8313,7 +8307,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "derive_more", "parity-scale-codec", @@ -8330,7 +8324,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "log", "parity-scale-codec", @@ -8345,13 +8339,14 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "cfg-if 1.0.0", "libc", "log", "parity-scale-codec", "parity-wasm 0.42.2", + "pwasm-utils", "sc-allocator", "sc-executor-common", "scoped-tls", @@ -8364,7 +8359,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "async-trait", "derive_more", @@ -8405,7 +8400,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "derive_more", "finality-grandpa", @@ -8429,7 +8424,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-warp-sync" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "derive_more", "futures 0.3.15", @@ -8450,7 +8445,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "ansi_term 0.12.1", "futures 0.3.15", @@ -8468,7 +8463,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "async-trait", "derive_more", @@ -8488,7 +8483,7 @@ dependencies = [ [[package]] name = "sc-light" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "hash-db", "lazy_static", @@ -8507,7 +8502,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "async-std", "async-trait", @@ -8560,7 +8555,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "futures 0.3.15", "futures-timer 3.0.2", @@ -8577,7 +8572,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "bytes 0.5.6", "fnv", @@ -8605,7 +8600,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "futures 0.3.15", "libp2p", @@ -8618,7 +8613,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -8627,7 +8622,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "futures 0.3.15", "hash-db", @@ -8662,7 +8657,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "derive_more", "futures 0.3.15", @@ -8687,7 +8682,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "futures 0.1.29", "jsonrpc-core", @@ -8705,7 +8700,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "async-trait", "directories", @@ -8771,7 +8766,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "log", "parity-scale-codec", @@ -8786,7 +8781,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -8806,7 +8801,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "chrono", "futures 0.3.15", @@ -8826,7 +8821,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "ansi_term 0.12.1", "atty", @@ -8863,7 +8858,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -8874,7 +8869,7 @@ dependencies = [ [[package]] name = "sc-transaction-graph" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "derive_more", "futures 0.3.15", @@ -8896,7 +8891,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "futures 0.3.15", "intervalier", @@ -8958,26 +8953,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" -[[package]] -name = "scroll" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb2332cb595d33f7edd5700f4cbf94892e680c7f0ae56adab58a35190b66cb1" -dependencies = [ - "scroll_derive", -] - -[[package]] -name = "scroll_derive" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e367622f934864ffa1c704ba2b82280aab856e3d8213c84c5720257eb34b15b9" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "sct" version = "0.6.0" @@ -9369,7 +9344,7 @@ dependencies = [ [[package]] name = "sp-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "hash-db", "log", @@ -9386,7 +9361,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "blake2-rfc", "proc-macro-crate 1.0.0", @@ -9398,7 +9373,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "parity-scale-codec", "serde", @@ -9410,7 +9385,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "integer-sqrt", "num-traits", @@ -9424,7 +9399,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "parity-scale-codec", "sp-api", @@ -9436,7 +9411,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "async-trait", "parity-scale-codec", @@ -9448,7 +9423,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "parity-scale-codec", "sp-api", @@ -9460,7 +9435,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "futures 0.3.15", "log", @@ -9478,7 +9453,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "async-trait", "futures 0.3.15", @@ -9505,7 +9480,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "async-trait", "merlin", @@ -9527,7 +9502,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "parity-scale-codec", "sp-arithmetic", @@ -9537,7 +9512,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -9549,7 +9524,7 @@ dependencies = [ [[package]] name = "sp-core" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "base58", "blake2-rfc", @@ -9593,7 +9568,7 @@ dependencies = [ [[package]] name = "sp-database" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "kvdb", "parking_lot 0.11.1", @@ -9602,7 +9577,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "proc-macro2", "quote", @@ -9612,7 +9587,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "environmental", "parity-scale-codec", @@ -9623,7 +9598,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "finality-grandpa", "log", @@ -9640,7 +9615,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9654,7 +9629,7 @@ dependencies = [ [[package]] name = "sp-io" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "futures 0.3.15", "hash-db", @@ -9679,7 +9654,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "lazy_static", "sp-core", @@ -9690,7 +9665,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "async-trait", "derive_more", @@ -9707,7 +9682,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "ruzstd", "zstd", @@ -9716,7 +9691,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "parity-scale-codec", "serde", @@ -9729,7 +9704,7 @@ dependencies = [ [[package]] name = "sp-npos-elections-compact" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -9740,7 +9715,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "sp-api", "sp-core", @@ -9750,7 +9725,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "backtrace", ] @@ -9758,7 +9733,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "rustc-hash", "serde", @@ -9769,7 +9744,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "either", "hash256-std-hasher", @@ -9790,7 +9765,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9807,7 +9782,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "Inflector", "proc-macro-crate 1.0.0", @@ -9819,7 +9794,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "serde", "serde_json", @@ -9828,7 +9803,7 @@ dependencies = [ [[package]] name = "sp-session" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "parity-scale-codec", "sp-api", @@ -9841,7 +9816,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -9851,7 +9826,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "hash-db", "log", @@ -9874,12 +9849,12 @@ dependencies = [ [[package]] name = "sp-std" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" [[package]] name = "sp-storage" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9892,7 +9867,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "log", "sp-core", @@ -9905,7 +9880,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "async-trait", "futures-timer 3.0.2", @@ -9922,7 +9897,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "erased-serde", "log", @@ -9940,7 +9915,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "derive_more", "futures 0.3.15", @@ -9956,7 +9931,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "async-trait", "log", @@ -9971,7 +9946,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "hash-db", "memory-db", @@ -9985,7 +9960,7 @@ dependencies = [ [[package]] name = "sp-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "futures 0.3.15", "futures-core", @@ -9997,7 +9972,7 @@ dependencies = [ [[package]] name = "sp-version" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "impl-serde", "parity-scale-codec", @@ -10012,7 +9987,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "parity-scale-codec", "proc-macro-crate 1.0.0", @@ -10024,7 +9999,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -10211,7 +10186,7 @@ dependencies = [ [[package]] name = "substrate-browser-utils" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "chrono", "console_error_panic_hook", @@ -10237,7 +10212,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "platforms", ] @@ -10245,7 +10220,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.15", @@ -10268,7 +10243,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "async-std", "derive_more", @@ -10282,7 +10257,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "async-trait", "futures 0.1.29", @@ -10311,7 +10286,7 @@ dependencies = [ [[package]] name = "substrate-test-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "futures 0.3.15", "substrate-test-utils-derive", @@ -10321,7 +10296,7 @@ dependencies = [ [[package]] name = "substrate-test-utils-derive" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "proc-macro-crate 1.0.0", "quote", @@ -10331,7 +10306,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "ansi_term 0.12.1", "atty", @@ -11076,7 +11051,7 @@ checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" [[package]] name = "try-runtime-cli" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7a3a0905eb0d8211a093f52f40b7fb8f4f034f49" +source = "git+https://github.com/paritytech/substrate?branch=master#3cd75117765c4a63d40c00aa41e1bf12135c237b" dependencies = [ "frame-try-runtime", "log", @@ -11509,11 +11484,9 @@ dependencies = [ "wasmparser", "wasmtime-cache", "wasmtime-environ", - "wasmtime-fiber", "wasmtime-jit", "wasmtime-profiling", "wasmtime-runtime", - "wat", "winapi 0.3.9", ] @@ -11588,17 +11561,6 @@ dependencies = [ "wasmparser", ] -[[package]] -name = "wasmtime-fiber" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a089d44cd7e2465d41a53b840a5b4fca1bf6d1ecfebc970eac9592b34ea5f0b3" -dependencies = [ - "cc", - "libc", - "winapi 0.3.9", -] - [[package]] name = "wasmtime-jit" version = "0.27.0" @@ -11654,11 +11616,8 @@ checksum = "e24364d522dcd67c897c8fffc42e5bdfc57207bbb6d7eeade0da9d4a7d70105b" dependencies = [ "anyhow", "cfg-if 1.0.0", - "gimli 0.24.0", "lazy_static", "libc", - "object 0.24.0", - "scroll", "serde", "target-lexicon", "wasmtime-environ", @@ -11686,28 +11645,9 @@ dependencies = [ "region", "thiserror", "wasmtime-environ", - "wasmtime-fiber", "winapi 0.3.9", ] -[[package]] -name = "wast" -version = "35.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a5800e9f86a1eae935e38bea11e60fd253f6d514d153fb39b3e5535a7b37b56" -dependencies = [ - "leb128", -] - -[[package]] -name = "wat" -version = "1.0.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ec280a739b69173e0ffd12c1658507996836ba4e992ed9bc1e5385a0bd72a02" -dependencies = [ - "wast", -] - [[package]] name = "web-sys" version = "0.3.46" diff --git a/node/core/pvf/src/executor_intf.rs b/node/core/pvf/src/executor_intf.rs index 81fc4fb86494..84a2d43a0771 100644 --- a/node/core/pvf/src/executor_intf.rs +++ b/node/core/pvf/src/executor_intf.rs @@ -21,7 +21,7 @@ use sc_executor_common::{ runtime_blob::RuntimeBlob, wasm_runtime::{InvokeMethod, WasmModule as _}, }; -use sc_executor_wasmtime::{Config, Semantics}; +use sc_executor_wasmtime::{Config, Semantics, DeterministicStackLimit}; use sp_core::{ storage::{ChildInfo, TrackedStorageKey}, }; @@ -34,7 +34,23 @@ const CONFIG: Config = Config { cache_path: None, semantics: Semantics { fast_instance_reuse: false, - stack_depth_metering: false, + // Enable determinstic stack limit to pin down the exact number of items the wasmtime stack + // can contain before it traps with stack overflow. + // + // Here is how the values below were chosen. + // + // At the moment of writing, the default native stack size limit is 1 MiB. Assuming a logical item + // (see the docs about the field and the instrumentation algorithm) is 8 bytes, 1 MiB can + // fit 2x 65536 logical items. + // + // Since reaching the native stack limit is undesirable, we halven the logical item limit and + // also increase the native 256x. This hopefully should preclude wasm code from reaching + // the stack limit set by the wasmtime. + deterministic_stack_limit: Some(DeterministicStackLimit { + logical_max: 65536, + native_stack_max: 256 * 1024 * 1024, + }), + canonicalize_nans: true, }, }; From 32397750cb78551e149348d360a70576d5de7d0e Mon Sep 17 00:00:00 2001 From: Andreas Doerr Date: Wed, 7 Jul 2021 21:40:37 +0200 Subject: [PATCH 23/23] Bump BEEFY (#3430) --- Cargo.lock | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bd81295b88f8..999750c0ee9a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -492,9 +492,10 @@ dependencies = [ [[package]] name = "beefy-gadget" version = "0.1.0" -source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=master#10872bb2542c3c93303e27e085b9725f5683532e" +source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=master#4808f96849676024b156581485eae64f95133e97" dependencies = [ "beefy-primitives", + "fnv", "futures 0.3.15", "hex", "log", @@ -520,7 +521,7 @@ dependencies = [ [[package]] name = "beefy-gadget-rpc" version = "0.1.0" -source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=master#10872bb2542c3c93303e27e085b9725f5683532e" +source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=master#4808f96849676024b156581485eae64f95133e97" dependencies = [ "beefy-gadget", "beefy-primitives", @@ -541,7 +542,7 @@ dependencies = [ [[package]] name = "beefy-primitives" version = "0.1.0" -source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=master#10872bb2542c3c93303e27e085b9725f5683532e" +source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=master#4808f96849676024b156581485eae64f95133e97" dependencies = [ "parity-scale-codec", "sp-api", @@ -4675,7 +4676,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "0.1.0" -source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=master#10872bb2542c3c93303e27e085b9725f5683532e" +source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=master#4808f96849676024b156581485eae64f95133e97" dependencies = [ "beefy-primitives", "frame-support",