diff --git a/polkadot/Cargo.lock b/polkadot/Cargo.lock index 95d28b7367f555f1ab2f7ee1d345ea01467f646d..01f1e024bbd15cef1ec0c25ab847f2a0f6b8b75e 100644 --- a/polkadot/Cargo.lock +++ b/polkadot/Cargo.lock @@ -1898,7 +1898,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "parity-scale-codec", ] @@ -1916,7 +1916,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "3.1.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-support", "frame-system", @@ -1935,7 +1935,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "Inflector", "chrono", @@ -1958,7 +1958,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-support", "frame-system", @@ -1971,7 +1971,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-support", "frame-system", @@ -1986,7 +1986,7 @@ dependencies = [ [[package]] name = "frame-metadata" version = "13.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "parity-scale-codec", "serde", @@ -1997,7 +1997,7 @@ dependencies = [ [[package]] name = "frame-support" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "bitflags", "frame-metadata", @@ -2024,7 +2024,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -2036,7 +2036,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.0.0", @@ -2048,7 +2048,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "proc-macro2", "quote", @@ -2058,7 +2058,7 @@ dependencies = [ [[package]] name = "frame-support-test" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-metadata", "frame-support", @@ -2078,7 +2078,7 @@ dependencies = [ [[package]] name = "frame-system" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -2095,7 +2095,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-benchmarking", "frame-support", @@ -2109,7 +2109,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "parity-scale-codec", "sp-api", @@ -2118,7 +2118,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-support", "parity-scale-codec", @@ -4051,7 +4051,7 @@ dependencies = [ [[package]] name = "max-encoded-len" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "impl-trait-for-tuples", "max-encoded-len-derive", @@ -4062,7 +4062,7 @@ dependencies = [ [[package]] name = "max-encoded-len-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -4565,7 +4565,7 @@ checksum = "13370dae44474229701bb69b90b4f4dca6404cb0357a2d50d635f1171dc3aa7b" [[package]] name = "pallet-authority-discovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-support", "frame-system", @@ -4580,7 +4580,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-support", "frame-system", @@ -4594,7 +4594,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-benchmarking", "frame-support", @@ -4617,7 +4617,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-benchmarking", "frame-support", @@ -4647,7 +4647,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-benchmarking", "frame-support", @@ -4683,7 +4683,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-benchmarking", "frame-support", @@ -4699,7 +4699,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-benchmarking", "frame-support", @@ -4714,7 +4714,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4735,7 +4735,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-benchmarking", "frame-support", @@ -4752,7 +4752,7 @@ dependencies = [ [[package]] name = "pallet-gilt" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-benchmarking", "frame-support", @@ -4766,7 +4766,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "3.1.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-benchmarking", "frame-support", @@ -4788,7 +4788,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4803,7 +4803,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-benchmarking", "frame-support", @@ -4822,7 +4822,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-benchmarking", "frame-support", @@ -4838,7 +4838,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-benchmarking", "frame-support", @@ -4853,7 +4853,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "ckb-merkle-mountain-range", "frame-benchmarking", @@ -4870,7 +4870,7 @@ dependencies = [ [[package]] name = "pallet-mmr-primitives" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-support", "frame-system", @@ -4886,7 +4886,7 @@ dependencies = [ [[package]] name = "pallet-mmr-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -4904,7 +4904,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-benchmarking", "frame-support", @@ -4919,7 +4919,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-support", "frame-system", @@ -4932,7 +4932,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-support", "frame-system", @@ -4948,7 +4948,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4970,7 +4970,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-benchmarking", "frame-support", @@ -4986,7 +4986,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-support", "frame-system", @@ -4999,7 +4999,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" 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#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" 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#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" 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#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" 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#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" 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#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" 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#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" 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#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" 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#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" 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#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" 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#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" 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#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" 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#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" 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#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" 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#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" 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#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" 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#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "enumflags2", "frame-benchmarking", @@ -6096,10 +6096,14 @@ version = "0.1.0" dependencies = [ "futures 0.3.15", "maplit", + "parity-scale-codec", + "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-test-helpers", "polkadot-node-subsystem-util", "polkadot-primitives", + "sc-client-api", + "sc-consensus-babe", "sp-blockchain", "sp-core", "tracing", @@ -7553,7 +7557,7 @@ dependencies = [ [[package]] name = "remote-externalities" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "env_logger 0.8.2", "hex", @@ -7856,7 +7860,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "async-trait", "derive_more", @@ -7885,7 +7889,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "futures 0.3.15", "futures-timer 3.0.2", @@ -7908,7 +7912,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -7924,7 +7928,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7945,7 +7949,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -7956,7 +7960,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "chrono", "fdlimit", @@ -7994,7 +7998,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "derive_more", "fnv", @@ -8028,7 +8032,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "blake2-rfc", "hash-db", @@ -8058,7 +8062,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "parking_lot 0.11.1", "sc-client-api", @@ -8070,7 +8074,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "async-trait", "derive_more", @@ -8116,7 +8120,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "derive_more", "futures 0.3.15", @@ -8140,7 +8144,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "fork-tree", "parity-scale-codec", @@ -8153,7 +8157,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "async-trait", "futures 0.3.15", @@ -8181,7 +8185,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "sc-client-api", "sp-authorship", @@ -8192,7 +8196,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "derive_more", "lazy_static", @@ -8221,7 +8225,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "derive_more", "parity-scale-codec", @@ -8238,7 +8242,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "log", "parity-scale-codec", @@ -8253,7 +8257,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "cfg-if 1.0.0", "libc", @@ -8272,7 +8276,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "async-trait", "derive_more", @@ -8313,7 +8317,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "derive_more", "finality-grandpa", @@ -8337,7 +8341,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-warp-sync" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "derive_more", "futures 0.3.15", @@ -8358,7 +8362,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "ansi_term 0.12.1", "futures 0.3.15", @@ -8376,7 +8380,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "async-trait", "derive_more", @@ -8396,7 +8400,7 @@ dependencies = [ [[package]] name = "sc-light" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "hash-db", "lazy_static", @@ -8415,7 +8419,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "async-std", "async-trait", @@ -8468,7 +8472,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "futures 0.3.15", "futures-timer 3.0.2", @@ -8485,7 +8489,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "bytes 0.5.6", "fnv", @@ -8513,7 +8517,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "futures 0.3.15", "libp2p", @@ -8526,7 +8530,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -8535,7 +8539,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "futures 0.3.15", "hash-db", @@ -8570,7 +8574,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "derive_more", "futures 0.3.15", @@ -8595,7 +8599,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "futures 0.1.29", "jsonrpc-core", @@ -8613,7 +8617,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "async-trait", "directories", @@ -8678,7 +8682,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "log", "parity-scale-codec", @@ -8693,7 +8697,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -8713,7 +8717,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "chrono", "futures 0.3.15", @@ -8733,7 +8737,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "ansi_term 0.12.1", "atty", @@ -8770,7 +8774,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -8781,7 +8785,7 @@ dependencies = [ [[package]] name = "sc-transaction-graph" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "derive_more", "futures 0.3.15", @@ -8803,7 +8807,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "futures 0.3.15", "intervalier", @@ -9282,7 +9286,7 @@ dependencies = [ [[package]] name = "sp-allocator" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "log", "sp-core", @@ -9294,7 +9298,7 @@ dependencies = [ [[package]] name = "sp-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "hash-db", "log", @@ -9311,7 +9315,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "blake2-rfc", "proc-macro-crate 1.0.0", @@ -9323,7 +9327,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "max-encoded-len", "parity-scale-codec", @@ -9336,7 +9340,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "integer-sqrt", "num-traits", @@ -9350,7 +9354,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "parity-scale-codec", "sp-api", @@ -9362,7 +9366,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "async-trait", "parity-scale-codec", @@ -9374,7 +9378,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "parity-scale-codec", "sp-api", @@ -9386,7 +9390,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "futures 0.3.15", "log", @@ -9404,7 +9408,7 @@ dependencies = [ [[package]] name = "sp-chain-spec" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "serde", "serde_json", @@ -9413,7 +9417,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "async-trait", "futures 0.3.15", @@ -9440,7 +9444,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "async-trait", "merlin", @@ -9462,7 +9466,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "parity-scale-codec", "sp-arithmetic", @@ -9472,7 +9476,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -9484,7 +9488,7 @@ dependencies = [ [[package]] name = "sp-core" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "base58", "blake2-rfc", @@ -9529,7 +9533,7 @@ dependencies = [ [[package]] name = "sp-database" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "kvdb", "parking_lot 0.11.1", @@ -9538,7 +9542,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "proc-macro2", "quote", @@ -9548,7 +9552,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "environmental", "parity-scale-codec", @@ -9559,7 +9563,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "finality-grandpa", "log", @@ -9576,7 +9580,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9590,7 +9594,7 @@ dependencies = [ [[package]] name = "sp-io" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "futures 0.3.15", "hash-db", @@ -9615,7 +9619,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "lazy_static", "sp-core", @@ -9626,7 +9630,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "async-trait", "derive_more", @@ -9643,7 +9647,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "ruzstd", "zstd", @@ -9652,7 +9656,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "parity-scale-codec", "serde", @@ -9665,7 +9669,7 @@ dependencies = [ [[package]] name = "sp-npos-elections-compact" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -9676,7 +9680,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "sp-api", "sp-core", @@ -9686,7 +9690,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "backtrace", ] @@ -9694,7 +9698,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "rustc-hash", "serde", @@ -9705,7 +9709,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "either", "hash256-std-hasher", @@ -9727,7 +9731,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9744,7 +9748,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "Inflector", "proc-macro-crate 1.0.0", @@ -9756,7 +9760,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "serde", "serde_json", @@ -9765,7 +9769,7 @@ dependencies = [ [[package]] name = "sp-session" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "parity-scale-codec", "sp-api", @@ -9778,7 +9782,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -9788,7 +9792,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "hash-db", "log", @@ -9811,12 +9815,12 @@ dependencies = [ [[package]] name = "sp-std" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" [[package]] name = "sp-storage" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9829,7 +9833,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "log", "sp-core", @@ -9842,7 +9846,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "async-trait", "futures-timer 3.0.2", @@ -9859,7 +9863,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "erased-serde", "log", @@ -9877,7 +9881,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "derive_more", "futures 0.3.15", @@ -9893,7 +9897,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "async-trait", "log", @@ -9908,7 +9912,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "hash-db", "memory-db", @@ -9922,7 +9926,7 @@ dependencies = [ [[package]] name = "sp-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "futures 0.3.15", "futures-core", @@ -9934,7 +9938,7 @@ dependencies = [ [[package]] name = "sp-version" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9947,7 +9951,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "parity-scale-codec", "proc-macro-crate 1.0.0", @@ -9959,7 +9963,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -10116,7 +10120,7 @@ dependencies = [ [[package]] name = "substrate-browser-utils" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "chrono", "console_error_panic_hook", @@ -10142,7 +10146,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "platforms", ] @@ -10150,7 +10154,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.15", @@ -10173,7 +10177,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "async-std", "derive_more", @@ -10187,7 +10191,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "async-trait", "futures 0.1.29", @@ -10216,7 +10220,7 @@ dependencies = [ [[package]] name = "substrate-test-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "futures 0.3.15", "substrate-test-utils-derive", @@ -10226,7 +10230,7 @@ dependencies = [ [[package]] name = "substrate-test-utils-derive" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "proc-macro-crate 1.0.0", "quote", @@ -10981,7 +10985,7 @@ checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" [[package]] name = "try-runtime-cli" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661" dependencies = [ "frame-try-runtime", "log", diff --git a/polkadot/node/core/chain-api/Cargo.toml b/polkadot/node/core/chain-api/Cargo.toml index 32f9c056f631790f8e16daebed78bd6fa81f1052..8f9ec9f8b33f45b566a03d7815a757cbd82cba8e 100644 --- a/polkadot/node/core/chain-api/Cargo.toml +++ b/polkadot/node/core/chain-api/Cargo.toml @@ -11,9 +11,13 @@ sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "mas polkadot-primitives = { path = "../../../primitives" } polkadot-subsystem = { package = "polkadot-node-subsystem", path = "../../subsystem" } polkadot-node-subsystem-util = { path = "../../subsystem-util" } +sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "master" } +sc-consensus-babe = { git = "https://github.com/paritytech/substrate", branch = "master" } [dev-dependencies] futures = { version = "0.3.15", features = ["thread-pool"] } maplit = "1.0.2" +parity-scale-codec = "2.0.0" +polkadot-node-primitives = { path = "../../primitives" } polkadot-node-subsystem-test-helpers = { path = "../../subsystem-test-helpers" } sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" } diff --git a/polkadot/node/core/chain-api/src/lib.rs b/polkadot/node/core/chain-api/src/lib.rs index 0e6d3623c3e15a3eeca9722d45ece02dc309e221..b139b3b4bf548197bb132131b30a9f72609ce898 100644 --- a/polkadot/node/core/chain-api/src/lib.rs +++ b/polkadot/node/core/chain-api/src/lib.rs @@ -23,6 +23,7 @@ //! Supported requests: //! * Block hash to number //! * Block hash to header +//! * Block weight (cumulative) //! * Finalized block number to hash //! * Last finalized block number //! * Ancestors @@ -30,19 +31,18 @@ #![deny(unused_crate_dependencies, unused_results)] #![warn(missing_docs)] -use polkadot_subsystem::{ - FromOverseer, OverseerSignal, - SpawnedSubsystem, Subsystem, SubsystemResult, SubsystemError, SubsystemContext, - messages::ChainApiMessage, -}; -use polkadot_node_subsystem_util::{ - metrics::{self, prometheus}, -}; -use polkadot_primitives::v1::{Block, BlockId}; -use sp_blockchain::HeaderBackend; use std::sync::Arc; use futures::prelude::*; +use sc_client_api::AuxStore; +use sp_blockchain::HeaderBackend; + +use polkadot_node_subsystem_util::metrics::{self, prometheus}; +use polkadot_primitives::v1::{Block, BlockId}; +use polkadot_subsystem::{ + messages::ChainApiMessage, FromOverseer, OverseerSignal, SpawnedSubsystem, Subsystem, + SubsystemContext, SubsystemError, SubsystemResult, +}; const LOG_TARGET: &str = "parachain::chain-api"; @@ -62,9 +62,10 @@ impl<Client> ChainApiSubsystem<Client> { } } -impl<Client, Context> Subsystem<Context> for ChainApiSubsystem<Client> where - Client: HeaderBackend<Block> + 'static, - Context: SubsystemContext<Message = ChainApiMessage> +impl<Client, Context> Subsystem<Context> for ChainApiSubsystem<Client> +where + Client: HeaderBackend<Block> + AuxStore + 'static, + Context: SubsystemContext<Message = ChainApiMessage>, { fn start(self, ctx: Context) -> SpawnedSubsystem { let future = run(ctx, self) @@ -82,7 +83,7 @@ async fn run<Client>( subsystem: ChainApiSubsystem<Client>, ) -> SubsystemResult<()> where - Client: HeaderBackend<Block>, + Client: HeaderBackend<Block> + AuxStore, { loop { match ctx.recv().await? { @@ -104,6 +105,13 @@ where subsystem.metrics.on_request(result.is_ok()); let _ = response_channel.send(result); }, + ChainApiMessage::BlockWeight(hash, response_channel) => { + let _timer = subsystem.metrics.time_block_weight(); + let result = sc_consensus_babe::block_weight(&*subsystem.client, hash) + .map_err(|e| e.to_string().into()); + subsystem.metrics.on_request(result.is_ok()); + let _ = response_channel.send(result); + } ChainApiMessage::FinalizedBlockHash(number, response_channel) => { let _timer = subsystem.metrics.time_finalized_block_hash(); // Note: we don't verify it's finalized @@ -160,6 +168,7 @@ struct MetricsInner { chain_api_requests: prometheus::CounterVec<prometheus::U64>, block_number: prometheus::Histogram, block_header: prometheus::Histogram, + block_weight: prometheus::Histogram, finalized_block_hash: prometheus::Histogram, finalized_block_number: prometheus::Histogram, ancestors: prometheus::Histogram, @@ -190,6 +199,11 @@ impl Metrics { self.0.as_ref().map(|metrics| metrics.block_header.start_timer()) } + /// Provide a timer for `block_weight` which observes on drop. + fn time_block_weight(&self) -> Option<metrics::prometheus::prometheus::HistogramTimer> { + self.0.as_ref().map(|metrics| metrics.block_weight.start_timer()) + } + /// Provide a timer for `finalized_block_hash` which observes on drop. fn time_finalized_block_hash(&self) -> Option<metrics::prometheus::prometheus::HistogramTimer> { self.0.as_ref().map(|metrics| metrics.finalized_block_hash.start_timer()) @@ -237,6 +251,15 @@ impl metrics::Metrics for Metrics { )?, registry, )?, + block_weight: prometheus::register( + prometheus::Histogram::with_opts( + prometheus::HistogramOpts::new( + "parachain_chain_api_block_weight", + "Time spent within `chain_api::block_weight`", + ) + )?, + registry, + )?, finalized_block_hash: prometheus::register( prometheus::Histogram::with_opts( prometheus::HistogramOpts::new( @@ -269,15 +292,16 @@ impl metrics::Metrics for Metrics { } } - #[cfg(test)] mod tests { use super::*; use std::collections::BTreeMap; use futures::{future::BoxFuture, channel::oneshot}; + use parity_scale_codec::Encode; use polkadot_primitives::v1::{Hash, BlockNumber, BlockId, Header}; + use polkadot_node_primitives::BlockWeight; use polkadot_node_subsystem_test_helpers::{make_subsystem_context, TestSubsystemContextHandle}; use sp_blockchain::Info as BlockInfo; use sp_core::testing::TaskExecutor; @@ -285,6 +309,7 @@ mod tests { #[derive(Clone)] struct TestClient { blocks: BTreeMap<Hash, BlockNumber>, + block_weights: BTreeMap<Hash, BlockWeight>, finalized_blocks: BTreeMap<BlockNumber, Hash>, headers: BTreeMap<Hash, Header>, } @@ -314,6 +339,12 @@ mod tests { THREE => 3, FOUR => 4, }, + block_weights: maplit::btreemap! { + ONE => 0, + TWO => 1, + THREE => 1, + FOUR => 2, + }, finalized_blocks: maplit::btreemap! { 1 => ONE, 3 => THREE, @@ -337,7 +368,7 @@ mod tests { ERROR_PATH => Header { ..default_header() } - } + }, } } } @@ -402,6 +433,30 @@ mod tests { futures::executor::block_on(future::join(chain_api_task, test_task)); } + impl AuxStore for TestClient { + fn insert_aux< + 'a, + 'b: 'a, + 'c: 'a, + I: IntoIterator<Item = &'a (&'c [u8], &'c [u8])>, + D: IntoIterator<Item = &'a &'b [u8]>, + >( + &self, + _insert: I, + _delete: D, + ) -> sp_blockchain::Result<()> { + unimplemented!() + } + + fn get_aux(&self, key: &[u8]) -> sp_blockchain::Result<Option<Vec<u8>>> { + Ok(self + .block_weights + .iter() + .find(|(hash, _)| sc_consensus_babe::aux_schema::block_weight_key(hash) == key) + .map(|(_, weight)| weight.encode())) + } + } + #[test] fn request_block_number() { test_harness(|client, mut sender| { @@ -450,6 +505,31 @@ mod tests { }) } + #[test] + fn request_block_weight() { + test_harness(|client, mut sender| { + async move { + const NOT_HERE: Hash = Hash::repeat_byte(0x5); + let test_cases = [ + (TWO, sc_consensus_babe::block_weight(&*client, TWO).unwrap()), + (FOUR, sc_consensus_babe::block_weight(&*client, FOUR).unwrap()), + (NOT_HERE, sc_consensus_babe::block_weight(&*client, NOT_HERE).unwrap()), + ]; + for (hash, expected) in &test_cases { + let (tx, rx) = oneshot::channel(); + + sender.send(FromOverseer::Communication { + msg: ChainApiMessage::BlockWeight(*hash, tx), + }).await; + + assert_eq!(rx.await.unwrap().unwrap(), *expected); + } + + sender.send(FromOverseer::Signal(OverseerSignal::Conclude)).await; + }.boxed() + }) + } + #[test] fn request_finalized_hash() { test_harness(|client, mut sender| { diff --git a/polkadot/node/primitives/src/lib.rs b/polkadot/node/primitives/src/lib.rs index dddec2cfbe1c8ddff3687daba7cb71fe050f9bd9..3199d1523440dc3f05b0e1ff4c115a5609a4d3ac 100644 --- a/polkadot/node/primitives/src/lib.rs +++ b/polkadot/node/primitives/src/lib.rs @@ -57,6 +57,9 @@ pub const MAX_POV_SIZE: u32 = 20 * 1024 * 1024; /// The bomb limit for decompressing PoV blobs. pub const POV_BOMB_LIMIT: usize = MAX_POV_SIZE as usize; +/// The cumulative weight of a block in a fork-choice rule. +pub type BlockWeight = u32; + /// A statement, where the candidate receipt is included in the `Seconded` variant. /// /// This is the committed candidate receipt instead of the bare candidate receipt. As such, diff --git a/polkadot/node/subsystem/src/messages.rs b/polkadot/node/subsystem/src/messages.rs index 67bab4220a6ce6b8f125c5adf1c467ba4299cc4f..f7a6c884990a5ae115d3f247046f9f371b2e4b9d 100644 --- a/polkadot/node/subsystem/src/messages.rs +++ b/polkadot/node/subsystem/src/messages.rs @@ -37,7 +37,7 @@ use polkadot_node_network_protocol::{ use polkadot_node_primitives::{ approval::{BlockApprovalMeta, IndirectAssignmentCert, IndirectSignedApprovalVote}, AvailableData, BabeEpoch, CandidateVotes, CollationGenerationConfig, ErasureChunk, PoV, - SignedDisputeStatement, SignedFullStatement, ValidationResult, + SignedDisputeStatement, SignedFullStatement, ValidationResult, BlockWeight, }; use polkadot_primitives::v1::{ AuthorityDiscoveryId, BackedCandidate, BlockNumber, CandidateDescriptor, CandidateEvent, @@ -470,6 +470,14 @@ pub enum ChainApiMessage { /// Request the block header by hash. /// Returns `None` if a block with the given hash is not present in the db. BlockHeader(Hash, ChainApiResponseChannel<Option<BlockHeader>>), + /// Get the cumulative weight of the given block, by hash. + /// If the block or weight is unknown, this returns `None`. + /// + /// Note: this the weight within the low-level fork-choice rule, + /// not the high-level one implemented in the chain-selection subsystem. + /// + /// Weight is used for comparing blocks in a fork-choice rule. + BlockWeight(Hash, ChainApiResponseChannel<Option<BlockWeight>>), /// Request the finalized block hash by number. /// Returns `None` if a block with the given number is not present in the db. /// Note: the caller must ensure the block is finalized. diff --git a/polkadot/roadmap/implementers-guide/src/node/utility/chain-api.md b/polkadot/roadmap/implementers-guide/src/node/utility/chain-api.md index 7695b73a05e3db44f95ca622642a19e0da9756cf..e9ef9b5695bc386ca9f0bc493b151fd6f0dff892 100644 --- a/polkadot/roadmap/implementers-guide/src/node/utility/chain-api.md +++ b/polkadot/roadmap/implementers-guide/src/node/utility/chain-api.md @@ -15,6 +15,7 @@ On receipt of `ChainApiMessage`, answer the request and provide the response to Currently, the following requests are supported: * Block hash to number * Block hash to header +* Block weight * Finalized block number to hash * Last finalized block number * Ancestors diff --git a/polkadot/roadmap/implementers-guide/src/node/utility/chain-selection.md b/polkadot/roadmap/implementers-guide/src/node/utility/chain-selection.md index c64cb14efb44fbd2c98c750807fb90af10227206..3eeaf998f4fb67ae728211faaf4e1c3fc814e2c9 100644 --- a/polkadot/roadmap/implementers-guide/src/node/utility/chain-selection.md +++ b/polkadot/roadmap/implementers-guide/src/node/utility/chain-selection.md @@ -2,7 +2,7 @@ This subsystem implements the necessary metadata for the implementation of the [chain selection](../../protocol-chain-selection.md) portion of the protocol. -The subsystem wraps a database component which maintains a view of the unfinalized chain and records the properties of each block: whether the block is **viable**, whether it is **stagnant**, and whether it is **reverted**. It should also maintain an updated set of active leaves in accordance with this view, which should be cheap to query. +The subsystem wraps a database component which maintains a view of the unfinalized chain and records the properties of each block: whether the block is **viable**, whether it is **stagnant**, and whether it is **reverted**. It should also maintain an updated set of active leaves in accordance with this view, which should be cheap to query. Leaves are ordered descending first by weight and then by block number. This subsystem needs to update its information on the unfinalized chain: * On every leaf-activated signal @@ -14,7 +14,7 @@ Simple implementations of these updates do O(n_unfinalized_blocks) disk operatio ### `OverseerSignal::ActiveLeavesUpdate` -Determine all new blocks implicitly referenced by any new active leaves and add them to the view. Update the set of viable leaves accordingly +Determine all new blocks implicitly referenced by any new active leaves and add them to the view. Update the set of viable leaves accordingly. The weights of imported blocks can be determined by the [`ChainApiMessage::BlockWeight`](../../types/overseer-protocol.md#chain-api-message). ### `OverseerSignal::BlockFinalized` diff --git a/polkadot/roadmap/implementers-guide/src/types/overseer-protocol.md b/polkadot/roadmap/implementers-guide/src/types/overseer-protocol.md index 4cb2160f55f8132c3538739d04bcdf03fafcddc4..77e8bd862653caaed0f74219d5df5b43eaefc11a 100644 --- a/polkadot/roadmap/implementers-guide/src/types/overseer-protocol.md +++ b/polkadot/roadmap/implementers-guide/src/types/overseer-protocol.md @@ -323,6 +323,11 @@ enum ChainApiMessage { /// Request the block header by hash. /// Returns `None` if a block with the given hash is not present in the db. BlockHeader(Hash, ResponseChannel<Result<Option<BlockHeader>, Error>>), + /// Get the cumulative weight of the given block, by hash. + /// If the block or weight is unknown, this returns `None`. + /// + /// Weight is used for comparing blocks in a fork-choice rule. + BlockWeight(Hash, ResponseChannel<Result<Option<Weight>, Error>>), /// Get the finalized block hash by number. /// Returns `None` if a block with the given number is not present in the db. /// Note: the caller must ensure the block is finalized.