diff --git a/polkadot/Cargo.lock b/polkadot/Cargo.lock index 758bc2b7a9..3f4f6ff330 100644 --- a/polkadot/Cargo.lock +++ b/polkadot/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "Inflector" version = "0.11.4" @@ -479,7 +481,7 @@ dependencies = [ [[package]] name = "beefy-gadget" version = "0.1.0" -source = "git+https://github.com/paritytech/grandpa-bridge-gadget#a58179d4f59f4c31c7a09d5b0ce14df8450743a3" +source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=master#a58179d4f59f4c31c7a09d5b0ce14df8450743a3" dependencies = [ "beefy-primitives", "futures 0.3.14", @@ -507,7 +509,7 @@ dependencies = [ [[package]] name = "beefy-gadget-rpc" version = "0.1.0" -source = "git+https://github.com/paritytech/grandpa-bridge-gadget#a58179d4f59f4c31c7a09d5b0ce14df8450743a3" +source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=master#a58179d4f59f4c31c7a09d5b0ce14df8450743a3" dependencies = [ "beefy-gadget", "beefy-primitives", @@ -528,7 +530,7 @@ dependencies = [ [[package]] name = "beefy-primitives" version = "0.1.0" -source = "git+https://github.com/paritytech/grandpa-bridge-gadget#a58179d4f59f4c31c7a09d5b0ce14df8450743a3" +source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=master#a58179d4f59f4c31c7a09d5b0ce14df8450743a3" dependencies = [ "parity-scale-codec", "sp-api", @@ -1903,7 +1905,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "parity-scale-codec", ] @@ -1921,7 +1923,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "3.1.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-support", "frame-system", @@ -1940,7 +1942,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "Inflector", "chrono", @@ -1963,7 +1965,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-support", "frame-system", @@ -1976,7 +1978,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-support", "frame-system", @@ -1991,7 +1993,7 @@ dependencies = [ [[package]] name = "frame-metadata" version = "13.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "parity-scale-codec", "serde", @@ -2002,7 +2004,7 @@ dependencies = [ [[package]] name = "frame-support" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "bitflags", "frame-metadata", @@ -2029,7 +2031,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -2041,7 +2043,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.0.0", @@ -2053,7 +2055,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "proc-macro2", "quote", @@ -2063,7 +2065,7 @@ dependencies = [ [[package]] name = "frame-support-test" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-metadata", "frame-support", @@ -2083,7 +2085,7 @@ dependencies = [ [[package]] name = "frame-system" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -2100,7 +2102,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-support", @@ -2114,7 +2116,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "parity-scale-codec", "sp-api", @@ -2123,7 +2125,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-support", "parity-scale-codec", @@ -4069,7 +4071,7 @@ dependencies = [ [[package]] name = "max-encoded-len" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "impl-trait-for-tuples", "max-encoded-len-derive", @@ -4080,7 +4082,7 @@ dependencies = [ [[package]] name = "max-encoded-len-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -4583,7 +4585,7 @@ checksum = "13370dae44474229701bb69b90b4f4dca6404cb0357a2d50d635f1171dc3aa7b" [[package]] name = "pallet-authority-discovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-support", "frame-system", @@ -4598,7 +4600,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-support", "frame-system", @@ -4612,7 +4614,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-support", @@ -4635,7 +4637,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-support", @@ -4650,7 +4652,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "0.1.0" -source = "git+https://github.com/paritytech/grandpa-bridge-gadget#a58179d4f59f4c31c7a09d5b0ce14df8450743a3" +source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=master#a58179d4f59f4c31c7a09d5b0ce14df8450743a3" dependencies = [ "beefy-primitives", "frame-support", @@ -4665,7 +4667,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-support", @@ -4701,7 +4703,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-support", @@ -4717,7 +4719,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-support", @@ -4732,7 +4734,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4753,7 +4755,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-support", @@ -4770,7 +4772,7 @@ dependencies = [ [[package]] name = "pallet-gilt" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-support", @@ -4784,7 +4786,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "3.1.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-support", @@ -4806,7 +4808,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4821,7 +4823,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-support", @@ -4840,7 +4842,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-support", @@ -4856,7 +4858,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-support", @@ -4871,7 +4873,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "ckb-merkle-mountain-range", "frame-benchmarking", @@ -4888,7 +4890,7 @@ dependencies = [ [[package]] name = "pallet-mmr-primitives" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-support", "frame-system", @@ -4904,7 +4906,7 @@ dependencies = [ [[package]] name = "pallet-mmr-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -4922,7 +4924,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-support", @@ -4937,7 +4939,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-support", "frame-system", @@ -4950,7 +4952,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-support", "frame-system", @@ -4966,7 +4968,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4988,7 +4990,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-support", @@ -5004,7 +5006,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-support", "frame-system", @@ -5017,7 +5019,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "enumflags2", "frame-support", @@ -5031,7 +5033,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-support", @@ -5046,7 +5048,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-support", "frame-system", @@ -5065,7 +5067,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-support", @@ -5081,7 +5083,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-support", "frame-system", @@ -5094,7 +5096,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5118,7 +5120,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -5129,7 +5131,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "log", "sp-arithmetic", @@ -5138,7 +5140,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-support", "frame-system", @@ -5151,7 +5153,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-support", @@ -5169,7 +5171,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-support", @@ -5184,7 +5186,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-support", "frame-system", @@ -5200,7 +5202,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -5217,7 +5219,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5228,7 +5230,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-support", @@ -5244,7 +5246,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-benchmarking", "frame-support", @@ -5259,7 +5261,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5711,13 +5713,10 @@ version = "0.9.4" dependencies = [ "assert_cmd", "color-eyre", - "futures 0.3.14", "nix", "parity-util-mem", "polkadot-cli", - "polkadot-service", "tempfile", - "thiserror", ] [[package]] @@ -5842,6 +5841,37 @@ dependencies = [ "wasm-bindgen-futures", ] +[[package]] +name = "polkadot-client" +version = "0.9.3" +dependencies = [ + "beefy-primitives", + "frame-benchmarking", + "frame-system-rpc-runtime-api", + "kusama-runtime", + "pallet-mmr-primitives", + "pallet-transaction-payment-rpc-runtime-api", + "polkadot-primitives", + "polkadot-runtime", + "rococo-runtime", + "sc-client-api", + "sc-executor", + "sc-service", + "sp-api", + "sp-authority-discovery", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-finality-grandpa", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-storage", + "sp-transaction-pool", + "westend-runtime", +] + [[package]] name = "polkadot-collator-protocol" version = "0.1.0" @@ -6627,7 +6657,6 @@ dependencies = [ "beefy-gadget", "beefy-primitives", "env_logger 0.8.2", - "frame-benchmarking", "frame-system-rpc-runtime-api", "futures 0.3.14", "hex-literal", @@ -6643,6 +6672,7 @@ dependencies = [ "polkadot-availability-bitfield-distribution", "polkadot-availability-distribution", "polkadot-availability-recovery", + "polkadot-client", "polkadot-collator-protocol", "polkadot-gossip-support", "polkadot-network-bridge", @@ -7481,7 +7511,7 @@ dependencies = [ [[package]] name = "remote-externalities" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "env_logger 0.8.2", "hex", @@ -7783,7 +7813,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "async-trait", "derive_more", @@ -7812,7 +7842,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "futures 0.3.14", "futures-timer 3.0.2", @@ -7835,7 +7865,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -7851,7 +7881,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7872,7 +7902,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -7883,7 +7913,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "chrono", "fdlimit", @@ -7921,7 +7951,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "derive_more", "fnv", @@ -7955,7 +7985,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "blake2-rfc", "hash-db", @@ -7985,7 +8015,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "parking_lot 0.11.1", "sc-client-api", @@ -7997,7 +8027,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "async-trait", "derive_more", @@ -8043,7 +8073,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "derive_more", "futures 0.3.14", @@ -8067,7 +8097,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "fork-tree", "parity-scale-codec", @@ -8080,7 +8110,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "async-trait", "futures 0.3.14", @@ -8108,7 +8138,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "sc-client-api", "sp-authorship", @@ -8119,7 +8149,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "derive_more", "lazy_static", @@ -8148,7 +8178,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "derive_more", "parity-scale-codec", @@ -8165,7 +8195,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "log", "parity-scale-codec", @@ -8180,7 +8210,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "log", "parity-scale-codec", @@ -8197,7 +8227,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "async-trait", "derive_more", @@ -8238,7 +8268,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "derive_more", "finality-grandpa", @@ -8262,7 +8292,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-warp-sync" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "derive_more", "futures 0.3.14", @@ -8283,7 +8313,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "ansi_term 0.12.1", "futures 0.3.14", @@ -8301,7 +8331,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "async-trait", "derive_more", @@ -8321,7 +8351,7 @@ dependencies = [ [[package]] name = "sc-light" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "hash-db", "lazy_static", @@ -8340,7 +8370,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "async-std", "async-trait", @@ -8393,7 +8423,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "futures 0.3.14", "futures-timer 3.0.2", @@ -8410,7 +8440,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "bytes 0.5.6", "fnv", @@ -8438,7 +8468,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "futures 0.3.14", "libp2p", @@ -8451,7 +8481,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -8460,7 +8490,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "futures 0.3.14", "hash-db", @@ -8495,7 +8525,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "derive_more", "futures 0.3.14", @@ -8520,7 +8550,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "futures 0.1.29", "jsonrpc-core", @@ -8538,7 +8568,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "async-trait", "directories", @@ -8603,7 +8633,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "log", "parity-scale-codec", @@ -8618,7 +8648,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -8638,7 +8668,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "chrono", "futures 0.3.14", @@ -8658,7 +8688,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "ansi_term 0.12.1", "atty", @@ -8695,7 +8725,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -8706,7 +8736,7 @@ dependencies = [ [[package]] name = "sc-transaction-graph" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "derive_more", "futures 0.3.14", @@ -8728,7 +8758,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "futures 0.3.14", "futures-diagnose", @@ -9209,7 +9239,7 @@ dependencies = [ [[package]] name = "sp-allocator" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "log", "sp-core", @@ -9221,7 +9251,7 @@ dependencies = [ [[package]] name = "sp-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "hash-db", "log", @@ -9238,7 +9268,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "blake2-rfc", "proc-macro-crate 1.0.0", @@ -9250,7 +9280,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "max-encoded-len", "parity-scale-codec", @@ -9263,7 +9293,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "integer-sqrt", "num-traits", @@ -9277,7 +9307,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "parity-scale-codec", "sp-api", @@ -9289,7 +9319,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "async-trait", "parity-scale-codec", @@ -9301,7 +9331,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "parity-scale-codec", "sp-api", @@ -9313,7 +9343,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "futures 0.3.14", "log", @@ -9331,7 +9361,7 @@ dependencies = [ [[package]] name = "sp-chain-spec" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "serde", "serde_json", @@ -9340,7 +9370,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "async-trait", "futures 0.3.14", @@ -9367,7 +9397,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "async-trait", "merlin", @@ -9389,7 +9419,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "parity-scale-codec", "sp-arithmetic", @@ -9399,7 +9429,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -9411,7 +9441,7 @@ dependencies = [ [[package]] name = "sp-core" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "base58", "blake2-rfc", @@ -9456,7 +9486,7 @@ dependencies = [ [[package]] name = "sp-database" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "kvdb", "parking_lot 0.11.1", @@ -9465,7 +9495,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "proc-macro2", "quote", @@ -9475,7 +9505,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "environmental", "parity-scale-codec", @@ -9486,7 +9516,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "finality-grandpa", "log", @@ -9503,7 +9533,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9517,7 +9547,7 @@ dependencies = [ [[package]] name = "sp-io" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "futures 0.3.14", "hash-db", @@ -9542,7 +9572,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "lazy_static", "sp-core", @@ -9553,7 +9583,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "async-trait", "derive_more", @@ -9570,7 +9600,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "ruzstd", "zstd", @@ -9579,7 +9609,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "parity-scale-codec", "serde", @@ -9592,7 +9622,7 @@ dependencies = [ [[package]] name = "sp-npos-elections-compact" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -9603,7 +9633,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "sp-api", "sp-core", @@ -9613,7 +9643,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "backtrace", ] @@ -9621,7 +9651,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "rustc-hash", "serde", @@ -9632,7 +9662,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "either", "hash256-std-hasher", @@ -9654,7 +9684,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9671,7 +9701,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "Inflector", "proc-macro-crate 1.0.0", @@ -9683,7 +9713,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "serde", "serde_json", @@ -9692,7 +9722,7 @@ dependencies = [ [[package]] name = "sp-session" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "parity-scale-codec", "sp-api", @@ -9705,7 +9735,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -9715,7 +9745,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "hash-db", "log", @@ -9738,12 +9768,12 @@ dependencies = [ [[package]] name = "sp-std" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" [[package]] name = "sp-storage" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9756,7 +9786,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "log", "sp-core", @@ -9769,7 +9799,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "async-trait", "futures-timer 3.0.2", @@ -9786,7 +9816,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "erased-serde", "log", @@ -9804,7 +9834,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "derive_more", "futures 0.3.14", @@ -9820,7 +9850,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "async-trait", "log", @@ -9835,7 +9865,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "hash-db", "memory-db", @@ -9849,7 +9879,7 @@ dependencies = [ [[package]] name = "sp-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "futures 0.3.14", "futures-core", @@ -9861,7 +9891,7 @@ dependencies = [ [[package]] name = "sp-version" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9874,7 +9904,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "parity-scale-codec", "proc-macro-crate 1.0.0", @@ -9886,7 +9916,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -10043,7 +10073,7 @@ dependencies = [ [[package]] name = "substrate-browser-utils" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "chrono", "console_error_panic_hook", @@ -10069,7 +10099,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "platforms", ] @@ -10077,7 +10107,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.14", @@ -10100,7 +10130,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "async-std", "derive_more", @@ -10114,7 +10144,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "async-trait", "futures 0.1.29", @@ -10143,7 +10173,7 @@ dependencies = [ [[package]] name = "substrate-test-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "futures 0.3.14", "substrate-test-utils-derive", @@ -10153,7 +10183,7 @@ dependencies = [ [[package]] name = "substrate-test-utils-derive" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "proc-macro-crate 1.0.0", "quote", @@ -10918,7 +10948,7 @@ checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" [[package]] name = "try-runtime-cli" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#5f5fbea7a787d8b5db6133530e1dbb0606c08cf1" +source = "git+https://github.com/paritytech/substrate?branch=master#f775d0de6bddeba53ab35bc662fb076291e5260e" dependencies = [ "frame-try-runtime", "log", diff --git a/polkadot/Cargo.toml b/polkadot/Cargo.toml index da24aa45cb..9445127566 100644 --- a/polkadot/Cargo.toml +++ b/polkadot/Cargo.toml @@ -12,11 +12,8 @@ edition = "2018" readme = "README.md" [dependencies] -cli = { package = "polkadot-cli", path = "cli" } +polkadot-cli = { path = "cli", features = [ "kusama-native", "westend-native", "rococo-native" ] } color-eyre = "0.5.10" -thiserror = "1.0.23" -futures = "0.3.12" -service = { package = "polkadot-service", path = "node/service" } parity-util-mem = { version = "*", default-features = false, features = ["jemalloc-global"] } [dev-dependencies] @@ -43,6 +40,7 @@ members = [ "xcm/xcm-builder", "xcm/xcm-executor", "xcm/pallet-xcm", + "node/client", "node/collation-generation", "node/core/approval-voting", "node/core/av-store", @@ -96,8 +94,8 @@ opt-level = 3 panic = "unwind" [features] -runtime-benchmarks=["cli/runtime-benchmarks"] -try-runtime = ["cli/try-runtime"] +runtime-benchmarks= [ "polkadot-cli/runtime-benchmarks" ] +try-runtime = [ "polkadot-cli/try-runtime" ] # Configuration for building a .deb package - for use with `cargo-deb` [package.metadata.deb] diff --git a/polkadot/cli/Cargo.toml b/polkadot/cli/Cargo.toml index e28b0191ea..4882b6a884 100644 --- a/polkadot/cli/Cargo.toml +++ b/polkadot/cli/Cargo.toml @@ -54,9 +54,16 @@ browser = [ "wasm-bindgen", "wasm-bindgen-futures", "browser-utils", - "service", + "service/light-node", ] runtime-benchmarks = [ "service/runtime-benchmarks" ] trie-memory-tracker = [ "sp-trie/memory-tracker" ] full-node = [ "service/full-node" ] try-runtime = [ "service/try-runtime" ] + +# Configure the native runtimes to use. Polkadot is always enabled by default. +# +# Validators require the native runtime currently +kusama-native = [ "service/kusama-native" ] +westend-native = [ "service/westend-native" ] +rococo-native = [ "service/rococo-native" ] diff --git a/polkadot/cli/src/command.rs b/polkadot/cli/src/command.rs index 7dde1f4379..ae76ee52db 100644 --- a/polkadot/cli/src/command.rs +++ b/polkadot/cli/src/command.rs @@ -75,23 +75,44 @@ impl SubstrateCli for Cli { } else { id }; Ok(match id { "kusama" => Box::new(service::chain_spec::kusama_config()?), + #[cfg(feature = "kusama-native")] "kusama-dev" => Box::new(service::chain_spec::kusama_development_config()?), + #[cfg(feature = "kusama-native")] "kusama-local" => Box::new(service::chain_spec::kusama_local_testnet_config()?), + #[cfg(feature = "kusama-native")] "kusama-staging" => Box::new(service::chain_spec::kusama_staging_testnet_config()?), + #[cfg(not(feature = "kusama-native"))] + name if name.starts_with("kusama-") => + Err(format!("`{}` only supported with `kusama-native` feature enabled.", name))?, "polkadot" => Box::new(service::chain_spec::polkadot_config()?), "polkadot-dev" | "dev" => Box::new(service::chain_spec::polkadot_development_config()?), "polkadot-local" => Box::new(service::chain_spec::polkadot_local_testnet_config()?), "polkadot-staging" => Box::new(service::chain_spec::polkadot_staging_testnet_config()?), "rococo" => Box::new(service::chain_spec::rococo_config()?), + #[cfg(feature = "rococo-native")] "rococo-dev" => Box::new(service::chain_spec::rococo_development_config()?), + #[cfg(feature = "rococo-native")] "rococo-local" => Box::new(service::chain_spec::rococo_local_testnet_config()?), + #[cfg(feature = "rococo-native")] "rococo-staging" => Box::new(service::chain_spec::rococo_staging_testnet_config()?), + name if name.starts_with("rococo-") => + Err(format!("`{}` only supported with `rococo-native` feature enabled.", name))?, "westend" => Box::new(service::chain_spec::westend_config()?), + #[cfg(feature = "westend-native")] "westend-dev" => Box::new(service::chain_spec::westend_development_config()?), + #[cfg(feature = "westend-native")] "westend-local" => Box::new(service::chain_spec::westend_local_testnet_config()?), + #[cfg(feature = "westend-native")] "westend-staging" => Box::new(service::chain_spec::westend_staging_testnet_config()?), + #[cfg(not(feature = "westend-native"))] + name if name.starts_with("westend-") => + Err(format!("`{}` only supported with `westend-native` feature enabled.", name))?, "wococo" => Box::new(service::chain_spec::wococo_config()?), + #[cfg(feature = "rococo-native")] "wococo-dev" => Box::new(service::chain_spec::wococo_development_config()?), + #[cfg(not(feature = "rococo-native"))] + name if name.starts_with("wococo-") => + Err(format!("`{}` only supported with `rococo-native` feature enabled.", name))?, path => { let path = std::path::PathBuf::from(path); @@ -113,15 +134,25 @@ impl SubstrateCli for Cli { } fn native_runtime_version(spec: &Box) -> &'static RuntimeVersion { + #[cfg(feature = "kusama-native")] if spec.is_kusama() { - &service::kusama_runtime::VERSION - } else if spec.is_westend() { - &service::westend_runtime::VERSION - } else if spec.is_rococo() || spec.is_wococo() { - &service::rococo_runtime::VERSION - } else { - &service::polkadot_runtime::VERSION + return &service::kusama_runtime::VERSION } + + #[cfg(feature = "westend-native")] + if spec.is_westend() { + return &service::westend_runtime::VERSION + } + + #[cfg(feature = "rococo-native")] + if spec.is_rococo() || spec.is_wococo() { + return &service::rococo_runtime::VERSION + } + + #[cfg(not(all(feature = "rococo-native", feature = "westend-native", feature = "kusama-native")))] + let _ = spec; + + &service::polkadot_runtime::VERSION } } @@ -181,8 +212,11 @@ pub fn run() -> Result<()> { runner.run_node_until_exit(move |config| async move { let role = config.role.clone(); - let task_manager = match role { - Role::Light => service::build_light(config).map(|(task_manager, _)| task_manager), + match role { + #[cfg(feature = "browser")] + Role::Light => service::build_light(config).map(|(task_manager, _)| task_manager).map_err(Into::into), + #[cfg(not(feature = "browser"))] + Role::Light => Err(Error::Other("Light client not enabled".into())), _ => service::build_full( config, service::IsCollator::No, @@ -190,9 +224,8 @@ pub fn run() -> Result<()> { cli.run.no_beefy, jaeger_agent, None, - ).map(|full| full.task_manager) - }?; - Ok::<_, Error>(task_manager) + ).map(|full| full.task_manager).map_err(Into::into) + } }) }, Some(Subcommand::BuildSpec(cmd)) => { @@ -304,23 +337,28 @@ pub fn run() -> Result<()> { set_default_ss58_version(chain_spec); ensure_dev(chain_spec).map_err(Error::Other)?; + + #[cfg(feature = "kusama-native")] if chain_spec.is_kusama() { - Ok(runner.sync_run(|config| { + return Ok(runner.sync_run(|config| { cmd.run::(config) .map_err(|e| Error::SubstrateCli(e)) })?) - } else if chain_spec.is_westend() { - Ok(runner.sync_run(|config| { + } + + #[cfg(feature = "westend-native")] + if chain_spec.is_westend() { + return Ok(runner.sync_run(|config| { cmd.run::(config) .map_err(|e| Error::SubstrateCli(e)) })?) - } else { - // else we assume it is polkadot. - Ok(runner.sync_run(|config| { - cmd.run::(config) - .map_err(|e| Error::SubstrateCli(e)) - })?) } + + // else we assume it is polkadot. + Ok(runner.sync_run(|config| { + cmd.run::(config) + .map_err(|e| Error::SubstrateCli(e)) + })?) }, Some(Subcommand::Key(cmd)) => Ok(cmd.run(&cli)?), #[cfg(feature = "try-runtime")] @@ -337,29 +375,34 @@ pub fn run() -> Result<()> { ).map_err(|e| Error::SubstrateService(sc_service::Error::Prometheus(e)))?; ensure_dev(chain_spec).map_err(Error::Other)?; + + #[cfg(feature = "kusama-native")] if chain_spec.is_kusama() { - runner.async_run(|config| { + return runner.async_run(|config| { Ok((cmd.run::< service::kusama_runtime::Block, service::KusamaExecutor, >(config).map_err(Error::SubstrateCli), task_manager)) }) - } else if chain_spec.is_westend() { - runner.async_run(|config| { + } + + #[cfg(feature = "westend-native")] + if chain_spec.is_westend() { + return runner.async_run(|config| { Ok((cmd.run::< service::westend_runtime::Block, service::WestendExecutor, >(config).map_err(Error::SubstrateCli), task_manager)) }) - } else { - // else we assume it is polkadot. - runner.async_run(|config| { - Ok((cmd.run::< - service::polkadot_runtime::Block, - service::PolkadotExecutor, - >(config).map_err(Error::SubstrateCli), task_manager)) - }) } + + // else we assume it is polkadot. + runner.async_run(|config| { + Ok((cmd.run::< + service::polkadot_runtime::Block, + service::PolkadotExecutor, + >(config).map_err(Error::SubstrateCli), task_manager)) + }) } }?; Ok(()) diff --git a/polkadot/node/client/Cargo.toml b/polkadot/node/client/Cargo.toml new file mode 100644 index 0000000000..4f84b65659 --- /dev/null +++ b/polkadot/node/client/Cargo.toml @@ -0,0 +1,44 @@ +[package] +name = "polkadot-client" +version = "0.9.3" +authors = ["Parity Technologies "] +edition = "2018" + +[dependencies] +frame-benchmarking = { git = "https://github.com/paritytech/substrate", branch = "master" } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", branch = "master" } +frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", branch = "master" } + +sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-storage = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-api = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-session = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-authority-discovery = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-finality-grandpa = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-consensus-babe = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-offchain = { package = "sp-offchain", git = "https://github.com/paritytech/substrate", branch = "master" } +sp-block-builder = { git = "https://github.com/paritytech/substrate", branch = "master" } + +sc-executor = { git = "https://github.com/paritytech/substrate", branch = "master" } +sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "master" } +sc-service = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } + +pallet-mmr-primitives = { git = "https://github.com/paritytech/substrate", branch = "master" } + +beefy-primitives = { git = "https://github.com/paritytech/grandpa-bridge-gadget", branch = "master" } + +# Polkadot Runtimes +polkadot-runtime = { path = "../../runtime/polkadot" } +kusama-runtime = { path = "../../runtime/kusama", optional = true } +westend-runtime = { path = "../../runtime/westend", optional = true } +rococo-runtime = { path = "../../runtime/rococo", optional = true } + +polkadot-primitives = { path = "../../primitives" } + +[features] +kusama = [ "kusama-runtime" ] +rococo = [ "rococo-runtime" ] +westend = [ "westend-runtime" ] diff --git a/polkadot/node/service/src/client.rs b/polkadot/node/client/src/lib.rs similarity index 57% rename from polkadot/node/service/src/client.rs rename to polkadot/node/client/src/lib.rs index c2f31a3a81..5ce2f5135f 100644 --- a/polkadot/node/service/src/client.rs +++ b/polkadot/node/client/src/lib.rs @@ -14,7 +14,10 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -//! Polkadot Client meta trait +//! Polkadot Client +//! +//! Provides the [`AbstractClient`] trait that is a super trait that combines all the traits the client implements. +//! There is also the [`Client`] enum that combines all the different clients into one common structure. use std::sync::Arc; use beefy_primitives::ecdsa::AuthorityId as BeefyId; @@ -26,14 +29,50 @@ use sp_runtime::{ use sc_client_api::{Backend as BackendT, BlockchainEvents, KeyIterator, AuxStore, UsageProvider}; use sp_storage::{StorageData, StorageKey, ChildInfo, PrefixedStorageKey}; use polkadot_primitives::v1::{Block, ParachainHost, AccountId, Nonce, Balance, Header, BlockNumber, Hash}; -use consensus_common::BlockStatus; +use sp_consensus::BlockStatus; +use sc_executor::native_executor_instance; + +pub type FullBackend = sc_service::TFullBackend; + +pub type FullClient = sc_service::TFullClient; + +native_executor_instance!( + pub PolkadotExecutor, + polkadot_runtime::api::dispatch, + polkadot_runtime::native_version, + frame_benchmarking::benchmarking::HostFunctions, +); + +#[cfg(feature = "kusama")] +native_executor_instance!( + pub KusamaExecutor, + kusama_runtime::api::dispatch, + kusama_runtime::native_version, + frame_benchmarking::benchmarking::HostFunctions, +); + +#[cfg(feature = "westend")] +native_executor_instance!( + pub WestendExecutor, + westend_runtime::api::dispatch, + westend_runtime::native_version, + frame_benchmarking::benchmarking::HostFunctions, +); + +#[cfg(feature = "rococo")] +native_executor_instance!( + pub RococoExecutor, + rococo_runtime::api::dispatch, + rococo_runtime::native_version, + frame_benchmarking::benchmarking::HostFunctions, +); /// A set of APIs that polkadot-like runtimes must implement. pub trait RuntimeApiCollection: sp_transaction_pool::runtime_api::TaggedTransactionQueue + sp_api::ApiExt + sp_consensus_babe::BabeApi - + grandpa_primitives::GrandpaApi + + sp_finality_grandpa::GrandpaApi + ParachainHost + sp_block_builder::BlockBuilder + frame_system_rpc_runtime_api::AccountNonceApi @@ -53,7 +92,7 @@ where Api: sp_transaction_pool::runtime_api::TaggedTransactionQueue + sp_api::ApiExt + sp_consensus_babe::BabeApi - + grandpa_primitives::GrandpaApi + + sp_finality_grandpa::GrandpaApi + ParachainHost + sp_block_builder::BlockBuilder + frame_system_rpc_runtime_api::AccountNonceApi @@ -145,31 +184,47 @@ pub trait ClientHandle { fn execute_with(&self, t: T) -> T::Output; } +macro_rules! with_client { + { + $self:ident, + $client:ident, + { + $( $code:tt )* + } + } => { + match $self { + Self::Polkadot($client) => { $( $code )* }, + #[cfg(feature = "westend")] + Self::Westend($client) => { $( $code )* }, + #[cfg(feature = "kusama")] + Self::Kusama($client) => { $( $code )* }, + #[cfg(feature = "rococo")] + Self::Rococo($client) => { $( $code )* }, + } + } +} + /// A client instance of Polkadot. /// /// See [`ExecuteWithClient`] for more information. #[derive(Clone)] pub enum Client { - Polkadot(Arc>), - Westend(Arc>), - Kusama(Arc>), - Rococo(Arc>), + Polkadot(Arc>), + #[cfg(feature = "westend")] + Westend(Arc>), + #[cfg(feature = "kusama")] + Kusama(Arc>), + #[cfg(feature = "rococo")] + Rococo(Arc>), } impl ClientHandle for Client { fn execute_with(&self, t: T) -> T::Output { - match self { - Self::Polkadot(client) => { - T::execute_with_client::<_, _, crate::FullBackend>(t, client.clone()) - }, - Self::Westend(client) => { - T::execute_with_client::<_, _, crate::FullBackend>(t, client.clone()) - }, - Self::Kusama(client) => { - T::execute_with_client::<_, _, crate::FullBackend>(t, client.clone()) - }, - Self::Rococo(client) => { - T::execute_with_client::<_, _, crate::FullBackend>(t, client.clone()) + with_client! { + self, + client, + { + T::execute_with_client::<_, _, FullBackend>(t, client.clone()) } } } @@ -177,11 +232,12 @@ impl ClientHandle for Client { impl UsageProvider for Client { fn usage_info(&self) -> sc_client_api::ClientInfo { - match self { - Self::Polkadot(client) => client.usage_info(), - Self::Westend(client) => client.usage_info(), - Self::Kusama(client) => client.usage_info(), - Self::Rococo(client) => client.usage_info(), + with_client! { + self, + client, + { + client.usage_info() + } } } } @@ -191,29 +247,32 @@ impl sc_client_api::BlockBackend for Client { &self, id: &BlockId ) -> sp_blockchain::Result::Extrinsic>>> { - match self { - Self::Polkadot(client) => client.block_body(id), - Self::Westend(client) => client.block_body(id), - Self::Kusama(client) => client.block_body(id), - Self::Rococo(client) => client.block_body(id), + with_client! { + self, + client, + { + client.block_body(id) + } } } fn block(&self, id: &BlockId) -> sp_blockchain::Result>> { - match self { - Self::Polkadot(client) => client.block(id), - Self::Westend(client) => client.block(id), - Self::Kusama(client) => client.block(id), - Self::Rococo(client) => client.block(id), + with_client! { + self, + client, + { + client.block(id) + } } } fn block_status(&self, id: &BlockId) -> sp_blockchain::Result { - match self { - Self::Polkadot(client) => client.block_status(id), - Self::Westend(client) => client.block_status(id), - Self::Kusama(client) => client.block_status(id), - Self::Rococo(client) => client.block_status(id), + with_client! { + self, + client, + { + client.block_status(id) + } } } @@ -221,11 +280,12 @@ impl sc_client_api::BlockBackend for Client { &self, id: &BlockId ) -> sp_blockchain::Result> { - match self { - Self::Polkadot(client) => client.justifications(id), - Self::Westend(client) => client.justifications(id), - Self::Kusama(client) => client.justifications(id), - Self::Rococo(client) => client.justifications(id), + with_client! { + self, + client, + { + client.justifications(id) + } } } @@ -233,11 +293,12 @@ impl sc_client_api::BlockBackend for Client { &self, number: NumberFor ) -> sp_blockchain::Result::Hash>> { - match self { - Self::Polkadot(client) => client.block_hash(number), - Self::Westend(client) => client.block_hash(number), - Self::Kusama(client) => client.block_hash(number), - Self::Rococo(client) => client.block_hash(number), + with_client! { + self, + client, + { + client.block_hash(number) + } } } @@ -245,11 +306,12 @@ impl sc_client_api::BlockBackend for Client { &self, id: &::Hash ) -> sp_blockchain::Result>> { - match self { - Self::Polkadot(client) => client.indexed_transaction(id), - Self::Westend(client) => client.indexed_transaction(id), - Self::Kusama(client) => client.indexed_transaction(id), - Self::Rococo(client) => client.indexed_transaction(id), + with_client! { + self, + client, + { + client.indexed_transaction(id) + } } } @@ -257,11 +319,12 @@ impl sc_client_api::BlockBackend for Client { &self, id: &BlockId ) -> sp_blockchain::Result>>> { - match self { - Self::Polkadot(client) => client.block_indexed_body(id), - Self::Westend(client) => client.block_indexed_body(id), - Self::Kusama(client) => client.block_indexed_body(id), - Self::Rococo(client) => client.block_indexed_body(id), + with_client! { + self, + client, + { + client.block_indexed_body(id) + } } } } @@ -272,11 +335,12 @@ impl sc_client_api::StorageProvider for Client { id: &BlockId, key: &StorageKey, ) -> sp_blockchain::Result> { - match self { - Self::Polkadot(client) => client.storage(id, key), - Self::Westend(client) => client.storage(id, key), - Self::Kusama(client) => client.storage(id, key), - Self::Rococo(client) => client.storage(id, key), + with_client! { + self, + client, + { + client.storage(id, key) + } } } @@ -285,11 +349,12 @@ impl sc_client_api::StorageProvider for Client { id: &BlockId, key_prefix: &StorageKey, ) -> sp_blockchain::Result> { - match self { - Self::Polkadot(client) => client.storage_keys(id, key_prefix), - Self::Westend(client) => client.storage_keys(id, key_prefix), - Self::Kusama(client) => client.storage_keys(id, key_prefix), - Self::Rococo(client) => client.storage_keys(id, key_prefix), + with_client! { + self, + client, + { + client.storage_keys(id, key_prefix) + } } } @@ -298,11 +363,12 @@ impl sc_client_api::StorageProvider for Client { id: &BlockId, key: &StorageKey, ) -> sp_blockchain::Result::Hash>> { - match self { - Self::Polkadot(client) => client.storage_hash(id, key), - Self::Westend(client) => client.storage_hash(id, key), - Self::Kusama(client) => client.storage_hash(id, key), - Self::Rococo(client) => client.storage_hash(id, key), + with_client! { + self, + client, + { + client.storage_hash(id, key) + } } } @@ -311,11 +377,12 @@ impl sc_client_api::StorageProvider for Client { id: &BlockId, key_prefix: &StorageKey, ) -> sp_blockchain::Result> { - match self { - Self::Polkadot(client) => client.storage_pairs(id, key_prefix), - Self::Westend(client) => client.storage_pairs(id, key_prefix), - Self::Kusama(client) => client.storage_pairs(id, key_prefix), - Self::Rococo(client) => client.storage_pairs(id, key_prefix), + with_client! { + self, + client, + { + client.storage_pairs(id, key_prefix) + } } } @@ -325,11 +392,12 @@ impl sc_client_api::StorageProvider for Client { prefix: Option<&'a StorageKey>, start_key: Option<&StorageKey>, ) -> sp_blockchain::Result>::State, Block>> { - match self { - Self::Polkadot(client) => client.storage_keys_iter(id, prefix, start_key), - Self::Westend(client) => client.storage_keys_iter(id, prefix, start_key), - Self::Kusama(client) => client.storage_keys_iter(id, prefix, start_key), - Self::Rococo(client) => client.storage_keys_iter(id, prefix, start_key), + with_client! { + self, + client, + { + client.storage_keys_iter(id, prefix, start_key) + } } } @@ -339,11 +407,12 @@ impl sc_client_api::StorageProvider for Client { child_info: &ChildInfo, key: &StorageKey, ) -> sp_blockchain::Result> { - match self { - Self::Polkadot(client) => client.child_storage(id, child_info, key), - Self::Westend(client) => client.child_storage(id, child_info, key), - Self::Kusama(client) => client.child_storage(id, child_info, key), - Self::Rococo(client) => client.child_storage(id, child_info, key), + with_client! { + self, + client, + { + client.child_storage(id, child_info, key) + } } } @@ -353,11 +422,12 @@ impl sc_client_api::StorageProvider for Client { child_info: &ChildInfo, key_prefix: &StorageKey, ) -> sp_blockchain::Result> { - match self { - Self::Polkadot(client) => client.child_storage_keys(id, child_info, key_prefix), - Self::Westend(client) => client.child_storage_keys(id, child_info, key_prefix), - Self::Kusama(client) => client.child_storage_keys(id, child_info, key_prefix), - Self::Rococo(client) => client.child_storage_keys(id, child_info, key_prefix), + with_client! { + self, + client, + { + client.child_storage_keys(id, child_info, key_prefix) + } } } @@ -367,11 +437,12 @@ impl sc_client_api::StorageProvider for Client { child_info: &ChildInfo, key: &StorageKey, ) -> sp_blockchain::Result::Hash>> { - match self { - Self::Polkadot(client) => client.child_storage_hash(id, child_info, key), - Self::Westend(client) => client.child_storage_hash(id, child_info, key), - Self::Kusama(client) => client.child_storage_hash(id, child_info, key), - Self::Rococo(client) => client.child_storage_hash(id, child_info, key), + with_client! { + self, + client, + { + client.child_storage_hash(id, child_info, key) + } } } @@ -380,11 +451,12 @@ impl sc_client_api::StorageProvider for Client { first: NumberFor, last: BlockId, ) -> sp_blockchain::Result, BlockId)>> { - match self { - Self::Polkadot(client) => client.max_key_changes_range(first, last), - Self::Westend(client) => client.max_key_changes_range(first, last), - Self::Kusama(client) => client.max_key_changes_range(first, last), - Self::Rococo(client) => client.max_key_changes_range(first, last), + with_client! { + self, + client, + { + client.max_key_changes_range(first, last) + } } } @@ -395,58 +467,64 @@ impl sc_client_api::StorageProvider for Client { storage_key: Option<&PrefixedStorageKey>, key: &StorageKey, ) -> sp_blockchain::Result, u32)>> { - match self { - Self::Polkadot(client) => client.key_changes(first, last, storage_key, key), - Self::Westend(client) => client.key_changes(first, last, storage_key, key), - Self::Kusama(client) => client.key_changes(first, last, storage_key, key), - Self::Rococo(client) => client.key_changes(first, last, storage_key, key), + with_client! { + self, + client, + { + client.key_changes(first, last, storage_key, key) + } } } } impl sp_blockchain::HeaderBackend for Client { fn header(&self, id: BlockId) -> sp_blockchain::Result> { - match self { - Self::Polkadot(client) => client.header(&id), - Self::Westend(client) => client.header(&id), - Self::Kusama(client) => client.header(&id), - Self::Rococo(client) => client.header(&id), + with_client! { + self, + client, + { + client.header(&id) + } } } fn info(&self) -> sp_blockchain::Info { - match self { - Self::Polkadot(client) => client.info(), - Self::Westend(client) => client.info(), - Self::Kusama(client) => client.info(), - Self::Rococo(client) => client.info(), + with_client! { + self, + client, + { + client.info() + } } } fn status(&self, id: BlockId) -> sp_blockchain::Result { - match self { - Self::Polkadot(client) => client.status(id), - Self::Westend(client) => client.status(id), - Self::Kusama(client) => client.status(id), - Self::Rococo(client) => client.status(id), + with_client! { + self, + client, + { + client.status(id) + } } } fn number(&self, hash: Hash) -> sp_blockchain::Result> { - match self { - Self::Polkadot(client) => client.number(hash), - Self::Westend(client) => client.number(hash), - Self::Kusama(client) => client.number(hash), - Self::Rococo(client) => client.number(hash), + with_client! { + self, + client, + { + client.number(hash) + } } } fn hash(&self, number: BlockNumber) -> sp_blockchain::Result> { - match self { - Self::Polkadot(client) => client.hash(number), - Self::Westend(client) => client.hash(number), - Self::Kusama(client) => client.hash(number), - Self::Rococo(client) => client.hash(number), + with_client! { + self, + client, + { + client.hash(number) + } } } } diff --git a/polkadot/node/service/Cargo.toml b/polkadot/node/service/Cargo.toml index 1ede8c5a9b..fcbc4aab4a 100644 --- a/polkadot/node/service/Cargo.toml +++ b/polkadot/node/service/Cargo.toml @@ -56,7 +56,6 @@ pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/parityt pallet-mmr-primitives = { git = "https://github.com/paritytech/substrate", branch = "master" } # Substrate Other -frame-benchmarking = { git = "https://github.com/paritytech/substrate", branch = "master" } frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", branch = "master" } prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/paritytech/substrate", branch = "master" } @@ -72,6 +71,7 @@ kvdb-rocksdb = { version = "0.11.0", optional = true } # Polkadot polkadot-node-core-parachains-inherent = { path = "../core/parachains-inherent" } polkadot-overseer = { path = "../overseer" } +polkadot-client = { path = "../client" } polkadot-parachain = { path = "../../parachain" } polkadot-primitives = { path = "../../primitives" } polkadot-node-primitives = { path = "../primitives" } @@ -82,9 +82,9 @@ polkadot-runtime-parachains = { path = "../../runtime/parachains" } # Polkadot Runtimes polkadot-runtime = { path = "../../runtime/polkadot" } -kusama-runtime = { path = "../../runtime/kusama" } -westend-runtime = { path = "../../runtime/westend" } -rococo-runtime = { path = "../../runtime/rococo" } +kusama-runtime = { path = "../../runtime/kusama", optional = true } +westend-runtime = { path = "../../runtime/westend", optional = true } +rococo-runtime = { path = "../../runtime/rococo", optional = true } # Polkadot Subsystems polkadot-availability-bitfield-distribution = { path = "../network/bitfield-distribution", optional = true } @@ -111,7 +111,11 @@ env_logger = "0.8.2" [features] default = ["db", "full-node"] -db = ["service/db"] + +db = [ + "service/db" +] + full-node = [ "polkadot-node-core-av-store", "polkadot-node-core-approval-voting", @@ -134,6 +138,15 @@ full-node = [ "kvdb-rocksdb" ] +light-node = [] + +# Configure the native runtimes to use. Polkadot is always enabled by default. +# +# Validators require the native runtime currently +kusama-native = [ "kusama-runtime", "polkadot-client/kusama" ] +westend-native = [ "westend-runtime", "polkadot-client/westend" ] +rococo-native = [ "rococo-runtime", "polkadot-client/rococo" ] + runtime-benchmarks = [ "polkadot-runtime/runtime-benchmarks", "kusama-runtime/runtime-benchmarks", diff --git a/polkadot/node/service/src/chain_spec.rs b/polkadot/node/service/src/chain_spec.rs index 1822bd1133..1ab99f040b 100644 --- a/polkadot/node/service/src/chain_spec.rs +++ b/polkadot/node/service/src/chain_spec.rs @@ -16,33 +16,40 @@ //! Polkadot chain configurations. -use rococo::constants::size::MAX_CODE_SIZE; use sp_authority_discovery::AuthorityId as AuthorityDiscoveryId; use sp_consensus_babe::AuthorityId as BabeId; use beefy_primitives::ecdsa::AuthorityId as BeefyId; use grandpa::AuthorityId as GrandpaId; -use hex_literal::hex; +#[cfg(feature = "kusama-native")] use kusama_runtime as kusama; +#[cfg(feature = "kusama-native")] use kusama_runtime::constants::currency::UNITS as KSM; use pallet_im_online::sr25519::AuthorityId as ImOnlineId; use pallet_staking::Forcing; use polkadot::constants::currency::UNITS as DOT; -use polkadot_node_primitives::MAX_POV_SIZE; -use polkadot_primitives::v1::{AccountId, AccountPublic, AssignmentId, ValidatorId, BlockNumber}; +use polkadot_primitives::v1::{AccountId, AccountPublic, AssignmentId, ValidatorId}; use polkadot_runtime as polkadot; + +#[cfg(feature = "rococo-native")] use rococo_runtime as rococo; +#[cfg(feature = "rococo-native")] use rococo_runtime::constants::currency::UNITS as ROC; use sc_chain_spec::{ChainSpecExtension, ChainType}; use serde::{Deserialize, Serialize}; -use sp_core::{crypto::UncheckedInto, sr25519, Pair, Public}; +use sp_core::{sr25519, Pair, Public}; use sp_runtime::{traits::IdentifyAccount, Perbill}; use telemetry::TelemetryEndpoints; +#[cfg(feature = "westend-native")] use westend_runtime as westend; +#[cfg(feature = "westend-native")] use westend_runtime::constants::currency::UNITS as WND; const POLKADOT_STAGING_TELEMETRY_URL: &str = "wss://telemetry.polkadot.io/submit/"; +#[cfg(feature = "kusama-native")] const KUSAMA_STAGING_TELEMETRY_URL: &str = "wss://telemetry.polkadot.io/submit/"; +#[cfg(feature = "westend-native")] const WESTEND_STAGING_TELEMETRY_URL: &str = "wss://telemetry.polkadot.io/submit/"; +#[cfg(feature = "rococo-native")] const ROCOCO_STAGING_TELEMETRY_URL: &str = "wss://telemetry.polkadot.io/submit/"; const DEFAULT_PROTOCOL_ID: &str = "dot"; @@ -63,16 +70,35 @@ pub struct Extensions { pub type PolkadotChainSpec = service::GenericChainSpec; /// The `ChainSpec` parameterized for the kusama runtime. +#[cfg(feature = "kusama-native")] pub type KusamaChainSpec = service::GenericChainSpec; +/// The `ChainSpec` parameterized for the kusama runtime. +// This actually uses the polkadot chain spec, but that is fine when we don't have the native runtime. +#[cfg(not(feature = "kusama-native"))] +pub type KusamaChainSpec = PolkadotChainSpec; + /// The `ChainSpec` parameterized for the westend runtime. +#[cfg(feature = "westend-native")] pub type WestendChainSpec = service::GenericChainSpec; +/// The `ChainSpec` parameterized for the westend runtime. +// This actually uses the polkadot chain spec, but that is fine when we don't have the native runtime. +#[cfg(not(feature = "westend-native"))] +pub type WestendChainSpec = PolkadotChainSpec; + /// The `ChainSpec` parameterized for the rococo runtime. +#[cfg(feature = "rococo-native")] pub type RococoChainSpec = service::GenericChainSpec; +/// The `ChainSpec` parameterized for the rococo runtime. +// This actually uses the polkadot chain spec, but that is fine when we don't have the native runtime. +#[cfg(not(feature = "rococo-native"))] +pub type RococoChainSpec = PolkadotChainSpec; + /// Extension for the Rococo genesis config to support a custom changes to the genesis state. #[derive(serde::Serialize, serde::Deserialize)] +#[cfg(feature = "rococo-native")] pub struct RococoGenesisExt { /// The runtime genesis config. runtime_genesis_config: rococo::GenesisConfig, @@ -82,6 +108,7 @@ pub struct RococoGenesisExt { session_length_in_blocks: Option, } +#[cfg(feature = "rococo-native")] impl sp_runtime::BuildStorage for RococoGenesisExt { fn assimilate_storage( &self, @@ -104,21 +131,27 @@ pub fn kusama_config() -> Result { KusamaChainSpec::from_json_bytes(&include_bytes!("../res/kusama.json")[..]) } -pub fn westend_config() -> Result { - PolkadotChainSpec::from_json_bytes(&include_bytes!("../res/westend.json")[..]) +pub fn westend_config() -> Result { + WestendChainSpec::from_json_bytes(&include_bytes!("../res/westend.json")[..]) } -pub fn rococo_config() -> Result { - PolkadotChainSpec::from_json_bytes(&include_bytes!("../res/rococo.json")[..]) +pub fn rococo_config() -> Result { + RococoChainSpec::from_json_bytes(&include_bytes!("../res/rococo.json")[..]) } /// This is a temporary testnet that uses the same runtime as rococo. -pub fn wococo_config() -> Result { - PolkadotChainSpec::from_json_bytes(&include_bytes!("../res/wococo.json")[..]) +pub fn wococo_config() -> Result { + RococoChainSpec::from_json_bytes(&include_bytes!("../res/wococo.json")[..]) } /// The default parachains host configuration. -fn default_parachains_host_configuration() -> polkadot_runtime_parachains::configuration::HostConfiguration { +#[cfg(any(feature = "rococo-native", feature = "kusama-native", feature = "westend-native"))] +fn default_parachains_host_configuration() -> + polkadot_runtime_parachains::configuration::HostConfiguration +{ + use polkadot_node_primitives::MAX_POV_SIZE; + use polkadot_primitives::v1::MAX_CODE_SIZE; + polkadot_runtime_parachains::configuration::HostConfiguration { validation_upgrade_frequency: 1u32, validation_upgrade_delay: 1, @@ -179,6 +212,7 @@ fn polkadot_session_keys( } } +#[cfg(feature = "kusama-native")] fn kusama_session_keys( babe: BabeId, grandpa: GrandpaId, @@ -197,6 +231,7 @@ fn kusama_session_keys( } } +#[cfg(feature = "westend-native")] fn westend_session_keys( babe: BabeId, grandpa: GrandpaId, @@ -215,6 +250,7 @@ fn westend_session_keys( } } +#[cfg(feature = "rococo-native")] fn rococo_session_keys( babe: BabeId, grandpa: GrandpaId, @@ -331,7 +367,11 @@ fn polkadot_staging_testnet_config_genesis(wasm_binary: &[u8]) -> polkadot::Gene } } +#[cfg(feature = "westend-native")] fn westend_staging_testnet_config_genesis(wasm_binary: &[u8]) -> westend::GenesisConfig { + use hex_literal::hex; + use sp_core::crypto::UncheckedInto; + // subkey inspect "$SECRET" let endowed_accounts = vec![ // 5DaVh5WRfazkGaKhx1jUu6hjz7EmRe4dtW6PKeVLim84KLe8 @@ -492,7 +532,11 @@ fn westend_staging_testnet_config_genesis(wasm_binary: &[u8]) -> westend::Genesi } } +#[cfg(feature = "kusama-native")] fn kusama_staging_testnet_config_genesis(wasm_binary: &[u8]) -> kusama::GenesisConfig { + use hex_literal::hex; + use sp_core::crypto::UncheckedInto; + // subkey inspect "$SECRET" let endowed_accounts = vec![ // 5CVFESwfkk7NmhQ6FwHCM9roBvr9BGa4vJHFYU8DnGQxrXvz @@ -698,7 +742,11 @@ fn kusama_staging_testnet_config_genesis(wasm_binary: &[u8]) -> kusama::GenesisC } } +#[cfg(feature = "rococo-native")] fn rococo_staging_testnet_config_genesis(wasm_binary: &[u8]) -> rococo_runtime::GenesisConfig { + use hex_literal::hex; + use sp_core::crypto::UncheckedInto; + // subkey inspect "$SECRET" let endowed_accounts = vec![ // 5FeyRQmjtdHoPH56ASFW76AJEP1yaQC1K9aEMvJTF9nzt9S9 @@ -967,6 +1015,7 @@ pub fn polkadot_staging_testnet_config() -> Result { } /// Staging testnet config. +#[cfg(feature = "kusama-native")] pub fn kusama_staging_testnet_config() -> Result { let wasm_binary = kusama::WASM_BINARY.ok_or("Kusama development wasm not available")?; let boot_nodes = vec![]; @@ -988,6 +1037,7 @@ pub fn kusama_staging_testnet_config() -> Result { } /// Westend staging testnet config. +#[cfg(feature = "westend-native")] pub fn westend_staging_testnet_config() -> Result { let wasm_binary = westend::WASM_BINARY.ok_or("Westend development wasm not available")?; let boot_nodes = vec![]; @@ -1009,6 +1059,7 @@ pub fn westend_staging_testnet_config() -> Result { } /// Rococo staging testnet config. +#[cfg(feature = "rococo-native")] pub fn rococo_staging_testnet_config() -> Result { let wasm_binary = rococo::WASM_BINARY.ok_or("Rococo development wasm not available")?; let boot_nodes = vec![]; @@ -1208,6 +1259,7 @@ pub fn polkadot_testnet_genesis( } /// Helper function to create kusama GenesisConfig for testing +#[cfg(feature = "kusama-native")] pub fn kusama_testnet_genesis( wasm_binary: &[u8], initial_authorities: Vec<( @@ -1311,6 +1363,7 @@ pub fn kusama_testnet_genesis( } /// Helper function to create westend GenesisConfig for testing +#[cfg(feature = "westend-native")] pub fn westend_testnet_genesis( wasm_binary: &[u8], initial_authorities: Vec<( @@ -1398,6 +1451,7 @@ pub fn westend_testnet_genesis( } /// Helper function to create rococo GenesisConfig for testing +#[cfg(feature = "rococo-native")] pub fn rococo_testnet_genesis( wasm_binary: &[u8], initial_authorities: Vec<( @@ -1485,6 +1539,7 @@ fn polkadot_development_config_genesis(wasm_binary: &[u8]) -> polkadot::GenesisC ) } +#[cfg(feature = "kusama-native")] fn kusama_development_config_genesis(wasm_binary: &[u8]) -> kusama::GenesisConfig { kusama_testnet_genesis( wasm_binary, @@ -1494,6 +1549,7 @@ fn kusama_development_config_genesis(wasm_binary: &[u8]) -> kusama::GenesisConfi ) } +#[cfg(feature = "westend-native")] fn westend_development_config_genesis(wasm_binary: &[u8]) -> westend::GenesisConfig { westend_testnet_genesis( wasm_binary, @@ -1503,6 +1559,7 @@ fn westend_development_config_genesis(wasm_binary: &[u8]) -> westend::GenesisCon ) } +#[cfg(feature = "rococo-native")] fn rococo_development_config_genesis(wasm_binary: &[u8]) -> rococo_runtime::GenesisConfig { rococo_testnet_genesis( wasm_binary, @@ -1530,6 +1587,7 @@ pub fn polkadot_development_config() -> Result { } /// Kusama development config (single validator Alice) +#[cfg(feature = "kusama-native")] pub fn kusama_development_config() -> Result { let wasm_binary = kusama::WASM_BINARY.ok_or("Kusama development wasm not available")?; @@ -1547,6 +1605,7 @@ pub fn kusama_development_config() -> Result { } /// Westend development config (single validator Alice) +#[cfg(feature = "westend-native")] pub fn westend_development_config() -> Result { let wasm_binary = westend::WASM_BINARY.ok_or("Westend development wasm not available")?; @@ -1564,6 +1623,7 @@ pub fn westend_development_config() -> Result { } /// Rococo development config (single validator Alice) +#[cfg(feature = "rococo-native")] pub fn rococo_development_config() -> Result { let wasm_binary = rococo::WASM_BINARY.ok_or("Rococo development wasm not available")?; @@ -1585,6 +1645,7 @@ pub fn rococo_development_config() -> Result { } /// Wococo development config (single validator Alice) +#[cfg(feature = "rococo-native")] pub fn wococo_development_config() -> Result { const WOCOCO_DEV_PROTOCOL_ID: &str = "woco"; let wasm_binary = rococo::WASM_BINARY.ok_or("Wococo development wasm not available")?; @@ -1635,6 +1696,7 @@ pub fn polkadot_local_testnet_config() -> Result { )) } +#[cfg(feature = "kusama-native")] fn kusama_local_testnet_genesis(wasm_binary: &[u8]) -> kusama::GenesisConfig { kusama_testnet_genesis( wasm_binary, @@ -1648,6 +1710,7 @@ fn kusama_local_testnet_genesis(wasm_binary: &[u8]) -> kusama::GenesisConfig { } /// Kusama local testnet config (multivalidator Alice + Bob) +#[cfg(feature = "kusama-native")] pub fn kusama_local_testnet_config() -> Result { let wasm_binary = kusama::WASM_BINARY.ok_or("Kusama development wasm not available")?; @@ -1664,6 +1727,7 @@ pub fn kusama_local_testnet_config() -> Result { )) } +#[cfg(feature = "westend-native")] fn westend_local_testnet_genesis(wasm_binary: &[u8]) -> westend::GenesisConfig { westend_testnet_genesis( wasm_binary, @@ -1677,6 +1741,7 @@ fn westend_local_testnet_genesis(wasm_binary: &[u8]) -> westend::GenesisConfig { } /// Westend local testnet config (multivalidator Alice + Bob) +#[cfg(feature = "westend-native")] pub fn westend_local_testnet_config() -> Result { let wasm_binary = westend::WASM_BINARY.ok_or("Westend development wasm not available")?; @@ -1693,6 +1758,7 @@ pub fn westend_local_testnet_config() -> Result { )) } +#[cfg(feature = "rococo-native")] fn rococo_local_testnet_genesis(wasm_binary: &[u8]) -> rococo_runtime::GenesisConfig { rococo_testnet_genesis( wasm_binary, @@ -1706,6 +1772,7 @@ fn rococo_local_testnet_genesis(wasm_binary: &[u8]) -> rococo_runtime::GenesisCo } /// Rococo local testnet config (multivalidator Alice + Bob) +#[cfg(feature = "rococo-native")] pub fn rococo_local_testnet_config() -> Result { let wasm_binary = rococo::WASM_BINARY.ok_or("Rococo development wasm not available")?; diff --git a/polkadot/node/service/src/lib.rs b/polkadot/node/service/src/lib.rs index eab6442fd1..4ead8ca38a 100644 --- a/polkadot/node/service/src/lib.rs +++ b/polkadot/node/service/src/lib.rs @@ -20,7 +20,6 @@ pub mod chain_spec; mod grandpa_support; -mod client; mod parachains_db; #[cfg(feature = "full-node")] @@ -53,11 +52,22 @@ use std::sync::Arc; use std::time::Duration; use prometheus_endpoint::Registry; -use sc_executor::native_executor_instance; use service::RpcHandlers; use telemetry::{Telemetry, TelemetryWorker, TelemetryWorkerHandle}; -pub use self::client::{AbstractClient, Client, ClientHandle, ExecuteWithClient, RuntimeApiCollection}; +#[cfg(feature = "rococo-native")] +pub use polkadot_client::RococoExecutor; + +#[cfg(feature = "westend-native")] +pub use polkadot_client::WestendExecutor; + +#[cfg(feature = "kusama-native")] +pub use polkadot_client::KusamaExecutor; + +pub use polkadot_client::{ + PolkadotExecutor, FullBackend, FullClient, AbstractClient, Client, ClientHandle, ExecuteWithClient, + RuntimeApiCollection, +}; pub use chain_spec::{PolkadotChainSpec, KusamaChainSpec, WestendChainSpec, RococoChainSpec}; pub use consensus_common::{Proposal, SelectChain, BlockImport, block_validation::Chain}; pub use polkadot_primitives::v1::{Block, BlockId, CollatorPair, Hash, Id as ParaId}; @@ -73,42 +83,17 @@ pub use service::config::{DatabaseConfig, PrometheusConfig}; pub use sp_api::{ApiRef, Core as CoreApi, ConstructRuntimeApi, ProvideRuntimeApi, StateBackend}; pub use sp_runtime::traits::{DigestFor, HashFor, NumberFor, Block as BlockT, self as runtime_traits, BlakeTwo256}; +#[cfg(feature = "kusama-native")] pub use kusama_runtime; pub use polkadot_runtime; +#[cfg(feature = "rococo-native")] pub use rococo_runtime; +#[cfg(feature = "westend-native")] pub use westend_runtime; /// The maximum number of active leaves we forward to the [`Overseer`] on startup. const MAX_ACTIVE_LEAVES: usize = 4; -native_executor_instance!( - pub PolkadotExecutor, - polkadot_runtime::api::dispatch, - polkadot_runtime::native_version, - frame_benchmarking::benchmarking::HostFunctions, -); - -native_executor_instance!( - pub KusamaExecutor, - kusama_runtime::api::dispatch, - kusama_runtime::native_version, - frame_benchmarking::benchmarking::HostFunctions, -); - -native_executor_instance!( - pub WestendExecutor, - westend_runtime::api::dispatch, - westend_runtime::native_version, - frame_benchmarking::benchmarking::HostFunctions, -); - -native_executor_instance!( - pub RococoExecutor, - rococo_runtime::api::dispatch, - rococo_runtime::native_version, - frame_benchmarking::benchmarking::HostFunctions, -); - #[derive(thiserror::Error, Debug)] pub enum Error { #[error(transparent)] @@ -209,17 +194,17 @@ fn jaeger_launch_collector_with_agent(spawner: impl SpawnNamed, config: &Configu Ok(()) } -pub type FullBackend = service::TFullBackend; #[cfg(feature = "full-node")] type FullSelectChain = sc_consensus::LongestChain; -pub type FullClient = service::TFullClient; #[cfg(feature = "full-node")] type FullGrandpaBlockImport = grandpa::GrandpaBlockImport< FullBackend, Block, FullClient, FullSelectChain >; +#[cfg(feature = "light-node")] type LightBackend = service::TLightBackendWithHash; +#[cfg(feature = "light-node")] type LightClient = service::TLightClientWithBackend; @@ -975,7 +960,7 @@ pub fn new_full( min_block_delta: if chain_spec.is_wococo() { 4 } else { 8 }, prometheus_registry: prometheus_registry.clone(), }; - + let gadget = beefy_gadget::start_beefy_gadget::<_, beefy_primitives::ecdsa::AuthorityPair, _, _, _>( beefy_params ); @@ -1069,6 +1054,7 @@ pub fn new_full( } /// Builds a new service for a light client. +#[cfg(feature = "light-node")] fn new_light(mut config: Configuration) -> Result<( TaskManager, RpcHandlers, @@ -1239,39 +1225,56 @@ pub fn new_chain_ops( > { config.keystore = service::config::KeystoreConfig::InMemory; + + #[cfg(feature = "rococo-native")] if config.chain_spec.is_rococo() || config.chain_spec.is_wococo() { let service::PartialComponents { client, backend, import_queue, task_manager, .. } = new_partial::(config, jaeger_agent, None)?; - Ok((Arc::new(Client::Rococo(client)), backend, import_queue, task_manager)) - } else if config.chain_spec.is_kusama() { + return Ok((Arc::new(Client::Rococo(client)), backend, import_queue, task_manager)) + } + + #[cfg(feature = "kusama-native")] + if config.chain_spec.is_kusama() { let service::PartialComponents { client, backend, import_queue, task_manager, .. } = new_partial::(config, jaeger_agent, None)?; - Ok((Arc::new(Client::Kusama(client)), backend, import_queue, task_manager)) - } else if config.chain_spec.is_westend() { + return Ok((Arc::new(Client::Kusama(client)), backend, import_queue, task_manager)) + } + + #[cfg(feature = "westend-native")] + if config.chain_spec.is_westend() { let service::PartialComponents { client, backend, import_queue, task_manager, .. } = new_partial::(config, jaeger_agent, None)?; - Ok((Arc::new(Client::Westend(client)), backend, import_queue, task_manager)) - } else { - let service::PartialComponents { client, backend, import_queue, task_manager, .. } - = new_partial::(config, jaeger_agent, None)?; - Ok((Arc::new(Client::Polkadot(client)), backend, import_queue, task_manager)) + return Ok((Arc::new(Client::Westend(client)), backend, import_queue, task_manager)) } + + let service::PartialComponents { client, backend, import_queue, task_manager, .. } + = new_partial::(config, jaeger_agent, None)?; + Ok((Arc::new(Client::Polkadot(client)), backend, import_queue, task_manager)) } + /// Build a new light node. +#[cfg(feature = "light-node")] pub fn build_light(config: Configuration) -> Result<( TaskManager, RpcHandlers, ), Error> { + #[cfg(feature = "rococo-native")] if config.chain_spec.is_rococo() || config.chain_spec.is_wococo() { - new_light::(config) - } else if config.chain_spec.is_kusama() { - new_light::(config) - } else if config.chain_spec.is_westend() { - new_light::(config) - } else { - new_light::(config) + return new_light::(config) } + + #[cfg(feature = "kusama-native")] + if config.chain_spec.is_kusama() { + return new_light::(config) + } + + #[cfg(feature = "westend-native")] + if config.chain_spec.is_westend() { + return new_light::(config) + } + + new_light::(config) } #[cfg(feature = "full-node")] @@ -1283,8 +1286,9 @@ pub fn build_full( jaeger_agent: Option, telemetry_worker_handle: Option, ) -> Result, Error> { + #[cfg(feature = "rococo-native")] if config.chain_spec.is_rococo() || config.chain_spec.is_wococo() { - new_full::( + return new_full::( config, is_collator, grandpa_pause, @@ -1293,8 +1297,11 @@ pub fn build_full( telemetry_worker_handle, None, ).map(|full| full.with_client(Client::Rococo)) - } else if config.chain_spec.is_kusama() { - new_full::( + } + + #[cfg(feature = "kusama-native")] + if config.chain_spec.is_kusama() { + return new_full::( config, is_collator, grandpa_pause, @@ -1303,8 +1310,11 @@ pub fn build_full( telemetry_worker_handle, None, ).map(|full| full.with_client(Client::Kusama)) - } else if config.chain_spec.is_westend() { - new_full::( + } + + #[cfg(feature = "westend-native")] + if config.chain_spec.is_westend() { + return new_full::( config, is_collator, grandpa_pause, @@ -1313,15 +1323,15 @@ pub fn build_full( telemetry_worker_handle, None, ).map(|full| full.with_client(Client::Westend)) - } else { - new_full::( - config, - is_collator, - grandpa_pause, - disable_beefy, - jaeger_agent, - telemetry_worker_handle, - None, - ).map(|full| full.with_client(Client::Polkadot)) } + + new_full::( + config, + is_collator, + grandpa_pause, + disable_beefy, + jaeger_agent, + telemetry_worker_handle, + None, + ).map(|full| full.with_client(Client::Polkadot)) } diff --git a/polkadot/parachain/test-parachains/adder/collator/Cargo.toml b/polkadot/parachain/test-parachains/adder/collator/Cargo.toml index 36060bfbff..a0899088f8 100644 --- a/polkadot/parachain/test-parachains/adder/collator/Cargo.toml +++ b/polkadot/parachain/test-parachains/adder/collator/Cargo.toml @@ -23,7 +23,7 @@ structopt = "0.3.21" test-parachain-adder = { path = ".." } polkadot-primitives = { path = "../../../../primitives" } polkadot-cli = { path = "../../../../cli" } -polkadot-service = { path = "../../../../node/service" } +polkadot-service = { path = "../../../../node/service", features = [ "rococo-native" ] } polkadot-node-primitives = { path = "../../../../node/primitives" } polkadot-node-subsystem = { path = "../../../../node/subsystem" } diff --git a/polkadot/src/main.rs b/polkadot/src/main.rs index d7baf30397..14d62fbb9a 100644 --- a/polkadot/src/main.rs +++ b/polkadot/src/main.rs @@ -22,6 +22,6 @@ use color_eyre::eyre; fn main() -> eyre::Result<()> { color_eyre::install()?; - cli::run()?; + polkadot_cli::run()?; Ok(()) }