From b26f6d08ac508752fb6b9cc37871dd6ce56a1ba6 Mon Sep 17 00:00:00 2001 From: Ashley <ashley.ruglys@gmail.com> Date: Tue, 30 Jun 2020 14:06:55 +0200 Subject: [PATCH] Companion PR for `Remove the service, replacing it with a struct of individual chain components` (#1288) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Switch branch * Fix service things * Fix browser node compilation * Update branch * fixed new service * Update for new branch * Fix browser node * Update branch * Revert "Switch branch" This reverts commit 3623adff7681124a1539a385a718c34e85931254. * Update cargo.lock Co-authored-by: Bastian Köcher <git@kchr.de> --- polkadot/Cargo.lock | 543 +++++++++++++++++++------------ polkadot/cli/src/browser.rs | 4 +- polkadot/cli/src/command.rs | 97 +++--- polkadot/cli/src/lib.rs | 4 +- polkadot/collator/src/lib.rs | 14 +- polkadot/node/service/src/lib.rs | 90 ++--- polkadot/service/src/lib.rs | 104 +++--- 7 files changed, 475 insertions(+), 381 deletions(-) diff --git a/polkadot/Cargo.lock b/polkadot/Cargo.lock index eb9ef2b19ab..b1a7eba99dd 100644 --- a/polkadot/Cargo.lock +++ b/polkadot/Cargo.lock @@ -25,6 +25,61 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "567b077b825e468cc974f0020d4082ee6e03132512f207ef1a02fd5d00d1f32d" +[[package]] +name = "aead" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cf01b9b56e767bb57b94ebf91a58b338002963785cdd7013e21c0d4679471e4" +dependencies = [ + "generic-array", +] + +[[package]] +name = "aes" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54eb1d8fe354e5fc611daf4f2ea97dd45a765f4f1e4512306ec183ae2e8f20c9" +dependencies = [ + "aes-soft", + "aesni", + "block-cipher-trait", +] + +[[package]] +name = "aes-gcm" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "834a6bda386024dbb7c8fc51322856c10ffe69559f972261c868485f5759c638" +dependencies = [ + "aead", + "aes", + "block-cipher-trait", + "ghash", + "subtle 2.2.3", + "zeroize", +] + +[[package]] +name = "aes-soft" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfd7e7ae3f9a1fb5c03b389fc6bb9a51400d0c13053f0dca698c832bfd893a0d" +dependencies = [ + "block-cipher-trait", + "byteorder", + "opaque-debug", +] + +[[package]] +name = "aesni" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f70a6b5f971e473091ab7cfb5ffac6cde81666c4556751d8d5620ead8abf100" +dependencies = [ + "block-cipher-trait", + "opaque-debug", +] + [[package]] name = "ahash" version = "0.2.18" @@ -368,6 +423,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-cipher-trait" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c924d49bd09e7c06003acda26cd9742e796e34282ec6c1189404dee0c1f4774" +dependencies = [ + "generic-array", +] + [[package]] name = "block-padding" version = "0.1.5" @@ -478,12 +542,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" [[package]] -name = "chacha20-poly1305-aead" -version = "0.1.2" +name = "chacha20" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77d2058ba29594f69c75e8a9018e0485e3914ca5084e3613cd64529042f5423b" +checksum = "f6a7ae4c498f8447d86baef0fa0831909333f558866fabcb21600625ac5a31c7" dependencies = [ - "constant_time_eq", + "stream-cipher", + "zeroize", +] + +[[package]] +name = "chacha20poly1305" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48901293601228db2131606f741db33561f7576b5d19c99cd66222380a7dc863" +dependencies = [ + "aead", + "chacha20", + "poly1305", + "stream-cipher", + "zeroize", ] [[package]] @@ -1172,7 +1250,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "parity-scale-codec", ] @@ -1180,7 +1258,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support", "frame-system", @@ -1197,7 +1275,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-benchmarking", "parity-scale-codec", @@ -1215,7 +1293,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support", "frame-system", @@ -1230,7 +1308,7 @@ dependencies = [ [[package]] name = "frame-metadata" version = "11.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "parity-scale-codec", "serde", @@ -1241,7 +1319,7 @@ dependencies = [ [[package]] name = "frame-support" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "bitmask", "frame-metadata", @@ -1266,7 +1344,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support-procedural-tools", "proc-macro2 1.0.18", @@ -1277,7 +1355,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1289,7 +1367,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "proc-macro2 1.0.18", "quote 1.0.7", @@ -1299,7 +1377,7 @@ dependencies = [ [[package]] name = "frame-system" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -1315,7 +1393,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-benchmarking", "frame-support", @@ -1329,7 +1407,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "parity-scale-codec", "sp-api", @@ -1559,6 +1637,18 @@ dependencies = [ "pin-project", ] +[[package]] +name = "futures_codec" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce54d63f8b0c75023ed920d46fd71d0cbbb830b0ee012726b5b4f506fb6dea5b" +dependencies = [ + "bytes 0.5.4", + "futures 0.3.5", + "memchr", + "pin-project", +] + [[package]] name = "gcc" version = "0.3.55" @@ -1608,6 +1698,15 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "ghash" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f0930ed19a7184089ea46d2fedead2f6dc2b674c5db4276b7da336c7cd83252" +dependencies = [ + "polyval", +] + [[package]] name = "gimli" version = "0.20.0" @@ -2435,9 +2534,9 @@ checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a" [[package]] name = "libp2p" -version = "0.19.1" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057eba5432d3e740e313c6e13c9153d0cb76b4f71bfc2e5242ae5bdb7d41af67" +checksum = "db81113df355dea9dddfcb01cd867555298dca29d915f25d1b1a0aad2e29338b" dependencies = [ "bytes 0.5.4", "futures 0.3.5", @@ -2457,7 +2556,7 @@ dependencies = [ "libp2p-websocket", "libp2p-yamux", "multihash", - "parity-multiaddr 0.9.0", + "parity-multiaddr 0.9.1", "parking_lot 0.10.2", "pin-project", "smallvec 1.4.0", @@ -2466,9 +2565,9 @@ dependencies = [ [[package]] name = "libp2p-core" -version = "0.19.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5e30dcd8cb13a02ad534e214da234eca1595a76b5788b645dfa5c734d2124b" +checksum = "3a0387b930c3d4c2533dc4893c1e0394185ddcc019846121b1b27491e45a2c08" dependencies = [ "asn1_der", "bs58", @@ -2482,7 +2581,7 @@ dependencies = [ "log 0.4.8", "multihash", "multistream-select", - "parity-multiaddr 0.9.0", + "parity-multiaddr 0.9.1", "parking_lot 0.10.2", "pin-project", "prost", @@ -2493,7 +2592,7 @@ dependencies = [ "sha2", "smallvec 1.4.0", "thiserror", - "unsigned-varint", + "unsigned-varint 0.4.0", "void", "zeroize", ] @@ -2521,9 +2620,9 @@ dependencies = [ [[package]] name = "libp2p-identify" -version = "0.19.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6438ed8ca240c7635c9caa3be6c5258bc0058553ae97ba81737f04e5d33804f5" +checksum = "62f76075b170d908bae616f550ade410d9d27c013fa69042551dbfc757c7c094" dependencies = [ "futures 0.3.5", "libp2p-core", @@ -2537,16 +2636,16 @@ dependencies = [ [[package]] name = "libp2p-kad" -version = "0.19.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d6c1d5100973527ae70d82687465b17049c1b717a7964de38b8e65000878ff" +checksum = "f7c819a5425b2eb3416d67e9c868c5c1e922b6658655e06b9eeafaa41304b876" dependencies = [ "arrayvec 0.5.1", "bytes 0.5.4", "either", "fnv", "futures 0.3.5", - "futures_codec", + "futures_codec 0.4.1", "libp2p-core", "libp2p-swarm", "log 0.4.8", @@ -2557,16 +2656,16 @@ dependencies = [ "sha2", "smallvec 1.4.0", "uint", - "unsigned-varint", + "unsigned-varint 0.4.0", "void", "wasm-timer", ] [[package]] name = "libp2p-mdns" -version = "0.19.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51b00163d13f705aae67c427bea0575f8aaf63da6524f9bd4a5a093b8bda0b38" +checksum = "7f55b2d4b80986e5bf158270ab23268ec0e7f644ece5436fbaabc5155472f357" dependencies = [ "async-std", "data-encoding", @@ -2586,25 +2685,25 @@ dependencies = [ [[package]] name = "libp2p-mplex" -version = "0.19.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ce63313ad4bce2d76e54c292a1293ea47a0ebbe16708f1513fa62184992f53" +checksum = "be7d913a4cd57de2013257ec73f07d77bfce390b370023e2d59083e5ca079864" dependencies = [ "bytes 0.5.4", "fnv", "futures 0.3.5", - "futures_codec", + "futures_codec 0.4.1", "libp2p-core", "log 0.4.8", "parking_lot 0.10.2", - "unsigned-varint", + "unsigned-varint 0.4.0", ] [[package]] name = "libp2p-noise" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84fd504e27b0eadd451e06b67694ef714bd8374044e7db339bb0cdb83755ddf4" +checksum = "a03db664653369f46ee03fcec483a378c20195089bb43a26cb9fb0058009ac88" dependencies = [ "curve25519-dalek", "futures 0.3.5", @@ -2623,9 +2722,9 @@ dependencies = [ [[package]] name = "libp2p-ping" -version = "0.19.2" +version = "0.19.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb3c4f9273313357d4977799aec69f581cfe9568854919c5b8066018ccf59f5" +checksum = "b8dedd34e35a9728d52d59ef36a218e411359a353f9011b2574b86ee790978f6" dependencies = [ "futures 0.3.5", "libp2p-core", @@ -2638,9 +2737,9 @@ dependencies = [ [[package]] name = "libp2p-swarm" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4a8101a0e0d5f04562137a476bf5f5423cd5bdab2f7e43a75909668e63cb102" +checksum = "ce53ff4d127cf8b39adf84dbd381ca32d49bd85788cee08e6669da2495993930" dependencies = [ "futures 0.3.5", "libp2p-core", @@ -2653,9 +2752,9 @@ dependencies = [ [[package]] name = "libp2p-tcp" -version = "0.19.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "309f95fce9bec755eff5406f8b822fd3969990830c2b54f752e1fc181d5ace3e" +checksum = "9481500c5774c62e8c413e9535b3f33a0e3dbacf2da63b8d3056c686a9df4146" dependencies = [ "async-std", "futures 0.3.5", @@ -2683,12 +2782,11 @@ dependencies = [ [[package]] name = "libp2p-websocket" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "085fbe4c05c4116c2164ab4d5a521eb6e00516c444f61b3ee9f68c7b1e53580b" +checksum = "7e4440551bf6519e0a684cd859ea809aec6d798f686e0d6ed03a28c3e76849b8" dependencies = [ "async-tls", - "bytes 0.5.4", "either", "futures 0.3.5", "libp2p-core", @@ -2704,9 +2802,9 @@ dependencies = [ [[package]] name = "libp2p-yamux" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b305d3a8981e68f11c0e17f2d11d5c52fae95e0d7c283f9e462b5b2dab413b2" +checksum = "8da33e7b5f49c75c6a8afb0b8d1e229f5fa48be9f39bd14cdbc21459a02ac6fc" dependencies = [ "futures 0.3.5", "libp2p-core", @@ -3014,7 +3112,7 @@ dependencies = [ "sha-1", "sha2", "sha3", - "unsigned-varint", + "unsigned-varint 0.3.3", ] [[package]] @@ -3025,16 +3123,16 @@ checksum = "d8883adfde9756c1d30b0f519c9b8c502a94b41ac62f696453c37c7fc0a958ce" [[package]] name = "multistream-select" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "991c33683908c588b8f2cf66c221d8f390818c1bdcd13fce55208408e027a796" +checksum = "c9157e87afbc2ef0d84cc0345423d715f445edde00141c93721c162de35a05e5" dependencies = [ "bytes 0.5.4", "futures 0.3.5", "log 0.4.8", "pin-project", "smallvec 1.4.0", - "unsigned-varint", + "unsigned-varint 0.4.0", ] [[package]] @@ -3266,7 +3364,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support", "frame-system", @@ -3282,7 +3380,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support", "frame-system", @@ -3297,7 +3395,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support", "frame-system", @@ -3319,7 +3417,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-benchmarking", "frame-support", @@ -3333,7 +3431,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-benchmarking", "frame-support", @@ -3349,7 +3447,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-benchmarking", "frame-support", @@ -3364,7 +3462,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-benchmarking", "frame-support", @@ -3379,7 +3477,7 @@ dependencies = [ [[package]] name = "pallet-finality-tracker" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support", "frame-system", @@ -3395,7 +3493,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support", "frame-system", @@ -3415,7 +3513,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "enumflags2", "frame-benchmarking", @@ -3431,7 +3529,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-benchmarking", "frame-support", @@ -3451,7 +3549,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support", "frame-system", @@ -3467,7 +3565,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support", "frame-system", @@ -3481,7 +3579,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support", "frame-system", @@ -3496,7 +3594,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support", "frame-system", @@ -3510,7 +3608,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support", "frame-system", @@ -3525,7 +3623,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-benchmarking", "frame-support", @@ -3546,7 +3644,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support", "frame-system", @@ -3561,7 +3659,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support", "frame-system", @@ -3574,7 +3672,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "enumflags2", "frame-support", @@ -3589,7 +3687,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-benchmarking", "frame-support", @@ -3604,7 +3702,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support", "frame-system", @@ -3624,7 +3722,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-benchmarking", "frame-support", @@ -3638,7 +3736,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support", "frame-system", @@ -3652,7 +3750,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-benchmarking", "frame-support", @@ -3674,7 +3772,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "proc-macro-crate", "proc-macro2 1.0.18", @@ -3685,7 +3783,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support", "frame-system", @@ -3699,7 +3797,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-benchmarking", "frame-support", @@ -3717,7 +3815,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support", "frame-system", @@ -3732,7 +3830,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -3750,7 +3848,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-support", "parity-scale-codec", @@ -3763,7 +3861,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-benchmarking", "frame-support", @@ -3778,7 +3876,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-benchmarking", "frame-support", @@ -3794,7 +3892,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "enumflags2", "frame-benchmarking", @@ -3834,15 +3932,15 @@ dependencies = [ "percent-encoding 2.1.0", "serde", "static_assertions", - "unsigned-varint", + "unsigned-varint 0.3.3", "url 2.1.1", ] [[package]] name = "parity-multiaddr" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12ca96399f4a01aa89c59220c4f52ac371940eb4e53e3ce990da796f364bdf69" +checksum = "cc20af3143a62c16e7c9e92ea5c6ae49f7d271d97d4d8fe73afc28f0514a3d0f" dependencies = [ "arrayref", "bs58", @@ -3852,7 +3950,7 @@ dependencies = [ "percent-encoding 2.1.0", "serde", "static_assertions", - "unsigned-varint", + "unsigned-varint 0.4.0", "url 2.1.1", ] @@ -3868,7 +3966,7 @@ dependencies = [ "sha-1", "sha2", "sha3", - "unsigned-varint", + "unsigned-varint 0.3.3", ] [[package]] @@ -4777,6 +4875,25 @@ dependencies = [ "tokio 0.2.21", ] +[[package]] +name = "poly1305" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5829f50f48e9ddb79f3f7c3097029d0caee30f8286accb241416df603b080b8" +dependencies = [ + "universal-hash", +] + +[[package]] +name = "polyval" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ec3341498978de3bfd12d1b22f1af1de22818f5473a11e8a6ef997989e3a212" +dependencies = [ + "cfg-if", + "universal-hash", +] + [[package]] name = "ppv-lite86" version = "0.2.8" @@ -5531,7 +5648,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "bytes 0.5.4", "derive_more 0.99.8", @@ -5558,7 +5675,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", @@ -5582,7 +5699,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -5598,7 +5715,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "impl-trait-for-tuples", "sc-chain-spec-derive", @@ -5614,7 +5731,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "proc-macro-crate", "proc-macro2 1.0.18", @@ -5625,7 +5742,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "ansi_term 0.12.1", "atty", @@ -5665,7 +5782,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "derive_more 0.99.8", "fnv", @@ -5701,7 +5818,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "blake2-rfc", "hash-db", @@ -5730,7 +5847,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "sc-client-api", "sp-blockchain", @@ -5741,7 +5858,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "derive_more 0.99.8", "fork-tree", @@ -5783,7 +5900,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "derive_more 0.99.8", "futures 0.3.5", @@ -5807,7 +5924,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "fork-tree", "parity-scale-codec", @@ -5820,7 +5937,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", @@ -5842,7 +5959,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "log 0.4.8", "sc-client-api", @@ -5856,7 +5973,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "derive_more 0.99.8", "lazy_static", @@ -5884,7 +6001,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "derive_more 0.99.8", "log 0.4.8", @@ -5901,7 +6018,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "log 0.4.8", "parity-scale-codec", @@ -5916,7 +6033,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "cranelift-codegen", "cranelift-wasm", @@ -5937,7 +6054,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "assert_matches", "derive_more 0.99.8", @@ -5975,7 +6092,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "derive_more 0.99.8", "finality-grandpa", @@ -5992,7 +6109,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "ansi_term 0.12.1", "futures 0.3.5", @@ -6011,7 +6128,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "derive_more 0.99.8", "hex", @@ -6027,7 +6144,7 @@ dependencies = [ [[package]] name = "sc-light" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "hash-db", "lazy_static", @@ -6046,7 +6163,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "bitflags", "bs58", @@ -6058,7 +6175,7 @@ dependencies = [ "fork-tree", "futures 0.3.5", "futures-timer 3.0.2", - "futures_codec", + "futures_codec 0.3.4", "hex", "ip_network", "libp2p", @@ -6089,7 +6206,7 @@ dependencies = [ "sp-utils", "substrate-prometheus-endpoint", "thiserror", - "unsigned-varint", + "unsigned-varint 0.3.3", "void", "wasm-timer", "zeroize", @@ -6098,7 +6215,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", @@ -6113,7 +6230,7 @@ dependencies = [ [[package]] name = "sc-network-test" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "env_logger", "futures 0.3.5", @@ -6140,7 +6257,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "bytes 0.5.4", "fnv", @@ -6167,7 +6284,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "futures 0.3.5", "libp2p", @@ -6180,7 +6297,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "log 0.4.8", "substrate-prometheus-endpoint", @@ -6189,7 +6306,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "futures 0.3.5", "hash-db", @@ -6221,7 +6338,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "derive_more 0.99.8", "futures 0.3.5", @@ -6245,7 +6362,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "jsonrpc-core", "jsonrpc-http-server", @@ -6261,7 +6378,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "derive_more 0.99.8", "directories", @@ -6324,7 +6441,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "log 0.4.8", "parity-scale-codec", @@ -6338,9 +6455,8 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ - "bytes 0.5.4", "futures 0.3.5", "futures-timer 3.0.2", "libp2p", @@ -6360,7 +6476,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "erased-serde", "log 0.4.8", @@ -6377,7 +6493,7 @@ dependencies = [ [[package]] name = "sc-transaction-graph" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "derive_more 0.99.8", "futures 0.3.5", @@ -6397,7 +6513,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "derive_more 0.99.8", "futures 0.3.5", @@ -6589,12 +6705,6 @@ dependencies = [ "opaque-debug", ] -[[package]] -name = "sha1" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" - [[package]] name = "sha2" version = "0.8.2" @@ -6733,13 +6843,13 @@ checksum = "c7cb5678e1615754284ec264d9bb5b4c27d2018577fd90ac0ceb578591ed5ee4" [[package]] name = "snow" -version = "0.6.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb767eee7d257ba202f0b9b08673bc13b22281632ef45267b19f13100accd2f" +checksum = "ce0f91be479494dd92e69d9971bd23ed27037dd1c94fcf558f6c6e74e6afa654" dependencies = [ - "arrayref", - "blake2-rfc", - "chacha20-poly1305-aead", + "aes-gcm", + "blake2", + "chacha20poly1305", "rand 0.7.3", "rand_core 0.5.1", "ring", @@ -6763,28 +6873,24 @@ dependencies = [ [[package]] name = "soketto" -version = "0.3.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c9dab3f95c9ebdf3a88268c19af668f637a3c5039c2c56ff2d40b1b2d64a25b" +checksum = "85457366ae0c6ce56bf05a958aef14cd38513c236568618edbcd9a8c52cb80b0" dependencies = [ - "base64 0.11.0", + "base64 0.12.2", "bytes 0.5.4", "flate2", "futures 0.3.5", - "http 0.2.1", "httparse", "log 0.4.8", "rand 0.7.3", - "sha1", - "smallvec 1.4.0", - "static_assertions", - "thiserror", + "sha-1", ] [[package]] name = "sp-allocator" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "derive_more 0.99.8", "log 0.4.8", @@ -6796,7 +6902,7 @@ dependencies = [ [[package]] name = "sp-api" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "hash-db", "parity-scale-codec", @@ -6811,7 +6917,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "blake2-rfc", "proc-macro-crate", @@ -6823,7 +6929,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "parity-scale-codec", "serde", @@ -6835,7 +6941,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "integer-sqrt", "num-traits 0.2.12", @@ -6848,7 +6954,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "parity-scale-codec", "sp-api", @@ -6860,7 +6966,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "parity-scale-codec", "sp-inherents", @@ -6871,7 +6977,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "parity-scale-codec", "sp-api", @@ -6883,7 +6989,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "derive_more 0.99.8", "log 0.4.8", @@ -6899,7 +7005,7 @@ dependencies = [ [[package]] name = "sp-chain-spec" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "serde", "serde_json", @@ -6908,7 +7014,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "derive_more 0.99.8", "futures 0.3.5", @@ -6932,7 +7038,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "parity-scale-codec", "sp-api", @@ -6946,7 +7052,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "merlin", "parity-scale-codec", @@ -6964,7 +7070,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -6976,7 +7082,7 @@ dependencies = [ [[package]] name = "sp-core" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "base58", "blake2-rfc", @@ -7018,7 +7124,7 @@ dependencies = [ [[package]] name = "sp-database" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "kvdb", "parking_lot 0.10.2", @@ -7027,7 +7133,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "proc-macro2 1.0.18", "quote 1.0.7", @@ -7037,7 +7143,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "environmental", "parity-scale-codec", @@ -7048,7 +7154,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "finality-grandpa", "log 0.4.8", @@ -7064,7 +7170,7 @@ dependencies = [ [[package]] name = "sp-finality-tracker" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "parity-scale-codec", "sp-inherents", @@ -7074,7 +7180,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "derive_more 0.99.8", "parity-scale-codec", @@ -7086,7 +7192,7 @@ dependencies = [ [[package]] name = "sp-io" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "futures 0.3.5", "hash-db", @@ -7107,7 +7213,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "lazy_static", "sp-core", @@ -7118,7 +7224,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "parity-scale-codec", "serde", @@ -7130,7 +7236,7 @@ dependencies = [ [[package]] name = "sp-npos-elections-compact" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "proc-macro-crate", "proc-macro2 1.0.18", @@ -7141,7 +7247,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "sp-api", "sp-core", @@ -7151,7 +7257,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "backtrace", "log 0.4.8", @@ -7160,7 +7266,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "serde", "sp-core", @@ -7169,7 +7275,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "either", "hash256-std-hasher", @@ -7191,7 +7297,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "parity-scale-codec", "primitive-types", @@ -7206,7 +7312,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "Inflector", "proc-macro-crate", @@ -7218,7 +7324,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "serde", "serde_json", @@ -7227,7 +7333,7 @@ dependencies = [ [[package]] name = "sp-session" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "parity-scale-codec", "sp-api", @@ -7240,7 +7346,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -7250,7 +7356,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "hash-db", "itertools 0.9.0", @@ -7271,12 +7377,12 @@ dependencies = [ [[package]] name = "sp-std" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" [[package]] name = "sp-storage" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "impl-serde 0.2.3", "ref-cast", @@ -7288,7 +7394,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7302,7 +7408,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "log 0.4.8", "rental", @@ -7312,7 +7418,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "derive_more 0.99.8", "futures 0.3.5", @@ -7328,7 +7434,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "hash-db", "memory-db", @@ -7342,7 +7448,7 @@ dependencies = [ [[package]] name = "sp-utils" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "futures 0.3.5", "futures-core", @@ -7354,7 +7460,7 @@ dependencies = [ [[package]] name = "sp-version" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "impl-serde 0.2.3", "parity-scale-codec", @@ -7366,7 +7472,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7401,6 +7507,15 @@ dependencies = [ "rand 0.5.6", ] +[[package]] +name = "stream-cipher" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8131256a5896cabcf5eb04f4d6dacbe1aefda854b0d9896e09cb58829ec5638c" +dependencies = [ + "generic-array", +] + [[package]] name = "streamunordered" version = "0.5.1" @@ -7497,7 +7612,7 @@ dependencies = [ [[package]] name = "substrate-browser-utils" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "chrono", "clear_on_drop", @@ -7524,7 +7639,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "platforms", ] @@ -7532,7 +7647,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.5", @@ -7555,7 +7670,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "async-std", "derive_more 0.99.8", @@ -7569,7 +7684,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "futures 0.3.5", "hash-db", @@ -7591,7 +7706,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "cfg-if", "frame-executive", @@ -7631,7 +7746,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" dependencies = [ "futures 0.3.5", "parity-scale-codec", @@ -7652,7 +7767,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder-runner" version = "1.0.6" -source = "git+https://github.com/paritytech/substrate#93a6a53061b9ecb8660c291ab43d083cf51c1f89" +source = "git+https://github.com/paritytech/substrate#ec2ab7978a54e7f20af2f9ac12bde7719bb744fb" [[package]] name = "substrate-wasm-builder-runner" @@ -8504,6 +8619,16 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c" +[[package]] +name = "universal-hash" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df0c900f2f9b4116803415878ff48b63da9edb268668e08cf9292d7503114a01" +dependencies = [ + "generic-array", + "subtle 2.2.3", +] + [[package]] name = "unsigned-varint" version = "0.3.3" @@ -8513,7 +8638,17 @@ dependencies = [ "bytes 0.5.4", "futures-io", "futures-util", - "futures_codec", + "futures_codec 0.3.4", +] + +[[package]] +name = "unsigned-varint" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "669d776983b692a906c881fcd0cfb34271a48e197e4d6cb8df32b05bfc3d3fa5" +dependencies = [ + "bytes 0.5.4", + "futures_codec 0.4.1", ] [[package]] diff --git a/polkadot/cli/src/browser.rs b/polkadot/cli/src/browser.rs index 6f3a4000843..becd3405300 100644 --- a/polkadot/cli/src/browser.rs +++ b/polkadot/cli/src/browser.rs @@ -46,8 +46,8 @@ async fn start_inner(chain_spec: String, log_level: String) -> Result<Client, Bo info!("👤 Role: {}", config.display_role()); // Create the service. This is the most heavy initialization step. - let service = service::kusama_new_light(config) + let (task_manager, rpc_handlers) = service::kusama_new_light(config) .map_err(|e| format!("{:?}", e))?; - Ok(browser_utils::start_client(service)) + Ok(browser_utils::start_client(task_manager, rpc_handlers)) } diff --git a/polkadot/cli/src/command.rs b/polkadot/cli/src/command.rs index 714e3c2ddac..7b437a2c352 100644 --- a/polkadot/cli/src/command.rs +++ b/polkadot/cli/src/command.rs @@ -19,8 +19,7 @@ use log::info; use service::{IdentifyVariant, self}; #[cfg(feature = "service-rewr")] use service_new::{IdentifyVariant, self as service}; -use sc_executor::NativeExecutionDispatch; -use sc_cli::{SubstrateCli, Result}; +use sc_cli::{SubstrateCli, Result, RuntimeVersion, Role}; use crate::cli::{Cli, Subcommand}; fn get_exec_name() -> Option<String> { @@ -75,6 +74,16 @@ impl SubstrateCli for Cli { path => Box::new(service::PolkadotChainSpec::from_json_file(std::path::PathBuf::from(path))?), }) } + + fn native_runtime_version(spec: &Box<dyn service::ChainSpec>) -> &'static RuntimeVersion { + if spec.is_kusama() { + &service::kusama_runtime::VERSION + } else if spec.is_westend() { + &service::westend_runtime::VERSION + } else { + &service::polkadot_runtime::VERSION + } + } } /// Parses polkadot specific CLI arguments and run the service. @@ -116,56 +125,44 @@ pub fn run() -> Result<()> { info!(" KUSAMA FOUNDATION "); info!("----------------------------"); - runtime.run_node( - |config| { - service::kusama_new_light(config) - }, - |config| { - service::kusama_new_full( - config, - None, - None, - authority_discovery_enabled, - 6000, - grandpa_pause, - ).map(|(s, _, _)| s) - }, - service::KusamaExecutor::native_version().runtime_version - ) + runtime.run_node_until_exit(|config| match config.role { + Role::Light => service::kusama_new_light(config) + .map(|(components, _)| components), + _ => service::kusama_new_full( + config, + None, + None, + authority_discovery_enabled, + 6000, + grandpa_pause, + ).map(|(components, _, _)| components) + }) } else if chain_spec.is_westend() { - runtime.run_node( - |config| { - service::westend_new_light(config) - }, - |config| { - service::westend_new_full( - config, - None, - None, - authority_discovery_enabled, - 6000, - grandpa_pause, - ).map(|(s, _, _)| s) - }, - service::WestendExecutor::native_version().runtime_version - ) + runtime.run_node_until_exit(|config| match config.role { + Role::Light => service::westend_new_light(config) + .map(|(components, _)| components), + _ => service::westend_new_full( + config, + None, + None, + authority_discovery_enabled, + 6000, + grandpa_pause, + ).map(|(components, _, _)| components) + }) } else { - runtime.run_node( - |config| { - service::polkadot_new_light(config) - }, - |config| { - service::polkadot_new_full( - config, - None, - None, - authority_discovery_enabled, - 6000, - grandpa_pause, - ).map(|(s, _, _)| s) - }, - service::PolkadotExecutor::native_version().runtime_version - ) + runtime.run_node_until_exit(|config| match config.role { + Role::Light => service::polkadot_new_light(config) + .map(|(components, _)| components), + _ => service::polkadot_new_full( + config, + None, + None, + authority_discovery_enabled, + 6000, + grandpa_pause, + ).map(|(components, _, _)| components) + }) } }, Some(Subcommand::Base(subcommand)) => { diff --git a/polkadot/cli/src/lib.rs b/polkadot/cli/src/lib.rs index be2f3c6cd64..385a24d364c 100644 --- a/polkadot/cli/src/lib.rs +++ b/polkadot/cli/src/lib.rs @@ -28,14 +28,14 @@ mod command; #[cfg(not(feature = "service-rewr"))] pub use service::{ - AbstractService, ProvideRuntimeApi, CoreApi, ParachainHost, IdentifyVariant, + ProvideRuntimeApi, CoreApi, ParachainHost, IdentifyVariant, Block, self, RuntimeApiCollection, TFullClient }; #[cfg(feature = "service-rewr")] pub use service_new::{ self as service, - AbstractService, ProvideRuntimeApi, CoreApi, ParachainHost, IdentifyVariant, + ProvideRuntimeApi, CoreApi, ParachainHost, IdentifyVariant, Block, self, RuntimeApiCollection, TFullClient }; diff --git a/polkadot/collator/src/lib.rs b/polkadot/collator/src/lib.rs index 063bdb1735c..e2778238ceb 100644 --- a/polkadot/collator/src/lib.rs +++ b/polkadot/collator/src/lib.rs @@ -63,7 +63,7 @@ use polkadot_primitives::{ } }; use polkadot_cli::{ - ProvideRuntimeApi, AbstractService, ParachainHost, IdentifyVariant, + ProvideRuntimeApi, ParachainHost, IdentifyVariant, service::{self, Role} }; pub use polkadot_cli::service::Configuration; @@ -386,7 +386,7 @@ where } if config.chain_spec.is_kusama() { - let (service, client, handlers) = service::kusama_new_full( + let (task_manager, client, handlers) = service::kusama_new_full( config, Some((key.public(), para_id)), None, @@ -394,7 +394,7 @@ where 6000, None, )?; - let spawn_handle = service.spawn_task_handle(); + let spawn_handle = task_manager.spawn_handle(); build_collator_service( spawn_handle, handlers, @@ -404,7 +404,7 @@ where build_parachain_context )?.await; } else if config.chain_spec.is_westend() { - let (service, client, handlers) = service::westend_new_full( + let (task_manager, client, handlers) = service::westend_new_full( config, Some((key.public(), para_id)), None, @@ -412,7 +412,7 @@ where 6000, None, )?; - let spawn_handle = service.spawn_task_handle(); + let spawn_handle = task_manager.spawn_handle(); build_collator_service( spawn_handle, handlers, @@ -422,7 +422,7 @@ where build_parachain_context )?.await; } else { - let (service, client, handles) = service::polkadot_new_full( + let (task_manager, client, handles) = service::polkadot_new_full( config, Some((key.public(), para_id)), None, @@ -430,7 +430,7 @@ where 6000, None, )?; - let spawn_handle = service.spawn_task_handle(); + let spawn_handle = task_manager.spawn_handle(); build_collator_service( spawn_handle, handles, diff --git a/polkadot/node/service/src/lib.rs b/polkadot/node/service/src/lib.rs index 620850b3bd6..2c3d77605e1 100644 --- a/polkadot/node/service/src/lib.rs +++ b/polkadot/node/service/src/lib.rs @@ -35,9 +35,9 @@ use polkadot_overseer::{ CandidateValidationMessage, CandidateBackingMessage, }; pub use service::{ - AbstractService, Role, PruningMode, TransactionPoolOptions, Error, RuntimeGenesis, + Role, PruningMode, TransactionPoolOptions, Error, RuntimeGenesis, TFullClient, TLightClient, TFullBackend, TLightBackend, TFullCallExecutor, TLightCallExecutor, - Configuration, ChainSpec, ServiceBuilderCommand, + Configuration, ChainSpec, ServiceBuilderCommand, ServiceComponents, TaskManager, }; pub use service::config::{DatabaseConfig, PrometheusConfig}; pub use sc_executor::NativeExecutionDispatch; @@ -321,7 +321,10 @@ macro_rules! new_full { let (builder, mut import_setup, inherent_data_providers, mut rpc_setup) = new_full_start!($config, $runtime, $dispatch); - let service = builder + let ServiceComponents { + client, network, select_chain, keystore, transaction_pool, prometheus_registry, + task_manager, telemetry_on_connect_sinks, .. + } = builder .with_finality_proof_provider(|client, backend| { let provider = client as Arc<dyn grandpa::StorageAndProofProvider<_, _>>; Ok(Arc::new(GrandpaFinalityProofProvider::new(backend, provider)) as _) @@ -334,11 +337,9 @@ macro_rules! new_full { let shared_voter_state = rpc_setup.take() .expect("The SharedVoterState is present for Full Services or setup failed before. qed"); - let client = service.client(); - - let overseer_client = service.client(); - let spawner = service.spawn_task_handle(); - let leaves: Vec<_> = service.select_chain().ok_or(ServiceError::SelectChainRequired)? + let overseer_client = client.clone(); + let spawner = task_manager.spawn_handle(); + let leaves: Vec<_> = select_chain.clone().ok_or(ServiceError::SelectChainRequired)? .leaves() .unwrap_or_else(|_| vec![]) .into_iter() @@ -356,7 +357,7 @@ macro_rules! new_full { let (overseer, handler) = real_overseer(leaves, spawner)?; - service.spawn_essential_task_handle().spawn("overseer", Box::pin(async move { + task_manager.spawn_essential_handle().spawn_blocking("overseer", Box::pin(async move { use futures::{pin_mut, select, FutureExt}; let forward = overseer::forward_events(overseer_client, handler); @@ -377,24 +378,24 @@ macro_rules! new_full { })); if role.is_authority() { - let select_chain = service.select_chain().ok_or(ServiceError::SelectChainRequired)?; + let select_chain = select_chain.ok_or(ServiceError::SelectChainRequired)?; let can_author_with = consensus_common::CanAuthorWithNativeVersion::new(client.executor().clone()); // TODO: custom proposer (https://github.com/paritytech/polkadot/issues/1248) let proposer = sc_basic_authorship::ProposerFactory::new( client.clone(), - service.transaction_pool(), + transaction_pool, None, ); let babe_config = babe::BabeParams { - keystore: service.keystore(), + keystore: keystore.clone(), client: client.clone(), select_chain, block_import, env: proposer, - sync_oracle: service.network(), + sync_oracle: network.clone(), inherent_data_providers: inherent_data_providers.clone(), force_authoring, babe_link, @@ -402,13 +403,13 @@ macro_rules! new_full { }; let babe = babe::start_babe(babe_config)?; - service.spawn_essential_task_handle().spawn_blocking("babe", babe); + task_manager.spawn_essential_handle().spawn_blocking("babe", babe); } // if the node isn't actively participating in consensus then it doesn't // need a keystore, regardless of which protocol we use below. let keystore = if is_authority { - Some(service.keystore() as BareCryptoStorePtr) + Some(keystore.clone() as BareCryptoStorePtr) } else { None }; @@ -454,15 +455,15 @@ macro_rules! new_full { let grandpa_config = grandpa::GrandpaParams { config, link: link_half, - network: service.network(), + network: network.clone(), inherent_data_providers: inherent_data_providers.clone(), - telemetry_on_connect: Some(service.telemetry_on_connect_stream()), + telemetry_on_connect: Some(telemetry_on_connect_sinks.on_connect_stream()), voting_rule, - prometheus_registry: service.prometheus_registry(), + prometheus_registry: prometheus_registry, shared_voter_state, }; - service.spawn_essential_task_handle().spawn_blocking( + task_manager.spawn_essential_handle().spawn_blocking( "grandpa-voter", grandpa::run_grandpa_voter(grandpa_config)? ); @@ -470,11 +471,11 @@ macro_rules! new_full { grandpa::setup_disabled_grandpa( client.clone(), &inherent_data_providers, - service.network(), + network.clone(), )?; } - (service, client) + (task_manager, client) }} } @@ -566,6 +567,7 @@ macro_rules! new_light { Ok(polkadot_rpc::create_light(light_deps)) })? .build_light() + .map(|ServiceComponents { task_manager, .. }| task_manager) }} } @@ -595,7 +597,7 @@ pub fn polkadot_new_full( grandpa_pause: Option<(u32, u32)>, ) -> Result<( - impl AbstractService, + TaskManager, Arc<impl PolkadotClient< Block, TFullBackend<Block>, @@ -604,7 +606,7 @@ pub fn polkadot_new_full( FullNodeHandles, ), ServiceError> { - let (service, client) = new_full!( + let (components, client) = new_full!( config, collating_for, authority_discovery_enabled, @@ -613,7 +615,7 @@ pub fn polkadot_new_full( PolkadotExecutor, ); - Ok((service, client, FullNodeHandles)) + Ok((components, client, FullNodeHandles)) } /// Create a new Kusama service for a full node. @@ -626,7 +628,7 @@ pub fn kusama_new_full( _slot_duration: u64, grandpa_pause: Option<(u32, u32)>, ) -> Result<( - impl AbstractService, + TaskManager, Arc<impl PolkadotClient< Block, TFullBackend<Block>, @@ -636,7 +638,7 @@ pub fn kusama_new_full( FullNodeHandles, ), ServiceError> { - let (service, client) = new_full!( + let (components, client) = new_full!( config, collating_for, authority_discovery_enabled, @@ -645,7 +647,7 @@ pub fn kusama_new_full( KusamaExecutor, ); - Ok((service, client, FullNodeHandles)) + Ok((components, client, FullNodeHandles)) } /// Create a new Kusama service for a full node. @@ -659,7 +661,7 @@ pub fn westend_new_full( grandpa_pause: Option<(u32, u32)>, ) -> Result<( - impl AbstractService, + TaskManager, Arc<impl PolkadotClient< Block, TFullBackend<Block>, @@ -668,7 +670,7 @@ pub fn westend_new_full( FullNodeHandles, ), ServiceError> { - let (service, client) = new_full!( + let (components, client) = new_full!( config, collating_for, authority_discovery_enabled, @@ -677,45 +679,23 @@ pub fn westend_new_full( WestendExecutor, ); - Ok((service, client, FullNodeHandles)) + Ok((components, client, FullNodeHandles)) } /// Create a new Polkadot service for a light client. -pub fn polkadot_new_light(mut config: Configuration) -> Result< - impl AbstractService< - Block = Block, - RuntimeApi = polkadot_runtime::RuntimeApi, - Backend = TLightBackend<Block>, - SelectChain = LongestChain<TLightBackend<Block>, Block>, - CallExecutor = TLightCallExecutor<Block, PolkadotExecutor>, - >, ServiceError> +pub fn polkadot_new_light(mut config: Configuration) -> Result<TaskManager, ServiceError> { new_light!(config, polkadot_runtime::RuntimeApi, PolkadotExecutor) } /// Create a new Kusama service for a light client. -pub fn kusama_new_light(mut config: Configuration) -> Result< - impl AbstractService< - Block = Block, - RuntimeApi = kusama_runtime::RuntimeApi, - Backend = TLightBackend<Block>, - SelectChain = LongestChain<TLightBackend<Block>, Block>, - CallExecutor = TLightCallExecutor<Block, KusamaExecutor>, - >, ServiceError> +pub fn kusama_new_light(mut config: Configuration) -> Result<TaskManager, ServiceError> { new_light!(config, kusama_runtime::RuntimeApi, KusamaExecutor) } /// Create a new Westend service for a light client. -pub fn westend_new_light(mut config: Configuration, ) -> Result< - impl AbstractService< - Block = Block, - RuntimeApi = westend_runtime::RuntimeApi, - Backend = TLightBackend<Block>, - SelectChain = LongestChain<TLightBackend<Block>, Block>, - CallExecutor = TLightCallExecutor<Block, KusamaExecutor> - >, - ServiceError> +pub fn westend_new_light(mut config: Configuration, ) -> Result<TaskManager, ServiceError> { new_light!(config, westend_runtime::RuntimeApi, KusamaExecutor) } diff --git a/polkadot/service/src/lib.rs b/polkadot/service/src/lib.rs index 82e8460437a..5cf371ebec8 100644 --- a/polkadot/service/src/lib.rs +++ b/polkadot/service/src/lib.rs @@ -30,9 +30,9 @@ use grandpa::{self, FinalityProofProvider as GrandpaFinalityProofProvider}; use sc_executor::native_executor_instance; use log::info; pub use service::{ - AbstractService, Role, PruningMode, TransactionPoolOptions, Error, RuntimeGenesis, + Role, PruningMode, TransactionPoolOptions, Error, RuntimeGenesis, RpcHandlers, TFullClient, TLightClient, TFullBackend, TLightBackend, TFullCallExecutor, TLightCallExecutor, - Configuration, ChainSpec, ServiceBuilderCommand, + Configuration, ChainSpec, ServiceBuilderCommand, ServiceComponents, TaskManager, }; pub use service::config::{DatabaseConfig, PrometheusConfig}; pub use sc_executor::NativeExecutionDispatch; @@ -298,7 +298,10 @@ macro_rules! new_full { let (builder, mut import_setup, inherent_data_providers, mut rpc_setup) = new_full_start!($config, $runtime, $dispatch); - let service = builder + let ServiceComponents { + client, network, select_chain, keystore, transaction_pool, prometheus_registry, + task_manager, telemetry_on_connect_sinks, .. + } = builder .with_finality_proof_provider(|client, backend| { let provider = client as Arc<dyn grandpa::StorageAndProofProvider<_, _>>; Ok(Arc::new(GrandpaFinalityProofProvider::new(backend, provider)) as _) @@ -311,16 +314,10 @@ macro_rules! new_full { let shared_voter_state = rpc_setup.take() .expect("The SharedVoterState is present for Full Services or setup failed before. qed"); - let client = service.client(); let known_oracle = client.clone(); let mut handles = FullNodeHandles::default(); - let select_chain = if let Some(select_chain) = service.select_chain() { - select_chain - } else { - info!("The node cannot start as an authority because it can't select chain."); - return Ok((service, client, handles)); - }; + let select_chain = select_chain.ok_or(ServiceError::SelectChainRequired)?; let gossip_validator_select_chain = select_chain.clone(); let is_known = move |block_hash: &Hash| { @@ -343,13 +340,13 @@ macro_rules! new_full { }; let polkadot_network_service = network_protocol::start( - service.network(), + network.clone(), network_protocol::Config { collating_for: $collating_for, }, (is_known, client.clone()), client.clone(), - service.spawn_task_handle(), + task_manager.spawn_handle(), ).map_err(|e| format!("Could not spawn network worker: {:?}", e))?; let authority_handles = if is_collator || role.is_authority() { @@ -380,14 +377,14 @@ macro_rules! new_full { client: client.clone(), network: polkadot_network_service.clone(), collators: polkadot_network_service.clone(), - spawner: service.spawn_task_handle(), + spawner: task_manager.spawn_handle(), availability_store: availability_store.clone(), select_chain: select_chain.clone(), - keystore: service.keystore(), + keystore: keystore.clone(), max_block_data_size, }.build(); - service.spawn_essential_task_handle().spawn("validation-service", Box::pin(validation_service)); + task_manager.spawn_essential_handle().spawn("validation-service", Box::pin(validation_service)); handles.validation_service_handle = Some(validation_service_handle.clone()); @@ -403,30 +400,29 @@ macro_rules! new_full { let proposer = consensus::ProposerFactory::new( client.clone(), - service.transaction_pool(), + transaction_pool, validation_service_handle, slot_duration, - service.prometheus_registry().as_ref(), + prometheus_registry.as_ref(), ); - let select_chain = service.select_chain().ok_or(ServiceError::SelectChainRequired)?; let can_author_with = consensus_common::CanAuthorWithNativeVersion::new(client.executor().clone()); let block_import = availability_store.block_import( block_import, client.clone(), - service.spawn_task_handle(), - service.keystore(), + task_manager.spawn_handle(), + keystore.clone(), )?; let babe_config = babe::BabeParams { - keystore: service.keystore(), + keystore: keystore.clone(), client: client.clone(), select_chain, block_import, env: proposer, - sync_oracle: service.network(), + sync_oracle: network.clone(), inherent_data_providers: inherent_data_providers.clone(), force_authoring, babe_link, @@ -434,7 +430,7 @@ macro_rules! new_full { }; let babe = babe::start_babe(babe_config)?; - service.spawn_essential_task_handle().spawn_blocking("babe", babe); + task_manager.spawn_essential_handle().spawn_blocking("babe", babe); } if matches!(role, Role::Authority{..} | Role::Sentry{..}) { @@ -443,7 +439,7 @@ macro_rules! new_full { Role::Authority { ref sentry_nodes } => ( sentry_nodes.clone(), authority_discovery::Role::Authority ( - service.keystore(), + keystore.clone(), ), ), Role::Sentry {..} => ( @@ -453,29 +449,28 @@ macro_rules! new_full { _ => unreachable!("Due to outer matches! constraint; qed."), }; - let network = service.network(); let network_event_stream = network.event_stream("authority-discovery"); let dht_event_stream = network_event_stream.filter_map(|e| async move { match e { Event::Dht(e) => Some(e), _ => None, }}).boxed(); let authority_discovery = authority_discovery::AuthorityDiscovery::new( - service.client(), - network, + client.clone(), + network.clone(), sentries, dht_event_stream, authority_discovery_role, - service.prometheus_registry(), + prometheus_registry.clone(), ); - service.spawn_task_handle().spawn("authority-discovery", authority_discovery); + task_manager.spawn_handle().spawn("authority-discovery", authority_discovery); } } // if the node isn't actively participating in consensus then it doesn't // need a keystore, regardless of which protocol we use below. let keystore = if is_authority { - Some(service.keystore() as BareCryptoStorePtr) + Some(keystore as BareCryptoStorePtr) } else { None }; @@ -521,15 +516,15 @@ macro_rules! new_full { let grandpa_config = grandpa::GrandpaParams { config, link: link_half, - network: service.network(), + network: network.clone(), inherent_data_providers: inherent_data_providers.clone(), - telemetry_on_connect: Some(service.telemetry_on_connect_stream()), + telemetry_on_connect: Some(telemetry_on_connect_sinks.on_connect_stream()), voting_rule, - prometheus_registry: service.prometheus_registry(), + prometheus_registry: prometheus_registry.clone(), shared_voter_state, }; - service.spawn_essential_task_handle().spawn_blocking( + task_manager.spawn_essential_handle().spawn_blocking( "grandpa-voter", grandpa::run_grandpa_voter(grandpa_config)? ); @@ -537,12 +532,12 @@ macro_rules! new_full { grandpa::setup_disabled_grandpa( client.clone(), &inherent_data_providers, - service.network(), + network.clone(), )?; } handles.polkadot_network = Some(polkadot_network_service); - (service, client, handles) + (task_manager, client, handles) }} } @@ -632,6 +627,9 @@ macro_rules! new_light { Ok(polkadot_rpc::create_light(light_deps)) })? .build_light() + .map(|ServiceComponents { task_manager, rpc_handlers, .. }| { + (task_manager, rpc_handlers) + }) }} } @@ -661,7 +659,7 @@ pub fn polkadot_new_full( grandpa_pause: Option<(u32, u32)>, ) -> Result<( - impl AbstractService, + TaskManager, Arc<impl PolkadotClient< Block, TFullBackend<Block>, @@ -694,7 +692,7 @@ pub fn kusama_new_full( slot_duration: u64, grandpa_pause: Option<(u32, u32)>, ) -> Result<( - impl AbstractService, + TaskManager, Arc<impl PolkadotClient< Block, TFullBackend<Block>, @@ -729,7 +727,7 @@ pub fn westend_new_full( grandpa_pause: Option<(u32, u32)>, ) -> Result<( - impl AbstractService, + TaskManager, Arc<impl PolkadotClient< Block, TFullBackend<Block>, @@ -765,40 +763,24 @@ pub struct FullNodeHandles { /// Create a new Polkadot service for a light client. pub fn polkadot_new_light(mut config: Configuration) -> Result< - impl AbstractService< - Block = Block, - RuntimeApi = polkadot_runtime::RuntimeApi, - Backend = TLightBackend<Block>, - SelectChain = LongestChain<TLightBackend<Block>, Block>, - CallExecutor = TLightCallExecutor<Block, PolkadotExecutor>, - >, ServiceError> + (TaskManager, Arc<RpcHandlers>), ServiceError +> { new_light!(config, polkadot_runtime::RuntimeApi, PolkadotExecutor) } /// Create a new Kusama service for a light client. pub fn kusama_new_light(mut config: Configuration) -> Result< - impl AbstractService< - Block = Block, - RuntimeApi = kusama_runtime::RuntimeApi, - Backend = TLightBackend<Block>, - SelectChain = LongestChain<TLightBackend<Block>, Block>, - CallExecutor = TLightCallExecutor<Block, KusamaExecutor>, - >, ServiceError> + (TaskManager, Arc<RpcHandlers>), ServiceError +> { new_light!(config, kusama_runtime::RuntimeApi, KusamaExecutor) } /// Create a new Westend service for a light client. pub fn westend_new_light(mut config: Configuration, ) -> Result< - impl AbstractService< - Block = Block, - RuntimeApi = westend_runtime::RuntimeApi, - Backend = TLightBackend<Block>, - SelectChain = LongestChain<TLightBackend<Block>, Block>, - CallExecutor = TLightCallExecutor<Block, KusamaExecutor> - >, - ServiceError> + (TaskManager, Arc<RpcHandlers>), ServiceError +> { new_light!(config, westend_runtime::RuntimeApi, KusamaExecutor) } -- GitLab