From 67275abe30c674ad4d60ec0abdca316d929c8b94 Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Mon, 18 Mar 2019 11:29:39 +0100 Subject: [PATCH] Update to Substrate master (#176) * Update to master This introduces a new type `CollatorId`, currently just `SessionKey` but which would forseeably change to its own thing. It seems to work like this (despite there being a lot of the new-incompatible `AccountId` replaced). No idea if it does anything sensible, though. * Cleanups * Fix tests * Remove commented code * Specify commit hash * Remove commented code * Correct version * Update runtime/Cargo.toml Co-Authored-By: gavofyork * PairT instead of _Pair * Update lock file * Remove rev causing upset --- polkadot/Cargo.lock | 285 +++--- polkadot/collator/src/lib.rs | 13 +- polkadot/network/src/collator_pool.rs | 71 +- polkadot/network/src/gossip.rs | 2 +- polkadot/network/src/lib.rs | 38 +- polkadot/network/src/local_collations.rs | 26 +- polkadot/network/src/router.rs | 17 +- polkadot/network/src/tests/mod.rs | 54 +- polkadot/network/src/tests/validation.rs | 44 +- polkadot/network/src/validation.rs | 72 +- polkadot/primitives/src/lib.rs | 23 +- polkadot/primitives/src/parachain.rs | 47 +- polkadot/runtime/src/lib.rs | 24 +- polkadot/runtime/src/parachains.rs | 44 +- polkadot/runtime/wasm/Cargo.lock | 942 +++++++++++------- polkadot/service/src/chain_spec.rs | 93 +- polkadot/service/src/lib.rs | 11 +- polkadot/statement-table/src/lib.rs | 16 +- .../adder/collator/src/main.rs | 4 +- polkadot/validation/src/collation.rs | 4 +- polkadot/validation/src/error.rs | 3 +- polkadot/validation/src/lib.rs | 21 +- polkadot/validation/src/shared_table/mod.rs | 66 +- 23 files changed, 1128 insertions(+), 792 deletions(-) diff --git a/polkadot/Cargo.lock b/polkadot/Cargo.lock index 78752de9a3..ea917de7a4 100644 --- a/polkadot/Cargo.lock +++ b/polkadot/Cargo.lock @@ -12,7 +12,7 @@ dependencies = [ name = "adder" version = "0.1.0" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-parachain 0.1.0", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -235,7 +235,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "bitmask" version = "0.5.0" -source = "git+https://github.com/paritytech/bitmask#c2d8d196e30b018d1385be8357fdca61b978facf" +source = "git+https://github.com/paritytech/bitmask#a84e147be602631617badd18b6b9af83391db4a9" [[package]] name = "bitvec" @@ -718,7 +718,7 @@ dependencies = [ "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -757,9 +757,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "fork-tree" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -875,6 +875,15 @@ dependencies = [ "crunchy 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "hashbrown" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "heapsize" version = "0.4.2" @@ -1024,7 +1033,7 @@ name = "impl-codec" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1867,6 +1876,9 @@ dependencies = [ name = "once_cell" version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "opaque-debug" @@ -1930,7 +1942,7 @@ source = "git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7 [[package]] name = "parity-codec" -version = "3.1.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2094,6 +2106,16 @@ dependencies = [ "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "pbkdf2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rayon 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "peeking_take_while" version = "0.1.2" @@ -2128,7 +2150,7 @@ dependencies = [ "kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=616b40150ded71f57f650067fcbc5c99d7c343e6)", "kvdb-rocksdb 0.1.4 (git+https://github.com/paritytech/parity-common?rev=616b40150ded71f57f650067fcbc5c99d7c343e6)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-primitives 0.1.0", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -2152,7 +2174,7 @@ version = "0.1.0" dependencies = [ "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-cli 0.3.0", "polkadot-primitives 0.1.0", "polkadot-runtime 0.1.0", @@ -2165,7 +2187,7 @@ dependencies = [ name = "polkadot-erasure-coding" version = "0.1.0" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-primitives 0.1.0", "reed-solomon-erasure 4.0.0 (git+https://github.com/paritytech/reed-solomon-erasure)", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -2188,7 +2210,7 @@ dependencies = [ "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-availability-store 0.1.0", @@ -2208,7 +2230,7 @@ name = "polkadot-parachain" version = "0.1.0" dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2220,7 +2242,7 @@ dependencies = [ name = "polkadot-primitives" version = "0.1.0" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-parachain 0.1.0", "pretty_assertions 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2242,7 +2264,7 @@ dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-primitives 0.1.0", "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2315,7 +2337,7 @@ dependencies = [ name = "polkadot-statement-table" version = "0.1.0" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-primitives 0.1.0", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -2329,7 +2351,7 @@ dependencies = [ "exit-future 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-availability-store 0.1.0", "polkadot-parachain 0.1.0", @@ -2760,7 +2782,7 @@ dependencies = [ [[package]] name = "schnorrkel" version = "0.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" +source = "git+https://github.com/w3f/schnorrkel#d3289df76b8ae6dfb68e733204c5c009df5343a9" dependencies = [ "clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "curve25519-dalek 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2769,6 +2791,7 @@ dependencies = [ "merlin 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "sha3 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "subtle 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2981,7 +3004,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "sr-api-macros" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro-crate 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2993,12 +3016,12 @@ dependencies = [ [[package]] name = "sr-io" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "environmental 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "hash-db 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3010,12 +3033,12 @@ dependencies = [ [[package]] name = "sr-primitives" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "integer-sqrt 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3026,7 +3049,7 @@ dependencies = [ [[package]] name = "sr-std" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3034,10 +3057,10 @@ dependencies = [ [[package]] name = "sr-version" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "impl-serde 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3047,10 +3070,10 @@ dependencies = [ [[package]] name = "srml-aura" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3066,10 +3089,10 @@ dependencies = [ [[package]] name = "srml-balances" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3082,10 +3105,10 @@ dependencies = [ [[package]] name = "srml-consensus" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3099,9 +3122,9 @@ dependencies = [ [[package]] name = "srml-council" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3117,10 +3140,10 @@ dependencies = [ [[package]] name = "srml-democracy" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3134,9 +3157,9 @@ dependencies = [ [[package]] name = "srml-executive" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3148,10 +3171,10 @@ dependencies = [ [[package]] name = "srml-fees" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3165,10 +3188,10 @@ dependencies = [ [[package]] name = "srml-finality-tracker" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3181,13 +3204,14 @@ dependencies = [ [[package]] name = "srml-grandpa" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", + "srml-consensus 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-finality-tracker 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-session 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-support 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3199,10 +3223,10 @@ dependencies = [ [[package]] name = "srml-indices" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3218,9 +3242,9 @@ dependencies = [ [[package]] name = "srml-metadata" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3230,10 +3254,10 @@ dependencies = [ [[package]] name = "srml-session" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3248,10 +3272,10 @@ dependencies = [ [[package]] name = "srml-staking" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3267,10 +3291,10 @@ dependencies = [ [[package]] name = "srml-sudo" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3283,15 +3307,16 @@ dependencies = [ [[package]] name = "srml-support" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "bitmask 0.5.0 (git+https://github.com/paritytech/bitmask)", "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "once_cell 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "paste 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "spin 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3303,7 +3328,7 @@ dependencies = [ [[package]] name = "srml-support-procedural" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3315,7 +3340,7 @@ dependencies = [ [[package]] name = "srml-support-procedural-tools" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "proc-macro-crate 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3327,7 +3352,7 @@ dependencies = [ [[package]] name = "srml-support-procedural-tools-derive" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3337,10 +3362,10 @@ dependencies = [ [[package]] name = "srml-system" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3354,10 +3379,10 @@ dependencies = [ [[package]] name = "srml-timestamp" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3369,10 +3394,10 @@ dependencies = [ [[package]] name = "srml-treasury" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3385,9 +3410,9 @@ dependencies = [ [[package]] name = "srml-upgrade-key" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3493,10 +3518,21 @@ dependencies = [ "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "substrate-bip39" +version = "0.2.0" +source = "git+https://github.com/paritytech/substrate-bip39#a28806512c977992af8d6740d45352f5a1c832a0" +dependencies = [ + "hmac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "schnorrkel 0.0.0 (git+https://github.com/w3f/schnorrkel)", + "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "substrate-cli" version = "0.3.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "app_dirs 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3511,6 +3547,7 @@ dependencies = [ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "names 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "structopt 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3528,7 +3565,7 @@ dependencies = [ [[package]] name = "substrate-client" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3538,7 +3575,7 @@ dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "sr-api-macros 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3557,14 +3594,14 @@ dependencies = [ [[package]] name = "substrate-client-db" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "hash-db 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)", "kvdb-rocksdb 0.1.4 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "lru-cache 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3578,12 +3615,12 @@ dependencies = [ [[package]] name = "substrate-consensus-aura" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3604,7 +3641,7 @@ dependencies = [ [[package]] name = "substrate-consensus-aura-primitives" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)", ] @@ -3612,12 +3649,12 @@ dependencies = [ [[package]] name = "substrate-consensus-aura-slots" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3631,13 +3668,13 @@ dependencies = [ [[package]] name = "substrate-consensus-common" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-version 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3649,14 +3686,14 @@ dependencies = [ [[package]] name = "substrate-executor" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3674,13 +3711,13 @@ dependencies = [ [[package]] name = "substrate-finality-grandpa" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "finality-grandpa 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "fork-tree 0.1.0 (git+https://github.com/paritytech/substrate)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3699,9 +3736,9 @@ dependencies = [ [[package]] name = "substrate-finality-grandpa-primitives" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3711,9 +3748,9 @@ dependencies = [ [[package]] name = "substrate-inherents" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3722,7 +3759,7 @@ dependencies = [ [[package]] name = "substrate-keyring" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3732,7 +3769,7 @@ dependencies = [ [[package]] name = "substrate-keystore" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3748,7 +3785,7 @@ dependencies = [ [[package]] name = "substrate-network" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3759,7 +3796,7 @@ dependencies = [ "linked_hash_set 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "lru-cache 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3774,7 +3811,7 @@ dependencies = [ [[package]] name = "substrate-network-libp2p" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3800,7 +3837,7 @@ dependencies = [ [[package]] name = "substrate-panic-handler" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "backtrace 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3809,25 +3846,29 @@ dependencies = [ [[package]] name = "substrate-primitives" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "hash-db 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "hash256-std-hasher 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "impl-serde 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "primitive-types 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "ring 0.14.5 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "schnorrkel 0.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "schnorrkel 0.0.0 (git+https://github.com/w3f/schnorrkel)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", + "substrate-bip39 0.2.0 (git+https://github.com/paritytech/substrate-bip39)", + "tiny-bip39 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "twox-hash 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3836,14 +3877,14 @@ dependencies = [ [[package]] name = "substrate-rpc" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core 10.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-derive 10.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-pubsub 10.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3862,7 +3903,7 @@ dependencies = [ [[package]] name = "substrate-rpc-servers" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "jsonrpc-http-server 10.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-pubsub 10.0.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3876,7 +3917,7 @@ dependencies = [ [[package]] name = "substrate-serializer" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3885,14 +3926,14 @@ dependencies = [ [[package]] name = "substrate-service" version = "0.3.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "exit-future 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3917,10 +3958,10 @@ dependencies = [ [[package]] name = "substrate-state-db" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", ] @@ -3928,13 +3969,13 @@ dependencies = [ [[package]] name = "substrate-state-machine" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "hash-db 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-panic-handler 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3946,7 +3987,7 @@ dependencies = [ [[package]] name = "substrate-telemetry" version = "0.3.1" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3964,7 +4005,7 @@ dependencies = [ [[package]] name = "substrate-transaction-graph" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3978,12 +4019,12 @@ dependencies = [ [[package]] name = "substrate-transaction-pool" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3994,11 +4035,11 @@ dependencies = [ [[package]] name = "substrate-trie" version = "0.4.0" -source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "hash-db 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "memory-db 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "trie-db 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "trie-root 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -4112,6 +4153,20 @@ dependencies = [ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "tiny-bip39" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "hmac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "once_cell 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "tiny-keccak" version = "1.4.2" @@ -4759,6 +4814,7 @@ dependencies = [ "checksum h2 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "ddb2b25a33e231484694267af28fec74ac63b5ccf51ee2065a5e313b834d836e" "checksum hash-db 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1b03501f6e1a2a97f1618879aba3156f14ca2847faa530c4e28859638bd11483" "checksum hash256-std-hasher 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f5c13dbac3cc50684760f54af18545c9e80fb75e93a3e586d71ebdc13138f6a4" +"checksum hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3bae29b6653b3412c2e71e9d486db9f9df5d701941d86683005efb9f2d28e3da" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" "checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" "checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" @@ -4858,7 +4914,7 @@ dependencies = [ "checksum owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13" "checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?rev=616b40150ded71f57f650067fcbc5c99d7c343e6)" = "" "checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)" = "" -"checksum parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "67a4d27831e31e27f1454d6e3d3bb34bcac6bf7ad7032eed0ad0070dc8cf55c1" +"checksum parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "21c9c3a1623c71ed83964ff28cac6126e178920f7646d32c337eacb9152b2907" "checksum parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "864e9f66b58c0b38f0d6b511b6576afa2b678ae801b64220553bced57ac12df9" "checksum parity-crypto 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "17b9db194dfbcfe3b398d63d765437a5c7232d59906e203055f0e993f6458ff1" "checksum parity-multiaddr 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "61ae6944d4435d41f4d0f12108c5cbb9207cbb14bc8f2b4984c6e930dc9c8e41" @@ -4873,6 +4929,7 @@ dependencies = [ "checksum parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9" "checksum paste 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f50392d1265092fbee9273414cc40eb6d47d307bd66222c477bb8450c8504f9d" "checksum paste-impl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a3cd512fe3a55e8933b2dcad913e365639db86d512e4004c3084b86864d9467a" +"checksum pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9" "checksum peeking_take_while 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" "checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" "checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c" @@ -4924,7 +4981,7 @@ dependencies = [ "checksum safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7f7bf422d23a88c16d5090d455f182bc99c60af4df6a345c63428acf5129e347" "checksum safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dca453248a96cb0749e36ccdfe2b0b4e54a61bfef89fb97ec621eb8e0a93dd9" "checksum schannel 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "0e1a231dc10abf6749cfa5d7767f25888d484201accbd919b66ab5413c502d56" -"checksum schnorrkel 0.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fe554f318830b48e5da8ab1ccb1ffd02b79228364dac7766b7cd1ec461ca5116" +"checksum schnorrkel 0.0.0 (git+https://github.com/w3f/schnorrkel)" = "" "checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" "checksum sdset 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c6959a7341a17cbff280a619c3a3c0001d2d6b54661e6d04c3741c3af07cc2c5" "checksum secp256k1 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfaccd3a23619349e0878d9a241f34b1982343cdf67367058cd7d078d326b63e" @@ -4988,6 +5045,7 @@ dependencies = [ "checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550" "checksum structopt 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "670ad348dc73012fcf78c71f06f9d942232cdd4c859d4b6975e27836c3efc0c3" "checksum structopt-derive 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "ef98172b1a00b0bec738508d3726540edcbd186d50dfd326f2b1febbb3559f04" +"checksum substrate-bip39 0.2.0 (git+https://github.com/paritytech/substrate-bip39)" = "" "checksum substrate-cli 0.3.0 (git+https://github.com/paritytech/substrate)" = "" "checksum substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum substrate-client-db 0.1.0 (git+https://github.com/paritytech/substrate)" = "" @@ -5028,6 +5086,7 @@ dependencies = [ "checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6" "checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" "checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f" +"checksum tiny-bip39 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a1415431cb2398d84da64173f8473c792808314427d4a6f2f3ea85ae67239fe3" "checksum tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e9175261fbdb60781fcd388a4d6cc7e14764a2b629a7ad94abb439aed223a44f" "checksum tk-listen 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5462b0f968c0457efe38fcd2df7e487096b992419e4f5337b06775a614bbda4b" "checksum tokio 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "e0500b88064f08bebddd0c0bed39e19f5c567a5f30975bee52b0c0d3e2eeb38c" diff --git a/polkadot/collator/src/lib.rs b/polkadot/collator/src/lib.rs index d9ed6d7c51..5b0db8e865 100644 --- a/polkadot/collator/src/lib.rs +++ b/polkadot/collator/src/lib.rs @@ -64,8 +64,8 @@ use std::time::Duration; use futures::{future, stream, Stream, Future, IntoFuture}; use client::BlockchainEvents; -use primitives::ed25519; -use polkadot_primitives::{AccountId, BlockId, SessionKey}; +use primitives::{ed25519, Pair}; +use polkadot_primitives::{BlockId, SessionKey}; use polkadot_primitives::parachain::{self, BlockData, DutyRoster, HeadData, ConsolidatedIngress, Message, Id as ParaId}; use polkadot_cli::{PolkadotService, CustomConfiguration, CoreApi, ParachainHost}; use polkadot_cli::{Worker, IntoExit, ProvideRuntimeApi}; @@ -127,11 +127,6 @@ pub trait RelayChainContext { fn unrouted_egress(&self, id: ParaId) -> Self::FutureEgress; } -fn key_to_account_id(key: &ed25519::Pair) -> AccountId { - let pubkey_bytes: [u8; 32] = key.public().into(); - pubkey_bytes.into() -} - /// Collate the necessary ingress queue using the given context. pub fn collate_ingress<'a, R>(relay_context: R) -> impl Future + 'a @@ -195,7 +190,7 @@ pub fn collate<'a, R, P>( let receipt = parachain::CandidateReceipt { parachain_index: local_id, - collator: key_to_account_id(&*key), + collator: key.public(), signature, head_data, balance_uploads: Vec::new(), @@ -253,7 +248,7 @@ impl Worker for CollationNode where fn configuration(&self) -> CustomConfiguration { let mut config = CustomConfiguration::default(); config.collating_for = Some(( - key_to_account_id(&*self.key), + self.key.public(), self.para_id.clone(), )); config diff --git a/polkadot/network/src/collator_pool.rs b/polkadot/network/src/collator_pool.rs index c454185610..dad873f8f7 100644 --- a/polkadot/network/src/collator_pool.rs +++ b/polkadot/network/src/collator_pool.rs @@ -16,9 +16,8 @@ //! Bridge between the network and consensus service for getting collations to it. -use polkadot_primitives::{AccountId, Hash}; +use polkadot_primitives::{parachain::CollatorId, Hash}; use polkadot_primitives::parachain::{Id as ParaId, Collation}; - use futures::sync::oneshot; use std::collections::hash_map::{HashMap, Entry}; @@ -40,9 +39,9 @@ pub enum Role { #[allow(dead_code)] pub enum Action { /// Disconnect the given collator. - Disconnect(AccountId), + Disconnect(CollatorId), /// Give the collator a new role. - NewRole(AccountId, Role), + NewRole(CollatorId, Role), } struct CollationSlot { @@ -111,13 +110,13 @@ impl SlotEntries { } struct ParachainCollators { - primary: AccountId, - backup: Vec, + primary: CollatorId, + backup: Vec, } /// Manages connected collators and role assignments from the perspective of a validator. pub struct CollatorPool { - collators: HashMap, + collators: HashMap, parachain_collators: HashMap, collations: HashMap<(Hash, ParaId), CollationSlot>, } @@ -133,19 +132,19 @@ impl CollatorPool { } /// Call when a new collator is authenticated. Returns the role. - pub fn on_new_collator(&mut self, account_id: AccountId, para_id: ParaId) -> Role { - self.collators.insert(account_id.clone(), para_id); + pub fn on_new_collator(&mut self, collator_id: CollatorId, para_id: ParaId) -> Role { + self.collators.insert(collator_id.clone(), para_id); match self.parachain_collators.entry(para_id) { Entry::Vacant(vacant) => { vacant.insert(ParachainCollators { - primary: account_id, + primary: collator_id, backup: Vec::new(), }); Role::Primary }, Entry::Occupied(mut occupied) => { - occupied.get_mut().backup.push(account_id); + occupied.get_mut().backup.push(collator_id); Role::Backup } @@ -154,21 +153,21 @@ impl CollatorPool { /// Called when a collator disconnects. If it was the primary, returns a new primary for that /// parachain. - pub fn on_disconnect(&mut self, account_id: AccountId) -> Option { - self.collators.remove(&account_id).and_then(|para_id| match self.parachain_collators.entry(para_id) { + pub fn on_disconnect(&mut self, collator_id: CollatorId) -> Option { + self.collators.remove(&collator_id).and_then(|para_id| match self.parachain_collators.entry(para_id) { Entry::Vacant(_) => None, Entry::Occupied(mut occ) => { - if occ.get().primary == account_id { + if occ.get().primary == collator_id { if occ.get().backup.is_empty() { occ.remove(); None } else { let mut collators = occ.get_mut(); collators.primary = collators.backup.pop().expect("backup non-empty; qed"); - Some(collators.primary) + Some(collators.primary.clone()) } } else { - let pos = occ.get().backup.iter().position(|a| a == &account_id) + let pos = occ.get().backup.iter().position(|a| a == &collator_id) .expect("registered collator always present in backup if not primary; qed"); occ.get_mut().backup.remove(pos); @@ -181,8 +180,8 @@ impl CollatorPool { /// Called when a collation is received. /// The collator should be registered for the parachain of the collation as a precondition of this function. /// The collation should have been checked for integrity of signature before passing to this function. - pub fn on_collation(&mut self, account_id: AccountId, relay_parent: Hash, collation: Collation) { - if let Some(para_id) = self.collators.get(&account_id) { + pub fn on_collation(&mut self, collator_id: CollatorId, relay_parent: Hash, collation: Collation) { + if let Some(para_id) = self.collators.get(&collator_id) { debug_assert_eq!(para_id, &collation.receipt.parachain_index); // TODO: punish if not primary? @@ -219,20 +218,20 @@ impl CollatorPool { #[cfg(test)] mod tests { use super::*; + use substrate_primitives::crypto::UncheckedInto; use polkadot_primitives::parachain::{CandidateReceipt, BlockData, HeadData}; - use substrate_primitives::H512; use futures::Future; #[test] fn disconnect_primary_gives_new_primary() { let mut pool = CollatorPool::new(); let para_id: ParaId = 5.into(); - let bad_primary = [0; 32].into(); - let good_backup = [1; 32].into(); + let bad_primary: CollatorId = [0; 32].unchecked_into(); + let good_backup: CollatorId = [1; 32].unchecked_into(); - assert_eq!(pool.on_new_collator(bad_primary, para_id.clone()), Role::Primary); - assert_eq!(pool.on_new_collator(good_backup, para_id.clone()), Role::Backup); - assert_eq!(pool.on_disconnect(bad_primary), Some(good_backup)); + assert_eq!(pool.on_new_collator(bad_primary.clone(), para_id.clone()), Role::Primary); + assert_eq!(pool.on_new_collator(good_backup.clone(), para_id.clone()), Role::Backup); + assert_eq!(pool.on_disconnect(bad_primary), Some(good_backup.clone())); assert_eq!(pool.on_disconnect(good_backup), None); } @@ -240,11 +239,11 @@ mod tests { fn disconnect_backup_removes_from_pool() { let mut pool = CollatorPool::new(); let para_id: ParaId = 5.into(); - let primary = [0; 32].into(); - let backup = [1; 32].into(); + let primary = [0; 32].unchecked_into(); + let backup: CollatorId = [1; 32].unchecked_into(); assert_eq!(pool.on_new_collator(primary, para_id.clone()), Role::Primary); - assert_eq!(pool.on_new_collator(backup, para_id.clone()), Role::Backup); + assert_eq!(pool.on_new_collator(backup.clone(), para_id.clone()), Role::Backup); assert_eq!(pool.on_disconnect(backup), None); assert!(pool.parachain_collators.get(¶_id).unwrap().backup.is_empty()); } @@ -253,19 +252,19 @@ mod tests { fn await_before_collation() { let mut pool = CollatorPool::new(); let para_id: ParaId = 5.into(); - let primary = [0; 32].into(); + let primary: CollatorId = [0; 32].unchecked_into(); let relay_parent = [1; 32].into(); - assert_eq!(pool.on_new_collator(primary, para_id.clone()), Role::Primary); + assert_eq!(pool.on_new_collator(primary.clone(), para_id.clone()), Role::Primary); let (tx1, rx1) = oneshot::channel(); let (tx2, rx2) = oneshot::channel(); pool.await_collation(relay_parent, para_id, tx1); pool.await_collation(relay_parent, para_id, tx2); - pool.on_collation(primary, relay_parent, Collation { + pool.on_collation(primary.clone(), relay_parent, Collation { receipt: CandidateReceipt { parachain_index: para_id, collator: primary.into(), - signature: H512::from([2; 64]).into(), + signature: Default::default(), head_data: HeadData(vec![1, 2, 3]), balance_uploads: vec![], egress_queue_roots: vec![], @@ -283,16 +282,16 @@ mod tests { fn collate_before_await() { let mut pool = CollatorPool::new(); let para_id: ParaId = 5.into(); - let primary = [0; 32].into(); + let primary: CollatorId = [0; 32].unchecked_into(); let relay_parent = [1; 32].into(); - assert_eq!(pool.on_new_collator(primary, para_id.clone()), Role::Primary); + assert_eq!(pool.on_new_collator(primary.clone(), para_id.clone()), Role::Primary); - pool.on_collation(primary, relay_parent, Collation { + pool.on_collation(primary.clone(), relay_parent, Collation { receipt: CandidateReceipt { parachain_index: para_id, - collator: primary.into(), - signature: H512::from([2; 64]).into(), + collator: primary, + signature: Default::default(), head_data: HeadData(vec![1, 2, 3]), balance_uploads: vec![], egress_queue_roots: vec![], diff --git a/polkadot/network/src/gossip.rs b/polkadot/network/src/gossip.rs index aa994d920e..2c3cf82512 100644 --- a/polkadot/network/src/gossip.rs +++ b/polkadot/network/src/gossip.rs @@ -128,7 +128,7 @@ impl MessageValidationData { ::polkadot_validation::check_statement( &statement.statement, &statement.signature, - statement.sender, + statement.sender.clone(), relay_parent, ) } diff --git a/polkadot/network/src/lib.rs b/polkadot/network/src/lib.rs index 19dc7ce086..86b1f6ad2b 100644 --- a/polkadot/network/src/lib.rs +++ b/polkadot/network/src/lib.rs @@ -54,13 +54,13 @@ pub mod gossip; use codec::{Decode, Encode}; use futures::sync::oneshot; -use polkadot_primitives::{AccountId, Block, SessionKey, Hash, Header}; +use polkadot_primitives::{Block, SessionKey, Hash, Header, parachain::CollatorId}; use polkadot_primitives::parachain::{Id as ParaId, BlockData, CandidateReceipt, Collation}; use substrate_network::{NodeIndex, RequestId, Context, Severity}; use substrate_network::{message, generic_message}; use substrate_network::specialization::NetworkSpecialization as Specialization; use substrate_network::StatusMessage as GenericFullStatus; -use self::validation::{LiveValidationSessions, RecentSessionKeys, InsertedRecentKey}; +use self::validation::{LiveValidationSessions, RecentValidatorIds, InsertedRecentKey}; use self::collator_pool::{CollatorPool, Role, Action}; use self::local_collations::LocalCollations; @@ -81,7 +81,7 @@ pub type NetworkService = ::substrate_network::Service; /// Status of a Polkadot node. #[derive(Debug, PartialEq, Eq, Clone, Encode, Decode)] pub struct Status { - collating_for: Option<(AccountId, ParaId)>, + collating_for: Option<(CollatorId, ParaId)>, } struct BlockDataRequest { @@ -128,8 +128,8 @@ impl CollatorState { } struct PeerInfo { - collating_for: Option<(AccountId, ParaId)>, - validator_keys: RecentSessionKeys, + collating_for: Option<(CollatorId, ParaId)>, + validator_keys: RecentValidatorIds, claimed_validator: bool, collator_state: CollatorState, } @@ -165,7 +165,7 @@ fn send_polkadot_message(ctx: &mut Context, to: NodeIndex, message: Messa /// Polkadot protocol attachment for substrate. pub struct PolkadotProtocol { peers: HashMap, - collating_for: Option<(AccountId, ParaId)>, + collating_for: Option<(CollatorId, ParaId)>, collators: CollatorPool, validators: HashMap, local_collations: LocalCollations, @@ -178,7 +178,7 @@ pub struct PolkadotProtocol { impl PolkadotProtocol { /// Instantiate a polkadot protocol handler. - pub fn new(collating_for: Option<(AccountId, ParaId)>) -> Self { + pub fn new(collating_for: Option<(CollatorId, ParaId)>) -> Self { PolkadotProtocol { peers: HashMap::new(), collators: CollatorPool::new(), @@ -220,7 +220,7 @@ impl PolkadotProtocol { for (id, peer_data) in self.peers.iter_mut() .filter(|&(_, ref info)| info.should_send_key()) { - peer_data.collator_state.send_key(new_local, |msg| send_polkadot_message( + peer_data.collator_state.send_key(new_local.clone(), |msg| send_polkadot_message( ctx, *id, msg @@ -251,8 +251,8 @@ impl PolkadotProtocol { } Err(Some(known_keys)) => { let next_peer = known_keys.iter() - .filter_map(|x| validator_keys.get(x).map(|id| (*x, *id))) - .find(|&(ref key, _)| pending.attempted_peers.insert(*key)) + .filter_map(|x| validator_keys.get(x).map(|id| (x.clone(), *id))) + .find(|&(ref key, _)| pending.attempted_peers.insert(key.clone())) .map(|(_, id)| id); // dispatch to peer @@ -323,14 +323,14 @@ impl PolkadotProtocol { } let local_collations = &mut self.local_collations; - let new_collations = match info.validator_keys.insert(key) { + let new_collations = match info.validator_keys.insert(key.clone()) { InsertedRecentKey::AlreadyKnown => Vec::new(), InsertedRecentKey::New(Some(old_key)) => { self.validators.remove(&old_key); local_collations.fresh_key(&old_key, &key) } InsertedRecentKey::New(None) => info.collator_state.role() - .map(|r| local_collations.note_validator_role(key, r)) + .map(|r| local_collations.note_validator_role(key.clone(), r)) .unwrap_or_else(Vec::new), }; @@ -418,7 +418,7 @@ impl Specialization for PolkadotProtocol { let validator = status.roles.contains(substrate_network::config::Roles::AUTHORITY); let mut peer_info = PeerInfo { - collating_for: local_status.collating_for, + collating_for: local_status.collating_for.clone(), validator_keys: Default::default(), claimed_validator: validator, collator_state: CollatorState::Fresh, @@ -442,7 +442,7 @@ impl Specialization for PolkadotProtocol { // send session keys. if peer_info.should_send_key() { for local_session_key in self.live_validation_sessions.recent_keys() { - peer_info.collator_state.send_key(*local_session_key, |msg| send_polkadot_message( + peer_info.collator_state.send_key(local_session_key.clone(), |msg| send_polkadot_message( ctx, who, msg, @@ -544,7 +544,7 @@ impl PolkadotProtocol { // we received a collation from a peer fn on_collation(&mut self, ctx: &mut Context, from: NodeIndex, relay_parent: Hash, collation: Collation) { let collation_para = collation.receipt.parachain_index; - let collated_acc = collation.receipt.collator; + let collated_acc = collation.receipt.collator.clone(); match self.peers.get(&from) { None => ctx.report_peer(from, Severity::Useless("Unknown Polkadot specific reason".to_string())), @@ -571,11 +571,11 @@ impl PolkadotProtocol { } // get connected peer with given account ID for collation. - fn collator_peer(&mut self, account_id: AccountId) -> Option<(NodeIndex, &mut PeerInfo)> { + fn collator_peer(&mut self, collator_id: CollatorId) -> Option<(NodeIndex, &mut PeerInfo)> { let check_info = |info: &PeerInfo| info .collating_for .as_ref() - .map_or(false, |&(ref acc_id, _)| acc_id == &account_id); + .map_or(false, |&(ref acc_id, _)| acc_id == &collator_id); self.peers .iter_mut() @@ -585,8 +585,8 @@ impl PolkadotProtocol { } // disconnect a collator by account-id. - fn disconnect_bad_collator(&mut self, ctx: &mut Context, account_id: AccountId) { - if let Some((who, _)) = self.collator_peer(account_id) { + fn disconnect_bad_collator(&mut self, ctx: &mut Context, collator_id: CollatorId) { + if let Some((who, _)) = self.collator_peer(collator_id) { ctx.report_peer(who, Severity::Bad("Consensus layer determined the given collator misbehaved".to_string())) } } diff --git a/polkadot/network/src/local_collations.rs b/polkadot/network/src/local_collations.rs index 2902ed5f0e..c0b027f9a1 100644 --- a/polkadot/network/src/local_collations.rs +++ b/polkadot/network/src/local_collations.rs @@ -58,7 +58,7 @@ impl LocalCollations { Vec::new() } Role::Primary => { - let new_primary = self.primary_for.insert(key); + let new_primary = self.primary_for.insert(key.clone()); if new_primary { self.collations_targeting(&key) } else { @@ -72,7 +72,7 @@ impl LocalCollations { /// to the validator. pub fn fresh_key(&mut self, old_key: &SessionKey, new_key: &SessionKey) -> Vec<(Hash, C)> { if self.primary_for.remove(old_key) { - self.primary_for.insert(*new_key); + self.primary_for.insert(new_key.clone()); self.collations_targeting(new_key) } else { @@ -116,7 +116,7 @@ impl LocalCollations { let borrowed_collation = &local.collation; local.targets .intersection(&self.primary_for) - .map(move |k| (*k, borrowed_collation.clone())) + .map(move |k| (k.clone(), borrowed_collation.clone())) } fn collations_targeting(&self, key: &SessionKey) -> Vec<(Hash, C)> { @@ -130,14 +130,16 @@ impl LocalCollations { #[cfg(test)] mod tests { use super::*; + use substrate_primitives::crypto::UncheckedInto; + use polkadot_primitives::parachain::ValidatorId; #[test] fn add_validator_with_ready_collation() { - let key = [1; 32].into(); + let key: ValidatorId = [1; 32].unchecked_into(); let relay_parent = [2; 32].into(); let targets = { let mut set = HashSet::new(); - set.insert(key); + set.insert(key.clone()); set }; @@ -148,18 +150,18 @@ mod tests { #[test] fn rename_with_ready() { - let orig_key = [1; 32].into(); - let new_key = [2; 32].into(); + let orig_key: ValidatorId = [1; 32].unchecked_into(); + let new_key: ValidatorId = [2; 32].unchecked_into(); let relay_parent = [255; 32].into(); let targets = { let mut set = HashSet::new(); - set.insert(new_key); + set.insert(new_key.clone()); set }; let mut tracker: LocalCollations = LocalCollations::new(); assert!(tracker.add_collation(relay_parent, targets, 5).next().is_none()); - assert!(tracker.note_validator_role(orig_key, Role::Primary).is_empty()); + assert!(tracker.note_validator_role(orig_key.clone(), Role::Primary).is_empty()); assert_eq!(tracker.fresh_key(&orig_key, &new_key), vec![(relay_parent, 5u8)]); } @@ -183,16 +185,16 @@ mod tests { #[test] fn add_collation_with_connected_target() { - let key = [1; 32].into(); + let key: ValidatorId = [1; 32].unchecked_into(); let relay_parent = [2; 32].into(); let targets = { let mut set = HashSet::new(); - set.insert(key); + set.insert(key.clone()); set }; let mut tracker = LocalCollations::new(); - assert!(tracker.note_validator_role(key, Role::Primary).is_empty()); + assert!(tracker.note_validator_role(key.clone(), Role::Primary).is_empty()); assert_eq!(tracker.add_collation(relay_parent, targets, 5).next(), Some((key, 5))); } diff --git a/polkadot/network/src/router.rs b/polkadot/network/src/router.rs index fb17ee7354..8170a65752 100644 --- a/polkadot/network/src/router.rs +++ b/polkadot/network/src/router.rs @@ -426,8 +426,8 @@ impl DeferredStatements { fn push(&mut self, statement: SignedStatement) { let (hash, trace) = match statement.statement { GenericStatement::Candidate(_) => return, - GenericStatement::Valid(hash) => (hash, StatementTrace::Valid(statement.sender, hash)), - GenericStatement::Invalid(hash) => (hash, StatementTrace::Invalid(statement.sender, hash)), + GenericStatement::Valid(hash) => (hash, StatementTrace::Valid(statement.sender.clone(), hash)), + GenericStatement::Invalid(hash) => (hash, StatementTrace::Invalid(statement.sender.clone(), hash)), }; if self.known_traces.insert(trace) { @@ -443,8 +443,8 @@ impl DeferredStatements { for statement in deferred.iter() { let trace = match statement.statement { GenericStatement::Candidate(_) => continue, - GenericStatement::Valid(hash) => StatementTrace::Valid(statement.sender, hash), - GenericStatement::Invalid(hash) => StatementTrace::Invalid(statement.sender, hash), + GenericStatement::Valid(hash) => StatementTrace::Valid(statement.sender.clone(), hash), + GenericStatement::Invalid(hash) => StatementTrace::Invalid(statement.sender.clone(), hash), }; self.known_traces.remove(&trace); @@ -512,19 +512,20 @@ impl Future for ComputeIngress where S: Stream { #[cfg(test)] mod tests { use super::*; - use substrate_primitives::H512; + use substrate_primitives::crypto::UncheckedInto; use futures::stream; + use polkadot_primitives::parachain::ValidatorId; #[test] fn deferred_statements_works() { let mut deferred = DeferredStatements::new(); let hash = [1; 32].into(); - let sig = H512::from([2; 64]).into(); - let sender = [255; 32].into(); + let sig = Default::default(); + let sender: ValidatorId = [255; 32].unchecked_into(); let statement = SignedStatement { statement: GenericStatement::Valid(hash), - sender, + sender: sender.clone(), signature: sig, }; diff --git a/polkadot/network/src/tests/mod.rs b/polkadot/network/src/tests/mod.rs index 980b72acb0..dc07a844e4 100644 --- a/polkadot/network/src/tests/mod.rs +++ b/polkadot/network/src/tests/mod.rs @@ -22,8 +22,8 @@ use validation::{ValidationSession, Knowledge}; use parking_lot::Mutex; use polkadot_validation::GenericStatement; use polkadot_primitives::{Block, SessionKey}; -use polkadot_primitives::parachain::{CandidateReceipt, HeadData, BlockData}; -use substrate_primitives::H512; +use polkadot_primitives::parachain::{CandidateReceipt, HeadData, BlockData, CollatorId, ValidatorId}; +use substrate_primitives::crypto::UncheckedInto; use codec::Encode; use substrate_network::{ Severity, NodeIndex, PeerInfo, ClientHandle, Context, config::Roles, @@ -107,10 +107,10 @@ fn sends_session_key() { let peer_a = 1; let peer_b = 2; let parent_hash = [0; 32].into(); - let local_key = [1; 32].into(); + let local_key: ValidatorId = [1; 32].unchecked_into(); let validator_status = Status { collating_for: None }; - let collator_status = Status { collating_for: Some(([2; 32].into(), 5.into())) }; + let collator_status = Status { collating_for: Some(([2; 32].unchecked_into(), 5.into())) }; { let mut ctx = TestContext::default(); @@ -120,9 +120,9 @@ fn sends_session_key() { { let mut ctx = TestContext::default(); - let (session, _knowledge) = make_validation_session(local_key); + let (session, _knowledge) = make_validation_session(local_key.clone()); protocol.new_validation_session(&mut ctx, parent_hash, session); - assert!(ctx.has_message(peer_a, Message::SessionKey(local_key))); + assert!(ctx.has_message(peer_a, Message::SessionKey(local_key.clone()))); } { @@ -139,15 +139,15 @@ fn fetches_from_those_with_knowledge() { let peer_a = 1; let peer_b = 2; let parent_hash = [0; 32].into(); - let local_key = [1; 32].into(); + let local_key: ValidatorId = [1; 32].unchecked_into(); let block_data = BlockData(vec![1, 2, 3, 4]); let block_data_hash = block_data.hash(); let candidate_receipt = CandidateReceipt { parachain_index: 5.into(), - collator: [255; 32].into(), + collator: [255; 32].unchecked_into(), head_data: HeadData(vec![9, 9, 9]), - signature: H512::from([1; 64]).into(), + signature: Default::default(), balance_uploads: Vec::new(), egress_queue_roots: Vec::new(), fees: 1_000_000, @@ -155,15 +155,15 @@ fn fetches_from_those_with_knowledge() { }; let candidate_hash = candidate_receipt.hash(); - let a_key = [3; 32].into(); - let b_key = [4; 32].into(); + let a_key: ValidatorId = [3; 32].unchecked_into(); + let b_key: ValidatorId = [4; 32].unchecked_into(); let status = Status { collating_for: None }; - let (session, knowledge) = make_validation_session(local_key); + let (session, knowledge) = make_validation_session(local_key.clone()); protocol.new_validation_session(&mut TestContext::default(), parent_hash, session); - knowledge.lock().note_statement(a_key, &GenericStatement::Valid(candidate_hash)); + knowledge.lock().note_statement(a_key.clone(), &GenericStatement::Valid(candidate_hash)); let recv = protocol.fetch_block_data(&mut TestContext::default(), &candidate_receipt, parent_hash); // connect peer A @@ -176,12 +176,12 @@ fn fetches_from_those_with_knowledge() { // peer A gives session key and gets asked for data. { let mut ctx = TestContext::default(); - on_message(&mut protocol, &mut ctx, peer_a, Message::SessionKey(a_key)); + on_message(&mut protocol, &mut ctx, peer_a, Message::SessionKey(a_key.clone())); assert!(protocol.validators.contains_key(&a_key)); assert!(ctx.has_message(peer_a, Message::RequestBlockData(1, parent_hash, candidate_hash))); } - knowledge.lock().note_statement(b_key, &GenericStatement::Valid(candidate_hash)); + knowledge.lock().note_statement(b_key.clone(), &GenericStatement::Valid(candidate_hash)); // peer B connects and sends session key. request already assigned to A { @@ -221,9 +221,9 @@ fn fetches_available_block_data() { let para_id = 5.into(); let candidate_receipt = CandidateReceipt { parachain_index: para_id, - collator: [255; 32].into(), + collator: [255; 32].unchecked_into(), head_data: HeadData(vec![9, 9, 9]), - signature: H512::from([1; 64]).into(), + signature: Default::default(), balance_uploads: Vec::new(), egress_queue_roots: Vec::new(), fees: 1_000_000, @@ -264,9 +264,9 @@ fn remove_bad_collator() { let mut protocol = PolkadotProtocol::new(None); let who = 1; - let account_id = [2; 32].into(); + let collator_id: CollatorId = [2; 32].unchecked_into(); - let status = Status { collating_for: Some((account_id, 5.into())) }; + let status = Status { collating_for: Some((collator_id.clone(), 5.into())) }; { let mut ctx = TestContext::default(); @@ -275,7 +275,7 @@ fn remove_bad_collator() { { let mut ctx = TestContext::default(); - protocol.disconnect_bad_collator(&mut ctx, account_id); + protocol.disconnect_bad_collator(&mut ctx, collator_id); assert!(ctx.disabled.contains(&who)); } } @@ -287,16 +287,16 @@ fn many_session_keys() { let parent_a = [1; 32].into(); let parent_b = [2; 32].into(); - let local_key_a = [3; 32].into(); - let local_key_b = [4; 32].into(); + let local_key_a: ValidatorId = [3; 32].unchecked_into(); + let local_key_b: ValidatorId = [4; 32].unchecked_into(); - let (session_a, _knowledge_a) = make_validation_session(local_key_a); - let (session_b, _knowledge_b) = make_validation_session(local_key_b); + let (session_a, _knowledge_a) = make_validation_session(local_key_a.clone()); + let (session_b, _knowledge_b) = make_validation_session(local_key_b.clone()); protocol.new_validation_session(&mut TestContext::default(), parent_a, session_a); protocol.new_validation_session(&mut TestContext::default(), parent_b, session_b); - assert_eq!(protocol.live_validation_sessions.recent_keys(), &[local_key_a, local_key_b]); + assert_eq!(protocol.live_validation_sessions.recent_keys(), &[local_key_a.clone(), local_key_b.clone()]); let peer_a = 1; @@ -307,8 +307,8 @@ fn many_session_keys() { let status = Status { collating_for: None }; protocol.on_connect(&mut ctx, peer_a, make_status(&status, Roles::AUTHORITY)); - assert!(ctx.has_message(peer_a, Message::SessionKey(local_key_a))); - assert!(ctx.has_message(peer_a, Message::SessionKey(local_key_b))); + assert!(ctx.has_message(peer_a, Message::SessionKey(local_key_a.clone()))); + assert!(ctx.has_message(peer_a, Message::SessionKey(local_key_b.clone()))); } let peer_b = 2; diff --git a/polkadot/network/src/tests/validation.rs b/polkadot/network/src/tests/validation.rs index 279c189bae..47d501e1ab 100644 --- a/polkadot/network/src/tests/validation.rs +++ b/polkadot/network/src/tests/validation.rs @@ -18,13 +18,14 @@ use validation::NetworkService; use substrate_network::Context as NetContext; -use substrate_primitives::{Ed25519AuthorityId, NativeOrEncoded}; -use substrate_keyring::Keyring; +use substrate_primitives::NativeOrEncoded; +use substrate_keyring::AuthorityKeyring; use {PolkadotProtocol}; use polkadot_validation::{SharedTable, MessagesFrom, Network, TableRouter}; -use polkadot_primitives::{AccountId, Block, Hash, Header, BlockId}; -use polkadot_primitives::parachain::{Id as ParaId, Chain, DutyRoster, ParachainHost, OutgoingMessage}; +use polkadot_primitives::{SessionKey, Block, Hash, Header, BlockId}; +use polkadot_primitives::parachain::{Id as ParaId, Chain, DutyRoster, ParachainHost, OutgoingMessage, + ValidatorId}; use parking_lot::Mutex; use substrate_client::error::Result as ClientResult; use substrate_client::runtime_api::{Core, RuntimeVersion, ApiExt}; @@ -154,7 +155,7 @@ impl NetworkService for TestNetwork { #[derive(Default)] struct ApiData { - validators: Vec, + validators: Vec, duties: Vec, active_parachains: Vec, ingress: HashMap>, @@ -194,7 +195,7 @@ impl Core for RuntimeApi { _: ExecutionContext, _: Option<()>, _: Vec, - ) -> ClientResult>> { + ) -> ClientResult>> { unimplemented!("Not required for testing!") } @@ -239,7 +240,7 @@ impl ParachainHost for RuntimeApi { _: ExecutionContext, _: Option<()>, _: Vec, - ) -> ClientResult>> { + ) -> ClientResult>> { Ok(NativeOrEncoded::Native(self.data.lock().validators.clone())) } @@ -372,15 +373,14 @@ impl IngressBuilder { } } -fn make_table(data: &ApiData, local_key: &Keyring, parent_hash: Hash) -> Arc { +fn make_table(data: &ApiData, local_key: &AuthorityKeyring, parent_hash: Hash) -> Arc { use ::av_store::Store; let store = Store::new_in_memory(); - let authorities: Vec<_> = data.validators.iter().map(|v| v.to_fixed_bytes().into()).collect(); let (group_info, _) = ::polkadot_validation::make_group_info( DutyRoster { validator_duty: data.duties.clone() }, - &authorities, - local_key.to_raw_public().into() + &data.validators, // only possible as long as parachain crypto === aura crypto + SessionKey::from(*local_key) ).unwrap(); Arc::new(SharedTable::new( @@ -400,9 +400,9 @@ fn ingress_fetch_works() { let id_b: ParaId = 2.into(); let id_c: ParaId = 3.into(); - let key_a = Keyring::Alice; - let key_b = Keyring::Bob; - let key_c = Keyring::Charlie; + let key_a = AuthorityKeyring::Alice; + let key_b = AuthorityKeyring::Bob; + let key_c = AuthorityKeyring::Charlie; let messages_from_a = vec![ OutgoingMessage { target: id_b, data: vec![1, 2, 3] }, @@ -432,16 +432,16 @@ fn ingress_fetch_works() { let parent_hash = [1; 32].into(); let (router_a, router_b, router_c) = { - let validators: Vec = vec![ - key_a.to_raw_public().into(), - key_b.to_raw_public().into(), - key_c.to_raw_public().into(), + let validators: Vec = vec![ + key_a.into(), + key_b.into(), + key_c.into(), ]; - let authorities: Vec<_> = validators.iter().cloned() - .map(|h| h.to_fixed_bytes()) - .map(Ed25519AuthorityId) - .collect(); + // NOTE: this is possible only because we are currently asserting that parachain validators + // share their crypto with the (Aura) authority set. Once that assumption breaks, so will this + // code. + let authorities = validators.clone(); let mut api_handle = built.api_handle.lock(); *api_handle = ApiData { diff --git a/polkadot/network/src/validation.rs b/polkadot/network/src/validation.rs index 0813cb283b..a838d51a2b 100644 --- a/polkadot/network/src/validation.rs +++ b/polkadot/network/src/validation.rs @@ -22,8 +22,9 @@ use sr_primitives::traits::ProvideRuntimeApi; use substrate_network::Context as NetContext; use polkadot_validation::{Network as ParachainNetwork, SharedTable, Collators, Statement, GenericStatement}; -use polkadot_primitives::{AccountId, Block, Hash, SessionKey}; -use polkadot_primitives::parachain::{Id as ParaId, Collation, Extrinsic, ParachainHost, BlockData}; +use polkadot_primitives::{Block, Hash}; +use polkadot_primitives::parachain::{Id as ParaId, Collation, Extrinsic, ParachainHost, BlockData, ValidatorId, + CollatorId}; use codec::Decode; use futures::prelude::*; @@ -208,7 +209,7 @@ impl ParachainNetwork for ValidationNetwork where &self, table: Arc, outgoing: polkadot_validation::Outgoing, - authorities: &[SessionKey], + authorities: &[ValidatorId], ) -> Self::TableRouter { let parent_hash = table.consensus_parent_hash().clone(); @@ -310,15 +311,15 @@ impl Collators for ValidationNetwork where } - fn note_bad_collator(&self, collator: AccountId) { + fn note_bad_collator(&self, collator: CollatorId) { self.network.with_spec(move |spec, ctx| spec.disconnect_bad_collator(ctx, collator)); } } #[derive(Default)] struct KnowledgeEntry { - knows_block_data: Vec, - knows_extrinsic: Vec, + knows_block_data: Vec, + knows_extrinsic: Vec, block_data: Option, extrinsic: Option, } @@ -337,19 +338,19 @@ impl Knowledge { } /// Note a statement seen from another validator. - pub(crate) fn note_statement(&mut self, from: SessionKey, statement: &Statement) { + pub(crate) fn note_statement(&mut self, from: ValidatorId, statement: &Statement) { // those proposing the candidate or declaring it valid know everything. // those claiming it invalid do not have the extrinsic data as it is // generated by valid execution. match *statement { GenericStatement::Candidate(ref c) => { let mut entry = self.candidates.entry(c.hash()).or_insert_with(Default::default); - entry.knows_block_data.push(from); + entry.knows_block_data.push(from.clone()); entry.knows_extrinsic.push(from); } GenericStatement::Valid(ref hash) => { let mut entry = self.candidates.entry(*hash).or_insert_with(Default::default); - entry.knows_block_data.push(from); + entry.knows_block_data.push(from.clone()); entry.knows_extrinsic.push(from); } GenericStatement::Invalid(ref hash) => self.candidates.entry(*hash) @@ -370,12 +371,12 @@ impl Knowledge { /// A current validation session instance. pub(crate) struct ValidationSession { knowledge: Arc>, - local_session_key: SessionKey, + local_session_key: ValidatorId, } impl ValidationSession { #[cfg(test)] - pub(crate) fn new(knowledge: Arc>, local_session_key: SessionKey) -> Self { + pub(crate) fn new(knowledge: Arc>, local_session_key: ValidatorId) -> Self { ValidationSession { knowledge, local_session_key @@ -385,7 +386,7 @@ impl ValidationSession { // execute a closure with locally stored block data for a candidate, or a slice of session identities // we believe should have the data. fn with_block_data(&self, hash: &Hash, f: F) -> U - where F: FnOnce(Result<&BlockData, &[SessionKey]>) -> U + where F: FnOnce(Result<&BlockData, &[ValidatorId]>) -> U { let knowledge = self.knowledge.lock(); let res = knowledge.candidates.get(hash) @@ -407,19 +408,19 @@ pub(crate) enum InsertedRecentKey { /// Key was already known. AlreadyKnown, /// Key was new and pushed out optional old item. - New(Option), + New(Option), } /// Wrapper for managing recent session keys. #[derive(Default)] -pub(crate) struct RecentSessionKeys { - inner: ArrayVec<[SessionKey; RECENT_SESSIONS]>, +pub(crate) struct RecentValidatorIds { + inner: ArrayVec<[ValidatorId; RECENT_SESSIONS]>, } -impl RecentSessionKeys { +impl RecentValidatorIds { /// Insert a new session key. This returns one to be pushed out if the /// set is full. - pub(crate) fn insert(&mut self, key: SessionKey) -> InsertedRecentKey { + pub(crate) fn insert(&mut self, key: ValidatorId) -> InsertedRecentKey { if self.inner.contains(&key) { return InsertedRecentKey::AlreadyKnown } let old = if self.inner.len() == RECENT_SESSIONS { @@ -433,11 +434,11 @@ impl RecentSessionKeys { } /// As a slice. - pub(crate) fn as_slice(&self) -> &[SessionKey] { + pub(crate) fn as_slice(&self) -> &[ValidatorId] { &*self.inner } - fn remove(&mut self, key: &SessionKey) { + fn remove(&mut self, key: &ValidatorId) { self.inner.retain(|k| k != key) } } @@ -445,7 +446,7 @@ impl RecentSessionKeys { /// Manages requests and keys for live validation session instances. pub(crate) struct LiveValidationSessions { // recent local session keys. - recent: RecentSessionKeys, + recent: RecentValidatorIds, // live validation session instances, on `parent_hash`. live_instances: HashMap, } @@ -465,10 +466,10 @@ impl LiveValidationSessions { &mut self, parent_hash: Hash, session: ValidationSession, - ) -> Option { - let inserted_key = self.recent.insert(session.local_session_key); + ) -> Option { + let inserted_key = self.recent.insert(session.local_session_key.clone()); let maybe_new = if let InsertedRecentKey::New(_) = inserted_key { - Some(session.local_session_key) + Some(session.local_session_key.clone()) } else { None }; @@ -491,7 +492,7 @@ impl LiveValidationSessions { } /// Recent session keys as a slice. - pub(crate) fn recent_keys(&self) -> &[SessionKey] { + pub(crate) fn recent_keys(&self) -> &[ValidatorId] { self.recent.as_slice() } @@ -501,7 +502,7 @@ impl LiveValidationSessions { /// `Err(Some(keys))` when the session is live but the data unknown, with a list of keys /// who have the data, and `Err(None)` where the session is unknown. pub(crate) fn with_block_data(&self, parent_hash: &Hash, c_hash: &Hash, f: F) -> U - where F: FnOnce(Result<&BlockData, Option<&[SessionKey]>>) -> U + where F: FnOnce(Result<&BlockData, Option<&[ValidatorId]>>) -> U { match self.live_instances.get(parent_hash) { Some(c) => c.with_block_data(c_hash, |res| f(res.map_err(Some))), @@ -513,27 +514,28 @@ impl LiveValidationSessions { #[cfg(test)] mod tests { use super::*; + use substrate_primitives::crypto::UncheckedInto; #[test] fn last_keys_works() { - let a = [1; 32].into(); - let b = [2; 32].into(); - let c = [3; 32].into(); - let d = [4; 32].into(); + let a: ValidatorId = [1; 32].unchecked_into(); + let b: ValidatorId = [2; 32].unchecked_into(); + let c: ValidatorId = [3; 32].unchecked_into(); + let d: ValidatorId = [4; 32].unchecked_into(); - let mut recent = RecentSessionKeys::default(); + let mut recent = RecentValidatorIds::default(); - match recent.insert(a) { + match recent.insert(a.clone()) { InsertedRecentKey::New(None) => {}, _ => panic!("is new, not at capacity"), } - match recent.insert(a) { + match recent.insert(a.clone()) { InsertedRecentKey::AlreadyKnown => {}, _ => panic!("not new"), } - match recent.insert(b) { + match recent.insert(b.clone()) { InsertedRecentKey::New(None) => {}, _ => panic!("is new, not at capacity"), } @@ -543,7 +545,7 @@ mod tests { _ => panic!("not new"), } - match recent.insert(c) { + match recent.insert(c.clone()) { InsertedRecentKey::New(None) => {}, _ => panic!("is new, not at capacity"), } @@ -553,7 +555,7 @@ mod tests { _ => panic!("not new"), } - match recent.insert(d) { + match recent.insert(d.clone()) { InsertedRecentKey::New(Some(old)) => assert_eq!(old, a), _ => panic!("is new, and at capacity"), } diff --git a/polkadot/primitives/src/lib.rs b/polkadot/primitives/src/lib.rs index 3978567868..16716078fb 100644 --- a/polkadot/primitives/src/lib.rs +++ b/polkadot/primitives/src/lib.rs @@ -47,7 +47,8 @@ extern crate substrate_client; use rstd::prelude::*; use runtime_primitives::{generic, traits::Extrinsic}; -pub use runtime_primitives::traits::{BlakeTwo256, Hash as HashT}; +pub use runtime_primitives::traits::{BlakeTwo256, Hash as HashT, Verify}; +use primitives::{ed25519, sr25519}; pub mod parachain; @@ -61,16 +62,22 @@ use primitives::bytes; /// TODO: switch to u32 pub type BlockNumber = u64; +/// Alias to 512-bit hash when used in the context of a signature on the relay chain. +/// Equipped with logic for possibly "unsigned" messages. +pub type Signature = sr25519::Signature; + /// Alias to Ed25519 pubkey that identifies an account on the relay chain. -pub type AccountId = primitives::hash::H256; +pub type AccountId = sr25519::Public; /// The type for looking up accounts. We don't expect more than 4 billion of them, but you /// never know... pub type AccountIndex = u32; -/// The Ed25519 pub key of an session that belongs to an authority of the relay chain. This is -/// exactly equivalent to what the substrate calls an "authority". -pub type SessionKey = primitives::Ed25519AuthorityId; +/// Signature with which authorities sign blocks. +pub type SessionSignature = ed25519::Signature; + +/// Identity that authorities use. +pub type SessionKey = ed25519::Public; /// Indentifier for a chain. 32-bit should be plenty. pub type ChainId = u32; @@ -81,10 +88,6 @@ pub type Hash = primitives::H256; /// Index of a transaction in the relay chain. 32-bit should be plenty. pub type Nonce = u64; -/// Alias to 512-bit hash when used in the context of a signature on the relay chain. -/// Equipped with logic for possibly "unsigned" messages. -pub type Signature = runtime_primitives::Ed25519Signature; - /// The balance of an account. /// 128-bits (or 38 significant decimal figures) will allow for 10m currency (10^7) at a resolution /// to all for one second's worth of an annualised 50% reward be paid to a unit holder (10^11 unit @@ -95,7 +98,7 @@ pub type Signature = runtime_primitives::Ed25519Signature; pub type Balance = u128; /// Header type. -pub type Header = generic::Header>; +pub type Header = generic::Header>; /// Block type. pub type Block = generic::Block; /// Block ID. diff --git a/polkadot/primitives/src/parachain.rs b/polkadot/primitives/src/parachain.rs index 84d6b3a26a..1ffba1defe 100644 --- a/polkadot/primitives/src/parachain.rs +++ b/polkadot/primitives/src/parachain.rs @@ -18,17 +18,30 @@ use rstd::prelude::*; use rstd::cmp::Ordering; -use super::{Hash, SessionKey}; - -use {AccountId}; - +use super::Hash; #[cfg(feature = "std")] use primitives::bytes; +use primitives::ed25519; pub use polkadot_parachain::Id; -/// Signature on candidate's block data by a collator. -pub type CandidateSignature = ::runtime_primitives::Ed25519Signature; +/// Identity that collators use. +pub type CollatorId = ed25519::Public; + +/// Signature with which collators sign blocks. +pub type CollatorSignature = ed25519::Signature; + +/// Identity that parachain validators use when signing validation messages. +/// +/// For now we assert that parachain validator set is exactly equivalent to the (Aura) authority set, and +/// so we define it to be the same type as `SessionKey`. In the future it may have different crypto. +pub type ValidatorId = super::SessionKey; + +/// Signature with which parachain validators sign blocks. +/// +/// For now we assert that parachain validator set is exactly equivalent to the (Aura) authority set, and +/// so we define it to be the same type as `SessionKey`. In the future it may have different crypto. +pub type ValidatorSignature = super::SessionSignature; /// Identifier for a chain, either one of a number of parachains or the relay chain. #[derive(Copy, Clone, PartialEq, Encode, Decode)] @@ -89,16 +102,14 @@ pub struct Extrinsic { /// Candidate receipt type. #[derive(PartialEq, Eq, Clone, Encode, Decode)] -#[cfg_attr(feature = "std", derive(Serialize, Deserialize, Debug))] -#[cfg_attr(feature = "std", serde(rename_all = "camelCase"))] -#[cfg_attr(feature = "std", serde(deny_unknown_fields))] +#[cfg_attr(feature = "std", derive(Debug))] pub struct CandidateReceipt { /// The ID of the parachain this is a candidate for. pub parachain_index: Id, - /// The collator's relay-chain account ID - pub collator: super::AccountId, + /// The collator's signing ID + pub collator: CollatorId, /// Signature on blake2-256 of the block data by collator. - pub signature: CandidateSignature, + pub signature: CollatorSignature, /// The head-data pub head_data: HeadData, /// Balance uploads to the relay chain. @@ -147,9 +158,7 @@ impl Ord for CandidateReceipt { /// A full collation. #[derive(PartialEq, Eq, Clone, Encode, Decode)] -#[cfg_attr(feature = "std", derive(Serialize, Deserialize, Debug))] -#[cfg_attr(feature = "std", serde(rename_all = "camelCase"))] -#[cfg_attr(feature = "std", serde(deny_unknown_fields))] +#[cfg_attr(feature = "std", derive(Debug))] pub struct Collation { /// Block data. pub block_data: BlockData, @@ -228,11 +237,11 @@ pub enum ValidityAttestation { /// implicit validity attestation by issuing. /// This corresponds to issuance of a `Candidate` statement. #[codec(index = "1")] - Implicit(CandidateSignature), + Implicit(CollatorSignature), /// An explicit attestation. This corresponds to issuance of a /// `Valid` statement. #[codec(index = "2")] - Explicit(CandidateSignature), + Explicit(CollatorSignature), } /// An attested candidate. @@ -242,7 +251,7 @@ pub struct AttestedCandidate { /// The candidate data. pub candidate: CandidateReceipt, /// Validity attestations. - pub validity_votes: Vec<(SessionKey, ValidityAttestation)>, + pub validity_votes: Vec<(ValidatorId, ValidityAttestation)>, } impl AttestedCandidate { @@ -261,7 +270,7 @@ decl_runtime_apis! { /// The API for querying the state of parachains on-chain. pub trait ParachainHost { /// Get the current validators. - fn validators() -> Vec; + fn validators() -> Vec; /// Get the current duty roster. fn duty_roster() -> DutyRoster; /// Get the currently active parachains. diff --git a/polkadot/runtime/src/lib.rs b/polkadot/runtime/src/lib.rs index 2637443f2a..b9a062fd67 100644 --- a/polkadot/runtime/src/lib.rs +++ b/polkadot/runtime/src/lib.rs @@ -78,8 +78,8 @@ mod claims; use rstd::prelude::*; use substrate_primitives::u32_trait::{_2, _4}; use primitives::{ - AccountId, AccountIndex, Balance, BlockNumber, Hash, Nonce, SessionKey, Signature, - parachain, + AccountId, AccountIndex, Balance, BlockNumber, Hash, Nonce, SessionKey, SessionSignature, + Signature, parachain, }; use client::{ block_builder::api::{self as block_builder_api, InherentData, CheckInherentsResult}, @@ -87,7 +87,7 @@ use client::{ }; use sr_primitives::{ ApplyResult, generic, transaction_validity::TransactionValidity, - traits::{Convert, BlakeTwo256, Block as BlockT, DigestFor, StaticLookup} + traits::{BlakeTwo256, Block as BlockT, DigestFor, StaticLookup} }; use version::RuntimeVersion; use grandpa::fg_primitives::{self, ScheduledChange}; @@ -98,6 +98,8 @@ use council::seats as council_seats; use version::NativeVersion; use substrate_primitives::OpaqueMetadata; +#[cfg(feature = "std")] +pub use staking::StakerStatus; #[cfg(any(feature = "std", test))] pub use sr_primitives::BuildStorage; pub use consensus::Call as ConsensusCall; @@ -173,16 +175,8 @@ impl timestamp::Trait for Runtime { type OnTimestampSet = Aura; } -/// Session key conversion. -pub struct SessionKeyConversion; -impl Convert for SessionKeyConversion { - fn convert(a: AccountId) -> SessionKey { - a.to_fixed_bytes().into() - } -} - impl session::Trait for Runtime { - type ConvertAccountIdToSessionKey = SessionKeyConversion; + type ConvertAccountIdToSessionKey = (); type OnSessionChange = (Staking, grandpa::SyncedAuthorities); type Event = Event; } @@ -244,7 +238,7 @@ impl fees::Trait for Runtime { } construct_runtime!( - pub enum Runtime with Log(InternalLog: DigestItem) where + pub enum Runtime with Log(InternalLog: DigestItem) where Block = Block, NodeBlock = primitives::Block, UncheckedExtrinsic = UncheckedExtrinsic @@ -343,8 +337,8 @@ impl_runtime_apis! { } impl parachain::ParachainHost for Runtime { - fn validators() -> Vec { - Session::validators() + fn validators() -> Vec { + Consensus::authorities() // only possible as long as parachain validator crypto === aura crypto } fn duty_roster() -> parachain::DutyRoster { Parachains::calculate_duty_roster() diff --git a/polkadot/runtime/src/parachains.rs b/polkadot/runtime/src/parachains.rs index 3e1d92dfea..11072ee997 100644 --- a/polkadot/runtime/src/parachains.rs +++ b/polkadot/runtime/src/parachains.rs @@ -415,7 +415,7 @@ impl Module { }; ensure!( - sig.verify(&payload[..], &auth_id.0.into()), + sig.verify(&payload[..], &auth_id), "Candidate validity attestation signature is bad." ); } @@ -468,7 +468,7 @@ mod tests { use sr_primitives::{generic, BuildStorage}; use sr_primitives::traits::{BlakeTwo256, IdentityLookup}; use primitives::{parachain::{CandidateReceipt, HeadData, ValidityAttestation}, SessionKey}; - use keyring::Keyring; + use keyring::{AuthorityKeyring, AccountKeyring}; use {consensus, timestamp}; impl_outer_origin! { @@ -496,7 +496,7 @@ mod tests { type Log = ::Log; } impl session::Trait for Test { - type ConvertAccountIdToSessionKey = ::SessionKeyConversion; + type ConvertAccountIdToSessionKey = (); type OnSessionChange = (); type Event = (); } @@ -511,23 +511,33 @@ mod tests { fn new_test_ext(parachains: Vec<(ParaId, Vec, Vec)>) -> TestExternalities { let mut t = system::GenesisConfig::::default().build_storage().unwrap().0; let authority_keys = [ - Keyring::Alice, - Keyring::Bob, - Keyring::Charlie, - Keyring::Dave, - Keyring::Eve, - Keyring::Ferdie, - Keyring::One, - Keyring::Two, + AuthorityKeyring::Alice, + AuthorityKeyring::Bob, + AuthorityKeyring::Charlie, + AuthorityKeyring::Dave, + AuthorityKeyring::Eve, + AuthorityKeyring::Ferdie, + AuthorityKeyring::One, + AuthorityKeyring::Two, + ]; + let validator_keys = [ + AccountKeyring::Alice, + AccountKeyring::Bob, + AccountKeyring::Charlie, + AccountKeyring::Dave, + AccountKeyring::Eve, + AccountKeyring::Ferdie, + AccountKeyring::One, + AccountKeyring::Two, ]; t.extend(consensus::GenesisConfig::{ code: vec![], - authorities: authority_keys.iter().map(|k| k.to_raw_public().into()).collect(), + authorities: authority_keys.iter().map(|k| SessionKey::from(*k)).collect(), }.build_storage().unwrap().0); t.extend(session::GenesisConfig::{ session_length: 1000, - validators: authority_keys.iter().map(|k| k.to_raw_public().into()).collect(), + validators: validator_keys.iter().map(|k| ::AccountId::from(*k)).collect(), keys: vec![], }.build_storage().unwrap().0); t.extend(GenesisConfig::{ @@ -545,8 +555,8 @@ mod tests { let candidate_hash = candidate.candidate.hash(); let authorities = ::Consensus::authorities(); - let extract_key = |public: SessionKey| { - Keyring::from_raw_public(public.0).unwrap() + let extract_key = |public: &SessionKey| { + AuthorityKeyring::from_public(public).unwrap() }; let validation_entries = duty_roster.validator_duty.iter() @@ -556,7 +566,7 @@ mod tests { if duty != Chain::Parachain(candidate.parachain_index()) { continue } vote_implicit = !vote_implicit; - let key = extract_key(authorities[idx]); + let key = extract_key(&authorities[idx]); let statement = if vote_implicit { Statement::Candidate(candidate.candidate.clone()) @@ -567,7 +577,7 @@ mod tests { let payload = localized_payload(statement, parent_hash); let signature = key.sign(&payload[..]).into(); - candidate.validity_votes.push((authorities[idx], if vote_implicit { + candidate.validity_votes.push((authorities[idx].clone(), if vote_implicit { ValidityAttestation::Implicit(signature) } else { ValidityAttestation::Explicit(signature) diff --git a/polkadot/runtime/wasm/Cargo.lock b/polkadot/runtime/wasm/Cargo.lock index ec561bdc96..e5d1e9dfb7 100644 --- a/polkadot/runtime/wasm/Cargo.lock +++ b/polkadot/runtime/wasm/Cargo.lock @@ -1,5 +1,13 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +[[package]] +name = "aho-corasick" +version = "0.6.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "arrayref" version = "0.3.5" @@ -20,13 +28,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "backtrace" -version = "0.3.13" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-demangle 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -36,8 +44,8 @@ name = "backtrace-sys" version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.31 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -53,7 +61,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "bitmask" version = "0.5.0" -source = "git+https://github.com/paritytech/bitmask#c2d8d196e30b018d1385be8357fdca61b978facf" +source = "git+https://github.com/paritytech/bitmask#a84e147be602631617badd18b6b9af83391db4a9" [[package]] name = "bitvec" @@ -114,7 +122,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "bytes" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -123,12 +131,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.28" +version = "1.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "cfg-if" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -146,7 +154,7 @@ name = "clear_on_drop" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.31 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -167,13 +175,13 @@ name = "crossbeam" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-epoch 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -183,7 +191,16 @@ version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "crossbeam-deque" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crossbeam-epoch 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -195,26 +212,65 @@ dependencies = [ "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "crossbeam-deque" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crossbeam-epoch 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", + "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "crossbeam-epoch" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "crossbeam-queue" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "crossbeam-utils" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "crossbeam-utils" version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -236,15 +292,24 @@ dependencies = [ "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "crypto-mac" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "curve25519-dalek" -version = "1.0.3" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "subtle 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -270,15 +335,20 @@ version = "1.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "curve25519-dalek 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "curve25519-dalek 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "either" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "elastic-array" -version = "0.10.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -286,7 +356,7 @@ dependencies = [ [[package]] name = "environmental" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -294,13 +364,28 @@ name = "error-chain" version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "backtrace 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)", + "backtrace 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "failure" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "backtrace 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", + "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "failure_derive" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)", + "synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "fake-simd" @@ -314,7 +399,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "static_assertions 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -340,7 +425,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "fuchsia-cprng" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -392,6 +477,15 @@ dependencies = [ "crunchy 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "hashbrown" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "heapsize" version = "0.4.2" @@ -400,18 +494,23 @@ dependencies = [ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "hex" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "hex-literal" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "hex-literal-impl 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal-impl 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro-hack 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "hex-literal-impl" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "proc-macro-hack 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -427,6 +526,15 @@ dependencies = [ "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "hmac" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "hmac-drbg" version = "0.1.2" @@ -457,7 +565,7 @@ name = "impl-codec" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -466,7 +574,7 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -479,7 +587,7 @@ name = "iovec" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -507,13 +615,13 @@ name = "kvdb" version = "0.1.0" source = "git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d#b0317f649ab2c665b7987b8475878fc4d2e1f81d" dependencies = [ - "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "elastic-array 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)", ] [[package]] name = "lazy_static" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -523,7 +631,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "libc" -version = "0.2.48" +version = "0.2.50" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -561,7 +669,7 @@ name = "log" version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -569,6 +677,11 @@ name = "matches" version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "memchr" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "memoffset" version = "0.2.1" @@ -590,13 +703,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "merlin" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "keccak 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -610,7 +722,7 @@ dependencies = [ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", @@ -635,7 +747,7 @@ version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -655,8 +767,8 @@ name = "net2" version = "0.2.33" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -680,16 +792,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "num_cpus" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "once_cell" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "opaque-debug" @@ -698,25 +813,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "openssl" -version = "0.10.16" +version = "0.10.19" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl-sys 0.9.40 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl-sys 0.9.42 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "openssl-sys" -version = "0.9.40" +version = "0.9.42" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.31 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -735,12 +851,12 @@ source = "git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7 [[package]] name = "parity-codec" -version = "3.1.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -751,7 +867,7 @@ dependencies = [ "proc-macro-crate 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -776,10 +892,10 @@ name = "parking_lot_core" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -800,7 +916,17 @@ dependencies = [ "proc-macro-hack 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "pbkdf2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rayon 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -818,22 +944,22 @@ name = "polkadot-parachain" version = "0.1.0" dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmi 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "wasmi 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "polkadot-primitives" version = "0.1.0" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-parachain 0.1.0", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-version 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -847,16 +973,16 @@ version = "0.1.0" dependencies = [ "bitvec 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-primitives 0.1.0", "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", - "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", + "sr-std 0.1.0 (git+https://github.com/paritytech/substrate?rev=45824913c980bb1ba3963f9bba67775a507d8624)", "sr-version 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-aura 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-balances 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -923,7 +1049,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -952,8 +1078,8 @@ name = "rand" version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "fuchsia-cprng 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)", + "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -965,8 +1091,8 @@ version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "fuchsia-cprng 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)", + "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -977,14 +1103,14 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_jitter 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_os 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_pcg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_jitter 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1029,22 +1155,22 @@ dependencies = [ [[package]] name = "rand_jitter" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "rand_os" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "fuchsia-cprng 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)", + "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1052,11 +1178,11 @@ dependencies = [ [[package]] name = "rand_pcg" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1067,6 +1193,27 @@ dependencies = [ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "rayon" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "either 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rayon-core 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rayon-core" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "rdrand" version = "0.4.0" @@ -1080,14 +1227,34 @@ name = "redox_syscall" version = "0.1.51" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "regex" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", + "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex-syntax" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "ring" version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.31 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", "spin 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1126,16 +1293,17 @@ dependencies = [ [[package]] name = "schnorrkel" -version = "0.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" +version = "0.1.0" +source = "git+https://github.com/w3f/schnorrkel#7c1e6c2df02bc80d59efbb25356fd538e6a90a6a" dependencies = [ "clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "curve25519-dalek 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "curve25519-dalek 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "ed25519-dalek 1.0.0-pre.1 (registry+https://github.com/rust-lang/crates.io-index)", "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "merlin 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "merlin 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "sha3 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "subtle 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1160,27 +1328,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "serde" -version = "1.0.87" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "serde_derive" -version = "1.0.87" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "serde_json" -version = "1.0.38" +version = "1.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "ryu 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1249,8 +1417,8 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", "slog 2.4.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1260,17 +1428,14 @@ version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crossbeam 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "slog 2.4.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "smallvec" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] [[package]] name = "spin" @@ -1280,24 +1445,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "sr-api-macros" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro-crate 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sr-io" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "environmental 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "environmental 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "hash-db 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1309,14 +1474,14 @@ dependencies = [ [[package]] name = "sr-primitives" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "integer-sqrt 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1325,7 +1490,15 @@ dependencies = [ [[package]] name = "sr-std" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" +dependencies = [ + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "sr-std" +version = "0.1.0" +source = "git+https://github.com/paritytech/substrate?rev=45824913c980bb1ba3963f9bba67775a507d8624#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1333,12 +1506,12 @@ dependencies = [ [[package]] name = "sr-version" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "impl-serde 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", ] @@ -1346,10 +1519,10 @@ dependencies = [ [[package]] name = "srml-aura" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1364,12 +1537,12 @@ dependencies = [ [[package]] name = "srml-balances" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-support 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1380,12 +1553,12 @@ dependencies = [ [[package]] name = "srml-consensus" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-support 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1397,12 +1570,12 @@ dependencies = [ [[package]] name = "srml-council" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1415,13 +1588,13 @@ dependencies = [ [[package]] name = "srml-democracy" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1432,10 +1605,10 @@ dependencies = [ [[package]] name = "srml-executive" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1446,12 +1619,12 @@ dependencies = [ [[package]] name = "srml-fees" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1463,12 +1636,12 @@ dependencies = [ [[package]] name = "srml-finality-tracker" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-support 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1479,13 +1652,14 @@ dependencies = [ [[package]] name = "srml-grandpa" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", + "srml-consensus 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-finality-tracker 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-session 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-support 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1497,13 +1671,13 @@ dependencies = [ [[package]] name = "srml-indices" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1516,11 +1690,11 @@ dependencies = [ [[package]] name = "srml-metadata" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", ] @@ -1528,13 +1702,13 @@ dependencies = [ [[package]] name = "srml-session" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-consensus 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1546,12 +1720,12 @@ dependencies = [ [[package]] name = "srml-staking" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1565,12 +1739,12 @@ dependencies = [ [[package]] name = "srml-sudo" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-support 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1581,15 +1755,16 @@ dependencies = [ [[package]] name = "srml-support" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "bitmask 0.5.0 (git+https://github.com/paritytech/bitmask)", - "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "once_cell 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "once_cell 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "paste 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "spin 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1601,47 +1776,47 @@ dependencies = [ [[package]] name = "srml-support-procedural" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", "sr-api-macros 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-support-procedural-tools 0.1.0 (git+https://github.com/paritytech/substrate)", - "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "srml-support-procedural-tools" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "proc-macro-crate 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", "srml-support-procedural-tools-derive 0.1.0 (git+https://github.com/paritytech/substrate)", - "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "srml-support-procedural-tools-derive" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "srml-system" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1652,11 +1827,11 @@ dependencies = [ [[package]] name = "srml-timestamp" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-support 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1667,12 +1842,12 @@ dependencies = [ [[package]] name = "srml-treasury" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-balances 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1683,10 +1858,10 @@ dependencies = [ [[package]] name = "srml-upgrade-key" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-consensus 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1704,20 +1879,31 @@ name = "static_assertions" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "substrate-bip39" +version = "0.2.0" +source = "git+https://github.com/paritytech/substrate-bip39#a28806512c977992af8d6740d45352f5a1c832a0" +dependencies = [ + "hmac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "schnorrkel 0.1.0 (git+https://github.com/w3f/schnorrkel)", + "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "substrate-client" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "hash-db 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "sr-api-macros 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1736,7 +1922,7 @@ dependencies = [ [[package]] name = "substrate-consensus-aura-primitives" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)", ] @@ -1744,35 +1930,35 @@ dependencies = [ [[package]] name = "substrate-consensus-common" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-version 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-inherents 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", - "tokio 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "substrate-executor" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-version 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-panic-handler 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1781,15 +1967,15 @@ dependencies = [ "substrate-state-machine 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-trie 0.4.0 (git+https://github.com/paritytech/substrate)", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmi 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "wasmi 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "substrate-finality-grandpa-primitives" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1799,9 +1985,9 @@ dependencies = [ [[package]] name = "substrate-inherents" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1810,68 +1996,72 @@ dependencies = [ [[package]] name = "substrate-keyring" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", ] [[package]] name = "substrate-panic-handler" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "backtrace 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)", + "backtrace 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "substrate-primitives" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "hash-db 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "hash256-std-hasher 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "impl-serde 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "primitive-types 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "ring 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "schnorrkel 0.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "schnorrkel 0.1.0 (git+https://github.com/w3f/schnorrkel)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", + "substrate-bip39 0.2.0 (git+https://github.com/paritytech/substrate-bip39)", + "tiny-bip39 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "twox-hash 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmi 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "wasmi 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "substrate-serializer" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "substrate-state-machine" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "hash-db 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-panic-handler 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1883,14 +2073,14 @@ dependencies = [ [[package]] name = "substrate-telemetry" version = "0.3.1" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ - "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "slog 2.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "slog-async 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "slog-json 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1901,15 +2091,20 @@ dependencies = [ [[package]] name = "substrate-trie" version = "0.4.0" -source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +source = "git+https://github.com/paritytech/substrate#45824913c980bb1ba3963f9bba67775a507d8624" dependencies = [ "hash-db 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "memory-db 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "trie-db 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "trie-root 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "subtle" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "subtle" version = "2.0.0" @@ -1917,7 +2112,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "syn" -version = "0.15.26" +version = "0.15.29" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1925,6 +2120,17 @@ dependencies = [ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "synstructure" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "take_mut" version = "0.2.2" @@ -1935,7 +2141,7 @@ name = "thread_local" version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1943,11 +2149,25 @@ name = "time" version = "0.1.42" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "tiny-bip39" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "hmac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "once_cell 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "tiny-keccak" version = "1.4.2" @@ -1958,23 +2178,24 @@ dependencies = [ [[package]] name = "tokio" -version = "0.1.15" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-current-thread 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-current-thread 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-fs 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-sync 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-fs 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-sync 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-threadpool 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-timer 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-threadpool 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-timer 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-trace-core 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-udp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1984,14 +2205,14 @@ name = "tokio-codec" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-current-thread" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2009,46 +2230,48 @@ dependencies = [ [[package]] name = "tokio-fs" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-threadpool 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-threadpool 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-io" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-reactor" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-sync 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-sync" -version = "0.1.1" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ + "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2057,26 +2280,25 @@ name = "tokio-tcp" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-threadpool" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "crossbeam 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2084,7 +2306,7 @@ dependencies = [ [[package]] name = "tokio-timer" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2093,18 +2315,26 @@ dependencies = [ "tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "tokio-trace-core" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "tokio-udp" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2112,16 +2342,16 @@ name = "tokio-uds" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", "mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2129,7 +2359,7 @@ name = "toml" version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2137,7 +2367,7 @@ name = "trie-db" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "elastic-array 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", "hash-db 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2164,6 +2394,11 @@ name = "typenum" version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "ucd-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "uint" version = "0.6.1" @@ -2188,7 +2423,7 @@ name = "unicode-normalization" version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2196,14 +2431,6 @@ name = "unicode-xid" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "unreachable" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "untrusted" version = "0.6.2" @@ -2219,22 +2446,21 @@ dependencies = [ "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "utf8-ranges" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "vcpkg" version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "void" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "wasmi" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2274,12 +2500,12 @@ version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", "httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", "mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl 0.10.19 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2296,10 +2522,11 @@ dependencies = [ ] [metadata] +"checksum aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "81ce3d38065e618af2d7b77e10c5ad9a069859b4be3c2250f674af3840d9c8a5" "checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee" "checksum arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "92c7fb76bc8826a8b33b4ee5bb07a247a81e76764ab4d55e8f73e3a4d8808c71" "checksum autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a6d640bee2da49f60a4068a7fae53acde8982514ab7bae8b8cea9e88cbcfd799" -"checksum backtrace 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)" = "b5b493b66e03090ebc4343eb02f94ff944e0cbc9ac6571491d170ba026741eb5" +"checksum backtrace 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "cd5a90e2b463010cd0e0ce9a11d4a9d5d58d9f41d4a6ba3dcaf9e68b466e88b4" "checksum backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "797c830ac25ccc92a7f8a7b9862bde440715531514594a6154e3d4a54dd769b6" "checksum base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" "checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12" @@ -2312,35 +2539,43 @@ dependencies = [ "checksum byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40" "checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" "checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb" -"checksum bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "40ade3d27603c2cb345eb0912aec461a6dec7e06a4ae48589904e808335c7afa" -"checksum cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4a8b715cb4597106ea87c7c84b2f1d452c7492033765df7f32651e66fcf749" -"checksum cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4" +"checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" +"checksum cc 1.0.31 (registry+https://github.com/rust-lang/crates.io-index)" = "c9ce8bb087aacff865633f0bd5aeaed910fe2fe55b55f4739527f2e023a2e53d" +"checksum cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "11d43355396e872eefb45ce6342e4374ed7bc2b3a502d1b28e36d6e23c05d1f4" "checksum chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878" "checksum clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "97276801e127ffb46b66ce23f35cc96bd454fa311294bced4bbace7baa8b1d17" "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" "checksum constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8ff012e225ce166d4422e0e78419d901719760f62ae2b7969ca6b564d1b54a9e" "checksum crossbeam 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad4c7ea749d9fb09e23c5cb17e3b70650860553a0e2744e38446b1803bf7db94" "checksum crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "0f0ed1a4de2235cabda8558ff5840bffb97fcb64c97827f354a451307df5f72b" +"checksum crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f739f8c5363aca78cfb059edf753d8f0d36908c348f3d8d1503f03d8b75d9cf3" "checksum crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "05e44b8cf3e1a625844d1750e1f7820da46044ff6d28f4d43e455ba3e5bb2c13" +"checksum crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71" +"checksum crossbeam-epoch 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "927121f5407de9956180ff5e936fe3cf4324279280001cd56b669d28ee7e9150" "checksum crossbeam-epoch 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "04c9e3102cc2d69cd681412141b390abd55a362afc1540965dad0ad4d34280b4" +"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b" +"checksum crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2760899e32a1d58d5abb31129f8fae5de75220bc2176e77ff7c627ae45c918d9" "checksum crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f8306fcef4a7b563b76b7dd949ca48f52bc1141aa067d2ea09565f3e2652aa5c" "checksum crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda" "checksum crunchy 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c240f247c278fa08a6d4820a6a222bfc6e0d999e51ba67be94f44c905b2161f2" "checksum crypto-mac 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "779015233ac67d65098614aec748ac1c756ab6677fa2e14cf8b37c08dfed1198" -"checksum curve25519-dalek 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "dae47cc3529cdab597dbc8b606e565707209b506e55848f3c15679214a56c956" +"checksum crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" +"checksum curve25519-dalek 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e1f8a6fc0376eb52dc18af94915cc04dfdf8353746c0e8c550ae683a0815e5c1" "checksum digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e5b29bf156f3f4b3c4f610a25ff69370616ae6e0657d416de22645483e72af0a" "checksum digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05f47366984d3ad862010e22c7ce81a7dbcaebbdfb37241a620f8b6596ee135c" "checksum ed25519-dalek 1.0.0-pre.1 (registry+https://github.com/rust-lang/crates.io-index)" = "81956bcf7ef761fb4e1d88de3fa181358a0d26cbcb9755b587a08f9119824b86" -"checksum elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "88d4851b005ef16de812ea9acdb7bece2f0a40dd86c07b85631d7dafa54537bb" -"checksum environmental 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "db746025e3ea695bfa0ae744dbacd5fcfc8db51b9760cf8bd0ab69708bb93c49" +"checksum either 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c67353c641dc847124ea1902d69bd753dee9bb3beff9aa3662ecf86c971d1fac" +"checksum elastic-array 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "073be79b6538296faf81c631872676600616073817dd9a440c477ad09b408983" +"checksum environmental 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5c7464757b80de8930c91c9afe77ddce501826bf9d134a87db2c67d9dc177e2c" "checksum error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "07e791d3be96241c77c43846b665ef1384606da2cd2a48730abe606a12906e02" "checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2" +"checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1" "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" "checksum fixed-hash 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a557e80084b05c32b455963ff565a9de6f2866da023d6671705c6aff6f65e01c" "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" "checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" "checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" -"checksum fuchsia-cprng 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "81f7f8eb465745ea9b02e2704612a9946a59fa40572086c6fd49d6ddcf30bf31" +"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)" = "49e7653e374fe0d0c12de4250f0bdb60680b8c80eed558c5c7538eec9c89e21b" @@ -2348,10 +2583,13 @@ dependencies = [ "checksum generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fceb69994e330afed50c93524be68c42fa898c2d9fd4ee8da03bd7363acd26f2" "checksum hash-db 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1b03501f6e1a2a97f1618879aba3156f14ca2847faa530c4e28859638bd11483" "checksum hash256-std-hasher 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f5c13dbac3cc50684760f54af18545c9e80fb75e93a3e586d71ebdc13138f6a4" +"checksum hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3bae29b6653b3412c2e71e9d486db9f9df5d701941d86683005efb9f2d28e3da" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" -"checksum hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae0e5c30fb65e661a0e39860e37100dfbe4d39aff865e9357a6a4ed0b5bbf303" -"checksum hex-literal-impl 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1d340b6514f232f6db1bd16db65302a5278a04fef9ce867cb932e7e5fa21130a" +"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" +"checksum hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ddc2928beef125e519d69ae1baa8c37ea2e0d3848545217f6db0179c5eb1d639" +"checksum hex-literal-impl 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "520870c3213943eb8d7803e80180d12a6c7ceb4ae74602544529d1643dc4ddda" "checksum hmac 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7a13f4163aa0c5ca1be584aace0e2212b2e41be5478218d4f657f5f778b2ae2a" +"checksum hmac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f127a908633569f208325f86f71255d3363c79721d7f9fe31cd5569908819771" "checksum hmac-drbg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4fe727d41d2eec0a6574d887914347e5ff96a3b87177817e2a9820c5c87fecc2" "checksum httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e8734b0cfd3bc3e101ec59100e101c2eecd19282202e87808b3037b442777a83" "checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" @@ -2363,18 +2601,19 @@ dependencies = [ "checksum keccak 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" "checksum kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)" = "" -"checksum lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1" +"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14" "checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" -"checksum libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)" = "e962c7641008ac010fa60a7dfdc1712449f29c44ef2d4702394aea943ee75047" +"checksum libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)" = "aab692d7759f5cd8c859e169db98ae5b52c924add2af5fbbca11d12fefb567c1" "checksum libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "688e8d65e495567c2c35ea0001b26b9debf0b4ea11f8cccc954233b75fc3428a" "checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c" "checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" "checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6" "checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" +"checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" "checksum memory-db 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94da53143d45f6bad3753f532e56ad57a6a26c0ca6881794583310c7cb4c885f" "checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" -"checksum merlin 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a9e97b439f6d38cbe2a4a4aa93f6770c5305f62761b78b1851406c09c87ee2a" +"checksum merlin 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "83c2dda19c01176e8e7148f7bdb88bbdf215a8db0641f89fc40e4b81736aeda5" "checksum mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)" = "71646331f2619b1026cc302f87a2b8b648d5c6dd6937846a16cc8ce0f347f432" "checksum mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "46e73a04c2fa6250b8d802134d56d554a9ec2922bf977777c805ea5def61ce40" "checksum mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125" @@ -2383,20 +2622,21 @@ dependencies = [ "checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945" "checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea" "checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1" -"checksum num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5a69d464bdc213aaaff628444e99578ede64e9c854025aa43b9796530afa9238" -"checksum once_cell 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "53075ac5dbd2798cfbcf9f710f2737de031d8076c192d8fe66fb23f639ccbdf4" +"checksum num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a23f0ed30a54abaa0c7e83b1d2d87ada7c3c23078d1d87815af3e3b6385fbba" +"checksum once_cell 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "532c29a261168a45ce28948f9537ddd7a5dd272cc513b3017b1e82a88f962c37" "checksum opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "93f5bb2e8e8dec81642920ccff6b61f1eb94fa3020c5a325c9851ff604152409" -"checksum openssl 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)" = "ec7bd7ca4cce6dbdc77e7c1230682740d307d1218a87fb0349a571272be749f9" -"checksum openssl-sys 0.9.40 (registry+https://github.com/rust-lang/crates.io-index)" = "1bb974e77de925ef426b6bc82fce15fd45bdcbeb5728bffcfc7cdeeb7ce1c2d6" +"checksum openssl 0.10.19 (registry+https://github.com/rust-lang/crates.io-index)" = "84321fb9004c3bce5611188a644d6171f895fa2889d155927d528782edb21c5d" +"checksum openssl-sys 0.9.42 (registry+https://github.com/rust-lang/crates.io-index)" = "cb534d752bf98cf363b473950659ac2546517f9c6be9723771614ab3f03bbc9e" "checksum owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13" "checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)" = "" -"checksum parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "67a4d27831e31e27f1454d6e3d3bb34bcac6bf7ad7032eed0ad0070dc8cf55c1" +"checksum parity-codec 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "21c9c3a1623c71ed83964ff28cac6126e178920f7646d32c337eacb9152b2907" "checksum parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "864e9f66b58c0b38f0d6b511b6576afa2b678ae801b64220553bced57ac12df9" "checksum parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)" = "511379a8194230c2395d2f5fa627a5a7e108a9f976656ce723ae68fca4097bfc" "checksum parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337" "checksum parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9" "checksum paste 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f50392d1265092fbee9273414cc40eb6d47d307bd66222c477bb8450c8504f9d" "checksum paste-impl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a3cd512fe3a55e8933b2dcad913e365639db86d512e4004c3084b86864d9467a" +"checksum pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9" "checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" "checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c" "checksum primitive-types 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "edb92f1ebfc177432c03287b15d48c202e6e2c95993a7af3ba039abb43b1492e" @@ -2414,25 +2654,29 @@ dependencies = [ "checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0" "checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" "checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" -"checksum rand_jitter 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "080723c6145e37503a2224f801f252e14ac5531cb450f4502698542d188cb3c0" -"checksum rand_os 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b7c690732391ae0abafced5015ffb53656abfaec61b342290e5eb56b286a679d" -"checksum rand_pcg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "086bd09a33c7044e56bb44d5bdde5a60e7f119a9e95b0775f545de759a32fe05" +"checksum rand_jitter 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b9ea758282efe12823e0d952ddb269d2e1897227e464919a554f2a03ef1b832" +"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" +"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" "checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" +"checksum rayon 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "373814f27745b2686b350dd261bfd24576a6fb0e2c5919b3a2b6005f820b0473" +"checksum rayon-core 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b055d1e92aba6877574d8fe604a63c8b5df60f60e5982bf7ccbb1338ea527356" "checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" "checksum redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)" = "423e376fffca3dfa06c9e9790a9ccd282fafb3cc6e6397d01dbf64f9bacc6b85" +"checksum regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "53ee8cfdddb2e0291adfb9f13d31d3bbe0a03c9a402c01b1e24188d86c35b24f" +"checksum regex-syntax 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "8c2f35eedad5295fdf00a63d7d4b238135723f92b434ec06774dad15c7ab0861" "checksum ring 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)" = "426bc186e3e95cac1e4a4be125a4aca7e84c2d616ffc02244eef36e2a60a093c" "checksum rustc-demangle 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "adacaae16d02b6ec37fdc7acfcddf365978de76d1983d3ee22afc260e1ca9619" "checksum rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "403bb3a286107a04825a5f82e1270acc1e14028d3d554d7a1e08914549575ab8" "checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" "checksum ryu 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "eb9e9b8cde282a9fe6a42dd4681319bfb63f121b8a8ee9439c6f4107e58a46f7" "checksum safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7f7bf422d23a88c16d5090d455f182bc99c60af4df6a345c63428acf5129e347" -"checksum schnorrkel 0.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fe554f318830b48e5da8ab1ccb1ffd02b79228364dac7766b7cd1ec461ca5116" +"checksum schnorrkel 0.1.0 (git+https://github.com/w3f/schnorrkel)" = "" "checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" -"checksum serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)" = "2e20fde37801e83c891a2dc4ebd3b81f0da4d1fb67a9e0a2a3b921e2536a58ee" -"checksum serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)" = "633e97856567e518b59ffb2ad7c7a4fd4c5d91d9c7f32dd38a27b2bf7e8114ea" -"checksum serde_json 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)" = "27dce848e7467aa0e2fcaf0a413641499c0b745452aaca1194d24dedde9e13c9" +"checksum serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)" = "92514fb95f900c9b5126e32d020f5c6d40564c27a5ea6d1d7d9f157a96623560" +"checksum serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)" = "bb6eabf4b5914e88e24eea240bb7c9f9a2cbc1bbbe8d961d381975ec3c6b806c" +"checksum serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)" = "5a23aa71d4a4d43fdbfaac00eff68ba8a06a51759a89ac3304323e800c4dd40d" "checksum sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" "checksum sha2 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7d963c78ce367df26d7ea8b8cc655c651b42e8a1e584e869c1e17dae3ccb116a" "checksum sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d" @@ -2442,12 +2686,13 @@ dependencies = [ "checksum slog-async 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e544d16c6b230d84c866662fe55e31aacfca6ae71e6fc49ae9a311cb379bfc2f" "checksum slog-json 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ddc0d2aff1f8f325ef660d9a0eb6e6dcd20b30b3f581a5897f58bf42d061c37a" "checksum slog-scope 4.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "60c04b4726fa04595ccf2c2dad7bcd15474242c4c5e109a8a376e8a2c9b1539a" -"checksum smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "88aea073965ab29f6edb5493faf96ad662fb18aa9eeb186a3b7057951605ed15" +"checksum smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c4488ae950c49d403731982257768f48fada354a5203fe81f9bb6f43ca9002be" "checksum spin 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "44363f6f51401c34e7be73db0db371c04705d35efbe9f7d6082e03a921a32c55" "checksum sr-api-macros 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum sr-io 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum sr-std 0.1.0 (git+https://github.com/paritytech/substrate)" = "" +"checksum sr-std 0.1.0 (git+https://github.com/paritytech/substrate?rev=45824913c980bb1ba3963f9bba67775a507d8624)" = "" "checksum sr-version 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum srml-aura 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum srml-balances 0.1.0 (git+https://github.com/paritytech/substrate)" = "" @@ -2473,6 +2718,7 @@ dependencies = [ "checksum srml-upgrade-key 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" "checksum static_assertions 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c19be23126415861cb3a23e501d34a708f7f9b2183c5252d690941c2e69199d5" +"checksum substrate-bip39 0.2.0 (git+https://github.com/paritytech/substrate-bip39)" = "" "checksum substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum substrate-consensus-aura-primitives 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum substrate-consensus-common 0.1.0 (git+https://github.com/paritytech/substrate)" = "" @@ -2486,23 +2732,27 @@ dependencies = [ "checksum substrate-state-machine 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum substrate-telemetry 0.3.1 (git+https://github.com/paritytech/substrate)" = "" "checksum substrate-trie 0.4.0 (git+https://github.com/paritytech/substrate)" = "" +"checksum subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" "checksum subtle 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "702662512f3ddeb74a64ce2fbbf3707ee1b6bb663d28bb054e0779bbc720d926" -"checksum syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)" = "f92e629aa1d9c827b2bb8297046c1ccffc57c99b947a680d3ccff1f136a3bee9" +"checksum syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2" +"checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015" "checksum take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" "checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" "checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f" +"checksum tiny-bip39 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a1415431cb2398d84da64173f8473c792808314427d4a6f2f3ea85ae67239fe3" "checksum tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e9175261fbdb60781fcd388a4d6cc7e14764a2b629a7ad94abb439aed223a44f" -"checksum tokio 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "e0500b88064f08bebddd0c0bed39e19f5c567a5f30975bee52b0c0d3e2eeb38c" +"checksum tokio 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "1021bb1f4150435ab8f222eb7ed37c60b2d57037def63ba43085a79f387512d7" "checksum tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5c501eceaf96f0e1793cf26beb63da3d11c738c4a943fdf3746d81d64684c39f" -"checksum tokio-current-thread 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "331c8acc267855ec06eb0c94618dcbbfea45bed2d20b77252940095273fb58f6" +"checksum tokio-current-thread 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c756b04680eea21902a46fca4e9f410a2332c04995af590e07ff262e2193a9a3" "checksum tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "30c6dbf2d1ad1de300b393910e8a3aa272b724a400b6531da03eed99e329fbf0" -"checksum tokio-fs 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0e9cbbc8a3698b7ab652340f46633364f9eaa928ddaaee79d8b8f356dd79a09d" -"checksum tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b53aeb9d3f5ccf2ebb29e19788f96987fa1355f8fe45ea193928eaaaf3ae820f" -"checksum tokio-reactor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "afbcdb0f0d2a1e4c440af82d7bbf0bf91a8a8c0575bcd20c05d15be7e9d3a02f" -"checksum tokio-sync 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3742b64166c1ee9121f1921aea5a726098458926a6b732d906ef23b1f3ef6f4f" +"checksum tokio-fs 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "3fe6dc22b08d6993916647d108a1a7d15b9cd29c4f4496c62b92c45b5041b7af" +"checksum tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "5090db468dad16e1a7a54c8c67280c5e4b544f3d3e018f0b913b400261f85926" +"checksum tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6af16bfac7e112bea8b0442542161bfc41cbfa4466b580bdda7d18cb88b911ce" +"checksum tokio-sync 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "fda385df506bf7546e70872767f71e81640f1f251bdf2fd8eb81a0eaec5fe022" "checksum tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1d14b10654be682ac43efee27401d792507e30fd8d26389e1da3b185de2e4119" -"checksum tokio-threadpool 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "c3fd86cb15547d02daa2b21aadaf4e37dee3368df38a526178a5afa3c034d2fb" -"checksum tokio-timer 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)" = "21c04a314a1f69f73c0227beba6250e06cdc1e9a62e7eff912bf54a59b6d1b94" +"checksum tokio-threadpool 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "742e511f6ce2298aeb86fc9ea0d8df81c2388c6ebae3dc8a7316e8c9df0df801" +"checksum tokio-timer 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "2910970404ba6fa78c5539126a9ae2045d62e3713041e447f695f41405a120c6" +"checksum tokio-trace-core 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "350c9edade9830dc185ae48ba45667a445ab59f6167ef6d0254ec9d2430d9dd3" "checksum tokio-udp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "66268575b80f4a4a710ef83d087fdfeeabdce9b74c797535fbac18a2cb906e92" "checksum tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "037ffc3ba0e12a0ab4aca92e5234e0dedeb48fddf6ccd260f1f150a36a9f2445" "checksum toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f" @@ -2510,16 +2760,16 @@ dependencies = [ "checksum trie-root 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e3c6fef2705af3258ec46a7e22286090394a44216201a1cf7d04b78db825e543" "checksum twox-hash 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "555cd4909480122bbbf21e34faac4cb08a171f324775670447ed116726c474af" "checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" +"checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86" "checksum uint 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e7780bb27fd8a22295e0d9d53ae3be253f715a0dccb1808527f478f1c2603708" "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" "checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426" "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" -"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" "checksum untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "55cd1f4b4e96b46aeb8d4855db4a7a9bd96eeeb5c6a1ab54593328761642ce2f" "checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" +"checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737" "checksum vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "def296d3eb3b12371b2c7d0e83bfe1403e4db2d7a0bba324a12b21c4ee13143d" -"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" -"checksum wasmi 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "21ef487a11df1ed468cf613c78798c26282da5c30e9d49f824872d4c77b47d1d" +"checksum wasmi 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f6a891b45c79e9f96fb66cc84a057211ef9cd2e5e8d093f3dbbd480e146a8758" "checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" "checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0" "checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" diff --git a/polkadot/service/src/chain_spec.rs b/polkadot/service/src/chain_spec.rs index 766d46a822..c3c72dd275 100644 --- a/polkadot/service/src/chain_spec.rs +++ b/polkadot/service/src/chain_spec.rs @@ -16,16 +16,15 @@ //! Polkadot chain configurations. -use primitives::{Ed25519AuthorityId as AuthorityId, ed25519}; -use polkadot_primitives::AccountId; +use primitives::{ed25519, sr25519, Pair, crypto::UncheckedInto}; +use polkadot_primitives::{AccountId, SessionKey}; use polkadot_runtime::{ GenesisConfig, ConsensusConfig, CouncilSeatsConfig, DemocracyConfig, TreasuryConfig, SessionConfig, StakingConfig, TimestampConfig, BalancesConfig, Perbill, CouncilVotingConfig, GrandpaConfig, SudoConfig, IndicesConfig, - ClaimsConfig, FeesConfig, Permill + ClaimsConfig, FeesConfig, Permill, StakerStatus }; use telemetry::TelemetryEndpoints; -use keystore::pad_seed; const STAGING_TELEMETRY_URL: &str = "wss://telemetry.polkadot.io/submit/"; const DEFAULT_PROTOCOL_ID: &str = "dot"; @@ -38,26 +37,31 @@ pub fn poc_3_testnet_config() -> Result { } fn staging_testnet_config_genesis() -> GenesisConfig { - let initial_authorities: Vec<(AccountId, AccountId, AuthorityId)> = vec![( - hex!["863ab9379a9b78fe28368d794094bd576ce0c18536012605da7fc76e4f331faf"].into(), // 5F6hicQ1rnmQKy9q6yX9BUaBtQsfBLxAhrozQ8LrKxnPuBP7 - hex!["6d090ef6cde4dc1df057e8ce928a156b5793b461dc35eabbb8a17ee4bd41a576"].into(), // 5EXfmUBE1Vs13jz4tbApSRJqT3sEQsMWNQmHWeknc4Gy9CuU - hex!["fba60a57436218519abf2dde5b5cadf02771c33833a27527ac4808c0690cfe72"].into(), // 5HkfCaoiFt41WSqEby4fkgRrXtxwfB9G8q8pPuoxDrsqGmFm - ),( - hex!["46cf99718ddcf7868a1c7073862f6b821a58ac1ee57655b6a78b29559cf6fa9b"].into(), // 5DfYswB6NLVyvft5ggt6NJuX13X4VQjXqxuhha8C79ntPra9 - hex!["c4d4dae0d95c3c012322709e12f20ce154b9e04c23c75dce3fe63cd907c2f4a0"].into(), // 5GWnURnpMXqk5Yzfr8AJBE6fNM3AKmWikFMFvia8A7hGBPUT - hex!["337c9a3f05221973d94995c9e9448c582e2ff3382c64f624318acc5164525244"].into(), // 5DEDKARKMZsecqU2s2onmg7ZxQDsZSYKTvxxHKMBMCU2UiCB - ),( - hex!["6d14eced242492088e6ab054e6da3300b435de1fbab57e79103071cdc1dfff94"].into(), // 5EXjHw7GK6GEJjT7b9kGAPzQdCbrmjt27TYwVB1igN5uai3Y - hex!["971da4fe7d20cd83c05186d699e3a0756b1772bc7c16309c71bab36dac0909e8"].into(), // 5FUqtohZwTyhY12GNxSb2ExhGtrEGB7B8nLv29mevbPep5zk - hex!["79e9fd0469f6563bea8e2019c27c5c53a685675221ea4c7715c3f9fca75c6aa8"].into(), // 5EpZAFPsyuMEVKfdB1VtG6b2E11XS6T5ch646zq13xfmbsgS - ),( - hex!["e2f736077b2a1522339f7a0dc90468ba2223c5f98fe82a0283138a3e48463f02"].into(), // 5HCJ7gu6kH5mYyp4DVDPGDmJf4Zf5zJgW5Swi3dizi8qq8vm - hex!["91627d4b51c11c1b8b6d54dbe727219e4eccbea6a86599ebe25a316e8ba3bf15"].into(), // 5FML4K5Vz45nKvndwmnAGwv6CTKvacEK2Nr6UbGf2zJYxuwd - hex!["08d9e438d2ccc88b66115e2e2f07b0cbdcf912e0f147124b39024735e6b58057"].into(), // 5CGJy52caRtJUjEnCK7gj7jYvBTfpffPqP443g4aM2GZt5ns - )]; + // subkey inspect "$SECRET" let endowed_accounts = vec![ - hex!["f295940fa750df68a686fcf4abd4111c8a9c5a5a5a83c4c8639c451a94a7adfd"].into(), + hex!["42d69e4222c08885a4d6ff65f01852ba4a1599b683ad66286e4603d825e26b49"].unchecked_into(), // 5DaLmkrGTFvSTHBpShqqqRYaydw1sT4u3NCogYiE8Q1LqUUp ]; + + // for i in 1 2 3 4; do for j in stash controller; do subkey inspect "$SECRET//$i//$j"; done; done + // for i in 1 2 3 4; do for j in session; do subkey -e inspect "$SECRET//$i//$j"; done; done + let initial_authorities: Vec<(AccountId, AccountId, SessionKey)> = vec![( + hex!["543cf15f6a0289e48eb4f30d451d1731c5fb0e1b2c5a4b99439c11808af3432d"].unchecked_into(), // 5Dy9yz2mjwDmTgjkDFxjPBpovKmKAgTndiRiTp4DfrTEdUvi + hex!["8a6ea654337e4a28ce7be124f73ad84702619942722d01cc271e5b421653c56d"].unchecked_into(), // 5FCDLPUMZpZPRfouRfQDZp74typV9SjSxPgG6ymwe5Z3Sbko + hex!["03644a181bc4e4197914aa109f3c97b6fe8c4787a82a1ddfab54e4ebedd8ab20"].unchecked_into(), // 5C99nwu8Ucq1yUJfajviwbqMAejpmaERHpmkPVWiFdxiF6yg + ),( + hex!["c4957aa922910004f3b006d638b034070407dcb21e0905cb5cca9b58aec7fa3e"].unchecked_into(), // 5GWTeVF49JR9dAMVe4rRAAMXuhEjRAhSiYqQV4LbwpHTDLei + hex!["1adea46f5c3d272cd6426b338dd77d5bca3aff615338c82a0f02f4c62d89280f"].unchecked_into(), // 5CfwEv8TQKnszHNhYPuij6EtLZHCcaN3DgzfPCozcS9oxZzB + hex!["d739e1bb4c2b13ea1fff9be72e72d3bb1b364eb3b26176ab9a9512d386b7510b"].unchecked_into(), // 5GvuM53k1Z4nAB5zXJFgkRSHv4Bqo4BsvgbQWNWkiWZTMwWY + ),( + hex!["6c3d14686e97d393814a09bea4246b9f273dcdbdef6731dcab3430b36820f135"].unchecked_into(), // 5EWdAzp9aJseLKVNeWJwE2K8PD47qzMbKVysCXr67xnEohYL + hex!["7a73b9fcb97cee5c2240d88ca9baea06758fac450efe6f90a72014c939d41857"].unchecked_into(), // 5EqG5RSujgrtSBB5DQvR1Z2EMxAe92sAdWNTNHtX4nL2MkPi + hex!["145791f7187d91398d8b445598f62be39b766d6e33e9d57b69c4d23fca218d7f"].unchecked_into(), // 5CXNq1mSKJT4Sc2CbyBBdANeSkbUvdWvE4czJjKXfBHi9sX5 + ),( + hex!["be6726c17ad7b5844c9e0ab6a1698d00d88bf183f0f82d8ec9627531c9ddc934"].unchecked_into(), // 5GNMbce1P2FfjvcPcoUxzjj6bYSRdQ2RpsbCyF9ozwMxx3NS + hex!["123b9048ba61265547ad3f336dfa48c16851ba1a96691e5d1ab3be1725db0614"].unchecked_into(), // 5CUcQvAgMzXMpQSz8mgzeiswDFHED88NiEK4byfS5TLaTJow + hex!["8abecfa66704176be23df099bf441ea65444992d63b3ced3e76a17a4d38b0b0e"].unchecked_into(), // 5FCd9Y7RLNyxz5wnCAErfsLbXGG34L2BaZRHzhiJcMUMd5zd + )]; + const MILLICENTS: u128 = 1_000_000_000; const CENTS: u128 = 1_000 * MILLICENTS; // assume this is worth about a cent. const DOLLARS: u128 = 100 * CENTS; @@ -79,7 +83,7 @@ fn staging_testnet_config_genesis() -> GenesisConfig { system: None, balances: Some(BalancesConfig { balances: endowed_accounts.iter() - .map(|&k| (k, ENDOWMENT)) + .map(|k: &AccountId| (k.clone(), ENDOWMENT)) .chain(initial_authorities.iter().map(|x| (x.0.clone(), STASH))) .collect(), existential_deposit: 1 * DOLLARS, @@ -93,7 +97,7 @@ fn staging_testnet_config_genesis() -> GenesisConfig { .collect::>(), }), session: Some(SessionConfig { - validators: initial_authorities.iter().map(|x| x.1.into()).collect(), + validators: initial_authorities.iter().map(|x| x.1.clone()).collect(), session_length: 5 * MINUTES, keys: initial_authorities.iter().map(|x| (x.1.clone(), x.2.clone())).collect::>(), }), @@ -108,8 +112,8 @@ fn staging_testnet_config_genesis() -> GenesisConfig { bonding_duration: 60 * MINUTES, offline_slash_grace: 4, minimum_validator_count: 4, - stakers: initial_authorities.iter().map(|x| (x.0.into(), x.1.into(), STASH)).collect(), - invulnerables: initial_authorities.iter().map(|x| x.1.into()).collect(), + stakers: initial_authorities.iter().map(|x| (x.0.clone(), x.1.clone(), STASH, StakerStatus::Validator)).collect(), + invulnerables: initial_authorities.iter().map(|x| x.1.clone()).collect(), }), democracy: Some(DemocracyConfig { launch_period: 10 * MINUTES, // 1 day per public referendum @@ -176,29 +180,32 @@ pub fn staging_testnet_config() -> ChainSpec { ) } -/// Helper function to generate AuthorityID from seed +/// Helper function to generate AccountId from seed pub fn get_account_id_from_seed(seed: &str) -> AccountId { - let padded_seed = pad_seed(seed); - // NOTE from ed25519 impl: - // prefer pkcs#8 unless security doesn't matter -- this is used primarily for tests. - ed25519::Pair::from_seed(&padded_seed).public().0.into() + sr25519::Pair::from_string(&format!("//{}", seed), None) + .expect("static values are valid; qed") + .public() +} + +/// Helper function to generate SessionKey from seed +pub fn get_session_key_from_seed(seed: &str) -> SessionKey { + ed25519::Pair::from_string(&format!("//{}", seed), None) + .expect("static values are valid; qed") + .public() } /// Helper function to generate stash, controller and session key from seed -pub fn get_authority_keys_from_seed(seed: &str) -> (AccountId, AccountId, AuthorityId) { - let padded_seed = pad_seed(seed); - // NOTE from ed25519 impl: - // prefer pkcs#8 unless security doesn't matter -- this is used primarily for tests. +pub fn get_authority_keys_from_seed(seed: &str) -> (AccountId, AccountId, SessionKey) { ( - get_account_id_from_seed(&format!("{}-stash", seed)), + get_account_id_from_seed(&format!("{}//stash", seed)), get_account_id_from_seed(seed), - ed25519::Pair::from_seed(&padded_seed).public().0.into() + get_session_key_from_seed(seed) ) } /// Helper function to create GenesisConfig for testing pub fn testnet_genesis( - initial_authorities: Vec<(AccountId, AccountId, AuthorityId)>, + initial_authorities: Vec<(AccountId, AccountId, SessionKey)>, root_key: AccountId, endowed_accounts: Option>, ) -> GenesisConfig { @@ -229,11 +236,11 @@ pub fn testnet_genesis( existential_deposit: 500, transfer_fee: 0, creation_fee: 0, - balances: endowed_accounts.iter().map(|&k| (k.into(), ENDOWMENT)).collect(), + balances: endowed_accounts.iter().map(|k| (k.clone(), ENDOWMENT)).collect(), vesting: vec![], }), session: Some(SessionConfig { - validators: initial_authorities.iter().map(|x| x.1.into()).collect(), + validators: initial_authorities.iter().map(|x| x.1.clone()).collect(), session_length: 10, keys: initial_authorities.iter().map(|x| (x.1.clone(), x.2.clone())).collect::>(), }), @@ -248,8 +255,8 @@ pub fn testnet_genesis( current_offline_slash: 0, current_session_reward: 0, offline_slash_grace: 0, - stakers: initial_authorities.iter().map(|x| (x.0.into(), x.1.into(), STASH)).collect(), - invulnerables: initial_authorities.iter().map(|x| x.1.into()).collect(), + stakers: initial_authorities.iter().map(|x| (x.0.clone(), x.1.clone(), STASH, StakerStatus::Validator)).collect(), + invulnerables: initial_authorities.iter().map(|x| x.1.clone()).collect(), }), democracy: Some(DemocracyConfig { launch_period: 9, @@ -261,7 +268,7 @@ pub fn testnet_genesis( council_seats: Some(CouncilSeatsConfig { active_council: endowed_accounts.iter() .filter(|&endowed| initial_authorities.iter().find(|&(_, controller, _)| controller == endowed).is_none()) - .map(|a| (a.clone().into(), 1000000)).collect(), + .map(|a| (a.clone(), 1000000)).collect(), candidacy_bond: 10, voter_bond: 2, present_slash_per_voter: 1, diff --git a/polkadot/service/src/lib.rs b/polkadot/service/src/lib.rs index ea289e3c0b..b71b460a06 100644 --- a/polkadot/service/src/lib.rs +++ b/polkadot/service/src/lib.rs @@ -14,8 +14,6 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -#![warn(unused_extern_crates)] - //! Polkadot service. Specialized wrapper over substrate service. extern crate polkadot_availability_store as av_store; @@ -27,7 +25,6 @@ extern crate polkadot_network; extern crate sr_primitives; extern crate substrate_primitives as primitives; extern crate substrate_client as client; -extern crate substrate_keystore as keystore; #[macro_use] extern crate substrate_service as service; extern crate substrate_consensus_aura as aura; @@ -46,10 +43,10 @@ pub mod chain_spec; use std::sync::Arc; use std::time::Duration; -use polkadot_primitives::{parachain, AccountId, Block, Hash, BlockId}; +use polkadot_primitives::{parachain, parachain::CollatorId, Block, Hash, BlockId}; use polkadot_runtime::{GenesisConfig, RuntimeApi}; use polkadot_network::gossip::{self as network_gossip, Known}; -use primitives::ed25519; +use primitives::{Pair, ed25519}; use tokio::runtime::TaskExecutor; use service::{FactoryFullConfiguration, FullBackend, LightBackend, FullExecutor, LightExecutor}; use transaction_pool::txpool::{Pool as TransactionPool}; @@ -76,7 +73,7 @@ pub type Configuration = FactoryFullConfiguration; pub struct CustomConfiguration { /// Set to `Some` with a collator `AccountId` and desired parachain /// if the network protocol should be started in collator mode. - pub collating_for: Option<(AccountId, parachain::Id)>, + pub collating_for: Option<(CollatorId, parachain::Id)>, /// Intermediate state during setup. Will be removed in future. Set to `None`. // FIXME: rather than putting this on the config, let's have an actual intermediate setup state @@ -159,7 +156,7 @@ construct_service_factory! { struct Factory { Block = Block, RuntimeApi = RuntimeApi, - NetworkProtocol = PolkadotProtocol { |config: &Configuration| Ok(PolkadotProtocol::new(config.custom.collating_for)) }, + NetworkProtocol = PolkadotProtocol { |config: &Configuration| Ok(PolkadotProtocol::new(config.custom.collating_for.clone())) }, RuntimeDispatch = polkadot_executor::Executor, FullTransactionPoolApi = TxChainApi, FullExecutor> { |config, client| Ok(TransactionPool::new(config, TxChainApi::new(client))) }, diff --git a/polkadot/statement-table/src/lib.rs b/polkadot/statement-table/src/lib.rs index 1507844612..c5304c7801 100644 --- a/polkadot/statement-table/src/lib.rs +++ b/polkadot/statement-table/src/lib.rs @@ -26,18 +26,18 @@ pub mod generic; pub use generic::Table; use primitives::parachain::{ - Id, CandidateReceipt, CandidateSignature as Signature, Statement as PrimitiveStatement, + Id, CandidateReceipt, Statement as PrimitiveStatement, ValidatorSignature, ValidatorId }; -use primitives::{SessionKey, Hash}; +use primitives::Hash; /// Statements about candidates on the network. pub type Statement = generic::Statement; /// Signed statements about candidates. -pub type SignedStatement = generic::SignedStatement; +pub type SignedStatement = generic::SignedStatement; /// Kinds of misbehavior, along with proof. -pub type Misbehavior = generic::Misbehavior; +pub type Misbehavior = generic::Misbehavior; /// A summary of import of a statement. pub type Summary = generic::Summary; @@ -46,17 +46,17 @@ pub type Summary = generic::Summary; pub trait Context { /// Whether a authority is a member of a group. /// Members are meant to submit candidates and vote on validity. - fn is_member_of(&self, authority: &SessionKey, group: &Id) -> bool; + fn is_member_of(&self, authority: &ValidatorId, group: &Id) -> bool; // requisite number of votes for validity from a group. fn requisite_votes(&self, group: &Id) -> usize; } impl generic::Context for C { - type AuthorityId = SessionKey; + type AuthorityId = ValidatorId; type Digest = Hash; type GroupId = Id; - type Signature = Signature; + type Signature = ValidatorSignature; type Candidate = CandidateReceipt; fn candidate_digest(candidate: &CandidateReceipt) -> Hash { @@ -67,7 +67,7 @@ impl generic::Context for C { candidate.parachain_index.clone() } - fn is_member_of(&self, authority: &SessionKey, group: &Id) -> bool { + fn is_member_of(&self, authority: &ValidatorId, group: &Id) -> bool { Context::is_member_of(self, authority, group) } diff --git a/polkadot/test-parachains/adder/collator/src/main.rs b/polkadot/test-parachains/adder/collator/src/main.rs index 364cfa4cbe..b704bb4f3f 100644 --- a/polkadot/test-parachains/adder/collator/src/main.rs +++ b/polkadot/test-parachains/adder/collator/src/main.rs @@ -31,7 +31,7 @@ use std::collections::HashMap; use std::sync::Arc; use adder::{HeadData as AdderHead, BlockData as AdderBody}; -use substrate_primitives::ed25519::Pair; +use substrate_primitives::{Pair as PairT, ed25519::Pair}; use parachain::codec::{Encode, Decode}; use primitives::parachain::{HeadData, BlockData, Id as ParaId, Message}; use collator::{InvalidHead, ParachainContext, VersionInfo}; @@ -98,7 +98,7 @@ impl ParachainContext for AdderContext { } fn main() { - let key = Arc::new(Pair::from_seed(&[1; 32])); + let key = Arc::new(Pair::from_seed([1; 32])); let id: ParaId = 100.into(); println!("Starting adder collator with genesis: "); diff --git a/polkadot/validation/src/collation.rs b/polkadot/validation/src/collation.rs index 13b64784a3..7195db6d00 100644 --- a/polkadot/validation/src/collation.rs +++ b/polkadot/validation/src/collation.rs @@ -21,7 +21,7 @@ use std::sync::Arc; -use polkadot_primitives::{Block, Hash, AccountId, BlockId}; +use polkadot_primitives::{Block, Hash, BlockId, parachain::CollatorId}; use polkadot_primitives::parachain::{Id as ParaId, Collation, Extrinsic, OutgoingMessage}; use polkadot_primitives::parachain::{CandidateReceipt, ParachainHost}; use runtime_primitives::traits::ProvideRuntimeApi; @@ -49,7 +49,7 @@ pub trait Collators: Clone { fn collate(&self, parachain: ParaId, relay_parent: Hash) -> Self::Collation; /// Note a bad collator. TODO: take proof - fn note_bad_collator(&self, collator: AccountId); + fn note_bad_collator(&self, collator: CollatorId); } /// A future which resolves when a collation is available. diff --git a/polkadot/validation/src/error.rs b/polkadot/validation/src/error.rs index 409017b8cb..0cc1865b97 100644 --- a/polkadot/validation/src/error.rs +++ b/polkadot/validation/src/error.rs @@ -16,9 +16,10 @@ //! Errors that can occur during the validation process. -use primitives::Ed25519AuthorityId as AuthorityId; use runtime_primitives::RuntimeString; +use primitives::ed25519::Public as AuthorityId; + error_chain! { links { Client(::client::error::Error, ::client::error::ErrorKind); diff --git a/polkadot/validation/src/lib.rs b/polkadot/validation/src/lib.rs index af71d8ddbc..3b00a71626 100644 --- a/polkadot/validation/src/lib.rs +++ b/polkadot/validation/src/lib.rs @@ -77,10 +77,9 @@ use parking_lot::Mutex; use polkadot_primitives::{Hash, Block, BlockId, BlockNumber, Header, SessionKey}; use polkadot_primitives::parachain::{ Id as ParaId, Chain, DutyRoster, BlockData, Extrinsic as ParachainExtrinsic, CandidateReceipt, - CandidateSignature, ParachainHost, AttestedCandidate, Statement as PrimitiveStatement, Message, - OutgoingMessage, + ParachainHost, AttestedCandidate, Statement as PrimitiveStatement, Message, OutgoingMessage, CollatorSignature }; -use primitives::{Ed25519AuthorityId as AuthorityId, ed25519}; +use primitives::{Pair, ed25519}; use runtime_primitives::{traits::{ProvideRuntimeApi, Header as HeaderT}, ApplyError}; use tokio::runtime::TaskExecutor; use tokio::timer::{Delay, Interval}; @@ -95,6 +94,8 @@ use inherents::InherentData; use runtime_aura::timestamp::TimestampInherentData; use aura::SlotDuration; +use ed25519::Public as AuthorityId; + pub use self::collation::{validate_collation, message_queue_root, egress_roots, Collators}; pub use self::error::{ErrorKind, Error}; pub use self::shared_table::{ @@ -192,7 +193,7 @@ pub struct GroupInfo { /// Sign a table statement against a parent hash. /// The actual message signed is the encoded statement concatenated with the /// parent hash. -pub fn sign_table_statement(statement: &Statement, key: &ed25519::Pair, parent_hash: &Hash) -> CandidateSignature { +pub fn sign_table_statement(statement: &Statement, key: &ed25519::Pair, parent_hash: &Hash) -> CollatorSignature { // we sign using the primitive statement type because that's what the runtime // expects. These types probably encode the same way so this clone could be optimized // out in the future. @@ -203,7 +204,7 @@ pub fn sign_table_statement(statement: &Statement, key: &ed25519::Pair, parent_h } /// Check signature on table statement. -pub fn check_statement(statement: &Statement, signature: &CandidateSignature, signer: SessionKey, parent_hash: &Hash) -> bool { +pub fn check_statement(statement: &Statement, signature: &CollatorSignature, signer: SessionKey, parent_hash: &Hash) -> bool { use runtime_primitives::traits::Verify; let mut encoded = PrimitiveStatement::from(statement.clone()).encode(); @@ -799,17 +800,17 @@ impl Future for CreateProposal where #[cfg(test)] mod tests { use super::*; - use substrate_keyring::Keyring; + use substrate_keyring::AuthorityKeyring; #[test] fn sign_and_check_statement() { let statement: Statement = GenericStatement::Valid([1; 32].into()); let parent_hash = [2; 32].into(); - let sig = sign_table_statement(&statement, &Keyring::Alice.pair(), &parent_hash); + let sig = sign_table_statement(&statement, &AuthorityKeyring::Alice.pair(), &parent_hash); - assert!(check_statement(&statement, &sig, Keyring::Alice.to_raw_public().into(), &parent_hash)); - assert!(!check_statement(&statement, &sig, Keyring::Alice.to_raw_public().into(), &[0xff; 32].into())); - assert!(!check_statement(&statement, &sig, Keyring::Bob.to_raw_public().into(), &parent_hash)); + assert!(check_statement(&statement, &sig, AuthorityKeyring::Alice.into(), &parent_hash)); + assert!(!check_statement(&statement, &sig, AuthorityKeyring::Alice.into(), &[0xff; 32].into())); + assert!(!check_statement(&statement, &sig, AuthorityKeyring::Bob.into(), &parent_hash)); } } diff --git a/polkadot/validation/src/shared_table/mod.rs b/polkadot/validation/src/shared_table/mod.rs index 7b1e057d67..e3664dc1ac 100644 --- a/polkadot/validation/src/shared_table/mod.rs +++ b/polkadot/validation/src/shared_table/mod.rs @@ -33,7 +33,7 @@ use futures::{future, prelude::*}; use super::{GroupInfo, Incoming, TableRouter}; use self::includable::IncludabilitySender; -use primitives::ed25519; +use primitives::{Pair, ed25519}; use runtime_primitives::{traits::ProvideRuntimeApi}; mod includable; @@ -544,7 +544,8 @@ impl SharedTable { #[cfg(test)] mod tests { use super::*; - use substrate_keyring::Keyring; + use substrate_keyring::AuthorityKeyring; + use primitives::crypto::UncheckedInto; use futures::future; #[derive(Clone)] @@ -572,15 +573,16 @@ mod tests { let mut groups = HashMap::new(); let para_id = ParaId::from(1); - let local_id = Keyring::Alice.to_raw_public().into(); - let local_key = Arc::new(Keyring::Alice.pair()); - - let validity_other = Keyring::Bob.to_raw_public().into(); - let validity_other_key = Keyring::Bob.pair(); let parent_hash = Default::default(); + let local_key = Arc::new(AuthorityKeyring::Alice.pair()); + let local_id = local_key.public(); + + let validity_other_key = AuthorityKeyring::Bob.pair(); + let validity_other = validity_other_key.public(); + groups.insert(para_id, GroupInfo { - validity_guarantors: [local_id, validity_other].iter().cloned().collect(), + validity_guarantors: [local_id, validity_other.clone()].iter().cloned().collect(), needed_validity: 2, }); @@ -593,7 +595,7 @@ mod tests { let candidate = CandidateReceipt { parachain_index: para_id, - collator: [1; 32].into(), + collator: [1; 32].unchecked_into(), signature: Default::default(), head_data: ::polkadot_primitives::parachain::HeadData(vec![1, 2, 3, 4]), balance_uploads: Vec::new(), @@ -622,15 +624,16 @@ mod tests { let mut groups = HashMap::new(); let para_id = ParaId::from(1); - let local_id = Keyring::Alice.to_raw_public().into(); - let local_key = Arc::new(Keyring::Alice.pair()); - - let validity_other = Keyring::Bob.to_raw_public().into(); - let validity_other_key = Keyring::Bob.pair(); let parent_hash = Default::default(); + let local_key = Arc::new(AuthorityKeyring::Alice.pair()); + let local_id = local_key.public(); + + let validity_other_key = AuthorityKeyring::Bob.pair(); + let validity_other = validity_other_key.public(); + groups.insert(para_id, GroupInfo { - validity_guarantors: [local_id, validity_other].iter().cloned().collect(), + validity_guarantors: [local_id, validity_other.clone()].iter().cloned().collect(), needed_validity: 1, }); @@ -643,7 +646,7 @@ mod tests { let candidate = CandidateReceipt { parachain_index: para_id, - collator: [1; 32].into(), + collator: [1; 32].unchecked_into(), signature: Default::default(), head_data: ::polkadot_primitives::parachain::HeadData(vec![1, 2, 3, 4]), balance_uploads: Vec::new(), @@ -676,7 +679,7 @@ mod tests { let candidate = CandidateReceipt { parachain_index: para_id, - collator: [1; 32].into(), + collator: [1; 32].unchecked_into(), signature: Default::default(), head_data: ::polkadot_primitives::parachain::HeadData(vec![1, 2, 3, 4]), balance_uploads: Vec::new(), @@ -716,7 +719,7 @@ mod tests { let candidate = CandidateReceipt { parachain_index: para_id, - collator: [1; 32].into(), + collator: [1; 32].unchecked_into(), signature: Default::default(), head_data: ::polkadot_primitives::parachain::HeadData(vec![1, 2, 3, 4]), balance_uploads: Vec::new(), @@ -751,15 +754,16 @@ mod tests { let mut groups = HashMap::new(); let para_id = ParaId::from(1); - let local_id = Keyring::Alice.to_raw_public().into(); - let local_key = Arc::new(Keyring::Alice.pair()); - - let validity_other = Keyring::Bob.to_raw_public().into(); - let validity_other_key = Keyring::Bob.pair(); let parent_hash = Default::default(); + let local_key = Arc::new(AuthorityKeyring::Alice.pair()); + let local_id = local_key.public(); + + let validity_other_key = AuthorityKeyring::Bob.pair(); + let validity_other = validity_other_key.public(); + groups.insert(para_id, GroupInfo { - validity_guarantors: [local_id, validity_other].iter().cloned().collect(), + validity_guarantors: [local_id, validity_other.clone()].iter().cloned().collect(), needed_validity: 1, }); @@ -772,7 +776,7 @@ mod tests { let candidate = CandidateReceipt { parachain_index: para_id, - collator: [1; 32].into(), + collator: [1; 32].unchecked_into(), signature: Default::default(), head_data: ::polkadot_primitives::parachain::HeadData(vec![1, 2, 3, 4]), balance_uploads: Vec::new(), @@ -811,14 +815,16 @@ mod tests { let mut groups = HashMap::new(); let para_id = ParaId::from(1); - let local_id = Keyring::Alice.to_raw_public().into(); - let local_key = Arc::new(Keyring::Alice.pair()); let block_data = BlockData(vec![1, 2, 3]); let extrinsic = Extrinsic { outgoing_messages: Vec::new() }; - - let validity_other = Keyring::Bob.to_raw_public().into(); let parent_hash = Default::default(); + let local_key = Arc::new(AuthorityKeyring::Alice.pair()); + let local_id = local_key.public(); + + let validity_other_key = AuthorityKeyring::Bob.pair(); + let validity_other = validity_other_key.public(); + groups.insert(para_id, GroupInfo { validity_guarantors: [local_id, validity_other].iter().cloned().collect(), needed_validity: 1, @@ -833,7 +839,7 @@ mod tests { let candidate = CandidateReceipt { parachain_index: para_id, - collator: [1; 32].into(), + collator: [1; 32].unchecked_into(), signature: Default::default(), head_data: ::polkadot_primitives::parachain::HeadData(vec![1, 2, 3, 4]), balance_uploads: Vec::new(),