diff --git a/Cargo.lock b/Cargo.lock index 0a2abcb1d86c..78752de9a3e7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -12,8 +12,8 @@ dependencies = [ name = "adder" version = "0.1.0" dependencies = [ - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", ] @@ -190,6 +190,14 @@ dependencies = [ "safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "base64" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "bigint" version = "4.4.1" @@ -221,13 +229,13 @@ dependencies = [ [[package]] name = "bitflags" -version = "0.9.1" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] -name = "bitflags" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "bitmask" +version = "0.5.0" +source = "git+https://github.com/paritytech/bitmask#c2d8d196e30b018d1385be8357fdca61b978facf" [[package]] name = "bitvec" @@ -263,15 +271,6 @@ dependencies = [ "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "block-buffer" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "block-buffer" version = "0.7.0" @@ -314,11 +313,6 @@ name = "byte-tools" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "byteorder" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "byteorder" version = "0.5.3" @@ -536,15 +530,6 @@ dependencies = [ "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "crypto-mac" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "crypto-mac" version = "0.7.0" @@ -581,19 +566,6 @@ dependencies = [ "rand 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "curve25519-dalek" -version = "0.20.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)", - "clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", - "generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.5.6 (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" @@ -624,14 +596,6 @@ dependencies = [ "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "digest" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "digest" version = "0.8.0" @@ -654,19 +618,6 @@ dependencies = [ "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "ed25519-dalek" -version = "0.8.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 0.20.0 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "ed25519-dalek" version = "1.0.0-pre.1" @@ -767,8 +718,8 @@ 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", ] @@ -806,10 +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#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -870,14 +820,6 @@ dependencies = [ "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "generic-array" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "generic-array" version = "0.12.0" @@ -983,11 +925,11 @@ dependencies = [ [[package]] name = "hmac" -version = "0.6.3" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "crypto-mac 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", + "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]] @@ -1082,7 +1024,7 @@ name = "impl-codec" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1303,30 +1245,33 @@ dependencies = [ [[package]] name = "libp2p" -version = "0.3.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core-derive 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-dns 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-floodsub 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-identify 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-kad 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-mdns 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-mplex 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-noise 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-ping 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-plaintext 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-ratelimit 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-secio 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-tcp 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-uds 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-websocket 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-yamux 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-core-derive 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-dns 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-floodsub 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-identify 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-kad 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-mdns 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-mplex 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-noise 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-ping 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-plaintext 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-ratelimit 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-secio 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-tcp 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-uds 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-websocket 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-yamux 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-multiaddr 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-multihash 0.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)", + "smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", "stdweb 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1335,20 +1280,22 @@ dependencies = [ [[package]] name = "libp2p-core" -version = "0.3.4" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bs58 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.11 (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)", + "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)", "multistream-select 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-multiaddr 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-multihash 0.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)", "protobuf 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "rw-stream-sink 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1360,7 +1307,7 @@ dependencies = [ [[package]] name = "libp2p-core-derive" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1369,20 +1316,20 @@ dependencies = [ [[package]] name = "libp2p-dns" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-multiaddr 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-dns-unofficial 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "libp2p-floodsub" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bs58 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1390,7 +1337,7 @@ dependencies = [ "cuckoofilter 0.3.2 (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)", - "libp2p-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "protobuf 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 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)", @@ -1401,15 +1348,15 @@ dependencies = [ [[package]] name = "libp2p-identify" -version = "0.3.1" +version = "0.4.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)", "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)", - "libp2p-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-multiaddr 0.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)", "protobuf 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1422,7 +1369,7 @@ dependencies = [ [[package]] name = "libp2p-kad" -version = "0.3.3" +version = "0.4.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)", @@ -1431,11 +1378,11 @@ dependencies = [ "bytes 0.4.11 (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)", - "libp2p-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-identify 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-ping 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-identify 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-ping 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-multiaddr 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-multihash 0.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)", "protobuf 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1450,16 +1397,16 @@ dependencies = [ [[package]] name = "libp2p-mdns" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "data-encoding 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "dns-parser 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-multiaddr 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 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)", "tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1471,13 +1418,13 @@ dependencies = [ [[package]] name = "libp2p-mplex" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bytes 0.4.11 (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)", - "libp2p-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-core 0.4.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)", "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1487,13 +1434,13 @@ dependencies = [ [[package]] name = "libp2p-noise" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "curve25519-dalek 1.0.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)", - "libp2p-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-core 0.4.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)", "snow 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1502,15 +1449,15 @@ dependencies = [ [[package]] name = "libp2p-ping" -version = "0.3.0" +version = "0.4.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)", "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-multiaddr 0.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)", "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1521,22 +1468,22 @@ dependencies = [ [[package]] name = "libp2p-plaintext" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "libp2p-ratelimit" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "aio-limited 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (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)", @@ -1544,25 +1491,25 @@ dependencies = [ [[package]] name = "libp2p-secio" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "aes-ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "asn1_der 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", "ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ed25519-dalek 0.8.1 (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)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", - "hmac 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "hmac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "protobuf 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "ring 0.14.5 (registry+https://github.com/rust-lang/crates.io-index)", "rw-stream-sink 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "secp256k1 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "stdweb 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", "twofish 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1571,13 +1518,13 @@ dependencies = [ [[package]] name = "libp2p-tcp" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-multiaddr 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "tk-listen 0.2.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-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1585,38 +1532,38 @@ dependencies = [ [[package]] name = "libp2p-uds" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-multiaddr 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "libp2p-websocket" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-multiaddr 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "rw-stream-sink 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "stdweb 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "websocket 0.21.1 (registry+https://github.com/rust-lang/crates.io-index)", + "websocket 0.22.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "libp2p-yamux" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", "yamux 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1657,6 +1604,14 @@ name = "linked-hash-map" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "linked_hash_set" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "lock_api" version = "0.1.5" @@ -1975,18 +1930,20 @@ source = "git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7 [[package]] name = "parity-codec" -version = "3.0.0" +version = "3.1.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)", ] [[package]] name = "parity-codec-derive" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" 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)", @@ -2005,12 +1962,12 @@ dependencies = [ [[package]] name = "parity-multiaddr" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "bs58 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "data-encoding 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "parity-multihash 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2171,7 +2128,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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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-primitives 0.1.0", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -2195,7 +2152,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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.1.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", @@ -2208,7 +2165,7 @@ dependencies = [ name = "polkadot-erasure-coding" version = "0.1.0" dependencies = [ - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.1.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)", @@ -2231,8 +2188,8 @@ 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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", "polkadot-primitives 0.1.0", @@ -2251,8 +2208,8 @@ 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2263,8 +2220,8 @@ dependencies = [ name = "polkadot-primitives" version = "0.1.0" dependencies = [ - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2285,8 +2242,8 @@ 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", @@ -2346,9 +2303,10 @@ dependencies = [ "substrate-consensus-aura 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-finality-grandpa 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-inherents 0.1.0 (git+https://github.com/paritytech/substrate)", + "substrate-keystore 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-service 0.3.0 (git+https://github.com/paritytech/substrate)", - "substrate-telemetry 0.3.0 (git+https://github.com/paritytech/substrate)", + "substrate-telemetry 0.3.1 (git+https://github.com/paritytech/substrate)", "substrate-transaction-pool 0.1.0 (git+https://github.com/paritytech/substrate)", "tokio 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2357,8 +2315,8 @@ dependencies = [ name = "polkadot-statement-table" version = "0.1.0" dependencies = [ - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", ] @@ -2371,7 +2329,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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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", "polkadot-parachain 0.1.0", @@ -2815,11 +2773,6 @@ dependencies = [ "subtle 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "scoped-tls" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "scopeguard" version = "0.3.3" @@ -2915,17 +2868,6 @@ dependencies = [ "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "sha2" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "sha2" version = "0.8.0" @@ -3039,7 +2981,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#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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)", @@ -3051,12 +2993,12 @@ dependencies = [ [[package]] name = "sr-io" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.1.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)", @@ -3068,13 +3010,12 @@ dependencies = [ [[package]] name = "sr-primitives" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (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)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3085,7 +3026,7 @@ dependencies = [ [[package]] name = "sr-std" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3093,11 +3034,10 @@ dependencies = [ [[package]] name = "sr-version" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ "impl-serde 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3107,14 +3047,15 @@ dependencies = [ [[package]] name = "srml-aura" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", + "srml-session 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-staking 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-support 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-system 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3125,11 +3066,10 @@ dependencies = [ [[package]] name = "srml-balances" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3142,11 +3082,10 @@ dependencies = [ [[package]] name = "srml-consensus" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3160,10 +3099,10 @@ dependencies = [ [[package]] name = "srml-council" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3178,11 +3117,10 @@ dependencies = [ [[package]] name = "srml-democracy" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3196,9 +3134,9 @@ dependencies = [ [[package]] name = "srml-executive" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ - "parity-codec 3.0.0 (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)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3210,11 +3148,11 @@ dependencies = [ [[package]] name = "srml-fees" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3224,17 +3162,33 @@ dependencies = [ "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", ] +[[package]] +name = "srml-finality-tracker" +version = "0.1.0" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" +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)", + "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)", + "srml-system 0.1.0 (git+https://github.com/paritytech/substrate)", + "substrate-inherents 0.1.0 (git+https://github.com/paritytech/substrate)", +] + [[package]] name = "srml-grandpa" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 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)", "srml-system 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3245,11 +3199,11 @@ dependencies = [ [[package]] name = "srml-indices" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3264,10 +3218,9 @@ dependencies = [ [[package]] name = "srml-metadata" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (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)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3277,11 +3230,11 @@ dependencies = [ [[package]] name = "srml-session" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3295,13 +3248,13 @@ dependencies = [ [[package]] name = "srml-staking" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", + "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)", "srml-consensus 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3314,11 +3267,11 @@ dependencies = [ [[package]] name = "srml-sudo" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3330,12 +3283,12 @@ dependencies = [ [[package]] name = "srml-support" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.1.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)", @@ -3350,7 +3303,7 @@ dependencies = [ [[package]] name = "srml-support-procedural" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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)", @@ -3362,7 +3315,7 @@ dependencies = [ [[package]] name = "srml-support-procedural-tools" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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)", @@ -3374,7 +3327,7 @@ dependencies = [ [[package]] name = "srml-support-procedural-tools-derive" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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)", @@ -3384,11 +3337,10 @@ dependencies = [ [[package]] name = "srml-system" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3402,15 +3354,13 @@ dependencies = [ [[package]] name = "srml-timestamp" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (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)", "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-support 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-system 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-inherents 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3419,11 +3369,10 @@ dependencies = [ [[package]] name = "srml-treasury" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3436,9 +3385,9 @@ dependencies = [ [[package]] name = "srml-upgrade-key" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ - "parity-codec 3.0.0 (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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3547,7 +3496,7 @@ dependencies = [ [[package]] name = "substrate-cli" version = "0.3.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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)", @@ -3570,7 +3519,7 @@ dependencies = [ "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-service 0.3.0 (git+https://github.com/paritytech/substrate)", "substrate-state-machine 0.1.0 (git+https://github.com/paritytech/substrate)", - "substrate-telemetry 0.3.0 (git+https://github.com/paritytech/substrate)", + "substrate-telemetry 0.3.1 (git+https://github.com/paritytech/substrate)", "sysinfo 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", "tokio 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3579,7 +3528,7 @@ dependencies = [ [[package]] name = "substrate-client" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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)", @@ -3589,8 +3538,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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "sr-api-macros 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3602,22 +3550,21 @@ dependencies = [ "substrate-keyring 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-state-machine 0.1.0 (git+https://github.com/paritytech/substrate)", - "substrate-telemetry 0.3.0 (git+https://github.com/paritytech/substrate)", + "substrate-telemetry 0.3.1 (git+https://github.com/paritytech/substrate)", "substrate-trie 0.4.0 (git+https://github.com/paritytech/substrate)", ] [[package]] name = "substrate-client-db" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3631,12 +3578,12 @@ dependencies = [ [[package]] name = "substrate-consensus-aura" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3650,13 +3597,14 @@ dependencies = [ "substrate-consensus-common 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)", + "substrate-telemetry 0.3.1 (git+https://github.com/paritytech/substrate)", "tokio 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "substrate-consensus-aura-primitives" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ "substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)", ] @@ -3664,12 +3612,12 @@ dependencies = [ [[package]] name = "substrate-consensus-aura-slots" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3683,14 +3631,14 @@ dependencies = [ [[package]] name = "substrate-consensus-common" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", @@ -3701,14 +3649,14 @@ dependencies = [ [[package]] name = "substrate-executor" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "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)", @@ -3726,33 +3674,34 @@ dependencies = [ [[package]] name = "substrate-finality-grandpa" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", + "srml-finality-tracker 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-consensus-common 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-finality-grandpa-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", + "substrate-inherents 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-network 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-service 0.3.0 (git+https://github.com/paritytech/substrate)", + "substrate-telemetry 0.3.1 (git+https://github.com/paritytech/substrate)", "tokio 0.1.15 (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#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3762,10 +3711,9 @@ dependencies = [ [[package]] name = "substrate-inherents" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3774,7 +3722,7 @@ dependencies = [ [[package]] name = "substrate-keyring" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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)", @@ -3784,7 +3732,7 @@ dependencies = [ [[package]] name = "substrate-keystore" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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)", @@ -3800,7 +3748,7 @@ dependencies = [ [[package]] name = "substrate-network" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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)", @@ -3808,10 +3756,10 @@ dependencies = [ "fork-tree 0.1.0 (git+https://github.com/paritytech/substrate)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "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)", @@ -3826,14 +3774,15 @@ dependencies = [ [[package]] name = "substrate-network-libp2p" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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)", "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)", "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p 0.4.2 (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)", @@ -3851,7 +3800,7 @@ dependencies = [ [[package]] name = "substrate-panic-handler" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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)", @@ -3860,7 +3809,7 @@ dependencies = [ [[package]] name = "substrate-primitives" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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)", @@ -3869,8 +3818,7 @@ dependencies = [ "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)", "impl-serde 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.1.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)", "ring 0.14.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3888,14 +3836,14 @@ dependencies = [ [[package]] name = "substrate-rpc" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "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)", @@ -3914,7 +3862,7 @@ dependencies = [ [[package]] name = "substrate-rpc-servers" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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)", @@ -3928,7 +3876,7 @@ dependencies = [ [[package]] name = "substrate-serializer" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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)", @@ -3937,14 +3885,14 @@ dependencies = [ [[package]] name = "substrate-service" version = "0.3.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "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)", @@ -3960,7 +3908,7 @@ dependencies = [ "substrate-network 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-rpc-servers 0.1.0 (git+https://github.com/paritytech/substrate)", - "substrate-telemetry 0.3.0 (git+https://github.com/paritytech/substrate)", + "substrate-telemetry 0.3.1 (git+https://github.com/paritytech/substrate)", "substrate-transaction-pool 0.1.0 (git+https://github.com/paritytech/substrate)", "target_info 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3969,11 +3917,10 @@ dependencies = [ [[package]] name = "substrate-state-db" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" dependencies = [ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", ] @@ -3981,13 +3928,13 @@ dependencies = [ [[package]] name = "substrate-state-machine" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "substrate-panic-handler 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -3998,12 +3945,15 @@ dependencies = [ [[package]] name = "substrate-telemetry" -version = "0.3.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +version = "0.3.1" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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)", "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)", "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)", @@ -4014,7 +3964,7 @@ dependencies = [ [[package]] name = "substrate-transaction-graph" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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)", @@ -4028,12 +3978,12 @@ dependencies = [ [[package]] name = "substrate-transaction-pool" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -4044,11 +3994,11 @@ dependencies = [ [[package]] name = "substrate-trie" version = "0.4.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#66795b0773f1b9240dae87dce39fbb61385f6350" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.1.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)", ] @@ -4214,24 +4164,6 @@ dependencies = [ "tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "tokio-core" -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)", - "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)", - "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)", - "scoped-tls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.1.15 (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-reactor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-timer 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "tokio-current-thread" version = "0.1.4" @@ -4605,20 +4537,19 @@ dependencies = [ [[package]] name = "websocket" -version = "0.21.1" +version = "0.22.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", "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)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)", "native-tls 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-tls 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4745,23 +4676,22 @@ dependencies = [ "checksum backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "797c830ac25ccc92a7f8a7b9862bde440715531514594a6154e3d4a54dd769b6" "checksum base-x 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d55aa264e822dbafa12db4d54767aff17c6ba55ea2d8559b3e17392c7d000e5d" "checksum base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" +"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" "checksum base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643" "checksum bigint 4.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ebecac13b3c745150d7b6c3ea7572d372f09d627c2077e893bf26c5c7f70d282" "checksum bindgen 0.43.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6d52d263eacd15d26cbcf215d254b410bd58212aaa2d3c453a04b2d3b3adcf41" -"checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5" "checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12" +"checksum bitmask 0.5.0 (git+https://github.com/paritytech/bitmask)" = "" "checksum bitvec 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e37e2176261200377c7cde4c6de020394174df556c356f965e4bc239f5ce1c5a" "checksum blake2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "91721a6330935673395a0607df4d49a9cb90ae12d259f1b3e0a3f6e1d486872e" "checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" "checksum block-buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1339a1042f5d9f295737ad4d9a6ab6bf81c84a933dba110b9200cd6d1448b814" -"checksum block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a076c298b9ecdb530ed9d967e74a6027d6a7478924520acddcddc24c1c8ab3ab" "checksum block-buffer 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49665c62e0e700857531fa5d3763e91b539ff1abeebd56808d378b495870d60d" "checksum block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1c924d49bd09e7c06003acda26cd9742e796e34282ec6c1189404dee0c1f4774" "checksum block-padding 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d75255892aeb580d3c566f213a2b6fdc1c66667839f45719ee1d30ebf2aea591" "checksum bs58 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0de79cfb98e7aa9988188784d8664b4b5dad6eaaa0863b91d9a4ed871d4f7a42" "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 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "96c8b41881888cc08af32d47ac4edd52bc7fa27fef774be47a92443756451304" "checksum byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0fc10e8cc6b2580fda3f36eb6dc5316657f812a3df879a44a66fc9f0fdbc4855" "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" @@ -4787,21 +4717,17 @@ dependencies = [ "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 crypto-mac 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7afa06d05a046c7a47c3a849907ec303504608c927f4e85f7bfff22b7180d971" "checksum crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" "checksum ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "044f882973b245404e90c90e7e42e8ee8d7a64edfd7adf83d684fb97e8e2c1b6" "checksum ctrlc 3.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "630391922b1b893692c6334369ff528dcc3a9d8061ccf4c803aa8f83cb13db5e" "checksum cuckoofilter 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8dd43f7cfaffe0a386636a10baea2ee05cc50df3b77bea4a456c9572a939bf1f" -"checksum curve25519-dalek 0.20.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3eacf6ff1b911e3170a8c400b402e10c86dc3cb166bd69034ebbc2b785fea4c2" "checksum curve25519-dalek 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "dae47cc3529cdab597dbc8b606e565707209b506e55848f3c15679214a56c956" "checksum data-encoding 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f4f47ca1860a761136924ddd2422ba77b2ea54fe8cc75b9040804a0d9d32ad97" "checksum difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198" "checksum digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e5b29bf156f3f4b3c4f610a25ff69370616ae6e0657d416de22645483e72af0a" -"checksum digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "03b072242a8cbaf9c145665af9d250c59af3b958f83ed6824e13533cf76d5b90" "checksum digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05f47366984d3ad862010e22c7ce81a7dbcaebbdfb37241a620f8b6596ee135c" "checksum discard 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0" "checksum dns-parser 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c4d33be9473d06f75f58220f71f7a9317aca647dc061dbd3c361b0bef505fbea" -"checksum ed25519-dalek 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cd66d8a16ef71c23cf5eeb2140d8d3cd293457c6c7fd6804b593397a933fcf1e" "checksum ed25519-dalek 1.0.0-pre.1 (registry+https://github.com/rust-lang/crates.io-index)" = "81956bcf7ef761fb4e1d88de3fa181358a0d26cbcb9755b587a08f9119824b86" "checksum either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3be565ca5c557d7f59e7cfcf1844f9e3033650c929c6566f511e8005f205c1d0" "checksum elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "88d4851b005ef16de812ea9acdb7bece2f0a40dd86c07b85631d7dafa54537bb" @@ -4828,7 +4754,6 @@ dependencies = [ "checksum gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)" = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" "checksum generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3c0f28c2f5bfb5960175af447a2da7c18900693738343dc896ffbcabd9839592" "checksum generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fceb69994e330afed50c93524be68c42fa898c2d9fd4ee8da03bd7363acd26f2" -"checksum generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef25c5683767570c2bbd7deba372926a55eaae9982d7726ee2a1050239d45b9d" "checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb" "checksum globset 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4743617a7464bbda3c8aec8558ff2f9429047e025771037df561d383337ff865" "checksum h2 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "ddb2b25a33e231484694267af28fec74ac63b5ccf51ee2065a5e313b834d836e" @@ -4840,7 +4765,7 @@ dependencies = [ "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 hmac 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7a13f4163aa0c5ca1be584aace0e2212b2e41be5478218d4f657f5f778b2ae2a" -"checksum hmac 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "733e1b3ac906631ca01ebb577e9bb0f5e37a454032b9036b5eaea4013ed6f99a" +"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 http 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "1a10e5b573b9a0146545010f50772b9e8b1dd0a256564cc4307694c68832a2f5" "checksum httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e8734b0cfd3bc3e101ec59100e101c2eecd19282202e87808b3037b442777a83" @@ -4873,28 +4798,29 @@ dependencies = [ "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 libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9c3ad660d7cb8c5822cd83d10897b0f1f1526792737a179e73896152f85b88c2" -"checksum libp2p 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1cd53656209acc649a3aa4d9ce3580dd75d016317126fbdc6f8a8956f15f74de" -"checksum libp2p-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3bfdf7ab20e901f643cb0913e8e8feffd8439d3ee83d6cfea607f43fa3d14f6d" -"checksum libp2p-core-derive 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "21d637c8aa4d8540d160d747755ac5bd75073de70bd3c0c238d8b1685a66a6be" -"checksum libp2p-dns 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a822c32da15ab0c4451792a4b000c37fbf8e3bc5ac471632f0b1f13e8e555524" -"checksum libp2p-floodsub 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4380fbc42ec03251c9e9a4656744e8e88bbe59cbf4e084fa66370ed0b868d085" -"checksum libp2p-identify 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "48923a9b3792aaf9af793a689c78bd0f42e70cc6cf86cc00d678d8f39ea720b6" -"checksum libp2p-kad 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e93be405af87e5911549ee4c5ffc3ef926bb88c5c416f29f3122fc9cd8545d29" -"checksum libp2p-mdns 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4388af57ce8144eb0f6719926139df4f728042931eee5a32daf783a2fc9e05" -"checksum libp2p-mplex 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "58e4dcf1b8ee62d872ff38134969b0a2d63d014c200748eead158c58512a0c1b" -"checksum libp2p-noise 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9beca4939eb183708b8f172170044d977f1264394998e183efbf4972e09c163f" -"checksum libp2p-ping 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60d3acc575adbf6723b0965eca131e2525bed2c85ec88ddc4bff0462dbc0c2c3" -"checksum libp2p-plaintext 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b7cae333f78b782907d9940cb8dca37ddfa353fcaa812172654969fa65ef280c" -"checksum libp2p-ratelimit 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e298aa8036653ab9d4c37376066cb2fc69f63115522a9a3d402fcdc1654612ea" -"checksum libp2p-secio 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3495935a389a6f4b26e71f9d6eac3fc33a9481f5f5d79ad886d5bc7efe0195c3" -"checksum libp2p-tcp 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ae301dcdd52087d40a106971575144c4f6220b37e0d1d98474085445327e2708" -"checksum libp2p-uds 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3b5524df7a63d97a8bbe2064d6bc85a84594ad71a8fad4b82ae958fbe37770ce" -"checksum libp2p-websocket 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e80602e23cf58b92d47142a32560c19417f8e9113017eb105f5e580f3bbeb8bc" -"checksum libp2p-yamux 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de9a2ed873051c7a85ec7dece746d425564c366b87752e83056c33d8ae758dcf" +"checksum libp2p 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b6395d54c4c96fa175eabf4505e8a7bd616d916fa49fa27c60ceaa6d5d9b51bc" +"checksum libp2p-core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3c8dc95c7fda9de223bc195b637290918e8decb18e63fd3d03005f84b8ce380b" +"checksum libp2p-core-derive 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5e9ff3bb639d0be41e1aff9d0d28715e54474e4d15e43aa4865bdec44867d8d3" +"checksum libp2p-dns 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "63d310aa56671539a2bce6124cf4326482278b0d0b841c3ba1514e44d8597096" +"checksum libp2p-floodsub 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8256d778f0dc087be409d8cbd081a11bc41ea27ddcd4862814e50e8cfa9c6df0" +"checksum libp2p-identify 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d128febfc8fe57b597e627f545bafea43ae009bf85cc9480b583996f244ab685" +"checksum libp2p-kad 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0691fcca7648369798c6466c61139d31dbb7e2afad311e44fcc4e220ce1e4d78" +"checksum libp2p-mdns 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "63289f296e39752180d8a45e024cc38d1028a6db41deab3943ff2ccb9d1224cd" +"checksum libp2p-mplex 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "791e375a6a230568f0d8f56f6236403de8e4bf4bd870c3c5f605fd1778da70b2" +"checksum libp2p-noise 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "70d28b0ca9eb9818d45e037b4a8a0915553c5c1f8d878d8d6170f60451ad37d2" +"checksum libp2p-ping 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "53db5fafd4ca0a32f339371198196795b8e14d8ecb360d8d03ada03299c12a10" +"checksum libp2p-plaintext 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4383404cba7e4483e0b7d78b3ac5e66f8b024233a5095df9da65d5a1e975d692" +"checksum libp2p-ratelimit 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bad4fe925d50cc886608ab3b3a7a962b5064ecc49db8b66fd063a950d469c757" +"checksum libp2p-secio 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "50f9a7641a314d54ad7797f0445685818edb4d3c2f21690cea900f12ea73501b" +"checksum libp2p-tcp 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4625bedbb083d676903a8ede4c5c42f9bf7bd5dee788f3cba29d8e01b785d253" +"checksum libp2p-uds 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac5f5d900e381b02ebea2f0621555a2f25a7735772355291aeb70fd9e0da3692" +"checksum libp2p-websocket 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "96b6dfdd776a248d7494aeaf22f149b4d5f6784146546bc34f7b094c7162e141" +"checksum libp2p-yamux 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d5a6197ae647c963f5a711c6fb00ba07b9a2812df26f6284870221f654fe9313" "checksum librocksdb-sys 5.14.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b9024327233e7fac7982440f73301c00046d438c5b1011e8f4e394226ce19007" "checksum libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "688e8d65e495567c2c35ea0001b26b9debf0b4ea11f8cccc954233b75fc3428a" "checksum linked-hash-map 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7860ec297f7008ff7a1e3382d7f7e1dcd69efc94751a2284bafc3d013c2aa939" "checksum linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "70fb39025bc7cdd76305867c4eccf2f2dcf6e9a57f5b21a93e1c2d86cd03ec9e" +"checksum linked_hash_set 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3c7c91c4c7bbeb4f2f7c4e5be11e6a05bd6830bc37249c47ce1ad86ad453ff9c" "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" @@ -4932,10 +4858,10 @@ 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "88f69984317b736dceac3baa86600fc089856f69b44b07231f39b5648b02bcd4" -"checksum parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a58ba33211595f92cc2163ac583961d3dc767e656934146636b05256cc9acd7f" +"checksum parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "67a4d27831e31e27f1454d6e3d3bb34bcac6bf7ad7032eed0ad0070dc8cf55c1" +"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.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9a8e5d637787fe097ec1bfca2aa3eb687396518003df991c6c7216d86682d5ff" +"checksum parity-multiaddr 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "61ae6944d4435d41f4d0f12108c5cbb9207cbb14bc8f2b4984c6e930dc9c8e41" "checksum parity-multihash 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3e8eab0287ccde7821e337a124dc5a4f1d6e4c25d10cc91e3f9361615dd95076" "checksum parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)" = "511379a8194230c2395d2f5fa627a5a7e108a9f976656ce723ae68fca4097bfc" "checksum parity-ws 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2fec5048fba72a2e01baeb0d08089db79aead4b57e2443df172fb1840075a233" @@ -4999,7 +4925,6 @@ dependencies = [ "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 scoped-tls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28" "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" @@ -5012,7 +4937,6 @@ dependencies = [ "checksum serde_json 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)" = "27dce848e7467aa0e2fcaf0a413641499c0b745452aaca1194d24dedde9e13c9" "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.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9eb6be24e4c23a84d7184280d2722f7f2731fcdd4a9d886efbfe4413e4847ea0" "checksum sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d" "checksum sha3 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "34a5e54083ce2b934bf059fdf38e7330a154177e029ab6c4e18638f2f624053a" "checksum shell32-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9ee04b46101f57121c9da2b151988283b6beb79b34f5bb29a58ee48cb695122c" @@ -5037,6 +4961,7 @@ dependencies = [ "checksum srml-democracy 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum srml-executive 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum srml-fees 0.1.0 (git+https://github.com/paritytech/substrate)" = "" +"checksum srml-finality-tracker 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum srml-grandpa 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum srml-indices 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum srml-metadata 0.1.0 (git+https://github.com/paritytech/substrate)" = "" @@ -5086,7 +5011,7 @@ dependencies = [ "checksum substrate-service 0.3.0 (git+https://github.com/paritytech/substrate)" = "" "checksum substrate-state-db 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum substrate-state-machine 0.1.0 (git+https://github.com/paritytech/substrate)" = "" -"checksum substrate-telemetry 0.3.0 (git+https://github.com/paritytech/substrate)" = "" +"checksum substrate-telemetry 0.3.1 (git+https://github.com/paritytech/substrate)" = "" "checksum substrate-transaction-graph 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum substrate-transaction-pool 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum substrate-trie 0.4.0 (git+https://github.com/paritytech/substrate)" = "" @@ -5107,7 +5032,6 @@ dependencies = [ "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" "checksum tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5c501eceaf96f0e1793cf26beb63da3d11c738c4a943fdf3746d81d64684c39f" -"checksum tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "aeeffbbb94209023feaef3c196a41cbcdafa06b4a6f893f68779bb5e53796f71" "checksum tokio-current-thread 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "331c8acc267855ec06eb0c94618dcbbfea45bed2d20b77252940095273fb58f6" "checksum tokio-dns-unofficial 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "82c65483db54eb91b4ef3a9389a3364558590faf30ce473141707c0e16fda975" "checksum tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "30c6dbf2d1ad1de300b393910e8a3aa272b724a400b6531da03eed99e329fbf0" @@ -5151,7 +5075,7 @@ dependencies = [ "checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" "checksum want 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "797464475f30ddb8830cc529aaaae648d581f99e2036a928877dfde027ddf6b3" "checksum wasmi 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "21ef487a11df1ed468cf613c78798c26282da5c30e9d49f824872d4c77b47d1d" -"checksum websocket 0.21.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c9faed2bff8af2ea6b9f8b917d3d00b467583f6781fe3def174a9e33c879703" +"checksum websocket 0.22.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7cc2d74d89f9df981ab41ae624e33cf302fdf456b93455c6a31911a99c9f0bb8" "checksum which 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e84a603e7e0b1ce1aa1ee2b109c7be00155ce52df5081590d1ffb93f4f515cb2" "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" diff --git a/network/src/gossip.rs b/network/src/gossip.rs new file mode 100644 index 000000000000..aa994d920ed0 --- /dev/null +++ b/network/src/gossip.rs @@ -0,0 +1,169 @@ +// Copyright 2019 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! Gossip messages and the message validator + +use substrate_network::consensus_gossip::{ + self as network_gossip, ValidationResult as GossipValidationResult, +}; +use polkadot_validation::SignedStatement; +use polkadot_primitives::{Hash, SessionKey}; +use codec::Decode; + +use std::collections::HashMap; +use std::sync::Arc; + +use parking_lot::RwLock; + +use super::NetworkService; + +/// The engine ID of the polkadot attestation system. +pub const POLKADOT_ENGINE_ID: substrate_network::ConsensusEngineId = [b'd', b'o', b't', b'1']; + +/// A gossip message. +#[derive(Encode, Decode, Clone)] +pub(crate) struct GossipMessage { + /// The relay chain parent hash. + pub(crate) relay_parent: Hash, + /// The signed statement being gossipped. + pub(crate) statement: SignedStatement, +} + +/// whether a block is known. +pub enum Known { + /// The block is a known leaf. + Leaf, + /// The block is known to be old. + Old, + /// The block is known to be bad. + Bad, +} + +/// An oracle for known blocks. +pub trait KnownOracle: Send + Sync { + /// whether a block is known. If it's not, returns `None`. + fn is_known(&self, block_hash: &Hash) -> Option; +} + +impl KnownOracle for F where F: Fn(&Hash) -> Option + Send + Sync { + fn is_known(&self, block_hash: &Hash) -> Option { + (self)(block_hash) + } +} + +/// Register a gossip validator on the network service. +/// +/// This returns a `RegisteredMessageValidator` +// NOTE: since RegisteredMessageValidator is meant to be a type-safe proof +// that we've actually done the registration, this should be the only way +// to construct it outside of tests. +pub fn register_validator( + service: &NetworkService, + oracle: O, +) -> RegisteredMessageValidator { + let validator = Arc::new(MessageValidator { + live_session: RwLock::new(HashMap::new()), + oracle, + }); + + let gossip_side = validator.clone(); + service.with_gossip(|gossip, _| gossip.register_validator(POLKADOT_ENGINE_ID, gossip_side)); + + RegisteredMessageValidator { inner: validator as _ } +} + +/// A registered message validator. +/// +/// Create this using `register_validator`. +#[derive(Clone)] +pub struct RegisteredMessageValidator { + inner: Arc>, +} + +impl RegisteredMessageValidator { + #[cfg(test)] + pub(crate) fn new_test(oracle: O) -> Self { + let validator = Arc::new(MessageValidator { + live_session: RwLock::new(HashMap::new()), + oracle, + }); + + RegisteredMessageValidator { inner: validator as _ } + } + + /// Note a live attestation session. This must be removed later with + /// `remove_session`. + pub(crate) fn note_session(&self, relay_parent: Hash, validation: MessageValidationData) { + self.inner.live_session.write().insert(relay_parent, validation); + } + + /// Remove a live attestation session when it is no longer live. + pub(crate) fn remove_session(&self, relay_parent: &Hash) { + self.inner.live_session.write().remove(relay_parent); + } +} + +// data needed for validating gossip. +pub(crate) struct MessageValidationData { + /// The authorities at a block. + pub(crate) authorities: Vec, +} + +impl MessageValidationData { + fn check_statement(&self, relay_parent: &Hash, statement: &SignedStatement) -> bool { + self.authorities.contains(&statement.sender) && + ::polkadot_validation::check_statement( + &statement.statement, + &statement.signature, + statement.sender, + relay_parent, + ) + } +} + +/// An unregistered message validator. Register this with `register_validator`. +pub struct MessageValidator { + live_session: RwLock>, + oracle: O, +} + +impl network_gossip::Validator for MessageValidator { + fn validate(&self, mut data: &[u8]) -> GossipValidationResult { + match GossipMessage::decode(&mut data) { + Some(GossipMessage { relay_parent, statement }) => { + let live = self.live_session.read(); + let topic = || ::router::attestation_topic(relay_parent.clone()); + if let Some(validation) = live.get(&relay_parent) { + if validation.check_statement(&relay_parent, &statement) { + GossipValidationResult::Valid(topic()) + } else { + GossipValidationResult::Invalid + } + } else { + match self.oracle.is_known(&relay_parent) { + None | Some(Known::Leaf) => GossipValidationResult::Future(topic()), + Some(Known::Old) => GossipValidationResult::Expired, + Some(Known::Bad) => GossipValidationResult::Invalid, + } + } + } + None => { + debug!(target: "validation", "Error decoding gossip message"); + GossipValidationResult::Invalid + } + } + } +} diff --git a/network/src/lib.rs b/network/src/lib.rs index 77610f6fcb6e..19dc7ce0865a 100644 --- a/network/src/lib.rs +++ b/network/src/lib.rs @@ -50,6 +50,7 @@ mod collator_pool; mod local_collations; mod router; pub mod validation; +pub mod gossip; use codec::{Decode, Encode}; use futures::sync::oneshot; diff --git a/network/src/router.rs b/network/src/router.rs index 74e03ebe6faa..fb17ee7354d7 100644 --- a/network/src/router.rs +++ b/network/src/router.rs @@ -41,12 +41,14 @@ use std::collections::{hash_map::{Entry, HashMap}, HashSet}; use std::{io, mem}; use std::sync::Arc; +use gossip::{RegisteredMessageValidator}; use validation::{NetworkService, Knowledge, Executor}; type IngressPair = (ParaId, Vec); type IngressPairRef<'a> = (ParaId, &'a [Message]); -fn attestation_topic(parent_hash: Hash) -> Hash { +/// Compute the gossip topic for attestations on the given parent hash. +pub(crate) fn attestation_topic(parent_hash: Hash) -> Hash { let mut v = parent_hash.as_ref().to_vec(); v.extend(b"attestations"); @@ -124,6 +126,7 @@ pub struct Router { knowledge: Arc>, fetch_incoming: Arc>>, deferred_statements: Arc>, + message_validator: RegisteredMessageValidator, } impl Router { @@ -135,6 +138,7 @@ impl Router { parent_hash: Hash, knowledge: Arc>, exit: E, + message_validator: RegisteredMessageValidator, ) -> Self { Router { table, @@ -147,6 +151,7 @@ impl Router { fetch_incoming: Arc::new(Mutex::new(HashMap::new())), deferred_statements: Arc::new(Mutex::new(DeferredStatements::new())), exit, + message_validator, } } @@ -169,6 +174,7 @@ impl Clone for Router { fetch_incoming: self.fetch_incoming.clone(), knowledge: self.knowledge.clone(), exit: self.exit.clone(), + message_validator: self.message_validator.clone(), } } } @@ -392,6 +398,7 @@ impl Drop for Router { )); } } + self.message_validator.remove_session(&parent_hash); } } diff --git a/network/src/tests/mod.rs b/network/src/tests/mod.rs index 165d3aeb3596..980b72acb0a5 100644 --- a/network/src/tests/mod.rs +++ b/network/src/tests/mod.rs @@ -79,6 +79,7 @@ impl TestContext { fn make_status(status: &Status, roles: Roles) -> FullStatus { FullStatus { version: 1, + min_supported_version: 1, roles, best_number: 0, best_hash: Default::default(), diff --git a/network/src/tests/validation.rs b/network/src/tests/validation.rs index 41819d87a0c5..279c189baec3 100644 --- a/network/src/tests/validation.rs +++ b/network/src/tests/validation.rs @@ -17,7 +17,7 @@ //! Tests and helpers for validation networking. use validation::NetworkService; -use substrate_network::{consensus_gossip::ConsensusMessage, Context as NetContext}; +use substrate_network::Context as NetContext; use substrate_primitives::{Ed25519AuthorityId, NativeOrEncoded}; use substrate_keyring::Keyring; use {PolkadotProtocol}; @@ -51,21 +51,21 @@ impl Future for NeverExit { } struct GossipRouter { - incoming_messages: mpsc::UnboundedReceiver<(Hash, ConsensusMessage)>, - incoming_streams: mpsc::UnboundedReceiver<(Hash, mpsc::UnboundedSender)>, - outgoing: Vec<(Hash, mpsc::UnboundedSender)>, - messages: Vec<(Hash, ConsensusMessage)>, + incoming_messages: mpsc::UnboundedReceiver<(Hash, Vec)>, + incoming_streams: mpsc::UnboundedReceiver<(Hash, mpsc::UnboundedSender>)>, + outgoing: Vec<(Hash, mpsc::UnboundedSender>)>, + messages: Vec<(Hash, Vec)>, } impl GossipRouter { - fn add_message(&mut self, topic: Hash, message: ConsensusMessage) { + fn add_message(&mut self, topic: Hash, message: Vec) { self.outgoing.retain(|&(ref o_topic, ref sender)| { o_topic != &topic || sender.unbounded_send(message.clone()).is_ok() }); self.messages.push((topic, message)); } - fn add_outgoing(&mut self, topic: Hash, sender: mpsc::UnboundedSender) { + fn add_outgoing(&mut self, topic: Hash, sender: mpsc::UnboundedSender>) { for message in self.messages.iter() .filter(|&&(ref t, _)| t == &topic) .map(|&(_, ref msg)| msg.clone()) @@ -105,8 +105,8 @@ impl Future for GossipRouter { #[derive(Clone)] struct GossipHandle { - send_message: mpsc::UnboundedSender<(Hash, ConsensusMessage)>, - send_listener: mpsc::UnboundedSender<(Hash, mpsc::UnboundedSender)>, + send_message: mpsc::UnboundedSender<(Hash, Vec)>, + send_listener: mpsc::UnboundedSender<(Hash, mpsc::UnboundedSender>)>, } fn make_gossip() -> (GossipRouter, GossipHandle) { @@ -130,13 +130,13 @@ struct TestNetwork { } impl NetworkService for TestNetwork { - fn gossip_messages_for(&self, topic: Hash) -> mpsc::UnboundedReceiver { + fn gossip_messages_for(&self, topic: Hash) -> mpsc::UnboundedReceiver> { let (tx, rx) = mpsc::unbounded(); let _ = self.gossip.send_listener.unbounded_send((topic, tx)); rx } - fn gossip_message(&self, topic: Hash, message: ConsensusMessage) { + fn gossip_message(&self, topic: Hash, message: Vec) { let _ = self.gossip.send_message.unbounded_send((topic, message)); } @@ -322,9 +322,14 @@ fn build_network(n: usize, executor: TaskExecutor) -> Built { gossip: gossip_handle.clone(), }); + let message_val = crate::gossip::RegisteredMessageValidator::new_test( + |_hash: &_| Some(crate::gossip::Known::Leaf), + ); + TestValidationNetwork::new( net, NeverExit, + message_val, runtime_api.clone(), executor.clone(), ) @@ -427,15 +432,22 @@ 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 authorities: Vec<_> = validators.iter().cloned() + .map(|h| h.to_fixed_bytes()) + .map(Ed25519AuthorityId) + .collect(); + let mut api_handle = built.api_handle.lock(); *api_handle = ApiData { active_parachains: vec![id_a, id_b, id_c], duties: vec![Chain::Parachain(id_a), Chain::Parachain(id_b), Chain::Parachain(id_c)], - validators: vec![ - key_a.to_raw_public().into(), - key_b.to_raw_public().into(), - key_c.to_raw_public().into(), - ], + validators, ingress, }; @@ -443,14 +455,17 @@ fn ingress_fetch_works() { built.networks[0].communication_for( make_table(&*api_handle, &key_a, parent_hash), vec![MessagesFrom::from_messages(id_a, messages_from_a)], + &authorities, ), built.networks[1].communication_for( make_table(&*api_handle, &key_b, parent_hash), vec![MessagesFrom::from_messages(id_b, messages_from_b)], + &authorities, ), built.networks[2].communication_for( make_table(&*api_handle, &key_c, parent_hash), vec![MessagesFrom::from_messages(id_c, messages_from_c)], + &authorities, ), ) }; diff --git a/network/src/validation.rs b/network/src/validation.rs index ac4417c412f7..0813cb283ba4 100644 --- a/network/src/validation.rs +++ b/network/src/validation.rs @@ -20,7 +20,7 @@ //! each time a validation session begins on a new chain head. use sr_primitives::traits::ProvideRuntimeApi; -use substrate_network::{consensus_gossip::ConsensusMessage, Context as NetContext}; +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}; @@ -38,6 +38,8 @@ use tokio::runtime::TaskExecutor; use parking_lot::Mutex; use router::Router; +use gossip::{POLKADOT_ENGINE_ID, GossipMessage, RegisteredMessageValidator, MessageValidationData}; + use super::PolkadotProtocol; /// An executor suitable for dispatching async consensus tasks. @@ -67,7 +69,7 @@ impl Executor for TaskExecutor { /// Basic functionality that a network has to fulfill. pub trait NetworkService: Send + Sync + 'static { /// Get a stream of gossip messages for a given hash. - fn gossip_messages_for(&self, topic: Hash) -> mpsc::UnboundedReceiver; + fn gossip_messages_for(&self, topic: Hash) -> mpsc::UnboundedReceiver>; /// Gossip a message on given topic. fn gossip_message(&self, topic: Hash, message: Vec); @@ -81,11 +83,11 @@ pub trait NetworkService: Send + Sync + 'static { } impl NetworkService for super::NetworkService { - fn gossip_messages_for(&self, topic: Hash) -> mpsc::UnboundedReceiver { + fn gossip_messages_for(&self, topic: Hash) -> mpsc::UnboundedReceiver> { let (tx, rx) = std::sync::mpsc::channel(); self.with_gossip(move |gossip, _| { - let inner_rx = gossip.messages_for(topic); + let inner_rx = gossip.messages_for(POLKADOT_ENGINE_ID, topic); let _ = tx.send(inner_rx); }); @@ -96,14 +98,10 @@ impl NetworkService for super::NetworkService { } fn gossip_message(&self, topic: Hash, message: Vec) { - self.gossip_consensus_message(topic, message, false); + self.gossip_consensus_message(topic, POLKADOT_ENGINE_ID, message); } - fn drop_gossip(&self, topic: Hash) { - self.with_gossip(move |gossip, _| { - gossip.collect_garbage_for_topic(topic); - }) - } + fn drop_gossip(&self, _topic: Hash) { } fn with_spec(&self, with: F) where F: FnOnce(&mut PolkadotProtocol, &mut NetContext) @@ -115,8 +113,7 @@ impl NetworkService for super::NetworkService { // task that processes all gossipped consensus messages, // checking signatures struct MessageProcessTask { - inner_stream: mpsc::UnboundedReceiver, - parent_hash: Hash, + inner_stream: mpsc::UnboundedReceiver>, table_router: Router, } @@ -127,19 +124,12 @@ impl MessageProcessTask where N: NetworkService, T: Clone + Executor + Send + 'static, { - fn process_message(&self, msg: ConsensusMessage) -> Option> { - use polkadot_validation::SignedStatement; - - debug!(target: "validation", "Processing validation statement for live session"); - if let Some(statement) = SignedStatement::decode(&mut msg.as_slice()) { - if ::polkadot_validation::check_statement( - &statement.statement, - &statement.signature, - statement.sender, - &self.parent_hash - ) { - self.table_router.import_statement(statement); - } + fn process_message(&self, msg: Vec) -> Option> { + debug!(target: "validation", "Processing consensus statement for live consensus"); + + // statements are already checked by gossip validator. + if let Some(message) = GossipMessage::decode(&mut &msg[..]) { + self.table_router.import_statement(message.statement); } None @@ -175,13 +165,20 @@ pub struct ValidationNetwork { network: Arc, api: Arc

, executor: T, + message_validator: RegisteredMessageValidator, exit: E, } impl ValidationNetwork { - /// Create a new validation session networking object. - pub fn new(network: Arc, exit: E, api: Arc

, executor: T) -> Self { - ValidationNetwork { network, exit, api, executor } + /// Create a new consensus networking object. + pub fn new( + network: Arc, + exit: E, + message_validator: RegisteredMessageValidator, + api: Arc

, + executor: T, + ) -> Self { + ValidationNetwork { network, exit, message_validator, api, executor } } } @@ -192,6 +189,7 @@ impl Clone for ValidationNetwork { exit: self.exit.clone(), api: self.api.clone(), executor: self.executor.clone(), + message_validator: self.message_validator.clone(), } } } @@ -210,6 +208,7 @@ impl ParachainNetwork for ValidationNetwork where &self, table: Arc, outgoing: polkadot_validation::Outgoing, + authorities: &[SessionKey], ) -> Self::TableRouter { let parent_hash = table.consensus_parent_hash().clone(); @@ -224,6 +223,7 @@ impl ParachainNetwork for ValidationNetwork where parent_hash, knowledge.clone(), self.exit.clone(), + self.message_validator.clone(), ); table_router.broadcast_egress(outgoing); @@ -234,6 +234,12 @@ impl ParachainNetwork for ValidationNetwork where let executor = self.executor.clone(); let exit = self.exit.clone(); + // before requesting messages, note live consensus session. + self.message_validator.note_session( + parent_hash, + MessageValidationData { authorities: authorities.to_vec() }, + ); + // spin up a task in the background that processes all incoming statements // TODO: propagate statements on a timer? let inner_stream = self.network.gossip_messages_for(attestation_topic); @@ -245,7 +251,6 @@ impl ParachainNetwork for ValidationNetwork where }); let process_task = MessageProcessTask { inner_stream, - parent_hash, table_router: table_router_clone, }; @@ -276,12 +281,14 @@ impl Future for AwaitingCollation { .poll() .map_err(|_| NetworkDown) } - if let Ok(futures::Async::Ready(mut inner)) = self.outer.poll() { - let poll_result = inner.poll(); - self.inner = Some(inner); - return poll_result.map_err(|_| NetworkDown) + match self.outer.poll() { + Ok(futures::Async::Ready(inner)) => { + self.inner = Some(inner); + self.poll() + }, + Ok(futures::Async::NotReady) => Ok(futures::Async::NotReady), + Err(_) => Err(NetworkDown) } - Ok(futures::Async::NotReady) } } diff --git a/runtime/src/claims.rs b/runtime/src/claims.rs index 41e09b12fda3..1e9eda5d16e0 100644 --- a/runtime/src/claims.rs +++ b/runtime/src/claims.rs @@ -19,16 +19,20 @@ use rstd::prelude::*; use sr_io::{keccak_256, secp256k1_ecdsa_recover}; use srml_support::{StorageValue, StorageMap}; +use srml_support::traits::{Currency, ArithmeticType}; use system::ensure_signed; use codec::Encode; #[cfg(feature = "std")] use sr_primitives::traits::Zero; -use balances; +use system; + +type BalanceOf = <::Currency as ArithmeticType>::Type; /// Configuration trait. -pub trait Trait: balances::Trait { +pub trait Trait: system::Trait { /// The overarching event type. type Event: From> + Into<::Event>; + type Currency: ArithmeticType + Currency>; } type EthereumAddress = [u8; 20]; @@ -58,7 +62,7 @@ impl EcdsaSignature { /// An event in this module. decl_event!( pub enum Event where - B = ::Balance, + B = BalanceOf, A = ::AccountId { /// Someone claimed some DOTs. @@ -73,13 +77,13 @@ decl_storage! { trait Store for Module as Claims { Claims get(claims) build(|config: &GenesisConfig| { config.claims.iter().map(|(a, b)| (a.clone(), b.clone())).collect::>() - }): map EthereumAddress => Option; + }): map EthereumAddress => Option>; Total get(total) build(|config: &GenesisConfig| { - config.claims.iter().fold(Zero::zero(), |acc: T::Balance, &(_, n)| acc + n) - }): T::Balance; + config.claims.iter().fold(Zero::zero(), |acc: BalanceOf, &(_, n)| acc + n) + }): BalanceOf; } add_extra_genesis { - config(claims): Vec<(EthereumAddress, T::Balance)>; + config(claims): Vec<(EthereumAddress, BalanceOf)>; } } @@ -117,21 +121,21 @@ decl_module! { fn claim(origin, ethereum_signature: EcdsaSignature) { // This is a public call, so we ensure that the origin is some signed account. let sender = ensure_signed(origin)?; - + let signer = sender.using_encoded(|data| eth_recover(ðereum_signature, data) ).ok_or("Invalid Ethereum signature")?; - + let balance_due = >::take(&signer) .ok_or("Ethereum address has no claim")?; - + >::mutate(|t| if *t < balance_due { panic!("Logic error: Pot less than the total of claims!") } else { *t -= balance_due }); - >::increase_free_balance_creating(&sender, balance_due); + T::Currency::increase_free_balance_creating(&sender, balance_due); // Let's deposit an event to let the outside world know this happened. Self::deposit_event(RawEvent::Claimed(sender, signer, balance_due)); @@ -181,11 +185,11 @@ mod tests { type Balance = u64; type OnFreeBalanceZero = (); type OnNewAccount = (); - type EnsureAccountLiquid = (); type Event = (); } impl Trait for Test { type Event = (); + type Currency = Balances; } type Balances = balances::Module; type Claims = Module; diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index e5a483a887ee..2637443f2a57 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -62,7 +62,6 @@ extern crate srml_sudo as sudo; extern crate srml_system as system; extern crate srml_timestamp as timestamp; extern crate srml_treasury as treasury; -extern crate srml_upgrade_key as upgrade_key; extern crate srml_fees as fees; extern crate polkadot_primitives as primitives; @@ -157,7 +156,6 @@ impl balances::Trait for Runtime { type Balance = Balance; type OnFreeBalanceZero = Staking; type OnNewAccount = Indices; - type EnsureAccountLiquid = Staking; type Event = Event; } @@ -230,10 +228,6 @@ impl grandpa::Trait for Runtime { impl parachains::Trait for Runtime {} -impl upgrade_key::Trait for Runtime { - type Event = Event; -} - impl sudo::Trait for Runtime { type Event = Event; type Proposal = Call; @@ -241,6 +235,7 @@ impl sudo::Trait for Runtime { impl claims::Trait for Runtime { type Event = Event; + type Currency = Balances; } impl fees::Trait for Runtime { @@ -272,7 +267,6 @@ construct_runtime!( Treasury: treasury, Parachains: parachains::{Module, Call, Storage, Config, Inherent}, Sudo: sudo, - UpgradeKey: upgrade_key, Claims: claims, Fees: fees::{Module, Storage, Config, Event}, } @@ -384,6 +378,12 @@ impl_runtime_apis! { None } + fn grandpa_forced_change(_digest: &DigestFor) + -> Option<(BlockNumber, ScheduledChange)> + { + None // disable forced changes. + } + fn grandpa_authorities() -> Vec<(SessionKey, u64)> { Grandpa::grandpa_authorities() } diff --git a/runtime/src/parachains.rs b/runtime/src/parachains.rs index 8217b5d5006c..3e1d92dfea09 100644 --- a/runtime/src/parachains.rs +++ b/runtime/src/parachains.rs @@ -528,6 +528,7 @@ mod tests { t.extend(session::GenesisConfig::{ session_length: 1000, validators: authority_keys.iter().map(|k| k.to_raw_public().into()).collect(), + keys: vec![], }.build_storage().unwrap().0); t.extend(GenesisConfig::{ parachains: parachains, diff --git a/runtime/wasm/Cargo.lock b/runtime/wasm/Cargo.lock index 29971910c5bf..ec561bdc9601 100644 --- a/runtime/wasm/Cargo.lock +++ b/runtime/wasm/Cargo.lock @@ -50,6 +50,11 @@ name = "bitflags" version = "1.0.4" 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" + [[package]] name = "bitvec" version = "0.8.0" @@ -452,7 +457,7 @@ name = "impl-codec" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -730,18 +735,20 @@ source = "git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7 [[package]] name = "parity-codec" -version = "3.0.0" +version = "3.1.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)", ] [[package]] name = "parity-codec-derive" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" 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)", @@ -811,8 +818,8 @@ 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", @@ -822,8 +829,8 @@ dependencies = [ name = "polkadot-primitives" version = "0.1.0" dependencies = [ - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", @@ -840,8 +847,8 @@ 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", @@ -1273,7 +1280,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#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" 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)", @@ -1285,12 +1292,12 @@ dependencies = [ [[package]] name = "sr-io" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.1.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)", @@ -1302,13 +1309,12 @@ dependencies = [ [[package]] name = "sr-primitives" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (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)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1319,7 +1325,7 @@ dependencies = [ [[package]] name = "sr-std" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1327,11 +1333,10 @@ dependencies = [ [[package]] name = "sr-version" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ "impl-serde 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1341,14 +1346,14 @@ dependencies = [ [[package]] name = "srml-aura" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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.1.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)", + "srml-session 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-staking 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-support 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-system 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1359,11 +1364,10 @@ dependencies = [ [[package]] name = "srml-balances" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1376,11 +1380,10 @@ dependencies = [ [[package]] name = "srml-consensus" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1394,10 +1397,10 @@ dependencies = [ [[package]] name = "srml-council" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1412,11 +1415,10 @@ dependencies = [ [[package]] name = "srml-democracy" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1430,9 +1432,9 @@ dependencies = [ [[package]] name = "srml-executive" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ - "parity-codec 3.0.0 (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)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1444,11 +1446,11 @@ dependencies = [ [[package]] name = "srml-fees" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1458,17 +1460,33 @@ dependencies = [ "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", ] +[[package]] +name = "srml-finality-tracker" +version = "0.1.0" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" +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)", + "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)", + "srml-system 0.1.0 (git+https://github.com/paritytech/substrate)", + "substrate-inherents 0.1.0 (git+https://github.com/paritytech/substrate)", +] + [[package]] name = "srml-grandpa" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 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)", "srml-system 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1479,11 +1497,11 @@ dependencies = [ [[package]] name = "srml-indices" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", "sr-io 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1498,10 +1516,9 @@ dependencies = [ [[package]] name = "srml-metadata" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (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)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1511,11 +1528,11 @@ dependencies = [ [[package]] name = "srml-session" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1529,13 +1546,13 @@ dependencies = [ [[package]] name = "srml-staking" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", + "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)", "srml-consensus 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1548,11 +1565,11 @@ dependencies = [ [[package]] name = "srml-sudo" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1564,12 +1581,12 @@ dependencies = [ [[package]] name = "srml-support" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.1.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)", @@ -1584,7 +1601,7 @@ dependencies = [ [[package]] name = "srml-support-procedural" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" 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)", @@ -1596,7 +1613,7 @@ dependencies = [ [[package]] name = "srml-support-procedural-tools" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" 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)", @@ -1608,7 +1625,7 @@ dependencies = [ [[package]] name = "srml-support-procedural-tools-derive" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" 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)", @@ -1618,11 +1635,10 @@ dependencies = [ [[package]] name = "srml-system" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1636,15 +1652,13 @@ dependencies = [ [[package]] name = "srml-timestamp" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (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)", "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-support 0.1.0 (git+https://github.com/paritytech/substrate)", "srml-system 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-inherents 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1653,11 +1667,10 @@ dependencies = [ [[package]] name = "srml-treasury" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1670,9 +1683,9 @@ dependencies = [ [[package]] name = "srml-upgrade-key" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ - "parity-codec 3.0.0 (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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1694,7 +1707,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "substrate-client" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" 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)", @@ -1704,8 +1717,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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "sr-api-macros 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1717,14 +1729,14 @@ dependencies = [ "substrate-keyring 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-state-machine 0.1.0 (git+https://github.com/paritytech/substrate)", - "substrate-telemetry 0.3.0 (git+https://github.com/paritytech/substrate)", + "substrate-telemetry 0.3.1 (git+https://github.com/paritytech/substrate)", "substrate-trie 0.4.0 (git+https://github.com/paritytech/substrate)", ] [[package]] name = "substrate-consensus-aura-primitives" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ "substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)", ] @@ -1732,14 +1744,14 @@ dependencies = [ [[package]] name = "substrate-consensus-common" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.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-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)", @@ -1750,14 +1762,14 @@ dependencies = [ [[package]] name = "substrate-executor" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "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)", @@ -1775,10 +1787,9 @@ dependencies = [ [[package]] name = "substrate-finality-grandpa-primitives" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1788,10 +1799,9 @@ dependencies = [ [[package]] name = "substrate-inherents" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" dependencies = [ - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", "sr-std 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1800,7 +1810,7 @@ dependencies = [ [[package]] name = "substrate-keyring" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" 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)", @@ -1810,7 +1820,7 @@ dependencies = [ [[package]] name = "substrate-panic-handler" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" 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)", @@ -1819,7 +1829,7 @@ dependencies = [ [[package]] name = "substrate-primitives" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" 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)", @@ -1828,8 +1838,7 @@ dependencies = [ "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)", "impl-serde 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.1.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)", "ring 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1847,7 +1856,7 @@ dependencies = [ [[package]] name = "substrate-serializer" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" 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)", @@ -1856,13 +1865,13 @@ dependencies = [ [[package]] name = "substrate-state-machine" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 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)", "substrate-panic-handler 0.1.0 (git+https://github.com/paritytech/substrate)", "substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)", @@ -1873,12 +1882,15 @@ dependencies = [ [[package]] name = "substrate-telemetry" -version = "0.3.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +version = "0.3.1" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" 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)", "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)", "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)", @@ -1889,11 +1901,11 @@ dependencies = [ [[package]] name = "substrate-trie" version = "0.4.0" -source = "git+https://github.com/paritytech/substrate#18bbe130180989d92b0bcea7952cdf1e58b0d6f4" +source = "git+https://github.com/paritytech/substrate#82744fbb6f4d677f2edfe9d88737c237622c97a4" 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.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.1.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)", ] @@ -2291,6 +2303,7 @@ dependencies = [ "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" +"checksum bitmask 0.5.0 (git+https://github.com/paritytech/bitmask)" = "" "checksum bitvec 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e37e2176261200377c7cde4c6de020394174df556c356f965e4bc239f5ce1c5a" "checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" "checksum block-buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1339a1042f5d9f295737ad4d9a6ab6bf81c84a933dba110b9200cd6d1448b814" @@ -2377,8 +2390,8 @@ dependencies = [ "checksum openssl-sys 0.9.40 (registry+https://github.com/rust-lang/crates.io-index)" = "1bb974e77de925ef426b6bc82fce15fd45bdcbeb5728bffcfc7cdeeb7ce1c2d6" "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.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "88f69984317b736dceac3baa86600fc089856f69b44b07231f39b5648b02bcd4" -"checksum parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a58ba33211595f92cc2163ac583961d3dc767e656934146636b05256cc9acd7f" +"checksum parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "67a4d27831e31e27f1454d6e3d3bb34bcac6bf7ad7032eed0ad0070dc8cf55c1" +"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" @@ -2443,6 +2456,7 @@ dependencies = [ "checksum srml-democracy 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum srml-executive 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum srml-fees 0.1.0 (git+https://github.com/paritytech/substrate)" = "" +"checksum srml-finality-tracker 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum srml-grandpa 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum srml-indices 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum srml-metadata 0.1.0 (git+https://github.com/paritytech/substrate)" = "" @@ -2470,7 +2484,7 @@ dependencies = [ "checksum substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum substrate-serializer 0.1.0 (git+https://github.com/paritytech/substrate)" = "" "checksum substrate-state-machine 0.1.0 (git+https://github.com/paritytech/substrate)" = "" -"checksum substrate-telemetry 0.3.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 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" diff --git a/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.compact.wasm b/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.compact.wasm index 1b725115c761..f0a57cf637c1 100644 Binary files a/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.compact.wasm and b/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.compact.wasm differ diff --git a/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm b/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm index f7ddcee5d87f..f5baa6953f38 100755 Binary files a/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm and b/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm differ diff --git a/service/Cargo.toml b/service/Cargo.toml index f73cdb18381c..47d7961382b7 100644 --- a/service/Cargo.toml +++ b/service/Cargo.toml @@ -27,3 +27,4 @@ substrate-service = { git = "https://github.com/paritytech/substrate" } substrate-telemetry = { git = "https://github.com/paritytech/substrate" } substrate-inherents = { git = "https://github.com/paritytech/substrate" } substrate-transaction-pool = { git = "https://github.com/paritytech/substrate" } +substrate-keystore = { git = "https://github.com/paritytech/substrate" } \ No newline at end of file diff --git a/service/src/chain_spec.rs b/service/src/chain_spec.rs index dad7d0460303..766d46a82242 100644 --- a/service/src/chain_spec.rs +++ b/service/src/chain_spec.rs @@ -16,13 +16,16 @@ //! Polkadot chain configurations. -use primitives::{H256, Ed25519AuthorityId as AuthorityId, ed25519}; +use primitives::{Ed25519AuthorityId as AuthorityId, ed25519}; +use polkadot_primitives::AccountId; use polkadot_runtime::{ GenesisConfig, ConsensusConfig, CouncilSeatsConfig, DemocracyConfig, TreasuryConfig, SessionConfig, StakingConfig, TimestampConfig, BalancesConfig, Perbill, - CouncilVotingConfig, GrandpaConfig, UpgradeKeyConfig, SudoConfig, IndicesConfig, + CouncilVotingConfig, GrandpaConfig, SudoConfig, IndicesConfig, ClaimsConfig, FeesConfig, Permill }; +use telemetry::TelemetryEndpoints; +use keystore::pad_seed; const STAGING_TELEMETRY_URL: &str = "wss://telemetry.polkadot.io/submit/"; const DEFAULT_PROTOCOL_ID: &str = "dot"; @@ -35,12 +38,23 @@ pub fn poc_3_testnet_config() -> Result { } fn staging_testnet_config_genesis() -> GenesisConfig { - let initial_authorities = vec![ - hex!["4bd3620064cda1f4cf405bf9ab565c9bad69446034c48884ffc5363a5286b145"].into(), - hex!["3a92077b16fbb87972be7ebaf1b7e70f5b4fac9636c136936a28d0fb494d1ed4"].into(), - hex!["ca8feb6f870330cdaea24e49c2f850b66729340cab164aea86c0a782ddecf57a"].into(), - hex!["dcb83e46917c3c0ca35b9a18a32ba6d3912b6d50ab2bd382341d2e4fd2e6946f"].into(), - ]; + 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 + )]; let endowed_accounts = vec![ hex!["f295940fa750df68a686fcf4abd4111c8a9c5a5a5a83c4c8639c451a94a7adfd"].into(), ]; @@ -52,30 +66,39 @@ fn staging_testnet_config_genesis() -> GenesisConfig { const MINUTES: u64 = 60 / SECS_PER_BLOCK; const HOURS: u64 = MINUTES * 60; const DAYS: u64 = HOURS * 24; + + const ENDOWMENT: u128 = 10_000_000 * DOLLARS; + const STASH: u128 = 100 * DOLLARS; + GenesisConfig { consensus: Some(ConsensusConfig { // TODO: Change after Substrate 1252 is fixed (https://github.com/paritytech/substrate/issues/1252) code: include_bytes!("../../runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.compact.wasm").to_vec(), - authorities: initial_authorities.clone(), + authorities: initial_authorities.iter().map(|x| x.2.clone()).collect(), }), system: None, - indices: Some(IndicesConfig { - ids: endowed_accounts.clone(), - }), balances: Some(BalancesConfig { - balances: endowed_accounts.iter().map(|&k| (k, 10_000_000 * DOLLARS)).collect(), + balances: endowed_accounts.iter() + .map(|&k| (k, ENDOWMENT)) + .chain(initial_authorities.iter().map(|x| (x.0.clone(), STASH))) + .collect(), existential_deposit: 1 * DOLLARS, transfer_fee: 1 * CENTS, creation_fee: 1 * CENTS, vesting: vec![], }), + indices: Some(IndicesConfig { + ids: endowed_accounts.iter().cloned() + .chain(initial_authorities.iter().map(|x| x.0.clone())) + .collect::>(), + }), session: Some(SessionConfig { - validators: initial_authorities.iter().cloned().map(Into::into).collect(), + validators: initial_authorities.iter().map(|x| x.1.into()).collect(), session_length: 5 * MINUTES, + keys: initial_authorities.iter().map(|x| (x.1.clone(), x.2.clone())).collect::>(), }), staking: Some(StakingConfig { current_era: 0, - intentions: initial_authorities.iter().cloned().map(Into::into).collect(), offline_slash: Perbill::from_billionths(1_000_000), session_reward: Perbill::from_billionths(2_065), current_offline_slash: 0, @@ -85,7 +108,8 @@ fn staging_testnet_config_genesis() -> GenesisConfig { bonding_duration: 60 * MINUTES, offline_slash_grace: 4, minimum_validator_count: 4, - invulnerables: initial_authorities.iter().cloned().map(Into::into).collect(), + stakers: initial_authorities.iter().map(|x| (x.0.into(), x.1.into(), STASH)).collect(), + invulnerables: initial_authorities.iter().map(|x| x.1.into()).collect(), }), democracy: Some(DemocracyConfig { launch_period: 10 * MINUTES, // 1 day per public referendum @@ -120,23 +144,20 @@ fn staging_testnet_config_genesis() -> GenesisConfig { spend_period: 1 * DAYS, burn: Permill::from_percent(50), }), - parachains: Some(Default::default()), - upgrade_key: Some(UpgradeKeyConfig { - key: endowed_accounts[0], - }), sudo: Some(SudoConfig { - key: endowed_accounts[0], + key: endowed_accounts[0].clone(), }), grandpa: Some(GrandpaConfig { - authorities: initial_authorities.clone().into_iter().map(|k| (k, 1)).collect(), - }), - claims: Some(ClaimsConfig { - claims: vec![], + authorities: initial_authorities.iter().map(|x| (x.2.clone(), 1)).collect(), }), fees: Some(FeesConfig { transaction_base_fee: 1 * CENTS, transaction_byte_fee: 10 * MILLICENTS, }), + parachains: Some(Default::default()), + claims: Some(ClaimsConfig { + claims: vec![], + }), } } @@ -148,26 +169,57 @@ pub fn staging_testnet_config() -> ChainSpec { "staging_testnet", staging_testnet_config_genesis, boot_nodes, - Some(STAGING_TELEMETRY_URL.into()), + Some(TelemetryEndpoints::new(vec![(STAGING_TELEMETRY_URL.to_string(), 0)])), Some(DEFAULT_PROTOCOL_ID), None, None, ) } -fn testnet_genesis(initial_authorities: Vec, upgrade_key: H256) -> GenesisConfig { - let endowed_accounts = vec![ - ed25519::Pair::from_seed(b"Alice ").public().0.into(), - ed25519::Pair::from_seed(b"Bob ").public().0.into(), - ed25519::Pair::from_seed(b"Charlie ").public().0.into(), - ed25519::Pair::from_seed(b"Dave ").public().0.into(), - ed25519::Pair::from_seed(b"Eve ").public().0.into(), - ed25519::Pair::from_seed(b"Ferdie ").public().0.into(), - ]; +/// Helper function to generate AuthorityID 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() +} + +/// 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. + ( + get_account_id_from_seed(&format!("{}-stash", seed)), + get_account_id_from_seed(seed), + ed25519::Pair::from_seed(&padded_seed).public().0.into() + ) +} + +/// Helper function to create GenesisConfig for testing +pub fn testnet_genesis( + initial_authorities: Vec<(AccountId, AccountId, AuthorityId)>, + root_key: AccountId, + endowed_accounts: Option>, +) -> GenesisConfig { + let endowed_accounts: Vec = endowed_accounts.unwrap_or_else(|| { + vec![ + get_account_id_from_seed("Alice"), + get_account_id_from_seed("Bob"), + get_account_id_from_seed("Charlie"), + get_account_id_from_seed("Dave"), + get_account_id_from_seed("Eve"), + get_account_id_from_seed("Ferdie"), + ] + }); + + const STASH: u128 = 1 << 20; + const ENDOWMENT: u128 = 1 << 20; + GenesisConfig { consensus: Some(ConsensusConfig { code: include_bytes!("../../runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.compact.wasm").to_vec(), - authorities: initial_authorities.clone(), + authorities: initial_authorities.iter().map(|x| x.2.clone()).collect(), }), system: None, indices: Some(IndicesConfig { @@ -177,16 +229,16 @@ fn testnet_genesis(initial_authorities: Vec, upgrade_key: H256) -> existential_deposit: 500, transfer_fee: 0, creation_fee: 0, - balances: endowed_accounts.iter().map(|&k|(k, (1u128 << 60))).collect(), + balances: endowed_accounts.iter().map(|&k| (k.into(), ENDOWMENT)).collect(), vesting: vec![], }), session: Some(SessionConfig { - validators: initial_authorities.iter().cloned().map(Into::into).collect(), + validators: initial_authorities.iter().map(|x| x.1.into()).collect(), session_length: 10, + keys: initial_authorities.iter().map(|x| (x.1.clone(), x.2.clone())).collect::>(), }), staking: Some(StakingConfig { current_era: 0, - intentions: initial_authorities.iter().cloned().map(Into::into).collect(), minimum_validator_count: 1, validator_count: 2, sessions_per_era: 5, @@ -196,20 +248,20 @@ fn testnet_genesis(initial_authorities: Vec, upgrade_key: H256) -> current_offline_slash: 0, current_session_reward: 0, offline_slash_grace: 0, - invulnerables: initial_authorities.iter().cloned().map(Into::into).collect(), + stakers: initial_authorities.iter().map(|x| (x.0.into(), x.1.into(), STASH)).collect(), + invulnerables: initial_authorities.iter().map(|x| x.1.into()).collect(), }), democracy: Some(DemocracyConfig { launch_period: 9, voting_period: 18, minimum_deposit: 10, - public_delay: 10 * 60, + public_delay: 0, max_lock_periods: 6, }), - grandpa: Some(GrandpaConfig { - authorities: initial_authorities.clone().into_iter().map(|k| (k, 1)).collect(), - }), council_seats: Some(CouncilSeatsConfig { - active_council: endowed_accounts.iter().filter(|a| initial_authorities.iter().find(|&b| a[..] == b.0).is_none()).map(|a| (a.clone(), 1000000)).collect(), + active_council: endowed_accounts.iter() + .filter(|&endowed| initial_authorities.iter().find(|&(_, controller, _)| controller == endowed).is_none()) + .map(|a| (a.clone().into(), 1000000)).collect(), candidacy_bond: 10, voter_bond: 2, present_slash_per_voter: 1, @@ -227,68 +279,58 @@ fn testnet_genesis(initial_authorities: Vec, upgrade_key: H256) -> }), parachains: Some(Default::default()), timestamp: Some(TimestampConfig { - period: 2, // 2*2=4 second block time. + period: 2, // 2*2=4 second block time. }), - treasury: Some(Default::default()), - upgrade_key: Some(UpgradeKeyConfig { - key: upgrade_key, + treasury: Some(TreasuryConfig { + proposal_bond: Permill::from_percent(5), + proposal_bond_minimum: 1_000_000, + spend_period: 12 * 60 * 24, + burn: Permill::from_percent(50), }), sudo: Some(SudoConfig { - key: upgrade_key, + key: root_key, }), claims: Some(ClaimsConfig { claims: vec![], }), + grandpa: Some(GrandpaConfig { + authorities: initial_authorities.iter().map(|x| (x.2.clone(), 1)).collect(), + }), fees: Some(FeesConfig { transaction_base_fee: 1, transaction_byte_fee: 0, - }) + }), } } + fn development_config_genesis() -> GenesisConfig { testnet_genesis( vec![ - ed25519::Pair::from_seed(b"Alice ").public().into(), + get_authority_keys_from_seed("Alice"), ], - ed25519::Pair::from_seed(b"Alice ").public().0.into() + get_account_id_from_seed("Alice").into(), + None, ) } /// Development config (single validator Alice) pub fn development_config() -> ChainSpec { - ChainSpec::from_genesis( - "Development", - "development", - development_config_genesis, - vec![], - None, - Some(DEFAULT_PROTOCOL_ID), - None, - None, - ) + ChainSpec::from_genesis("Development", "dev", development_config_genesis, vec![], None, Some(DEFAULT_PROTOCOL_ID), None, None) } fn local_testnet_genesis() -> GenesisConfig { testnet_genesis( vec![ - ed25519::Pair::from_seed(b"Alice ").public().into(), - ed25519::Pair::from_seed(b"Bob ").public().into(), + get_authority_keys_from_seed("Alice"), + get_authority_keys_from_seed("Bob"), ], - ed25519::Pair::from_seed(b"Alice ").public().0.into() + get_account_id_from_seed("Alice").into(), + None, ) } /// Local testnet config (multivalidator Alice + Bob) pub fn local_testnet_config() -> ChainSpec { - ChainSpec::from_genesis( - "Local Testnet", - "local_testnet", - local_testnet_genesis, - vec![], - None, - Some(DEFAULT_PROTOCOL_ID), - None, - None, - ) + ChainSpec::from_genesis("Local Testnet", "local_testnet", local_testnet_genesis, vec![], None, Some(DEFAULT_PROTOCOL_ID), None, None) } diff --git a/service/src/lib.rs b/service/src/lib.rs index 77f667c766a1..ea289e3c0b4f 100644 --- a/service/src/lib.rs +++ b/service/src/lib.rs @@ -27,11 +27,13 @@ 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; extern crate substrate_finality_grandpa as grandpa; extern crate substrate_transaction_pool as transaction_pool; +extern crate substrate_telemetry as telemetry; extern crate tokio; extern crate substrate_inherents as inherents; @@ -44,8 +46,9 @@ pub mod chain_spec; use std::sync::Arc; use std::time::Duration; -use polkadot_primitives::{parachain, AccountId, Block}; +use polkadot_primitives::{parachain, AccountId, Block, Hash, BlockId}; use polkadot_runtime::{GenesisConfig, RuntimeApi}; +use polkadot_network::gossip::{self as network_gossip, Known}; use primitives::ed25519; use tokio::runtime::TaskExecutor; use service::{FactoryFullConfiguration, FullBackend, LightBackend, FullExecutor, LightExecutor}; @@ -187,6 +190,7 @@ construct_service_factory! { }, link_half, grandpa::NetworkBridge::new(service.network()), + service.config.custom.inherent_data_providers.clone(), service.on_exit(), )?; @@ -212,11 +216,33 @@ construct_service_factory! { }; let client = service.client(); + let known_oracle = client.clone(); + + let gossip_validator = network_gossip::register_validator( + &*service.network(), + move |block_hash: &Hash| { + use client::{BlockStatus, ChainHead}; + + match known_oracle.block_status(&BlockId::hash(*block_hash)) { + Err(_) | Ok(BlockStatus::Unknown) | Ok(BlockStatus::Queued) => None, + Ok(BlockStatus::KnownBad) => Some(Known::Bad), + Ok(BlockStatus::InChain) => match known_oracle.leaves() { + Err(_) => None, + Ok(leaves) => if leaves.contains(block_hash) { + Some(Known::Leaf) + } else { + Some(Known::Old) + }, + } + } + }, + ); // collator connections and validation network both fulfilled by this let validation_network = ValidationNetwork::new( service.network(), service.on_exit(), + gossip_validator, service.client(), executor.clone(), ); diff --git a/validation/src/lib.rs b/validation/src/lib.rs index e6b10c6ea6db..af71d8ddbc89 100644 --- a/validation/src/lib.rs +++ b/validation/src/lib.rs @@ -176,6 +176,7 @@ pub trait Network { &self, table: Arc, outgoing: Outgoing, + authorities: &[SessionKey], ) -> Self::TableRouter; } @@ -347,6 +348,7 @@ impl ParachainValidation where let router = self.network.communication_for( table.clone(), outgoing, + authorities, ); let drop_signal = match local_duty.validation {