From ee42efdb40c3c5cfff691546a3acc6cecc761e3f Mon Sep 17 00:00:00 2001 From: Sergei Shulepov Date: Tue, 21 Dec 2021 17:04:34 +0100 Subject: [PATCH 1/3] pvf-precheck: update rustdoc for paras module (#4459) Basically updates the docs for the paras module. --- runtime/parachains/src/paras.rs | 95 ++++++++++++++++++++++++++++++--- 1 file changed, 89 insertions(+), 6 deletions(-) diff --git a/runtime/parachains/src/paras.rs b/runtime/parachains/src/paras.rs index 2997f302da44..56eb26f30a06 100644 --- a/runtime/parachains/src/paras.rs +++ b/runtime/parachains/src/paras.rs @@ -14,14 +14,97 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -//! The paras pallet is responsible for storing data on parachains and parathreads. +//! The paras pallet acts as the main registry of paras. //! -//! 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. +//! # Tracking State of Paras +//! +//! The most important responsibility of this module is to track which parachains and parathreads +//! are active and what their current state is. The current state of a para consists of the current +//! head data and the current validation code (AKA Parachain Validation Function (PVF)). +//! +//! A para is not considered live until it is registered and activated in this pallet. +//! +//! The set of parachains and parathreads cannot change except at session boundaries. This is +//! primarily to ensure that the number and meaning of bits required for the availability bitfields +//! does not change except at session boundaries. +//! +//! # Validation Code Upgrades +//! +//! When a para signals the validation code upgrade it will be processed by this module. This can +//! be in turn split into more fine grained items: +//! +//! - Part of the acceptance criteria checks if the para can indeed signal an upgrade, +//! +//! - When the candidate is enacted, this module schedules code upgrade, storing the prospective +//! validation code. +//! +//! - Actually assign the prospective validation code to be the current one after all conditions are +//! fulfilled. +//! +//! The conditions that must be met before the para can use the new validation code are: +//! +//! 1. The validation code should have been "soaked" in the storage for a given number of blocks. That +//! is, the validation code should have been stored in on-chain storage for some time, so that in +//! case of a revert with a non-extreme height difference, that validation code can still be +//! found on-chain. +//! +//! 2. The validation code was vetted by the validators and declared as non-malicious in a processes +//! known as PVF pre-checking. +//! +//! # Validation Code Management +//! +//! Potentially, one validation code can be used by several different paras. For example, during +//! initial stages of deployment several paras can use the same "shell" validation code, or +//! there can be shards of the same para that use the same validation code. +//! +//! In case a validation code ceases to have any users it must be pruned from the on-chain storage. +//! +//! # Para Lifecycle Management +//! +//! A para can be in one of the two stable states: it is either a parachain or a parathread. +//! +//! However, in order to get into one of those two states, it must first be onboarded. Onboarding +//! can be only enacted at session boundaries. Onboarding must take at least one full session. +//! Moreover, a brand new validation code should go through the PVF pre-checking process. +//! +//! Once the para is in one of the two stable states, it can switch to the other stable state or to +//! initiate offboarding process. The result of offboarding is removal of all data related to that +//! para. +//! +//! # PVF Pre-checking +//! +//! As was mentioned above, a brand new validation code should go through a process of approval. +//! As part of this process, validators from the active set will take the validation code and +//! check if it is malicious. Once they did that and have their judgement, either accept or reject, +//! they issue a statement in a form of an unsigned extrinsic. This extrinsic is processed by this +//! pallet. Once supermajority is gained for accept, then the process that initiated the check +//! is resumed (as mentioned before this can be either upgrading of validation code or onboarding). +//! If supermajority is gained for reject, then the process is canceled. +//! +//! Below is a state diagram that depicts states of a single PVF pre-checking vote. +//! +//! ```text +//! ┌──────────┐ +//! supermajority │ │ +//! ┌────────for───────────▶│ accepted │ +//! vote────┐ │ │ │ +//! │ │ │ └──────────┘ +//! │ │ │ +//! │ ┌───────┐ +//! │ │ │ +//! └─▶│ init │────supermajority ┌──────────┐ +//! │ │ against │ │ +//! └───────┘ └──────────▶│ rejected │ +//! ▲ │ │ │ +//! │ │ session └──────────┘ +//! │ └──change +//! │ │ +//! │ ▼ +//! ┌─────┐ +//! start──────▶│reset│ +//! └─────┘ +//! ``` //! -//! A para is not considered live until it is registered and activated in this pallet. Activation can -//! only occur at session boundaries. use crate::{configuration, initializer::SessionChangeNotification, shared}; use bitvec::{order::Lsb0 as BitOrderLsb0, vec::BitVec}; From 69b890c9e69d55c558e10a95c010fe745b7a99c7 Mon Sep 17 00:00:00 2001 From: Adrian Catangiu Date: Tue, 21 Dec 2021 18:08:49 +0200 Subject: [PATCH 2/3] Companion for Substrate#10445 (#4506) * runtimes: use updated BeefyApi * update lockfile for substrate --- Cargo.lock | 336 ++++++++++++++++---------------- runtime/kusama/src/lib.rs | 4 +- runtime/polkadot/src/lib.rs | 4 +- runtime/rococo/src/lib.rs | 2 +- runtime/test-runtime/src/lib.rs | 4 +- runtime/westend/src/lib.rs | 4 +- 6 files changed, 177 insertions(+), 177 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fe63ae17da10..8a3a6e06078f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -448,7 +448,7 @@ dependencies = [ [[package]] name = "beefy-gadget" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "beefy-primitives", "fnv", @@ -476,7 +476,7 @@ dependencies = [ [[package]] name = "beefy-gadget-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "beefy-gadget", "beefy-primitives", @@ -496,12 +496,12 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" [[package]] name = "beefy-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "parity-scale-codec", "scale-info", @@ -1845,7 +1845,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "parity-scale-codec", ] @@ -1863,7 +1863,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-support", "frame-system", @@ -1884,7 +1884,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "Inflector", "chrono", @@ -1910,7 +1910,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-support", "frame-system", @@ -1924,7 +1924,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-support", "frame-system", @@ -1952,7 +1952,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "bitflags", "frame-metadata", @@ -1981,7 +1981,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -1993,7 +1993,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.1.0", @@ -2005,7 +2005,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "proc-macro2", "quote", @@ -2015,7 +2015,7 @@ dependencies = [ [[package]] name = "frame-support-test" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-support", "frame-support-test-pallet", @@ -2038,7 +2038,7 @@ dependencies = [ [[package]] name = "frame-support-test-pallet" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-support", "frame-system", @@ -2049,7 +2049,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-support", "log", @@ -2066,7 +2066,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -2081,7 +2081,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "parity-scale-codec", "sp-api", @@ -2090,7 +2090,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-support", "sp-api", @@ -2292,7 +2292,7 @@ dependencies = [ [[package]] name = "generate-bags" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "chrono", "frame-election-provider-support", @@ -2377,9 +2377,9 @@ checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4" [[package]] name = "git2" -version = "0.13.24" +version = "0.13.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "845e007a28f1fcac035715988a234e8ec5458fd825b20a20c7dec74237ef341f" +checksum = "f29229cc1b24c0e6062f6e742aa3e256492a5323365e5ed3413599f8a5eff7d6" dependencies = [ "bitflags", "libc", @@ -3284,9 +3284,9 @@ checksum = "1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125" [[package]] name = "libgit2-sys" -version = "0.12.25+1.3.0" +version = "0.12.26+1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f68169ef08d6519b2fe133ecc637408d933c0174b23b80bb2f79828966fbaab" +checksum = "19e1c899248e606fbfe68dcb31d8b0176ebab833b103824af31bddf4b7457494" dependencies = [ "cc", "libc", @@ -4563,7 +4563,7 @@ checksum = "2386b4ebe91c2f7f51082d4cefa145d030e33a1842a96b12e4885cc3c01f7a55" [[package]] name = "pallet-assets" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -4577,7 +4577,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-support", "frame-system", @@ -4593,7 +4593,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-support", "frame-system", @@ -4608,7 +4608,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -4632,7 +4632,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4652,7 +4652,7 @@ dependencies = [ [[package]] name = "pallet-bags-list-remote-tests" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "clap", "frame-election-provider-support", @@ -4674,7 +4674,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -4689,7 +4689,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "beefy-primitives", "frame-support", @@ -4705,7 +4705,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "beefy-merkle-tree", "beefy-primitives", @@ -4730,7 +4730,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -4814,7 +4814,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -4831,7 +4831,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -4847,7 +4847,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4871,7 +4871,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -4889,7 +4889,7 @@ dependencies = [ [[package]] name = "pallet-gilt" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -4904,7 +4904,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -4927,7 +4927,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4943,7 +4943,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -4963,7 +4963,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -4980,7 +4980,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -4997,7 +4997,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "ckb-merkle-mountain-range", "frame-benchmarking", @@ -5015,7 +5015,7 @@ dependencies = [ [[package]] name = "pallet-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-support", "frame-system", @@ -5031,7 +5031,7 @@ dependencies = [ [[package]] name = "pallet-mmr-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -5048,7 +5048,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -5063,7 +5063,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-support", "frame-system", @@ -5077,7 +5077,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-support", "frame-system", @@ -5094,7 +5094,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5117,7 +5117,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -5133,7 +5133,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -5148,7 +5148,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-support", "frame-system", @@ -5162,7 +5162,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -5178,7 +5178,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-support", "frame-system", @@ -5199,7 +5199,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -5215,7 +5215,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-support", "frame-system", @@ -5229,7 +5229,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5252,7 +5252,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "proc-macro-crate 1.1.0", "proc-macro2", @@ -5263,7 +5263,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "log", "sp-arithmetic", @@ -5272,7 +5272,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-support", "frame-system", @@ -5286,7 +5286,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -5304,7 +5304,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -5323,7 +5323,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-support", "frame-system", @@ -5340,7 +5340,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -5357,7 +5357,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5368,7 +5368,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -5385,7 +5385,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -5401,7 +5401,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -7812,7 +7812,7 @@ dependencies = [ [[package]] name = "remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "env_logger 0.9.0", "jsonrpsee", @@ -8103,7 +8103,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "log", "sp-core", @@ -8114,7 +8114,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "async-trait", "derive_more", @@ -8141,7 +8141,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "futures 0.3.19", "futures-timer 3.0.2", @@ -8164,7 +8164,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -8180,7 +8180,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "impl-trait-for-tuples", "memmap2 0.5.0", @@ -8197,7 +8197,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "proc-macro-crate 1.1.0", "proc-macro2", @@ -8208,7 +8208,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "chrono", "fdlimit", @@ -8246,7 +8246,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "fnv", "futures 0.3.19", @@ -8274,7 +8274,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "hash-db", "kvdb", @@ -8299,7 +8299,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "async-trait", "futures 0.3.19", @@ -8323,7 +8323,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "async-trait", "derive_more", @@ -8366,7 +8366,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "derive_more", "futures 0.3.19", @@ -8390,7 +8390,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "fork-tree", "parity-scale-codec", @@ -8403,7 +8403,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "assert_matches", "async-trait", @@ -8437,7 +8437,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "async-trait", "futures 0.3.19", @@ -8462,7 +8462,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "sc-client-api", "sp-authorship", @@ -8473,7 +8473,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "lazy_static", "libsecp256k1", @@ -8501,7 +8501,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "derive_more", "environmental", @@ -8519,7 +8519,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "log", "parity-scale-codec", @@ -8535,7 +8535,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "cfg-if 1.0.0", "libc", @@ -8553,7 +8553,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "async-trait", "derive_more", @@ -8590,7 +8590,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "derive_more", "finality-grandpa", @@ -8614,7 +8614,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "ansi_term", "futures 0.3.19", @@ -8631,7 +8631,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "async-trait", "derive_more", @@ -8646,7 +8646,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "async-std", "async-trait", @@ -8697,7 +8697,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "futures 0.3.19", "futures-timer 3.0.2", @@ -8713,7 +8713,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "bytes 1.1.0", "fnv", @@ -8741,7 +8741,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "futures 0.3.19", "libp2p", @@ -8754,7 +8754,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -8763,7 +8763,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "futures 0.3.19", "hash-db", @@ -8794,7 +8794,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "futures 0.3.19", "jsonrpc-core", @@ -8819,7 +8819,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "futures 0.3.19", "jsonrpc-core", @@ -8836,7 +8836,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "async-trait", "directories", @@ -8900,7 +8900,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "log", "parity-scale-codec", @@ -8914,7 +8914,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -8936,7 +8936,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "chrono", "futures 0.3.19", @@ -8954,7 +8954,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "ansi_term", "atty", @@ -8985,7 +8985,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "proc-macro-crate 1.1.0", "proc-macro2", @@ -8996,7 +8996,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "futures 0.3.19", "intervalier", @@ -9023,7 +9023,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "derive_more", "futures 0.3.19", @@ -9037,7 +9037,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "futures 0.3.19", "futures-timer 3.0.2", @@ -9442,7 +9442,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "hash-db", "log", @@ -9459,7 +9459,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "blake2-rfc", "proc-macro-crate 1.1.0", @@ -9471,7 +9471,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "parity-scale-codec", "scale-info", @@ -9484,7 +9484,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "integer-sqrt", "num-traits", @@ -9499,7 +9499,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "parity-scale-codec", "scale-info", @@ -9512,7 +9512,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "async-trait", "parity-scale-codec", @@ -9524,7 +9524,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "parity-scale-codec", "sp-api", @@ -9536,7 +9536,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "futures 0.3.19", "log", @@ -9554,7 +9554,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "async-trait", "futures 0.3.19", @@ -9573,7 +9573,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "async-trait", "merlin", @@ -9596,7 +9596,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "parity-scale-codec", "scale-info", @@ -9608,7 +9608,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -9620,7 +9620,7 @@ dependencies = [ [[package]] name = "sp-core" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "base58", "bitflags", @@ -9668,7 +9668,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "blake2-rfc", "byteorder", @@ -9681,7 +9681,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "proc-macro2", "quote", @@ -9692,7 +9692,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "kvdb", "parking_lot", @@ -9701,7 +9701,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "proc-macro2", "quote", @@ -9711,7 +9711,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.10.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "environmental", "parity-scale-codec", @@ -9722,7 +9722,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "finality-grandpa", "log", @@ -9740,7 +9740,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9754,7 +9754,7 @@ dependencies = [ [[package]] name = "sp-io" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "futures 0.3.19", "hash-db", @@ -9778,7 +9778,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "lazy_static", "sp-core", @@ -9789,7 +9789,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.10.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "async-trait", "derive_more", @@ -9806,7 +9806,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "zstd", ] @@ -9814,7 +9814,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "parity-scale-codec", "scale-info", @@ -9829,7 +9829,7 @@ dependencies = [ [[package]] name = "sp-npos-elections-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "proc-macro-crate 1.1.0", "proc-macro2", @@ -9840,7 +9840,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "sp-api", "sp-core", @@ -9850,7 +9850,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "backtrace", "lazy_static", @@ -9860,7 +9860,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "rustc-hash", "serde", @@ -9870,7 +9870,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "either", "hash256-std-hasher", @@ -9892,7 +9892,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9909,7 +9909,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "Inflector", "proc-macro-crate 1.1.0", @@ -9921,7 +9921,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "serde", "serde_json", @@ -9930,7 +9930,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "parity-scale-codec", "scale-info", @@ -9944,7 +9944,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "parity-scale-codec", "scale-info", @@ -9955,7 +9955,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.10.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "hash-db", "log", @@ -9978,12 +9978,12 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" [[package]] name = "sp-storage" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9996,7 +9996,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "log", "sp-core", @@ -10009,7 +10009,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "async-trait", "futures-timer 3.0.2", @@ -10025,7 +10025,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "parity-scale-codec", "sp-std", @@ -10037,7 +10037,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "sp-api", "sp-runtime", @@ -10046,7 +10046,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "async-trait", "log", @@ -10062,7 +10062,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "hash-db", "memory-db", @@ -10077,7 +10077,7 @@ dependencies = [ [[package]] name = "sp-version" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "impl-serde", "parity-scale-codec", @@ -10093,7 +10093,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -10104,7 +10104,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "impl-trait-for-tuples", "log", @@ -10317,7 +10317,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "platforms", ] @@ -10325,7 +10325,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.19", @@ -10347,7 +10347,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "async-std", "derive_more", @@ -10361,7 +10361,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "async-trait", "futures 0.3.19", @@ -10387,7 +10387,7 @@ dependencies = [ [[package]] name = "substrate-test-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "futures 0.3.19", "substrate-test-utils-derive", @@ -10397,7 +10397,7 @@ dependencies = [ [[package]] name = "substrate-test-utils-derive" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "proc-macro-crate 1.1.0", "proc-macro2", @@ -10408,7 +10408,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "ansi_term", "build-helper", @@ -10550,7 +10550,7 @@ dependencies = [ [[package]] name = "test-runner" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "frame-system", "futures 0.3.19", @@ -10991,7 +10991,7 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#d18705ee7b5b654d3947558fea6dbd0701ac3ecc" +source = "git+https://github.com/paritytech/substrate?branch=master#5cd78cfeead8bddc79f12f6747a92233e14992ab" dependencies = [ "jsonrpsee", "log", diff --git a/runtime/kusama/src/lib.rs b/runtime/kusama/src/lib.rs index 8c7f156f3240..850345ef3be8 100644 --- a/runtime/kusama/src/lib.rs +++ b/runtime/kusama/src/lib.rs @@ -1828,9 +1828,9 @@ sp_api::impl_runtime_apis! { } impl beefy_primitives::BeefyApi for Runtime { - fn validator_set() -> beefy_primitives::ValidatorSet { + fn validator_set() -> Option> { // dummy implementation due to lack of BEEFY pallet. - beefy_primitives::ValidatorSet { validators: Vec::new(), id: 0 } + None } } diff --git a/runtime/polkadot/src/lib.rs b/runtime/polkadot/src/lib.rs index 091879aaee39..6f2f532e5533 100644 --- a/runtime/polkadot/src/lib.rs +++ b/runtime/polkadot/src/lib.rs @@ -1795,9 +1795,9 @@ sp_api::impl_runtime_apis! { } impl beefy_primitives::BeefyApi for Runtime { - fn validator_set() -> beefy_primitives::ValidatorSet { + fn validator_set() -> Option> { // dummy implementation due to lack of BEEFY pallet. - beefy_primitives::ValidatorSet { validators: Vec::new(), id: 0 } + None } } diff --git a/runtime/rococo/src/lib.rs b/runtime/rococo/src/lib.rs index 2e1b61aafeb9..45e9277212ae 100644 --- a/runtime/rococo/src/lib.rs +++ b/runtime/rococo/src/lib.rs @@ -1490,7 +1490,7 @@ sp_api::impl_runtime_apis! { } impl beefy_primitives::BeefyApi for Runtime { - fn validator_set() -> beefy_primitives::ValidatorSet { + fn validator_set() -> Option> { Beefy::validator_set() } } diff --git a/runtime/test-runtime/src/lib.rs b/runtime/test-runtime/src/lib.rs index d0f3654df1b4..55e7d966e2c4 100644 --- a/runtime/test-runtime/src/lib.rs +++ b/runtime/test-runtime/src/lib.rs @@ -887,9 +887,9 @@ sp_api::impl_runtime_apis! { } impl beefy_primitives::BeefyApi for Runtime { - fn validator_set() -> beefy_primitives::ValidatorSet { + fn validator_set() -> Option> { // dummy implementation due to lack of BEEFY pallet. - beefy_primitives::ValidatorSet { validators: Vec::new(), id: 0 } + None } } diff --git a/runtime/westend/src/lib.rs b/runtime/westend/src/lib.rs index e68b42491e5c..ac193ca12cf1 100644 --- a/runtime/westend/src/lib.rs +++ b/runtime/westend/src/lib.rs @@ -1399,9 +1399,9 @@ sp_api::impl_runtime_apis! { } impl beefy_primitives::BeefyApi for Runtime { - fn validator_set() -> beefy_primitives::ValidatorSet { + fn validator_set() -> Option> { // dummy implementation due to lack of BEEFY pallet. - beefy_primitives::ValidatorSet { validators: Vec::new(), id: 0 } + None } } From 42c66654f38332ee570c31d94c3989fd6ebed839 Mon Sep 17 00:00:00 2001 From: Robert Habermeier Date: Tue, 21 Dec 2021 16:21:18 -0600 Subject: [PATCH 3/3] Fix currently-checking-cache (#4410) * alter currently-checking-set to launch work only on new candidates * fmt * fix compilation * address review * Introduce approvals cache test that ensures approval work is only triggered once for each Candidate Hash * Fix formatting * Address Feedback * Move final message await into handle function Co-authored-by: Chris Sosnin Co-authored-by: Lldenaurois --- node/core/approval-voting/src/lib.rs | 53 +++++----- node/core/approval-voting/src/tests.rs | 141 +++++++++++++++++++++---- 2 files changed, 151 insertions(+), 43 deletions(-) diff --git a/node/core/approval-voting/src/lib.rs b/node/core/approval-voting/src/lib.rs index da98a1d29c17..c4778fe6f639 100644 --- a/node/core/approval-voting/src/lib.rs +++ b/node/core/approval-voting/src/lib.rs @@ -68,7 +68,9 @@ use futures::{ }; use std::{ - collections::{btree_map::Entry, BTreeMap, HashMap, HashSet}, + collections::{ + btree_map::Entry as BTMEntry, hash_map::Entry as HMEntry, BTreeMap, HashMap, HashSet, + }, sync::Arc, time::Duration, }; @@ -400,7 +402,7 @@ impl Wakeups { } // we are replacing previous wakeup with an earlier one. - if let Entry::Occupied(mut entry) = self.wakeups.entry(*prev) { + if let BTMEntry::Occupied(mut entry) = self.wakeups.entry(*prev) { if let Some(pos) = entry.get().iter().position(|x| x == &(block_hash, candidate_hash)) { @@ -436,7 +438,7 @@ impl Wakeups { }); for (tick, pruned) in pruned_wakeups { - if let Entry::Occupied(mut entry) = self.wakeups.entry(tick) { + if let BTMEntry::Occupied(mut entry) = self.wakeups.entry(tick) { entry.get_mut().retain(|wakeup| !pruned.contains(wakeup)); if entry.get().is_empty() { let _ = entry.remove(); @@ -457,10 +459,10 @@ impl Wakeups { Some(tick) => { clock.wait(tick).await; match self.wakeups.entry(tick) { - Entry::Vacant(_) => { + BTMEntry::Vacant(_) => { panic!("entry is known to exist since `first` was `Some`; qed") }, - Entry::Occupied(mut entry) => { + BTMEntry::Occupied(mut entry) => { let (hash, candidate_hash) = entry.get_mut().pop() .expect("empty entries are removed here and in `schedule`; no other mutation of this map; qed"); @@ -507,9 +509,7 @@ impl ApprovalState { } struct CurrentlyCheckingSet { - /// Invariant: The contained `Vec` needs to stay sorted as we are using `binary_search_by_key` - /// on it. - candidate_hash_map: HashMap>, + candidate_hash_map: HashMap>, currently_checking: FuturesUnordered>, } @@ -529,21 +529,26 @@ impl CurrentlyCheckingSet { relay_block: Hash, launch_work: impl Future>>, ) -> SubsystemResult<()> { - let val = self.candidate_hash_map.entry(candidate_hash).or_insert(Default::default()); - - if let Err(k) = val.binary_search_by_key(&relay_block, |v| *v) { - let _ = val.insert(k, relay_block); - let work = launch_work.await?; - self.currently_checking.push(Box::pin(async move { - match work.timeout(APPROVAL_CHECKING_TIMEOUT).await { - None => ApprovalState { - candidate_hash, - validator_index, - approval_outcome: ApprovalOutcome::TimedOut, - }, - Some(approval_state) => approval_state, - } - })); + match self.candidate_hash_map.entry(candidate_hash) { + HMEntry::Occupied(mut entry) => { + // validation already undergoing. just add the relay hash if unknown. + entry.get_mut().insert(relay_block); + }, + HMEntry::Vacant(entry) => { + // validation not ongoing. launch work and time out the remote handle. + entry.insert(HashSet::new()).insert(relay_block); + let work = launch_work.await?; + self.currently_checking.push(Box::pin(async move { + match work.timeout(APPROVAL_CHECKING_TIMEOUT).await { + None => ApprovalState { + candidate_hash, + validator_index, + approval_outcome: ApprovalOutcome::TimedOut, + }, + Some(approval_state) => approval_state, + } + })); + }, } Ok(()) @@ -552,7 +557,7 @@ impl CurrentlyCheckingSet { pub async fn next( &mut self, approvals_cache: &mut lru::LruCache, - ) -> (Vec, ApprovalState) { + ) -> (HashSet, ApprovalState) { if !self.currently_checking.is_empty() { if let Some(approval_state) = self.currently_checking.next().await { let out = self diff --git a/node/core/approval-voting/src/tests.rs b/node/core/approval-voting/src/tests.rs index b746052655d0..8e69cb88aa01 100644 --- a/node/core/approval-voting/src/tests.rs +++ b/node/core/approval-voting/src/tests.rs @@ -15,18 +15,25 @@ // along with Polkadot. If not, see . use super::*; -use polkadot_node_primitives::approval::{ - AssignmentCert, AssignmentCertKind, DelayTranche, VRFOutput, VRFProof, RELAY_VRF_MODULO_CONTEXT, +use polkadot_node_primitives::{ + approval::{ + AssignmentCert, AssignmentCertKind, DelayTranche, VRFOutput, VRFProof, + RELAY_VRF_MODULO_CONTEXT, + }, + AvailableData, BlockData, PoV, }; use polkadot_node_subsystem::{ - messages::{AllMessages, ApprovalVotingMessage, AssignmentCheckResult}, + messages::{ + AllMessages, ApprovalVotingMessage, AssignmentCheckResult, AvailabilityRecoveryMessage, + }, ActivatedLeaf, ActiveLeavesUpdate, LeafStatus, }; use polkadot_node_subsystem_test_helpers as test_helpers; use polkadot_node_subsystem_util::TimeoutExt; use polkadot_overseer::HeadSupportsParachains; use polkadot_primitives::v1::{ - CandidateEvent, CoreIndex, GroupIndex, Header, Id as ParaId, ValidatorSignature, + CandidateCommitments, CandidateEvent, CoreIndex, GroupIndex, Header, Id as ParaId, + ValidationCode, ValidatorSignature, }; use std::time::Duration; @@ -2156,7 +2163,7 @@ fn subsystem_approved_ancestor_missing_approval() { } #[test] -fn subsystem_process_wakeup_trigger_assignment_launch_approval() { +fn subsystem_validate_approvals_cache() { let assignment_criteria = Box::new(MockAssignmentCriteria( || { let mut assignments = HashMap::new(); @@ -2186,7 +2193,10 @@ fn subsystem_process_wakeup_trigger_assignment_launch_approval() { } = test_harness; let block_hash = Hash::repeat_byte(0x01); - let candidate_receipt = dummy_candidate_receipt(block_hash); + let fork_block_hash = Hash::repeat_byte(0x02); + let candidate_commitments = CandidateCommitments::default(); + let mut candidate_receipt = dummy_candidate_receipt(block_hash); + candidate_receipt.commitments_hash = candidate_commitments.hash(); let candidate_hash = candidate_receipt.hash(); let slot = Slot::from(1); let candidate_index = 0; @@ -2215,6 +2225,7 @@ fn subsystem_process_wakeup_trigger_assignment_launch_approval() { no_show_slots: 2, }; + let candidates = Some(vec![(candidate_receipt.clone(), CoreIndex(0), GroupIndex(0))]); ChainBuilder::new() .add_block( block_hash, @@ -2222,10 +2233,16 @@ fn subsystem_process_wakeup_trigger_assignment_launch_approval() { 1, BlockConfig { slot, - candidates: Some(vec![(candidate_receipt, CoreIndex(0), GroupIndex(0))]), - session_info: Some(session_info), + candidates: candidates.clone(), + session_info: Some(session_info.clone()), }, ) + .add_block( + fork_block_hash, + ChainBuilder::GENESIS_HASH, + 1, + BlockConfig { slot, candidates, session_info: Some(session_info) }, + ) .build(&mut virtual_overseer) .await; @@ -2237,19 +2254,8 @@ fn subsystem_process_wakeup_trigger_assignment_launch_approval() { futures_timer::Delay::new(Duration::from_millis(200)).await; - assert!(clock.inner.lock().current_wakeup_is(slot_to_tick(slot + 2))); clock.inner.lock().wakeup_all(slot_to_tick(slot + 2)); - assert_matches!( - overseer_recv(&mut virtual_overseer).await, - AllMessages::ApprovalDistribution(ApprovalDistributionMessage::DistributeAssignment( - _, - c_index, - )) => { - assert_eq!(candidate_index, c_index); - } - ); - assert_eq!(clock.inner.lock().wakeups.len(), 0); futures_timer::Delay::new(Duration::from_millis(200)).await; @@ -2259,10 +2265,92 @@ fn subsystem_process_wakeup_trigger_assignment_launch_approval() { candidate_entry.approval_entry(&block_hash).unwrap().our_assignment().unwrap(); assert!(our_assignment.triggered()); + // Handle the the next two assignment imports, where only one should trigger approvals work + handle_double_assignment_import(&mut virtual_overseer, candidate_index).await; + virtual_overseer }); } +/// Ensure that when two assignments are imported, only one triggers the Approval Checking work +pub async fn handle_double_assignment_import( + virtual_overseer: &mut VirtualOverseer, + candidate_index: CandidateIndex, +) { + assert_matches!( + overseer_recv(virtual_overseer).await, + AllMessages::ApprovalDistribution(ApprovalDistributionMessage::DistributeAssignment( + _, + c_index, + )) => { + assert_eq!(candidate_index, c_index); + } + ); + + recover_available_data(virtual_overseer).await; + fetch_validation_code(virtual_overseer).await; + + let first_message = virtual_overseer.recv().await; + let second_message = virtual_overseer.recv().await; + + for msg in vec![first_message, second_message].into_iter() { + match msg { + AllMessages::ApprovalDistribution( + ApprovalDistributionMessage::DistributeAssignment(_, c_index), + ) => { + assert_eq!(candidate_index, c_index); + }, + AllMessages::CandidateValidation( + CandidateValidationMessage::ValidateFromExhaustive(_, _, _, _, timeout, tx), + ) if timeout == APPROVAL_EXECUTION_TIMEOUT => { + tx.send(Ok(ValidationResult::Valid(Default::default(), Default::default()))) + .unwrap(); + }, + _ => panic! {}, + } + } + + // Assert that there are no more messages being sent by the subsystem + assert!(overseer_recv(virtual_overseer).timeout(TIMEOUT / 2).await.is_none()); +} + +/// Handles validation code fetch, returns the received relay parent hash. +async fn fetch_validation_code(virtual_overseer: &mut VirtualOverseer) -> Hash { + let validation_code = ValidationCode(Vec::new()); + + assert_matches!( + virtual_overseer.recv().await, + AllMessages::RuntimeApi(RuntimeApiMessage::Request( + hash, + RuntimeApiRequest::ValidationCodeByHash( + _, + tx, + ) + )) => { + tx.send(Ok(Some(validation_code))).unwrap(); + hash + }, + "overseer did not receive runtime API request for validation code", + ) +} + +async fn recover_available_data(virtual_overseer: &mut VirtualOverseer) { + let pov_block = PoV { block_data: BlockData(Vec::new()) }; + + let available_data = + AvailableData { pov: Arc::new(pov_block), validation_data: Default::default() }; + + assert_matches!( + virtual_overseer.recv().await, + AllMessages::AvailabilityRecovery( + AvailabilityRecoveryMessage::RecoverAvailableData(_, _, _, tx) + ) => { + tx.send(Ok(available_data)).unwrap(); + }, + "overseer did not receive recover available data message", + ); +} + struct TriggersAssignmentConfig { our_assigned_tranche: DelayTranche, assign_validator_tranche: F1, @@ -2445,6 +2533,21 @@ async fn step_until_done(clock: &MockClock) { println!("relevant_ticks: {:?}", relevant_ticks); } +#[test] +fn subsystem_process_wakeup_trigger_assignment_launch_approval() { + triggers_assignment_test(TriggersAssignmentConfig { + our_assigned_tranche: 0, + assign_validator_tranche: |_| Ok(0), + no_show_slots: 0, + assignments_to_import: vec![1], + approvals_to_import: vec![1], + ticks: vec![ + 10, // Alice wakeup, assignment triggered + ], + should_be_triggered: |_| true, + }); +} + #[test] fn subsystem_assignment_triggered_solo_zero_tranche() { triggers_assignment_test(TriggersAssignmentConfig {