diff --git a/Cargo.lock b/Cargo.lock index 5fe18dcc1723..8b0b4066dab8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1069,6 +1069,33 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" +[[package]] +name = "dyn-clonable" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e9232f0e607a262ceb9bd5141a3dfb3e4db6994b31989bbfd845878cba59fd4" +dependencies = [ + "dyn-clonable-impl", + "dyn-clone", +] + +[[package]] +name = "dyn-clonable-impl" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5" +dependencies = [ + "proc-macro2 1.0.18", + "quote 1.0.7", + "syn 1.0.33", +] + +[[package]] +name = "dyn-clone" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c53dc3a653e0f64081026e4bf048d48fec9fce90c66e8326ca7292df0ff2d82" + [[package]] name = "ed25519" version = "1.0.1" @@ -1343,7 +1370,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "parity-scale-codec", ] @@ -1351,7 +1378,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-support", "frame-system", @@ -1368,7 +1395,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "Inflector", "frame-benchmarking", @@ -1387,7 +1414,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-support", "frame-system", @@ -1402,7 +1429,7 @@ dependencies = [ [[package]] name = "frame-metadata" version = "11.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "parity-scale-codec", "serde", @@ -1413,7 +1440,7 @@ dependencies = [ [[package]] name = "frame-support" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "bitmask", "frame-metadata", @@ -1438,7 +1465,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-support-procedural-tools", "proc-macro2 1.0.18", @@ -1449,7 +1476,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1461,7 +1488,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "proc-macro2 1.0.18", "quote 1.0.7", @@ -1471,7 +1498,7 @@ dependencies = [ [[package]] name = "frame-system" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -1487,7 +1514,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-benchmarking", "frame-support", @@ -1501,7 +1528,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "parity-scale-codec", "sp-api", @@ -3515,7 +3542,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-support", "frame-system", @@ -3531,7 +3558,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-support", "frame-system", @@ -3546,7 +3573,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-benchmarking", "frame-support", @@ -3571,7 +3598,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-benchmarking", "frame-support", @@ -3585,7 +3612,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-benchmarking", "frame-support", @@ -3601,7 +3628,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-benchmarking", "frame-support", @@ -3616,7 +3643,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-benchmarking", "frame-support", @@ -3631,7 +3658,7 @@ dependencies = [ [[package]] name = "pallet-finality-tracker" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-support", "frame-system", @@ -3647,7 +3674,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-benchmarking", "frame-support", @@ -3669,7 +3696,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "enumflags2", "frame-benchmarking", @@ -3685,7 +3712,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-benchmarking", "frame-support", @@ -3705,7 +3732,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-support", "frame-system", @@ -3721,7 +3748,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-support", "frame-system", @@ -3735,7 +3762,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-support", "frame-system", @@ -3750,7 +3777,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-support", "frame-system", @@ -3764,7 +3791,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-support", "frame-system", @@ -3779,7 +3806,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-benchmarking", "frame-support", @@ -3800,7 +3827,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-support", "frame-system", @@ -3815,7 +3842,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-support", "frame-system", @@ -3828,7 +3855,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "enumflags2", "frame-support", @@ -3843,7 +3870,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-benchmarking", "frame-support", @@ -3858,7 +3885,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-support", "frame-system", @@ -3878,7 +3905,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-benchmarking", "frame-support", @@ -3894,7 +3921,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-support", "frame-system", @@ -3908,7 +3935,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-benchmarking", "frame-support", @@ -3930,7 +3957,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "proc-macro-crate", "proc-macro2 1.0.18", @@ -3941,7 +3968,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-support", "frame-system", @@ -3955,7 +3982,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-benchmarking", "frame-support", @@ -3973,7 +4000,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-support", "frame-system", @@ -3990,7 +4017,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -4008,7 +4035,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-support", "parity-scale-codec", @@ -4021,7 +4048,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-benchmarking", "frame-support", @@ -4036,7 +4063,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-benchmarking", "frame-support", @@ -4052,7 +4079,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4670,6 +4697,7 @@ name = "polkadot-parachain" version = "0.8.19" dependencies = [ "derive_more 0.99.9", + "futures 0.3.5", "log 0.4.8", "parity-scale-codec", "parking_lot 0.10.2", @@ -6016,7 +6044,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "bytes 0.5.5", "derive_more 0.99.9", @@ -6043,7 +6071,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", @@ -6067,7 +6095,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -6084,7 +6112,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "impl-trait-for-tuples", "sc-chain-spec-derive", @@ -6100,7 +6128,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "proc-macro-crate", "proc-macro2 1.0.18", @@ -6111,7 +6139,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "ansi_term 0.12.1", "atty", @@ -6152,7 +6180,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "derive_more 0.99.9", "fnv", @@ -6188,7 +6216,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "blake2-rfc", "hash-db", @@ -6217,7 +6245,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "sc-client-api", "sp-blockchain", @@ -6228,7 +6256,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "derive_more 0.99.9", "fork-tree", @@ -6270,7 +6298,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "derive_more 0.99.9", "futures 0.3.5", @@ -6294,7 +6322,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "fork-tree", "parity-scale-codec", @@ -6307,7 +6335,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", @@ -6330,7 +6358,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "log 0.4.8", "sc-client-api", @@ -6344,7 +6372,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "derive_more 0.99.9", "lazy_static", @@ -6372,7 +6400,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "derive_more 0.99.9", "log 0.4.8", @@ -6389,7 +6417,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "log 0.4.8", "parity-scale-codec", @@ -6404,7 +6432,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "cranelift-codegen", "cranelift-wasm", @@ -6425,7 +6453,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "assert_matches", "derive_more 0.99.9", @@ -6463,7 +6491,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "derive_more 0.99.9", "finality-grandpa", @@ -6480,7 +6508,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "ansi_term 0.12.1", "futures 0.3.5", @@ -6498,7 +6526,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "derive_more 0.99.9", "hex", @@ -6514,7 +6542,7 @@ dependencies = [ [[package]] name = "sc-light" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "hash-db", "lazy_static", @@ -6533,7 +6561,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "bitflags", "bs58", @@ -6585,7 +6613,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", @@ -6600,7 +6628,7 @@ dependencies = [ [[package]] name = "sc-network-test" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "env_logger", "futures 0.3.5", @@ -6627,7 +6655,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "bytes 0.5.5", "fnv", @@ -6654,7 +6682,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "futures 0.3.5", "libp2p", @@ -6667,7 +6695,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "log 0.4.8", "substrate-prometheus-endpoint", @@ -6676,7 +6704,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "futures 0.3.5", "hash-db", @@ -6708,7 +6736,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "derive_more 0.99.9", "futures 0.3.5", @@ -6732,7 +6760,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "jsonrpc-core", "jsonrpc-http-server", @@ -6748,7 +6776,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "derive_more 0.99.9", "directories", @@ -6810,7 +6838,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "log 0.4.8", "parity-scale-codec", @@ -6824,7 +6852,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", @@ -6845,7 +6873,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "erased-serde", "log 0.4.8", @@ -6862,7 +6890,7 @@ dependencies = [ [[package]] name = "sc-transaction-graph" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "derive_more 0.99.9", "futures 0.3.5", @@ -6883,7 +6911,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "derive_more 0.99.9", "futures 0.3.5", @@ -7338,7 +7366,7 @@ dependencies = [ [[package]] name = "sp-allocator" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "derive_more 0.99.9", "log 0.4.8", @@ -7350,7 +7378,7 @@ dependencies = [ [[package]] name = "sp-api" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "hash-db", "parity-scale-codec", @@ -7365,7 +7393,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "blake2-rfc", "proc-macro-crate", @@ -7377,7 +7405,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "parity-scale-codec", "serde", @@ -7389,7 +7417,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "integer-sqrt", "num-traits 0.2.12", @@ -7402,7 +7430,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "parity-scale-codec", "sp-api", @@ -7414,7 +7442,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "parity-scale-codec", "sp-inherents", @@ -7425,7 +7453,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "parity-scale-codec", "sp-api", @@ -7437,7 +7465,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "derive_more 0.99.9", "log 0.4.8", @@ -7454,7 +7482,7 @@ dependencies = [ [[package]] name = "sp-chain-spec" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "serde", "serde_json", @@ -7463,7 +7491,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "derive_more 0.99.9", "futures 0.3.5", @@ -7488,7 +7516,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "parity-scale-codec", "sp-api", @@ -7502,7 +7530,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "merlin", "parity-scale-codec", @@ -7521,7 +7549,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -7530,7 +7558,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -7542,12 +7570,13 @@ dependencies = [ [[package]] name = "sp-core" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "base58", "blake2-rfc", "byteorder", "derive_more 0.99.9", + "dyn-clonable", "ed25519-dalek", "futures 0.3.5", "hash-db", @@ -7585,7 +7614,7 @@ dependencies = [ [[package]] name = "sp-database" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "kvdb", "parking_lot 0.10.2", @@ -7594,7 +7623,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "proc-macro2 1.0.18", "quote 1.0.7", @@ -7604,7 +7633,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "environmental", "parity-scale-codec", @@ -7615,7 +7644,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "finality-grandpa", "log 0.4.8", @@ -7631,7 +7660,7 @@ dependencies = [ [[package]] name = "sp-finality-tracker" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "parity-scale-codec", "sp-inherents", @@ -7641,7 +7670,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "derive_more 0.99.9", "parity-scale-codec", @@ -7653,7 +7682,7 @@ dependencies = [ [[package]] name = "sp-io" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "futures 0.3.5", "hash-db", @@ -7674,7 +7703,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "lazy_static", "sp-core", @@ -7685,7 +7714,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "parity-scale-codec", "serde", @@ -7697,7 +7726,7 @@ dependencies = [ [[package]] name = "sp-npos-elections-compact" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "proc-macro-crate", "proc-macro2 1.0.18", @@ -7708,7 +7737,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "sp-api", "sp-core", @@ -7718,7 +7747,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "backtrace", "log 0.4.8", @@ -7727,7 +7756,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "serde", "sp-core", @@ -7736,7 +7765,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "either", "hash256-std-hasher", @@ -7758,7 +7787,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "parity-scale-codec", "primitive-types", @@ -7773,7 +7802,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "Inflector", "proc-macro-crate", @@ -7785,7 +7814,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "serde", "serde_json", @@ -7794,7 +7823,7 @@ dependencies = [ [[package]] name = "sp-session" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "parity-scale-codec", "sp-api", @@ -7807,7 +7836,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -7817,7 +7846,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "hash-db", "itertools 0.9.0", @@ -7838,12 +7867,12 @@ dependencies = [ [[package]] name = "sp-std" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" [[package]] name = "sp-storage" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "impl-serde 0.2.3", "ref-cast", @@ -7855,7 +7884,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7869,7 +7898,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "log 0.4.8", "rental", @@ -7879,7 +7908,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "derive_more 0.99.9", "futures 0.3.5", @@ -7894,7 +7923,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "hash-db", "memory-db", @@ -7908,7 +7937,7 @@ dependencies = [ [[package]] name = "sp-utils" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "futures 0.3.5", "futures-core", @@ -7920,7 +7949,7 @@ dependencies = [ [[package]] name = "sp-version" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "impl-serde 0.2.3", "parity-scale-codec", @@ -7932,7 +7961,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -8063,7 +8092,7 @@ dependencies = [ [[package]] name = "substrate-browser-utils" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "chrono", "console_error_panic_hook", @@ -8089,7 +8118,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "platforms", ] @@ -8097,7 +8126,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.5", @@ -8120,7 +8149,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "async-std", "derive_more 0.99.9", @@ -8134,7 +8163,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "futures 0.1.29", "futures 0.3.5", @@ -8160,7 +8189,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "cfg-if", "frame-executive", @@ -8193,14 +8222,14 @@ dependencies = [ "sp-transaction-pool", "sp-trie", "sp-version", - "substrate-wasm-builder-runner 1.0.6 (git+https://github.com/paritytech/substrate?branch=master)", + "substrate-wasm-builder-runner 1.0.6 (git+https://github.com/paritytech/substrate)", "trie-db", ] [[package]] name = "substrate-test-runtime-client" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" dependencies = [ "futures 0.3.5", "parity-scale-codec", @@ -8221,7 +8250,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder-runner" version = "1.0.6" -source = "git+https://github.com/paritytech/substrate?branch=master#bf0e1ec1006e55b080b6d7314107a6ee571072e2" +source = "git+https://github.com/paritytech/substrate#8180062d6c1c542015988527fecf320974b21051" [[package]] name = "substrate-wasm-builder-runner" @@ -8435,6 +8464,7 @@ version = "0.7.22" dependencies = [ "parity-scale-codec", "polkadot-parachain", + "sp-core", "test-parachain-adder", "test-parachain-code-upgrader", "test-parachain-halt", diff --git a/network/src/protocol/tests.rs b/network/src/protocol/tests.rs index 4e7027963cbd..d2a7645094f1 100644 --- a/network/src/protocol/tests.rs +++ b/network/src/protocol/tests.rs @@ -30,25 +30,12 @@ use av_store::{Store as AvailabilityStore, ErasureNetworking}; use sc_network_gossip::TopicNotification; use sp_api::{ApiRef, ProvideRuntimeApi}; use sp_runtime::traits::Block as BlockT; -use sp_core::{crypto::Pair, traits::SpawnNamed}; +use sp_core::{crypto::Pair, testing::TaskExecutor}; use sp_keyring::Sr25519Keyring; -use futures::executor::{LocalPool, LocalSpawner}; +use futures::executor::LocalPool; use futures::task::{LocalSpawnExt, SpawnExt}; -#[derive(Clone)] -struct Executor(LocalSpawner); - -impl SpawnNamed for Executor { - fn spawn(&self, _: &'static str, future: futures::future::BoxFuture<'static, ()>) { - self.0.spawn_local(future).unwrap(); - } - - fn spawn_blocking(&self, name: &'static str, future: futures::future::BoxFuture<'static, ()>) { - self.spawn(name, future); - } -} - #[derive(Default)] pub struct MockNetworkOps { recorded: Mutex, @@ -256,7 +243,7 @@ fn test_setup(config: Config) -> ( mock_gossip.clone(), api.clone(), worker_rx, - Executor(pool.spawner()), + TaskExecutor::new(), ); let service = Service { diff --git a/network/test/src/block_import.rs b/network/test/src/block_import.rs index 68b0291e5089..9791b35da664 100644 --- a/network/test/src/block_import.rs +++ b/network/test/src/block_import.rs @@ -88,7 +88,7 @@ fn import_single_good_block_without_header_fails() { #[test] fn async_import_queue_drops() { - let executor = sp_core::testing::SpawnBlockingExecutor::new(); + let executor = sp_core::testing::TaskExecutor::new(); // Perform this test multiple times since it exhibits non-deterministic behavior. for _ in 0..100 { let verifier = PassThroughVerifier::new(true); diff --git a/network/test/src/lib.rs b/network/test/src/lib.rs index 14463d7a42a2..4978db5834c8 100644 --- a/network/test/src/lib.rs +++ b/network/test/src/lib.rs @@ -573,7 +573,7 @@ pub trait TestNetFactory: Sized { Box::new(block_import.clone()), justification_import, finality_proof_import, - &sp_core::testing::SpawnBlockingExecutor::new(), + &sp_core::testing::TaskExecutor::new(), None, )); @@ -650,7 +650,7 @@ pub trait TestNetFactory: Sized { Box::new(block_import.clone()), justification_import, finality_proof_import, - &sp_core::testing::SpawnBlockingExecutor::new(), + &sp_core::testing::TaskExecutor::new(), None, )); diff --git a/node/core/backing/src/lib.rs b/node/core/backing/src/lib.rs index 4647526fefaf..0022a03f76f0 100644 --- a/node/core/backing/src/lib.rs +++ b/node/core/backing/src/lib.rs @@ -903,7 +903,7 @@ mod tests { } fn test_harness>(keystore: KeyStorePtr, test: impl FnOnce(TestHarness) -> T) { - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (context, virtual_overseer) = polkadot_subsystem::test_helpers::make_subsystem_context(pool.clone()); diff --git a/node/network/bitfield-distribution/src/lib.rs b/node/network/bitfield-distribution/src/lib.rs index bc7c6690c614..1fce48d4985e 100644 --- a/node/network/bitfield-distribution/src/lib.rs +++ b/node/network/bitfield-distribution/src/lib.rs @@ -706,7 +706,7 @@ mod test { signed_availability: signed.clone(), }; - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (mut ctx, mut handle) = make_subsystem_context::(pool); @@ -766,7 +766,7 @@ mod test { signed_availability: signed.clone(), }; - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (mut ctx, mut handle) = make_subsystem_context::(pool); @@ -818,7 +818,7 @@ mod test { signed_availability: signed_bitfield.clone(), }; - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (mut ctx, mut handle) = make_subsystem_context::(pool); @@ -915,7 +915,7 @@ mod test { signed_availability: signed_bitfield.clone(), }; - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (mut ctx, mut handle) = make_subsystem_context::(pool); @@ -1052,7 +1052,7 @@ mod test { // validator 0 key pair let (mut state, _signing_context, _validator_pair) = state_with_view(view![], hash_a.clone()); - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (mut ctx, mut handle) = make_subsystem_context::(pool); diff --git a/node/network/bridge/src/lib.rs b/node/network/bridge/src/lib.rs index 85606d07ccad..6703be236bd5 100644 --- a/node/network/bridge/src/lib.rs +++ b/node/network/bridge/src/lib.rs @@ -635,7 +635,7 @@ mod tests { } fn test_harness>(test: impl FnOnce(TestHarness) -> T) { - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (network, network_handle) = new_test_network(); let (context, virtual_overseer) = polkadot_subsystem::test_helpers::make_subsystem_context(pool); diff --git a/node/network/pov-distribution/src/lib.rs b/node/network/pov-distribution/src/lib.rs index aa37cfdc3fa9..e222a89f4946 100644 --- a/node/network/pov-distribution/src/lib.rs +++ b/node/network/pov-distribution/src/lib.rs @@ -619,7 +619,7 @@ mod tests { our_view: View(vec![hash_a, hash_b]), }; - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (mut ctx, mut handle) = polkadot_subsystem::test_helpers::make_subsystem_context(pool); let mut descriptor = CandidateDescriptor::default(); descriptor.pov_hash = pov_hash; @@ -699,7 +699,7 @@ mod tests { our_view: View(vec![hash_a]), }; - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (mut ctx, mut handle) = polkadot_subsystem::test_helpers::make_subsystem_context(pool); let mut descriptor = CandidateDescriptor::default(); descriptor.pov_hash = pov_hash; @@ -777,7 +777,7 @@ mod tests { our_view: View(vec![hash_a]), }; - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (mut ctx, mut handle) = polkadot_subsystem::test_helpers::make_subsystem_context(pool); executor::block_on(async move { @@ -849,7 +849,7 @@ mod tests { our_view: View(vec![hash_a]), }; - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (mut ctx, mut handle) = polkadot_subsystem::test_helpers::make_subsystem_context(pool); executor::block_on(async move { @@ -937,7 +937,7 @@ mod tests { our_view: View(vec![hash_a]), }; - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (mut ctx, mut handle) = polkadot_subsystem::test_helpers::make_subsystem_context(pool); executor::block_on(async move { @@ -1000,7 +1000,7 @@ mod tests { our_view: View(vec![hash_a]), }; - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (mut ctx, mut handle) = polkadot_subsystem::test_helpers::make_subsystem_context(pool); executor::block_on(async move { @@ -1061,7 +1061,7 @@ mod tests { our_view: View(vec![hash_a]), }; - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (mut ctx, mut handle) = polkadot_subsystem::test_helpers::make_subsystem_context(pool); executor::block_on(async move { @@ -1119,7 +1119,7 @@ mod tests { our_view: View(vec![hash_a]), }; - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (mut ctx, mut handle) = polkadot_subsystem::test_helpers::make_subsystem_context(pool); executor::block_on(async move { @@ -1204,7 +1204,7 @@ mod tests { our_view: View(vec![hash_a, hash_b]), }; - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (mut ctx, mut handle) = polkadot_subsystem::test_helpers::make_subsystem_context(pool); executor::block_on(async move { @@ -1266,7 +1266,7 @@ mod tests { our_view: View(vec![hash_a]), }; - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (mut ctx, mut handle) = polkadot_subsystem::test_helpers::make_subsystem_context(pool); executor::block_on(async move { @@ -1343,7 +1343,7 @@ mod tests { our_view: View(vec![hash_a]), }; - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (mut ctx, mut handle) = polkadot_subsystem::test_helpers::make_subsystem_context(pool); executor::block_on(async move { @@ -1426,7 +1426,7 @@ mod tests { our_view: View(vec![hash_a]), }; - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (mut ctx, mut handle) = polkadot_subsystem::test_helpers::make_subsystem_context(pool); executor::block_on(async move { diff --git a/node/network/statement-distribution/src/lib.rs b/node/network/statement-distribution/src/lib.rs index ae13b62791f8..f57f2745b837 100644 --- a/node/network/statement-distribution/src/lib.rs +++ b/node/network/statement-distribution/src/lib.rs @@ -1212,7 +1212,7 @@ mod tests { }, }; - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (mut ctx, mut handle) = polkadot_subsystem::test_helpers::make_subsystem_context(pool); let peer = PeerId::random(); @@ -1304,7 +1304,7 @@ mod tests { (peer_c.clone(), peer_data_from_view(peer_c_view)), ].into_iter().collect(); - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (mut ctx, mut handle) = polkadot_subsystem::test_helpers::make_subsystem_context(pool); executor::block_on(async move { diff --git a/node/overseer/examples/minimal-example.rs b/node/overseer/examples/minimal-example.rs index 36440275cb5b..1dae9214264a 100644 --- a/node/overseer/examples/minimal-example.rs +++ b/node/overseer/examples/minimal-example.rs @@ -135,7 +135,7 @@ impl Subsystem for Subsystem2 fn main() { femme::with_level(femme::LevelFilter::Trace); - let spawner = sp_core::testing::SpawnBlockingExecutor::new(); + let spawner = sp_core::testing::TaskExecutor::new(); futures::executor::block_on(async { let timer_stream = stream::repeat(()).then(|_| async { Delay::new(Duration::from_secs(1)).await; diff --git a/node/overseer/src/lib.rs b/node/overseer/src/lib.rs index cb158d09c129..6262e65cc44b 100644 --- a/node/overseer/src/lib.rs +++ b/node/overseer/src/lib.rs @@ -485,7 +485,7 @@ where /// } /// /// # fn main() { executor::block_on(async move { - /// let spawner = sp_core::testing::SpawnBlockingExecutor::new(); + /// let spawner = sp_core::testing::TaskExecutor::new(); /// let all_subsystems = AllSubsystems { /// candidate_validation: ValidationSubsystem, /// candidate_backing: DummySubsystem, @@ -1058,7 +1058,7 @@ mod tests { // Checks that a minimal configuration of two jobs can run and exchange messages. #[test] fn overseer_works() { - let spawner = sp_core::testing::SpawnBlockingExecutor::new(); + let spawner = sp_core::testing::TaskExecutor::new(); executor::block_on(async move { let (s1_tx, mut s1_rx) = mpsc::channel(64); @@ -1123,7 +1123,7 @@ mod tests { // Should immediately conclude the overseer itself with an error. #[test] fn overseer_panics_on_subsystem_exit() { - let spawner = sp_core::testing::SpawnBlockingExecutor::new(); + let spawner = sp_core::testing::TaskExecutor::new(); executor::block_on(async move { let (s1_tx, _) = mpsc::channel(64); @@ -1218,7 +1218,7 @@ mod tests { // notifications on imported blocks triggers expected `StartWork` and `StopWork` heartbeats. #[test] fn overseer_start_stop_works() { - let spawner = sp_core::testing::SpawnBlockingExecutor::new(); + let spawner = sp_core::testing::TaskExecutor::new(); executor::block_on(async move { let first_block_hash = [1; 32].into(); @@ -1314,7 +1314,7 @@ mod tests { // notifications on imported blocks triggers expected `StartWork` and `StopWork` heartbeats. #[test] fn overseer_finalize_works() { - let spawner = sp_core::testing::SpawnBlockingExecutor::new(); + let spawner = sp_core::testing::TaskExecutor::new(); executor::block_on(async move { let first_block_hash = [1; 32].into(); diff --git a/node/subsystem/src/util.rs b/node/subsystem/src/util.rs index 9964a1e8dd3c..ee5cf2ded287 100644 --- a/node/subsystem/src/util.rs +++ b/node/subsystem/src/util.rs @@ -891,7 +891,7 @@ mod tests { type OverseerHandle = test_helpers::TestSubsystemContextHandle; fn test_harness>(run_args: HashMap>, test: impl FnOnce(OverseerHandle, mpsc::Receiver<(Option, JobsError)>) -> T) { - let pool = sp_core::testing::SpawnBlockingExecutor::new(); + let pool = sp_core::testing::TaskExecutor::new(); let (context, overseer_handle) = make_subsystem_context(pool.clone()); let (err_tx, err_rx) = mpsc::channel(16); diff --git a/parachain/Cargo.toml b/parachain/Cargo.toml index 312c633fc1db..51c863a1fb14 100644 --- a/parachain/Cargo.toml +++ b/parachain/Cargo.toml @@ -23,6 +23,7 @@ sc-executor = { git = "https://github.com/paritytech/substrate", branch = "maste sp-io = { git = "https://github.com/paritytech/substrate", branch = "master", optional = true } parking_lot = { version = "0.10.0", optional = true } log = { version = "0.4.8", optional = true } +futures = { version = "0.3.4", optional = true } [target.'cfg(not(any(target_os = "android", target_os = "unknown")))'.dependencies] shared_memory = { version = "0.10.0", optional = true } @@ -43,4 +44,5 @@ std = [ "sc-executor", "sp-io", "polkadot-core-primitives/std", + "futures", ] diff --git a/parachain/src/wasm_executor/mod.rs b/parachain/src/wasm_executor/mod.rs index e617a4c474e3..584d2edb9303 100644 --- a/parachain/src/wasm_executor/mod.rs +++ b/parachain/src/wasm_executor/mod.rs @@ -23,8 +23,7 @@ use std::any::{TypeId, Any}; use crate::primitives::{ValidationParams, ValidationResult}; use codec::{Decode, Encode}; -use sp_core::storage::ChildInfo; -use sp_core::traits::CallInWasm; +use sp_core::{storage::ChildInfo, traits::{CallInWasm, SpawnNamed}}; use sp_externalities::Extensions; use sp_wasm_interface::HostFunctions as _; @@ -119,10 +118,11 @@ pub fn validate_candidate( validation_code: &[u8], params: ValidationParams, options: ExecutionMode<'_>, + spawner: impl SpawnNamed + 'static, ) -> Result { match options { ExecutionMode::Local => { - validate_candidate_internal(validation_code, ¶ms.encode()) + validate_candidate_internal(validation_code, ¶ms.encode(), spawner) }, #[cfg(not(any(target_os = "android", target_os = "unknown")))] ExecutionMode::Remote(pool) => { @@ -154,9 +154,10 @@ type HostFunctions = sp_io::SubstrateHostFunctions; pub fn validate_candidate_internal( validation_code: &[u8], encoded_call_data: &[u8], + spawner: impl SpawnNamed + 'static, ) -> Result { let mut extensions = Extensions::new(); - extensions.register(sp_core::traits::TaskExecutorExt(sp_core::tasks::executor())); + extensions.register(sp_core::traits::TaskExecutorExt::new(spawner)); let mut ext = ValidationExternalities(extensions); diff --git a/parachain/src/wasm_executor/validation_host.rs b/parachain/src/wasm_executor/validation_host.rs index d780d5b86b99..96ad7d9ebc4c 100644 --- a/parachain/src/wasm_executor/validation_host.rs +++ b/parachain/src/wasm_executor/validation_host.rs @@ -19,11 +19,12 @@ use std::{process, env, sync::Arc, sync::atomic}; use codec::{Decode, Encode}; use crate::primitives::{ValidationParams, ValidationResult}; -use super::{validate_candidate_internal, Error}; -use super::{MAX_CODE_MEM, MAX_RUNTIME_MEM}; +use super::{validate_candidate_internal, Error, MAX_CODE_MEM, MAX_RUNTIME_MEM}; use shared_memory::{SharedMem, SharedMemConf, EventState, WriteLockable, EventWait, EventSet}; use parking_lot::Mutex; use log::{debug, trace}; +use futures::executor::ThreadPool; +use sp_core::traits::SpawnNamed; const WORKER_ARGS_TEST: &[&'static str] = &["--nocapture", "validation_worker"]; /// CLI Argument to start in validation worker mode. @@ -43,6 +44,25 @@ enum Event { WorkerReady = 2, } +#[derive(Clone)] +struct TaskExecutor(ThreadPool); + +impl TaskExecutor { + fn new() -> Result { + ThreadPool::new().map_err(|e| e.to_string()).map(Self) + } +} + +impl SpawnNamed for TaskExecutor { + fn spawn_blocking(&self, _: &'static str, future: futures::future::BoxFuture<'static, ()>) { + self.0.spawn_ok(future); + } + + fn spawn(&self, _: &'static str, future: futures::future::BoxFuture<'static, ()>) { + self.0.spawn_ok(future); + } +} + /// A pool of hosts. #[derive(Clone)] pub struct ValidationPool { @@ -92,6 +112,7 @@ pub fn run_worker(mem_id: &str) -> Result<(), String> { }; let exit = Arc::new(atomic::AtomicBool::new(false)); + let task_executor = TaskExecutor::new()?; // spawn parent monitor thread let watch_exit = exit.clone(); std::thread::spawn(move || { @@ -139,7 +160,7 @@ pub fn run_worker(mem_id: &str) -> Result<(), String> { let (call_data, _) = rest.split_at_mut(MAX_RUNTIME_MEM); let (call_data, _) = call_data.split_at_mut(header.params_size as usize); - let result = validate_candidate_internal(code, call_data); + let result = validate_candidate_internal(code, call_data, task_executor.clone()); debug!("{} Candidate validated: {:?}", process::id(), result); match result { diff --git a/parachain/test-parachains/Cargo.toml b/parachain/test-parachains/Cargo.toml index 8b903b85734e..79bcf67851a6 100644 --- a/parachain/test-parachains/Cargo.toml +++ b/parachain/test-parachains/Cargo.toml @@ -14,6 +14,9 @@ adder = { package = "test-parachain-adder", path = "adder" } halt = { package = "test-parachain-halt", path = "halt" } code-upgrader = { package = "test-parachain-code-upgrader", path = "code-upgrader" } +[dev-dependencies] +sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" } + [features] default = [ "std" ] std = [ diff --git a/parachain/test-parachains/tests/adder/mod.rs b/parachain/test-parachains/tests/adder/mod.rs index 373eace15cac..ecbac12ac5ab 100644 --- a/parachain/test-parachains/tests/adder/mod.rs +++ b/parachain/test-parachains/tests/adder/mod.rs @@ -78,6 +78,7 @@ pub fn execute_good_on_parent() { code_upgrade_allowed: None, }, parachain::wasm_executor::ExecutionMode::RemoteTest(&pool), + sp_core::testing::TaskExecutor::new(), ).unwrap(); let new_head = HeadData::decode(&mut &ret.head_data.0[..]).unwrap(); @@ -117,6 +118,7 @@ fn execute_good_chain_on_parent() { code_upgrade_allowed: None, }, parachain::wasm_executor::ExecutionMode::RemoteTest(&pool), + sp_core::testing::TaskExecutor::new(), ).unwrap(); let new_head = HeadData::decode(&mut &ret.head_data.0[..]).unwrap(); @@ -157,5 +159,6 @@ fn execute_bad_on_parent() { code_upgrade_allowed: None, }, parachain::wasm_executor::ExecutionMode::RemoteTest(&pool), + sp_core::testing::TaskExecutor::new(), ).unwrap_err(); } diff --git a/parachain/test-parachains/tests/code_upgrader/mod.rs b/parachain/test-parachains/tests/code_upgrader/mod.rs index 27b164f90c28..b99a6e9dbf45 100644 --- a/parachain/test-parachains/tests/code_upgrader/mod.rs +++ b/parachain/test-parachains/tests/code_upgrader/mod.rs @@ -50,6 +50,7 @@ pub fn execute_good_no_upgrade() { code_upgrade_allowed: None, }, parachain::wasm_executor::ExecutionMode::RemoteTest(&pool), + sp_core::testing::TaskExecutor::new(), ).unwrap(); let new_head = HeadData::decode(&mut &ret.head_data.0[..]).unwrap(); @@ -86,6 +87,7 @@ pub fn execute_good_with_upgrade() { code_upgrade_allowed: Some(20), }, parachain::wasm_executor::ExecutionMode::RemoteTest(&pool), + sp_core::testing::TaskExecutor::new(), ).unwrap(); let new_head = HeadData::decode(&mut &ret.head_data.0[..]).unwrap(); @@ -129,6 +131,7 @@ pub fn code_upgrade_not_allowed() { code_upgrade_allowed: None, }, parachain::wasm_executor::ExecutionMode::RemoteTest(&pool), + sp_core::testing::TaskExecutor::new(), ).unwrap(); } @@ -159,6 +162,7 @@ pub fn applies_code_upgrade_after_delay() { code_upgrade_allowed: Some(2), }, parachain::wasm_executor::ExecutionMode::RemoteTest(&pool), + sp_core::testing::TaskExecutor::new(), ).unwrap(); let new_head = HeadData::decode(&mut &ret.head_data.0[..]).unwrap(); @@ -194,6 +198,7 @@ pub fn applies_code_upgrade_after_delay() { code_upgrade_allowed: None, }, parachain::wasm_executor::ExecutionMode::RemoteTest(&pool), + sp_core::testing::TaskExecutor::new(), ).unwrap(); let new_head = HeadData::decode(&mut &ret.head_data.0[..]).unwrap(); diff --git a/parachain/test-parachains/tests/wasm_executor/mod.rs b/parachain/test-parachains/tests/wasm_executor/mod.rs index 864b9a4ea724..0e696b2395cf 100644 --- a/parachain/test-parachains/tests/wasm_executor/mod.rs +++ b/parachain/test-parachains/tests/wasm_executor/mod.rs @@ -37,6 +37,7 @@ fn terminates_on_timeout() { code_upgrade_allowed: None, }, parachain::wasm_executor::ExecutionMode::RemoteTest(&pool), + sp_core::testing::TaskExecutor::new(), ); match result { Err(parachain::wasm_executor::Error::Timeout) => {}, @@ -66,6 +67,7 @@ fn parallel_execution() { code_upgrade_allowed: None, }, parachain::wasm_executor::ExecutionMode::RemoteTest(&pool2), + sp_core::testing::TaskExecutor::new(), ).ok()); let _ = parachain::wasm_executor::validate_candidate( halt::wasm_binary_unwrap(), @@ -78,6 +80,7 @@ fn parallel_execution() { code_upgrade_allowed: None, }, parachain::wasm_executor::ExecutionMode::RemoteTest(&pool), + sp_core::testing::TaskExecutor::new(), ); thread.join().unwrap(); // total time should be < 2 x EXECUTION_TIMEOUT_SEC diff --git a/runtime/test-runtime/client/src/lib.rs b/runtime/test-runtime/client/src/lib.rs index 58282d32b46b..704c8b498dab 100644 --- a/runtime/test-runtime/client/src/lib.rs +++ b/runtime/test-runtime/client/src/lib.rs @@ -295,7 +295,7 @@ pub fn new_light() -> ( let local_call_executor = LocalCallExecutor::new( backend.clone(), executor, - sp_core::tasks::executor(), + Box::new(sp_core::testing::TaskExecutor::new()), Default::default() ); let call_executor = LightExecutor::new( diff --git a/validation/src/collation.rs b/validation/src/collation.rs index b79b049b225f..53e18ab3abb5 100644 --- a/validation/src/collation.rs +++ b/validation/src/collation.rs @@ -29,6 +29,7 @@ use polkadot_erasure_coding as erasure; use sp_api::ProvideRuntimeApi; use futures::prelude::*; use log::debug; +use primitives::traits::SpawnNamed; /// Encapsulates connections to collators and allows collation on any parachain. /// @@ -64,6 +65,7 @@ pub async fn collation_fetch( client: Arc

, max_block_data_size: Option, n_validators: usize, + spawner: impl SpawnNamed + Clone + 'static, ) -> Result<(CollationInfo, crate::pipeline::FullOutput), C::Error> where P::Api: ParachainHost, @@ -82,6 +84,7 @@ pub async fn collation_fetch( &relay_parent, max_block_data_size, n_validators, + spawner.clone(), ); match res { diff --git a/validation/src/pipeline.rs b/validation/src/pipeline.rs index 663321480c5a..1c826a7bb132 100644 --- a/validation/src/pipeline.rs +++ b/validation/src/pipeline.rs @@ -32,6 +32,7 @@ use parachain::{ use runtime_primitives::traits::{BlakeTwo256, Hash as HashT}; use sp_api::ProvideRuntimeApi; use crate::Error; +use primitives::traits::SpawnNamed; pub use parachain::wasm_executor::ValidationPool; @@ -191,6 +192,7 @@ pub fn validate<'a>( local_validation: &'a LocalValidationData, global_validation: &'a GlobalValidationData, validation_code: &ValidationCode, + spawner: impl SpawnNamed + 'static, ) -> Result, Error> { if collation.head_data.0.len() > global_validation.max_head_data_size as _ { return Err(Error::HeadDataTooLarge( @@ -222,6 +224,7 @@ pub fn validate<'a>( &validation_code.0, params, execution_mode, + spawner, ) { Ok(result) => { if result.head_data == collation.head_data { @@ -277,6 +280,7 @@ pub fn full_output_validation_with_api

( expected_relay_parent: &Hash, max_block_data_size: Option, n_validators: usize, + spawner: impl SpawnNamed + 'static, ) -> Result where P: ProvideRuntimeApi, P::Api: ParachainHost, @@ -302,6 +306,7 @@ pub fn full_output_validation_with_api

( &local_validation, &global_validation, &validation_code, + spawner, ); match res { diff --git a/validation/src/shared_table/mod.rs b/validation/src/shared_table/mod.rs index d42c9b7e561c..58cc56cb7fe0 100644 --- a/validation/src/shared_table/mod.rs +++ b/validation/src/shared_table/mod.rs @@ -312,6 +312,7 @@ impl ParachainWork { &expected_relay_parent, max_block_data_size, n_validators, + primitives::testing::TaskExecutor::new(), )?; full_output.check_consistency(candidate)?; diff --git a/validation/src/validation_service/mod.rs b/validation/src/validation_service/mod.rs index 11116fcaffd6..538e987c4392 100644 --- a/validation/src/validation_service/mod.rs +++ b/validation/src/validation_service/mod.rs @@ -145,7 +145,7 @@ impl ServiceBuilder where N::BuildTableRouter: Send + Unpin + 'static, ::SendLocalCollation: Send, SC: SelectChain + 'static, - SP: SpawnNamed + Send + 'static, + SP: SpawnNamed + Clone + 'static, // Rust bug: https://github.com/rust-lang/rust/issues/24159 sp_api::StateBackendFor: sp_api::StateBackend>, { @@ -167,11 +167,15 @@ impl ServiceBuilder where let mut parachain_validation = ParachainValidationInstances { client: self.client.clone(), network: self.network, - spawner: self.spawner, + spawner: self.spawner.clone(), availability_store: self.availability_store, live_instances: HashMap::new(), validation_pool: validation_pool.clone(), - collation_fetch: DefaultCollationFetch(self.collators, validation_pool), + collation_fetch: DefaultCollationFetch { + collators: self.collators, + validation_pool, + spawner: self.spawner, + }, }; let client = self.client; @@ -253,11 +257,17 @@ pub(crate) trait CollationFetch { } #[derive(Clone)] -struct DefaultCollationFetch(C, Option); -impl CollationFetch for DefaultCollationFetch +struct DefaultCollationFetch { + collators: C, + validation_pool: Option, + spawner: S, +} + +impl CollationFetch for DefaultCollationFetch where C: Collators + Send + Sync + Unpin + 'static, C::Collation: Send + Unpin + 'static, + S: SpawnNamed + Clone + 'static, { type Error = C::Error; @@ -273,15 +283,15 @@ impl CollationFetch for DefaultCollationFetch P::Api: ParachainHost, P: ProvideRuntimeApi + Send + Sync + 'static, { - let DefaultCollationFetch(collators, validation_pool) = self; crate::collation::collation_fetch( - validation_pool, + self.validation_pool, parachain, relay_parent, - collators, + self.collators, client, max_block_data_size, n_validators, + self.spawner, ).boxed() } } @@ -553,7 +563,7 @@ mod tests { use runtime_primitives::traits::Block as BlockT; use std::pin::Pin; use sp_keyring::sr25519::Keyring; - use primitives::testing::SpawnBlockingExecutor; + use primitives::testing::TaskExecutor; /// Events fired while running mock implementations to follow execution. enum Events { @@ -714,7 +724,7 @@ mod tests { #[test] fn launch_work_is_executed_properly() { - let executor = SpawnBlockingExecutor::new(); + let executor = TaskExecutor::new(); let keystore = keystore::Store::new_in_memory(); // Make sure `Bob` key is in the keystore, so this mocked node will be a parachain validator. @@ -754,7 +764,7 @@ mod tests { #[test] fn router_is_built_on_relay_chain_validator() { - let executor = SpawnBlockingExecutor::new(); + let executor = TaskExecutor::new(); let keystore = keystore::Store::new_in_memory(); // Make sure `Alice` key is in the keystore, so this mocked node will be a relay-chain validator.