From 45e0ee8163e6acf30af6ec516bc315b853e643c4 Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 11 Jul 2018 11:53:26 +0200 Subject: [PATCH 01/86] Genric over hasher --- Cargo.lock | 158 +++++++++++------- substrate/client/db/Cargo.toml | 12 +- substrate/keystore/Cargo.toml | 2 +- substrate/state-machine/Cargo.toml | 10 +- substrate/state-machine/src/backend.rs | 48 +++--- substrate/state-machine/src/ext.rs | 24 ++- substrate/state-machine/src/lib.rs | 42 +++-- .../state-machine/src/proving_backend.rs | 35 ++-- substrate/state-machine/src/testing.rs | 9 +- substrate/state-machine/src/trie_backend.rs | 112 +++++++------ 10 files changed, 268 insertions(+), 184 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 859d0837151a4..a73898e5cda91 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -732,11 +732,11 @@ dependencies = [ [[package]] name = "hashdb" -version = "0.1.1" -source = "git+https://github.com/paritytech/parity.git#4145be863bec10038fc0ac5d36a41365b5087344" +version = "0.2.0" +source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -972,6 +972,17 @@ dependencies = [ "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "keccak-hasher" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" +dependencies = [ + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)", + "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "kernel32-sys" version = "0.2.2" @@ -984,35 +995,34 @@ dependencies = [ [[package]] name = "kvdb" version = "0.1.0" -source = "git+https://github.com/paritytech/parity.git#4145be863bec10038fc0ac5d36a41365b5087344" +source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore-bytes 0.1.0 (git+https://github.com/paritytech/parity.git)", + "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", ] [[package]] name = "kvdb-memorydb" version = "0.1.0" -source = "git+https://github.com/paritytech/parity.git#4145be863bec10038fc0ac5d36a41365b5087344" +source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" dependencies = [ - "kvdb 0.1.0 (git+https://github.com/paritytech/parity.git)", - "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)", + "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "kvdb-rocksdb" version = "0.1.0" -source = "git+https://github.com/paritytech/parity.git#4145be863bec10038fc0ac5d36a41365b5087344" +source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "fs-swap 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "interleaved-ordered 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "kvdb 0.1.0 (git+https://github.com/paritytech/parity.git)", + "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)", ] @@ -1112,16 +1122,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "memorydb" -version = "0.1.1" -source = "git+https://github.com/paritytech/parity.git#4145be863bec10038fc0ac5d36a41365b5087344" +version = "0.2.0" +source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)", - "plain_hasher 0.1.0 (git+https://github.com/paritytech/parity.git)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity.git)", + "plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", ] [[package]] @@ -1264,6 +1272,23 @@ dependencies = [ "stable_deref_trait 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "parity-bytes" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" + +[[package]] +name = "parity-crypto" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" +dependencies = [ + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)", + "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "parity-wasm" version = "0.31.0" @@ -1327,20 +1352,15 @@ source = "git+https://github.com/paritytech/parity.git#4145be863bec10038fc0ac5d3 [[package]] name = "patricia-trie" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity.git#4145be863bec10038fc0ac5d36a41365b5087344" +version = "0.2.1" +source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore-bytes 0.1.0 (git+https://github.com/paritytech/parity.git)", - "ethcore-logger 1.12.0 (git+https://github.com/paritytech/parity.git)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)", - "keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "memorydb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity.git)", - "triehash 0.1.0 (git+https://github.com/paritytech/parity.git)", ] [[package]] @@ -1356,10 +1376,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "plain_hasher" version = "0.1.0" -source = "git+https://github.com/paritytech/parity.git#4145be863bec10038fc0ac5d36a41365b5087344" +source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", ] [[package]] @@ -1818,6 +1839,17 @@ dependencies = [ "untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "rlp" +version = "0.2.1" +source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" +dependencies = [ + "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "rlp" version = "0.2.1" @@ -2091,9 +2123,9 @@ dependencies = [ [[package]] name = "snappy-sys" version = "0.1.0" -source = "git+https://github.com/paritytech/rust-snappy#40ac9a0d9fd613e7f38df800a11a589b7296da73" +source = "git+https://github.com/paritytech/rust-snappy#798408ffef8f86dd51481673aca10f5348d7491b" dependencies = [ - "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", + "cmake 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2163,14 +2195,14 @@ name = "substrate-client-db" version = "0.1.0" dependencies = [ "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)", - "kvdb 0.1.0 (git+https://github.com/paritytech/parity.git)", - "kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity.git)", - "kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity.git)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)", + "kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common)", + "kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "memorydb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "memorydb 0.2.0 (git+https://github.com/paritytech/parity-common)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.1.0 (git+https://github.com/paritytech/parity.git)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", "substrate-client 0.1.0", "substrate-codec 0.1.0", "substrate-executor 0.1.0", @@ -2199,7 +2231,7 @@ dependencies = [ "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2241,8 +2273,8 @@ version = "0.1.0" dependencies = [ "ed25519 0.1.0", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore-crypto 0.1.0 (git+https://github.com/paritytech/parity.git)", "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2623,14 +2655,16 @@ version = "0.1.0" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "keccak-hasher 0.1.0 (git+https://github.com/paritytech/parity-common)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "memorydb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "memorydb 0.2.0 (git+https://github.com/paritytech/parity-common)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.1.0 (git+https://github.com/paritytech/parity.git)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", "substrate-primitives 0.1.0", - "triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "triehash 0.2.0 (git+https://github.com/paritytech/parity-common)", ] [[package]] @@ -2975,24 +3009,24 @@ dependencies = [ [[package]] name = "triehash" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity.git#4145be863bec10038fc0ac5d36a41365b5087344" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity.git)", + "keccak-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "triehash" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" +version = "0.2.0" +source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "keccak-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", ] [[package]] @@ -3339,7 +3373,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)" = "5e33ec290da0d127825013597dbdfc28bee4964690c7ce1166cbc2a7bd08b1bb" "checksum getopts 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)" = "b900c08c1939860ce8b54dc6a89e26e00c04c380fd0e09796799bd7f12861e05" "checksum globset 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "142754da2c9b3722affd909f9e27f2a6700a7a303f362971e0a74c652005a43d" -"checksum hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)" = "" +"checksum hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" "checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" "checksum hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4da5f0e01bd8a71a224a4eedecaacfcabda388dbb7a80faf04d3514287572d95" @@ -3363,10 +3397,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum jsonrpc-ws-server 8.0.0 (git+https://github.com/paritytech/jsonrpc.git)" = "" "checksum keccak-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b7f51f30d7986536accaec4a6a288008dfb3dbffe8a2863a65292bc395a3ae7" "checksum keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)" = "" +"checksum keccak-hasher 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -"checksum kvdb 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" -"checksum kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" -"checksum kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" +"checksum kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" "checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" "checksum lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e6412c5e2ad9584b0b8e979393122026cdd6d2a80b933f890dcd694ddbe73739" @@ -3382,7 +3417,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" "checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" -"checksum memorydb 0.1.1 (git+https://github.com/paritytech/parity.git)" = "" +"checksum memorydb 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0" "checksum mime 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0b28683d0b09bbc20be1c9b3f6f24854efb1356ffcffee08ea3f6e65596e85fa" "checksum mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)" = "6d771e3ef92d58a8da8df7d6976bfca9371ed1de6619d9d5a5ce5b1f29b85bfe" @@ -3398,6 +3433,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum openssl 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)" = "a3605c298474a3aa69de92d21139fb5e2a81688d308262359d85cdd0d12a7985" "checksum openssl-sys 0.9.33 (registry+https://github.com/rust-lang/crates.io-index)" = "d8abc04833dcedef24221a91852931df2f63e3369ae003134e70aff3645775cc" "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" +"checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1c91199d14bd5b78ecade323d4a891d094799749c1b9e82d9c590c2e2849a40" "checksum parity-wordlist 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d0dec124478845b142f68b446cbee953d14d4b41f1bc0425024417720dce693" "checksum parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "149d8f5b97f3c1133e3cfcd8886449959e856b557ff281e292b733d7c69e005e" @@ -3405,10 +3442,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "901d6514273469bb17380c1ac3f51fb3ce54be1f960e51a6f04901eba313ab8d" "checksum parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa" "checksum path 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" -"checksum patricia-trie 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" +"checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" "checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" "checksum pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "110d5ee3593dbb73f56294327fe5668bcc997897097cbc76b51e7aed3f52452f" -"checksum plain_hasher 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" +"checksum plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "28ea5118e2f41bfbc974b28d88c07621befd1fa5d6ec23549be96302a1a59dd2" "checksum proc-macro-hack 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ba8d4f9257b85eb6cdf13f055cea3190520aab1409ca2ab43493ea4820c25f0" "checksum proc-macro-hack-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d5cb6f960ad471404618e9817c0e5d10b1ae74cfdf01fab89ea0641fe7fb2892" @@ -3430,6 +3467,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5" "checksum rhododendron 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9e38401cc1b63e71ec9119115c7e1354fcf54c8006ad59a22409dd8bd93737b2" "checksum ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6f7d28b30a72c01b458428e0ae988d4149c20d902346902be881e3edc4bb325c" +"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" "checksum rlp 0.2.1 (git+https://github.com/paritytech/parity.git)" = "" "checksum rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "89db7f8dfdd5eb7ab3ac3ece7a07fd273a680b4b224cb231181280e8996f9f0b" "checksum rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)" = "" @@ -3497,8 +3535,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum trace-time 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5aea07da6582e957c6e737eeb63a5af79e648eeeaaaba8fd9a417f1124bafa41" "checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" "checksum transaction-pool 1.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "be1efb673ddf49ab4a99893eb3af02f6563636033fb832c2b7f937641ad62b17" -"checksum triehash 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2033893a813c70e7d8a739ca6c36dc0a7a2c913ec718d7cbf84a3837bbe3c7ce" +"checksum triehash 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum try-lock 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee2aa4715743892880f70885373966c83d73ef1b0838a664ef0c76fffd35e7c2" "checksum twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "475352206e7a290c5fccc27624a163e8d0d115f7bb60ca18a64fc9ce056d7435" "checksum typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887" diff --git a/substrate/client/db/Cargo.toml b/substrate/client/db/Cargo.toml index 5a26a7cdb8537..9f139e3720d5c 100644 --- a/substrate/client/db/Cargo.toml +++ b/substrate/client/db/Cargo.toml @@ -6,12 +6,12 @@ authors = ["Parity Technologies "] [dependencies] parking_lot = "0.4" log = "0.3" -kvdb = { git = "https://github.com/paritytech/parity.git" } -kvdb-rocksdb = { git = "https://github.com/paritytech/parity.git" } +kvdb = { git = "https://github.com/paritytech/parity-common" } +kvdb-rocksdb = { git = "https://github.com/paritytech/parity-common" } ethereum-types = "0.3" -hashdb = { git = "https://github.com/paritytech/parity.git" } -patricia-trie = { git = "https://github.com/paritytech/parity.git" } -memorydb = { git = "https://github.com/paritytech/parity.git" } +hashdb = { git = "https://github.com/paritytech/parity-common" } +patricia-trie = { git = "https://github.com/paritytech/parity-common" } +memorydb = { git = "https://github.com/paritytech/parity-common" } substrate-primitives = { path = "../../../substrate/primitives" } substrate-runtime-primitives = { path = "../../../substrate/runtime/primitives" } substrate-client = { path = "../../../substrate/client" } @@ -22,4 +22,4 @@ substrate-executor = { path = "../../../substrate/executor" } substrate-state-db = { path = "../../../substrate/state-db" } [dev-dependencies] -kvdb-memorydb = { git = "https://github.com/paritytech/parity.git" } +kvdb-memorydb = { git = "https://github.com/paritytech/parity-common" } diff --git a/substrate/keystore/Cargo.toml b/substrate/keystore/Cargo.toml index 88ec623f34d4d..5aa791ca4d99c 100644 --- a/substrate/keystore/Cargo.toml +++ b/substrate/keystore/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" authors = ["Parity Technologies "] [dependencies] -ethcore-crypto = { git = "https://github.com/paritytech/parity.git", default_features = false } +parity-crypto = { git = "https://github.com/paritytech/parity-common.git", default_features = false } ed25519 = { path = "../ed25519" } error-chain = "0.12" hex = "0.3" diff --git a/substrate/state-machine/Cargo.toml b/substrate/state-machine/Cargo.toml index 17b072c4c6687..206b6972ae178 100644 --- a/substrate/state-machine/Cargo.toml +++ b/substrate/state-machine/Cargo.toml @@ -10,10 +10,12 @@ ethereum-types = "0.3" hex-literal = "0.1.0" log = "0.3" parking_lot = "0.4" -triehash = "0.1" substrate-primitives = { path = "../primitives", version = "0.1.0" } -hashdb = { git = "https://github.com/paritytech/parity.git" } -memorydb = { git = "https://github.com/paritytech/parity.git" } -patricia-trie = { git = "https://github.com/paritytech/parity.git" } +hashdb = { git = "https://github.com/paritytech/parity-common" } +keccak-hasher = { git = "https://github.com/paritytech/parity-common" } +memorydb = { git = "https://github.com/paritytech/parity-common" } +patricia-trie = { git = "https://github.com/paritytech/parity-common" } +triehash = { git = "https://github.com/paritytech/parity-common" } +rlp = { git = "https://github.com/paritytech/parity-common" } diff --git a/substrate/state-machine/src/backend.rs b/substrate/state-machine/src/backend.rs index 457a40dcc5382..f05754523b951 100644 --- a/substrate/state-machine/src/backend.rs +++ b/substrate/state-machine/src/backend.rs @@ -17,15 +17,20 @@ //! State machine backends. These manage the code and storage of contracts. use std::{error, fmt}; +use std::cmp::Ord; use std::collections::HashMap; +use std::marker::PhantomData; use std::sync::Arc; + +use hashdb::Hasher; +use rlp::Encodable; use trie_backend::{TryIntoTrieBackend, TrieBackend}; /// A state backend is used to read state data and can have changes committed /// to it. /// /// The clone operation (if implemented) should be cheap. -pub trait Backend: TryIntoTrieBackend { +pub trait Backend: TryIntoTrieBackend { /// An error type when fetching data is not possible. type Error: super::Error; @@ -41,8 +46,10 @@ pub trait Backend: TryIntoTrieBackend { /// Calculate the storage root, with given delta over what is already stored in /// the backend, and produce a "transaction" that can be used to commit. - fn storage_root(&self, delta: I) -> ([u8; 32], Self::Transaction) - where I: IntoIterator, Option>)>; + fn storage_root(&self, delta: I) -> (H::Out, Self::Transaction) + where + I: IntoIterator, Option>)>, + H::Out: Ord + Encodable; /// Get all key/value pairs into a Vec. fn pairs(&self) -> Vec<(Vec, Vec)>; @@ -66,21 +73,23 @@ impl error::Error for Void { /// In-memory backend. Fully recomputes tries on each commit but useful for /// tests. #[derive(Clone, PartialEq, Eq)] -pub struct InMemory { +pub struct InMemory { inner: Arc, Vec>>, + _marker: PhantomData, } -impl Default for InMemory { +impl Default for InMemory { fn default() -> Self { InMemory { inner: Arc::new(Default::default()), + _marker: PhantomData, } } } -impl InMemory { +impl InMemory { /// Copy the state, with applied updates - pub fn update(&self, changes: ::Transaction) -> Self { + pub fn update(&self, changes: >::Transaction) -> Self { let mut inner: HashMap<_, _> = (&*self.inner).clone(); for (key, val) in changes { match val { @@ -93,15 +102,15 @@ impl InMemory { } } -impl From, Vec>> for InMemory { +impl From, Vec>> for InMemory { fn from(inner: HashMap, Vec>) -> Self { InMemory { - inner: Arc::new(inner), + inner: Arc::new(inner), _marker: PhantomData } } } -impl Backend for InMemory { +impl Backend for InMemory { type Error = Void; type Transaction = Vec<(Vec, Option>)>; @@ -113,17 +122,19 @@ impl Backend for InMemory { self.inner.keys().filter(|key| key.starts_with(prefix)).map(|k| &**k).for_each(f); } - fn storage_root(&self, delta: I) -> ([u8; 32], Self::Transaction) - where I: IntoIterator, Option>)> + fn storage_root(&self, delta: I) -> (H::Out, Self::Transaction) + where + I: IntoIterator, Option>)>, + ::Out: Ord + Encodable, { let existing_pairs = self.inner.iter().map(|(k, v)| (k.clone(), Some(v.clone()))); let transaction: Vec<_> = delta.into_iter().collect(); - let root = ::triehash::trie_root(existing_pairs.chain(transaction.iter().cloned()) + let root = ::triehash::trie_root::(existing_pairs.chain(transaction.iter().cloned()) .collect::>() .into_iter() .filter_map(|(k, maybe_val)| maybe_val.map(|val| (k, val))) - ).0; + ); (root, transaction) } @@ -133,14 +144,13 @@ impl Backend for InMemory { } } -impl TryIntoTrieBackend for InMemory { - fn try_into_trie_backend(self) -> Option { - use ethereum_types::H256 as TrieH256; +impl TryIntoTrieBackend for InMemory { + fn try_into_trie_backend(self) -> Option> { use memorydb::MemoryDB; use patricia_trie::{TrieDBMut, TrieMut}; - let mut root = TrieH256::default(); - let mut mdb = MemoryDB::default(); + let mut root = ::Out::default(); + let mut mdb = MemoryDB::new(); { let mut trie = TrieDBMut::new(&mut mdb, &mut root); for (key, value) in self.inner.iter() { diff --git a/substrate/state-machine/src/ext.rs b/substrate/state-machine/src/ext.rs index 5c5b9b573627d..7c2ce83468573 100644 --- a/substrate/state-machine/src/ext.rs +++ b/substrate/state-machine/src/ext.rs @@ -16,9 +16,11 @@ //! Conrete externalities implementation. -use std::{error, fmt}; +use std::{error, fmt, cmp::Ord}; use backend::Backend; use {Externalities, OverlayedChanges}; +use hashdb::Hasher; +use rlp::Encodable; /// Errors that can occur when interacting with the externalities. #[derive(Debug, Copy, Clone)] @@ -50,16 +52,21 @@ impl error::Error for Error { } /// Wraps a read-only backend, call executor, and current overlayed changes. -pub struct Ext<'a, B: 'a + Backend> { +pub struct Ext<'a, H: Hasher, B: 'a + Backend> { // The overlayed changes to write to. overlay: &'a mut OverlayedChanges, // The storage backend to read from. backend: &'a B, // The transaction necessary to commit to the backend. - transaction: Option<(B::Transaction, [u8; 32])>, + transaction: Option<(B::Transaction, H::Out)>, } -impl<'a, B: 'a + Backend> Ext<'a, B> { +impl<'a, H, B> Ext<'a, H, B> +where + H: Hasher, + B: 'a + Backend, + H::Out: Ord + Encodable +{ /// Create a new `Ext` from overlayed changes and read-only backend pub fn new(overlay: &'a mut OverlayedChanges, backend: &'a B) -> Self { Ext { @@ -99,8 +106,11 @@ impl<'a, B: 'a + Backend> Ext<'a, B> { } } -impl<'a, B: 'a> Externalities for Ext<'a, B> - where B: Backend +impl<'a, B: 'a, H> Externalities for Ext<'a, H, B> +where + H: Hasher, + B: 'a + Backend, + H::Out: Ord + Encodable { fn storage(&self, key: &[u8]) -> Option> { self.overlay.storage(key).map(|x| x.map(|x| x.to_vec())).unwrap_or_else(|| @@ -123,7 +133,7 @@ impl<'a, B: 'a> Externalities for Ext<'a, B> 42 } - fn storage_root(&mut self) -> [u8; 32] { + fn storage_root(&mut self) -> H::Out where H::Out: Ord + Encodable { if let Some((_, ref root)) = self.transaction { return root.clone(); } diff --git a/substrate/state-machine/src/lib.rs b/substrate/state-machine/src/lib.rs index e0119edeaaa40..c775d3a7d1dfa 100644 --- a/substrate/state-machine/src/lib.rs +++ b/substrate/state-machine/src/lib.rs @@ -29,13 +29,15 @@ extern crate hashdb; extern crate memorydb; extern crate triehash; extern crate patricia_trie; - extern crate byteorder; extern crate parking_lot; +extern crate rlp; use std::collections::HashMap; use std::collections::hash_map::Drain; use std::fmt; +use rlp::Encodable; +use hashdb::Hasher; pub mod backend; mod ext; @@ -46,7 +48,7 @@ mod trie_backend; pub use testing::TestExternalities; pub use ext::Ext; pub use backend::Backend; -pub use trie_backend::{TryIntoTrieBackend, TrieBackend, TrieH256, Storage, DBValue}; +pub use trie_backend::{TryIntoTrieBackend, TrieBackend, Storage, DBValue}; /// The overlayed changes to state to be queried on top of the backend. /// @@ -118,7 +120,7 @@ impl fmt::Display for ExecutionError { } /// Externalities: pinned to specific active address. -pub trait Externalities { +pub trait Externalities { /// Read storage of current contract being called. fn storage(&self, key: &[u8]) -> Option>; @@ -142,16 +144,16 @@ pub trait Externalities { fn chain_id(&self) -> u64; /// Get the trie root of the current storage map. - fn storage_root(&mut self) -> [u8; 32]; + fn storage_root(&mut self) -> H::Out where H::Out: Ord + Encodable; } /// Code execution engine. -pub trait CodeExecutor: Sized + Send + Sync { +pub trait CodeExecutor: Sized + Send + Sync { /// Externalities error type. type Error: Error; /// Call a given method in the runtime. - fn call( + fn call>( &self, ext: &mut E, code: &[u8], @@ -168,13 +170,18 @@ pub trait CodeExecutor: Sized + Send + Sync { /// /// Note: changes to code will be in place if this call is made again. For running partial /// blocks (e.g. a transaction at a time), ensure a different method is used. -pub fn execute( +pub fn execute( backend: &B, overlay: &mut OverlayedChanges, exec: &Exec, method: &str, call_data: &[u8], ) -> Result<(Vec, B::Transaction), Box> +where + H: Hasher, + Exec: CodeExecutor, + B: Backend, + H::Out: Ord + Encodable { let result = { let mut externalities = ext::Ext::new(overlay, backend); @@ -212,13 +219,18 @@ pub fn execute( /// /// Note: changes to code will be in place if this call is made again. For running partial /// blocks (e.g. a transaction at a time), ensure a different method is used. -pub fn prove_execution( +pub fn prove_execution( backend: B, overlay: &mut OverlayedChanges, exec: &Exec, method: &str, call_data: &[u8], -) -> Result<(Vec, Vec>, ::Transaction), Box> +) -> Result<(Vec, Vec>, as Backend>::Transaction), Box> +where + H: Hasher, + Exec: CodeExecutor, + B: TryIntoTrieBackend, + H::Out: Ord + Encodable { let trie_backend = backend.try_into_trie_backend() .ok_or_else(|| Box::new(ExecutionError::UnableToGenerateProof) as Box)?; @@ -229,16 +241,20 @@ pub fn prove_execution( } /// Check execution proof, generated by `prove_execution` call. -pub fn execution_proof_check( - root: [u8; 32], +pub fn execution_proof_check( + root: H::Out, proof: Vec>, overlay: &mut OverlayedChanges, exec: &Exec, method: &str, call_data: &[u8], -) -> Result<(Vec, memorydb::MemoryDB), Box> +) -> Result<(Vec, memorydb::MemoryDB), Box> +where + H: Hasher, + Exec: CodeExecutor, + H::Out: Ord + Encodable { - let backend = proving_backend::create_proof_check_backend(root.into(), proof)?; + let backend = proving_backend::create_proof_check_backend(root, proof)?; execute(&backend, overlay, exec, method, call_data) } diff --git a/substrate/state-machine/src/proving_backend.rs b/substrate/state-machine/src/proving_backend.rs index 70961adc96902..138e0502db963 100644 --- a/substrate/state-machine/src/proving_backend.rs +++ b/substrate/state-machine/src/proving_backend.rs @@ -17,23 +17,23 @@ //! Proving state machine backend. use std::cell::RefCell; -use ethereum_types::H256 as TrieH256; -use hashdb::HashDB; +use hashdb::{Hasher, HashDB}; use memorydb::MemoryDB; use patricia_trie::{TrieDB, TrieError, Trie, Recorder}; use trie_backend::{TrieBackend, Ephemeral}; use {Error, ExecutionError, Backend, TryIntoTrieBackend}; +use rlp::Encodable; /// Patricia trie-based backend which also tracks all touched storage trie values. /// These can be sent to remote node and used as a proof of execution. -pub struct ProvingBackend { - backend: TrieBackend, - proof_recorder: RefCell, +pub struct ProvingBackend { + backend: TrieBackend, + proof_recorder: RefCell>, } -impl ProvingBackend { +impl ProvingBackend { /// Create new proving backend. - pub fn new(backend: TrieBackend) -> Self { + pub fn new(backend: TrieBackend) -> Self { ProvingBackend { backend, proof_recorder: RefCell::new(Recorder::new()), @@ -50,18 +50,21 @@ impl ProvingBackend { } } -impl Backend for ProvingBackend { +impl Backend for ProvingBackend +where + H: Hasher, + H::Out: Ord + Encodable +{ type Error = String; - type Transaction = MemoryDB; + type Transaction = MemoryDB; fn storage(&self, key: &[u8]) -> Result>, Self::Error> { - let mut read_overlay = MemoryDB::default(); + let mut read_overlay = MemoryDB::new(); let eph = Ephemeral::new( self.backend.backend_storage(), &mut read_overlay, ); - - let map_e = |e: Box| format!("Trie lookup error: {}", e); + let map_e = |e: Box>| format!("Trie lookup error: {}", e); let mut proof_recorder = self.proof_recorder.try_borrow_mut() .expect("only fails when already borrowed; storage() is non-reentrant; qed"); @@ -77,21 +80,21 @@ impl Backend for ProvingBackend { self.backend.pairs() } - fn storage_root(&self, delta: I) -> ([u8; 32], MemoryDB) + fn storage_root(&self, delta: I) -> (H::Out, MemoryDB) where I: IntoIterator, Option>)> { self.backend.storage_root(delta) } } -impl TryIntoTrieBackend for ProvingBackend { - fn try_into_trie_backend(self) -> Option { +impl TryIntoTrieBackend for ProvingBackend { + fn try_into_trie_backend(self) -> Option> { None } } /// Create proof check backend. -pub fn create_proof_check_backend(root: TrieH256, proof: Vec>) -> Result> { +pub fn create_proof_check_backend(root: H::Out, proof: Vec>) -> Result, Box> { let mut db = MemoryDB::new(); for item in proof { db.insert(&item); diff --git a/substrate/state-machine/src/testing.rs b/substrate/state-machine/src/testing.rs index 7b85b523cd47a..61463339ea1d7 100644 --- a/substrate/state-machine/src/testing.rs +++ b/substrate/state-machine/src/testing.rs @@ -17,13 +17,16 @@ //! Test implementation for Externalities. use std::collections::HashMap; +use std::cmp::Ord; use super::Externalities; use triehash::trie_root; +use hashdb::Hasher; +use rlp::Encodable; /// Simple HashMap based Externalities impl. pub type TestExternalities = HashMap, Vec>; -impl Externalities for TestExternalities { +impl Externalities for TestExternalities where H::Out: Ord + Encodable { fn storage(&self, key: &[u8]) -> Option> { self.get(key).map(|x| x.to_vec()) } @@ -43,8 +46,8 @@ impl Externalities for TestExternalities { fn chain_id(&self) -> u64 { 42 } - fn storage_root(&mut self) -> [u8; 32] { - trie_root(self.clone()).0 + fn storage_root(&mut self) -> H::Out { + trie_root::(self.clone()) } } diff --git a/substrate/state-machine/src/trie_backend.rs b/substrate/state-machine/src/trie_backend.rs index 628bb04fbf941..4e45cdfc95c94 100644 --- a/substrate/state-machine/src/trie_backend.rs +++ b/substrate/state-machine/src/trie_backend.rs @@ -16,37 +16,37 @@ //! Trie-based state machine backend. -use std::collections::HashMap; -use std::sync::Arc; -use hashdb::HashDB; +use Backend; +use hashdb::{Hasher, HashDB, AsHashDB}; use memorydb::MemoryDB; use patricia_trie::{TrieDB, TrieDBMut, TrieError, Trie, TrieMut}; -use {Backend}; -pub use ethereum_types::H256 as TrieH256; +use std::collections::HashMap; +use std::sync::Arc; + pub use hashdb::DBValue; /// Backend trie storage trait. -pub trait Storage: Send + Sync { +pub trait Storage: Send + Sync { /// Get a trie node. - fn get(&self, key: &TrieH256) -> Result, String>; + fn get(&self, key: &H::Out) -> Result, String>; } /// Try convert into trie-based backend. -pub trait TryIntoTrieBackend { +pub trait TryIntoTrieBackend { /// Try to convert self into trie backend. - fn try_into_trie_backend(self) -> Option; + fn try_into_trie_backend(self) -> Option>; } /// Patricia trie-based backend. Transaction type is an overlay of changes to commit. #[derive(Clone)] -pub struct TrieBackend { - storage: TrieBackendStorage, - root: TrieH256, +pub struct TrieBackend { + storage: TrieBackendStorage, + root: H::Out, } -impl TrieBackend { +impl TrieBackend { /// Create new trie-based backend. - pub fn with_storage(db: Arc, root: TrieH256) -> Self { + pub fn with_storage(db: Arc>, root: H::Out) -> Self { TrieBackend { storage: TrieBackendStorage::Storage(db), root, @@ -54,16 +54,16 @@ impl TrieBackend { } /// Create new trie-based backend for genesis block. - pub fn with_storage_for_genesis(db: Arc) -> Self { - let mut root = TrieH256::default(); - let mut mdb = MemoryDB::default(); + pub fn with_storage_for_genesis(db: Arc>) -> Self { + let mut root = ::Out::default(); + let mut mdb = MemoryDB::::new(); TrieDBMut::new(&mut mdb, &mut root); Self::with_storage(db, root) } /// Create new trie-based backend backed by MemoryDb storage. - pub fn with_memorydb(db: MemoryDB, root: TrieH256) -> Self { + pub fn with_memorydb(db: MemoryDB, root: H::Out) -> Self { // TODO: check that root is a part of db??? TrieBackend { storage: TrieBackendStorage::MemoryDb(db), @@ -72,53 +72,49 @@ impl TrieBackend { } /// Get backend storage reference. - pub fn backend_storage(&self) -> &TrieBackendStorage { + pub fn backend_storage(&self) -> &TrieBackendStorage { &self.storage } /// Get trie root. - pub fn root(&self) -> &TrieH256 { + pub fn root(&self) -> &H::Out { &self.root } } -impl Backend for TrieBackend { +impl Backend for TrieBackend { type Error = String; - type Transaction = MemoryDB; + type Transaction = MemoryDB; fn storage(&self, key: &[u8]) -> Result>, Self::Error> { - let mut read_overlay = MemoryDB::default(); + let mut read_overlay = MemoryDB::new(); let eph = Ephemeral { storage: &self.storage, overlay: &mut read_overlay, }; - let map_e = |e: Box| format!("Trie lookup error: {}", e); + let map_e = |e: Box>| format!("Trie lookup error: {}", e); TrieDB::new(&eph, &self.root).map_err(map_e)? .get(key).map(|x| x.map(|val| val.to_vec())).map_err(map_e) } fn for_keys_with_prefix(&self, prefix: &[u8], mut f: F) { - let mut read_overlay = MemoryDB::default(); + let mut read_overlay = MemoryDB::new(); let eph = Ephemeral { storage: &self.storage, overlay: &mut read_overlay, }; - let mut iter = move || -> Result<(), Box> { + let mut iter = move || -> Result<(), Box>> { let trie = TrieDB::new(&eph, &self.root)?; let mut iter = trie.iter()?; - iter.seek(prefix)?; - for x in iter { let (key, _) = x?; - if !key.starts_with(prefix) { break; } - f(&key); } @@ -131,13 +127,13 @@ impl Backend for TrieBackend { } fn pairs(&self) -> Vec<(Vec, Vec)> { - let mut read_overlay = MemoryDB::default(); + let mut read_overlay = MemoryDB::new(); let eph = Ephemeral { storage: &self.storage, overlay: &mut read_overlay, }; - let collect_all = || -> Result<_, Box> { + let collect_all = || -> Result<_, Box>> { let trie = TrieDB::new(&eph, &self.root)?; let mut v = Vec::new(); for x in trie.iter()? { @@ -157,10 +153,10 @@ impl Backend for TrieBackend { } } - fn storage_root(&self, delta: I) -> ([u8; 32], MemoryDB) + fn storage_root(&self, delta: I) -> (H::Out, MemoryDB) where I: IntoIterator, Option>)> { - let mut write_overlay = MemoryDB::default(); + let mut write_overlay = MemoryDB::new(); let mut root = self.root; { let mut eph = Ephemeral { @@ -181,23 +177,29 @@ impl Backend for TrieBackend { } } - (root.0.into(), write_overlay) + (root, write_overlay) } } -impl TryIntoTrieBackend for TrieBackend { - fn try_into_trie_backend(self) -> Option { +impl TryIntoTrieBackend for TrieBackend { + fn try_into_trie_backend(self) -> Option> { Some(self) } } -pub struct Ephemeral<'a> { - storage: &'a TrieBackendStorage, - overlay: &'a mut MemoryDB, +pub struct Ephemeral<'a, H: 'a + Hasher> { + storage: &'a TrieBackendStorage, + overlay: &'a mut MemoryDB, +} + +// REVIEW: this is boiler plate, need macro? +impl<'a, H: Hasher> AsHashDB for Ephemeral<'a, H> { + fn as_hashdb(&self) -> &HashDB { self } + fn as_hashdb_mut(&mut self) -> &mut HashDB { self } } -impl<'a> Ephemeral<'a> { - pub fn new(storage: &'a TrieBackendStorage, overlay: &'a mut MemoryDB) -> Self { +impl<'a, H: Hasher> Ephemeral<'a, H> { + pub fn new(storage: &'a TrieBackendStorage, overlay: &'a mut MemoryDB) -> Self { Ephemeral { storage, overlay, @@ -205,12 +207,12 @@ impl<'a> Ephemeral<'a> { } } -impl<'a> HashDB for Ephemeral<'a> { - fn keys(&self) -> HashMap { +impl<'a, H: Hasher> HashDB for Ephemeral<'a, H> { + fn keys(&self) -> HashMap { self.overlay.keys() // TODO: iterate backing } - fn get(&self, key: &TrieH256) -> Option { + fn get(&self, key: &H::Out) -> Option { match self.overlay.raw(key) { Some((val, i)) => { if i <= 0 { @@ -219,7 +221,7 @@ impl<'a> HashDB for Ephemeral<'a> { Some(val) } } - None => match self.storage.get(&key) { + None => match self.storage.get(key) { Ok(x) => x, Err(e) => { warn!(target: "trie", "Failed to read from DB: {}", e); @@ -229,33 +231,33 @@ impl<'a> HashDB for Ephemeral<'a> { } } - fn contains(&self, key: &TrieH256) -> bool { + fn contains(&self, key: &H::Out) -> bool { self.get(key).is_some() } - fn insert(&mut self, value: &[u8]) -> TrieH256 { + fn insert(&mut self, value: &[u8]) -> H::Out { self.overlay.insert(value) } - fn emplace(&mut self, key: TrieH256, value: DBValue) { + fn emplace(&mut self, key: H::Out, value: DBValue) { self.overlay.emplace(key, value) } - fn remove(&mut self, key: &TrieH256) { + fn remove(&mut self, key: &H::Out) { self.overlay.remove(key) } } #[derive(Clone)] -pub enum TrieBackendStorage { +pub enum TrieBackendStorage { /// Key value db + storage column. - Storage(Arc), + Storage(Arc>), /// Hash db. - MemoryDb(MemoryDB), + MemoryDb(MemoryDB), } -impl TrieBackendStorage { - pub fn get(&self, key: &TrieH256) -> Result, String> { +impl TrieBackendStorage { + pub fn get(&self, key: &H::Out) -> Result, String> { match *self { TrieBackendStorage::Storage(ref db) => db.get(key) From eb26a6939825f7579ee5516d13c85af85ccb2a01 Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 11 Jul 2018 13:31:07 +0200 Subject: [PATCH 02/86] WIP start adding NodeCodec --- substrate/state-machine/src/backend.rs | 29 +++++++++--------- substrate/state-machine/src/ext.rs | 13 ++++---- substrate/state-machine/src/lib.rs | 24 ++++++++------- .../state-machine/src/proving_backend.rs | 30 +++++++++++++------ substrate/state-machine/src/trie_backend.rs | 9 +++--- 5 files changed, 63 insertions(+), 42 deletions(-) diff --git a/substrate/state-machine/src/backend.rs b/substrate/state-machine/src/backend.rs index f05754523b951..7b5ce60c28696 100644 --- a/substrate/state-machine/src/backend.rs +++ b/substrate/state-machine/src/backend.rs @@ -25,12 +25,13 @@ use std::sync::Arc; use hashdb::Hasher; use rlp::Encodable; use trie_backend::{TryIntoTrieBackend, TrieBackend}; +use patricia_trie::{TrieDBMut, TrieMut, NodeCodec}; /// A state backend is used to read state data and can have changes committed /// to it. /// /// The clone operation (if implemented) should be cheap. -pub trait Backend: TryIntoTrieBackend { +pub trait Backend>: TryIntoTrieBackend { /// An error type when fetching data is not possible. type Error: super::Error; @@ -73,23 +74,25 @@ impl error::Error for Void { /// In-memory backend. Fully recomputes tries on each commit but useful for /// tests. #[derive(Clone, PartialEq, Eq)] -pub struct InMemory { +pub struct InMemory { inner: Arc, Vec>>, - _marker: PhantomData, + _hasher: PhantomData, + _codec: PhantomData, } -impl Default for InMemory { +impl Default for InMemory { fn default() -> Self { InMemory { inner: Arc::new(Default::default()), - _marker: PhantomData, + _hasher: PhantomData, + _codec: PhantomData, } } } -impl InMemory { +impl> InMemory { /// Copy the state, with applied updates - pub fn update(&self, changes: >::Transaction) -> Self { + pub fn update(&self, changes: >::Transaction) -> Self { let mut inner: HashMap<_, _> = (&*self.inner).clone(); for (key, val) in changes { match val { @@ -102,15 +105,15 @@ impl InMemory { } } -impl From, Vec>> for InMemory { +impl From, Vec>> for InMemory { fn from(inner: HashMap, Vec>) -> Self { InMemory { - inner: Arc::new(inner), _marker: PhantomData + inner: Arc::new(inner), _hasher: PhantomData, _codec: PhantomData } } } -impl Backend for InMemory { +impl> Backend for InMemory { type Error = Void; type Transaction = Vec<(Vec, Option>)>; @@ -144,15 +147,13 @@ impl Backend for InMemory { } } -impl TryIntoTrieBackend for InMemory { +impl> TryIntoTrieBackend for InMemory { fn try_into_trie_backend(self) -> Option> { use memorydb::MemoryDB; - use patricia_trie::{TrieDBMut, TrieMut}; - let mut root = ::Out::default(); let mut mdb = MemoryDB::new(); { - let mut trie = TrieDBMut::new(&mut mdb, &mut root); + let mut trie = TrieDBMut::::new(&mut mdb, &mut root); for (key, value) in self.inner.iter() { if let Err(e) = trie.insert(&key, &value) { warn!(target: "trie", "Failed to write to trie: {}", e); diff --git a/substrate/state-machine/src/ext.rs b/substrate/state-machine/src/ext.rs index 7c2ce83468573..a07f3b17136fd 100644 --- a/substrate/state-machine/src/ext.rs +++ b/substrate/state-machine/src/ext.rs @@ -21,6 +21,7 @@ use backend::Backend; use {Externalities, OverlayedChanges}; use hashdb::Hasher; use rlp::Encodable; +use patricia_trie::NodeCodec; /// Errors that can occur when interacting with the externalities. #[derive(Debug, Copy, Clone)] @@ -52,7 +53,7 @@ impl error::Error for Error { } /// Wraps a read-only backend, call executor, and current overlayed changes. -pub struct Ext<'a, H: Hasher, B: 'a + Backend> { +pub struct Ext<'a, H: Hasher, C: NodeCodec, B: 'a + Backend> { //TODO: can I get rid of the trait bounds here? // The overlayed changes to write to. overlay: &'a mut OverlayedChanges, // The storage backend to read from. @@ -61,10 +62,11 @@ pub struct Ext<'a, H: Hasher, B: 'a + Backend> { transaction: Option<(B::Transaction, H::Out)>, } -impl<'a, H, B> Ext<'a, H, B> +impl<'a, H, C, B> Ext<'a, H, C, B> where H: Hasher, - B: 'a + Backend, + C: NodeCodec, + B: 'a + Backend, H::Out: Ord + Encodable { /// Create a new `Ext` from overlayed changes and read-only backend @@ -106,10 +108,11 @@ impl<'a, B: 'a + Backend> Ext<'a, B> { } } -impl<'a, B: 'a, H> Externalities for Ext<'a, H, B> +impl<'a, B: 'a, H, C> Externalities for Ext<'a, H, C, B> where H: Hasher, - B: 'a + Backend, + C: NodeCodec, + B: 'a + Backend, H::Out: Ord + Encodable { fn storage(&self, key: &[u8]) -> Option> { diff --git a/substrate/state-machine/src/lib.rs b/substrate/state-machine/src/lib.rs index c775d3a7d1dfa..cab8cd261329b 100644 --- a/substrate/state-machine/src/lib.rs +++ b/substrate/state-machine/src/lib.rs @@ -36,8 +36,9 @@ extern crate rlp; use std::collections::HashMap; use std::collections::hash_map::Drain; use std::fmt; -use rlp::Encodable; use hashdb::Hasher; +use patricia_trie::NodeCodec; +use rlp::Encodable; pub mod backend; mod ext; @@ -170,7 +171,7 @@ pub trait CodeExecutor: Sized + Send + Sync { /// /// Note: changes to code will be in place if this call is made again. For running partial /// blocks (e.g. a transaction at a time), ensure a different method is used. -pub fn execute( +pub fn execute( backend: &B, overlay: &mut OverlayedChanges, exec: &Exec, @@ -179,8 +180,9 @@ pub fn execute( ) -> Result<(Vec, B::Transaction), Box> where H: Hasher, + C: NodeCodec, Exec: CodeExecutor, - B: Backend, + B: Backend, H::Out: Ord + Encodable { let result = { @@ -219,29 +221,30 @@ where /// /// Note: changes to code will be in place if this call is made again. For running partial /// blocks (e.g. a transaction at a time), ensure a different method is used. -pub fn prove_execution( +pub fn prove_execution( backend: B, overlay: &mut OverlayedChanges, exec: &Exec, method: &str, call_data: &[u8], -) -> Result<(Vec, Vec>, as Backend>::Transaction), Box> +) -> Result<(Vec, Vec>, as Backend>::Transaction), Box> where H: Hasher, Exec: CodeExecutor, - B: TryIntoTrieBackend, + C: NodeCodec, + B: TryIntoTrieBackend, H::Out: Ord + Encodable { let trie_backend = backend.try_into_trie_backend() .ok_or_else(|| Box::new(ExecutionError::UnableToGenerateProof) as Box)?; let proving_backend = proving_backend::ProvingBackend::new(trie_backend); - let (result, transaction) = execute(&proving_backend, overlay, exec, method, call_data)?; + let (result, transaction) = execute::(&proving_backend, overlay, exec, method, call_data)?; let proof = proving_backend.extract_proof(); Ok((result, proof, transaction)) } /// Check execution proof, generated by `prove_execution` call. -pub fn execution_proof_check( +pub fn execution_proof_check( root: H::Out, proof: Vec>, overlay: &mut OverlayedChanges, @@ -251,11 +254,12 @@ pub fn execution_proof_check( ) -> Result<(Vec, memorydb::MemoryDB), Box> where H: Hasher, + C: NodeCodec, Exec: CodeExecutor, H::Out: Ord + Encodable { - let backend = proving_backend::create_proof_check_backend(root, proof)?; - execute(&backend, overlay, exec, method, call_data) + let backend = proving_backend::create_proof_check_backend::(root, proof)?; + execute::(&backend, overlay, exec, method, call_data) } #[cfg(test)] diff --git a/substrate/state-machine/src/proving_backend.rs b/substrate/state-machine/src/proving_backend.rs index 138e0502db963..637b0945aee92 100644 --- a/substrate/state-machine/src/proving_backend.rs +++ b/substrate/state-machine/src/proving_backend.rs @@ -17,26 +17,28 @@ //! Proving state machine backend. use std::cell::RefCell; +use std::marker::PhantomData; use hashdb::{Hasher, HashDB}; use memorydb::MemoryDB; -use patricia_trie::{TrieDB, TrieError, Trie, Recorder}; +use patricia_trie::{TrieDB, Trie, Recorder, NodeCodec}; use trie_backend::{TrieBackend, Ephemeral}; use {Error, ExecutionError, Backend, TryIntoTrieBackend}; use rlp::Encodable; /// Patricia trie-based backend which also tracks all touched storage trie values. /// These can be sent to remote node and used as a proof of execution. -pub struct ProvingBackend { +pub struct ProvingBackend> { backend: TrieBackend, proof_recorder: RefCell>, + marker: PhantomData // TODO: try to remove this if possible } -impl ProvingBackend { +impl> ProvingBackend { /// Create new proving backend. pub fn new(backend: TrieBackend) -> Self { ProvingBackend { backend, - proof_recorder: RefCell::new(Recorder::new()), + proof_recorder: RefCell::new(Recorder::new()), marker: PhantomData } } @@ -50,9 +52,10 @@ impl ProvingBackend { } } -impl Backend for ProvingBackend +impl Backend for ProvingBackend where H: Hasher, + C: NodeCodec, H::Out: Ord + Encodable { type Error = String; @@ -64,14 +67,16 @@ where self.backend.backend_storage(), &mut read_overlay, ); - let map_e = |e: Box>| format!("Trie lookup error: {}", e); + // let map_e = |e: Box>| format!("Trie lookup error: {}", e); + let map_e = |e| format!("Trie lookup error: {}", e); let mut proof_recorder = self.proof_recorder.try_borrow_mut() .expect("only fails when already borrowed; storage() is non-reentrant; qed"); - TrieDB::new(&eph, &self.backend.root()).map_err(map_e)? + TrieDB::::new(&eph, &self.backend.root()).map_err(map_e)? .get_with(key, &mut *proof_recorder).map(|x| x.map(|val| val.to_vec())).map_err(map_e) } + // TODO: "error[E0283]: type annotations required: cannot resolve `_: patricia_trie::NodeCodec`"/"note: required because of the requirements on the impl of `backend::Backend` for `trie_backend::TrieBackend`") fn for_keys_with_prefix(&self, prefix: &[u8], f: F) { self.backend.for_keys_with_prefix(prefix, f) } @@ -87,14 +92,21 @@ where } } -impl TryIntoTrieBackend for ProvingBackend { +impl> TryIntoTrieBackend for ProvingBackend { fn try_into_trie_backend(self) -> Option> { None } } /// Create proof check backend. -pub fn create_proof_check_backend(root: H::Out, proof: Vec>) -> Result, Box> { +pub fn create_proof_check_backend( + root: H::Out, + proof: Vec> +) -> Result, Box> +where + H: Hasher, + C: NodeCodec, +{ let mut db = MemoryDB::new(); for item in proof { db.insert(&item); diff --git a/substrate/state-machine/src/trie_backend.rs b/substrate/state-machine/src/trie_backend.rs index 4e45cdfc95c94..913fd02a83a6e 100644 --- a/substrate/state-machine/src/trie_backend.rs +++ b/substrate/state-machine/src/trie_backend.rs @@ -19,7 +19,7 @@ use Backend; use hashdb::{Hasher, HashDB, AsHashDB}; use memorydb::MemoryDB; -use patricia_trie::{TrieDB, TrieDBMut, TrieError, Trie, TrieMut}; +use patricia_trie::{TrieDB, TrieDBMut, TrieError, Trie, TrieMut, NodeCodec}; use std::collections::HashMap; use std::sync::Arc; @@ -32,7 +32,7 @@ pub trait Storage: Send + Sync { } /// Try convert into trie-based backend. -pub trait TryIntoTrieBackend { +pub trait TryIntoTrieBackend> { /// Try to convert self into trie backend. fn try_into_trie_backend(self) -> Option>; } @@ -82,7 +82,7 @@ impl TrieBackend { } } -impl Backend for TrieBackend { +impl> Backend for TrieBackend { type Error = String; type Transaction = MemoryDB; @@ -93,6 +93,7 @@ impl Backend for TrieBackend { overlay: &mut read_overlay, }; + // TODO: this is probably wrong too let map_e = |e: Box>| format!("Trie lookup error: {}", e); TrieDB::new(&eph, &self.root).map_err(map_e)? @@ -181,7 +182,7 @@ impl Backend for TrieBackend { } } -impl TryIntoTrieBackend for TrieBackend { +impl> TryIntoTrieBackend for TrieBackend { fn try_into_trie_backend(self) -> Option> { Some(self) } From acf828451de3b3c6a12fc2d2f54316b6498e3357 Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 11 Jul 2018 13:42:16 +0200 Subject: [PATCH 03/86] Add codec to TrieBackend --- substrate/state-machine/src/backend.rs | 2 +- substrate/state-machine/src/lib.rs | 2 +- substrate/state-machine/src/proving_backend.rs | 13 ++++++------- substrate/state-machine/src/trie_backend.rs | 16 ++++++++++------ 4 files changed, 18 insertions(+), 15 deletions(-) diff --git a/substrate/state-machine/src/backend.rs b/substrate/state-machine/src/backend.rs index 7b5ce60c28696..ed4b626312592 100644 --- a/substrate/state-machine/src/backend.rs +++ b/substrate/state-machine/src/backend.rs @@ -148,7 +148,7 @@ impl> Backend for InMemory { } impl> TryIntoTrieBackend for InMemory { - fn try_into_trie_backend(self) -> Option> { + fn try_into_trie_backend(self) -> Option> { use memorydb::MemoryDB; let mut root = ::Out::default(); let mut mdb = MemoryDB::new(); diff --git a/substrate/state-machine/src/lib.rs b/substrate/state-machine/src/lib.rs index cab8cd261329b..63fa25c7e9471 100644 --- a/substrate/state-machine/src/lib.rs +++ b/substrate/state-machine/src/lib.rs @@ -227,7 +227,7 @@ pub fn prove_execution( exec: &Exec, method: &str, call_data: &[u8], -) -> Result<(Vec, Vec>, as Backend>::Transaction), Box> +) -> Result<(Vec, Vec>, as Backend>::Transaction), Box> where H: Hasher, Exec: CodeExecutor, diff --git a/substrate/state-machine/src/proving_backend.rs b/substrate/state-machine/src/proving_backend.rs index 637b0945aee92..d822309af6dfb 100644 --- a/substrate/state-machine/src/proving_backend.rs +++ b/substrate/state-machine/src/proving_backend.rs @@ -28,17 +28,17 @@ use rlp::Encodable; /// Patricia trie-based backend which also tracks all touched storage trie values. /// These can be sent to remote node and used as a proof of execution. pub struct ProvingBackend> { - backend: TrieBackend, + backend: TrieBackend, proof_recorder: RefCell>, - marker: PhantomData // TODO: try to remove this if possible + // marker: PhantomData // TODO: try to remove this if possible } impl> ProvingBackend { /// Create new proving backend. - pub fn new(backend: TrieBackend) -> Self { + pub fn new(backend: TrieBackend) -> Self { ProvingBackend { backend, - proof_recorder: RefCell::new(Recorder::new()), marker: PhantomData + proof_recorder: RefCell::new(Recorder::new()) //, marker: PhantomData } } @@ -67,7 +67,6 @@ where self.backend.backend_storage(), &mut read_overlay, ); - // let map_e = |e: Box>| format!("Trie lookup error: {}", e); let map_e = |e| format!("Trie lookup error: {}", e); let mut proof_recorder = self.proof_recorder.try_borrow_mut() @@ -93,7 +92,7 @@ where } impl> TryIntoTrieBackend for ProvingBackend { - fn try_into_trie_backend(self) -> Option> { + fn try_into_trie_backend(self) -> Option> { None } } @@ -102,7 +101,7 @@ impl> TryIntoTrieBackend for ProvingBackend( root: H::Out, proof: Vec> -) -> Result, Box> +) -> Result, Box> where H: Hasher, C: NodeCodec, diff --git a/substrate/state-machine/src/trie_backend.rs b/substrate/state-machine/src/trie_backend.rs index 913fd02a83a6e..1aa861d3d624a 100644 --- a/substrate/state-machine/src/trie_backend.rs +++ b/substrate/state-machine/src/trie_backend.rs @@ -22,6 +22,7 @@ use memorydb::MemoryDB; use patricia_trie::{TrieDB, TrieDBMut, TrieError, Trie, TrieMut, NodeCodec}; use std::collections::HashMap; use std::sync::Arc; +use std::marker::PhantomData; pub use hashdb::DBValue; @@ -34,22 +35,24 @@ pub trait Storage: Send + Sync { /// Try convert into trie-based backend. pub trait TryIntoTrieBackend> { /// Try to convert self into trie backend. - fn try_into_trie_backend(self) -> Option>; + fn try_into_trie_backend(self) -> Option>; } /// Patricia trie-based backend. Transaction type is an overlay of changes to commit. #[derive(Clone)] -pub struct TrieBackend { +pub struct TrieBackend> { storage: TrieBackendStorage, root: H::Out, + _codec: PhantomData } -impl TrieBackend { +impl> TrieBackend { /// Create new trie-based backend. pub fn with_storage(db: Arc>, root: H::Out) -> Self { TrieBackend { storage: TrieBackendStorage::Storage(db), root, + _codec: PhantomData, } } @@ -68,6 +71,7 @@ impl TrieBackend { TrieBackend { storage: TrieBackendStorage::MemoryDb(db), root, + _codec: PhantomData, } } @@ -82,7 +86,7 @@ impl TrieBackend { } } -impl> Backend for TrieBackend { +impl> Backend for TrieBackend { type Error = String; type Transaction = MemoryDB; @@ -182,8 +186,8 @@ impl> Backend for TrieBackend { } } -impl> TryIntoTrieBackend for TrieBackend { - fn try_into_trie_backend(self) -> Option> { +impl> TryIntoTrieBackend for TrieBackend { + fn try_into_trie_backend(self) -> Option> { Some(self) } } From 90707dc1ed2485e5d22f6ab484fbbd4ed0de5863 Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 11 Jul 2018 13:47:22 +0200 Subject: [PATCH 04/86] Typechecks --- substrate/state-machine/src/trie_backend.rs | 32 ++++++++++++++------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/substrate/state-machine/src/trie_backend.rs b/substrate/state-machine/src/trie_backend.rs index 1aa861d3d624a..1001e76a4b528 100644 --- a/substrate/state-machine/src/trie_backend.rs +++ b/substrate/state-machine/src/trie_backend.rs @@ -60,7 +60,7 @@ impl> TrieBackend { pub fn with_storage_for_genesis(db: Arc>) -> Self { let mut root = ::Out::default(); let mut mdb = MemoryDB::::new(); - TrieDBMut::new(&mut mdb, &mut root); + TrieDBMut::::new(&mut mdb, &mut root); Self::with_storage(db, root) } @@ -98,9 +98,10 @@ impl> Backend for TrieBackend { }; // TODO: this is probably wrong too - let map_e = |e: Box>| format!("Trie lookup error: {}", e); + // let map_e = |e: Box>| format!("Trie lookup error: {}", e); + let map_e = |e| format!("Trie lookup error: {}", e); - TrieDB::new(&eph, &self.root).map_err(map_e)? + TrieDB::::new(&eph, &self.root).map_err(map_e)? .get(key).map(|x| x.map(|val| val.to_vec())).map_err(map_e) } @@ -112,11 +113,16 @@ impl> Backend for TrieBackend { }; let mut iter = move || -> Result<(), Box>> { - let trie = TrieDB::new(&eph, &self.root)?; - let mut iter = trie.iter()?; - iter.seek(prefix)?; + // TODO: zomg errors + // let trie = TrieDB::::new(&eph, &self.root)?; + let trie = TrieDB::::new(&eph, &self.root).unwrap(); + // let mut iter = trie.iter()?; + let mut iter = trie.iter().unwrap(); + // iter.seek(prefix)?; + iter.seek(prefix).unwrap(); for x in iter { - let (key, _) = x?; + // let (key, _) = x?; + let (key, _) = x.unwrap(); if !key.starts_with(prefix) { break; } @@ -139,10 +145,14 @@ impl> Backend for TrieBackend { }; let collect_all = || -> Result<_, Box>> { - let trie = TrieDB::new(&eph, &self.root)?; + // TODO: zomg errors + // let trie = TrieDB::::new(&eph, &self.root)?; + let trie = TrieDB::::new(&eph, &self.root).unwrap(); let mut v = Vec::new(); - for x in trie.iter()? { - let (key, value) = x?; + // for x in trie.iter()? { + for x in trie.iter().unwrap() { + // let (key, value) = x?; + let (key, value) = x.unwrap(); v.push((key.to_vec(), value.to_vec())); } @@ -169,7 +179,7 @@ impl> Backend for TrieBackend { overlay: &mut write_overlay, }; - let mut trie = TrieDBMut::from_existing(&mut eph, &mut root).expect("prior state root to exist"); // TODO: handle gracefully + let mut trie = TrieDBMut::::from_existing(&mut eph, &mut root).expect("prior state root to exist"); // TODO: handle gracefully for (key, change) in delta { let result = match change { Some(val) => trie.insert(&key, &val), From 4ccc8517dc45a6c0bb6803b68d48a612471fb6eb Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 11 Jul 2018 13:51:02 +0200 Subject: [PATCH 05/86] Fix error type --- substrate/state-machine/src/trie_backend.rs | 30 +++++++-------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/substrate/state-machine/src/trie_backend.rs b/substrate/state-machine/src/trie_backend.rs index 1001e76a4b528..e43f57cf2105a 100644 --- a/substrate/state-machine/src/trie_backend.rs +++ b/substrate/state-machine/src/trie_backend.rs @@ -97,10 +97,7 @@ impl> Backend for TrieBackend { overlay: &mut read_overlay, }; - // TODO: this is probably wrong too - // let map_e = |e: Box>| format!("Trie lookup error: {}", e); let map_e = |e| format!("Trie lookup error: {}", e); - TrieDB::::new(&eph, &self.root).map_err(map_e)? .get(key).map(|x| x.map(|val| val.to_vec())).map_err(map_e) } @@ -112,17 +109,12 @@ impl> Backend for TrieBackend { overlay: &mut read_overlay, }; - let mut iter = move || -> Result<(), Box>> { - // TODO: zomg errors - // let trie = TrieDB::::new(&eph, &self.root)?; - let trie = TrieDB::::new(&eph, &self.root).unwrap(); - // let mut iter = trie.iter()?; - let mut iter = trie.iter().unwrap(); - // iter.seek(prefix)?; - iter.seek(prefix).unwrap(); + let mut iter = move || -> Result<(), Box>> { + let trie = TrieDB::::new(&eph, &self.root)?; + let mut iter = trie.iter()?; + iter.seek(prefix)?; for x in iter { - // let (key, _) = x?; - let (key, _) = x.unwrap(); + let (key, _) = x?; if !key.starts_with(prefix) { break; } @@ -144,15 +136,11 @@ impl> Backend for TrieBackend { overlay: &mut read_overlay, }; - let collect_all = || -> Result<_, Box>> { - // TODO: zomg errors - // let trie = TrieDB::::new(&eph, &self.root)?; - let trie = TrieDB::::new(&eph, &self.root).unwrap(); + let collect_all = || -> Result<_, Box>> { + let trie = TrieDB::::new(&eph, &self.root)?; let mut v = Vec::new(); - // for x in trie.iter()? { - for x in trie.iter().unwrap() { - // let (key, value) = x?; - let (key, value) = x.unwrap(); + for x in trie.iter()? { + let (key, value) = x?; v.push((key.to_vec(), value.to_vec())); } From 21b789248f91a59f643d17e3e9852937a5ad8bcb Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 11 Jul 2018 13:56:48 +0200 Subject: [PATCH 06/86] Cleanup --- .gitignore | 2 +- substrate/state-machine/src/proving_backend.rs | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 4231fae3fd225..61014b0a28c48 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -/target/ +**/target/ **/*.rs.bk *.swp .wasm-binaries diff --git a/substrate/state-machine/src/proving_backend.rs b/substrate/state-machine/src/proving_backend.rs index d822309af6dfb..4ebba424f05c9 100644 --- a/substrate/state-machine/src/proving_backend.rs +++ b/substrate/state-machine/src/proving_backend.rs @@ -17,7 +17,6 @@ //! Proving state machine backend. use std::cell::RefCell; -use std::marker::PhantomData; use hashdb::{Hasher, HashDB}; use memorydb::MemoryDB; use patricia_trie::{TrieDB, Trie, Recorder, NodeCodec}; @@ -30,7 +29,6 @@ use rlp::Encodable; pub struct ProvingBackend> { backend: TrieBackend, proof_recorder: RefCell>, - // marker: PhantomData // TODO: try to remove this if possible } impl> ProvingBackend { @@ -38,7 +36,7 @@ impl> ProvingBackend { pub fn new(backend: TrieBackend) -> Self { ProvingBackend { backend, - proof_recorder: RefCell::new(Recorder::new()) //, marker: PhantomData + proof_recorder: RefCell::new(Recorder::new()), } } From 6b2fa02be682fa3059b64835224ac4b1c19d1286 Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 11 Jul 2018 15:00:45 +0200 Subject: [PATCH 07/86] Tests build (and fail) --- substrate/state-machine/Cargo.toml | 7 +++- substrate/state-machine/src/ext.rs | 2 +- substrate/state-machine/src/lib.rs | 15 ++++++--- .../state-machine/src/proving_backend.rs | 10 +++--- substrate/state-machine/src/testing.rs | 33 +++++++++++++------ substrate/state-machine/src/trie_backend.rs | 19 +++++++---- 6 files changed, 59 insertions(+), 27 deletions(-) diff --git a/substrate/state-machine/Cargo.toml b/substrate/state-machine/Cargo.toml index 206b6972ae178..3141bb4fbc309 100644 --- a/substrate/state-machine/Cargo.toml +++ b/substrate/state-machine/Cargo.toml @@ -14,8 +14,13 @@ parking_lot = "0.4" substrate-primitives = { path = "../primitives", version = "0.1.0" } hashdb = { git = "https://github.com/paritytech/parity-common" } -keccak-hasher = { git = "https://github.com/paritytech/parity-common" } memorydb = { git = "https://github.com/paritytech/parity-common" } patricia-trie = { git = "https://github.com/paritytech/parity-common" } triehash = { git = "https://github.com/paritytech/parity-common" } rlp = { git = "https://github.com/paritytech/parity-common" } + +[dev-dependencies] +# We need `KeccakHasher` from here +keccak-hasher = { git = "https://github.com/paritytech/parity" } +# We need `RlpCodec` from here +patricia-trie-ethereum = { git = "https://github.com/paritytech/parity" } \ No newline at end of file diff --git a/substrate/state-machine/src/ext.rs b/substrate/state-machine/src/ext.rs index a07f3b17136fd..07532a909f083 100644 --- a/substrate/state-machine/src/ext.rs +++ b/substrate/state-machine/src/ext.rs @@ -93,7 +93,7 @@ where } #[cfg(test)] -impl<'a, B: 'a + Backend> Ext<'a, B> { +impl<'a, H: Hasher, C: NodeCodec, B: 'a + Backend> Ext<'a, H, C, B> { pub fn storage_pairs(&self) -> Vec<(Vec, Vec)> { use std::collections::HashMap; diff --git a/substrate/state-machine/src/lib.rs b/substrate/state-machine/src/lib.rs index 63fa25c7e9471..289322b327475 100644 --- a/substrate/state-machine/src/lib.rs +++ b/substrate/state-machine/src/lib.rs @@ -32,6 +32,8 @@ extern crate patricia_trie; extern crate byteorder; extern crate parking_lot; extern crate rlp; +#[cfg(test)] extern crate keccak_hasher; +#[cfg(test)] extern crate patricia_trie_ethereum as ethtrie; use std::collections::HashMap; use std::collections::hash_map::Drain; @@ -267,13 +269,16 @@ mod tests { use super::*; use super::backend::InMemory; use super::ext::Ext; + use keccak_hasher::KeccakHasher; + use ethtrie::RlpCodec; + use ethereum_types::H256; struct DummyCodeExecutor; - impl CodeExecutor for DummyCodeExecutor { + impl CodeExecutor for DummyCodeExecutor { type Error = u8; - fn call( + fn call>( &self, ext: &mut E, _code: &[u8], @@ -326,7 +331,7 @@ mod tests { b"dogglesworth".to_vec() => b"catXXX".to_vec(), b"doug".to_vec() => b"notadog".to_vec() ]; - let backend = InMemory::from(initial); + let backend = InMemory::::from(initial); let mut overlay = OverlayedChanges { committed: map![ b"dog".to_vec() => Some(b"puppy".to_vec()), @@ -340,7 +345,7 @@ mod tests { }; let mut ext = Ext::new(&mut overlay, &backend); const ROOT: [u8; 32] = hex!("8aad789dff2f538bca5d8ea56e8abe10f4c7ba3a5dea95fea4cd6e7c3a1168d3"); - assert_eq!(ext.storage_root(), ROOT); + assert_eq!(ext.storage_root(), H256(ROOT)); } #[test] @@ -358,7 +363,7 @@ mod tests { &mut Default::default(), &DummyCodeExecutor, "test", &[]).unwrap(); // check proof locally - let (local_result, _) = execution_proof_check(remote_root, remote_proof, + let (local_result, _) = execution_proof_check::(remote_root, remote_proof, &mut Default::default(), &DummyCodeExecutor, "test", &[]).unwrap(); // check that both results are correct diff --git a/substrate/state-machine/src/proving_backend.rs b/substrate/state-machine/src/proving_backend.rs index 4ebba424f05c9..f56ff4d5e12f7 100644 --- a/substrate/state-machine/src/proving_backend.rs +++ b/substrate/state-machine/src/proving_backend.rs @@ -122,8 +122,10 @@ mod tests { use backend::{InMemory}; use trie_backend::tests::test_trie; use super::*; + use keccak_hasher::KeccakHasher; + use ethtrie::RlpCodec; - fn test_proving() -> ProvingBackend { + fn test_proving() -> ProvingBackend { ProvingBackend::new(test_trie()) } @@ -141,7 +143,7 @@ mod tests { #[test] fn proof_is_invalid_when_does_not_contains_root() { - assert!(create_proof_check_backend(1.into(), vec![]).is_err()); + assert!(create_proof_check_backend::(1.into(), vec![]).is_err()); } #[test] @@ -160,7 +162,7 @@ mod tests { #[test] fn proof_recorded_and_checked() { let contents = (0..64).map(|i| (vec![i], Some(vec![i]))).collect::>(); - let in_memory = InMemory::default(); + let in_memory = InMemory::::default(); let in_memory = in_memory.update(contents); let in_memory_root = in_memory.storage_root(::std::iter::empty()).0; (0..64).for_each(|i| assert_eq!(in_memory.storage(&[i]).unwrap().unwrap(), vec![i])); @@ -175,7 +177,7 @@ mod tests { let proof = proving.extract_proof(); - let proof_check = create_proof_check_backend(in_memory_root.into(), proof).unwrap(); + let proof_check = create_proof_check_backend::(in_memory_root.into(), proof).unwrap(); assert_eq!(proof_check.storage(&[42]).unwrap().unwrap(), vec![42]); } } diff --git a/substrate/state-machine/src/testing.rs b/substrate/state-machine/src/testing.rs index 61463339ea1d7..b4f50e9314579 100644 --- a/substrate/state-machine/src/testing.rs +++ b/substrate/state-machine/src/testing.rs @@ -22,24 +22,35 @@ use super::Externalities; use triehash::trie_root; use hashdb::Hasher; use rlp::Encodable; +use std::marker::PhantomData; -/// Simple HashMap based Externalities impl. -pub type TestExternalities = HashMap, Vec>; +/// Simple HashMap-based Externalities impl. +pub struct TestExternalities { + inner: HashMap, Vec>, + hasher: PhantomData, +} + +impl TestExternalities { + #[cfg(test)] + fn new() -> Self { + TestExternalities {inner: HashMap::new(), hasher: PhantomData} + } +} -impl Externalities for TestExternalities where H::Out: Ord + Encodable { +impl Externalities for TestExternalities where H::Out: Ord + Encodable { fn storage(&self, key: &[u8]) -> Option> { - self.get(key).map(|x| x.to_vec()) + self.inner.get(key).map(|x| x.to_vec()) } fn place_storage(&mut self, key: Vec, maybe_value: Option>) { match maybe_value { - Some(value) => { self.insert(key, value); } - None => { self.remove(&key); } + Some(value) => { self.inner.insert(key, value); } + None => { self.inner.remove(&key); } } } fn clear_prefix(&mut self, prefix: &[u8]) { - self.retain(|key, _| + self.inner.retain(|key, _| !key.starts_with(prefix) ) } @@ -47,21 +58,23 @@ impl Externalities for TestExternalities where H::Out: Ord + Encod fn chain_id(&self) -> u64 { 42 } fn storage_root(&mut self) -> H::Out { - trie_root::(self.clone()) + trie_root::(self.inner.clone()) } } #[cfg(test)] mod tests { use super::*; + use keccak_hasher::KeccakHasher; + use ethereum_types::H256; #[test] fn commit_should_work() { - let mut ext = TestExternalities::new(); + let mut ext = TestExternalities::::new(); ext.set_storage(b"doe".to_vec(), b"reindeer".to_vec()); ext.set_storage(b"dog".to_vec(), b"puppy".to_vec()); ext.set_storage(b"dogglesworth".to_vec(), b"cat".to_vec()); const ROOT: [u8; 32] = hex!("8aad789dff2f538bca5d8ea56e8abe10f4c7ba3a5dea95fea4cd6e7c3a1168d3"); - assert_eq!(ext.storage_root(), ROOT); + assert_eq!(ext.storage_root(), H256(ROOT)); } } diff --git a/substrate/state-machine/src/trie_backend.rs b/substrate/state-machine/src/trie_backend.rs index e43f57cf2105a..dd1c555355098 100644 --- a/substrate/state-machine/src/trie_backend.rs +++ b/substrate/state-machine/src/trie_backend.rs @@ -275,12 +275,15 @@ impl TrieBackendStorage { pub mod tests { use super::*; use std::collections::HashSet; + use ethereum_types::H256 as TrieH256; + use keccak_hasher::KeccakHasher; + use ethtrie::RlpCodec; - fn test_db() -> (MemoryDB, TrieH256) { + fn test_db() -> (MemoryDB, TrieH256) { let mut root = TrieH256::default(); - let mut mdb = MemoryDB::default(); + let mut mdb = MemoryDB::::default(); { - let mut trie = TrieDBMut::new(&mut mdb, &mut root); + let mut trie = TrieDBMut::::new(&mut mdb, &mut root); trie.insert(b"key", b"value").unwrap(); trie.insert(b"value1", &[42]).unwrap(); trie.insert(b"value2", &[24]).unwrap(); @@ -289,7 +292,7 @@ pub mod tests { (mdb, root) } - pub fn test_trie() -> TrieBackend { + pub(crate) fn test_trie() -> TrieBackend { let (mdb, root) = test_db(); TrieBackend::with_memorydb(mdb, root) } @@ -311,12 +314,16 @@ pub mod tests { #[test] fn pairs_are_empty_on_empty_storage() { - assert!(TrieBackend::with_memorydb(MemoryDB::new(), Default::default()).pairs().is_empty()); + let db = TrieBackend::::with_memorydb( + MemoryDB::new(), + Default::default() + ); + assert!(db.pairs().is_empty()); } #[test] fn storage_root_is_non_default() { - assert!(test_trie().storage_root(::std::iter::empty()).0 != [0; 32]); + assert!(test_trie().storage_root(::std::iter::empty()).0 != TrieH256([0; 32])); } #[test] From f331b0c1724002e771c1076e5c480e74fae69514 Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 11 Jul 2018 15:22:42 +0200 Subject: [PATCH 08/86] Fix tests: don't use MemoryDB::default() --- substrate/state-machine/src/trie_backend.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/substrate/state-machine/src/trie_backend.rs b/substrate/state-machine/src/trie_backend.rs index dd1c555355098..865996cf0ac64 100644 --- a/substrate/state-machine/src/trie_backend.rs +++ b/substrate/state-machine/src/trie_backend.rs @@ -281,13 +281,13 @@ pub mod tests { fn test_db() -> (MemoryDB, TrieH256) { let mut root = TrieH256::default(); - let mut mdb = MemoryDB::::default(); + let mut mdb = MemoryDB::::new(); { - let mut trie = TrieDBMut::::new(&mut mdb, &mut root); - trie.insert(b"key", b"value").unwrap(); - trie.insert(b"value1", &[42]).unwrap(); - trie.insert(b"value2", &[24]).unwrap(); - trie.insert(b":code", b"return 42").unwrap(); + let mut trie = TrieDBMut::<_, RlpCodec>::new(&mut mdb, &mut root); + trie.insert(b"key", b"value").expect("insert failed"); + trie.insert(b"value1", &[42]).expect("insert failed"); + trie.insert(b"value2", &[24]).expect("insert failed"); + trie.insert(b":code", b"return 42").expect("insert failed"); } (mdb, root) } From f0f24132b6f1517f3f236a5c89bbe1c2c88e7e1e Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 11 Jul 2018 16:04:21 +0200 Subject: [PATCH 09/86] Lockfile --- Cargo.lock | 144 ++++++++++++++++++++++++++--------------------------- 1 file changed, 71 insertions(+), 73 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a73898e5cda91..e9cb33b941660 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -394,6 +394,15 @@ name = "difference" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "dirs" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "dtoa" version = "0.4.2" @@ -472,34 +481,17 @@ dependencies = [ "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "ethcore-bytes" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity.git#4145be863bec10038fc0ac5d36a41365b5087344" - -[[package]] -name = "ethcore-crypto" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity.git#4145be863bec10038fc0ac5d36a41365b5087344" -dependencies = [ - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)", - "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "ethcore-io" version = "1.12.0" -source = "git+https://github.com/paritytech/parity.git#4145be863bec10038fc0ac5d36a41365b5087344" +source = "git+https://github.com/paritytech/parity#484ecfaf4786e28c5abc0ba9685a32b5e180cb1d" dependencies = [ "crossbeam 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)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", "timer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -508,7 +500,7 @@ dependencies = [ [[package]] name = "ethcore-logger" version = "1.12.0" -source = "git+https://github.com/paritytech/parity.git#4145be863bec10038fc0ac5d36a41365b5087344" +source = "git+https://github.com/paritytech/parity#484ecfaf4786e28c5abc0ba9685a32b5e180cb1d" dependencies = [ "ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", @@ -516,7 +508,7 @@ dependencies = [ "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -524,44 +516,44 @@ dependencies = [ [[package]] name = "ethcore-network" version = "1.12.0" -source = "git+https://github.com/paritytech/parity.git#4145be863bec10038fc0ac5d36a41365b5087344" +source = "git+https://github.com/paritytech/parity#484ecfaf4786e28c5abc0ba9685a32b5e180cb1d" dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore-crypto 0.1.0 (git+https://github.com/paritytech/parity.git)", - "ethcore-io 1.12.0 (git+https://github.com/paritytech/parity.git)", + "ethcore-io 1.12.0 (git+https://github.com/paritytech/parity)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "ethkey 0.3.0 (git+https://github.com/paritytech/parity.git)", + "ethkey 0.3.0 (git+https://github.com/paritytech/parity)", "ipnetwork 0.12.8 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity.git)", + "parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", "snappy 0.1.0 (git+https://github.com/paritytech/rust-snappy)", ] [[package]] name = "ethcore-network-devp2p" version = "1.12.0" -source = "git+https://github.com/paritytech/parity.git#4145be863bec10038fc0ac5d36a41365b5087344" +source = "git+https://github.com/paritytech/parity#484ecfaf4786e28c5abc0ba9685a32b5e180cb1d" dependencies = [ "ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore-bytes 0.1.0 (git+https://github.com/paritytech/parity.git)", - "ethcore-crypto 0.1.0 (git+https://github.com/paritytech/parity.git)", - "ethcore-io 1.12.0 (git+https://github.com/paritytech/parity.git)", - "ethcore-logger 1.12.0 (git+https://github.com/paritytech/parity.git)", - "ethcore-network 1.12.0 (git+https://github.com/paritytech/parity.git)", + "ethcore-io 1.12.0 (git+https://github.com/paritytech/parity)", + "ethcore-logger 1.12.0 (git+https://github.com/paritytech/parity)", + "ethcore-network 1.12.0 (git+https://github.com/paritytech/parity)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "ethkey 0.3.0 (git+https://github.com/paritytech/parity.git)", + "ethkey 0.3.0 (git+https://github.com/paritytech/parity)", "igd 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "ipnetwork 0.12.8 (registry+https://github.com/rust-lang/crates.io-index)", - "keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)", + "keccak-hash 0.1.2 (git+https://github.com/paritytech/parity-common)", "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "path 0.1.0 (git+https://github.com/paritytech/parity.git)", + "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", + "parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)", + "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "path 0.1.1 (git+https://github.com/paritytech/parity-common)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity.git)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", @@ -597,16 +589,16 @@ dependencies = [ [[package]] name = "ethkey" version = "0.3.0" -source = "git+https://github.com/paritytech/parity.git#4145be863bec10038fc0ac5d36a41365b5087344" +source = "git+https://github.com/paritytech/parity#484ecfaf4786e28c5abc0ba9685a32b5e180cb1d" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "edit-distance 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "eth-secp256k1 0.5.7 (git+https://github.com/paritytech/rust-secp256k1)", - "ethcore-crypto 0.1.0 (git+https://github.com/paritytech/parity.git)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "mem 0.1.0 (git+https://github.com/paritytech/parity.git)", + "mem 0.1.0 (git+https://github.com/paritytech/parity)", + "parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)", "parity-wordlist 1.2.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.4.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -966,7 +958,7 @@ dependencies = [ [[package]] name = "keccak-hash" version = "0.1.2" -source = "git+https://github.com/paritytech/parity.git#4145be863bec10038fc0ac5d36a41365b5087344" +source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" dependencies = [ "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -975,7 +967,7 @@ dependencies = [ [[package]] name = "keccak-hasher" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" +source = "git+https://github.com/paritytech/parity#484ecfaf4786e28c5abc0ba9685a32b5e180cb1d" dependencies = [ "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", @@ -1100,7 +1092,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "mem" version = "0.1.0" -source = "git+https://github.com/paritytech/parity.git#4145be863bec10038fc0ac5d36a41365b5087344" +source = "git+https://github.com/paritytech/parity#484ecfaf4786e28c5abc0ba9685a32b5e180cb1d" [[package]] name = "memchr" @@ -1347,8 +1339,11 @@ dependencies = [ [[package]] name = "path" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity.git#4145be863bec10038fc0ac5d36a41365b5087344" +version = "0.1.1" +source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" +dependencies = [ + "dirs 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "patricia-trie" @@ -1363,6 +1358,20 @@ dependencies = [ "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "patricia-trie-ethereum" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity#484ecfaf4786e28c5abc0ba9685a32b5e180cb1d" +dependencies = [ + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "keccak-hasher 0.1.0 (git+https://github.com/paritytech/parity)", + "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", +] + [[package]] name = "percent-encoding" version = "1.0.1" @@ -1850,17 +1859,6 @@ dependencies = [ "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "rlp" -version = "0.2.1" -source = "git+https://github.com/paritytech/parity.git#4145be863bec10038fc0ac5d36a41365b5087344" -dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "rlp" version = "0.2.2" @@ -2114,7 +2112,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "snappy" version = "0.1.0" -source = "git+https://github.com/paritytech/rust-snappy#40ac9a0d9fd613e7f38df800a11a589b7296da73" +source = "git+https://github.com/paritytech/rust-snappy#798408ffef8f86dd51481673aca10f5348d7491b" dependencies = [ "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "snappy-sys 0.1.0 (git+https://github.com/paritytech/rust-snappy)", @@ -2304,9 +2302,9 @@ dependencies = [ "ed25519 0.1.0", "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore-io 1.12.0 (git+https://github.com/paritytech/parity.git)", - "ethcore-network 1.12.0 (git+https://github.com/paritytech/parity.git)", - "ethcore-network-devp2p 1.12.0 (git+https://github.com/paritytech/parity.git)", + "ethcore-io 1.12.0 (git+https://github.com/paritytech/parity)", + "ethcore-network 1.12.0 (git+https://github.com/paritytech/parity)", + "ethcore-network-devp2p 1.12.0 (git+https://github.com/paritytech/parity)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2657,11 +2655,12 @@ dependencies = [ "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "keccak-hasher 0.1.0 (git+https://github.com/paritytech/parity-common)", + "keccak-hasher 0.1.0 (git+https://github.com/paritytech/parity)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "memorydb 0.2.0 (git+https://github.com/paritytech/parity-common)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", + "patricia-trie-ethereum 0.1.0 (git+https://github.com/paritytech/parity)", "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", "substrate-primitives 0.1.0", "triehash 0.2.0 (git+https://github.com/paritytech/parity-common)", @@ -3341,6 +3340,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda" "checksum ctrlc 1.1.1 (git+https://github.com/paritytech/rust-ctrlc.git)" = "" "checksum difference 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3304d19798a8e067e48d8e69b2c37f0b5e9b4e462504ad9e27e9f3fce02bba8" +"checksum dirs 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "37a76dd8b997af7107d0bb69d43903cf37153a18266f8b3fdb9911f28efb5444" "checksum dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab" "checksum edit-distance 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3bd26878c3d921f89797a4e1a1711919f999a9f6946bb6f5a4ffda126d297b7e" "checksum either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3be565ca5c557d7f59e7cfcf1844f9e3033650c929c6566f511e8005f205c1d0" @@ -3349,15 +3349,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "07e791d3be96241c77c43846b665ef1384606da2cd2a48730abe606a12906e02" "checksum eth-secp256k1 0.5.7 (git+https://github.com/paritytech/rust-secp256k1)" = "" "checksum ethbloom 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a93a43ce2e9f09071449da36bfa7a1b20b950ee344b6904ff23de493b03b386" -"checksum ethcore-bytes 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" -"checksum ethcore-crypto 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" -"checksum ethcore-io 1.12.0 (git+https://github.com/paritytech/parity.git)" = "" -"checksum ethcore-logger 1.12.0 (git+https://github.com/paritytech/parity.git)" = "" -"checksum ethcore-network 1.12.0 (git+https://github.com/paritytech/parity.git)" = "" -"checksum ethcore-network-devp2p 1.12.0 (git+https://github.com/paritytech/parity.git)" = "" +"checksum ethcore-io 1.12.0 (git+https://github.com/paritytech/parity)" = "" +"checksum ethcore-logger 1.12.0 (git+https://github.com/paritytech/parity)" = "" +"checksum ethcore-network 1.12.0 (git+https://github.com/paritytech/parity)" = "" +"checksum ethcore-network-devp2p 1.12.0 (git+https://github.com/paritytech/parity)" = "" "checksum ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c48729b8aea8aedb12cf4cb2e5cef439fdfe2dda4a89e47eeebd15778ef53b6" "checksum ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ac59a21a9ce98e188f3dace9eb67a6c4a3c67ec7fbc7218cb827852679dc002" -"checksum ethkey 0.3.0 (git+https://github.com/paritytech/parity.git)" = "" +"checksum ethkey 0.3.0 (git+https://github.com/paritytech/parity)" = "" "checksum exit-future 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9aa7b56cef68c4182db7212dece19cc9f6e2916cf9412e57e6cea53ec02f316d" "checksum fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b1ee15a7050e5580b3712877157068ea713b245b080ff302ae2ca973cfcd9baa" "checksum fixed-hash 0.1.3 (git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm)" = "" @@ -3396,8 +3394,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum jsonrpc-server-utils 8.0.1 (git+https://github.com/paritytech/jsonrpc.git)" = "" "checksum jsonrpc-ws-server 8.0.0 (git+https://github.com/paritytech/jsonrpc.git)" = "" "checksum keccak-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b7f51f30d7986536accaec4a6a288008dfb3dbffe8a2863a65292bc395a3ae7" -"checksum keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)" = "" -"checksum keccak-hasher 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum keccak-hash 0.1.2 (git+https://github.com/paritytech/parity-common)" = "" +"checksum keccak-hasher 0.1.0 (git+https://github.com/paritytech/parity)" = "" "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" "checksum kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" @@ -3413,7 +3411,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" "checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2" "checksum matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376" -"checksum mem 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" +"checksum mem 0.1.0 (git+https://github.com/paritytech/parity)" = "" "checksum memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" "checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" @@ -3441,8 +3439,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d4d05f1349491390b1730afba60bb20d55761bef489a954546b58b4b34e1e2ac" "checksum parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "901d6514273469bb17380c1ac3f51fb3ce54be1f960e51a6f04901eba313ab8d" "checksum parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa" -"checksum path 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" +"checksum path 0.1.1 (git+https://github.com/paritytech/parity-common)" = "" "checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" +"checksum patricia-trie-ethereum 0.1.0 (git+https://github.com/paritytech/parity)" = "" "checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" "checksum pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "110d5ee3593dbb73f56294327fe5668bcc997897097cbc76b51e7aed3f52452f" "checksum plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" @@ -3468,7 +3467,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum rhododendron 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9e38401cc1b63e71ec9119115c7e1354fcf54c8006ad59a22409dd8bd93737b2" "checksum ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6f7d28b30a72c01b458428e0ae988d4149c20d902346902be881e3edc4bb325c" "checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" -"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity.git)" = "" "checksum rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "89db7f8dfdd5eb7ab3ac3ece7a07fd273a680b4b224cb231181280e8996f9f0b" "checksum rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)" = "" "checksum rocksdb-sys 0.3.0 (git+https://github.com/paritytech/rust-rocksdb)" = "" From 87740d71f3c7d18f499b4c073b94160b6eb262ce Mon Sep 17 00:00:00 2001 From: David Palm Date: Thu, 12 Jul 2018 13:57:29 +0200 Subject: [PATCH 10/86] Address grumbles --- substrate/keystore/src/lib.rs | 2 +- substrate/state-machine/Cargo.toml | 6 ++---- substrate/state-machine/src/ext.rs | 19 ++++++++++++++++--- .../state-machine/src/proving_backend.rs | 1 - substrate/state-machine/src/testing.rs | 4 ++-- 5 files changed, 21 insertions(+), 11 deletions(-) diff --git a/substrate/keystore/src/lib.rs b/substrate/keystore/src/lib.rs index 97210b29ef015..a424b2df7204f 100644 --- a/substrate/keystore/src/lib.rs +++ b/substrate/keystore/src/lib.rs @@ -16,7 +16,7 @@ //! Keystore (and session key management) for ed25519 based chains like Polkadot. -extern crate ethcore_crypto as crypto; +extern crate parity_crypto as crypto; extern crate subtle; extern crate ed25519; extern crate rand; diff --git a/substrate/state-machine/Cargo.toml b/substrate/state-machine/Cargo.toml index 3141bb4fbc309..9305bcdad779b 100644 --- a/substrate/state-machine/Cargo.toml +++ b/substrate/state-machine/Cargo.toml @@ -20,7 +20,5 @@ triehash = { git = "https://github.com/paritytech/parity-common" } rlp = { git = "https://github.com/paritytech/parity-common" } [dev-dependencies] -# We need `KeccakHasher` from here -keccak-hasher = { git = "https://github.com/paritytech/parity" } -# We need `RlpCodec` from here -patricia-trie-ethereum = { git = "https://github.com/paritytech/parity" } \ No newline at end of file +keccak-hasher = { git = "https://github.com/paritytech/parity" } # REVIEW: We need `KeccakHasher` from here – better way? +patricia-trie-ethereum = { git = "https://github.com/paritytech/parity" } # REVIEW: We need `RlpCodec` from here – better way? \ No newline at end of file diff --git a/substrate/state-machine/src/ext.rs b/substrate/state-machine/src/ext.rs index 07532a909f083..00f6934ee1d7f 100644 --- a/substrate/state-machine/src/ext.rs +++ b/substrate/state-machine/src/ext.rs @@ -53,7 +53,12 @@ impl error::Error for Error { } /// Wraps a read-only backend, call executor, and current overlayed changes. -pub struct Ext<'a, H: Hasher, C: NodeCodec, B: 'a + Backend> { //TODO: can I get rid of the trait bounds here? +pub struct Ext<'a, H, C, B> +where + H: Hasher, + C: NodeCodec, + B: 'a + Backend, +{ // The overlayed changes to write to. overlay: &'a mut OverlayedChanges, // The storage backend to read from. @@ -93,7 +98,12 @@ where } #[cfg(test)] -impl<'a, H: Hasher, C: NodeCodec, B: 'a + Backend> Ext<'a, H, C, B> { +impl<'a, H, C, B> Ext<'a, H, C, B> +where + H: Hasher, + C: NodeCodec, + B: 'a + Backend, +{ pub fn storage_pairs(&self) -> Vec<(Vec, Vec)> { use std::collections::HashMap; @@ -136,7 +146,10 @@ where 42 } - fn storage_root(&mut self) -> H::Out where H::Out: Ord + Encodable { + fn storage_root(&mut self) -> H::Out + where + H::Out: Ord + Encodable + { if let Some((_, ref root)) = self.transaction { return root.clone(); } diff --git a/substrate/state-machine/src/proving_backend.rs b/substrate/state-machine/src/proving_backend.rs index f56ff4d5e12f7..1cac890e98d7b 100644 --- a/substrate/state-machine/src/proving_backend.rs +++ b/substrate/state-machine/src/proving_backend.rs @@ -73,7 +73,6 @@ where .get_with(key, &mut *proof_recorder).map(|x| x.map(|val| val.to_vec())).map_err(map_e) } - // TODO: "error[E0283]: type annotations required: cannot resolve `_: patricia_trie::NodeCodec`"/"note: required because of the requirements on the impl of `backend::Backend` for `trie_backend::TrieBackend`") fn for_keys_with_prefix(&self, prefix: &[u8], f: F) { self.backend.for_keys_with_prefix(prefix, f) } diff --git a/substrate/state-machine/src/testing.rs b/substrate/state-machine/src/testing.rs index b4f50e9314579..2d1147dd0187a 100644 --- a/substrate/state-machine/src/testing.rs +++ b/substrate/state-machine/src/testing.rs @@ -31,8 +31,8 @@ pub struct TestExternalities { } impl TestExternalities { - #[cfg(test)] - fn new() -> Self { + /// Create a new instance of `TestExternalities` + pub fn new() -> Self { TestExternalities {inner: HashMap::new(), hasher: PhantomData} } } From a34f6144dcef175116f2b5c049140d7b396b38a7 Mon Sep 17 00:00:00 2001 From: David Palm Date: Thu, 12 Jul 2018 16:28:11 +0200 Subject: [PATCH 11/86] Teach environmental! about generics --- substrate/environmental/src/lib.rs | 51 +++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 12 deletions(-) diff --git a/substrate/environmental/src/lib.rs b/substrate/environmental/src/lib.rs index 86e1100ecccad..83be99f278f41 100644 --- a/substrate/environmental/src/lib.rs +++ b/substrate/environmental/src/lib.rs @@ -190,33 +190,36 @@ macro_rules! environmental { } } }; - ($name:ident : trait $t:ident) => { - #[allow(non_camel_case_types)] - struct $name { __private_field: () } + ($name:ident : trait @$t:ident [$($args:ty,)*]) => { + #[allow(non_camel_case_types, dead_code)] + struct $name { __private_field: () } - thread_local_impl!(static GLOBAL: $crate::imp::RefCell> + thread_local_impl!(static GLOBAL: $crate::imp::RefCell + 'static)>> = $crate::imp::RefCell::new(None)); - impl $name { - #[allow(unused_imports)] + impl $name { + #[allow(unused_imports)] pub fn using R>( - protected: &mut $t, + protected: &mut $t<$($args),*>, f: F ) -> R { let lifetime_extended = unsafe { - $crate::imp::transmute::<&mut $t, &mut ($t + 'static)>(protected) + $crate::imp::transmute::<&mut $t<$($args),*>, &mut ($t<$($args),*> + 'static)>(protected) }; $crate::using(&GLOBAL, lifetime_extended, f) - } + } - pub fn with FnOnce(&'a mut ($t + 'a)) -> R>( + pub fn with FnOnce(&'a mut ($t<$($args),*> + 'a)) -> R>( f: F ) -> Option { $crate::with(&GLOBAL, |x| f(x)) } - } - } + } + }; + ($name:ident : trait $t:ident <>) => { environmental! { $name : trait @$t [] } }; + ($name:ident : trait $t:ident < $($args:ty),* $(,)* >) => { environmental! { $name : trait @$t [$($args,)*] } }; + ($name:ident : trait $t:ident) => { environmental! { $name : trait @$t [] } }; } #[cfg(test)] @@ -322,4 +325,28 @@ mod tests { assert_eq!(got_sum, 15); } + + #[test] + fn use_generic_trait() { + trait Plus { fn plus42() -> usize; } + struct ConcretePlus; + impl Plus for ConcretePlus { + fn plus42() -> usize { 42 } + } + trait Multiplier { fn mul_and_add(&self) -> usize; } + impl<'a, P: Plus> Multiplier

for &'a [usize] { + fn mul_and_add(&self) -> usize { + self.iter().fold(1, |a, c| a * c) + P::plus42() + } + } + + let numbers = vec![1, 2, 3]; + let mut numbers = &numbers[..]; + let out = foo::using(&mut numbers, || { + foo::with(|x| x.mul_and_add() ) + }).unwrap(); + + assert_eq!(out, 6 + 42); + environmental!(foo: trait Multiplier); + } } From c7503adf67ba6ce0e7ad794ea04f42c7d4b07afe Mon Sep 17 00:00:00 2001 From: David Palm Date: Thu, 12 Jul 2018 17:07:15 +0200 Subject: [PATCH 12/86] Add Finder artifacts --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 61014b0a28c48..9480cc644bcc5 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,5 @@ substrate/pwasm-alloc/Cargo.lock substrate/pwasm-libc/Cargo.lock demo/runtime/wasm/target/ **/._* -.vscode \ No newline at end of file +.vscode +.DS_Store \ No newline at end of file From 711da4f1dd255c5d07ed4864a31004a4aefdea76 Mon Sep 17 00:00:00 2001 From: David Palm Date: Thu, 12 Jul 2018 17:15:07 +0200 Subject: [PATCH 13/86] whitespace --- substrate/environmental/src/lib.rs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/substrate/environmental/src/lib.rs b/substrate/environmental/src/lib.rs index 83be99f278f41..ff94c0c1ebbb0 100644 --- a/substrate/environmental/src/lib.rs +++ b/substrate/environmental/src/lib.rs @@ -190,15 +190,15 @@ macro_rules! environmental { } } }; - ($name:ident : trait @$t:ident [$($args:ty,)*]) => { - #[allow(non_camel_case_types, dead_code)] - struct $name { __private_field: () } + ($name:ident : trait @$t:ident [$($args:ty,)*]) => { + #[allow(non_camel_case_types, dead_code)] + struct $name { __private_field: () } thread_local_impl!(static GLOBAL: $crate::imp::RefCell + 'static)>> = $crate::imp::RefCell::new(None)); - impl $name { - #[allow(unused_imports)] + impl $name { + #[allow(unused_imports)] pub fn using R>( protected: &mut $t<$($args),*>, @@ -208,18 +208,18 @@ macro_rules! environmental { $crate::imp::transmute::<&mut $t<$($args),*>, &mut ($t<$($args),*> + 'static)>(protected) }; $crate::using(&GLOBAL, lifetime_extended, f) - } + } pub fn with FnOnce(&'a mut ($t<$($args),*> + 'a)) -> R>( f: F ) -> Option { $crate::with(&GLOBAL, |x| f(x)) } - } - }; - ($name:ident : trait $t:ident <>) => { environmental! { $name : trait @$t [] } }; - ($name:ident : trait $t:ident < $($args:ty),* $(,)* >) => { environmental! { $name : trait @$t [$($args,)*] } }; - ($name:ident : trait $t:ident) => { environmental! { $name : trait @$t [] } }; + } + }; + ($name:ident : trait $t:ident <>) => { environmental! { $name : trait @$t [] } }; + ($name:ident : trait $t:ident < $($args:ty),* $(,)* >) => { environmental! { $name : trait @$t [$($args,)*] } }; + ($name:ident : trait $t:ident) => { environmental! { $name : trait @$t [] } }; } #[cfg(test)] From b4f210a2b2253b7675ef95b91bade6944239c8d4 Mon Sep 17 00:00:00 2001 From: David Palm Date: Mon, 30 Jul 2018 17:29:05 +0200 Subject: [PATCH 14/86] Add a toy impl of Hasher and plug it in to Externalities --- substrate/runtime-io/Cargo.toml | 5 ++++- substrate/runtime-io/with_std.rs | 33 ++++++++++++++++++++++++++++---- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/substrate/runtime-io/Cargo.toml b/substrate/runtime-io/Cargo.toml index b46f9909c2018..2ecbdcd8e6752 100644 --- a/substrate/runtime-io/Cargo.toml +++ b/substrate/runtime-io/Cargo.toml @@ -11,10 +11,13 @@ rustc_version = "0.2" substrate-runtime-std = { path = "../runtime-std", default_features = false } environmental = { path = "../environmental", optional = true } substrate-state-machine = { path = "../state-machine", optional = true } -substrate-primitives = { path = "../primitives", default_features = false } +# TODO: when we remove the toy impl of `Hasher` from `with_std.rs` I think this can go back to use `default_features = false` +substrate-primitives = { path = "../primitives", features=["std"] } substrate-codec = { path = "../codec", default_features = false } triehash = { version = "0.1.2", optional = true } ed25519 = { path = "../ed25519", optional = true } +hashdb = { git = "https://github.com/paritytech/parity-common" } +plain_hasher = { git = "https://github.com/paritytech/parity-common" } [features] default = ["std"] diff --git a/substrate/runtime-io/with_std.rs b/substrate/runtime-io/with_std.rs index 93ac7cffa45ab..ada8b514f425a 100644 --- a/substrate/runtime-io/with_std.rs +++ b/substrate/runtime-io/with_std.rs @@ -23,6 +23,8 @@ extern crate substrate_primitives as primitives; extern crate substrate_state_machine; extern crate triehash; extern crate ed25519; +extern crate hashdb; +extern crate plain_hasher; #[doc(hidden)] pub extern crate substrate_codec as codec; @@ -31,10 +33,24 @@ pub use primitives::{blake2_256, twox_128, twox_256}; pub use substrate_state_machine::{Externalities, TestExternalities}; use primitives::hexdisplay::HexDisplay; +use primitives::hash::H256; +use hashdb::Hasher; +use plain_hasher::PlainHasher; // TODO: use the real error, not NoError. -environmental!(ext: trait Externalities); +// TODO: This is just a sanity check toy impl of `Hasher` – this needs to go somewhere else and possibly be renamed to `Hash`? +struct MyHasher; +impl Hasher for MyHasher { + type Out = H256; + type StdHasher = PlainHasher; + const LENGTH:usize = 32; + fn hash(x: &[u8]) -> Self::Out { + blake2_256(x).into() + } +} + +environmental!(ext: trait Externalities); /// Get `key` from storage and return a `Vec`, empty if there's a problem. pub fn storage(key: &[u8]) -> Option> { @@ -83,10 +99,11 @@ pub fn chain_id() -> u64 { } /// "Commit" all existing operations and get the resultant storage root. -pub fn storage_root() -> [u8; 32] { +// TODO: this used to be: `pub fn storage_root() -> [u8; 32]` – does it really need to use H256? +pub fn storage_root() -> H256 { ext::with(|ext| ext.storage_root() - ).unwrap_or([0u8; 32]) + ).unwrap_or(H256::new()) } /// A trie root formed from the enumerated items. @@ -118,7 +135,8 @@ pub fn ed25519_verify>(sig: &[u8; 64], msg: &[u8], pubkey: P) -> /// Execute the given closure with global function available whose functionality routes into the /// externalities `ext`. Forwards the value that the closure returns. -pub fn with_externalities R>(ext: &mut Externalities, f: F) -> R { +// TODO: need a concrete hasher here due to limitations of the `environmental!` macro, otherwise a type param would have been fine I think. +pub fn with_externalities R>(ext: &mut Externalities, f: F) -> R { ext::using(ext, f) } @@ -182,6 +200,13 @@ macro_rules! impl_stubs { mod std_tests { use super::*; + #[test] + fn test_heapsizeof() { + use heapsize::HeapSizeOf; + let h = H256::new(); + assert_eq!(h.heap_size_of_children(), 0); + } + #[test] fn storage_works() { let mut t = TestExternalities::new(); From 3b5f60b4fdb0d5765f7717d0c4e71d3b55864231 Mon Sep 17 00:00:00 2001 From: David Palm Date: Mon, 30 Jul 2018 17:47:46 +0200 Subject: [PATCH 15/86] Use `uint` and `fixed-hash` from `parity-common` Remove unused U512 Add test to ensure H256 impls heapsizeof --- substrate/primitives/Cargo.toml | 9 +++++++-- substrate/primitives/src/hash.rs | 7 +++++++ substrate/primitives/src/lib.rs | 4 +++- substrate/primitives/src/uint.rs | 6 ++---- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/substrate/primitives/Cargo.toml b/substrate/primitives/Cargo.toml index 9d844a938b554..a2ebdd67fca9f 100644 --- a/substrate/primitives/Cargo.toml +++ b/substrate/primitives/Cargo.toml @@ -7,11 +7,14 @@ authors = ["Parity Technologies "] crunchy = "0.1" substrate-runtime-std = { path = "../runtime-std", default_features = false } substrate-codec = { path = "../codec", default_features = false } -fixed-hash = { git = "https://github.com/rphmeier/primitives.git", branch = "compile-for-wasm", default_features = false } +# TODO: I think we can go back to `default_features = false` when we have a proper impl of `Hasher` to use +fixed-hash = { git = "https://github.com/paritytech/parity-common", branch = "add-fixed-hash", features = ["heapsizeof"] } +# TODO: this one will conflict with the one fetched from fixed-hash? See https://github.com/debris/rustc-hex/pull/1 rustc-hex = { git = "https://github.com/rphmeier/rustc-hex.git", version = "2.0", default_features = false } serde = { version = "1.0", default_features = false } serde_derive = { version = "1.0", optional = true } -uint = { git = "https://github.com/rphmeier/primitives.git", branch = "compile-for-wasm", default_features = false } +# TODO: Used to fetch `uint` from "https://github.com/rphmeier/primitives.git" – what was `compile-for-wasm` adding? +uint = { git = "https://github.com/paritytech/parity-common", branch = "add-fixed-hash", default_features = false } twox-hash = { version = "1.1.0", optional = true } byteorder = { version = "1.1", default_features = false } blake2-rfc = { version = "0.2.18", optional = true } @@ -20,6 +23,7 @@ wasmi = { version = "0.3", optional = true } [dev-dependencies] substrate-serializer = { path = "../serializer" } pretty_assertions = "0.4" +heapsize = { version = "0.4"} [features] default = ["std"] @@ -27,6 +31,7 @@ std = [ "wasmi", "uint/std", "fixed-hash/std", + "fixed-hash/heapsizeof", "substrate-codec/std", "substrate-runtime-std/std", "serde/std", diff --git a/substrate/primitives/src/hash.rs b/substrate/primitives/src/hash.rs index 8556f649bba67..b0a9bbb1190b7 100644 --- a/substrate/primitives/src/hash.rs +++ b/substrate/primitives/src/hash.rs @@ -108,4 +108,11 @@ mod tests { assert!(ser::from_str::("\"0\"").unwrap_err().is_data()); assert!(ser::from_str::("\"10\"").unwrap_err().is_data()); } + + #[test] + fn test_heapsizeof() { + use heapsize::HeapSizeOf; + let h = H256::new(); + assert_eq!(h.heap_size_of_children(), 0); + } } diff --git a/substrate/primitives/src/lib.rs b/substrate/primitives/src/lib.rs index 9650cb7e7c65e..e913c1af3a729 100644 --- a/substrate/primitives/src/lib.rs +++ b/substrate/primitives/src/lib.rs @@ -49,6 +49,8 @@ extern crate substrate_runtime_std as rstd; #[cfg(test)] extern crate substrate_serializer; +#[cfg(test)] +extern crate heapsize; #[cfg(test)] #[macro_use] @@ -83,7 +85,7 @@ mod authority_id; mod tests; pub use self::hash::{H160, H256, H512}; -pub use self::uint::{U256, U512}; +pub use self::uint::U256; pub use authority_id::AuthorityId; /// A 512-bit value interpreted as a signature. diff --git a/substrate/primitives/src/uint.rs b/substrate/primitives/src/uint.rs index b14a8aa4fd6ba..c6c94c120ec94 100644 --- a/substrate/primitives/src/uint.rs +++ b/substrate/primitives/src/uint.rs @@ -44,9 +44,7 @@ macro_rules! impl_serde { } construct_uint!(U256, 4); -construct_uint!(U512, 8); impl_serde!(U256, 4); -impl_serde!(U512, 8); #[cfg(test)] mod tests { @@ -68,7 +66,8 @@ mod tests { ($name::from(1_000), "0x3e8"), ($name::from(100_000), "0x186a0"), ($name::from(u64::max_value()), "0xffffffffffffffff"), - ($name::from(u64::max_value()) + 1.into(), "0x10000000000000000"), + // TODO: `uint` doesn't have the same conversion facilities as `ethereum_types::H256` – need to port over the manual impls from `ethereum-types` to the macro so we can to `1.into()` + ($name::from(u64::max_value()) + $name::from(1), "0x10000000000000000"), ]; for (number, expected) in tests { @@ -87,7 +86,6 @@ mod tests { } test!(U256, test_u256); - test!(U512, test_u512); #[test] fn test_large_values() { From 1aeb49534a4649727e584632024f8a349c3b3412 Mon Sep 17 00:00:00 2001 From: David Palm Date: Mon, 30 Jul 2018 17:49:26 +0200 Subject: [PATCH 16/86] lock file updates --- Cargo.lock | 78 ++++++++++++++++++++++++------------------------------ 1 file changed, 35 insertions(+), 43 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 18eb8ea53c369..5290c2bbf622e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -394,15 +394,6 @@ name = "difference" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "dirs" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "dtoa" version = "0.4.2" @@ -627,17 +618,19 @@ dependencies = [ [[package]] name = "fixed-hash" -version = "0.1.3" -source = "git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm#8dc457899afdaf968ff7f16140b03d1e37b01d71" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "fixed-hash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" +version = "0.2.2" +source = "git+https://github.com/paritytech/parity-common?branch=add-fixed-hash#d2e4ec5b31000366c7db4f890a0836eaab757bb4" dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", @@ -725,7 +718,7 @@ dependencies = [ [[package]] name = "hashdb" version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" +source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -958,7 +951,7 @@ dependencies = [ [[package]] name = "keccak-hash" version = "0.1.2" -source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" +source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" dependencies = [ "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -987,7 +980,7 @@ dependencies = [ [[package]] name = "kvdb" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" +source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", @@ -996,7 +989,7 @@ dependencies = [ [[package]] name = "kvdb-memorydb" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" +source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" dependencies = [ "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)", "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1005,7 +998,7 @@ dependencies = [ [[package]] name = "kvdb-rocksdb" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" +source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1114,8 +1107,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "memorydb" -version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" +version = "0.2.1" +source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", @@ -1267,12 +1260,12 @@ dependencies = [ [[package]] name = "parity-bytes" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" +source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" [[package]] name = "parity-crypto" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" +source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" dependencies = [ "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1340,15 +1333,12 @@ dependencies = [ [[package]] name = "path" version = "0.1.1" -source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" -dependencies = [ - "dirs 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", -] +source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" [[package]] name = "patricia-trie" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" +source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", @@ -1385,7 +1375,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "plain_hasher" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" +source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1851,7 +1841,7 @@ dependencies = [ [[package]] name = "rlp" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" +source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2198,7 +2188,7 @@ dependencies = [ "kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common)", "kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "memorydb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", "substrate-client 0.1.0", @@ -2332,7 +2322,8 @@ dependencies = [ "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.1.3 (git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm)", + "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=add-fixed-hash)", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 2.0.0 (git+https://github.com/rphmeier/rustc-hex.git)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2341,7 +2332,7 @@ dependencies = [ "substrate-runtime-std 0.1.0", "substrate-serializer 0.1.0", "twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "uint 0.1.2 (git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm)", + "uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=add-fixed-hash)", "wasmi 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2480,6 +2471,8 @@ version = "0.1.0" dependencies = [ "ed25519 0.1.0", "environmental 0.1.0", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)", "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", @@ -2657,7 +2650,7 @@ dependencies = [ "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "keccak-hasher 0.1.0 (git+https://github.com/paritytech/parity)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "memorydb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", "patricia-trie-ethereum 0.1.0 (git+https://github.com/paritytech/parity)", @@ -3020,7 +3013,7 @@ dependencies = [ [[package]] name = "triehash" version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common#a72c34f82ff7ccc0f49827bb7f8c5d1fbff794bb" +source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3053,21 +3046,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "uint" -version = "0.1.2" -source = "git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm#8dc457899afdaf968ff7f16140b03d1e37b01d71" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "uint" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" +version = "0.2.2" +source = "git+https://github.com/paritytech/parity-common?branch=add-fixed-hash#4e4347fc9aaf5d100975ca4d165f1d122a2d18ed" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3340,7 +3333,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda" "checksum ctrlc 1.1.1 (git+https://github.com/paritytech/rust-ctrlc.git)" = "" "checksum difference 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3304d19798a8e067e48d8e69b2c37f0b5e9b4e462504ad9e27e9f3fce02bba8" -"checksum dirs 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "37a76dd8b997af7107d0bb69d43903cf37153a18266f8b3fdb9911f28efb5444" "checksum dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab" "checksum edit-distance 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3bd26878c3d921f89797a4e1a1711919f999a9f6946bb6f5a4ffda126d297b7e" "checksum either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3be565ca5c557d7f59e7cfcf1844f9e3033650c929c6566f511e8005f205c1d0" @@ -3358,8 +3350,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum ethkey 0.3.0 (git+https://github.com/paritytech/parity)" = "" "checksum exit-future 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9aa7b56cef68c4182db7212dece19cc9f6e2916cf9412e57e6cea53ec02f316d" "checksum fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b1ee15a7050e5580b3712877157068ea713b245b080ff302ae2ca973cfcd9baa" -"checksum fixed-hash 0.1.3 (git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm)" = "" "checksum fixed-hash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18d6fd718fb4396e7a9c93ac59ba7143501467ca7a143c145b5555a571d5576" +"checksum fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=add-fixed-hash)" = "" "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" "checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" "checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" @@ -3415,7 +3407,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" "checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" -"checksum memorydb 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" "checksum mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0" "checksum mime 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0b28683d0b09bbc20be1c9b3f6f24854efb1356ffcffee08ea3f6e65596e85fa" "checksum mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)" = "6d771e3ef92d58a8da8df7d6976bfca9371ed1de6619d9d5a5ce5b1f29b85bfe" @@ -3539,8 +3531,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "475352206e7a290c5fccc27624a163e8d0d115f7bb60ca18a64fc9ce056d7435" "checksum typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887" "checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d" -"checksum uint 0.1.2 (git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm)" = "" "checksum uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "38051a96565903d81c9a9210ce11076b2218f3b352926baa1f5f6abbdfce8273" +"checksum uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=add-fixed-hash)" = "" "checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33" "checksum unicase 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "284b6d3db520d67fbe88fd778c21510d1b0ba4a551e5d0fbb023d33405f6de8a" "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" From 80c96a1b98187aa931b346550092b5d431d5d2f0 Mon Sep 17 00:00:00 2001 From: David Palm Date: Tue, 31 Jul 2018 09:03:35 +0200 Subject: [PATCH 17/86] Make hashes Encodable/Decodable --- substrate/primitives/Cargo.toml | 1 + substrate/primitives/src/hash.rs | 47 ++++++++++++++++++++++++++++++++ substrate/primitives/src/lib.rs | 1 + 3 files changed, 49 insertions(+) diff --git a/substrate/primitives/Cargo.toml b/substrate/primitives/Cargo.toml index a2ebdd67fca9f..3a20e975da497 100644 --- a/substrate/primitives/Cargo.toml +++ b/substrate/primitives/Cargo.toml @@ -15,6 +15,7 @@ serde = { version = "1.0", default_features = false } serde_derive = { version = "1.0", optional = true } # TODO: Used to fetch `uint` from "https://github.com/rphmeier/primitives.git" – what was `compile-for-wasm` adding? uint = { git = "https://github.com/paritytech/parity-common", branch = "add-fixed-hash", default_features = false } +rlp = { git = "https://github.com/paritytech/parity-common", branch = "add-fixed-hash" } twox-hash = { version = "1.1.0", optional = true } byteorder = { version = "1.1", default_features = false } blake2-rfc = { version = "0.2.18", optional = true } diff --git a/substrate/primitives/src/hash.rs b/substrate/primitives/src/hash.rs index eaf9951ad803c..539a610a29317 100644 --- a/substrate/primitives/src/hash.rs +++ b/substrate/primitives/src/hash.rs @@ -22,6 +22,12 @@ use serde::{Serialize, Serializer, Deserialize, Deserializer}; #[cfg(feature = "std")] use bytes; +#[cfg(feature = "std")] +use std::cmp; + +#[cfg(feature = "std")] +use rlp::{self, Rlp, RlpStream, DecoderError}; + macro_rules! impl_rest { ($name: ident, $len: expr) => { #[cfg(feature = "std")] @@ -49,6 +55,27 @@ macro_rules! impl_rest { <[u8; $len] as ::codec::Decode>::decode(input).map($name) } } + + impl rlp::Encodable for $name { + fn rlp_append(&self, s: &mut RlpStream) { + s.encoder().encode_value(self); + } + } + + impl rlp::Decodable for $name { + fn decode(rlp: &Rlp) -> Result { + rlp.decoder().decode_value(|bytes| match bytes.len().cmp(&$len) { + cmp::Ordering::Less => Err(DecoderError::RlpIsTooShort), + cmp::Ordering::Greater => Err(DecoderError::RlpIsTooBig), + cmp::Ordering::Equal => { + let mut t = [0u8; $len]; + t.copy_from_slice(bytes); + Ok($name(t)) + } + }) + } + } + } } @@ -63,6 +90,26 @@ impl_rest!(H512, 64); mod tests { use super::*; use substrate_serializer as ser; + use rlp::{Encodable, RlpStream}; + + #[test] + fn test_hash_is_encodable() { + let h = H160::from(21); + let mut s = RlpStream::new(); + h.rlp_append(&mut s); + assert_eq!(s.drain().into_vec(), &[148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21]); + } + + #[test] + fn test_hash_is_decodable() { + let data = vec![148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123]; + let res = rlp::decode::(&data); + assert!(res.is_ok()); + assert_eq!(res.unwrap(), H160::from(123)); + + let res = rlp::decode::(&data); + assert!(res.is_err()); + } #[test] fn test_h160() { diff --git a/substrate/primitives/src/lib.rs b/substrate/primitives/src/lib.rs index 39a5552767de5..974997e6506ef 100644 --- a/substrate/primitives/src/lib.rs +++ b/substrate/primitives/src/lib.rs @@ -30,6 +30,7 @@ extern crate fixed_hash; #[macro_use] extern crate uint as uint_crate; extern crate substrate_codec as codec; +extern crate rlp; #[cfg(feature = "std")] extern crate serde; From e3277acc462c7adbfa4707eaebe26f4e82f4a8cf Mon Sep 17 00:00:00 2001 From: David Palm Date: Tue, 31 Jul 2018 14:49:43 +0200 Subject: [PATCH 18/86] lock file updates --- Cargo.lock | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index e6015055918f4..158f13a5c2ff3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2294,6 +2294,17 @@ dependencies = [ "untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "rlp" +version = "0.2.1" +source = "git+https://github.com/paritytech/parity-common?branch=add-fixed-hash#b0cf5d1cf5bf0d284fae8e724df00fcb52673542" +dependencies = [ + "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "rlp" version = "0.2.1" @@ -2857,6 +2868,7 @@ dependencies = [ "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=add-fixed-hash)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=add-fixed-hash)", "rustc-hex 2.0.0 (git+https://github.com/rphmeier/rustc-hex.git)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4130,6 +4142,7 @@ dependencies = [ "checksum rhododendron 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9e38401cc1b63e71ec9119115c7e1354fcf54c8006ad59a22409dd8bd93737b2" "checksum ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6f7d28b30a72c01b458428e0ae988d4149c20d902346902be881e3edc4bb325c" "checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" +"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=add-fixed-hash)" = "" "checksum rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "89db7f8dfdd5eb7ab3ac3ece7a07fd273a680b4b224cb231181280e8996f9f0b" "checksum rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)" = "" "checksum rocksdb-sys 0.3.0 (git+https://github.com/paritytech/rust-rocksdb)" = "" From d38216bc7c001638f523b958091e978cb7078b52 Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 1 Aug 2018 17:36:31 +0200 Subject: [PATCH 19/86] Impl FromIterator for TestExternalities so we can collect() and use map! --- substrate/state-machine/src/ext.rs | 2 -- substrate/state-machine/src/testing.rs | 11 +++++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/substrate/state-machine/src/ext.rs b/substrate/state-machine/src/ext.rs index c02fa574ba6e9..111a9be763a1e 100644 --- a/substrate/state-machine/src/ext.rs +++ b/substrate/state-machine/src/ext.rs @@ -155,8 +155,6 @@ where } fn storage_root(&mut self) -> H::Out - where - H::Out: Ord + Encodable { if let Some((_, ref root)) = self.transaction { return root.clone(); diff --git a/substrate/state-machine/src/testing.rs b/substrate/state-machine/src/testing.rs index 2d1147dd0187a..86dfe296c9b65 100644 --- a/substrate/state-machine/src/testing.rs +++ b/substrate/state-machine/src/testing.rs @@ -23,6 +23,7 @@ use triehash::trie_root; use hashdb::Hasher; use rlp::Encodable; use std::marker::PhantomData; +use std::iter::FromIterator; /// Simple HashMap-based Externalities impl. pub struct TestExternalities { @@ -37,6 +38,16 @@ impl TestExternalities { } } +impl FromIterator<(Vec, Vec)> for TestExternalities { + fn from_iter, Vec)>>(iter: I) -> Self { + let mut t = Self::new(); + for i in iter { + t.inner.insert(i.0, i.1); + } + t + } +} + impl Externalities for TestExternalities where H::Out: Ord + Encodable { fn storage(&self, key: &[u8]) -> Option> { self.inner.get(key).map(|x| x.to_vec()) From 5f19c7ba63f22e80cfefa3d743d595159bf6c862 Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 1 Aug 2018 17:49:49 +0200 Subject: [PATCH 20/86] Use rustc-hex from crates Use rlp from master so dependencies do not mess up the scope --- substrate/primitives/Cargo.toml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/substrate/primitives/Cargo.toml b/substrate/primitives/Cargo.toml index 3a20e975da497..eea16632d9ce1 100644 --- a/substrate/primitives/Cargo.toml +++ b/substrate/primitives/Cargo.toml @@ -9,13 +9,12 @@ substrate-runtime-std = { path = "../runtime-std", default_features = false } substrate-codec = { path = "../codec", default_features = false } # TODO: I think we can go back to `default_features = false` when we have a proper impl of `Hasher` to use fixed-hash = { git = "https://github.com/paritytech/parity-common", branch = "add-fixed-hash", features = ["heapsizeof"] } -# TODO: this one will conflict with the one fetched from fixed-hash? See https://github.com/debris/rustc-hex/pull/1 -rustc-hex = { git = "https://github.com/rphmeier/rustc-hex.git", version = "2.0", default_features = false } +rustc-hex = { version = "2.0", default_features = false } serde = { version = "1.0", default_features = false } serde_derive = { version = "1.0", optional = true } # TODO: Used to fetch `uint` from "https://github.com/rphmeier/primitives.git" – what was `compile-for-wasm` adding? uint = { git = "https://github.com/paritytech/parity-common", branch = "add-fixed-hash", default_features = false } -rlp = { git = "https://github.com/paritytech/parity-common", branch = "add-fixed-hash" } +rlp = { git = "https://github.com/paritytech/parity-common" } twox-hash = { version = "1.1.0", optional = true } byteorder = { version = "1.1", default_features = false } blake2-rfc = { version = "0.2.18", optional = true } From 848ce8f6003dbabe329bd78996cb52d128631fab Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 1 Aug 2018 17:53:26 +0200 Subject: [PATCH 21/86] Fix tests in runtime-io --- Cargo.lock | 24 +++++++--------------- substrate/runtime-io/Cargo.toml | 4 ++++ substrate/runtime-io/with_std.rs | 34 +++++++++++++++++++++++++++----- 3 files changed, 40 insertions(+), 22 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 158f13a5c2ff3..144cdb50d0d6c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2294,17 +2294,6 @@ dependencies = [ "untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "rlp" -version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common?branch=add-fixed-hash#b0cf5d1cf5bf0d284fae8e724df00fcb52673542" -dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "rlp" version = "0.2.1" @@ -2373,7 +2362,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "rustc-hex" version = "2.0.0" -source = "git+https://github.com/rphmeier/rustc-hex.git#ee2ec40b9062ac7769ccb9dc891d6dc2cc9009d7" +source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "rustc-serialize" @@ -2868,8 +2857,8 @@ dependencies = [ "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=add-fixed-hash)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=add-fixed-hash)", - "rustc-hex 2.0.0 (git+https://github.com/rphmeier/rustc-hex.git)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", @@ -3026,7 +3015,9 @@ dependencies = [ "ed25519 0.1.0", "environmental 0.1.0", "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", @@ -3626,7 +3617,7 @@ dependencies = [ [[package]] name = "triehash" version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" +source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4142,14 +4133,13 @@ dependencies = [ "checksum rhododendron 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9e38401cc1b63e71ec9119115c7e1354fcf54c8006ad59a22409dd8bd93737b2" "checksum ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6f7d28b30a72c01b458428e0ae988d4149c20d902346902be881e3edc4bb325c" "checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" -"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=add-fixed-hash)" = "" "checksum rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "89db7f8dfdd5eb7ab3ac3ece7a07fd273a680b4b224cb231181280e8996f9f0b" "checksum rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)" = "" "checksum rocksdb-sys 0.3.0 (git+https://github.com/paritytech/rust-rocksdb)" = "" "checksum rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)" = "f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a" "checksum rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "bcfe5b13211b4d78e5c2cadfebd7769197d95c639c35a50057eb4c05de811395" "checksum rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0ceb8ce7a5e520de349e1fa172baeba4a9e8d5ef06c47471863530bc4972ee1e" -"checksum rustc-hex 2.0.0 (git+https://github.com/rphmeier/rustc-hex.git)" = "" +"checksum rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2b03280c2813907a030785570c577fb27d3deec8da4c18566751ade94de0ace" "checksum rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)" = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda" "checksum rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a54aa04a10c68c1c4eacb4337fd883b435997ede17a9385784b990777686b09a" "checksum rw-stream-sink 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)" = "" diff --git a/substrate/runtime-io/Cargo.toml b/substrate/runtime-io/Cargo.toml index 2ecbdcd8e6752..fc080a3cc4eb0 100644 --- a/substrate/runtime-io/Cargo.toml +++ b/substrate/runtime-io/Cargo.toml @@ -18,6 +18,10 @@ triehash = { version = "0.1.2", optional = true } ed25519 = { path = "../ed25519", optional = true } hashdb = { git = "https://github.com/paritytech/parity-common" } plain_hasher = { git = "https://github.com/paritytech/parity-common" } +rlp = { git = "https://github.com/paritytech/parity-common" } + +[dev-dependencies] +heapsize = "0.4" [features] default = ["std"] diff --git a/substrate/runtime-io/with_std.rs b/substrate/runtime-io/with_std.rs index ed2f24639435d..af9587816ce17 100644 --- a/substrate/runtime-io/with_std.rs +++ b/substrate/runtime-io/with_std.rs @@ -25,6 +25,10 @@ extern crate triehash; extern crate ed25519; extern crate hashdb; extern crate plain_hasher; +extern crate rlp; + +#[cfg(test)] +extern crate heapsize; #[doc(hidden)] pub extern crate substrate_codec as codec; @@ -33,14 +37,14 @@ pub use primitives::{blake2_256, twox_128, twox_256}; pub use substrate_state_machine::{Externalities, TestExternalities}; use primitives::hexdisplay::HexDisplay; -use primitives::hash::H256; +use primitives::H256; use hashdb::Hasher; use plain_hasher::PlainHasher; // TODO: use the real error, not NoError. // TODO: This is just a sanity check toy impl of `Hasher` – this needs to go somewhere else and possibly be renamed to `Hash`? -struct MyHasher; +pub struct MyHasher; impl Hasher for MyHasher { type Out = H256; type StdHasher = PlainHasher; @@ -206,7 +210,9 @@ macro_rules! impl_stubs { #[cfg(test)] mod std_tests { use super::*; + use rlp::{Encodable, Decodable, RlpStream, Rlp}; + // TODO: remove these tests (heapsizeof, encodable, decodable) #[test] fn test_heapsizeof() { use heapsize::HeapSizeOf; @@ -214,9 +220,27 @@ mod std_tests { assert_eq!(h.heap_size_of_children(), 0); } + // TODO: remove these tests (heapsizeof, encodable, decodable) + #[test] + fn test_hash_is_encodable() { + let h = H256::from(32); + let mut s = RlpStream::new(); + h.rlp_append(&mut s); + let rlp_bytes = s.drain(); + assert_eq!(rlp_bytes.into_vec(), vec![160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32] ); + } + + // TODO: remove these tests (heapsizeof, encodable, decodable) + #[test] + fn test_hash_is_decodable() { + let data = Rlp::new(&[160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]); + let h = H256::decode(&data).unwrap(); + assert_eq!(h, H256::from(32)); + } + #[test] fn storage_works() { - let mut t = TestExternalities::new(); + let mut t = TestExternalities::::new(); assert!(with_externalities(&mut t, || { assert_eq!(storage(b"hello"), None); set_storage(b"hello", b"world"); @@ -237,7 +261,7 @@ mod std_tests { #[test] fn read_storage_works() { - let mut t: TestExternalities = map![ + let mut t: TestExternalities = map![ b":test".to_vec() => b"\x0b\0\0\0Hello world".to_vec() ]; @@ -253,7 +277,7 @@ mod std_tests { #[test] fn clear_prefix_works() { - let mut t: TestExternalities = map![ + let mut t: TestExternalities = map![ b":a".to_vec() => b"\x0b\0\0\0Hello world".to_vec(), b":abcd".to_vec() => b"\x0b\0\0\0Hello world".to_vec(), b":abc".to_vec() => b"\x0b\0\0\0Hello world".to_vec(), From 9b8f4174a89140adc72f50113a1d1d9bd6ac8e5c Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 1 Aug 2018 18:17:30 +0200 Subject: [PATCH 22/86] lockfile shenanigans --- Cargo.lock | 910 ++++++++++++++++++++++++++--------------------------- 1 file changed, 447 insertions(+), 463 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2dd2a8ecd4ef5..a8d62ddd16ea5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,7 +23,7 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "0.6.6" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -34,8 +34,8 @@ name = "aio-limited" version = "0.1.0" source = "git+https://github.com/paritytech/aio-limited.git#1f42497dcd2a6f85b83af97cd80314b26a1e4a9e" dependencies = [ - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-executor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -58,7 +58,7 @@ name = "ansi_term" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -95,29 +95,29 @@ dependencies = [ [[package]] name = "assert_matches" -version = "1.3.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "atty" -version = "0.2.11" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "backtrace" -version = "0.3.9" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "backtrace-sys 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-demangle 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -125,8 +125,8 @@ name = "backtrace-sys" version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -167,7 +167,7 @@ dependencies = [ [[package]] name = "base64" -version = "0.9.2" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -218,7 +218,7 @@ dependencies = [ [[package]] name = "bs58" -version = "0.2.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -238,7 +238,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "bytes" -version = "0.4.9" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -247,15 +247,15 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.18" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rayon 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rayon 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "cfg-if" -version = "0.1.4" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -269,11 +269,11 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.5" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -293,7 +293,7 @@ version = "2.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", - "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -315,7 +315,7 @@ name = "cmake" version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -329,7 +329,7 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -337,7 +337,7 @@ name = "core-foundation-sys" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -364,7 +364,7 @@ name = "crossbeam-deque" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "crossbeam-epoch 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-epoch 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-utils 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -374,9 +374,9 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -384,13 +384,13 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-utils 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -400,7 +400,7 @@ name = "crossbeam-utils" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -408,7 +408,7 @@ name = "crossbeam-utils" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -422,7 +422,7 @@ version = "1.1.1" source = "git+https://github.com/paritytech/rust-ctrlc.git#b523017108bb2d571a7a69bd97bc406e63bc7a9d" dependencies = [ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -433,9 +433,9 @@ source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c2 dependencies = [ "base64 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "chashmap 2.2.1 (git+https://github.com/redox-os/tfs)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)", "tempfile 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -451,7 +451,7 @@ dependencies = [ "ed25519 0.1.0", "env_logger 0.4.3 (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.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-client 0.1.0", @@ -539,7 +539,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "digest" -version = "0.7.5" +version = "0.7.4" 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)", @@ -547,7 +547,7 @@ dependencies = [ [[package]] name = "dtoa" -version = "0.4.3" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -598,7 +598,7 @@ name = "error-chain" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "backtrace 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -606,7 +606,7 @@ name = "error-chain" version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "backtrace 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -615,7 +615,7 @@ version = "0.5.7" source = "git+https://github.com/paritytech/rust-secp256k1#db81cfea59014b4d176f10f86ed52e1a130b6822" dependencies = [ "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", - "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -634,13 +634,13 @@ dependencies = [ [[package]] name = "ethcore-io" version = "1.12.0" -source = "git+https://github.com/paritytech/parity#f9814381a7c36d9b14f326f64c7b476e9549d846" +source = "git+https://github.com/paritytech/parity#c22498066b6546c4a2bd58f1ff4a664d00142f43" dependencies = [ "crossbeam 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)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", "timer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -649,15 +649,15 @@ dependencies = [ [[package]] name = "ethcore-logger" version = "1.12.0" -source = "git+https://github.com/paritytech/parity#f9814381a7c36d9b14f326f64c7b476e9549d846" +source = "git+https://github.com/paritytech/parity#c22498066b6546c4a2bd58f1ff4a664d00142f43" dependencies = [ "ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", - "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -687,13 +687,13 @@ dependencies = [ [[package]] name = "ethkey" version = "0.3.0" -source = "git+https://github.com/paritytech/parity#f9814381a7c36d9b14f326f64c7b476e9549d846" +source = "git+https://github.com/paritytech/parity#c22498066b6546c4a2bd58f1ff4a664d00142f43" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "edit-distance 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "eth-secp256k1 0.5.7 (git+https://github.com/paritytech/rust-secp256k1)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "mem 0.1.0 (git+https://github.com/paritytech/parity)", "parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)", @@ -716,7 +716,7 @@ name = "exit-future" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -730,7 +730,7 @@ name = "fdlimit" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -739,7 +739,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -750,7 +750,7 @@ version = "0.2.2" source = "git+https://github.com/paritytech/parity-common?branch=add-fixed-hash#b0cf5d1cf5bf0d284fae8e724df00fcb52673542" dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -775,13 +775,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "fs-swap" -version = "0.2.3" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "lazy_static 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", - "libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -800,7 +798,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "futures" -version = "0.1.23" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -808,7 +806,7 @@ name = "futures-cpupool" version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -827,28 +825,25 @@ dependencies = [ [[package]] name = "getopts" -version = "0.2.18" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", -] [[package]] name = "globset" -version = "0.4.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "aho-corasick 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "hashdb" version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" +source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -859,7 +854,7 @@ name = "heapsize" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -886,7 +881,7 @@ dependencies = [ [[package]] name = "httparse" -version = "1.3.2" +version = "1.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -895,7 +890,7 @@ version = "0.10.13" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "base64 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "httparse 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "httparse 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "language-tags 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)", "mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -904,7 +899,7 @@ dependencies = [ "traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "typeable 0.1.2 (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.1 (registry+https://github.com/rust-lang/crates.io-index)", + "url 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -912,16 +907,16 @@ name = "hyper" version = "0.11.27" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "base64 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "base64 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "httparse 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "httparse 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "mime 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "mime 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", + "net2 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "relay 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", @@ -935,10 +930,10 @@ dependencies = [ [[package]] name = "idna" -version = "0.1.5" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "matches 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -963,7 +958,7 @@ name = "iovec" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -982,7 +977,7 @@ dependencies = [ [[package]] name = "itoa" -version = "0.4.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -990,11 +985,11 @@ name = "jsonrpc-core" version = "8.0.2" source = "git+https://github.com/paritytech/jsonrpc.git#7e5df8ca2acc01c608b2d2bd8cdcdb19d8cbaa90" dependencies = [ - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1005,8 +1000,8 @@ dependencies = [ "hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core 8.0.2 (git+https://github.com/paritytech/jsonrpc.git)", "jsonrpc-server-utils 8.0.1 (git+https://github.com/paritytech/jsonrpc.git)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "net2 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", "unicase 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1026,8 +1021,8 @@ version = "8.0.1" source = "git+https://github.com/paritytech/jsonrpc.git#7e5df8ca2acc01c608b2d2bd8cdcdb19d8cbaa90" dependencies = [ "jsonrpc-core 8.0.2 (git+https://github.com/paritytech/jsonrpc.git)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1035,10 +1030,10 @@ name = "jsonrpc-server-utils" version = "8.0.1" source = "git+https://github.com/paritytech/jsonrpc.git#7e5df8ca2acc01c608b2d2bd8cdcdb19d8cbaa90" dependencies = [ - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "globset 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "globset 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core 8.0.2 (git+https://github.com/paritytech/jsonrpc.git)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (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.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1051,8 +1046,8 @@ dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core 8.0.2 (git+https://github.com/paritytech/jsonrpc.git)", "jsonrpc-server-utils 8.0.1 (git+https://github.com/paritytech/jsonrpc.git)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ws 0.7.5 (git+https://github.com/tomusdrw/ws-rs)", ] @@ -1062,7 +1057,7 @@ name = "keccak-hash" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1070,7 +1065,7 @@ dependencies = [ [[package]] name = "keccak-hasher" version = "0.1.0" -source = "git+https://github.com/paritytech/parity#f9814381a7c36d9b14f326f64c7b476e9549d846" +source = "git+https://github.com/paritytech/parity#c22498066b6546c4a2bd58f1ff4a664d00142f43" dependencies = [ "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", @@ -1090,7 +1085,7 @@ dependencies = [ [[package]] name = "kvdb" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" +source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", @@ -1099,25 +1094,25 @@ dependencies = [ [[package]] name = "kvdb-memorydb" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" +source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" dependencies = [ "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)", - "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "kvdb-rocksdb" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" +source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "fs-swap 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "fs-swap 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "interleaved-ordered 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)", ] @@ -1134,7 +1129,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "lazy_static" -version = "1.0.2" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1144,25 +1139,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "libc" -version = "0.2.42" +version = "0.2.41" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "libloading" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "libp2p" version = "0.1.0" source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "libp2p-dns 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "libp2p-floodsub 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", @@ -1190,16 +1176,16 @@ name = "libp2p-core" version = "0.1.0" source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ - "bs58 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", + "bs58 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (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.23 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "multihash 0.8.1-pre (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "multistream-select 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.0.4 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "rw-stream-sink 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "smallvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1211,9 +1197,9 @@ name = "libp2p-dns" version = "0.1.0" source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "tokio-dns-unofficial 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1224,16 +1210,16 @@ name = "libp2p-floodsub" version = "0.1.0" source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ - "bs58 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bs58 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (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.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.0.4 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1245,15 +1231,15 @@ name = "libp2p-identify" version = "0.1.0" source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (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.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "libp2p-peerstore 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.0.4 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "varint 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", @@ -1266,18 +1252,18 @@ source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c2 dependencies = [ "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", "bigint 4.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "bs58 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", + "bs58 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "datastore 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "libp2p-identify 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "libp2p-ping 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.0.4 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1291,11 +1277,11 @@ name = "libp2p-mplex" version = "0.1.0" source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (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.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1307,9 +1293,9 @@ name = "libp2p-peerstore" version = "0.1.0" source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ - "bs58 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bs58 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "datastore 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1322,14 +1308,14 @@ name = "libp2p-ping" version = "0.1.0" source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "multistream-select 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1340,9 +1326,9 @@ version = "0.1.1" source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "aio-limited 0.1.0 (git+https://github.com/paritytech/aio-limited.git)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-executor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1352,13 +1338,13 @@ name = "libp2p-relay" version = "0.1.0" source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "libp2p-peerstore 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "protobuf 2.0.4 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1371,12 +1357,12 @@ version = "0.1.0" source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "asn1_der 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "eth-secp256k1 0.5.7 (git+https://github.com/paritytech/rust-secp256k1)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.0.4 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", "ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1390,9 +1376,9 @@ name = "libp2p-tcp-transport" version = "0.1.0" source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-tcp 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1403,9 +1389,9 @@ name = "libp2p-transport-timeout" version = "0.1.0" source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-timer 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1414,14 +1400,14 @@ name = "libp2p-websocket" version = "0.1.0" source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "rw-stream-sink 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "stdweb 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "websocket 0.20.3 (registry+https://github.com/rust-lang/crates.io-index)", + "websocket 0.20.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1429,10 +1415,10 @@ name = "libp2p-yamux" version = "0.1.0" source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "yamux 0.1.0 (git+https://github.com/paritytech/yamux)", ] @@ -1466,33 +1452,33 @@ name = "log" version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "log" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "matches" -version = "0.1.7" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "mem" version = "0.1.0" -source = "git+https://github.com/paritytech/parity#f9814381a7c36d9b14f326f64c7b476e9549d846" +source = "git+https://github.com/paritytech/parity#c22498066b6546c4a2bd58f1ff4a664d00142f43" [[package]] name = "memchr" version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1508,7 +1494,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "memorydb" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" +source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", @@ -1527,7 +1513,7 @@ dependencies = [ [[package]] name = "mime" -version = "0.3.8" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "unicase 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1535,7 +1521,7 @@ dependencies = [ [[package]] name = "mio" -version = "0.6.15" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1543,10 +1529,10 @@ dependencies = [ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazycell 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", + "net2 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1557,7 +1543,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", + "net2 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1595,9 +1581,9 @@ name = "multistream-select" version = "0.1.0" source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "varint 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", @@ -1622,9 +1608,9 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "openssl 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", - "schannel 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", + "schannel 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", "security-framework 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "security-framework-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1632,12 +1618,12 @@ dependencies = [ [[package]] name = "net2" -version = "0.2.33" +version = "0.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1650,21 +1636,21 @@ name = "num-bigint" version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-integer" -version = "0.1.39" +version = "0.1.38" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-traits" -version = "0.2.5" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1672,7 +1658,7 @@ name = "num_cpus" version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1691,8 +1677,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "openssl-sys 0.9.33 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1701,10 +1687,10 @@ name = "openssl-sys" version = "0.9.33" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", - "vcpkg 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", + "vcpkg 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1712,18 +1698,18 @@ name = "owning_ref" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "stable_deref_trait 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "stable_deref_trait 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "parity-bytes" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" +source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" [[package]] name = "parity-crypto" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" +source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" dependencies = [ "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1734,7 +1720,7 @@ dependencies = [ [[package]] name = "parity-wasm" -version = "0.31.1" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1770,7 +1756,7 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.6.3" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "lock_api 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1782,16 +1768,16 @@ name = "parking_lot_core" version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "patricia-trie" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" +source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", @@ -1804,7 +1790,7 @@ dependencies = [ [[package]] name = "patricia-trie-ethereum" version = "0.1.0" -source = "git+https://github.com/paritytech/parity#f9814381a7c36d9b14f326f64c7b476e9549d846" +source = "git+https://github.com/paritytech/parity#c22498066b6546c4a2bd58f1ff4a664d00142f43" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1822,13 +1808,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "pkg-config" -version = "0.3.12" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "plain_hasher" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" +source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1841,7 +1827,7 @@ version = "0.3.0" dependencies = [ "ctrlc 1.1.1 (git+https://github.com/paritytech/rust-ctrlc.git)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-cli 0.3.0", "vergen 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1872,15 +1858,15 @@ dependencies = [ "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "exit-future 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-primitives 0.1.0", "polkadot-runtime 0.1.0", "polkadot-service 0.3.0", "polkadot-transaction-pool 0.1.0", - "slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-cli 0.3.0", "substrate-client 0.1.0", "substrate-codec 0.1.0", @@ -1901,8 +1887,8 @@ name = "polkadot-collator" version = "0.1.0" dependencies = [ "ed25519 0.1.0", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-api 0.1.0", "polkadot-cli 0.3.0", "polkadot-primitives 0.1.0", @@ -1920,7 +1906,7 @@ dependencies = [ "ed25519 0.1.0", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "exit-future 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-api 0.1.0", @@ -1953,8 +1939,8 @@ name = "polkadot-network" version = "0.1.0" dependencies = [ "ed25519 0.1.0", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-api 0.1.0", "polkadot-consensus 0.1.0", @@ -2028,7 +2014,7 @@ dependencies = [ "ed25519 0.1.0", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-api 0.1.0", @@ -2038,7 +2024,7 @@ dependencies = [ "polkadot-primitives 0.1.0", "polkadot-runtime 0.1.0", "polkadot-transaction-pool 0.1.0", - "slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-client 0.1.0", "substrate-codec 0.1.0", "substrate-network 0.1.0", @@ -2101,7 +2087,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "proc-macro2" -version = "0.4.9" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2109,7 +2095,7 @@ dependencies = [ [[package]] name = "protobuf" -version = "2.0.4" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -2117,7 +2103,7 @@ name = "pulldown-cmark" version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "getopts 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", + "getopts 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2138,8 +2124,8 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-wasm 0.31.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2154,10 +2140,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "quote" -version = "0.6.4" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2166,7 +2152,7 @@ version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2176,20 +2162,20 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "rand" -version = "0.5.4" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2202,33 +2188,33 @@ name = "rayon" version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rayon-core 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rayon-core 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "rayon" -version = "1.0.2" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rayon-core 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rayon-core 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "rayon-core" -version = "1.4.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "redox_syscall" -version = "0.1.40" +version = "0.1.39" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -2236,7 +2222,7 @@ name = "redox_termios" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2244,7 +2230,7 @@ name = "regex" version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "aho-corasick 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2256,7 +2242,7 @@ name = "regex" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "aho-corasick 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "regex-syntax 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2284,7 +2270,7 @@ name = "relay" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2292,7 +2278,7 @@ name = "remove_dir_all" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2301,7 +2287,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2312,7 +2298,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2320,7 +2306,7 @@ dependencies = [ [[package]] name = "rlp" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#4481687a81f04993e5f54adef27852167d7114f7" +source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2344,7 +2330,7 @@ name = "rocksdb" version = "0.4.5" source = "git+https://github.com/paritytech/rust-rocksdb#ecf06adf3148ab10f6f7686b724498382ff4f36e" dependencies = [ - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "local-encoding 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "rocksdb-sys 0.3.0 (git+https://github.com/paritytech/rust-rocksdb)", ] @@ -2354,8 +2340,8 @@ name = "rocksdb-sys" version = "0.3.0" source = "git+https://github.com/paritytech/rust-rocksdb#ecf06adf3148ab10f6f7686b724498382ff4f36e" dependencies = [ - "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "local-encoding 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "snappy-sys 0.1.0 (git+https://github.com/paritytech/rust-snappy)", ] @@ -2366,7 +2352,7 @@ version = "0.2.36" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2374,7 +2360,7 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.9" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -2405,8 +2391,8 @@ name = "rw-stream-sink" version = "0.1.0" source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2424,11 +2410,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "schannel" -version = "0.1.13" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "lazy_static 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2448,7 +2434,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "core-foundation 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "security-framework-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2458,7 +2444,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2484,18 +2470,18 @@ name = "serde_derive" version = "1.0.70" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.14.5 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "serde_json" -version = "1.0.24" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2516,7 +2502,7 @@ 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.5 (registry+https://github.com/rust-lang/crates.io-index)", + "digest 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2550,7 +2536,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "slog" -version = "2.3.2" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -2558,7 +2544,7 @@ name = "slog-async" version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2568,10 +2554,10 @@ name = "slog-json" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "chrono 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "chrono 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", - "slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)", + "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2581,7 +2567,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crossbeam 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2613,12 +2599,12 @@ version = "0.1.0" source = "git+https://github.com/paritytech/rust-snappy#798408ffef8f86dd51481673aca10f5348d7491b" dependencies = [ "cmake 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "stable_deref_trait" -version = "1.1.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -2646,7 +2632,7 @@ version = "0.1.0" dependencies = [ "ed25519 0.1.0", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "rhododendron 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2666,19 +2652,19 @@ version = "0.3.0" dependencies = [ "ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", "app_dirs 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "backtrace 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "exit-future 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "names 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "regex 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-client 0.1.0", "substrate-extrinsic-pool 0.1.0", "substrate-network 0.1.0", @@ -2700,7 +2686,7 @@ dependencies = [ "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-bft 0.1.0", "substrate-codec 0.1.0", "substrate-executor 0.1.0", @@ -2749,14 +2735,14 @@ dependencies = [ name = "substrate-executor" version = "0.1.0" dependencies = [ - "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "assert_matches 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "ed25519 0.1.0", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2767,7 +2753,7 @@ dependencies = [ "substrate-serializer 0.1.0", "substrate-state-machine 0.1.0", "triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "twox-hash 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "wabt 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2777,7 +2763,7 @@ name = "substrate-extrinsic-pool" version = "0.1.0" dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2791,7 +2777,7 @@ version = "0.1.0" dependencies = [ "ed25519 0.1.0", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2805,7 +2791,7 @@ dependencies = [ "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)", "subtle 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2832,7 +2818,7 @@ dependencies = [ "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore-io 1.12.0 (git+https://github.com/paritytech/parity)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2849,22 +2835,22 @@ dependencies = [ name = "substrate-network-libp2p" version = "0.1.0" dependencies = [ - "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", + "assert_matches 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore-io 1.12.0 (git+https://github.com/paritytech/parity)", "ethcore-logger 1.12.0 (git+https://github.com/paritytech/parity)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "ethkey 0.3.0 (git+https://github.com/paritytech/parity)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "ipnetwork 0.12.8 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "tokio 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-timer 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2889,7 +2875,7 @@ dependencies = [ "substrate-runtime-std 0.1.0", "substrate-serializer 0.1.0", "twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "uint 0.1.2 (git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm)", + "uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=add-fixed-hash)", "wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2897,7 +2883,7 @@ dependencies = [ name = "substrate-rpc" version = "0.1.0" dependencies = [ - "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "assert_matches 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core 8.0.2 (git+https://github.com/paritytech/jsonrpc.git)", "jsonrpc-macros 8.0.1 (git+https://github.com/paritytech/jsonrpc.git)", @@ -2948,8 +2934,8 @@ dependencies = [ name = "substrate-runtime-contract" version = "0.1.0" dependencies = [ - "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-wasm 0.31.1 (registry+https://github.com/rust-lang/crates.io-index)", + "assert_matches 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)", "pwasm-utils 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3056,10 +3042,10 @@ version = "0.1.0" dependencies = [ "integer-sqrt 0.1.0 (git+https://github.com/paritytech/integer-sqrt-rs.git)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", "substrate-runtime-io 0.1.0", @@ -3195,7 +3181,7 @@ name = "substrate-serializer" version = "0.1.0" dependencies = [ "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3204,14 +3190,14 @@ version = "0.3.0" dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "exit-future 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", - "slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)", + "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-client 0.1.0", "substrate-client-db 0.1.0", "substrate-codec 0.1.0", @@ -3234,7 +3220,7 @@ name = "substrate-state-db" version = "0.1.0" dependencies = [ "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", @@ -3263,14 +3249,14 @@ dependencies = [ name = "substrate-telemetry" version = "0.3.0" dependencies = [ - "lazy_static 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "slog 2.2.3 (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.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "slog-scope 4.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "websocket 0.20.3 (registry+https://github.com/rust-lang/crates.io-index)", + "websocket 0.20.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3315,11 +3301,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "syn" -version = "0.14.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3353,9 +3339,9 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3364,8 +3350,8 @@ name = "termion" version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3382,7 +3368,7 @@ name = "thread_local" version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "lazy_static 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3391,9 +3377,9 @@ name = "time" version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3401,7 +3387,7 @@ name = "timer" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "chrono 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "chrono 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3417,16 +3403,16 @@ name = "tokio" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-executor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-fs 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-fs 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-reactor 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-tcp 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-threadpool 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-threadpool 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-timer 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-udp 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-udp 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3434,8 +3420,8 @@ name = "tokio-codec" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3444,16 +3430,16 @@ name = "tokio-core" version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (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.3 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "mio 0.6.14 (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.7 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-executor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-reactor 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-timer 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3462,7 +3448,7 @@ name = "tokio-current-thread" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-executor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3471,9 +3457,9 @@ name = "tokio-dns-unofficial" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "tokio 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3482,17 +3468,17 @@ name = "tokio-executor" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-fs" -version = "0.1.2" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-threadpool 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-threadpool 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3500,9 +3486,9 @@ name = "tokio-io" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3510,9 +3496,9 @@ name = "tokio-proto" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", + "net2 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3524,12 +3510,12 @@ dependencies = [ [[package]] name = "tokio-reactor" -version = "0.1.2" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-executor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3540,7 +3526,7 @@ name = "tokio-service" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3548,22 +3534,22 @@ name = "tokio-tcp" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", + "mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-reactor 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-threadpool" -version = "0.1.5" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crossbeam-deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-executor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3574,7 +3560,7 @@ name = "tokio-timer" version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-executor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3583,7 +3569,7 @@ name = "tokio-tls" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "native-tls 0.1.5 (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.7 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3591,16 +3577,15 @@ dependencies = [ [[package]] name = "tokio-udp" -version = "0.1.1" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-reactor 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3656,10 +3641,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "twox-hash" -version = "1.1.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3703,7 +3688,7 @@ name = "unicase" version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "version_check 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3711,7 +3696,7 @@ name = "unicase" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "version_check 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3719,7 +3704,7 @@ name = "unicode-bidi" version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "matches 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3752,11 +3737,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "url" -version = "1.7.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "matches 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "idna 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3770,17 +3755,17 @@ name = "varint" version = "0.1.0" source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "num-bigint 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "vcpkg" -version = "0.2.4" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -3799,7 +3784,7 @@ dependencies = [ [[package]] name = "version_check" -version = "0.1.4" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -3814,7 +3799,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)", "wabt-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3823,7 +3808,7 @@ name = "wabt-sys" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", "cmake 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3832,8 +3817,8 @@ name = "want" version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "try-lock 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3845,19 +3830,19 @@ dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "nan-preserving-float 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-wasm 0.31.1 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "websocket" -version = "0.20.3" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.10.13 (registry+https://github.com/rust-lang/crates.io-index)", "native-tls 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3866,7 +3851,7 @@ dependencies = [ "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-tls 0.1.4 (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.1 (registry+https://github.com/rust-lang/crates.io-index)", + "url 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3876,7 +3861,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "winapi" -version = "0.3.5" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3904,14 +3889,14 @@ version = "0.7.5" source = "git+https://github.com/tomusdrw/ws-rs#f12d19c4c19422fc79af28a3181f598bc07ecd1e" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "httparse 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "httparse 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", + "mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", "sha1 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", + "url 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3938,17 +3923,17 @@ name = "yamux" version = "0.1.0" source = "git+https://github.com/paritytech/yamux#4e3ae609ad29cae56c249353be37a473413a84da" dependencies = [ - "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "quick-error 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [metadata] -"checksum aho-corasick 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c1c6d463cbe7ed28720b5b489e7c083eeb8f90d08be2a0d6bb9e1ffea9ce1afa" +"checksum aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d6531d44de723825aa81398a6415283229725a00fa30713812ab9323faa82fc4" "checksum aio-limited 0.1.0 (git+https://github.com/paritytech/aio-limited.git)" = "" "checksum ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6b3568b48b7cefa6b8ce125f9bb4989e52fbcc29ebea88df04cc7c5f12f70455" "checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" @@ -3957,31 +3942,31 @@ dependencies = [ "checksum arrayref 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0fd1479b7c29641adbd35ff3b5c293922d696a92f25c8c975da3e0acbc87258f" "checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef" "checksum asn1_der 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f9dec199e4d3e3263a71ec23fd7f0259b3c6963ff83e6bb4871d9d91343d4c81" -"checksum assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7deb0a829ca7bcfaf5da70b073a8d128619259a7be8216a355e23f00763059e5" -"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652" -"checksum backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a" +"checksum assert_matches 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "664470abf00fae0f31c0eb6e1ca12d82961b2a2541ef898bc9dd51a9254d218b" +"checksum atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "2fc4a1aa4c24c0718a250f0681885c1af91419d242f29eb8f2ab28502d80dbd1" +"checksum backtrace 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "dbdd17cd962b570302f5297aea8648d5923e22e555c2ed2d8b2e34eca646bf6d" "checksum backtrace-sys 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)" = "bff67d0c06556c0b8e6b5f090f0eac52d950d9dfd1d35ba04e4ca3543eaf6a7e" "checksum base-x 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2f59103b47307f76e03bef1633aec7fa9e29bfb5aa6daf5a334f94233c71f6c1" "checksum base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" "checksum base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "30e93c03064e7590d0466209155251b90c22e37fab1daf2771582598b5827557" "checksum base64 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "96434f987501f0ed4eb336a411e0631ecd1afa11574fe148587adc4ff96143c9" "checksum base64 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5032d51da2741729bfdaeb2664d9b8c6d9fd1e2b90715c660b6def36628499c2" -"checksum base64 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "85415d2594767338a74a30c1d370b2f3262ec1b4ed2d7bba5b3faf4de40467d9" +"checksum base64 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9263aa6a38da271eec5c91a83ce1e800f093c8535788d403d626d8d5c3f8f007" "checksum bigint 4.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "da1dde4308822ffaa13665757273a1b787481212f3f9b1c470a864b179a01f1b" "checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d" "checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5" "checksum bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c54bb8f454c567f21197eefcdbf5679d0bd99f2ddbe52e84c77061952e6789" "checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" "checksum block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a076c298b9ecdb530ed9d967e74a6027d6a7478924520acddcddc24c1c8ab3ab" -"checksum bs58 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ddb9ab176abd79659b93be4396f59156c3ee80f8cc83d1cb588335052c428047" +"checksum bs58 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2e6ea4851598d7433fbdba71fa2509d9b0df68124b9c0effe7588f5149692d9f" "checksum byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40" "checksum byteorder 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "96c8b41881888cc08af32d47ac4edd52bc7fa27fef774be47a92443756451304" "checksum byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "74c0b906e9446b0a2e4f760cdb3fa4b2c48cdc6db8766a845c54b6ff063fd2e9" -"checksum bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e178b8e0e239e844b083d5a0d4a156b2654e67f9f80144d48398fcd736a24fb8" -"checksum cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)" = "2119ea4867bd2b8ed3aecab467709720b2d55b1bcfe09f772fd68066eaf15275" -"checksum cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "efe5c877e17a9c717a0bf3613b2709f723202c4e4675cc8f12926ded29bcb17e" +"checksum bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7dd32989a66957d3f0cba6588f15d4281a733f4e9ffc43fcd2385f57d3bf99ff" +"checksum cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)" = "49ec142f5768efb5b7622aebc3fdbdbb8950a4b9ba996393cb76ef7466e8747d" +"checksum cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "405216fd8fe65f718daa7102ea808a946b6ce40c742998fbfd3463645552de18" "checksum chashmap 2.2.1 (git+https://github.com/redox-os/tfs)" = "" -"checksum chrono 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e48d85528df61dc964aa43c5f6ca681a19cfa74939b2348d204bd08a981f2fb0" +"checksum chrono 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1cce36c92cb605414e9b824f866f5babe0a0368e39ea07393b9b63cf3844c0e6" "checksum cid 0.2.3 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)" = "" "checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e" "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" @@ -3994,15 +3979,15 @@ dependencies = [ "checksum crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f739f8c5363aca78cfb059edf753d8f0d36908c348f3d8d1503f03d8b75d9cf3" "checksum crossbeam-deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fe8153ef04a7594ded05b427ffad46ddeaf22e63fd48d42b3e1e3bb4db07cae7" "checksum crossbeam-epoch 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "927121f5407de9956180ff5e936fe3cf4324279280001cd56b669d28ee7e9150" -"checksum crossbeam-epoch 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2af0e75710d6181e234c8ecc79f14a97907850a541b13b0be1dd10992f2e4620" +"checksum crossbeam-epoch 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9b4e2817eb773f770dcb294127c011e22771899c21d18fce7dd739c0b9832e81" "checksum crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2760899e32a1d58d5abb31129f8fae5de75220bc2176e77ff7c627ae45c918d9" "checksum crossbeam-utils 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d636a8b3bcc1b409d7ffd3facef8f21dcb4009626adbd0c5e6c4305c07253c7b" "checksum crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda" "checksum ctrlc 1.1.1 (git+https://github.com/paritytech/rust-ctrlc.git)" = "" "checksum datastore 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)" = "" "checksum difference 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3304d19798a8e067e48d8e69b2c37f0b5e9b4e462504ad9e27e9f3fce02bba8" -"checksum digest 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)" = "5b29c278aa8fd30796bd977169e8004b4aa88cdcd2f32a6eb22bc2d5d38df94a" -"checksum dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6d301140eb411af13d3115f9a562c85cc6b541ade9dfa314132244aaee7489dd" +"checksum digest 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3cae2388d706b52f2f2f9afe280f9d768be36544bd71d1b8120cb34ea6450b55" +"checksum dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab" "checksum edit-distance 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3bd26878c3d921f89797a4e1a1711919f999a9f6946bb6f5a4ffda126d297b7e" "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" @@ -4025,31 +4010,31 @@ dependencies = [ "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" "checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" "checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" -"checksum fs-swap 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67f816b2a5f8a6628764a4323d1a8d9ad5303266c4e4e4486ba680f477ba7e62" +"checksum fs-swap 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "31a94e9407e53addc49de767234a0b000978523c59117e5badb575ccbb8370f6" "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" -"checksum futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)" = "884dbe32a6ae4cd7da5c6db9b78114449df9953b8d490c9d7e1b51720b922c62" +"checksum futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)" = "1a70b146671de62ec8c8ed572219ca5d594d9b06c0b364d5e67b722fc559b48c" "checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" "checksum gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)" = "5e33ec290da0d127825013597dbdfc28bee4964690c7ce1166cbc2a7bd08b1bb" "checksum generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef25c5683767570c2bbd7deba372926a55eaae9982d7726ee2a1050239d45b9d" -"checksum getopts 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "0a7292d30132fb5424b354f5dc02512a86e4c516fe544bb7a25e7f266951b797" -"checksum globset 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8e49edbcc9c7fc5beb8c0a54e7319ff8bed353a2b55e85811c6281188c2a6c84" +"checksum getopts 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)" = "b900c08c1939860ce8b54dc6a89e26e00c04c380fd0e09796799bd7f12861e05" +"checksum globset 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "142754da2c9b3722affd909f9e27f2a6700a7a303f362971e0a74c652005a43d" "checksum hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" "checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" "checksum hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4da5f0e01bd8a71a224a4eedecaacfcabda388dbb7a80faf04d3514287572d95" "checksum hex-literal-impl 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1d340b6514f232f6db1bd16db65302a5278a04fef9ce867cb932e7e5fa21130a" -"checksum httparse 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7b6288d7db100340ca12873fd4d08ad1b8f206a9457798dfb17c018a33fee540" +"checksum httparse 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c2f407128745b78abc95c0ffbe4e5d37427fdc0d45470710cfef8c44522a2e37" "checksum hyper 0.10.13 (registry+https://github.com/rust-lang/crates.io-index)" = "368cb56b2740ebf4230520e2b90ebb0461e69034d85d1945febd9b3971426db2" "checksum hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)" = "34a590ca09d341e94cddf8e5af0bbccde205d5fbc2fa3c09dd67c7f85cea59d7" -"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" +"checksum idna 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "014b298351066f1512874135335d62a789ffe78a9974f94b43ed5621951eaf7d" "checksum integer-encoding 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "26746cbc2e680af687e88d717f20ff90079bd10fc984ad57d277cd0e37309fa5" "checksum integer-sqrt 0.1.0 (git+https://github.com/paritytech/integer-sqrt-rs.git)" = "" "checksum interleaved-ordered 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "141340095b15ed7491bd3d4ced9d20cebfb826174b6bb03386381f62b01e3d77" "checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08" "checksum ipnetwork 0.12.8 (registry+https://github.com/rust-lang/crates.io-index)" = "70783119ac90828aaba91eae39db32c6c1b8838deea3637e5238efa0130801ab" "checksum itertools 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4833d6978da405305126af4ac88569b5d71ff758581ce5a987dbfa3755f694fc" -"checksum itoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5adb58558dcd1d786b5f0bd15f3226ee23486e24b7b58304b60f64dc68e62606" +"checksum itoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c069bbec61e1ca5a596166e55dfe4773ff745c3d16b700013bcaff9a6df2c682" "checksum jsonrpc-core 8.0.2 (git+https://github.com/paritytech/jsonrpc.git)" = "" "checksum jsonrpc-http-server 8.0.1 (git+https://github.com/paritytech/jsonrpc.git)" = "" "checksum jsonrpc-macros 8.0.1 (git+https://github.com/paritytech/jsonrpc.git)" = "" @@ -4064,10 +4049,9 @@ dependencies = [ "checksum kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" "checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" -"checksum lazy_static 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fb497c35d362b6a331cfd94956a07fc2c78a4604cdbee844a81170386b996dd3" +"checksum lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e6412c5e2ad9584b0b8e979393122026cdd6d2a80b933f890dcd694ddbe73739" "checksum lazycell 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a6f08839bc70ef4a3fe1d566d5350f519c5912ea86be0df1740a7d247c7fc0ef" -"checksum libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)" = "b685088df2b950fccadf07a7187c8ef846a959c142338a48f9dc0b94517eb5f1" -"checksum libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9c3ad660d7cb8c5822cd83d10897b0f1f1526792737a179e73896152f85b88c2" +"checksum libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)" = "ac8ebf8343a981e2fa97042b14768f02ed3e1d602eac06cae6166df3c8ced206" "checksum libp2p 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)" = "" "checksum libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)" = "" "checksum libp2p-dns 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)" = "" @@ -4088,16 +4072,16 @@ dependencies = [ "checksum local-encoding 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1ceb20f39ff7ae42f3ff9795f3986b1daad821caaa1e1732a0944103a5a1a66" "checksum lock_api 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "949826a5ccf18c1b3a7c3d57692778d21768b79e46eb9dd07bfc4c2160036c54" "checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" -"checksum log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "61bd98ae7f7b754bc53dca7d44b604f733c6bba044ea6f41bc8d89272d8161d2" -"checksum matches 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "835511bab37c34c47da5cb44844bea2cfde0236db0b506f90ea4224482c9774a" +"checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2" +"checksum matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376" "checksum mem 0.1.0 (git+https://github.com/paritytech/parity)" = "" "checksum memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" "checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" "checksum memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" "checksum mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0" -"checksum mime 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "fe51c8699d2dc522bf8c1ebe26ea2193d151fb54bcdfd7d0318750c189994cd9" -"checksum mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)" = "4fcfcb32d63961fb6f367bfd5d21e4600b92cd310f71f9dca25acae196eb1560" +"checksum mime 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0b28683d0b09bbc20be1c9b3f6f24854efb1356ffcffee08ea3f6e65596e85fa" +"checksum mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)" = "6d771e3ef92d58a8da8df7d6976bfca9371ed1de6619d9d5a5ce5b1f29b85bfe" "checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" "checksum multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)" = "" "checksum multibase 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b9c35dac080fd6e16a99924c8dfdef0af89d797dd851adab25feaffacf7850d6" @@ -4106,11 +4090,11 @@ dependencies = [ "checksum names 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef320dab323286b50fb5cdda23f61c796a72a89998ab565ca32525c5c556f2da" "checksum nan-preserving-float 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "34d4f00fcc2f4c9efa8cc971db0da9e28290e28e97af47585e48691ef10ff31f" "checksum native-tls 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f74dbadc8b43df7864539cedb7bc91345e532fdd913cfdc23ad94f4d2d40fbc0" -"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" +"checksum net2 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)" = "9044faf1413a1057267be51b5afba8eb1090bd2231c693664aa1db716fe1eae0" "checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" "checksum num-bigint 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)" = "e63899ad0da84ce718c14936262a41cee2c79c981fc0a0e7c7beb47d5a07e8c1" -"checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea" -"checksum num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "630de1ef5cc79d0cdd78b7e33b81f083cbfe90de0f4b2b2f07f905867c70e9fe" +"checksum num-integer 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)" = "6ac0ea58d64a89d9d6b7688031b3be9358d6c919badcf7fbb0527ccfd891ee45" +"checksum num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "775393e285254d2f5004596d69bb8bc1149754570dcc08cf30cabeba67955e28" "checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30" "checksum ole32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5d2c49021782e5233cd243168edfa8037574afed4eba4bbaf538b3d8d1789d8c" "checksum openssl 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)" = "a3605c298474a3aa69de92d21139fb5e2a81688d308262359d85cdd0d12a7985" @@ -4118,35 +4102,35 @@ dependencies = [ "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" "checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" -"checksum parity-wasm 0.31.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8f026fa6e6245c1aa477873f7f8c805502b86b6e12e3762c9ad13a4f350550ea" +"checksum parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1c91199d14bd5b78ecade323d4a891d094799749c1b9e82d9c590c2e2849a40" "checksum parity-wordlist 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d0dec124478845b142f68b446cbee953d14d4b41f1bc0425024417720dce693" "checksum parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "149d8f5b97f3c1133e3cfcd8886449959e856b557ff281e292b733d7c69e005e" "checksum parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d4d05f1349491390b1730afba60bb20d55761bef489a954546b58b4b34e1e2ac" -"checksum parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "69376b761943787ebd5cc85a5bc95958651a22609c5c1c2b65de21786baec72b" +"checksum parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "901d6514273469bb17380c1ac3f51fb3ce54be1f960e51a6f04901eba313ab8d" "checksum parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa" "checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" "checksum patricia-trie-ethereum 0.1.0 (git+https://github.com/paritytech/parity)" = "" "checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" -"checksum pkg-config 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)" = "6a52e4dbc8354505ee07e484ab07127e06d87ca6fa7f0a516a2b294e5ad5ad16" +"checksum pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "110d5ee3593dbb73f56294327fe5668bcc997897097cbc76b51e7aed3f52452f" "checksum plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "28ea5118e2f41bfbc974b28d88c07621befd1fa5d6ec23549be96302a1a59dd2" "checksum proc-macro-hack 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ba8d4f9257b85eb6cdf13f055cea3190520aab1409ca2ab43493ea4820c25f0" "checksum proc-macro-hack-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d5cb6f960ad471404618e9817c0e5d10b1ae74cfdf01fab89ea0641fe7fb2892" -"checksum proc-macro2 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)" = "cccdc7557a98fe98453030f077df7f3a042052fae465bb61d2c2c41435cfd9b6" -"checksum protobuf 2.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "128a4f37a2df739a567a8685b17f54aa19b9c3c4a6a5b8731e97a419b3db451c" +"checksum proc-macro2 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1fa93823f53cfd0f5ac117b189aed6cfdfb2cfc0a9d82e956dd7927595ed7d46" +"checksum protobuf 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7fec4b8f0fa26c52d29c66e93e8624aad859458ec5e5d4f6ddf923954293436a" "checksum pulldown-cmark 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8361e81576d2e02643b04950e487ec172b687180da65c731c03cf336784e6c07" "checksum pwasm-utils 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "efd695333cfae6e9dbe2703a6d040e252b57a6fc3b9a65c712615ac042b2e0c5" "checksum quick-error 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5fb6ccf8db7bbcb9c2eae558db5ab4f3da1c2a87e4e597ed394726bc8ea6ca1d" "checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" -"checksum quote 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b71f9f575d55555aa9c06188be9d4e2bfc83ed02537948ac0d520c24d0419f1a" +"checksum quote 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e44651a0dc4cdd99f71c83b561e221f714912d11af1a4dff0631f923d53af035" "checksum rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)" = "15a732abf9d20f0ad8eeb6f909bf6868722d9a06e1e50802b6a70351f40b4eb1" "checksum rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "eba5f8cb59cc50ed56be8880a5c7b496bfd9bd26394e176bc67884094145c2c5" -"checksum rand 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "12397506224b2f93e6664ffc4f664b29be8208e5157d3d90b44f09b5fae470ea" +"checksum rand 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6802c0e883716383777e147b7c21323d5de7527257c8b6dc1365a7f2983e90f6" "checksum rand_core 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "edecf0f94da5551fc9b492093e30b041a891657db7940ee221f9d2f66e82eef2" "checksum rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b614fe08b6665cb9a231d07ac1364b0ef3cb3698f1239ee0c4c3a88a524f54c8" -"checksum rayon 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "df7a791f788cb4c516f0e091301a29c2b71ef680db5e644a7d68835c8ae6dbfa" -"checksum rayon-core 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b055d1e92aba6877574d8fe604a63c8b5df60f60e5982bf7ccbb1338ea527356" -"checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1" +"checksum rayon 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80e811e76f1dbf68abf87a759083d34600017fc4e10b6bd5ad84a700f9dba4b1" +"checksum rayon-core 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d24ad214285a7729b174ed6d3bcfcb80177807f959d95fafd5bfc5c4f201ac8" +"checksum redox_syscall 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "6b8493950b18ff11387fef7fd9a9979f4dd77a36e182f754385838c70404b73e" "checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" "checksum regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9329abc99e39129fcceabd24cf5d85b4671ef7c29c50e972bc5afe32438ec384" "checksum regex 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5bbbea44c5490a1e84357ff28b7d518b4619a159fed5d25f6c1de2d19cc42814" @@ -4161,14 +4145,14 @@ dependencies = [ "checksum rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)" = "" "checksum rocksdb-sys 0.3.0 (git+https://github.com/paritytech/rust-rocksdb)" = "" "checksum rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)" = "f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a" -"checksum rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "bcfe5b13211b4d78e5c2cadfebd7769197d95c639c35a50057eb4c05de811395" +"checksum rustc-demangle 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "76d7ba1feafada44f2d38eed812bd2489a03c0f5abb975799251518b68848649" "checksum rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0ceb8ce7a5e520de349e1fa172baeba4a9e8d5ef06c47471863530bc4972ee1e" "checksum rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2b03280c2813907a030785570c577fb27d3deec8da4c18566751ade94de0ace" "checksum rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)" = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda" "checksum rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a54aa04a10c68c1c4eacb4337fd883b435997ede17a9385784b990777686b09a" "checksum rw-stream-sink 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)" = "" "checksum safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e27a8b19b835f7aea908818e871f5cc3a5a186550c30773be987e155e8163d8f" -"checksum schannel 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "dc1fabf2a7b6483a141426e1afd09ad543520a77ac49bd03c286e7696ccfd77f" +"checksum schannel 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "85fd9df495640643ad2d00443b3d78aae69802ad488debab4f1dd52fc1806ade" "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 security-framework 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "dfa44ee9c54ce5eecc9de7d5acbad112ee58755239381f687e564004ba4a2332" @@ -4177,7 +4161,7 @@ dependencies = [ "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" "checksum serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)" = "0c3adf19c07af6d186d91dae8927b83b0553d07ca56cbf7f2f32560455c91920" "checksum serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)" = "3525a779832b08693031b8ecfb0de81cd71cfd3812088fafe9a7496789572124" -"checksum serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)" = "c3c6908c7b925cd6c590358a4034de93dbddb20c45e1d021931459fd419bf0e2" +"checksum serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)" = "84b8035cabe9b35878adec8ac5fe03d5f6bc97ff6edd7ccb96b44c1276ba390e" "checksum sha1 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cc30b1e1e8c40c121ca33b86c23308a090d19974ef001b4bf6e61fd1a0fb095c" "checksum sha1 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "171698ce4ec7cbb93babeb3190021b4d72e96ccb98e33d277ae4ea959d6f2d9e" "checksum sha2 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9eb6be24e4c23a84d7184280d2722f7f2731fcdd4a9d886efbfe4413e4847ea0" @@ -4185,7 +4169,7 @@ dependencies = [ "checksum skeptic 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "24ebf8a06f5f8bae61ae5bbc7af7aac4ef6907ae975130faba1199e5fe82256a" "checksum slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "17b4fcaed89ab08ef143da37bc52adbcc04d4a69014f4c1208d6b51f0c47bc23" "checksum slab 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fdeff4cd9ecff59ec7e3744cbca73dfe5ac35c2aedb2cfba8a1c715a18912e9d" -"checksum slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b3253057a9e9e291d19fa9c7645290ab61aff1d009b77b0065fff8accd833c04" +"checksum slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2f7bfce6405155042d42ec0e645efe43eddedd7be280063ce0623b120014e7f9" "checksum slog-async 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e544d16c6b230d84c866662fe55e31aacfca6ae71e6fc49ae9a311cb379bfc2f" "checksum slog-json 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ddd14b8df2df39378b3e933c79784350bf715b11444d99f903df0253bbe524e5" "checksum slog-scope 4.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "053344c94c0e2b22da6305efddb698d7c485809427cf40555dc936085f67a9df" @@ -4194,11 +4178,11 @@ dependencies = [ "checksum smallvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1347484b6f8bc4b32a9323d9800b6d934376391002ad9c528cc659fe8afc08ee" "checksum smallvec 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "26df3bb03ca5eac2e64192b723d51f56c1b1e0860e7c766281f4598f181acdc8" "checksum snappy-sys 0.1.0 (git+https://github.com/paritytech/rust-snappy)" = "" -"checksum stable_deref_trait 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ffbc596e092fe5f598b12ef46cc03754085ac2f4d8c739ad61c4ae266cc3b3fa" +"checksum stable_deref_trait 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "15132e0e364248108c5e2c02e3ab539be8d6f5d52a01ca9bbf27ed657316f02b" "checksum stdweb 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ef5430c8e36b713e13b48a9f709cc21e046723fe44ce34587b73a830203b533e" "checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550" "checksum subtle 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc7f6353c2ee5407358d063a14cccc1630804527090a6fb5a9489ce4924280fb" -"checksum syn 0.14.5 (registry+https://github.com/rust-lang/crates.io-index)" = "4bad7abdf6633f07c7046b90484f1d9dc055eca39f8c991177b1046ce61dba9a" +"checksum syn 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6dfd71b2be5a58ee30a6f8ea355ba8290d397131c00dfa55c3d34e6e13db5101" "checksum take 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b157868d8ac1f56b64604539990685fa7611d8fa9e5476cf0c02cf34d32917c5" "checksum take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" "checksum target_info 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c63f48baada5c52e65a29eef93ab4f8982681b67f9e8d29c7b05abcfec2b9ffe" @@ -4216,23 +4200,23 @@ dependencies = [ "checksum tokio-current-thread 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9f785265962bde425bf3b77dd6abac6674b8c6d5e8831427383aa9c56c5210e1" "checksum tokio-dns-unofficial 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bb9bf62ca2c53bf2f2faec3e48a98b6d8c9577c27011cb0203a4beacdc8ab328" "checksum tokio-executor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8cac2a7883ff3567e9d66bb09100d09b33d90311feca0206c7ca034bc0c55113" -"checksum tokio-fs 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "40697ecbea5660df15b15d50a077386477d2f6a35002adf01ce76ff9dd9dce48" +"checksum tokio-fs 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "76766830bbf9a2d5bfb50c95350d56a2e79e2c80f675967fff448bc615899708" "checksum tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a5c9635ee806f26d302b8baa1e145689a280d8f5aa8d0552e7344808da54cc21" "checksum tokio-proto 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8fbb47ae81353c63c487030659494b295f6cb6576242f907f203473b191b0389" -"checksum tokio-reactor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e00ec63bbec2c97ce1178cb0587b2c438b2f6b09d3ee54a33c45a9cf0d530810" +"checksum tokio-reactor 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b3cedc8e5af5131dc3423ffa4f877cce78ad25259a9a62de0613735a13ebc64b" "checksum tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "24da22d077e0f15f55162bdbdc661228c1581892f52074fb242678d015b45162" "checksum tokio-tcp 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ec9b094851aadd2caf83ba3ad8e8c4ce65a42104f7b94d9e6550023f0407853f" -"checksum tokio-threadpool 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "24ab84f574027b0e875378f31575cf175360891919e93a3490f07e76e00e4efb" +"checksum tokio-threadpool 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b3c3873a6d8d0b636e024e77b9a82eaab6739578a06189ecd0e731c7308fbc5d" "checksum tokio-timer 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "028b94314065b90f026a21826cffd62a4e40a92cda3e5c069cc7b02e5945f5e9" "checksum tokio-tls 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "772f4b04e560117fe3b0a53e490c16ddc8ba6ec437015d91fa385564996ed913" -"checksum tokio-udp 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "43eb534af6e8f37d43ab1b612660df14755c42bd003c5f8d2475ee78cc4600c0" +"checksum tokio-udp 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "137bda266504893ac4774e0ec4c2108f7ccdbcb7ac8dced6305fe9e4e0b5041a" "checksum trace-time 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5aea07da6582e957c6e737eeb63a5af79e648eeeaaaba8fd9a417f1124bafa41" "checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" "checksum transaction-pool 1.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "be1efb673ddf49ab4a99893eb3af02f6563636033fb832c2b7f937641ad62b17" "checksum triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2033893a813c70e7d8a739ca6c36dc0a7a2c913ec718d7cbf84a3837bbe3c7ce" "checksum triehash 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum try-lock 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee2aa4715743892880f70885373966c83d73ef1b0838a664ef0c76fffd35e7c2" -"checksum twox-hash 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4f85be565a110ed72ed7048cf56570db04ce0a592c98aa59b7dacde3e5718750" +"checksum twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "475352206e7a290c5fccc27624a163e8d0d115f7bb60ca18a64fc9ce056d7435" "checksum typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887" "checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" "checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d" @@ -4246,13 +4230,13 @@ dependencies = [ "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" "checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" "checksum untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f392d7819dbe58833e26872f5f6f0d68b7bbbe90fc3667e98731c4a15ad9a7ae" -"checksum url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2a321979c09843d272956e73700d12c4e7d3d92b2ee112b31548aef0d4efc5a6" +"checksum url 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f808aadd8cfec6ef90e4a14eb46f24511824d1ac596b9682703c87056c8678b7" "checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" "checksum varint 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)" = "" -"checksum vcpkg 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cbe533e138811704c0e3cbde65a818b35d3240409b4346256c5ede403e082474" +"checksum vcpkg 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7ed0f6789c8a85ca41bbc1c9d175422116a9869bd1cf31bb08e1493ecce60380" "checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" "checksum vergen 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c3365f36c57e5df714a34be40902b27a992eeddb9996eca52d0584611cf885d" -"checksum version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "7716c242968ee87e5542f8021178248f267f295a5c4803beae8b8b7fd9bc6051" +"checksum version_check 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6b772017e347561807c1aa192438c5fd74242a670a6cffacc40f2defd1dc069d" "checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" "checksum wabt 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "182ae543249ccf2705f324d233891c1176fca142e137b55ba43d9dbfe93f18a2" "checksum wabt-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ca77c6b934a2b32618941b2f565aac43b8cb7141378c3b4fba4d8fcdcd57da3" @@ -4260,7 +4244,7 @@ dependencies = [ "checksum wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "522fe3fdd44a56f25cd5ddcd8ccdb1cf2e982ceb28fcb00f41d8a018ae5245a8" "checksum websocket 0.20.2 (registry+https://github.com/rust-lang/crates.io-index)" = "eb277e7f4c23dc49176f74ae200e77651764efb2c25f56ad2d22623b63826369" "checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" -"checksum winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "773ef9dcc5f24b7d850d0ff101e542ff24c3b090a9768e03ff889fdef41f00fd" +"checksum winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "04e3bd221fcbe8a271359c04f21a76db7d0c6028862d1bb5512d85e1e2eb5bb3" "checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" From ca01909d63255c23179b4b6d73200936c4558556 Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 1 Aug 2018 19:52:45 +0200 Subject: [PATCH 23/86] Add a BlakeHasher impl --- substrate/primitives/Cargo.toml | 2 ++ substrate/primitives/src/hasher.rs | 33 ++++++++++++++++++++++++++++++ substrate/primitives/src/lib.rs | 4 ++++ 3 files changed, 39 insertions(+) create mode 100644 substrate/primitives/src/hasher.rs diff --git a/substrate/primitives/Cargo.toml b/substrate/primitives/Cargo.toml index 17006b5476987..215220f2bf27c 100644 --- a/substrate/primitives/Cargo.toml +++ b/substrate/primitives/Cargo.toml @@ -19,6 +19,8 @@ twox-hash = { version = "1.1.0", optional = true } byteorder = { version = "1.1", default_features = false } blake2-rfc = { version = "0.2.18", optional = true } wasmi = { version = "0.4", optional = true } +hashdb = { git = "https://github.com/paritytech/parity-common" } +plain_hasher = { git = "https://github.com/paritytech/parity-common" } [dev-dependencies] substrate-serializer = { path = "../serializer" } diff --git a/substrate/primitives/src/hasher.rs b/substrate/primitives/src/hasher.rs new file mode 100644 index 0000000000000..421ecba6ace56 --- /dev/null +++ b/substrate/primitives/src/hasher.rs @@ -0,0 +1,33 @@ +// Copyright 2018 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 . + +//! Polkadot Blake2b Hasher implementation + +use hashdb::Hasher; +use plain_hasher::PlainHasher; +use hash::H256; +use hashing::blake2_256; + +/// Concrete implementation of Hasher using Blake2b 256-bit hashes +pub struct BlakeHasher; +impl Hasher for BlakeHasher { + type Out = H256; + type StdHasher = PlainHasher; + const LENGTH:usize = 32; + fn hash(x: &[u8]) -> Self::Out { + blake2_256(x).into() + } +} diff --git a/substrate/primitives/src/lib.rs b/substrate/primitives/src/lib.rs index 974997e6506ef..689e8d32e1a5c 100644 --- a/substrate/primitives/src/lib.rs +++ b/substrate/primitives/src/lib.rs @@ -45,6 +45,8 @@ extern crate serde_derive; extern crate core; #[cfg(feature = "std")] extern crate wasmi; +extern crate hashdb; +extern crate plain_hasher; extern crate substrate_runtime_std as rstd; @@ -77,6 +79,7 @@ pub use hashing::{blake2_256, twox_128, twox_256}; pub mod hexdisplay; pub mod hash; +pub mod hasher; pub mod sandbox; pub mod storage; pub mod uint; @@ -88,6 +91,7 @@ mod tests; pub use self::hash::{H160, H256, H512}; pub use self::uint::U256; pub use authority_id::AuthorityId; +pub use self::hasher::BlakeHasher; /// A 512-bit value interpreted as a signature. pub type Signature = hash::H512; From 9e4266897687b67c2978f1a2be3e6bc27d0b0c90 Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 1 Aug 2018 19:53:20 +0200 Subject: [PATCH 24/86] Use BlakeHasher in runtime-io --- substrate/runtime-io/Cargo.toml | 7 ++----- substrate/runtime-io/with_std.rs | 29 ++++++++--------------------- 2 files changed, 10 insertions(+), 26 deletions(-) diff --git a/substrate/runtime-io/Cargo.toml b/substrate/runtime-io/Cargo.toml index fc080a3cc4eb0..7cec69b24857a 100644 --- a/substrate/runtime-io/Cargo.toml +++ b/substrate/runtime-io/Cargo.toml @@ -11,17 +11,14 @@ rustc_version = "0.2" substrate-runtime-std = { path = "../runtime-std", default_features = false } environmental = { path = "../environmental", optional = true } substrate-state-machine = { path = "../state-machine", optional = true } -# TODO: when we remove the toy impl of `Hasher` from `with_std.rs` I think this can go back to use `default_features = false` -substrate-primitives = { path = "../primitives", features=["std"] } +substrate-primitives = { path = "../primitives", default_features = false } substrate-codec = { path = "../codec", default_features = false } triehash = { version = "0.1.2", optional = true } ed25519 = { path = "../ed25519", optional = true } -hashdb = { git = "https://github.com/paritytech/parity-common" } -plain_hasher = { git = "https://github.com/paritytech/parity-common" } -rlp = { git = "https://github.com/paritytech/parity-common" } [dev-dependencies] heapsize = "0.4" +rlp = { git = "https://github.com/paritytech/parity-common" } [features] default = ["std"] diff --git a/substrate/runtime-io/with_std.rs b/substrate/runtime-io/with_std.rs index af9587816ce17..9fa0679cd7f9c 100644 --- a/substrate/runtime-io/with_std.rs +++ b/substrate/runtime-io/with_std.rs @@ -23,10 +23,9 @@ extern crate substrate_primitives as primitives; extern crate substrate_state_machine; extern crate triehash; extern crate ed25519; -extern crate hashdb; -extern crate plain_hasher; -extern crate rlp; +#[cfg(test)] +extern crate rlp; #[cfg(test)] extern crate heapsize; @@ -35,26 +34,14 @@ pub extern crate substrate_codec as codec; // re-export hashing functions. pub use primitives::{blake2_256, twox_128, twox_256}; +pub use primitives::BlakeHasher; pub use substrate_state_machine::{Externalities, TestExternalities}; use primitives::hexdisplay::HexDisplay; use primitives::H256; -use hashdb::Hasher; -use plain_hasher::PlainHasher; // TODO: use the real error, not NoError. -// TODO: This is just a sanity check toy impl of `Hasher` – this needs to go somewhere else and possibly be renamed to `Hash`? -pub struct MyHasher; -impl Hasher for MyHasher { - type Out = H256; - type StdHasher = PlainHasher; - const LENGTH:usize = 32; - fn hash(x: &[u8]) -> Self::Out { - blake2_256(x).into() - } -} - -environmental!(ext: trait Externalities); +environmental!(ext: trait Externalities); /// Get `key` from storage and return a `Vec`, empty if there's a problem. pub fn storage(key: &[u8]) -> Option> { @@ -147,7 +134,7 @@ pub fn ed25519_verify>(sig: &[u8; 64], msg: &[u8], pubkey: P) -> /// Execute the given closure with global function available whose functionality routes into the /// externalities `ext`. Forwards the value that the closure returns. // TODO: need a concrete hasher here due to limitations of the `environmental!` macro, otherwise a type param would have been fine I think. -pub fn with_externalities R>(ext: &mut Externalities, f: F) -> R { +pub fn with_externalities R>(ext: &mut Externalities, f: F) -> R { ext::using(ext, f) } @@ -240,7 +227,7 @@ mod std_tests { #[test] fn storage_works() { - let mut t = TestExternalities::::new(); + let mut t = TestExternalities::::new(); assert!(with_externalities(&mut t, || { assert_eq!(storage(b"hello"), None); set_storage(b"hello", b"world"); @@ -261,7 +248,7 @@ mod std_tests { #[test] fn read_storage_works() { - let mut t: TestExternalities = map![ + let mut t: TestExternalities = map![ b":test".to_vec() => b"\x0b\0\0\0Hello world".to_vec() ]; @@ -277,7 +264,7 @@ mod std_tests { #[test] fn clear_prefix_works() { - let mut t: TestExternalities = map![ + let mut t: TestExternalities = map![ b":a".to_vec() => b"\x0b\0\0\0Hello world".to_vec(), b":abcd".to_vec() => b"\x0b\0\0\0Hello world".to_vec(), b":abc".to_vec() => b"\x0b\0\0\0Hello world".to_vec(), From 0f77d2b8ee514321ebbf30472cec3ea8e23724cf Mon Sep 17 00:00:00 2001 From: David Palm Date: Thu, 2 Aug 2018 07:01:05 +0200 Subject: [PATCH 25/86] lockfile updates --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a8d62ddd16ea5..012651608cf7c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2865,7 +2865,9 @@ dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=add-fixed-hash)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)", "pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3024,9 +3026,7 @@ version = "0.1.0" dependencies = [ "ed25519 0.1.0", "environmental 0.1.0", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)", "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", From 402c35cb6948844f8c7390f744e7eba531ee0534 Mon Sep 17 00:00:00 2001 From: David Palm Date: Thu, 2 Aug 2018 08:03:10 +0200 Subject: [PATCH 26/86] ws --- substrate/state-machine/src/ext.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/substrate/state-machine/src/ext.rs b/substrate/state-machine/src/ext.rs index 111a9be763a1e..0584bc41e6139 100644 --- a/substrate/state-machine/src/ext.rs +++ b/substrate/state-machine/src/ext.rs @@ -154,8 +154,7 @@ where 42 } - fn storage_root(&mut self) -> H::Out - { + fn storage_root(&mut self) -> H::Out { if let Some((_, ref root)) = self.transaction { return root.clone(); } From 85b5fe14c9bcf2c3ba71f2b39e4e5719237e4f46 Mon Sep 17 00:00:00 2001 From: David Palm Date: Thu, 2 Aug 2018 09:53:32 +0200 Subject: [PATCH 27/86] Add a Blake2/RLP-flavoured NodeCodec --- substrate/primitives/Cargo.toml | 2 + substrate/primitives/src/lib.rs | 4 + substrate/primitives/src/rlp_codec.rs | 123 ++++++++++++++++++++++++++ 3 files changed, 129 insertions(+) create mode 100644 substrate/primitives/src/rlp_codec.rs diff --git a/substrate/primitives/Cargo.toml b/substrate/primitives/Cargo.toml index 215220f2bf27c..93b2f30b87a66 100644 --- a/substrate/primitives/Cargo.toml +++ b/substrate/primitives/Cargo.toml @@ -7,6 +7,7 @@ authors = ["Parity Technologies "] crunchy = "0.1" substrate-runtime-std = { path = "../runtime-std", default_features = false } substrate-codec = { path = "../codec", default_features = false } +elastic-array = "0.10" # TODO: I think we can go back to `default_features = false` when we have a proper impl of `Hasher` to use fixed-hash = { git = "https://github.com/paritytech/parity-common", branch = "add-fixed-hash", features = ["heapsizeof"] } rustc-hex = { version = "2.0", default_features = false } @@ -20,6 +21,7 @@ byteorder = { version = "1.1", default_features = false } blake2-rfc = { version = "0.2.18", optional = true } wasmi = { version = "0.4", optional = true } hashdb = { git = "https://github.com/paritytech/parity-common" } +patricia-trie = { git = "https://github.com/paritytech/parity-common" } plain_hasher = { git = "https://github.com/paritytech/parity-common" } [dev-dependencies] diff --git a/substrate/primitives/src/lib.rs b/substrate/primitives/src/lib.rs index 689e8d32e1a5c..d45579a9f152e 100644 --- a/substrate/primitives/src/lib.rs +++ b/substrate/primitives/src/lib.rs @@ -47,6 +47,8 @@ extern crate core; extern crate wasmi; extern crate hashdb; extern crate plain_hasher; +extern crate patricia_trie; +extern crate elastic_array; extern crate substrate_runtime_std as rstd; @@ -84,6 +86,7 @@ pub mod sandbox; pub mod storage; pub mod uint; mod authority_id; +mod rlp_codec; #[cfg(test)] mod tests; @@ -92,6 +95,7 @@ pub use self::hash::{H160, H256, H512}; pub use self::uint::U256; pub use authority_id::AuthorityId; pub use self::hasher::BlakeHasher; +pub use self::rlp_codec::BlakeRlpCodec; /// A 512-bit value interpreted as a signature. pub type Signature = hash::H512; diff --git a/substrate/primitives/src/rlp_codec.rs b/substrate/primitives/src/rlp_codec.rs new file mode 100644 index 0000000000000..1be69460a1aa9 --- /dev/null +++ b/substrate/primitives/src/rlp_codec.rs @@ -0,0 +1,123 @@ +// Copyright 2018 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 . + +//! Polkadot Blake2b (trie) NodeCodec implementation + +use elastic_array::{ElasticArray1024, ElasticArray128}; +use hashdb::Hasher; +use rlp::{DecoderError, RlpStream, Rlp, Prototype}; +use std::marker::PhantomData; // TODO: should `use` from core instead? +use patricia_trie::{NibbleSlice, NodeCodec, node::Node, ChildReference}; + +use hash::H256; +use hasher::BlakeHasher; + +/// Concrete implementation of a `NodeCodec` with Rlp encoding, generic over the `Hasher` +pub struct RlpCodec {mark: PhantomData} + +/// Convenience type for a Blake2b/Rlp flavoured NodeCodec +pub type BlakeRlpCodec = RlpCodec; + +impl NodeCodec for RlpCodec { + type Error = DecoderError; + const HASHED_NULL_NODE : H256 = H256( [0x45, 0xb0, 0xcf, 0xc2, 0x20, 0xce, 0xec, 0x5b, 0x7c, 0x1c, 0x62, 0xc4, 0xd4, 0x19, 0x3d, 0x38, 0xe4, 0xeb, 0xa4, 0x8e, 0x88, 0x15, 0x72, 0x9c, 0xe7, 0x5f, 0x9c, 0xa, 0xb0, 0xe4, 0xc1, 0xc0] ); + fn decode(data: &[u8]) -> ::std::result::Result { + let r = Rlp::new(data); + match r.prototype()? { + // either leaf or extension - decode first item with NibbleSlice::??? + // and use is_leaf return to figure out which. + // if leaf, second item is a value (is_data()) + // if extension, second item is a node (either SHA3 to be looked up and + // fed back into this function or inline RLP which can be fed back into this function). + Prototype::List(2) => match NibbleSlice::from_encoded(r.at(0)?.data()?) { + (slice, true) => Ok(Node::Leaf(slice, r.at(1)?.data()?)), + (slice, false) => Ok(Node::Extension(slice, r.at(1)?.as_raw())), + }, + // branch - first 16 are nodes, 17th is a value (or empty). + Prototype::List(17) => { + let mut nodes = [&[] as &[u8]; 16]; + for i in 0..16 { + nodes[i] = r.at(i)?.as_raw(); + } + Ok(Node::Branch(nodes, if r.at(16)?.is_empty() { None } else { Some(r.at(16)?.data()?) })) + }, + // an empty branch index. + Prototype::Data(0) => Ok(Node::Empty), + // something went wrong. + _ => Err(DecoderError::Custom("Rlp is not valid.")) + } + } + fn try_decode_hash(data: &[u8]) -> Option<::Out> { + let r = Rlp::new(data); + if r.is_data() && r.size() == BlakeHasher::LENGTH { + Some(r.as_val().expect("Hash is the correct size; qed")) + } else { + None + } + } + fn is_empty_node(data: &[u8]) -> bool { + Rlp::new(data).is_empty() + } + fn empty_node() -> ElasticArray1024 { + let mut stream = RlpStream::new(); + stream.append_empty_data(); + stream.drain() + } + + fn leaf_node(partial: &[u8], value: &[u8]) -> ElasticArray1024 { + let mut stream = RlpStream::new_list(2); + stream.append(&partial); + stream.append(&value); + stream.drain() + } + + fn ext_node(partial: &[u8], child_ref: ChildReference<::Out>) -> ElasticArray1024 { + let mut stream = RlpStream::new_list(2); + stream.append(&partial); + match child_ref { + ChildReference::Hash(h) => stream.append(&h), + ChildReference::Inline(inline_data, len) => { + let bytes = &AsRef::<[u8]>::as_ref(&inline_data)[..len]; + stream.append_raw(bytes, 1) + }, + }; + stream.drain() + } + + fn branch_node(children: I, value: Option>) -> ElasticArray1024 + where I: IntoIterator::Out>>> + { + let mut stream = RlpStream::new_list(17); + for child_ref in children { + match child_ref { + Some(c) => match c { + ChildReference::Hash(h) => stream.append(&h), + ChildReference::Inline(inline_data, len) => { + let bytes = &AsRef::<[u8]>::as_ref(&inline_data)[..len]; + stream.append_raw(bytes, 1) + }, + }, + None => stream.append_empty_data() + }; + } + if let Some(value) = value { + stream.append(&&*value); + } else { + stream.append_empty_data(); + } + stream.drain() + } +} From 56649b6fe3a3a158542933ea7c712b40f7d38f50 Mon Sep 17 00:00:00 2001 From: David Palm Date: Thu, 2 Aug 2018 09:54:52 +0200 Subject: [PATCH 28/86] Use Blake-flavoured Hasher and NodeCodec --- substrate/state-machine/Cargo.toml | 5 ----- substrate/state-machine/src/lib.rs | 17 +++++++---------- substrate/state-machine/src/proving_backend.rs | 11 +++++------ substrate/state-machine/src/testing.rs | 7 +++---- substrate/state-machine/src/trie_backend.rs | 18 ++++++++---------- 5 files changed, 23 insertions(+), 35 deletions(-) diff --git a/substrate/state-machine/Cargo.toml b/substrate/state-machine/Cargo.toml index 9305bcdad779b..b8f65e1de8a98 100644 --- a/substrate/state-machine/Cargo.toml +++ b/substrate/state-machine/Cargo.toml @@ -6,7 +6,6 @@ description = "Substrate State Machine" [dependencies] byteorder = "1.1" -ethereum-types = "0.3" hex-literal = "0.1.0" log = "0.3" parking_lot = "0.4" @@ -18,7 +17,3 @@ memorydb = { git = "https://github.com/paritytech/parity-common" } patricia-trie = { git = "https://github.com/paritytech/parity-common" } triehash = { git = "https://github.com/paritytech/parity-common" } rlp = { git = "https://github.com/paritytech/parity-common" } - -[dev-dependencies] -keccak-hasher = { git = "https://github.com/paritytech/parity" } # REVIEW: We need `KeccakHasher` from here – better way? -patricia-trie-ethereum = { git = "https://github.com/paritytech/parity" } # REVIEW: We need `RlpCodec` from here – better way? \ No newline at end of file diff --git a/substrate/state-machine/src/lib.rs b/substrate/state-machine/src/lib.rs index 8517f87b6ebb8..8e27476b0e997 100644 --- a/substrate/state-machine/src/lib.rs +++ b/substrate/state-machine/src/lib.rs @@ -24,7 +24,6 @@ extern crate hex_literal; #[macro_use] extern crate log; -extern crate ethereum_types; extern crate hashdb; extern crate memorydb; extern crate triehash; @@ -32,8 +31,8 @@ extern crate patricia_trie; extern crate byteorder; extern crate parking_lot; extern crate rlp; -#[cfg(test)] extern crate keccak_hasher; -#[cfg(test)] extern crate patricia_trie_ethereum as ethtrie; +#[cfg(test)] +extern crate substrate_primitives as primitives; use std::collections::HashMap; use std::fmt; @@ -440,9 +439,7 @@ mod tests { use super::*; use super::backend::InMemory; use super::ext::Ext; - use keccak_hasher::KeccakHasher; - use ethtrie::RlpCodec; - use ethereum_types::H256; + use primitives::{BlakeHasher, BlakeRlpCodec, H256}; struct DummyCodeExecutor { native_available: bool, @@ -514,7 +511,7 @@ mod tests { b"dogglesworth".to_vec() => b"catXXX".to_vec(), b"doug".to_vec() => b"notadog".to_vec() ]; - let backend = InMemory::::from(initial); + let backend = InMemory::::from(initial); let mut overlay = OverlayedChanges { committed: map![ b"dog".to_vec() => Some(b"puppy".to_vec()), @@ -527,7 +524,7 @@ mod tests { ], }; let mut ext = Ext::new(&mut overlay, &backend); - const ROOT: [u8; 32] = hex!("8aad789dff2f538bca5d8ea56e8abe10f4c7ba3a5dea95fea4cd6e7c3a1168d3"); + const ROOT: [u8; 32] = hex!("6ca394ff9b13d6690a51dea30b1b5c43108e52944d30b9095227c49bae03ff8b"); assert_eq!(ext.storage_root(), H256(ROOT)); } @@ -584,7 +581,7 @@ mod tests { &mut Default::default(), &executor, "test", &[]).unwrap(); // check proof locally - let (local_result, _) = execution_proof_check::(remote_root, remote_proof, + let (local_result, _) = execution_proof_check::(remote_root, remote_proof, &mut Default::default(), &executor, "test", &[]).unwrap(); // check that both results are correct @@ -600,7 +597,7 @@ mod tests { b"abc".to_vec() => b"2".to_vec(), b"bbb".to_vec() => b"3".to_vec() ]; - let backend = InMemory::::from(initial).try_into_trie_backend().unwrap(); + let backend = InMemory::::from(initial).try_into_trie_backend().unwrap(); let mut overlay = OverlayedChanges { committed: map![ b"aba".to_vec() => Some(b"1312".to_vec()), diff --git a/substrate/state-machine/src/proving_backend.rs b/substrate/state-machine/src/proving_backend.rs index 1cac890e98d7b..67265eb81934e 100644 --- a/substrate/state-machine/src/proving_backend.rs +++ b/substrate/state-machine/src/proving_backend.rs @@ -121,10 +121,9 @@ mod tests { use backend::{InMemory}; use trie_backend::tests::test_trie; use super::*; - use keccak_hasher::KeccakHasher; - use ethtrie::RlpCodec; + use primitives::{BlakeHasher, BlakeRlpCodec}; - fn test_proving() -> ProvingBackend { + fn test_proving() -> ProvingBackend { ProvingBackend::new(test_trie()) } @@ -142,7 +141,7 @@ mod tests { #[test] fn proof_is_invalid_when_does_not_contains_root() { - assert!(create_proof_check_backend::(1.into(), vec![]).is_err()); + assert!(create_proof_check_backend::(1.into(), vec![]).is_err()); } #[test] @@ -161,7 +160,7 @@ mod tests { #[test] fn proof_recorded_and_checked() { let contents = (0..64).map(|i| (vec![i], Some(vec![i]))).collect::>(); - let in_memory = InMemory::::default(); + let in_memory = InMemory::::default(); let in_memory = in_memory.update(contents); let in_memory_root = in_memory.storage_root(::std::iter::empty()).0; (0..64).for_each(|i| assert_eq!(in_memory.storage(&[i]).unwrap().unwrap(), vec![i])); @@ -176,7 +175,7 @@ mod tests { let proof = proving.extract_proof(); - let proof_check = create_proof_check_backend::(in_memory_root.into(), proof).unwrap(); + let proof_check = create_proof_check_backend::(in_memory_root.into(), proof).unwrap(); assert_eq!(proof_check.storage(&[42]).unwrap().unwrap(), vec![42]); } } diff --git a/substrate/state-machine/src/testing.rs b/substrate/state-machine/src/testing.rs index 86dfe296c9b65..03f8113b2a394 100644 --- a/substrate/state-machine/src/testing.rs +++ b/substrate/state-machine/src/testing.rs @@ -76,16 +76,15 @@ impl Externalities for TestExternalities where H::Out: Ord + En #[cfg(test)] mod tests { use super::*; - use keccak_hasher::KeccakHasher; - use ethereum_types::H256; + use primitives::{BlakeHasher, H256}; #[test] fn commit_should_work() { - let mut ext = TestExternalities::::new(); + let mut ext = TestExternalities::::new(); ext.set_storage(b"doe".to_vec(), b"reindeer".to_vec()); ext.set_storage(b"dog".to_vec(), b"puppy".to_vec()); ext.set_storage(b"dogglesworth".to_vec(), b"cat".to_vec()); - const ROOT: [u8; 32] = hex!("8aad789dff2f538bca5d8ea56e8abe10f4c7ba3a5dea95fea4cd6e7c3a1168d3"); + const ROOT: [u8; 32] = hex!("6ca394ff9b13d6690a51dea30b1b5c43108e52944d30b9095227c49bae03ff8b"); assert_eq!(ext.storage_root(), H256(ROOT)); } } diff --git a/substrate/state-machine/src/trie_backend.rs b/substrate/state-machine/src/trie_backend.rs index c87e70ef1d667..bfe1926ea60c7 100644 --- a/substrate/state-machine/src/trie_backend.rs +++ b/substrate/state-machine/src/trie_backend.rs @@ -277,15 +277,13 @@ impl TrieBackendStorage { pub mod tests { use super::*; use std::collections::HashSet; - use ethereum_types::H256 as TrieH256; - use keccak_hasher::KeccakHasher; - use ethtrie::RlpCodec; + use primitives::{BlakeHasher, BlakeRlpCodec, H256}; - fn test_db() -> (MemoryDB, TrieH256) { - let mut root = TrieH256::default(); - let mut mdb = MemoryDB::::new(); + fn test_db() -> (MemoryDB, H256) { + let mut root = H256::default(); + let mut mdb = MemoryDB::::new(); { - let mut trie = TrieDBMut::<_, RlpCodec>::new(&mut mdb, &mut root); + let mut trie = TrieDBMut::<_, BlakeRlpCodec>::new(&mut mdb, &mut root); trie.insert(b"key", b"value").expect("insert failed"); trie.insert(b"value1", &[42]).expect("insert failed"); trie.insert(b"value2", &[24]).expect("insert failed"); @@ -294,7 +292,7 @@ pub mod tests { (mdb, root) } - pub(crate) fn test_trie() -> TrieBackend { + pub(crate) fn test_trie() -> TrieBackend { let (mdb, root) = test_db(); TrieBackend::with_memorydb(mdb, root) } @@ -316,7 +314,7 @@ pub mod tests { #[test] fn pairs_are_empty_on_empty_storage() { - let db = TrieBackend::::with_memorydb( + let db = TrieBackend::::with_memorydb( MemoryDB::new(), Default::default() ); @@ -325,7 +323,7 @@ pub mod tests { #[test] fn storage_root_is_non_default() { - assert!(test_trie().storage_root(::std::iter::empty()).0 != TrieH256([0; 32])); + assert!(test_trie().storage_root(::std::iter::empty()).0 != H256([0; 32])); } #[test] From 5e5e61e40c9aef76ccaf3aaabfef4dbc0bc9b1fa Mon Sep 17 00:00:00 2001 From: David Palm Date: Thu, 2 Aug 2018 09:57:42 +0200 Subject: [PATCH 29/86] lockfile --- Cargo.lock | 43 ++++++++----------------------------------- 1 file changed, 8 insertions(+), 35 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 012651608cf7c..0be3bc4921f7e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -696,7 +696,7 @@ dependencies = [ "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "mem 0.1.0 (git+https://github.com/paritytech/parity)", - "parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)", + "parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common.git)", "parity-wordlist 1.2.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.4.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1062,17 +1062,6 @@ dependencies = [ "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "keccak-hasher" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity#c22498066b6546c4a2bd58f1ff4a664d00142f43" -dependencies = [ - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", - "plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)", - "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "kernel32-sys" version = "0.2.2" @@ -1709,7 +1698,7 @@ source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c9 [[package]] name = "parity-crypto" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" +source = "git+https://github.com/paritytech/parity-common.git#0045887fecd2fec39e56c962a0b27e2caf3b9474" dependencies = [ "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1787,20 +1776,6 @@ dependencies = [ "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "patricia-trie-ethereum" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity#c22498066b6546c4a2bd58f1ff4a664d00142f43" -dependencies = [ - "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", - "keccak-hasher 0.1.0 (git+https://github.com/paritytech/parity)", - "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", -] - [[package]] name = "percent-encoding" version = "1.0.1" @@ -2739,10 +2714,11 @@ dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "ed25519 0.1.0", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2787,7 +2763,7 @@ dependencies = [ "ed25519 0.1.0", "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)", - "parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)", + "parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common.git)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2864,9 +2840,11 @@ dependencies = [ "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=add-fixed-hash)", "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", "plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)", "pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", @@ -3231,15 +3209,12 @@ name = "substrate-state-machine" version = "0.1.0" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "keccak-hasher 0.1.0 (git+https://github.com/paritytech/parity)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", - "patricia-trie-ethereum 0.1.0 (git+https://github.com/paritytech/parity)", "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", "substrate-primitives 0.1.0", "triehash 0.2.0 (git+https://github.com/paritytech/parity-common)", @@ -4042,7 +4017,6 @@ dependencies = [ "checksum jsonrpc-server-utils 8.0.1 (git+https://github.com/paritytech/jsonrpc.git)" = "" "checksum jsonrpc-ws-server 8.0.0 (git+https://github.com/paritytech/jsonrpc.git)" = "" "checksum keccak-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b7f51f30d7986536accaec4a6a288008dfb3dbffe8a2863a65292bc395a3ae7" -"checksum keccak-hasher 0.1.0 (git+https://github.com/paritytech/parity)" = "" "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" "checksum kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" @@ -4101,7 +4075,7 @@ dependencies = [ "checksum openssl-sys 0.9.33 (registry+https://github.com/rust-lang/crates.io-index)" = "d8abc04833dcedef24221a91852931df2f63e3369ae003134e70aff3645775cc" "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" "checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" -"checksum parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common.git)" = "" "checksum parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1c91199d14bd5b78ecade323d4a891d094799749c1b9e82d9c590c2e2849a40" "checksum parity-wordlist 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d0dec124478845b142f68b446cbee953d14d4b41f1bc0425024417720dce693" "checksum parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "149d8f5b97f3c1133e3cfcd8886449959e856b557ff281e292b733d7c69e005e" @@ -4109,7 +4083,6 @@ dependencies = [ "checksum parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "901d6514273469bb17380c1ac3f51fb3ce54be1f960e51a6f04901eba313ab8d" "checksum parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa" "checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" -"checksum patricia-trie-ethereum 0.1.0 (git+https://github.com/paritytech/parity)" = "" "checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" "checksum pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "110d5ee3593dbb73f56294327fe5668bcc997897097cbc76b51e7aed3f52452f" "checksum plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" From fc147112d49cf7b3c50ec056e012388a0c424155 Mon Sep 17 00:00:00 2001 From: David Palm Date: Thu, 2 Aug 2018 14:46:53 +0200 Subject: [PATCH 30/86] Implement PartialEq and Default for TestExternalities --- substrate/state-machine/src/testing.rs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/substrate/state-machine/src/testing.rs b/substrate/state-machine/src/testing.rs index 03f8113b2a394..07a9950e6b7cb 100644 --- a/substrate/state-machine/src/testing.rs +++ b/substrate/state-machine/src/testing.rs @@ -26,15 +26,22 @@ use std::marker::PhantomData; use std::iter::FromIterator; /// Simple HashMap-based Externalities impl. +#[derive(Debug)] pub struct TestExternalities { inner: HashMap, Vec>, - hasher: PhantomData, + _hasher: PhantomData, } impl TestExternalities { /// Create a new instance of `TestExternalities` pub fn new() -> Self { - TestExternalities {inner: HashMap::new(), hasher: PhantomData} + TestExternalities {inner: HashMap::new(), _hasher: PhantomData} + } +} + +impl PartialEq for TestExternalities { + fn eq(&self, other: &TestExternalities) -> bool { + self.inner.eq(&other.inner) } } @@ -48,6 +55,10 @@ impl FromIterator<(Vec, Vec)> for TestExternalities { } } +impl Default for TestExternalities { + fn default() -> Self { Self::new() } +} + impl Externalities for TestExternalities where H::Out: Ord + Encodable { fn storage(&self, key: &[u8]) -> Option> { self.inner.get(key).map(|x| x.to_vec()) From 05d820030c5d23578e66188fac08b8517e69c30a Mon Sep 17 00:00:00 2001 From: David Palm Date: Thu, 2 Aug 2018 14:47:28 +0200 Subject: [PATCH 31/86] Add note about limitations of environmental! --- substrate/runtime-io/with_std.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/substrate/runtime-io/with_std.rs b/substrate/runtime-io/with_std.rs index 9fa0679cd7f9c..4445ed30a7283 100644 --- a/substrate/runtime-io/with_std.rs +++ b/substrate/runtime-io/with_std.rs @@ -41,6 +41,8 @@ use primitives::H256; // TODO: use the real error, not NoError. +// REVIEW: The `environmental!` machinery can't really work with generics so need a concrete impl here. +// This means that consumers of the generated code can't use generics either? environmental!(ext: trait Externalities); /// Get `key` from storage and return a `Vec`, empty if there's a problem. From 65c4f64512d787cb721b64f804ae4bb3f7cdce84 Mon Sep 17 00:00:00 2001 From: David Palm Date: Thu, 2 Aug 2018 14:53:04 +0200 Subject: [PATCH 32/86] Make it compile, but this is probably broken --- substrate/runtime/system/src/lib.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/substrate/runtime/system/src/lib.rs b/substrate/runtime/system/src/lib.rs index 002c540590557..24133436baf50 100644 --- a/substrate/runtime/system/src/lib.rs +++ b/substrate/runtime/system/src/lib.rs @@ -49,7 +49,7 @@ use rstd::marker::PhantomData; use codec::Encode; #[cfg(any(feature = "std", test))] -use runtime_io::{twox_128, TestExternalities}; +use runtime_io::{twox_128, TestExternalities, BlakeHasher}; /// Compute the extrinsics root of a list of extrinsics. pub fn extrinsics_root(extrinsics: &[E]) -> H::Output { @@ -142,7 +142,7 @@ impl Module { /// Get the basic externalities for this module, useful for tests. #[cfg(any(feature = "std", test))] - pub fn externalities() -> TestExternalities { + pub fn externalities() -> TestExternalities { map![ twox_128(&>::key_for(T::BlockNumber::zero())).to_vec() => [69u8; 32].encode(), // TODO: replace with Hash::default().encode twox_128(>::key()).to_vec() => T::BlockNumber::one().encode(), @@ -207,7 +207,11 @@ impl Default for GenesisConfig { #[cfg(any(feature = "std", test))] impl primitives::BuildStorage for GenesisConfig { - fn build_storage(self) -> Result { + // TODO: I don't think passing a StorageMap instead of a TextExternalities can work here, as + // StorageMap does not implement the Externalities trait, but it compiles and there are no tests + // so… + // fn build_storage(self) -> Result, String> { + fn build_storage(self) -> Result { use codec::Encode; Ok(map![ From 56f9ef6e3532313e00d53fb079b1592f495d807d Mon Sep 17 00:00:00 2001 From: David Palm Date: Thu, 2 Aug 2018 14:54:35 +0200 Subject: [PATCH 33/86] Derive Debug so tests in executor can work --- substrate/primitives/src/hasher.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/substrate/primitives/src/hasher.rs b/substrate/primitives/src/hasher.rs index 421ecba6ace56..a140315edbd7f 100644 --- a/substrate/primitives/src/hasher.rs +++ b/substrate/primitives/src/hasher.rs @@ -22,6 +22,7 @@ use hash::H256; use hashing::blake2_256; /// Concrete implementation of Hasher using Blake2b 256-bit hashes +#[derive(Debug)] pub struct BlakeHasher; impl Hasher for BlakeHasher { type Out = H256; From eac3f253c4eb37d76c049e7385bafcab4f30b2b2 Mon Sep 17 00:00:00 2001 From: David Palm Date: Thu, 2 Aug 2018 15:00:04 +0200 Subject: [PATCH 34/86] Make executor use BlakeHasher --- substrate/executor/Cargo.toml | 1 + substrate/executor/src/lib.rs | 5 +++- substrate/executor/src/native_executor.rs | 16 +++++++------ substrate/executor/src/wasm_executor.rs | 28 +++++++++++++---------- 4 files changed, 30 insertions(+), 20 deletions(-) diff --git a/substrate/executor/Cargo.toml b/substrate/executor/Cargo.toml index f60c686b0ef24..a392234c47d34 100644 --- a/substrate/executor/Cargo.toml +++ b/substrate/executor/Cargo.toml @@ -23,6 +23,7 @@ twox-hash = "1.1.0" lazy_static = "1.0" parking_lot = "*" log = "0.3" +hashdb = { git = "https://github.com/paritytech/parity-common" } [dev-dependencies] assert_matches = "1.1" diff --git a/substrate/executor/src/lib.rs b/substrate/executor/src/lib.rs index f474946919f6c..e63da5c491ef1 100644 --- a/substrate/executor/src/lib.rs +++ b/substrate/executor/src/lib.rs @@ -43,6 +43,8 @@ extern crate rustc_hex; extern crate triehash; extern crate parking_lot; extern crate twox_hash; +extern crate hashdb; + #[macro_use] extern crate log; #[macro_use] @@ -70,6 +72,7 @@ pub use native_executor::{with_native_environment, NativeExecutor, NativeExecuti pub use state_machine::Externalities; pub use runtime_version::RuntimeVersion; pub use codec::Codec; +use primitives::BlakeHasher; /// Provides runtime information. pub trait RuntimeInfo { @@ -77,7 +80,7 @@ pub trait RuntimeInfo { const NATIVE_VERSION: Option; /// Extract RuntimeVersion of given :code block - fn runtime_version ( + fn runtime_version> ( &self, ext: &mut E, code: &[u8] diff --git a/substrate/executor/src/native_executor.rs b/substrate/executor/src/native_executor.rs index 0b132ae9ab1fa..320fdb05c2f9c 100644 --- a/substrate/executor/src/native_executor.rs +++ b/substrate/executor/src/native_executor.rs @@ -25,6 +25,8 @@ use twox_hash::XxHash; use std::hash::Hasher; use parking_lot::{Mutex, MutexGuard}; use RuntimeInfo; +use hashdb; +use primitives::BlakeHasher; // For the internal Runtime Cache: // Is it compatible enough to run this natively or do we need to fall back on the WasmModule @@ -56,7 +58,7 @@ fn gen_cache_key(code: &[u8]) -> u64 { /// fetch a runtime version from the cache or if there is no cached version yet, create /// the runtime version entry for `code`, determines whether `Compatibility::IsCompatible` /// can be used by by comparing returned RuntimeVersion to `ref_version` -fn fetch_cached_runtime_version<'a, E: Externalities>( +fn fetch_cached_runtime_version<'a, E: Externalities>( wasm_executor: &WasmExecutor, cache: &'a mut MutexGuard, ext: &mut E, @@ -94,8 +96,8 @@ fn safe_call(f: F) -> Result /// Set up the externalities and safe calling environment to execute calls to a native runtime. /// /// If the inner closure panics, it will be caught and return an error. -pub fn with_native_environment(ext: &mut Externalities, f: F) -> Result - where F: ::std::panic::UnwindSafe + FnOnce() -> U +pub fn with_native_environment(ext: &mut Externalities, f: F) -> Result +where F: ::std::panic::UnwindSafe + FnOnce() -> U { ::runtime_io::with_externalities(ext, move || safe_call(f)) } @@ -107,7 +109,7 @@ pub trait NativeExecutionDispatch: Send + Sync { /// Dispatch a method and input data to be executed natively. Returns `Some` result or `None` /// if the `method` is unknown. Panics if there's an unrecoverable error. - fn dispatch(ext: &mut Externalities, method: &str, data: &[u8]) -> Result>; + fn dispatch(ext: &mut Externalities, method: &str, data: &[u8]) -> Result>; /// Get native runtime version. const VERSION: RuntimeVersion; @@ -150,7 +152,7 @@ impl Clone for NativeExecutor { impl RuntimeInfo for NativeExecutor { const NATIVE_VERSION: Option = Some(D::VERSION); - fn runtime_version( + fn runtime_version>( &self, ext: &mut E, code: &[u8], @@ -163,10 +165,10 @@ impl RuntimeInfo for NativeExecutor { } } -impl CodeExecutor for NativeExecutor { +impl CodeExecutor for NativeExecutor { type Error = Error; - fn call( + fn call>( &self, ext: &mut E, code: &[u8], diff --git a/substrate/executor/src/wasm_executor.rs b/substrate/executor/src/wasm_executor.rs index 70571f480096c..a67dc4c0981bd 100644 --- a/substrate/executor/src/wasm_executor.rs +++ b/substrate/executor/src/wasm_executor.rs @@ -18,6 +18,7 @@ use std::cmp::Ordering; use std::collections::HashMap; + use wasmi::{ Module, ModuleInstance, MemoryInstance, MemoryRef, TableRef, ImportsBuilder }; @@ -29,9 +30,11 @@ use wasm_utils::UserError; use primitives::{blake2_256, twox_128, twox_256}; use primitives::hexdisplay::HexDisplay; use primitives::sandbox as sandbox_primitives; +use primitives::BlakeHasher; use triehash::ordered_trie_root; use sandbox; + struct Heap { end: u32, } @@ -71,7 +74,7 @@ macro_rules! debug_trace { ( $( $x:tt )* ) => () } -struct FunctionExecutor<'e, E: Externalities + 'e> { +struct FunctionExecutor<'e, E: Externalities + 'e> { sandbox_store: sandbox::Store, heap: Heap, memory: MemoryRef, @@ -80,7 +83,7 @@ struct FunctionExecutor<'e, E: Externalities + 'e> { hash_lookup: HashMap, Vec>, } -impl<'e, E: Externalities> FunctionExecutor<'e, E> { +impl<'e, E: Externalities> FunctionExecutor<'e, E> { fn new(m: MemoryRef, heap_pages: usize, t: Option, e: &'e mut E) -> Result { Ok(FunctionExecutor { sandbox_store: sandbox::Store::new(), @@ -93,7 +96,7 @@ impl<'e, E: Externalities> FunctionExecutor<'e, E> { } } -impl<'e, E: Externalities> sandbox::SandboxCapabilities for FunctionExecutor<'e, E> { +impl<'e, E: Externalities> sandbox::SandboxCapabilities for FunctionExecutor<'e, E> { fn store(&self) -> &sandbox::Store { &self.sandbox_store } @@ -138,6 +141,7 @@ impl ReadPrimitive for MemoryInstance { } } +// REVIEW: this macro does not support `where` clauses and that seems somewhat tricky to add impl_function_executor!(this: FunctionExecutor<'e, E>, ext_print_utf8(utf8_data: *const u8, utf8_len: u32) => { if let Ok(utf8) = this.memory.get(utf8_data, utf8_len as usize) { @@ -207,7 +211,7 @@ impl_function_executor!(this: FunctionExecutor<'e, E>, }, ext_clear_storage(key_data: *const u8, key_len: u32) => { let key = this.memory.get(key_data, key_len as usize).map_err(|_| UserError("Invalid attempt to determine key in ext_clear_storage"))?; - debug_trace!(target: "wasm-trace", "*** Clearing storage: {} [k={}]", + debug_trace!(target: "wasm-trace", "*** Clearing storage: {} [k={}]", if let Some(_preimage) = this.hash_lookup.get(&key) { format!("%{}", ::primitives::hexdisplay::ascii_format(&_preimage)) } else { @@ -230,7 +234,7 @@ impl_function_executor!(this: FunctionExecutor<'e, E>, let key = this.memory.get(key_data, key_len as usize).map_err(|_| UserError("Invalid attempt to determine key in ext_get_allocated_storage"))?; let maybe_value = this.ext.storage(&key); - debug_trace!(target: "wasm-trace", "*** Getting storage: {} == {} [k={}]", + debug_trace!(target: "wasm-trace", "*** Getting storage: {} == {} [k={}]", if let Some(_preimage) = this.hash_lookup.get(&key) { format!("%{}", ::primitives::hexdisplay::ascii_format(&_preimage)) } else { @@ -260,7 +264,7 @@ impl_function_executor!(this: FunctionExecutor<'e, E>, ext_get_storage_into(key_data: *const u8, key_len: u32, value_data: *mut u8, value_len: u32, value_offset: u32) -> u32 => { let key = this.memory.get(key_data, key_len as usize).map_err(|_| UserError("Invalid attempt to get key in ext_get_storage_into"))?; let maybe_value = this.ext.storage(&key); - debug_trace!(target: "wasm-trace", "*** Getting storage: {} == {} [k={}]", + debug_trace!(target: "wasm-trace", "*** Getting storage: {} == {} [k={}]", if let Some(_preimage) = this.hash_lookup.get(&key) { format!("%{}", ::primitives::hexdisplay::ascii_format(&_preimage)) } else { @@ -285,7 +289,7 @@ impl_function_executor!(this: FunctionExecutor<'e, E>, }, ext_storage_root(result: *mut u8) => { let r = this.ext.storage_root(); - this.memory.set(result, &r[..]).map_err(|_| UserError("Invalid attempt to set memory in ext_storage_root"))?; + this.memory.set(result, r.as_ref()).map_err(|_| UserError("Invalid attempt to set memory in ext_storage_root"))?; Ok(()) }, ext_enumerated_trie_root(values_data: *const u8, lens_data: *const u32, lens_len: u32, result: *mut u8) => { @@ -476,7 +480,7 @@ impl_function_executor!(this: FunctionExecutor<'e, E>, this.sandbox_store.memory_teardown(memory_idx)?; Ok(()) }, - => <'e, E: Externalities + 'e> + => <'e, E: Externalities + 'e> ); /// Wasm rust executor for contracts. @@ -508,7 +512,7 @@ impl WasmExecutor { /// Call a given method in the given code. /// This should be used for tests only. - pub fn call( + pub fn call>( &self, ext: &mut E, code: &[u8], @@ -520,7 +524,7 @@ impl WasmExecutor { } /// Call a given method in the given wasm-module runtime. - pub fn call_in_wasm_module( + pub fn call_in_wasm_module>( &self, ext: &mut E, module: &Module, @@ -633,7 +637,7 @@ mod tests { assert_eq!(output, b"all ok!".to_vec()); - let expected: HashMap<_, _> = map![ + let expected : TestExternalities<_> = map![ b"input".to_vec() => b"Hello world".to_vec(), b"foo".to_vec() => b"bar".to_vec(), b"baz".to_vec() => b"bar".to_vec() @@ -656,7 +660,7 @@ mod tests { assert_eq!(output, b"all ok!".to_vec()); - let expected: HashMap<_, _> = map![ + let expected: TestExternalities<_> = map![ b"aaa".to_vec() => b"1".to_vec(), b"aab".to_vec() => b"2".to_vec(), b"bbb".to_vec() => b"5".to_vec() From f3422c5c5088d9b25bce861c898e045d8a97cf0d Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 08:41:53 +0200 Subject: [PATCH 35/86] ws --- substrate/state-machine/src/ext.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/substrate/state-machine/src/ext.rs b/substrate/state-machine/src/ext.rs index 0584bc41e6139..43129e989474f 100644 --- a/substrate/state-machine/src/ext.rs +++ b/substrate/state-machine/src/ext.rs @@ -57,7 +57,7 @@ pub struct Ext<'a, H, C, B> where H: Hasher, C: NodeCodec, - B: 'a + Backend, + B: 'a + Backend, { // The overlayed changes to write to. overlay: &'a mut OverlayedChanges, From aa40b7832ecbd9b241c0243d578bae9e90e1d7cb Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 08:42:06 +0200 Subject: [PATCH 36/86] WIP make client generic --- Cargo.lock | 4 +- substrate/client/Cargo.toml | 3 ++ substrate/client/db/Cargo.toml | 2 +- substrate/client/src/backend.rs | 38 ++++++++++--- substrate/client/src/block_builder.rs | 22 +++++--- substrate/client/src/call_executor.rs | 35 ++++++++---- substrate/client/src/client.rs | 59 ++++++++++++++------- substrate/client/src/in_mem.rs | 51 ++++++++++++------ substrate/client/src/lib.rs | 3 ++ substrate/client/src/light/backend.rs | 44 ++++++++++++--- substrate/client/src/light/call_executor.rs | 45 ++++++++++------ substrate/client/src/light/fetcher.rs | 8 ++- substrate/client/src/light/mod.rs | 6 ++- 13 files changed, 232 insertions(+), 88 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0be3bc4921f7e..56da12da92605 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2658,9 +2658,12 @@ dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-bft 0.1.0", "substrate-codec 0.1.0", @@ -2680,7 +2683,6 @@ dependencies = [ name = "substrate-client-db" version = "0.1.0" dependencies = [ - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)", "kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common)", diff --git a/substrate/client/Cargo.toml b/substrate/client/Cargo.toml index 5b347395763b7..4a770be49240b 100644 --- a/substrate/client/Cargo.toml +++ b/substrate/client/Cargo.toml @@ -23,6 +23,9 @@ substrate-runtime-primitives = { path = "../runtime/primitives" } substrate-state-machine = { path = "../state-machine" } substrate-keyring = { path = "../../substrate/keyring" } substrate-telemetry = { path = "../telemetry" } +hashdb = { git = "https://github.com/paritytech/parity-common" } +patricia-trie = { git = "https://github.com/paritytech/parity-common" } +rlp = { git = "https://github.com/paritytech/parity-common" } [dev-dependencies] substrate-test-client = { path = "../test-client" } diff --git a/substrate/client/db/Cargo.toml b/substrate/client/db/Cargo.toml index 9f139e3720d5c..385b007ec7afc 100644 --- a/substrate/client/db/Cargo.toml +++ b/substrate/client/db/Cargo.toml @@ -8,7 +8,7 @@ parking_lot = "0.4" log = "0.3" kvdb = { git = "https://github.com/paritytech/parity-common" } kvdb-rocksdb = { git = "https://github.com/paritytech/parity-common" } -ethereum-types = "0.3" +# ethereum-types = "0.3" hashdb = { git = "https://github.com/paritytech/parity-common" } patricia-trie = { git = "https://github.com/paritytech/parity-common" } memorydb = { git = "https://github.com/paritytech/parity-common" } diff --git a/substrate/client/src/backend.rs b/substrate/client/src/backend.rs index 8de27a39b4645..4509f3d19019a 100644 --- a/substrate/client/src/backend.rs +++ b/substrate/client/src/backend.rs @@ -22,11 +22,18 @@ use runtime_primitives::bft::Justification; use runtime_primitives::generic::BlockId; use runtime_primitives::traits::{Block as BlockT, NumberFor}; use state_machine::backend::Backend as StateBackend; +use patricia_trie::NodeCodec; +use hashdb::Hasher; /// Block insertion operation. Keeps hold if the inserted block state and data. -pub trait BlockImportOperation { +pub trait BlockImportOperation +where + Block: BlockT, + H: Hasher, + C: NodeCodec, +{ /// Associated state backend type. - type State: StateBackend; + type State: StateBackend; /// Returns pending state. Returns None for backends with locally-unavailable state data. fn state(&self) -> error::Result>; @@ -43,7 +50,7 @@ pub trait BlockImportOperation { /// has been used to check justification of this block). fn update_authorities(&mut self, authorities: Vec); /// Inject storage data into the database. - fn update_storage(&mut self, update: ::Transaction) -> error::Result<()>; + fn update_storage(&mut self, update: >::Transaction) -> error::Result<()>; /// Inject storage data into the database replacing any existing data. fn reset_storage, Vec)>>(&mut self, iter: I) -> error::Result<()>; } @@ -56,13 +63,18 @@ pub trait BlockImportOperation { /// /// The same applies for live `BlockImportOperation`s: while an import operation building on a parent `P` /// is alive, the state for `P` should not be pruned. -pub trait Backend: Send + Sync { +pub trait Backend: Send + Sync +where + Block: BlockT, + H: Hasher, + C: NodeCodec, +{ /// Associated block insertion operation type. - type BlockImportOperation: BlockImportOperation; + type BlockImportOperation: BlockImportOperation; /// Associated blockchain backend type. type Blockchain: ::blockchain::Backend; /// Associated state backend type. - type State: StateBackend; + type State: StateBackend; /// Begin a new block insertion transaction with given parent block id. /// When constructing the genesis, this is called with all-zero hash. @@ -79,7 +91,17 @@ pub trait Backend: Send + Sync { } /// Mark for all Backend implementations, that are making use of state data, stored locally. -pub trait LocalBackend: Backend {} +pub trait LocalBackend: Backend +where + Block: BlockT, + H: Hasher, + C: NodeCodec, +{} /// Mark for all Backend implementations, that are fetching required state data from remote nodes. -pub trait RemoteBackend: Backend {} +pub trait RemoteBackend: Backend +where + Block: BlockT, + H: Hasher, + C: NodeCodec, +{} diff --git a/substrate/client/src/block_builder.rs b/substrate/client/src/block_builder.rs index bc5c29a37f86d..ce7a6e3898b60 100644 --- a/substrate/client/src/block_builder.rs +++ b/substrate/client/src/block_builder.rs @@ -23,12 +23,18 @@ use runtime_primitives::traits::{Header as HeaderT, Hash, Block as BlockT, One, use runtime_primitives::generic::BlockId; use {backend, error, Client, CallExecutor}; use runtime_primitives::{ApplyResult, ApplyOutcome}; +use patricia_trie::NodeCodec; +use hashdb::Hasher; +use rlp::Encodable; /// Utility for building new (valid) blocks from a stream of extrinsics. -pub struct BlockBuilder where - B: backend::Backend, - E: CallExecutor + Clone, +pub struct BlockBuilder +where + B: backend::Backend, + E: CallExecutor + Clone, Block: BlockT, + H: Hasher, + C: NodeCodec, { header: ::Header, extrinsics: Vec<::Extrinsic>, @@ -37,10 +43,14 @@ pub struct BlockBuilder where changes: state_machine::OverlayedChanges, } -impl BlockBuilder where - B: backend::Backend, - E: CallExecutor + Clone, +impl BlockBuilder +where + B: backend::Backend, + E: CallExecutor + Clone, Block: BlockT, + H: Hasher, + H::Out: Encodable + Ord, + C: NodeCodec, { /// Create a new instance of builder from the given client, building on the latest block. pub fn new(client: &Client) -> error::Result { diff --git a/substrate/client/src/call_executor.rs b/substrate/client/src/call_executor.rs index ac561b5a549a3..97f92c3a05270 100644 --- a/substrate/client/src/call_executor.rs +++ b/substrate/client/src/call_executor.rs @@ -15,12 +15,16 @@ // along with Polkadot. If not, see . use std::sync::Arc; +use std::cmp::Ord; use runtime_primitives::generic::BlockId; use runtime_primitives::traits::Block as BlockT; -use state_machine::{self, OverlayedChanges, Ext, +use state_machine::{self, OverlayedChanges, Ext, CodeExecutor, ExecutionManager, native_when_possible}; use runtime_io::Externalities; use executor::{RuntimeVersion, RuntimeInfo}; +use patricia_trie::NodeCodec; +use hashdb::Hasher; +use rlp::Encodable; use backend; use error; @@ -35,7 +39,13 @@ pub struct CallResult { } /// Method call executor. -pub trait CallExecutor { +pub trait CallExecutor +where + B: BlockT, + H: Hasher, + H::Out: Ord + Encodable, + C: NodeCodec, +{ /// Externalities error type. type Error: state_machine::Error; @@ -57,7 +67,7 @@ pub trait CallExecutor { /// /// No changes are made. fn call_at_state< - S: state_machine::Backend, + S: state_machine::Backend, F: FnOnce(Result, Self::Error>, Result, Self::Error>) -> Result, Self::Error>, >(&self, state: &S, @@ -70,7 +80,7 @@ pub trait CallExecutor { /// Execute a call to a contract on top of given state, gathering execution proof. /// /// No changes are made. - fn prove_at_state(&self, + fn prove_at_state>(&self, state: S, overlay: &mut OverlayedChanges, method: &str, @@ -104,11 +114,14 @@ impl Clone for LocalCallExecutor where E: Clone { } } -impl CallExecutor for LocalCallExecutor - where - B: backend::LocalBackend, - E: CodeExecutor + RuntimeInfo, - Block: BlockT, +impl CallExecutor for LocalCallExecutor +where + B: backend::LocalBackend, + E: CodeExecutor + RuntimeInfo, + Block: BlockT, + H: Hasher, + H::Out: Encodable + Ord, + C: NodeCodec, { type Error = E::Error; @@ -140,7 +153,7 @@ impl CallExecutor for LocalCallExecutor } fn call_at_state< - S: state_machine::Backend, + S: state_machine::Backend, F: FnOnce(Result, Self::Error>, Result, Self::Error>) -> Result, Self::Error>, >(&self, state: &S, @@ -159,7 +172,7 @@ impl CallExecutor for LocalCallExecutor ).map_err(Into::into) } - fn prove_at_state(&self, + fn prove_at_state>(&self, state: S, changes: &mut OverlayedChanges, method: &str, diff --git a/substrate/client/src/client.rs b/substrate/client/src/client.rs index bd7f3c5581a2e..8a82f1edacce8 100644 --- a/substrate/client/src/client.rs +++ b/substrate/client/src/client.rs @@ -17,6 +17,7 @@ //! Substrate Client use std::sync::Arc; +use std::cmp::Ord; use futures::sync::mpsc; use parking_lot::{Mutex, RwLock}; use primitives::AuthorityId; @@ -33,6 +34,9 @@ use call_executor::{CallExecutor, LocalCallExecutor}; use executor::{RuntimeVersion, RuntimeInfo}; use notifications::{StorageNotifications, StorageEventStream}; use {error, in_mem, block_builder, runtime_io, bft, genesis}; +use patricia_trie::NodeCodec; +use hashdb::Hasher; +use rlp::Encodable; /// Type that implements `futures::Stream` of block import events. pub type BlockchainEventStream = mpsc::UnboundedReceiver>; @@ -151,24 +155,30 @@ impl JustifiedHeader { } /// Create an instance of in-memory client. -pub fn new_in_mem( +pub fn new_in_mem( executor: E, genesis_storage: S, -) -> error::Result, LocalCallExecutor, E>, Block>> +) -> error::Result, LocalCallExecutor, E>, Block>> where - E: CodeExecutor + RuntimeInfo, + E: CodeExecutor + RuntimeInfo, S: BuildStorage, Block: BlockT, + H: Hasher, + H::Out: Encodable + Ord, + C: NodeCodec + Send + Sync, { let backend = Arc::new(in_mem::Backend::new()); let executor = LocalCallExecutor::new(backend.clone(), executor); Client::new(backend, executor, genesis_storage, ExecutionStrategy::NativeWhenPossible) } -impl Client where - B: backend::Backend, - E: CallExecutor, +impl Client where + B: backend::Backend, + E: CallExecutor, Block: BlockT, + H: Hasher, + H::Out: Encodable + Ord, + C: NodeCodec, { /// Creates new Substrate Client with given blockchain and code executor. pub fn new( @@ -267,12 +277,12 @@ impl Client where } /// Create a new block, built on the head of the chain. - pub fn new_block(&self) -> error::Result> where E: Clone { + pub fn new_block(&self) -> error::Result> where E: Clone { block_builder::BlockBuilder::new(self) } /// Create a new block, built on top of `parent`. - pub fn new_block_at(&self, parent: &BlockId) -> error::Result> where E: Clone { + pub fn new_block_at(&self, parent: &BlockId) -> error::Result> where E: Clone { block_builder::BlockBuilder::at_block(parent, &self) } @@ -485,11 +495,14 @@ impl Client where } } -impl bft::BlockImport for Client +impl bft::BlockImport for Client where - B: backend::Backend, - E: CallExecutor, + B: backend::Backend, + E: CallExecutor, Block: BlockT, + H: Hasher, + H::Out: Encodable + Ord, + C: NodeCodec, { fn import_block( &self, @@ -508,11 +521,14 @@ impl bft::BlockImport for Client } } -impl bft::Authorities for Client +impl bft::Authorities for Client where - B: backend::Backend, - E: CallExecutor, + B: backend::Backend, + E: CallExecutor, Block: BlockT, + H: Hasher, + H::Out: Encodable + Ord, + C: NodeCodec, { fn authorities(&self, at: &BlockId) -> Result, bft::Error> { let on_chain_version: Result<_, bft::Error> = self.runtime_version_at(at) @@ -531,10 +547,12 @@ impl bft::Authorities for Client } } -impl BlockchainEvents for Client +impl BlockchainEvents for Client where - E: CallExecutor, + E: CallExecutor, Block: BlockT, + H: Hasher, + C: NodeCodec, { /// Get block import event stream. fn import_notification_stream(&self) -> BlockchainEventStream { @@ -549,11 +567,14 @@ impl BlockchainEvents for Client } } -impl ChainHead for Client +impl ChainHead for Client where - B: backend::Backend, - E: CallExecutor, + B: backend::Backend, + E: CallExecutor, Block: BlockT, + H: Hasher, + H::Out: Encodable + Ord, + C: NodeCodec, { fn best_block_header(&self) -> error::Result<::Header> { Client::best_block_header(self) diff --git a/substrate/client/src/in_mem.rs b/substrate/client/src/in_mem.rs index a12323610a723..7e313336aac14 100644 --- a/substrate/client/src/in_mem.rs +++ b/substrate/client/src/in_mem.rs @@ -28,6 +28,8 @@ use runtime_primitives::traits::{Block as BlockT, Header as HeaderT, Zero, Numbe use runtime_primitives::bft::Justification; use blockchain::{self, BlockStatus}; use state_machine::backend::{Backend as StateBackend, InMemory}; +use patricia_trie::NodeCodec; +use hashdb::Hasher; struct PendingBlock { block: StoredBlock, @@ -248,15 +250,20 @@ impl light::blockchain::Storage for Blockchain { } /// In-memory operation. -pub struct BlockImportOperation { +pub struct BlockImportOperation> { pending_block: Option>, pending_authorities: Option>, - old_state: InMemory, - new_state: Option, + old_state: InMemory, + new_state: Option>, } -impl backend::BlockImportOperation for BlockImportOperation { - type State = InMemory; +impl backend::BlockImportOperation for BlockImportOperation +where + Block: BlockT, + H: Hasher, + C: NodeCodec, +{ + type State = InMemory; fn state(&self) -> error::Result> { Ok(Some(&self.old_state)) @@ -281,7 +288,7 @@ impl backend::BlockImportOperation for BlockImportOperatio self.pending_authorities = Some(authorities); } - fn update_storage(&mut self, update: ::Transaction) -> error::Result<()> { + fn update_storage(&mut self, update: as StateBackend>::Transaction) -> error::Result<()> { self.new_state = Some(self.old_state.update(update)); Ok(()) } @@ -293,18 +300,24 @@ impl backend::BlockImportOperation for BlockImportOperatio } /// In-memory backend. Keeps all states and blocks in memory. Useful for testing. -pub struct Backend where +pub struct Backend +where Block: BlockT, + H: Hasher, + C: NodeCodec { - states: RwLock>, + states: RwLock>>, blockchain: Blockchain, } -impl Backend where +impl Backend +where Block: BlockT, + H: Hasher, + C: NodeCodec { /// Create a new instance of in-mem backend. - pub fn new() -> Backend { + pub fn new() -> Backend { Backend { states: RwLock::new(HashMap::new()), blockchain: Blockchain::new(), @@ -312,12 +325,15 @@ impl Backend where } } -impl backend::Backend for Backend where +impl backend::Backend for Backend +where Block: BlockT, + H: Hasher, + C: NodeCodec + Send + Sync { - type BlockImportOperation = BlockImportOperation; + type BlockImportOperation = BlockImportOperation; type Blockchain = Blockchain; - type State = InMemory; + type State = InMemory; fn begin_operation(&self, block: BlockId) -> error::Result { let state = match block { @@ -340,7 +356,7 @@ impl backend::Backend for Backend where let hash = header.hash(); let parent_hash = *header.parent_hash(); - self.states.write().insert(hash, operation.new_state.unwrap_or_else(|| old_state.clone())); + self.states.write().insert(hash, operation.new_state.unwrap_or_else(|| *old_state.clone())); // REVIEW: this was `.unwrap_or_else(|| old_state.clone())` – but ther compiler complained about trying to insert a rference into the hash map. Not sure how that could have worked before? self.blockchain.insert(hash, header, justification, body, pending_block.is_best); // dumb implementation - store value for each block if pending_block.is_best { @@ -366,7 +382,12 @@ impl backend::Backend for Backend where } } -impl backend::LocalBackend for Backend {} +impl backend::LocalBackend for Backend +where + Block: BlockT, + H: Hasher, + C: NodeCodec, +{} impl Cache { fn insert(&self, at: Block::Hash, authorities: Option>) { diff --git a/substrate/client/src/lib.rs b/substrate/client/src/lib.rs index 8a4a143914a96..1226ad0983d1c 100644 --- a/substrate/client/src/lib.rs +++ b/substrate/client/src/lib.rs @@ -36,6 +36,9 @@ extern crate fnv; extern crate futures; extern crate parking_lot; extern crate triehash; +extern crate patricia_trie; +extern crate hashdb; +extern crate rlp; #[macro_use] extern crate error_chain; #[macro_use] extern crate log; diff --git a/substrate/client/src/light/backend.rs b/substrate/client/src/light/backend.rs index e3b8b42c89c5f..5507c5675a26f 100644 --- a/substrate/client/src/light/backend.rs +++ b/substrate/client/src/light/backend.rs @@ -30,6 +30,9 @@ use blockchain::HeaderBackend as BlockchainHeaderBackend; use error::{Error as ClientError, ErrorKind as ClientErrorKind, Result as ClientResult}; use light::blockchain::{Blockchain, Storage as BlockchainStorage}; use light::fetcher::Fetcher; +use patricia_trie::NodeCodec; +use hashdb::Hasher; +use rlp::Encodable; /// Light client backend. pub struct Backend { @@ -62,10 +65,12 @@ impl Backend { } } -impl ClientBackend for Backend where +impl ClientBackend for Backend where Block: BlockT, S: BlockchainStorage, F: Fetcher, + H: Hasher, + C: NodeCodec, { type BlockImportOperation = ImportOperation; type Blockchain = Blockchain; @@ -106,9 +111,22 @@ impl ClientBackend for Backend where } } -impl RemoteBackend for Backend where Block: BlockT, S: BlockchainStorage, F: Fetcher {} +impl RemoteBackend for Backend +where + Block: BlockT, + S: BlockchainStorage, + F: Fetcher, + H: Hasher, + C: NodeCodec, +{} -impl BlockImportOperation for ImportOperation where Block: BlockT, F: Fetcher { +impl BlockImportOperation for ImportOperation +where + Block: BlockT, + F: Fetcher, + H: Hasher, + C: NodeCodec, +{ type State = OnDemandState; fn state(&self) -> ClientResult> { @@ -132,7 +150,7 @@ impl BlockImportOperation for ImportOperation where B self.authorities = Some(authorities); } - fn update_storage(&mut self, _update: ::Transaction) -> ClientResult<()> { + fn update_storage(&mut self, _update: >::Transaction) -> ClientResult<()> { // we're not storing anything locally => ignore changes Ok(()) } @@ -152,7 +170,13 @@ impl Clone for OnDemandState { } } -impl StateBackend for OnDemandState where Block: BlockT, F: Fetcher { +impl StateBackend for OnDemandState +where + Block: BlockT, + F: Fetcher, + H: Hasher, + C: NodeCodec, +{ type Error = ClientError; type Transaction = (); @@ -175,8 +199,14 @@ impl StateBackend for OnDemandState where Block: BlockT, F: } } -impl TryIntoStateTrieBackend for OnDemandState where Block: BlockT, F: Fetcher { - fn try_into_trie_backend(self) -> Option { +impl TryIntoStateTrieBackend for OnDemandState +where + Block: BlockT, + F: Fetcher, + H: Hasher, + C: NodeCodec, +{ + fn try_into_trie_backend(self) -> Option> { None } } diff --git a/substrate/client/src/light/call_executor.rs b/substrate/client/src/light/call_executor.rs index da196b54b7f60..01454751f01cd 100644 --- a/substrate/client/src/light/call_executor.rs +++ b/substrate/client/src/light/call_executor.rs @@ -23,7 +23,11 @@ use futures::{IntoFuture, Future}; use runtime_primitives::generic::BlockId; use runtime_primitives::traits::{Block as BlockT, Header as HeaderT}; use state_machine::{Backend as StateBackend, CodeExecutor, OverlayedChanges, - execution_proof_check, TrieH256, ExecutionManager}; + execution_proof_check, ExecutionManager}; +use primitives::H256; +use patricia_trie::NodeCodec; +use hashdb::Hasher; +use rlp::Encodable; use blockchain::Backend as ChainBackend; use call_executor::{CallExecutor, CallResult}; @@ -46,11 +50,13 @@ impl RemoteCallExecutor { } } -impl CallExecutor for RemoteCallExecutor - where - Block: BlockT, - B: ChainBackend, - F: Fetcher, +impl CallExecutor for RemoteCallExecutor +where + Block: BlockT, + B: ChainBackend, + F: Fetcher, + H: Hasher, + C: NodeCodec, { type Error = ClientError; @@ -75,19 +81,19 @@ impl CallExecutor for RemoteCallExecutor } fn call_at_state< - S: StateBackend, - H: FnOnce(Result, Self::Error>, Result, Self::Error>) -> Result, Self::Error> + S: StateBackend, + F: FnOnce(Result, Self::Error>, Result, Self::Error>) -> Result, Self::Error> >(&self, _state: &S, _changes: &mut OverlayedChanges, _method: &str, _call_data: &[u8], - _m: ExecutionManager + _m: ExecutionManager ) -> ClientResult<(Vec, S::Transaction)> { Err(ClientErrorKind::NotAvailableOnLightClient.into()) } - fn prove_at_state(&self, _state: S, _changes: &mut OverlayedChanges, _method: &str, _call_data: &[u8]) -> ClientResult<(Vec, Vec>)> { + fn prove_at_state>(&self, _state: S, _changes: &mut OverlayedChanges, _method: &str, _call_data: &[u8]) -> ClientResult<(Vec, Vec>)> { Err(ClientErrorKind::NotAvailableOnLightClient.into()) } @@ -97,7 +103,7 @@ impl CallExecutor for RemoteCallExecutor } /// Check remote execution proof using given backend. -pub fn check_execution_proof( +pub fn check_execution_proof( blockchain: &B, executor: &E, request: &RemoteCallRequest, @@ -106,7 +112,9 @@ pub fn check_execution_proof( where Block: BlockT, B: ChainBackend, - E: CodeExecutor, + E: CodeExecutor, + H: Hasher, + H::Out: Encodable + Ord + From, { let local_header = blockchain.header(BlockId::Hash(request.block))?; let local_header = local_header.ok_or_else(|| ClientErrorKind::UnknownBlock(format!("{}", request.block)))?; @@ -115,7 +123,7 @@ pub fn check_execution_proof( } /// Check remote execution proof using given state root. -fn do_check_execution_proof( +fn do_check_execution_proof( local_state_root: Hash, executor: &E, request: &RemoteCallRequest, @@ -123,11 +131,16 @@ fn do_check_execution_proof( ) -> ClientResult where Hash: ::std::fmt::Display + ::std::convert::AsRef<[u8]>, - E: CodeExecutor, + E: CodeExecutor, + H: Hasher, + H::Out: Encodable + Ord + From, { let mut changes = OverlayedChanges::default(); let (local_result, _) = execution_proof_check( - TrieH256::from_slice(local_state_root.as_ref()).into(), + // TrieH256::from_slice(local_state_root.as_ref()).into(), + // H256::from_slice(local_state_root.as_ref()).into(), + // ::Out::from_slice(local_state_root.as_ref()), // TODO: H::Out doesn't know it's a H256 so it can't find the `from_slice` + H256::from_slice(local_state_root.as_ref()).into(), remote_proof, &mut changes, executor, @@ -153,7 +166,7 @@ mod tests { // 'fetch' execution proof from remote node let remote_execution_proof = remote_client.execution_proof(&remote_block_id, "authorities", &[]).unwrap().1; - + // check remote execution proof locally let local_executor = test_client::LocalExecutor::with_heap_pages(8); do_check_execution_proof(remote_block_storage_root.into(), &local_executor, &RemoteCallRequest { diff --git a/substrate/client/src/light/fetcher.rs b/substrate/client/src/light/fetcher.rs index 90622bf6fc008..8d07196e6a09e 100644 --- a/substrate/client/src/light/fetcher.rs +++ b/substrate/client/src/light/fetcher.rs @@ -26,6 +26,8 @@ use call_executor::CallResult; use error::{Error as ClientError, Result as ClientResult}; use light::blockchain::{Blockchain, Storage as BlockchainStorage}; use light::call_executor::check_execution_proof; +use hashdb::Hasher; +use rlp::Encodable; /// Remote call request. #[derive(Clone, Debug, PartialEq, Eq, Hash)] @@ -75,12 +77,14 @@ impl LightDataChecker { } } -impl FetchChecker for LightDataChecker +impl FetchChecker for LightDataChecker where Block: BlockT, S: BlockchainStorage, - E: CodeExecutor, + E: CodeExecutor, F: Fetcher, + H: Hasher, + H::Out: Encodable + Ord + From, { fn check_execution_proof(&self, request: &RemoteCallRequest, remote_proof: Vec>) -> ClientResult { check_execution_proof(&*self.blockchain, &self.executor, request, remote_proof) diff --git a/substrate/client/src/light/mod.rs b/substrate/client/src/light/mod.rs index 40b54cdd634ce..2e4b376095133 100644 --- a/substrate/client/src/light/mod.rs +++ b/substrate/client/src/light/mod.rs @@ -33,6 +33,7 @@ use light::backend::Backend; use light::blockchain::{Blockchain, Storage as BlockchainStorage}; use light::call_executor::RemoteCallExecutor; use light::fetcher::{Fetcher, LightDataChecker}; +use hashdb::Hasher; /// Create an instance of light client blockchain backend. pub fn new_light_blockchain, F>(storage: S) -> Arc> { @@ -62,14 +63,15 @@ pub fn new_light( } /// Create an instance of fetch data checker. -pub fn new_fetch_checker( +pub fn new_fetch_checker( blockchain: Arc>, executor: E, ) -> LightDataChecker where B: BlockT, S: BlockchainStorage, - E: CodeExecutor, + E: CodeExecutor, + H: Hasher { LightDataChecker::new(blockchain, executor) } From 54a2b6616bb7ed2698f3455d7bda5971f30b362b Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 10:00:43 +0200 Subject: [PATCH 37/86] typechecks --- substrate/client/src/block_builder.rs | 11 ++-- substrate/client/src/call_executor.rs | 14 ++-- substrate/client/src/client.rs | 72 ++++++++------------- substrate/client/src/in_mem.rs | 4 +- substrate/client/src/light/backend.rs | 12 ++-- substrate/client/src/light/call_executor.rs | 30 ++++----- substrate/client/src/light/fetcher.rs | 12 ++-- substrate/state-machine/src/backend.rs | 11 +++- 8 files changed, 77 insertions(+), 89 deletions(-) diff --git a/substrate/client/src/block_builder.rs b/substrate/client/src/block_builder.rs index ce7a6e3898b60..1eab11774c5b4 100644 --- a/substrate/client/src/block_builder.rs +++ b/substrate/client/src/block_builder.rs @@ -24,6 +24,7 @@ use runtime_primitives::generic::BlockId; use {backend, error, Client, CallExecutor}; use runtime_primitives::{ApplyResult, ApplyOutcome}; use patricia_trie::NodeCodec; +use primitives::{BlakeHasher, BlakeRlpCodec}; use hashdb::Hasher; use rlp::Encodable; @@ -34,6 +35,7 @@ where E: CallExecutor + Clone, Block: BlockT, H: Hasher, + H::Out: Encodable + Ord, C: NodeCodec, { header: ::Header, @@ -43,14 +45,11 @@ where changes: state_machine::OverlayedChanges, } -impl BlockBuilder +impl BlockBuilder where - B: backend::Backend, - E: CallExecutor + Clone, + B: backend::Backend, + E: CallExecutor + Clone, Block: BlockT, - H: Hasher, - H::Out: Encodable + Ord, - C: NodeCodec, { /// Create a new instance of builder from the given client, building on the latest block. pub fn new(client: &Client) -> error::Result { diff --git a/substrate/client/src/call_executor.rs b/substrate/client/src/call_executor.rs index 97f92c3a05270..dd27038407d81 100644 --- a/substrate/client/src/call_executor.rs +++ b/substrate/client/src/call_executor.rs @@ -23,6 +23,7 @@ use state_machine::{self, OverlayedChanges, Ext, use runtime_io::Externalities; use executor::{RuntimeVersion, RuntimeInfo}; use patricia_trie::NodeCodec; +use primitives::{BlakeHasher, BlakeRlpCodec}; use hashdb::Hasher; use rlp::Encodable; @@ -114,14 +115,11 @@ impl Clone for LocalCallExecutor where E: Clone { } } -impl CallExecutor for LocalCallExecutor +impl CallExecutor for LocalCallExecutor where - B: backend::LocalBackend, - E: CodeExecutor + RuntimeInfo, + B: backend::LocalBackend, + E: CodeExecutor + RuntimeInfo, Block: BlockT, - H: Hasher, - H::Out: Encodable + Ord, - C: NodeCodec, { type Error = E::Error; @@ -153,7 +151,7 @@ where } fn call_at_state< - S: state_machine::Backend, + S: state_machine::Backend, F: FnOnce(Result, Self::Error>, Result, Self::Error>) -> Result, Self::Error>, >(&self, state: &S, @@ -172,7 +170,7 @@ where ).map_err(Into::into) } - fn prove_at_state>(&self, + fn prove_at_state>(&self, state: S, changes: &mut OverlayedChanges, method: &str, diff --git a/substrate/client/src/client.rs b/substrate/client/src/client.rs index 8a82f1edacce8..f4aa9e3e80323 100644 --- a/substrate/client/src/client.rs +++ b/substrate/client/src/client.rs @@ -17,13 +17,13 @@ //! Substrate Client use std::sync::Arc; -use std::cmp::Ord; use futures::sync::mpsc; use parking_lot::{Mutex, RwLock}; use primitives::AuthorityId; use runtime_primitives::{bft::Justification, generic::{BlockId, SignedBlock, Block as RuntimeBlock}}; use runtime_primitives::traits::{Block as BlockT, Header as HeaderT, Zero, One, As, NumberFor}; use runtime_primitives::BuildStorage; +use primitives::{BlakeHasher, BlakeRlpCodec}; use primitives::storage::{StorageKey, StorageData}; use codec::Decode; use state_machine::{Ext, OverlayedChanges, Backend as StateBackend, CodeExecutor, ExecutionStrategy, ExecutionManager}; @@ -34,9 +34,6 @@ use call_executor::{CallExecutor, LocalCallExecutor}; use executor::{RuntimeVersion, RuntimeInfo}; use notifications::{StorageNotifications, StorageEventStream}; use {error, in_mem, block_builder, runtime_io, bft, genesis}; -use patricia_trie::NodeCodec; -use hashdb::Hasher; -use rlp::Encodable; /// Type that implements `futures::Stream` of block import events. pub type BlockchainEventStream = mpsc::UnboundedReceiver>; @@ -155,30 +152,24 @@ impl JustifiedHeader { } /// Create an instance of in-memory client. -pub fn new_in_mem( +pub fn new_in_mem( executor: E, genesis_storage: S, -) -> error::Result, LocalCallExecutor, E>, Block>> +) -> error::Result, LocalCallExecutor, E>, Block>> where - E: CodeExecutor + RuntimeInfo, + E: CodeExecutor + RuntimeInfo, S: BuildStorage, Block: BlockT, - H: Hasher, - H::Out: Encodable + Ord, - C: NodeCodec + Send + Sync, { let backend = Arc::new(in_mem::Backend::new()); let executor = LocalCallExecutor::new(backend.clone(), executor); Client::new(backend, executor, genesis_storage, ExecutionStrategy::NativeWhenPossible) } -impl Client where - B: backend::Backend, - E: CallExecutor, +impl Client where + B: backend::Backend, + E: CallExecutor, Block: BlockT, - H: Hasher, - H::Out: Encodable + Ord, - C: NodeCodec, { /// Creates new Substrate Client with given blockchain and code executor. pub fn new( @@ -277,12 +268,16 @@ impl Client where } /// Create a new block, built on the head of the chain. - pub fn new_block(&self) -> error::Result> where E: Clone { + pub fn new_block(&self) -> error::Result> + where E: Clone + { block_builder::BlockBuilder::new(self) } /// Create a new block, built on top of `parent`. - pub fn new_block_at(&self, parent: &BlockId) -> error::Result> where E: Clone { + pub fn new_block_at(&self, parent: &BlockId) -> error::Result> + where E: Clone + { block_builder::BlockBuilder::at_block(parent, &self) } @@ -495,14 +490,11 @@ impl Client where } } -impl bft::BlockImport for Client +impl bft::BlockImport for Client where - B: backend::Backend, - E: CallExecutor, + B: backend::Backend, + E: CallExecutor, Block: BlockT, - H: Hasher, - H::Out: Encodable + Ord, - C: NodeCodec, { fn import_block( &self, @@ -521,14 +513,11 @@ impl bft::BlockImport for Client } } -impl bft::Authorities for Client +impl bft::Authorities for Client where - B: backend::Backend, - E: CallExecutor, + B: backend::Backend, + E: CallExecutor, Block: BlockT, - H: Hasher, - H::Out: Encodable + Ord, - C: NodeCodec, { fn authorities(&self, at: &BlockId) -> Result, bft::Error> { let on_chain_version: Result<_, bft::Error> = self.runtime_version_at(at) @@ -547,12 +536,10 @@ impl bft::Authorities for Client } } -impl BlockchainEvents for Client - where - E: CallExecutor, - Block: BlockT, - H: Hasher, - C: NodeCodec, +impl BlockchainEvents for Client +where + E: CallExecutor, + Block: BlockT, { /// Get block import event stream. fn import_notification_stream(&self) -> BlockchainEventStream { @@ -567,14 +554,11 @@ impl BlockchainEvents for Client } } -impl ChainHead for Client - where - B: backend::Backend, - E: CallExecutor, - Block: BlockT, - H: Hasher, - H::Out: Encodable + Ord, - C: NodeCodec, +impl ChainHead for Client +where + B: backend::Backend, + E: CallExecutor, + Block: BlockT, { fn best_block_header(&self) -> error::Result<::Header> { Client::best_block_header(self) diff --git a/substrate/client/src/in_mem.rs b/substrate/client/src/in_mem.rs index 7e313336aac14..46006c604921d 100644 --- a/substrate/client/src/in_mem.rs +++ b/substrate/client/src/in_mem.rs @@ -356,7 +356,7 @@ where let hash = header.hash(); let parent_hash = *header.parent_hash(); - self.states.write().insert(hash, operation.new_state.unwrap_or_else(|| *old_state.clone())); // REVIEW: this was `.unwrap_or_else(|| old_state.clone())` – but ther compiler complained about trying to insert a rference into the hash map. Not sure how that could have worked before? + self.states.write().insert(hash, operation.new_state.unwrap_or_else(|| old_state.clone())); // REVIEW: this was `.unwrap_or_else(|| old_state.clone())` – but ther compiler complained about trying to insert a rference into the hash map. Not sure how that could have worked before? self.blockchain.insert(hash, header, justification, body, pending_block.is_best); // dumb implementation - store value for each block if pending_block.is_best { @@ -386,7 +386,7 @@ impl backend::LocalBackend for Backend where Block: BlockT, H: Hasher, - C: NodeCodec, + C: NodeCodec + Send + Sync, {} impl Cache { diff --git a/substrate/client/src/light/backend.rs b/substrate/client/src/light/backend.rs index 5507c5675a26f..237be9046de45 100644 --- a/substrate/client/src/light/backend.rs +++ b/substrate/client/src/light/backend.rs @@ -22,8 +22,11 @@ use std::sync::{Arc, Weak}; use primitives::AuthorityId; use runtime_primitives::{bft::Justification, generic::BlockId}; use runtime_primitives::traits::{Block as BlockT, NumberFor}; -use state_machine::{Backend as StateBackend, TrieBackend as StateTrieBackend, - TryIntoTrieBackend as TryIntoStateTrieBackend}; +use state_machine::{ + Backend as StateBackend, + TrieBackend as StateTrieBackend, + TryIntoTrieBackend as TryIntoStateTrieBackend +}; use backend::{Backend as ClientBackend, BlockImportOperation, RemoteBackend}; use blockchain::HeaderBackend as BlockchainHeaderBackend; @@ -32,7 +35,6 @@ use light::blockchain::{Blockchain, Storage as BlockchainStorage}; use light::fetcher::Fetcher; use patricia_trie::NodeCodec; use hashdb::Hasher; -use rlp::Encodable; /// Light client backend. pub struct Backend { @@ -188,9 +190,9 @@ where // whole state is not available on light node } - fn storage_root(&self, _delta: I) -> ([u8; 32], Self::Transaction) + fn storage_root(&self, _delta: I) -> (H::Out, Self::Transaction) where I: IntoIterator, Option>)> { - ([0; 32], ()) + (H::Out::default(), ()) } fn pairs(&self) -> Vec<(Vec, Vec)> { diff --git a/substrate/client/src/light/call_executor.rs b/substrate/client/src/light/call_executor.rs index 01454751f01cd..f53ca33e6365c 100644 --- a/substrate/client/src/light/call_executor.rs +++ b/substrate/client/src/light/call_executor.rs @@ -24,7 +24,7 @@ use runtime_primitives::generic::BlockId; use runtime_primitives::traits::{Block as BlockT, Header as HeaderT}; use state_machine::{Backend as StateBackend, CodeExecutor, OverlayedChanges, execution_proof_check, ExecutionManager}; -use primitives::H256; +use primitives::{H256, BlakeHasher, BlakeRlpCodec}; use patricia_trie::NodeCodec; use hashdb::Hasher; use rlp::Encodable; @@ -50,13 +50,11 @@ impl RemoteCallExecutor { } } -impl CallExecutor for RemoteCallExecutor +impl CallExecutor for RemoteCallExecutor where Block: BlockT, B: ChainBackend, F: Fetcher, - H: Hasher, - C: NodeCodec, { type Error = ClientError; @@ -81,19 +79,19 @@ where } fn call_at_state< - S: StateBackend, - F: FnOnce(Result, Self::Error>, Result, Self::Error>) -> Result, Self::Error> + S: StateBackend, + FF: FnOnce(Result, Self::Error>, Result, Self::Error>) -> Result, Self::Error> >(&self, _state: &S, _changes: &mut OverlayedChanges, _method: &str, _call_data: &[u8], - _m: ExecutionManager + _m: ExecutionManager ) -> ClientResult<(Vec, S::Transaction)> { Err(ClientErrorKind::NotAvailableOnLightClient.into()) } - fn prove_at_state>(&self, _state: S, _changes: &mut OverlayedChanges, _method: &str, _call_data: &[u8]) -> ClientResult<(Vec, Vec>)> { + fn prove_at_state>(&self, _state: S, _changes: &mut OverlayedChanges, _method: &str, _call_data: &[u8]) -> ClientResult<(Vec, Vec>)> { Err(ClientErrorKind::NotAvailableOnLightClient.into()) } @@ -103,7 +101,7 @@ where } /// Check remote execution proof using given backend. -pub fn check_execution_proof( +pub fn check_execution_proof( blockchain: &B, executor: &E, request: &RemoteCallRequest, @@ -113,17 +111,19 @@ pub fn check_execution_proof( Block: BlockT, B: ChainBackend, E: CodeExecutor, + // E: CodeExecutor, H: Hasher, H::Out: Encodable + Ord + From, + C: NodeCodec, { let local_header = blockchain.header(BlockId::Hash(request.block))?; let local_header = local_header.ok_or_else(|| ClientErrorKind::UnknownBlock(format!("{}", request.block)))?; let local_state_root = *local_header.state_root(); - do_check_execution_proof(local_state_root.into(), executor, request, remote_proof) + do_check_execution_proof::<_, E, H, C>(local_state_root.into(), executor, request, remote_proof) } /// Check remote execution proof using given state root. -fn do_check_execution_proof( +fn do_check_execution_proof( local_state_root: Hash, executor: &E, request: &RemoteCallRequest, @@ -132,14 +132,14 @@ fn do_check_execution_proof( where Hash: ::std::fmt::Display + ::std::convert::AsRef<[u8]>, E: CodeExecutor, + // E: CodeExecutor, H: Hasher, H::Out: Encodable + Ord + From, + C: NodeCodec, { let mut changes = OverlayedChanges::default(); - let (local_result, _) = execution_proof_check( - // TrieH256::from_slice(local_state_root.as_ref()).into(), - // H256::from_slice(local_state_root.as_ref()).into(), - // ::Out::from_slice(local_state_root.as_ref()), // TODO: H::Out doesn't know it's a H256 so it can't find the `from_slice` + // let (local_result, _) = execution_proof_check::<_, BlakeRlpCodec, _>( + let (local_result, _) = execution_proof_check::( H256::from_slice(local_state_root.as_ref()).into(), remote_proof, &mut changes, diff --git a/substrate/client/src/light/fetcher.rs b/substrate/client/src/light/fetcher.rs index 8d07196e6a09e..fb59ee4743ead 100644 --- a/substrate/client/src/light/fetcher.rs +++ b/substrate/client/src/light/fetcher.rs @@ -18,7 +18,7 @@ use std::sync::Arc; use futures::IntoFuture; - +use primitives::{BlakeHasher, BlakeRlpCodec}; use runtime_primitives::traits::{Block as BlockT}; use state_machine::CodeExecutor; @@ -26,8 +26,6 @@ use call_executor::CallResult; use error::{Error as ClientError, Result as ClientResult}; use light::blockchain::{Blockchain, Storage as BlockchainStorage}; use light::call_executor::check_execution_proof; -use hashdb::Hasher; -use rlp::Encodable; /// Remote call request. #[derive(Clone, Debug, PartialEq, Eq, Hash)] @@ -77,16 +75,14 @@ impl LightDataChecker { } } -impl FetchChecker for LightDataChecker +impl FetchChecker for LightDataChecker where Block: BlockT, S: BlockchainStorage, - E: CodeExecutor, + E: CodeExecutor, F: Fetcher, - H: Hasher, - H::Out: Encodable + Ord + From, { fn check_execution_proof(&self, request: &RemoteCallRequest, remote_proof: Vec>) -> ClientResult { - check_execution_proof(&*self.blockchain, &self.executor, request, remote_proof) + check_execution_proof::<_, _, _, _, BlakeRlpCodec>(&*self.blockchain, &self.executor, request, remote_proof) } } diff --git a/substrate/state-machine/src/backend.rs b/substrate/state-machine/src/backend.rs index 19dc2639413fd..7999a6c51cc40 100644 --- a/substrate/state-machine/src/backend.rs +++ b/substrate/state-machine/src/backend.rs @@ -78,7 +78,8 @@ impl error::Error for Void { /// In-memory backend. Fully recomputes tries on each commit but useful for /// tests. -#[derive(Clone, PartialEq, Eq)] +// #[derive(Clone, PartialEq, Eq)] +#[derive(PartialEq, Eq)] pub struct InMemory { inner: Arc, Vec>>, _hasher: PhantomData, @@ -95,6 +96,14 @@ impl Default for InMemory { } } +impl Clone for InMemory { + fn clone(&self) -> Self { + InMemory { + inner: self.inner.clone(), _hasher: PhantomData, _codec: PhantomData, + } + } +} + impl> InMemory { /// Copy the state, with applied updates pub fn update(&self, changes: >::Transaction) -> Self { From 277aadd5b7d03ca12c0e55a081b4a4b3fde6403c Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 10:04:23 +0200 Subject: [PATCH 38/86] cleanup --- substrate/client/src/light/call_executor.rs | 3 --- substrate/state-machine/src/backend.rs | 1 - 2 files changed, 4 deletions(-) diff --git a/substrate/client/src/light/call_executor.rs b/substrate/client/src/light/call_executor.rs index f53ca33e6365c..73093642aa94e 100644 --- a/substrate/client/src/light/call_executor.rs +++ b/substrate/client/src/light/call_executor.rs @@ -111,7 +111,6 @@ pub fn check_execution_proof( Block: BlockT, B: ChainBackend, E: CodeExecutor, - // E: CodeExecutor, H: Hasher, H::Out: Encodable + Ord + From, C: NodeCodec, @@ -132,13 +131,11 @@ fn do_check_execution_proof( where Hash: ::std::fmt::Display + ::std::convert::AsRef<[u8]>, E: CodeExecutor, - // E: CodeExecutor, H: Hasher, H::Out: Encodable + Ord + From, C: NodeCodec, { let mut changes = OverlayedChanges::default(); - // let (local_result, _) = execution_proof_check::<_, BlakeRlpCodec, _>( let (local_result, _) = execution_proof_check::( H256::from_slice(local_state_root.as_ref()).into(), remote_proof, diff --git a/substrate/state-machine/src/backend.rs b/substrate/state-machine/src/backend.rs index 7999a6c51cc40..00e7c1681a2a2 100644 --- a/substrate/state-machine/src/backend.rs +++ b/substrate/state-machine/src/backend.rs @@ -78,7 +78,6 @@ impl error::Error for Void { /// In-memory backend. Fully recomputes tries on each commit but useful for /// tests. -// #[derive(Clone, PartialEq, Eq)] #[derive(PartialEq, Eq)] pub struct InMemory { inner: Arc, Vec>>, From 02a302add8aa681fbf1ddf721aa9c8c173c113b3 Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 10:46:19 +0200 Subject: [PATCH 39/86] client tests pass --- Cargo.lock | 1 + substrate/client/src/genesis.rs | 5 +++-- substrate/client/src/light/call_executor.rs | 3 ++- substrate/executor/src/native_executor.rs | 9 +++++---- substrate/state-machine/src/backend.rs | 8 +++++++- substrate/test-client/Cargo.toml | 2 ++ substrate/test-client/src/lib.rs | 7 +++++-- 7 files changed, 25 insertions(+), 10 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 56da12da92605..65a917159d0f4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3240,6 +3240,7 @@ dependencies = [ name = "substrate-test-client" version = "0.1.0" dependencies = [ + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", "rhododendron 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-bft 0.1.0", "substrate-client 0.1.0", diff --git a/substrate/client/src/genesis.rs b/substrate/client/src/genesis.rs index 1062ba92c5043..916a98ccbe8c8 100644 --- a/substrate/client/src/genesis.rs +++ b/substrate/client/src/genesis.rs @@ -51,6 +51,7 @@ mod tests { use test_client::runtime::genesismap::{GenesisConfig, additional_storage_with_genesis}; use test_client::runtime::{Hash, Transfer, Block, BlockNumber, Header, Digest, Extrinsic}; use ed25519::{Public, Pair}; + use primitives::{BlakeHasher, BlakeRlpCodec}; native_executor_instance!(Executor, test_client::runtime::api::dispatch, test_client::runtime::VERSION, include_bytes!("../../test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm")); @@ -58,7 +59,7 @@ mod tests { NativeExecutionDispatch::with_heap_pages(8) } - fn construct_block(backend: &InMemory, number: BlockNumber, parent_hash: Hash, state_root: Hash, txs: Vec) -> (Vec, Hash) { + fn construct_block(backend: &InMemory, number: BlockNumber, parent_hash: Hash, state_root: Hash, txs: Vec) -> (Vec, Hash) { use triehash::ordered_trie_root; let transactions = txs.into_iter().map(|tx| { @@ -115,7 +116,7 @@ mod tests { (vec![].and(&Block { header, extrinsics: transactions }), hash) } - fn block1(genesis_hash: Hash, backend: &InMemory) -> (Vec, Hash) { + fn block1(genesis_hash: Hash, backend: &InMemory) -> (Vec, Hash) { construct_block( backend, 1, diff --git a/substrate/client/src/light/call_executor.rs b/substrate/client/src/light/call_executor.rs index 73093642aa94e..84a23c37f88cb 100644 --- a/substrate/client/src/light/call_executor.rs +++ b/substrate/client/src/light/call_executor.rs @@ -166,7 +166,8 @@ mod tests { // check remote execution proof locally let local_executor = test_client::LocalExecutor::with_heap_pages(8); - do_check_execution_proof(remote_block_storage_root.into(), &local_executor, &RemoteCallRequest { + + do_check_execution_proof::<_, _, _, BlakeRlpCodec>(remote_block_storage_root.into(), &local_executor, &RemoteCallRequest { block: test_client::runtime::Hash::default(), method: "authorities".into(), call_data: vec![], diff --git a/substrate/executor/src/native_executor.rs b/substrate/executor/src/native_executor.rs index 320fdb05c2f9c..0d76befb5bb49 100644 --- a/substrate/executor/src/native_executor.rs +++ b/substrate/executor/src/native_executor.rs @@ -25,7 +25,6 @@ use twox_hash::XxHash; use std::hash::Hasher; use parking_lot::{Mutex, MutexGuard}; use RuntimeInfo; -use hashdb; use primitives::BlakeHasher; // For the internal Runtime Cache: @@ -109,7 +108,8 @@ pub trait NativeExecutionDispatch: Send + Sync { /// Dispatch a method and input data to be executed natively. Returns `Some` result or `None` /// if the `method` is unknown. Panics if there's an unrecoverable error. - fn dispatch(ext: &mut Externalities, method: &str, data: &[u8]) -> Result>; + // fn dispatch(ext: &mut Externalities, method: &str, data: &[u8]) -> Result>; + fn dispatch(ext: &mut Externalities, method: &str, data: &[u8]) -> Result>; /// Get native runtime version. const VERSION: RuntimeVersion; @@ -197,6 +197,8 @@ macro_rules! native_executor_instance { native_executor_instance!(IMPL $name, $dispatcher, $version, $code); }; (IMPL $name:ident, $dispatcher:path, $version:path, $code:expr) => { + // TODO: this is not so great – I think I should go back to have dispatch take a type param and modify this macro to accept a type param and then pass it in from the test-client instead + use primitives::BlakeHasher as _BlakeHasher; impl $crate::NativeExecutionDispatch for $name { const VERSION: $crate::RuntimeVersion = $version; fn native_equivalent() -> &'static [u8] { @@ -204,8 +206,7 @@ macro_rules! native_executor_instance { // get a proper build script, this must be strictly adhered to or things will go wrong. $code } - - fn dispatch(ext: &mut $crate::Externalities, method: &str, data: &[u8]) -> $crate::error::Result> { + fn dispatch(ext: &mut $crate::Externalities<_BlakeHasher>, method: &str, data: &[u8]) -> $crate::error::Result> { $crate::with_native_environment(ext, move || $dispatcher(method, data))? .ok_or_else(|| $crate::error::ErrorKind::MethodNotFound(method.to_owned()).into()) } diff --git a/substrate/state-machine/src/backend.rs b/substrate/state-machine/src/backend.rs index 00e7c1681a2a2..bba4f28ee551f 100644 --- a/substrate/state-machine/src/backend.rs +++ b/substrate/state-machine/src/backend.rs @@ -78,7 +78,7 @@ impl error::Error for Void { /// In-memory backend. Fully recomputes tries on each commit but useful for /// tests. -#[derive(PartialEq, Eq)] +#[derive(Eq)] pub struct InMemory { inner: Arc, Vec>>, _hasher: PhantomData, @@ -103,6 +103,12 @@ impl Clone for InMemory { } } +impl PartialEq for InMemory { + fn eq(&self, other: &Self) -> bool { + self.inner.eq(&other.inner) + } +} + impl> InMemory { /// Copy the state, with applied updates pub fn update(&self, changes: >::Transaction) -> Self { diff --git a/substrate/test-client/Cargo.toml b/substrate/test-client/Cargo.toml index 4897dae974704..b31b8b2d0a7bb 100644 --- a/substrate/test-client/Cargo.toml +++ b/substrate/test-client/Cargo.toml @@ -14,3 +14,5 @@ substrate-primitives = { path = "../primitives" } substrate-runtime-support = { path = "../runtime-support" } substrate-test-runtime = { path = "../test-runtime" } substrate-runtime-primitives = { path = "../runtime/primitives" } +hashdb = { git = "https://github.com/paritytech/parity-common" } + diff --git a/substrate/test-client/src/lib.rs b/substrate/test-client/src/lib.rs index d50b49b3c7101..13750215f98d0 100644 --- a/substrate/test-client/src/lib.rs +++ b/substrate/test-client/src/lib.rs @@ -26,6 +26,7 @@ extern crate substrate_primitives as primitives; extern crate substrate_runtime_support as runtime_support; extern crate substrate_runtime_primitives as runtime_primitives; #[macro_use] extern crate substrate_executor as executor; +extern crate hashdb; pub extern crate substrate_test_runtime as runtime; pub extern crate substrate_client as client; @@ -34,10 +35,12 @@ mod client_ext; pub use client_ext::TestClient; +use primitives::{BlakeHasher, BlakeRlpCodec}; + mod local_executor { #![allow(missing_docs)] use super::runtime; - + // TODO: change the macro and pass in the `BlakeHasher` that dispatch needs from here instead native_executor_instance!(pub LocalExecutor, runtime::api::dispatch, runtime::VERSION, include_bytes!("../../test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm")); } @@ -45,7 +48,7 @@ mod local_executor { pub use local_executor::LocalExecutor; /// Test client database backend. -pub type Backend = client::in_mem::Backend; +pub type Backend = client::in_mem::Backend; /// Test client executor. pub type Executor = client::LocalCallExecutor>; From dae069bef7164e5f054279a4578e7797ad9cb5df Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 14:38:36 +0200 Subject: [PATCH 40/86] Fix client/db --- Cargo.lock | 1 - substrate/client/db/Cargo.toml | 2 -- substrate/client/db/src/lib.rs | 43 +++++++++++++++++++------------- substrate/client/db/src/utils.rs | 18 +++++++------ 4 files changed, 35 insertions(+), 29 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 65a917159d0f4..c84546fba282a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2690,7 +2690,6 @@ dependencies = [ "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", "substrate-client 0.1.0", "substrate-codec 0.1.0", "substrate-executor 0.1.0", diff --git a/substrate/client/db/Cargo.toml b/substrate/client/db/Cargo.toml index 385b007ec7afc..95af2fd905496 100644 --- a/substrate/client/db/Cargo.toml +++ b/substrate/client/db/Cargo.toml @@ -8,9 +8,7 @@ parking_lot = "0.4" log = "0.3" kvdb = { git = "https://github.com/paritytech/parity-common" } kvdb-rocksdb = { git = "https://github.com/paritytech/parity-common" } -# ethereum-types = "0.3" hashdb = { git = "https://github.com/paritytech/parity-common" } -patricia-trie = { git = "https://github.com/paritytech/parity-common" } memorydb = { git = "https://github.com/paritytech/parity-common" } substrate-primitives = { path = "../../../substrate/primitives" } substrate-runtime-primitives = { path = "../../../substrate/runtime/primitives" } diff --git a/substrate/client/db/src/lib.rs b/substrate/client/db/src/lib.rs index 11aaab78e4ff4..02452a1419eaf 100644 --- a/substrate/client/db/src/lib.rs +++ b/substrate/client/db/src/lib.rs @@ -43,19 +43,21 @@ mod utils; use std::sync::Arc; use std::path::PathBuf; +use std::io; use codec::{Decode, Encode}; +use hashdb::Hasher; use kvdb::{KeyValueDB, DBTransaction}; use memorydb::MemoryDB; use parking_lot::RwLock; -use primitives::{H256, AuthorityId}; +use primitives::{H256, AuthorityId, BlakeHasher, BlakeRlpCodec}; use runtime_primitives::generic::BlockId; use runtime_primitives::bft::Justification; use runtime_primitives::traits::{Block as BlockT, Header as HeaderT, As, Hash, HashFor, NumberFor, Zero}; use runtime_primitives::BuildStorage; use state_machine::backend::Backend as StateBackend; use executor::RuntimeInfo; -use state_machine::{CodeExecutor, TrieH256, DBValue, ExecutionStrategy}; +use state_machine::{CodeExecutor, DBValue, ExecutionStrategy}; use utils::{Meta, db_err, meta_keys, number_to_db_key, open_database, read_db, read_id, read_meta}; use state_db::StateDb; pub use state_db::PruningMode; @@ -63,7 +65,7 @@ pub use state_db::PruningMode; const FINALIZATION_WINDOW: u64 = 32; /// DB-backed patricia trie state, transaction type is an overlay of changes to commit. -pub type DbState = state_machine::TrieBackend; +pub type DbState = state_machine::TrieBackend; /// Database settings. pub struct DatabaseSettings { @@ -84,7 +86,7 @@ pub fn new_client( ) -> Result, client::LocalCallExecutor, E>, Block>, client::error::Error> where Block: BlockT, - E: CodeExecutor + RuntimeInfo, + E: CodeExecutor + RuntimeInfo, S: BuildStorage, { let backend = Arc::new(Backend::new(settings, FINALIZATION_WINDOW)?); @@ -113,7 +115,7 @@ struct PendingBlock { struct StateMetaDb<'a>(&'a KeyValueDB); impl<'a> state_db::MetaDb for StateMetaDb<'a> { - type Error = kvdb::Error; + type Error = io::Error; // REVIEW: `kvdb::Error` is gone (https://github.com/paritytech/parity-ethereum/pull/8924/files#diff-ead7c616cf8709a265c3297ad8dbfccdL36) and replaced with `io:Error` in other places – is that ok here too? fn get_meta(&self, key: &[u8]) -> Result>, Self::Error> { self.0.get(columns::STATE_META, key).map(|r| r.map(|v| v.to_vec())) @@ -212,13 +214,16 @@ impl client::blockchain::Backend for BlockchainDb { } /// Database transaction -pub struct BlockImportOperation { +pub struct BlockImportOperation { old_state: DbState, - updates: MemoryDB, + updates: MemoryDB, pending_block: Option>, } -impl client::backend::BlockImportOperation for BlockImportOperation { +impl client::backend::BlockImportOperation +for BlockImportOperation +where Block: BlockT, +{ type State = DbState; fn state(&self) -> Result, client::error::Error> { @@ -240,7 +245,7 @@ impl client::backend::BlockImportOperation for BlockImport // currently authorities are not cached on full nodes } - fn update_storage(&mut self, update: MemoryDB) -> Result<(), client::error::Error> { + fn update_storage(&mut self, update: MemoryDB) -> Result<(), client::error::Error> { self.updates = update; Ok(()) } @@ -258,15 +263,15 @@ struct StorageDb { pub state_db: StateDb, } -impl state_machine::Storage for StorageDb { - fn get(&self, key: &TrieH256) -> Result, String> { +impl state_machine::Storage for StorageDb { + fn get(&self, key: &H256) -> Result, String> { self.state_db.get(&key.0.into(), self).map(|r| r.map(|v| DBValue::from_slice(&v))) .map_err(|e| format!("Database backend error: {:?}", e)) } } impl state_db::HashDb for StorageDb { - type Error = kvdb::Error; + type Error = io::Error; // REVIEW: `kvdb::Error` was removed (see above) type Hash = H256; fn get(&self, key: &H256) -> Result>, Self::Error> { @@ -302,7 +307,8 @@ impl Backend { fn from_kvdb(db: Arc, pruning: PruningMode, finalization_window: u64) -> Result { let blockchain = BlockchainDb::new(db.clone())?; - let map_e = |e: state_db::Error| ::client::error::Error::from(format!("State database error: {:?}", e)); + let map_e = |e: state_db::Error| ::client::error::Error::from(format!("State database error: {:?}", e)); + // let map_e = |e: state_db::Error| ::client::error::Error::from(format!("State database error: {:?}", e)); let state_db: StateDb = StateDb::new(pruning, &StateMetaDb(&*db)).map_err(map_e)?; let storage_db = StorageDb { db, @@ -332,8 +338,8 @@ fn apply_state_commit(transaction: &mut DBTransaction, commit: state_db::CommitS } } -impl client::backend::Backend for Backend { - type BlockImportOperation = BlockImportOperation; +impl client::backend::Backend for Backend where Block: BlockT { + type BlockImportOperation = BlockImportOperation; type Blockchain = BlockchainDb; type State = DbState; @@ -447,14 +453,15 @@ impl client::backend::Backend for Backend { } self.blockchain.header(block).and_then(|maybe_hdr| maybe_hdr.map(|hdr| { - let root: TrieH256 = TrieH256::from_slice(hdr.state_root().as_ref()); + // let root: TrieH256 = TrieH256::from_slice(hdr.state_root().as_ref()); + let root: H256 = H256::from_slice(hdr.state_root().as_ref()); DbState::with_storage(self.storage.clone(), root) }).ok_or_else(|| client::error::ErrorKind::UnknownBlock(format!("{:?}", block)).into())) } } -impl client::backend::LocalBackend for Backend -{} +impl client::backend::LocalBackend for Backend +where Block: BlockT {} #[cfg(test)] mod tests { diff --git a/substrate/client/db/src/utils.rs b/substrate/client/db/src/utils.rs index 75c86ae06e151..17cd441486a6a 100644 --- a/substrate/client/db/src/utils.rs +++ b/substrate/client/db/src/utils.rs @@ -18,8 +18,9 @@ //! full and light storages. use std::sync::Arc; +use std::io; -use kvdb::{self, KeyValueDB, DBTransaction}; +use kvdb::{KeyValueDB, DBTransaction}; use kvdb_rocksdb::{Database, DatabaseConfig}; use client; @@ -83,20 +84,21 @@ pub fn db_key_to_number(key: &[u8]) -> client::error::Result where N: As client::error::Error { +pub fn db_err(err: io::Error) -> client::error::Error { use std::error::Error; - match err.kind() { - &kvdb::ErrorKind::Io(ref err) => client::error::ErrorKind::Backend(err.description().into()).into(), - &kvdb::ErrorKind::Msg(ref m) => client::error::ErrorKind::Backend(m.clone()).into(), - _ => client::error::ErrorKind::Backend("Unknown backend error".into()).into(), - } + // REVIEW: not sure what value the `Io`/`Msg` kinds had or what we want to do here + client::error::ErrorKind::Backend(err.description().into()).into() + // match err.kind() { + // &kvdb::ErrorKind::Io(ref err) => client::error::ErrorKind::Backend(err.description().into()).into(), + // &kvdb::ErrorKind::Msg(ref m) => client::error::ErrorKind::Backend(m.clone()).into(), + // _ => client::error::ErrorKind::Backend("Unknown backend error".into()).into(), + // } } /// Open RocksDB database. pub fn open_database(config: &DatabaseSettings, db_type: &str) -> client::error::Result> { let mut db_config = DatabaseConfig::with_columns(Some(NUM_COLUMNS)); db_config.memory_budget = config.cache_size; - db_config.wal = true; let path = config.path.to_str().ok_or_else(|| client::error::ErrorKind::Backend("Invalid database path".into()))?; let db = Database::open(&db_config, &path).map_err(db_err)?; From 7a93cf74f7b174419d606c8cd699ff08b7d4504f Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 15:09:53 +0200 Subject: [PATCH 41/86] cleanup --- substrate/client/db/src/lib.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/substrate/client/db/src/lib.rs b/substrate/client/db/src/lib.rs index 02452a1419eaf..20b31d1484840 100644 --- a/substrate/client/db/src/lib.rs +++ b/substrate/client/db/src/lib.rs @@ -453,7 +453,6 @@ impl client::backend::Backend for Back } self.blockchain.header(block).and_then(|maybe_hdr| maybe_hdr.map(|hdr| { - // let root: TrieH256 = TrieH256::from_slice(hdr.state_root().as_ref()); let root: H256 = H256::from_slice(hdr.state_root().as_ref()); DbState::with_storage(self.storage.clone(), root) }).ok_or_else(|| client::error::ErrorKind::UnknownBlock(format!("{:?}", block)).into())) From 6329abb4ae24d2ad60a245c6c0d7e5e1cf374da4 Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 15:10:08 +0200 Subject: [PATCH 42/86] Fix network --- substrate/network/src/chain.rs | 5 +++-- substrate/network/src/test/mod.rs | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/substrate/network/src/chain.rs b/substrate/network/src/chain.rs index f20b7e2b5e688..e5e92590bd8d9 100644 --- a/substrate/network/src/chain.rs +++ b/substrate/network/src/chain.rs @@ -21,6 +21,7 @@ use client::error::Error; use runtime_primitives::traits::{Block as BlockT, Header as HeaderT}; use runtime_primitives::generic::BlockId; use runtime_primitives::bft::Justification; +use primitives::{BlakeHasher, BlakeRlpCodec}; /// Local client abstraction for the network. pub trait Client: Send + Sync { @@ -50,8 +51,8 @@ pub trait Client: Send + Sync { } impl Client for SubstrateClient where - B: client::backend::Backend + Send + Sync + 'static, - E: CallExecutor + Send + Sync + 'static, + B: client::backend::Backend + Send + Sync + 'static, + E: CallExecutor + Send + Sync + 'static, Block: BlockT, { fn import(&self, origin: BlockOrigin, header: Block::Header, justification: Justification, body: Option>) -> Result { diff --git a/substrate/network/src/test/mod.rs b/substrate/network/src/test/mod.rs index 5a8d82d448398..1652c8f17abc1 100644 --- a/substrate/network/src/test/mod.rs +++ b/substrate/network/src/test/mod.rs @@ -26,6 +26,7 @@ use runtime_primitives::traits::Block as BlockT; use runtime_primitives::generic::BlockId; use io::SyncIo; use protocol::{Context, Protocol}; +use primitives::{BlakeHasher, BlakeRlpCodec}; use config::ProtocolConfig; use service::TransactionPool; use network_libp2p::{NodeIndex, SessionInfo, Severity}; @@ -172,7 +173,9 @@ impl Peer { fn flush(&self) { } - fn generate_blocks(&self, count: usize, mut edit_block: F) where F: FnMut(&mut BlockBuilder) { + fn generate_blocks(&self, count: usize, mut edit_block: F) + where F: FnMut(&mut BlockBuilder) + { for _ in 0 .. count { let mut builder = self.client.new_block().unwrap(); edit_block(&mut builder); From dc7fc67f00b564eeed35e9974c988e91c9ad8ddf Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 15:11:06 +0200 Subject: [PATCH 43/86] Fix rpc --- substrate/rpc/src/author/mod.rs | 6 +++--- substrate/rpc/src/chain/mod.rs | 5 +++-- substrate/rpc/src/state/mod.rs | 5 +++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/substrate/rpc/src/author/mod.rs b/substrate/rpc/src/author/mod.rs index 9077abdc3ffd8..a654aea5eb97c 100644 --- a/substrate/rpc/src/author/mod.rs +++ b/substrate/rpc/src/author/mod.rs @@ -26,7 +26,7 @@ use extrinsic_pool::{ }; use jsonrpc_macros::pubsub; use jsonrpc_pubsub::SubscriptionId; -use primitives::Bytes; +use primitives::{Bytes, BlakeHasher, BlakeRlpCodec}; use rpc::futures::{Sink, Stream, Future}; use runtime_primitives::{generic, traits}; use subscriptions::Subscriptions; @@ -86,8 +86,8 @@ impl Author { } impl AuthorApi for Author where - B: client::backend::Backend + Send + Sync + 'static, - E: client::CallExecutor + Send + Sync + 'static, + B: client::backend::Backend + Send + Sync + 'static, + E: client::CallExecutor + Send + Sync + 'static, Block: traits::Block + 'static, Hash: traits::MaybeSerializeDebug + Sync + Send + 'static, P: ExtrinsicPool, Hash>, diff --git a/substrate/rpc/src/chain/mod.rs b/substrate/rpc/src/chain/mod.rs index a7a8e8c0e046a..a6f45eb20c6bc 100644 --- a/substrate/rpc/src/chain/mod.rs +++ b/substrate/rpc/src/chain/mod.rs @@ -26,6 +26,7 @@ use rpc::futures::{Future, Sink, Stream}; use runtime_primitives::generic::BlockId; use runtime_primitives::traits::Block as BlockT; use tokio::runtime::TaskExecutor; +use primitives::{BlakeHasher, BlakeRlpCodec}; use subscriptions::Subscriptions; @@ -80,8 +81,8 @@ impl Chain { impl ChainApi for Chain where Block: BlockT + 'static, - B: client::backend::Backend + Send + Sync + 'static, - E: client::CallExecutor + Send + Sync + 'static, + B: client::backend::Backend + Send + Sync + 'static, + E: client::CallExecutor + Send + Sync + 'static, { type Metadata = ::metadata::Metadata; diff --git a/substrate/rpc/src/state/mod.rs b/substrate/rpc/src/state/mod.rs index 6cf6907712f97..aaa3db31361b4 100644 --- a/substrate/rpc/src/state/mod.rs +++ b/substrate/rpc/src/state/mod.rs @@ -24,6 +24,7 @@ use jsonrpc_macros::pubsub; use jsonrpc_pubsub::SubscriptionId; use primitives::hexdisplay::HexDisplay; use primitives::storage::{StorageKey, StorageData, StorageChangeSet}; +use primitives::{BlakeHasher, BlakeRlpCodec}; use rpc::Result as RpcResult; use rpc::futures::{Future, Sink, Stream}; use runtime_primitives::generic::BlockId; @@ -107,8 +108,8 @@ impl State { impl StateApi for State where Block: BlockT + 'static, - B: client::backend::Backend + Send + Sync + 'static, - E: CallExecutor + Send + Sync + 'static, + B: client::backend::Backend + Send + Sync + 'static, + E: CallExecutor + Send + Sync + 'static, { type Metadata = ::metadata::Metadata; From d7c09357027b9e6748264b2e3e12b703be6eced5 Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 15:12:07 +0200 Subject: [PATCH 44/86] Fix service --- substrate/service/src/components.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/substrate/service/src/components.rs b/substrate/service/src/components.rs index fd96dc7c31688..719b5cc42db2a 100644 --- a/substrate/service/src/components.rs +++ b/substrate/service/src/components.rs @@ -28,6 +28,7 @@ use substrate_executor::{NativeExecutor, NativeExecutionDispatch}; use extrinsic_pool::{txpool::Options as ExtrinsicPoolOptions, api::ExtrinsicPool as ExtrinsicPoolApi}; use runtime_primitives::{traits::Block as BlockT, traits::Header as HeaderT, generic::BlockId, BuildStorage}; use config::Configuration; +use primitives::{BlakeHasher, BlakeRlpCodec}; // Type aliases. // These exist mainly to avoid typing `::Foo` all over the code. @@ -152,9 +153,9 @@ pub trait Components { /// Associated service factory. type Factory: ServiceFactory; /// Client backend. - type Backend: 'static + client::backend::Backend>; + type Backend: 'static + client::backend::Backend, BlakeHasher, BlakeRlpCodec>; /// Client executor. - type Executor: 'static + client::CallExecutor> + Send + Sync; + type Executor: 'static + client::CallExecutor, BlakeHasher, BlakeRlpCodec> + Send + Sync; /// Extrinsic pool type. type ExtrinsicPool: ExtrinsicPool>; From a553f31ba331c1a8dd1b7c56ada39f7c6206a440 Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 16:29:33 +0200 Subject: [PATCH 45/86] Make TestExternalities work better au lieu d'un HashMap --- substrate/state-machine/src/testing.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/substrate/state-machine/src/testing.rs b/substrate/state-machine/src/testing.rs index 07a9950e6b7cb..d124f60921e2c 100644 --- a/substrate/state-machine/src/testing.rs +++ b/substrate/state-machine/src/testing.rs @@ -37,6 +37,10 @@ impl TestExternalities { pub fn new() -> Self { TestExternalities {inner: HashMap::new(), _hasher: PhantomData} } + /// Insert key/value + pub fn insert(&mut self, k: Vec, v: Vec) -> Option> { + self.inner.insert(k, v) + } } impl PartialEq for TestExternalities { @@ -59,6 +63,19 @@ impl Default for TestExternalities { fn default() -> Self { Self::new() } } +impl From> for HashMap, Vec> { + fn from(tex: TestExternalities) -> Self { + tex.inner.into() + } +} + +impl From< HashMap, Vec> > for TestExternalities { + fn from(hashmap: HashMap, Vec>) -> Self { + TestExternalities { inner: hashmap, _hasher: PhantomData } + } +} + + impl Externalities for TestExternalities where H::Out: Ord + Encodable { fn storage(&self, key: &[u8]) -> Option> { self.inner.get(key).map(|x| x.to_vec()) From 9bfe799c0d4517ec13f0913da0700bf5f4c145a4 Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 16:50:19 +0200 Subject: [PATCH 46/86] Fix tests in council --- substrate/runtime/council/src/lib.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/substrate/runtime/council/src/lib.rs b/substrate/runtime/council/src/lib.rs index 56d87ea59bff5..798020df02e13 100644 --- a/substrate/runtime/council/src/lib.rs +++ b/substrate/runtime/council/src/lib.rs @@ -46,6 +46,8 @@ use primitives::traits::{Zero, One, RefInto, As, AuxLookup}; use substrate_runtime_support::{StorageValue, StorageMap}; use substrate_runtime_support::dispatch::Result; use staking::address::Address; +#[cfg(any(feature = "std", test))] +use std::collections::HashMap; pub mod voting; @@ -590,7 +592,7 @@ impl Default for GenesisConfig { #[cfg(any(feature = "std", test))] impl primitives::BuildStorage for GenesisConfig { - fn build_storage(self) -> ::std::result::Result { + fn build_storage(self) -> ::std::result::Result, Vec>, String> { use codec::Encode; Ok(map![ @@ -620,6 +622,7 @@ mod tests { use primitives::BuildStorage; use primitives::traits::{HasPublicAux, Identity, BlakeTwo256}; use primitives::testing::{Digest, Header}; + use substrate_primitives::BlakeHasher; impl_outer_dispatch! { #[derive(Debug, Clone, Eq, Serialize, Deserialize, PartialEq)] @@ -666,7 +669,7 @@ mod tests { } impl Trait for Test {} - pub fn new_test_ext(with_council: bool) -> runtime_io::TestExternalities { + pub fn new_test_ext(with_council: bool) -> runtime_io::TestExternalities { let mut t = system::GenesisConfig::::default().build_storage().unwrap(); t.extend(consensus::GenesisConfig::{ code: vec![], @@ -717,7 +720,7 @@ mod tests { voting_period: 1, }.build_storage().unwrap()); t.extend(timestamp::GenesisConfig::::default().build_storage().unwrap()); - t + t.into() } pub type System = system::Module; @@ -783,7 +786,7 @@ mod tests { }); } - fn new_test_ext_with_candidate_holes() -> runtime_io::TestExternalities { + fn new_test_ext_with_candidate_holes() -> runtime_io::TestExternalities { let mut t = new_test_ext(false); with_externalities(&mut t, || { >::put(vec![0, 0, 1]); From e4cefb356e15542a133ff4b218c4f22662ff34d7 Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 16:50:43 +0200 Subject: [PATCH 47/86] Fix tests in contract --- substrate/runtime/contract/Cargo.toml | 1 + substrate/runtime/contract/src/genesis_config.rs | 8 +++++--- substrate/runtime/contract/src/lib.rs | 1 + substrate/runtime/contract/src/tests.rs | 5 +++-- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/substrate/runtime/contract/Cargo.toml b/substrate/runtime/contract/Cargo.toml index 23291d4d67e48..0658425c06cb4 100644 --- a/substrate/runtime/contract/Cargo.toml +++ b/substrate/runtime/contract/Cargo.toml @@ -7,6 +7,7 @@ authors = ["Parity Technologies "] serde = { version = "1.0", default_features = false } serde_derive = { version = "1.0", optional = true } substrate-codec = { path = "../../codec", default_features = false } +substrate-primitives = { path = "../../primitives" } substrate-runtime-consensus = { path = "../../runtime/consensus", default_features = false } substrate-runtime-primitives = { path = "../../runtime/primitives" } substrate-runtime-io = { path = "../../runtime-io", default_features = false } diff --git a/substrate/runtime/contract/src/genesis_config.rs b/substrate/runtime/contract/src/genesis_config.rs index d841f22806a6a..c99532739e856 100644 --- a/substrate/runtime/contract/src/genesis_config.rs +++ b/substrate/runtime/contract/src/genesis_config.rs @@ -22,6 +22,8 @@ use runtime_primitives; use runtime_io::{self, twox_128}; use runtime_support::StorageValue; use codec::Encode; +use std::collections::HashMap; +use substrate_primitives::BlakeHasher; #[derive(Serialize, Deserialize)] #[serde(rename_all = "camelCase")] @@ -35,14 +37,14 @@ pub struct GenesisConfig { } impl runtime_primitives::BuildStorage for GenesisConfig { - fn build_storage(self) -> Result { - let r: runtime_io::TestExternalities = map![ + fn build_storage(self) -> ::std::result::Result, Vec>, String> { + let r: runtime_io::TestExternalities = map![ twox_128(>::key()).to_vec() => self.contract_fee.encode(), twox_128(>::key()).to_vec() => self.call_base_fee.encode(), twox_128(>::key()).to_vec() => self.create_base_fee.encode(), twox_128(>::key()).to_vec() => self.gas_price.encode(), twox_128(>::key()).to_vec() => self.max_depth.encode() ]; - Ok(r) + Ok(r.into()) } } diff --git a/substrate/runtime/contract/src/lib.rs b/substrate/runtime/contract/src/lib.rs index 123574b27c0ac..6761c03442bc6 100644 --- a/substrate/runtime/contract/src/lib.rs +++ b/substrate/runtime/contract/src/lib.rs @@ -65,6 +65,7 @@ extern crate substrate_runtime_session as session; extern crate substrate_runtime_support as runtime_support; extern crate substrate_runtime_primitives as runtime_primitives; +extern crate substrate_primitives; #[cfg(test)] #[macro_use] diff --git a/substrate/runtime/contract/src/tests.rs b/substrate/runtime/contract/src/tests.rs index 503fb780c3010..6e755779378d8 100644 --- a/substrate/runtime/contract/src/tests.rs +++ b/substrate/runtime/contract/src/tests.rs @@ -20,6 +20,7 @@ use runtime_primitives::testing::{Digest, H256, Header}; use runtime_primitives::traits::{BlakeTwo256, HasPublicAux, Identity}; use runtime_primitives::BuildStorage; use runtime_support::StorageMap; +use substrate_primitives::BlakeHasher; use wabt; use { consensus, runtime_io, session, staking, system, timestamp, CodeOf, ContractAddressFor, @@ -72,7 +73,7 @@ impl ContractAddressFor for DummyContractAddressFor { } } -fn new_test_ext(existential_deposit: u64, gas_price: u64) -> runtime_io::TestExternalities { +fn new_test_ext(existential_deposit: u64, gas_price: u64) -> runtime_io::TestExternalities { let mut t = system::GenesisConfig::::default() .build_storage() .unwrap(); @@ -125,7 +126,7 @@ fn new_test_ext(existential_deposit: u64, gas_price: u64) -> runtime_io::TestExt }.build_storage() .unwrap(), ); - t + t.into() } const CODE_TRANSFER: &str = r#" From 627711003f091866b22052acfbcd6e6c9d3b9823 Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 16:51:10 +0200 Subject: [PATCH 48/86] Fix tests in council --- substrate/runtime/consensus/src/lib.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/substrate/runtime/consensus/src/lib.rs b/substrate/runtime/consensus/src/lib.rs index 13d40afe5eab1..c6bc48a438a67 100644 --- a/substrate/runtime/consensus/src/lib.rs +++ b/substrate/runtime/consensus/src/lib.rs @@ -45,6 +45,11 @@ use runtime_support::storage::unhashed::StorageVec; use primitives::traits::{RefInto, MaybeSerializeDebug, MaybeEmpty}; use primitives::bft::MisbehaviorReport; +#[cfg(any(feature = "std", test))] +use substrate_primitives::BlakeHasher; +#[cfg(any(feature = "std", test))] +use std::collections::HashMap; + pub const AUTHORITY_AT: &'static [u8] = b":auth:"; pub const AUTHORITY_COUNT: &'static [u8] = b":auth:len"; @@ -146,14 +151,14 @@ impl Default for GenesisConfig { #[cfg(any(feature = "std", test))] impl primitives::BuildStorage for GenesisConfig { - fn build_storage(self) -> ::std::result::Result { + fn build_storage(self) -> ::std::result::Result, Vec>, String> { use codec::{Encode, KeyedVec}; let auth_count = self.authorities.len() as u32; - let mut r: runtime_io::TestExternalities = self.authorities.into_iter().enumerate().map(|(i, v)| + let mut r: runtime_io::TestExternalities = self.authorities.into_iter().enumerate().map(|(i, v)| ((i as u32).to_keyed_vec(AUTHORITY_AT), v.encode()) ).collect(); r.insert(AUTHORITY_COUNT.to_vec(), auth_count.encode()); r.insert(CODE.to_vec(), self.code); - Ok(r) + Ok(r.into()) } } From adc13a24c005c7ca8563d3c999c69c0289475083 Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 16:53:17 +0200 Subject: [PATCH 49/86] Fix democracy --- substrate/runtime/democracy/src/lib.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/substrate/runtime/democracy/src/lib.rs b/substrate/runtime/democracy/src/lib.rs index 9f9c00d056ab5..34b35b06c5e0a 100644 --- a/substrate/runtime/democracy/src/lib.rs +++ b/substrate/runtime/democracy/src/lib.rs @@ -50,6 +50,9 @@ use primitives::traits::{Zero, Executable, RefInto, As, MaybeSerializeDebug}; use substrate_runtime_support::{StorageValue, StorageMap, Parameter, Dispatchable, IsSubType}; use substrate_runtime_support::dispatch::Result; +#[cfg(any(feature = "std", test))] +use std::collections::HashMap; + mod vote_threshold; pub use vote_threshold::{Approved, VoteThreshold}; @@ -338,7 +341,7 @@ impl Default for GenesisConfig { #[cfg(any(feature = "std", test))] impl primitives::BuildStorage for GenesisConfig { - fn build_storage(self) -> ::std::result::Result { + fn build_storage(self) -> ::std::result::Result, Vec>, String> { use codec::Encode; Ok(map![ @@ -356,7 +359,7 @@ impl primitives::BuildStorage for GenesisConfig mod tests { use super::*; use runtime_io::with_externalities; - use substrate_primitives::H256; + use substrate_primitives::{H256, BlakeHasher}; use primitives::BuildStorage; use primitives::traits::{HasPublicAux, Identity, BlakeTwo256}; use primitives::testing::{Digest, Header}; @@ -407,7 +410,7 @@ mod tests { type Proposal = Proposal; } - fn new_test_ext() -> runtime_io::TestExternalities { + fn new_test_ext() -> runtime_io::TestExternalities { let mut t = system::GenesisConfig::::default().build_storage().unwrap(); t.extend(consensus::GenesisConfig::{ code: vec![], @@ -440,7 +443,7 @@ mod tests { minimum_deposit: 1, }.build_storage().unwrap()); t.extend(timestamp::GenesisConfig::::default().build_storage().unwrap()); - t + t.into() } type System = system::Module; From 252bbd8b545eeac65e4507fa0fb9054a705a92d2 Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 17:21:45 +0200 Subject: [PATCH 50/86] Add comment about odd-looking reexports in tests --- substrate/runtime/council/src/lib.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/substrate/runtime/council/src/lib.rs b/substrate/runtime/council/src/lib.rs index 798020df02e13..fb6cf6b6bb8c9 100644 --- a/substrate/runtime/council/src/lib.rs +++ b/substrate/runtime/council/src/lib.rs @@ -616,6 +616,7 @@ impl primitives::BuildStorage for GenesisConfig #[cfg(test)] mod tests { + // These `pub` are here for a reason, edit with care pub use super::*; pub use runtime_io::with_externalities; pub use substrate_primitives::H256; From c94018c04b2c735c6c54727d7da12e0d136edbf8 Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 17:25:08 +0200 Subject: [PATCH 51/86] Don't need to load branch --- substrate/primitives/Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/substrate/primitives/Cargo.toml b/substrate/primitives/Cargo.toml index 93b2f30b87a66..e6f8e41d92b54 100644 --- a/substrate/primitives/Cargo.toml +++ b/substrate/primitives/Cargo.toml @@ -9,12 +9,12 @@ substrate-runtime-std = { path = "../runtime-std", default_features = false } substrate-codec = { path = "../codec", default_features = false } elastic-array = "0.10" # TODO: I think we can go back to `default_features = false` when we have a proper impl of `Hasher` to use -fixed-hash = { git = "https://github.com/paritytech/parity-common", branch = "add-fixed-hash", features = ["heapsizeof"] } +fixed-hash = { git = "https://github.com/paritytech/parity-common", features = ["heapsizeof"] } rustc-hex = { version = "2.0", default_features = false } serde = { version = "1.0", default_features = false } serde_derive = { version = "1.0", optional = true } # TODO: Used to fetch `uint` from "https://github.com/rphmeier/primitives.git" – what was `compile-for-wasm` adding? -uint = { git = "https://github.com/paritytech/parity-common", branch = "add-fixed-hash", default_features = false } +uint = { git = "https://github.com/paritytech/parity-common", default_features = false } rlp = { git = "https://github.com/paritytech/parity-common" } twox-hash = { version = "1.1.0", optional = true } byteorder = { version = "1.1", default_features = false } From c49609db0440278de9c2c877cdb3d3096f463d58 Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 17:26:24 +0200 Subject: [PATCH 52/86] Fix staking --- substrate/runtime/staking/src/genesis_config.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/substrate/runtime/staking/src/genesis_config.rs b/substrate/runtime/staking/src/genesis_config.rs index 2987725b7a235..f25b749105ffc 100644 --- a/substrate/runtime/staking/src/genesis_config.rs +++ b/substrate/runtime/staking/src/genesis_config.rs @@ -18,10 +18,12 @@ #![cfg(feature = "std")] +use std::collections::HashMap; use rstd::prelude::*; use codec::Encode; use runtime_support::{StorageValue, StorageMap}; use primitives::traits::{Zero, As}; +use substrate_primitives::BlakeHasher; use {runtime_io, primitives}; use super::{Trait, ENUM_SET_SIZE, EnumSet, NextEnumSet, Intentions, CurrentEra, BondingDuration, CreationFee, TransferFee, ReclaimRebate, @@ -118,10 +120,10 @@ impl Default for GenesisConfig { } impl primitives::BuildStorage for GenesisConfig { - fn build_storage(self) -> Result { + fn build_storage(self) -> ::std::result::Result, Vec>, String> { let total_stake: T::Balance = self.balances.iter().fold(Zero::zero(), |acc, &(_, n)| acc + n); - let mut r: runtime_io::TestExternalities = map![ + let mut r: runtime_io::TestExternalities = map![ Self::hash(>::key()).to_vec() => T::AccountIndex::sa(self.balances.len() / ENUM_SET_SIZE).encode(), Self::hash(>::key()).to_vec() => self.intentions.encode(), Self::hash(>::key()).to_vec() => self.sessions_per_era.encode(), @@ -147,6 +149,6 @@ impl primitives::BuildStorage for GenesisConfig { for (who, value) in self.balances.into_iter() { r.insert(Self::hash(&>::key_for(who)).to_vec(), value.encode()); } - Ok(r) + Ok(r.into()) } } From 0fb6dc11f25139270562bac0e9360de99a5093fc Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 17:27:46 +0200 Subject: [PATCH 53/86] Fix session --- substrate/runtime/session/src/lib.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/substrate/runtime/session/src/lib.rs b/substrate/runtime/session/src/lib.rs index 8e53428de63a0..cc0ef3da66451 100644 --- a/substrate/runtime/session/src/lib.rs +++ b/substrate/runtime/session/src/lib.rs @@ -50,6 +50,9 @@ use primitives::traits::{Zero, One, RefInto, Executable, Convert, As}; use runtime_support::{StorageValue, StorageMap}; use runtime_support::dispatch::Result; +#[cfg(any(feature = "std", test))] +use std::collections::HashMap; + /// A session has changed. pub trait OnSessionChange { /// Session has changed. @@ -256,7 +259,8 @@ impl Default for GenesisConfig { #[cfg(any(feature = "std", test))] impl primitives::BuildStorage for GenesisConfig { - fn build_storage(self) -> ::std::result::Result { + fn build_storage(self) -> ::std::result::Result, Vec>, String> { + use codec::Encode; use primitives::traits::As; Ok(map![ @@ -350,7 +354,7 @@ mod tests { assert_eq!(Session::ideal_session_duration(), 15); // ideal end = 0 + 15 * 3 = 15 // broken_limit = 15 * 130 / 100 = 19 - + System::set_block_number(3); assert_eq!(Session::blocks_remaining(), 2); Timestamp::set_timestamp(9); // earliest end = 9 + 2 * 5 = 19; OK. @@ -378,7 +382,7 @@ mod tests { assert_eq!(Session::blocks_remaining(), 0); Session::check_rotate_session(); assert_eq!(Session::length(), 10); - + System::set_block_number(7); assert_eq!(Session::current_index(), 1); assert_eq!(Session::blocks_remaining(), 5); From 6ebfc7fe6cd477ee1e834ce6084ec8ed30f2ad71 Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 17:28:33 +0200 Subject: [PATCH 54/86] Some polkadot fixes and lockfile --- Cargo.lock | 44 ++++++++++++++++-------------- polkadot/executor/Cargo.toml | 1 + polkadot/executor/src/lib.rs | 1 + polkadot/runtime/src/parachains.rs | 10 ++++--- 4 files changed, 32 insertions(+), 24 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c84546fba282a..98624a93c4180 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -696,7 +696,7 @@ dependencies = [ "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "mem 0.1.0 (git+https://github.com/paritytech/parity)", - "parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common.git)", + "parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)", "parity-wordlist 1.2.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.4.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -747,7 +747,7 @@ dependencies = [ [[package]] name = "fixed-hash" version = "0.2.2" -source = "git+https://github.com/paritytech/parity-common?branch=add-fixed-hash#b0cf5d1cf5bf0d284fae8e724df00fcb52673542" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", @@ -843,7 +843,7 @@ dependencies = [ [[package]] name = "hashdb" version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1074,7 +1074,7 @@ dependencies = [ [[package]] name = "kvdb" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", @@ -1083,7 +1083,7 @@ dependencies = [ [[package]] name = "kvdb-memorydb" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)", "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1092,7 +1092,7 @@ dependencies = [ [[package]] name = "kvdb-rocksdb" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1483,7 +1483,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "memorydb" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", @@ -1693,12 +1693,12 @@ dependencies = [ [[package]] name = "parity-bytes" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" [[package]] name = "parity-crypto" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common.git#0045887fecd2fec39e56c962a0b27e2caf3b9474" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1766,7 +1766,7 @@ dependencies = [ [[package]] name = "patricia-trie" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", @@ -1789,7 +1789,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "plain_hasher" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1907,6 +1907,7 @@ version = "0.1.0" dependencies = [ "polkadot-runtime 0.1.0", "substrate-executor 0.1.0", + "substrate-primitives 0.1.0", ] [[package]] @@ -2281,7 +2282,7 @@ dependencies = [ [[package]] name = "rlp" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2764,7 +2765,7 @@ dependencies = [ "ed25519 0.1.0", "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)", - "parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common.git)", + "parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2842,7 +2843,7 @@ dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=add-fixed-hash)", + "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)", "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", @@ -2856,7 +2857,7 @@ dependencies = [ "substrate-runtime-std 0.1.0", "substrate-serializer 0.1.0", "twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=add-fixed-hash)", + "uint 0.2.2 (git+https://github.com/paritytech/parity-common)", "wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2921,6 +2922,7 @@ dependencies = [ "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", + "substrate-primitives 0.1.0", "substrate-runtime-consensus 0.1.0", "substrate-runtime-io 0.1.0", "substrate-runtime-primitives 0.1.0", @@ -3019,6 +3021,7 @@ dependencies = [ name = "substrate-runtime-primitives" version = "0.1.0" dependencies = [ + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", "integer-sqrt 0.1.0 (git+https://github.com/paritytech/integer-sqrt-rs.git)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3030,6 +3033,7 @@ dependencies = [ "substrate-runtime-io 0.1.0", "substrate-runtime-std 0.1.0", "substrate-runtime-support 0.1.0", + "substrate-state-machine 0.1.0", ] [[package]] @@ -3603,7 +3607,7 @@ dependencies = [ [[package]] name = "triehash" version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common#0045887fecd2fec39e56c962a0b27e2caf3b9474" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3653,7 +3657,7 @@ dependencies = [ [[package]] name = "uint" version = "0.2.2" -source = "git+https://github.com/paritytech/parity-common?branch=add-fixed-hash#b0cf5d1cf5bf0d284fae8e724df00fcb52673542" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3983,7 +3987,7 @@ dependencies = [ "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" "checksum fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b1ee15a7050e5580b3712877157068ea713b245b080ff302ae2ca973cfcd9baa" "checksum fixed-hash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18d6fd718fb4396e7a9c93ac59ba7143501467ca7a143c145b5555a571d5576" -"checksum fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=add-fixed-hash)" = "" +"checksum fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)" = "" "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" "checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" "checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" @@ -4077,7 +4081,7 @@ dependencies = [ "checksum openssl-sys 0.9.33 (registry+https://github.com/rust-lang/crates.io-index)" = "d8abc04833dcedef24221a91852931df2f63e3369ae003134e70aff3645775cc" "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" "checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" -"checksum parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common.git)" = "" +"checksum parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1c91199d14bd5b78ecade323d4a891d094799749c1b9e82d9c590c2e2849a40" "checksum parity-wordlist 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d0dec124478845b142f68b446cbee953d14d4b41f1bc0425024417720dce693" "checksum parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "149d8f5b97f3c1133e3cfcd8886449959e856b557ff281e292b733d7c69e005e" @@ -4196,7 +4200,7 @@ dependencies = [ "checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" "checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d" "checksum uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "38051a96565903d81c9a9210ce11076b2218f3b352926baa1f5f6abbdfce8273" -"checksum uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=add-fixed-hash)" = "" +"checksum uint 0.2.2 (git+https://github.com/paritytech/parity-common)" = "" "checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33" "checksum unicase 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "284b6d3db520d67fbe88fd778c21510d1b0ba4a551e5d0fbb023d33405f6de8a" "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" diff --git a/polkadot/executor/Cargo.toml b/polkadot/executor/Cargo.toml index e7cfc5b77203d..3e62a0ce23b64 100644 --- a/polkadot/executor/Cargo.toml +++ b/polkadot/executor/Cargo.toml @@ -6,4 +6,5 @@ description = "Polkadot node implementation in Rust." [dependencies] substrate-executor = { path = "../../substrate/executor" } +substrate-primitives = { path = "../../substrate/primitives" } polkadot-runtime = { path = "../runtime" } diff --git a/polkadot/executor/src/lib.rs b/polkadot/executor/src/lib.rs index 82cd5cd47851c..f8fc6a238b6b8 100644 --- a/polkadot/executor/src/lib.rs +++ b/polkadot/executor/src/lib.rs @@ -19,5 +19,6 @@ extern crate polkadot_runtime; #[macro_use] extern crate substrate_executor; +extern crate substrate_primitives as primitives; native_executor_instance!(pub Executor, polkadot_runtime::api::dispatch, polkadot_runtime::VERSION, include_bytes!("../../runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.compact.wasm")); diff --git a/polkadot/runtime/src/parachains.rs b/polkadot/runtime/src/parachains.rs index 5629f440b5431..3f7558abd6262 100644 --- a/polkadot/runtime/src/parachains.rs +++ b/polkadot/runtime/src/parachains.rs @@ -30,7 +30,10 @@ use substrate_runtime_support::dispatch::Result; use rstd::marker::PhantomData; #[cfg(any(feature = "std", test))] -use {runtime_io, runtime_primitives}; +use {runtime_primitives}; + +#[cfg(any(feature = "std", test))] +use std::collections::HashMap; pub trait Trait: system::Trait + session::Trait { /// The position of the set_heads call in the block. @@ -214,8 +217,7 @@ impl Default for GenesisConfig { #[cfg(any(feature = "std", test))] impl runtime_primitives::BuildStorage for GenesisConfig { - fn build_storage(mut self) -> ::std::result::Result { - use std::collections::HashMap; + fn build_storage(mut self) -> ::std::result::Result, Vec>, String> { use codec::Encode; self.parachains.sort_unstable_by_key(|&(ref id, _, _)| id.clone()); @@ -235,7 +237,7 @@ impl runtime_primitives::BuildStorage for GenesisConfig map.insert(head_key, genesis.encode()); } - Ok(map.into()) + Ok(map) } } From 056bffdaa973fc93845550ef9d5df1bf27019faa Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 17:34:00 +0200 Subject: [PATCH 55/86] Fix executive --- Cargo.lock | 2 -- substrate/runtime/executive/src/lib.rs | 11 ++++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 98624a93c4180..dd7f853b003dc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3021,7 +3021,6 @@ dependencies = [ name = "substrate-runtime-primitives" version = "0.1.0" dependencies = [ - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", "integer-sqrt 0.1.0 (git+https://github.com/paritytech/integer-sqrt-rs.git)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3033,7 +3032,6 @@ dependencies = [ "substrate-runtime-io 0.1.0", "substrate-runtime-std 0.1.0", "substrate-runtime-support 0.1.0", - "substrate-state-machine 0.1.0", ] [[package]] diff --git a/substrate/runtime/executive/src/lib.rs b/substrate/runtime/executive/src/lib.rs index 0f01b7a7cb960..917e170fe085d 100644 --- a/substrate/runtime/executive/src/lib.rs +++ b/substrate/runtime/executive/src/lib.rs @@ -218,7 +218,7 @@ mod tests { use super::*; use staking::Call; use runtime_io::with_externalities; - use substrate_primitives::H256; + use substrate_primitives::{H256, BlakeHasher}; use primitives::BuildStorage; use primitives::traits::{HasPublicAux, Identity, Header as HeaderT, BlakeTwo256, AuxLookup}; use primitives::testing::{Digest, Header, Block}; @@ -288,6 +288,7 @@ mod tests { session_reward: 0, }.build_storage().unwrap()); let xt = primitives::testing::TestXt((1, 0, Call::transfer(2.into(), 69))); + let mut t = runtime_io::TestExternalities::from(t); with_externalities(&mut t, || { Executive::initialise_block(&Header::new(1, H256::default(), H256::default(), [69u8; 32].into(), Digest::default())); Executive::apply_extrinsic(xt).unwrap(); @@ -296,13 +297,13 @@ mod tests { }); } - fn new_test_ext() -> runtime_io::TestExternalities { + fn new_test_ext() -> runtime_io::TestExternalities { let mut t = system::GenesisConfig::::default().build_storage().unwrap(); t.extend(consensus::GenesisConfig::::default().build_storage().unwrap()); t.extend(session::GenesisConfig::::default().build_storage().unwrap()); t.extend(staking::GenesisConfig::::default().build_storage().unwrap()); t.extend(timestamp::GenesisConfig::::default().build_storage().unwrap()); - t + t.into() } #[test] @@ -312,8 +313,8 @@ mod tests { header: Header { parent_hash: [69u8; 32].into(), number: 1, - state_root: hex!("8fad93b6b9e5251a2e4913598fd0d74a138c0e486eb1133ff8081b429b0c56f2").into(), - extrinsics_root: hex!("56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421").into(), + state_root: hex!("02532989c613369596025dfcfc821339fc9861987003924913a5a1382f87034a").into(), + extrinsics_root: hex!("56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421").into(), // REVIEW: I expected this to be wrong with a different hasher? digest: Digest { logs: vec![], }, }, extrinsics: vec![], From f565cf9ffeb0cefe29a1464d2c447cbf1acede1b Mon Sep 17 00:00:00 2001 From: David Palm Date: Fri, 3 Aug 2018 17:55:35 +0200 Subject: [PATCH 56/86] fixup lockfile --- Cargo.lock | 1 + 1 file changed, 1 insertion(+) diff --git a/Cargo.lock b/Cargo.lock index 7489322821c06..5bb7058137347 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2848,6 +2848,7 @@ dependencies = [ "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", "plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)", "pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", From d11d5785d87850d61e76bb0751b5cf1cd4dc83fe Mon Sep 17 00:00:00 2001 From: David Palm Date: Sat, 4 Aug 2018 10:53:45 +0200 Subject: [PATCH 57/86] Fix polkadot/api --- polkadot/api/src/full.rs | 9 +++++---- polkadot/api/src/light.rs | 7 ++++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/polkadot/api/src/full.rs b/polkadot/api/src/full.rs index 7a5aeb31e785c..4ddf43a7f1be4 100644 --- a/polkadot/api/src/full.rs +++ b/polkadot/api/src/full.rs @@ -27,6 +27,7 @@ use runtime::Address; use runtime_primitives::traits::AuxLookup; use primitives::{AccountId, Block, Header, BlockId, Hash, Index, SessionKey, Timestamp, UncheckedExtrinsic}; use primitives::parachain::{CandidateReceipt, DutyRoster, Id as ParaId}; +use substrate_primitives::{BlakeHasher, BlakeRlpCodec}; use {BlockBuilder, PolkadotApi, LocalPolkadotApi, ErrorKind, Error, Result}; @@ -57,7 +58,7 @@ macro_rules! with_runtime { }} } -impl> BlockBuilder for ClientBlockBuilder>, Block> { +impl> BlockBuilder for ClientBlockBuilder>, Block, BlakeHasher, BlakeRlpCodec> { fn push_extrinsic(&mut self, extrinsic: UncheckedExtrinsic) -> Result<()> { self.push(extrinsic).map_err(Into::into) } @@ -68,8 +69,8 @@ impl> BlockBuilder for ClientBlockBuilder> PolkadotApi for Client>, Block> { - type BlockBuilder = ClientBlockBuilder>, Block>; +impl> PolkadotApi for Client>, Block> { + type BlockBuilder = ClientBlockBuilder>, Block, BlakeHasher, BlakeRlpCodec>; fn session_keys(&self, at: &BlockId) -> Result> { with_runtime!(self, at, ::runtime::Consensus::authorities) @@ -155,7 +156,7 @@ impl> PolkadotApi for Client> LocalPolkadotApi for Client>, Block> +impl> LocalPolkadotApi for Client>, Block> {} #[cfg(test)] diff --git a/polkadot/api/src/light.rs b/polkadot/api/src/light.rs index 7e2015c0b701e..1550e208f6465 100644 --- a/polkadot/api/src/light.rs +++ b/polkadot/api/src/light.rs @@ -24,6 +24,7 @@ use primitives::{AccountId, Block, BlockId, Hash, Index, SessionKey, Timestamp, use runtime::Address; use primitives::parachain::{CandidateReceipt, DutyRoster, Id as ParaId}; use {PolkadotApi, BlockBuilder, RemotePolkadotApi, Result, ErrorKind}; +use substrate_primitives::{BlakeHasher, BlakeRlpCodec}; /// Light block builder. TODO: make this work (efficiently) #[derive(Clone, Copy)] @@ -40,9 +41,9 @@ impl BlockBuilder for LightBlockBuilder { } /// Remote polkadot API implementation. -pub struct RemotePolkadotApiWrapper, E: CallExecutor>(pub Arc>); +pub struct RemotePolkadotApiWrapper, E: CallExecutor>(pub Arc>); -impl, E: CallExecutor> PolkadotApi for RemotePolkadotApiWrapper { +impl, E: CallExecutor> PolkadotApi for RemotePolkadotApiWrapper { type BlockBuilder = LightBlockBuilder; fn session_keys(&self, at: &BlockId) -> Result> { @@ -101,4 +102,4 @@ impl, E: CallExecutor> PolkadotApi for RemotePolkadotAp } } -impl, E: CallExecutor> RemotePolkadotApi for RemotePolkadotApiWrapper {} +impl, E: CallExecutor> RemotePolkadotApi for RemotePolkadotApiWrapper {} From c7334b228207c9f1e2b1d80545fce8c5051e6a6a Mon Sep 17 00:00:00 2001 From: David Palm Date: Sat, 4 Aug 2018 11:04:30 +0200 Subject: [PATCH 58/86] Fix polkadot/service --- polkadot/service/src/lib.rs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/polkadot/service/src/lib.rs b/polkadot/service/src/lib.rs index 10349d94dd8cd..bd68e8d63bb0c 100644 --- a/polkadot/service/src/lib.rs +++ b/polkadot/service/src/lib.rs @@ -52,6 +52,7 @@ use client::Client; use polkadot_network::{PolkadotProtocol, consensus::ConsensusNetwork}; use tokio::runtime::TaskExecutor; use service::FactoryFullConfiguration; +use primitives::{BlakeHasher, BlakeRlpCodec}; pub use service::{Roles, PruningMode, ExtrinsicPoolOptions, ErrorKind, Error, ComponentBlock, LightComponents, FullComponents}; @@ -68,9 +69,9 @@ pub trait Components: service::Components { /// Polkadot API. type Api: 'static + PolkadotApi + Send + Sync; /// Client backend. - type Backend: 'static + client::backend::Backend; + type Backend: 'static + client::backend::Backend; /// Client executor. - type Executor: 'static + client::CallExecutor + Send + Sync; + type Executor: 'static + client::CallExecutor + Send + Sync; } impl Components for service::LightComponents { @@ -253,8 +254,8 @@ pub struct TransactionPoolAdapter where A: Send + Sync, E: Send + Sync impl TransactionPoolAdapter where A: Send + Sync, - B: client::backend::Backend + Send + Sync, - E: client::CallExecutor + Send + Sync, + B: client::backend::Backend + Send + Sync, + E: client::CallExecutor + Send + Sync, { fn best_block_id(&self) -> Option { self.client.info() @@ -268,8 +269,8 @@ impl TransactionPoolAdapter impl network::TransactionPool for TransactionPoolAdapter where - B: client::backend::Backend + Send + Sync, - E: client::CallExecutor + Send + Sync, + B: client::backend::Backend + Send + Sync, + E: client::CallExecutor + Send + Sync, A: polkadot_api::PolkadotApi + Send + Sync, { fn transactions(&self) -> Vec<(Hash, Vec)> { @@ -320,8 +321,8 @@ impl network::TransactionPool for TransactionPoolAdapter service::ExtrinsicPool for TransactionPoolAdapter where - B: client::backend::Backend + Send + Sync + 'static, - E: client::CallExecutor + Send + Sync + 'static, + B: client::backend::Backend + Send + Sync + 'static, + E: client::CallExecutor + Send + Sync + 'static, A: polkadot_api::PolkadotApi + Send + Sync + 'static, { type Api = TransactionPool; From b6bde9acd8d82c7a32892eaf55f27be812ebad5b Mon Sep 17 00:00:00 2001 From: David Palm Date: Sat, 4 Aug 2018 11:39:19 +0200 Subject: [PATCH 59/86] Fix polkadot/runtime tests --- polkadot/runtime/src/parachains.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/polkadot/runtime/src/parachains.rs b/polkadot/runtime/src/parachains.rs index 3f7558abd6262..1998213a071ad 100644 --- a/polkadot/runtime/src/parachains.rs +++ b/polkadot/runtime/src/parachains.rs @@ -244,8 +244,8 @@ impl runtime_primitives::BuildStorage for GenesisConfig #[cfg(test)] mod tests { use super::*; - use runtime_io::with_externalities; - use substrate_primitives::H256; + use runtime_io::{TestExternalities, with_externalities}; + use substrate_primitives::{H256, BlakeHasher}; use runtime_primitives::BuildStorage; use runtime_primitives::traits::{HasPublicAux, Identity, BlakeTwo256}; use runtime_primitives::testing::{Digest, Header}; @@ -285,7 +285,7 @@ mod tests { type Parachains = Module; - fn new_test_ext(parachains: Vec<(Id, Vec, Vec)>) -> runtime_io::TestExternalities { + fn new_test_ext(parachains: Vec<(Id, Vec, Vec)>) -> TestExternalities { let mut t = system::GenesisConfig::::default().build_storage().unwrap(); t.extend(consensus::GenesisConfig::{ code: vec![], @@ -300,7 +300,7 @@ mod tests { parachains: parachains, phantom: PhantomData, }.build_storage().unwrap()); - t + t.into() } #[test] From 9b139b2c91b0a09943c65fc6b23f8477c3b5a148 Mon Sep 17 00:00:00 2001 From: David Palm Date: Mon, 6 Aug 2018 09:28:03 +0200 Subject: [PATCH 60/86] Fix tests in test-runtime --- substrate/test-runtime/src/system.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/substrate/test-runtime/src/system.rs b/substrate/test-runtime/src/system.rs index cb5ae23eb6c32..deb6f944f5ec7 100644 --- a/substrate/test-runtime/src/system.rs +++ b/substrate/test-runtime/src/system.rs @@ -171,8 +171,9 @@ mod tests { use codec::{Joiner, KeyedVec}; use keyring::Keyring; use ::{Header, Digest, Extrinsic, Transfer}; + use primitives::BlakeHasher; - fn new_test_ext() -> TestExternalities { + fn new_test_ext() -> TestExternalities { map![ twox_128(b"latest").to_vec() => vec![69u8; 32], twox_128(b":auth:len").to_vec() => vec![].and(&3u32), @@ -195,7 +196,7 @@ mod tests { let h = Header { parent_hash: [69u8; 32].into(), number: 1, - state_root: hex!("97dfcd1f8cbf8845fcb544f89332f1a94c1137f7d1b199ef0b0a6ed217015c3e").into(), + state_root: hex!("0c22599e15fb5e052c84f79a2aab179ba6bb238218fd86bdd4a74ebcc87adfcd").into(), extrinsics_root: hex!("56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421").into(), digest: Digest { logs: vec![], }, }; @@ -223,7 +224,7 @@ mod tests { header: Header { parent_hash: [69u8; 32].into(), number: 1, - state_root: hex!("0dd8210adaf581464cc68555814a787ed491f8c608d0a0dbbf2208a6d44190b1").into(), + state_root: hex!("0425393fd07e2a806cfd7e990ee91dc92fe6bba34eab2bf45d5be7d67e24d467").into(), extrinsics_root: hex!("951508f2cc0071500a74765ab0fb2f280fdcdd329d5f989dda675010adee99d6").into(), digest: Digest { logs: vec![], }, }, @@ -248,7 +249,7 @@ mod tests { header: Header { parent_hash: b.header.hash(), number: 2, - state_root: hex!("c93f2fd494c386fa32ee76b6198a7ccf5db12c02c3a79755fd2d4646ec2bf8d7").into(), + state_root: hex!("e32dd1d84d9133ca48078d2d83f2b0db19f9d47229ba98bf5ced0e9f86fac2c7").into(), extrinsics_root: hex!("3563642676d7e042c894eedc579ba2d6eeedf9a6c66d9d557599effc9f674372").into(), digest: Digest { logs: vec![], }, }, From 0c82f957aa874f7fb3f9b81cb0568ce9c4f9900d Mon Sep 17 00:00:00 2001 From: David Palm Date: Mon, 6 Aug 2018 10:09:10 +0200 Subject: [PATCH 61/86] Test fixes --- demo/executor/src/lib.rs | 24 +++++++++---------- polkadot/api/src/full.rs | 2 +- substrate/runtime/session/src/lib.rs | 6 ++--- substrate/runtime/staking/src/mock.rs | 6 ++--- substrate/runtime/timestamp/src/lib.rs | 6 ++--- .../test-client/src/block_builder_ext.rs | 3 ++- 6 files changed, 24 insertions(+), 23 deletions(-) diff --git a/demo/executor/src/lib.rs b/demo/executor/src/lib.rs index 5ebece1f609f5..574a02f340aa7 100644 --- a/demo/executor/src/lib.rs +++ b/demo/executor/src/lib.rs @@ -47,7 +47,7 @@ mod tests { use keyring::Keyring; use runtime_support::{Hashable, StorageValue, StorageMap}; use state_machine::{CodeExecutor, TestExternalities}; - use primitives::twox_128; + use primitives::{twox_128, BlakeHasher}; use demo_primitives::{Hash, BlockNumber, AccountId}; use runtime_primitives::traits::Header as HeaderT; use runtime_primitives::{ApplyOutcome, ApplyError, ApplyResult, MaybeUnsigned}; @@ -100,7 +100,7 @@ mod tests { #[test] fn panic_execution_with_foreign_code_gives_error() { - let mut t: TestExternalities = map![ + let mut t: TestExternalities = map![ twox_128(&>::key_for(alice())).to_vec() => vec![69u8, 0, 0, 0, 0, 0, 0, 0], twox_128(>::key()).to_vec() => vec![70u8; 8], twox_128(>::key()).to_vec() => vec![0u8; 8], @@ -119,7 +119,7 @@ mod tests { #[test] fn bad_extrinsic_with_native_equivalent_code_gives_error() { - let mut t: TestExternalities = map![ + let mut t: TestExternalities = map![ twox_128(&>::key_for(alice())).to_vec() => vec![69u8, 0, 0, 0, 0, 0, 0, 0], twox_128(>::key()).to_vec() => vec![70u8; 8], twox_128(>::key()).to_vec() => vec![0u8; 8], @@ -138,7 +138,7 @@ mod tests { #[test] fn successful_execution_with_native_equivalent_code_gives_ok() { - let mut t: TestExternalities = map![ + let mut t: TestExternalities = map![ twox_128(&>::key_for(alice())).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0], twox_128(>::key()).to_vec() => vec![0u8; 8], twox_128(>::key()).to_vec() => vec![0u8; 8], @@ -161,7 +161,7 @@ mod tests { #[test] fn successful_execution_with_foreign_code_gives_ok() { - let mut t: TestExternalities = map![ + let mut t: TestExternalities = map![ twox_128(&>::key_for(alice())).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0], twox_128(>::key()).to_vec() => vec![0u8; 8], twox_128(>::key()).to_vec() => vec![0u8; 8], @@ -182,7 +182,7 @@ mod tests { }); } - fn new_test_ext() -> TestExternalities { + fn new_test_ext() -> TestExternalities { use keyring::Keyring::*; let three = [3u8; 32].into(); GenesisConfig { @@ -212,7 +212,7 @@ mod tests { democracy: Some(Default::default()), council: Some(Default::default()), timestamp: Some(Default::default()), - }.build_storage().unwrap() + }.build_storage().unwrap().into() } fn construct_block(number: BlockNumber, parent_hash: Hash, state_root: Hash, extrinsics: Vec) -> (Vec, Hash) { @@ -247,7 +247,7 @@ mod tests { construct_block( 1, [69u8; 32].into(), - hex!("b97d52254fc967bb94bed485de6a738e9fad05decfda3453711677b8becf6d0a").into(), + hex!("3437bf4b182ab17bb322af5c67e55f6be487a77084ad2b4e27ddac7242e4ad21").into(), vec![BareExtrinsic { signed: alice(), index: 0, @@ -260,7 +260,7 @@ mod tests { construct_block( 2, block1().1, - hex!("a1f018d2faa339f72f5ee29050b4670d971e2e271cc06c41ee9cbe1f4c6feec9").into(), + hex!("741fcb660e6fa9f625fbcd993b49f6c1cc4040f5e0cc8727afdedf11fd3c464b").into(), vec![ BareExtrinsic { signed: bob(), @@ -280,7 +280,7 @@ mod tests { construct_block( 1, [69u8; 32].into(), - hex!("41d07010f49aa29b2c9aca542cbaa6f59aafd3dda53cdf711c51ddb7d386912e").into(), + hex!("2c7231a9c210a7aa4bea169d944bc4aaacd517862b244b8021236ffa7f697991").into(), vec![BareExtrinsic { signed: alice(), index: 0, @@ -353,7 +353,7 @@ mod tests { #[test] fn panic_execution_gives_error() { - let mut t: TestExternalities = map![ + let mut t: TestExternalities = map![ twox_128(&>::key_for(alice())).to_vec() => vec![69u8, 0, 0, 0, 0, 0, 0, 0], twox_128(>::key()).to_vec() => vec![70u8; 8], twox_128(>::key()).to_vec() => vec![0u8; 8], @@ -373,7 +373,7 @@ mod tests { #[test] fn successful_execution_gives_ok() { - let mut t: TestExternalities = map![ + let mut t: TestExternalities = map![ twox_128(&>::key_for(alice())).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0], twox_128(>::key()).to_vec() => vec![0u8; 8], twox_128(>::key()).to_vec() => vec![0u8; 8], diff --git a/polkadot/api/src/full.rs b/polkadot/api/src/full.rs index 4ddf43a7f1be4..a30e7ce818ff3 100644 --- a/polkadot/api/src/full.rs +++ b/polkadot/api/src/full.rs @@ -182,7 +182,7 @@ mod tests { ] } - fn client() -> Client, LocalCallExecutor, NativeExecutor>, Block> { + fn client() -> Client, LocalCallExecutor, NativeExecutor>, Block> { let genesis_config = GenesisConfig { consensus: Some(ConsensusConfig { code: LocalDispatch::native_equivalent().to_vec(), diff --git a/substrate/runtime/session/src/lib.rs b/substrate/runtime/session/src/lib.rs index cc0ef3da66451..22cddfab204b0 100644 --- a/substrate/runtime/session/src/lib.rs +++ b/substrate/runtime/session/src/lib.rs @@ -277,7 +277,7 @@ impl primitives::BuildStorage for GenesisConfig mod tests { use super::*; use runtime_io::with_externalities; - use substrate_primitives::H256; + use substrate_primitives::{H256, BlakeHasher}; use primitives::BuildStorage; use primitives::traits::{HasPublicAux, Identity, BlakeTwo256}; use primitives::testing::{Digest, Header}; @@ -314,7 +314,7 @@ mod tests { type Timestamp = timestamp::Module; type Session = Module; - fn new_test_ext() -> runtime_io::TestExternalities { + fn new_test_ext() -> runtime_io::TestExternalities { let mut t = system::GenesisConfig::::default().build_storage().unwrap(); t.extend(consensus::GenesisConfig::{ code: vec![], @@ -328,7 +328,7 @@ mod tests { validators: vec![1, 2, 3], broken_percent_late: 30, }.build_storage().unwrap()); - t + t.into() } #[test] diff --git a/substrate/runtime/staking/src/mock.rs b/substrate/runtime/staking/src/mock.rs index 66119cef6bd92..9d0c238f78bbe 100644 --- a/substrate/runtime/staking/src/mock.rs +++ b/substrate/runtime/staking/src/mock.rs @@ -21,7 +21,7 @@ use primitives::BuildStorage; use primitives::traits::{HasPublicAux, Identity}; use primitives::testing::{Digest, Header}; -use substrate_primitives::H256; +use substrate_primitives::{H256, BlakeHasher}; use runtime_io; use {GenesisConfig, Module, Trait, consensus, session, system, timestamp}; @@ -58,7 +58,7 @@ impl Trait for Test { type OnAccountKill = (); } -pub fn new_test_ext(ext_deposit: u64, session_length: u64, sessions_per_era: u64, current_era: u64, monied: bool, reward: u64) -> runtime_io::TestExternalities { +pub fn new_test_ext(ext_deposit: u64, session_length: u64, sessions_per_era: u64, current_era: u64, monied: bool, reward: u64) -> runtime_io::TestExternalities { let mut t = system::GenesisConfig::::default().build_storage().unwrap(); let balance_factor = if ext_deposit > 0 { 256 @@ -101,7 +101,7 @@ pub fn new_test_ext(ext_deposit: u64, session_length: u64, sessions_per_era: u64 t.extend(timestamp::GenesisConfig::{ period: 5 }.build_storage().unwrap()); - t + t.into() } pub type System = system::Module; diff --git a/substrate/runtime/timestamp/src/lib.rs b/substrate/runtime/timestamp/src/lib.rs index 0d20bd6b58e97..21a1e8ee84513 100644 --- a/substrate/runtime/timestamp/src/lib.rs +++ b/substrate/runtime/timestamp/src/lib.rs @@ -173,7 +173,7 @@ mod tests { fn timestamp_works() { let mut t = system::GenesisConfig::::default().build_storage().unwrap(); t.extend(GenesisConfig:: { period: 0 }.build_storage().unwrap()); - + let mut t = runtime_io::TestExternalities::from(t); with_externalities(&mut t, || { Timestamp::set_timestamp(42); assert_ok!(Timestamp::aux_dispatch(Call::set(69), &0)); @@ -186,7 +186,7 @@ mod tests { fn double_timestamp_should_fail() { let mut t = system::GenesisConfig::::default().build_storage().unwrap(); t.extend(GenesisConfig:: { period: 5 }.build_storage().unwrap()); - + let mut t = runtime_io::TestExternalities::from(t); with_externalities(&mut t, || { Timestamp::set_timestamp(42); assert_ok!(Timestamp::aux_dispatch(Call::set(69), &0)); @@ -199,7 +199,7 @@ mod tests { fn block_period_is_enforced() { let mut t = system::GenesisConfig::::default().build_storage().unwrap(); t.extend(GenesisConfig:: { period: 5 }.build_storage().unwrap()); - + let mut t = runtime_io::TestExternalities::from(t); with_externalities(&mut t, || { Timestamp::set_timestamp(42); let _ = Timestamp::aux_dispatch(Call::set(46), &0); diff --git a/substrate/test-client/src/block_builder_ext.rs b/substrate/test-client/src/block_builder_ext.rs index 17fdbeba0a537..c27fa5d559941 100644 --- a/substrate/test-client/src/block_builder_ext.rs +++ b/substrate/test-client/src/block_builder_ext.rs @@ -22,6 +22,7 @@ use keyring; use runtime; use {Backend, Executor}; +use primitives::{BlakeHasher, BlakeRlpCodec}; /// Extension trait for test block builder. pub trait BlockBuilderExt { @@ -29,7 +30,7 @@ pub trait BlockBuilderExt { fn push_transfer(&mut self, transfer: runtime::Transfer) -> Result<(), client::error::Error>; } -impl BlockBuilderExt for client::block_builder::BlockBuilder { +impl BlockBuilderExt for client::block_builder::BlockBuilder { fn push_transfer(&mut self, transfer: runtime::Transfer) -> Result<(), client::error::Error> { self.push(sign_tx(transfer)) } From 50b4b12fbb8e411095dd81efaed71d945e2a008e Mon Sep 17 00:00:00 2001 From: David Palm Date: Mon, 6 Aug 2018 11:28:18 +0200 Subject: [PATCH 62/86] Fix missing component in the `std` feature --- substrate/runtime/timestamp/Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/substrate/runtime/timestamp/Cargo.toml b/substrate/runtime/timestamp/Cargo.toml index 1b5637a2c33a6..c87da900bfe19 100644 --- a/substrate/runtime/timestamp/Cargo.toml +++ b/substrate/runtime/timestamp/Cargo.toml @@ -26,6 +26,7 @@ std = [ "substrate-runtime-io/std", "substrate-runtime-support/std", "substrate-runtime-primitives/std", + "substrate-runtime-consensus/std", "serde/std", "serde_derive", "substrate-codec/std", From 111f9fde62a11f8c738249ae8ce7f598a4a7d0da Mon Sep 17 00:00:00 2001 From: David Palm Date: Mon, 6 Aug 2018 14:43:05 +0200 Subject: [PATCH 63/86] Use PhantomData and Result from core --- substrate/primitives/src/rlp_codec.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/substrate/primitives/src/rlp_codec.rs b/substrate/primitives/src/rlp_codec.rs index 1be69460a1aa9..b884dd507c8ec 100644 --- a/substrate/primitives/src/rlp_codec.rs +++ b/substrate/primitives/src/rlp_codec.rs @@ -19,7 +19,7 @@ use elastic_array::{ElasticArray1024, ElasticArray128}; use hashdb::Hasher; use rlp::{DecoderError, RlpStream, Rlp, Prototype}; -use std::marker::PhantomData; // TODO: should `use` from core instead? +use core::marker::PhantomData; use patricia_trie::{NibbleSlice, NodeCodec, node::Node, ChildReference}; use hash::H256; @@ -34,7 +34,7 @@ pub type BlakeRlpCodec = RlpCodec; impl NodeCodec for RlpCodec { type Error = DecoderError; const HASHED_NULL_NODE : H256 = H256( [0x45, 0xb0, 0xcf, 0xc2, 0x20, 0xce, 0xec, 0x5b, 0x7c, 0x1c, 0x62, 0xc4, 0xd4, 0x19, 0x3d, 0x38, 0xe4, 0xeb, 0xa4, 0x8e, 0x88, 0x15, 0x72, 0x9c, 0xe7, 0x5f, 0x9c, 0xa, 0xb0, 0xe4, 0xc1, 0xc0] ); - fn decode(data: &[u8]) -> ::std::result::Result { + fn decode(data: &[u8]) -> ::core::result::Result { let r = Rlp::new(data); match r.prototype()? { // either leaf or extension - decode first item with NibbleSlice::??? From 1276733991bd4abbc92f0691f1a0fd28bc3e505c Mon Sep 17 00:00:00 2001 From: David Palm Date: Mon, 6 Aug 2018 14:43:54 +0200 Subject: [PATCH 64/86] Fix paths Use core --- substrate/primitives/src/hash.rs | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/substrate/primitives/src/hash.rs b/substrate/primitives/src/hash.rs index 539a610a29317..79e0a302c8aca 100644 --- a/substrate/primitives/src/hash.rs +++ b/substrate/primitives/src/hash.rs @@ -21,12 +21,8 @@ use serde::{Serialize, Serializer, Deserialize, Deserializer}; #[cfg(feature = "std")] use bytes; - -#[cfg(feature = "std")] -use std::cmp; - -#[cfg(feature = "std")] -use rlp::{self, Rlp, RlpStream, DecoderError}; +use core::cmp; +use rlp::{Rlp, RlpStream, DecoderError}; macro_rules! impl_rest { ($name: ident, $len: expr) => { @@ -56,13 +52,13 @@ macro_rules! impl_rest { } } - impl rlp::Encodable for $name { + impl ::rlp::Encodable for $name { fn rlp_append(&self, s: &mut RlpStream) { s.encoder().encode_value(self); } } - impl rlp::Decodable for $name { + impl ::rlp::Decodable for $name { fn decode(rlp: &Rlp) -> Result { rlp.decoder().decode_value(|bytes| match bytes.len().cmp(&$len) { cmp::Ordering::Less => Err(DecoderError::RlpIsTooShort), @@ -103,11 +99,11 @@ mod tests { #[test] fn test_hash_is_decodable() { let data = vec![148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123]; - let res = rlp::decode::(&data); + let res = ::rlp::decode::(&data); assert!(res.is_ok()); assert_eq!(res.unwrap(), H160::from(123)); - let res = rlp::decode::(&data); + let res = ::rlp::decode::(&data); assert!(res.is_err()); } From 334e008caa9a5e13606827df4f1a8b73fe447fce Mon Sep 17 00:00:00 2001 From: David Palm Date: Mon, 6 Aug 2018 18:10:18 +0200 Subject: [PATCH 65/86] load heapsize on wasm --- substrate/primitives/src/lib.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/substrate/primitives/src/lib.rs b/substrate/primitives/src/lib.rs index d45579a9f152e..1a7b3596bb75c 100644 --- a/substrate/primitives/src/lib.rs +++ b/substrate/primitives/src/lib.rs @@ -54,7 +54,8 @@ extern crate substrate_runtime_std as rstd; #[cfg(test)] extern crate substrate_serializer; -#[cfg(test)] + +#[cfg(any(test, target_arch = "wasm32"))] extern crate heapsize; #[cfg(test)] From 2faff87ba7d6cbc32e3f666b4dae74c3ca0a878b Mon Sep 17 00:00:00 2001 From: David Palm Date: Mon, 6 Aug 2018 18:15:00 +0200 Subject: [PATCH 66/86] implement `HeapSizeOf` for wasm --- substrate/primitives/Cargo.toml | 4 +++- substrate/primitives/src/hash.rs | 11 +++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/substrate/primitives/Cargo.toml b/substrate/primitives/Cargo.toml index e6f8e41d92b54..b1dcacccb0d48 100644 --- a/substrate/primitives/Cargo.toml +++ b/substrate/primitives/Cargo.toml @@ -8,7 +8,6 @@ crunchy = "0.1" substrate-runtime-std = { path = "../runtime-std", default_features = false } substrate-codec = { path = "../codec", default_features = false } elastic-array = "0.10" -# TODO: I think we can go back to `default_features = false` when we have a proper impl of `Hasher` to use fixed-hash = { git = "https://github.com/paritytech/parity-common", features = ["heapsizeof"] } rustc-hex = { version = "2.0", default_features = false } serde = { version = "1.0", default_features = false } @@ -24,6 +23,9 @@ hashdb = { git = "https://github.com/paritytech/parity-common" } patricia-trie = { git = "https://github.com/paritytech/parity-common" } plain_hasher = { git = "https://github.com/paritytech/parity-common" } +[target.'cfg(target_arch = "wasm32")'.dependencies] +heapsize = { version = "0.4"} + [dev-dependencies] substrate-serializer = { path = "../serializer" } pretty_assertions = "0.4" diff --git a/substrate/primitives/src/hash.rs b/substrate/primitives/src/hash.rs index 79e0a302c8aca..bf259bdfa0b86 100644 --- a/substrate/primitives/src/hash.rs +++ b/substrate/primitives/src/hash.rs @@ -82,6 +82,17 @@ impl_rest!(H160, 20); impl_rest!(H256, 32); impl_rest!(H512, 64); +// REVIEW: The wasm build was broken and would not load `fixed-hash` passing the +// `heapsizeof` feature so resorted to this. `Hasher` binds the `Out` assoc type +// with `HeapSizeOf` (why? I'd say it's only used by `memorydb` to implement `mem_used`). +// An alternative way to fix this would be to use `default_features = false` to load +// `fixed-hash` (instead of the current `features = ["heapsizeof"]` and remove this `#[cfg…` +#[cfg(target_arch = "wasm32")] +impl ::heapsize::HeapSizeOf for H256 { + fn heap_size_of_children(&self) -> usize { 0 } +} + + #[cfg(test)] mod tests { use super::*; From 751fe9ee83fd27f3a81c0bbfdb8d1254cd85289e Mon Sep 17 00:00:00 2001 From: David Palm Date: Mon, 6 Aug 2018 18:28:01 +0200 Subject: [PATCH 67/86] Add toy impl of `blake2_256` for no_std --- substrate/primitives/src/hasher.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/substrate/primitives/src/hasher.rs b/substrate/primitives/src/hasher.rs index a140315edbd7f..5d27715bf552a 100644 --- a/substrate/primitives/src/hasher.rs +++ b/substrate/primitives/src/hasher.rs @@ -19,7 +19,12 @@ use hashdb::Hasher; use plain_hasher::PlainHasher; use hash::H256; +#[cfg(feature = "std")] use hashing::blake2_256; +#[cfg(not(feature = "std"))] +fn blake2_256(x: &[u8]) -> [u8; 32] { + unimplemented!() +} /// Concrete implementation of Hasher using Blake2b 256-bit hashes #[derive(Debug)] From 81d7278911eec848f9cf39ef13460488c5fa851a Mon Sep 17 00:00:00 2001 From: David Palm Date: Mon, 6 Aug 2018 18:29:39 +0200 Subject: [PATCH 68/86] lockfile --- polkadot/runtime/wasm/Cargo.lock | 306 +++++++------------------------ 1 file changed, 65 insertions(+), 241 deletions(-) diff --git a/polkadot/runtime/wasm/Cargo.lock b/polkadot/runtime/wasm/Cargo.lock index a2c3b0413a358..3968c8cdccab5 100644 --- a/polkadot/runtime/wasm/Cargo.lock +++ b/polkadot/runtime/wasm/Cargo.lock @@ -1,16 +1,3 @@ -[[package]] -name = "aho-corasick" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ansi_term" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "arrayvec" version = "0.4.7" @@ -19,16 +6,6 @@ dependencies = [ "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "atty" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", - "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "base58" version = "0.1.0" @@ -124,15 +101,6 @@ dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "env_logger" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "environmental" version = "0.1.0" @@ -149,27 +117,6 @@ dependencies = [ "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "ethcore-bytes" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity.git#dec390a89fe038337399315daf15e628ffbb4d8e" - -[[package]] -name = "ethcore-logger" -version = "1.12.0" -source = "git+https://github.com/paritytech/parity.git#dec390a89fe038337399315daf15e628ffbb4d8e" -dependencies = [ - "ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", - "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", - "atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", - "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "ethereum-types" version = "0.3.2" @@ -194,17 +141,19 @@ dependencies = [ [[package]] name = "fixed-hash" -version = "0.1.3" -source = "git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm#8dc457899afdaf968ff7f16140b03d1e37b01d71" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "fixed-hash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" +version = "0.2.2" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", @@ -233,11 +182,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "hashdb" -version = "0.1.1" -source = "git+https://github.com/paritytech/parity.git#dec390a89fe038337399315daf15e628ffbb4d8e" +version = "0.2.0" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -280,15 +229,6 @@ dependencies = [ "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "keccak-hash" -version = "0.1.2" -source = "git+https://github.com/paritytech/parity.git#dec390a89fe038337399315daf15e628ffbb4d8e" -dependencies = [ - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "lazy_static" version = "0.2.11" @@ -320,14 +260,6 @@ dependencies = [ "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "memchr" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "memoffset" version = "0.2.1" @@ -340,16 +272,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "memorydb" -version = "0.1.1" -source = "git+https://github.com/paritytech/parity.git#dec390a89fe038337399315daf15e628ffbb4d8e" +version = "0.2.1" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)", - "plain_hasher 0.1.0 (git+https://github.com/paritytech/parity.git)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity.git)", + "plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", ] [[package]] @@ -383,6 +313,11 @@ dependencies = [ "stable_deref_trait 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "parity-bytes" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" + [[package]] name = "parity-wasm" version = "0.31.0" @@ -400,15 +335,6 @@ dependencies = [ "parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "parking_lot" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "parking_lot_core" version = "0.2.14" @@ -422,29 +348,25 @@ dependencies = [ [[package]] name = "patricia-trie" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity.git#dec390a89fe038337399315daf15e628ffbb4d8e" +version = "0.2.1" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore-bytes 0.1.0 (git+https://github.com/paritytech/parity.git)", - "ethcore-logger 1.12.0 (git+https://github.com/paritytech/parity.git)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)", - "keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "memorydb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity.git)", - "triehash 0.1.0 (git+https://github.com/paritytech/parity.git)", ] [[package]] name = "plain_hasher" version = "0.1.0" -source = "git+https://github.com/paritytech/parity.git#dec390a89fe038337399315daf15e628ffbb4d8e" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", ] [[package]] @@ -564,39 +486,6 @@ dependencies = [ "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "redox_syscall" -version = "0.1.40" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "redox_termios" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "regex" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", - "thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "regex-syntax" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "ring" version = "0.12.1" @@ -612,7 +501,7 @@ dependencies = [ [[package]] name = "rlp" version = "0.2.1" -source = "git+https://github.com/paritytech/parity.git#dec390a89fe038337399315daf15e628ffbb4d8e" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -639,7 +528,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "rustc-hex" version = "2.0.0" -source = "git+https://github.com/rphmeier/rustc-hex.git#ee2ec40b9062ac7769ccb9dc891d6dc2cc9009d7" +source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "rustc_version" @@ -722,14 +611,20 @@ dependencies = [ "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.1.3 (git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm)", - "rustc-hex 2.0.0 (git+https://github.com/rphmeier/rustc-hex.git)", + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", + "plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-runtime-std 0.1.0", "twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "uint 0.1.2 (git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm)", + "uint 0.2.2 (git+https://github.com/paritytech/parity-common)", "wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -963,15 +858,15 @@ name = "substrate-state-machine" version = "0.1.0" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "memorydb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.1.0 (git+https://github.com/paritytech/parity.git)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", "substrate-primitives 0.1.0", - "triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "triehash 0.2.0 (git+https://github.com/paritytech/parity-common)", ] [[package]] @@ -984,35 +879,6 @@ dependencies = [ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "termion" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "thread_local" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "time" -version = "0.1.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "tiny-keccak" version = "1.4.2" @@ -1023,24 +889,24 @@ dependencies = [ [[package]] name = "triehash" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity.git#dec390a89fe038337399315daf15e628ffbb4d8e" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity.git)", + "keccak-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "triehash" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" +version = "0.2.0" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "keccak-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", ] [[package]] @@ -1051,28 +917,23 @@ dependencies = [ "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "ucd-util" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "uint" -version = "0.1.2" -source = "git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm#8dc457899afdaf968ff7f16140b03d1e37b01d71" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "uint" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" +version = "0.2.2" +source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1082,29 +943,11 @@ name = "unicode-xid" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "unreachable" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "untrusted" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "utf8-ranges" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "void" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "wasmi" version = "0.4.0" @@ -1136,10 +979,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" [metadata] -"checksum aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d6531d44de723825aa81398a6415283229725a00fa30713812ab9323faa82fc4" -"checksum ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6b3568b48b7cefa6b8ce125f9bb4989e52fbcc29ebea88df04cc7c5f12f70455" "checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef" -"checksum atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "2fc4a1aa4c24c0718a250f0681885c1af91419d242f29eb8f2ab28502d80dbd1" "checksum base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" "checksum bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c54bb8f454c567f21197eefcdbf5679d0bd99f2ddbe52e84c77061952e6789" "checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" @@ -1152,44 +992,39 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2760899e32a1d58d5abb31129f8fae5de75220bc2176e77ff7c627ae45c918d9" "checksum crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda" "checksum elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "88d4851b005ef16de812ea9acdb7bece2f0a40dd86c07b85631d7dafa54537bb" -"checksum env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b" "checksum ethbloom 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a93a43ce2e9f09071449da36bfa7a1b20b950ee344b6904ff23de493b03b386" -"checksum ethcore-bytes 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" -"checksum ethcore-logger 1.12.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c48729b8aea8aedb12cf4cb2e5cef439fdfe2dda4a89e47eeebd15778ef53b6" "checksum ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ac59a21a9ce98e188f3dace9eb67a6c4a3c67ec7fbc7218cb827852679dc002" -"checksum fixed-hash 0.1.3 (git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm)" = "" "checksum fixed-hash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18d6fd718fb4396e7a9c93ac59ba7143501467ca7a143c145b5555a571d5576" +"checksum fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)" = "" "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)" = "5e33ec290da0d127825013597dbdfc28bee4964690c7ce1166cbc2a7bd08b1bb" -"checksum hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)" = "" +"checksum hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" "checksum hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4da5f0e01bd8a71a224a4eedecaacfcabda388dbb7a80faf04d3514287572d95" "checksum hex-literal-impl 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1d340b6514f232f6db1bd16db65302a5278a04fef9ce867cb932e7e5fa21130a" "checksum integer-sqrt 0.1.0 (git+https://github.com/paritytech/integer-sqrt-rs.git)" = "" "checksum keccak-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b7f51f30d7986536accaec4a6a288008dfb3dbffe8a2863a65292bc395a3ae7" -"checksum keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)" = "" "checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" "checksum lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e6412c5e2ad9584b0b8e979393122026cdd6d2a80b933f890dcd694ddbe73739" "checksum libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)" = "ac8ebf8343a981e2fa97042b14768f02ed3e1d602eac06cae6166df3c8ced206" "checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" "checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2" -"checksum memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" "checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" -"checksum memorydb 0.1.1 (git+https://github.com/paritytech/parity.git)" = "" +"checksum memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" "checksum nan-preserving-float 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "34d4f00fcc2f4c9efa8cc971db0da9e28290e28e97af47585e48691ef10ff31f" "checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" "checksum num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "775393e285254d2f5004596d69bb8bc1149754570dcc08cf30cabeba67955e28" "checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30" "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" +"checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1c91199d14bd5b78ecade323d4a891d094799749c1b9e82d9c590c2e2849a40" "checksum parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "149d8f5b97f3c1133e3cfcd8886449959e856b557ff281e292b733d7c69e005e" -"checksum parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d4d05f1349491390b1730afba60bb20d55761bef489a954546b58b4b34e1e2ac" "checksum parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa" -"checksum patricia-trie 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" -"checksum plain_hasher 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" +"checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" +"checksum plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum proc-macro-hack 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ba8d4f9257b85eb6cdf13f055cea3190520aab1409ca2ab43493ea4820c25f0" "checksum proc-macro-hack-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d5cb6f960ad471404618e9817c0e5d10b1ae74cfdf01fab89ea0641fe7fb2892" "checksum proc-macro2 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1fa93823f53cfd0f5ac117b189aed6cfdfb2cfc0a9d82e956dd7927595ed7d46" @@ -1198,15 +1033,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "eba5f8cb59cc50ed56be8880a5c7b496bfd9bd26394e176bc67884094145c2c5" "checksum rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b614fe08b6665cb9a231d07ac1364b0ef3cb3698f1239ee0c4c3a88a524f54c8" "checksum rayon-core 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d24ad214285a7729b174ed6d3bcfcb80177807f959d95fafd5bfc5c4f201ac8" -"checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1" -"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" -"checksum regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9329abc99e39129fcceabd24cf5d85b4671ef7c29c50e972bc5afe32438ec384" -"checksum regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7d707a4fa2637f2dca2ef9fd02225ec7661fe01a53623c1e6515b6916511f7a7" "checksum ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6f7d28b30a72c01b458428e0ae988d4149c20d902346902be881e3edc4bb325c" -"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity.git)" = "" +"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" "checksum rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "89db7f8dfdd5eb7ab3ac3ece7a07fd273a680b4b224cb231181280e8996f9f0b" "checksum rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0ceb8ce7a5e520de349e1fa172baeba4a9e8d5ef06c47471863530bc4972ee1e" -"checksum rustc-hex 2.0.0 (git+https://github.com/rphmeier/rustc-hex.git)" = "" +"checksum rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2b03280c2813907a030785570c577fb27d3deec8da4c18566751ade94de0ace" "checksum rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a54aa04a10c68c1c4eacb4337fd883b435997ede17a9385784b990777686b09a" "checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" @@ -1216,21 +1047,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum smallvec 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03dab98ab5ded3a8b43b2c80751194608d0b2aa0f1d46cf95d1c35e192844aa7" "checksum stable_deref_trait 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "15132e0e364248108c5e2c02e3ab539be8d6f5d52a01ca9bbf27ed657316f02b" "checksum syn 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6dfd71b2be5a58ee30a6f8ea355ba8290d397131c00dfa55c3d34e6e13db5101" -"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096" -"checksum thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "279ef31c19ededf577bfd12dfae728040a21f635b06a24cd670ff510edd38963" -"checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b" "checksum tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e9175261fbdb60781fcd388a4d6cc7e14764a2b629a7ad94abb439aed223a44f" -"checksum triehash 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2033893a813c70e7d8a739ca6c36dc0a7a2c913ec718d7cbf84a3837bbe3c7ce" +"checksum triehash 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "475352206e7a290c5fccc27624a163e8d0d115f7bb60ca18a64fc9ce056d7435" -"checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d" -"checksum uint 0.1.2 (git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm)" = "" "checksum uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "38051a96565903d81c9a9210ce11076b2218f3b352926baa1f5f6abbdfce8273" +"checksum uint 0.2.2 (git+https://github.com/paritytech/parity-common)" = "" "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" -"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" "checksum untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f392d7819dbe58833e26872f5f6f0d68b7bbbe90fc3667e98731c4a15ad9a7ae" -"checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" -"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" "checksum wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "522fe3fdd44a56f25cd5ddcd8ccdb1cf2e982ceb28fcb00f41d8a018ae5245a8" "checksum winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "04e3bd221fcbe8a271359c04f21a76db7d0c6028862d1bb5512d85e1e2eb5bb3" "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" From dcd9541f4fdeaf55f9f0c3d95ec736a513c2cfd1 Mon Sep 17 00:00:00 2001 From: David Palm Date: Tue, 7 Aug 2018 09:33:06 +0200 Subject: [PATCH 69/86] Use kvdb* from parity-common and fix errors --- polkadot/availability-store/Cargo.toml | 6 +++--- polkadot/availability-store/src/lib.rs | 21 +++------------------ 2 files changed, 6 insertions(+), 21 deletions(-) diff --git a/polkadot/availability-store/Cargo.toml b/polkadot/availability-store/Cargo.toml index 9a926310b04b4..fe60e9c992c98 100644 --- a/polkadot/availability-store/Cargo.toml +++ b/polkadot/availability-store/Cargo.toml @@ -10,6 +10,6 @@ parking_lot = "0.4" log = "0.3" substrate-codec = { path = "../../substrate/codec" } substrate-primitives = { path = "../../substrate/primitives" } -kvdb = { git = "https://github.com/paritytech/parity.git" } -kvdb-rocksdb = { git = "https://github.com/paritytech/parity.git" } -kvdb-memorydb = { git = "https://github.com/paritytech/parity.git" } +kvdb = { git = "https://github.com/paritytech/parity-common.git" } +kvdb-rocksdb = { git = "https://github.com/paritytech/parity-common.git" } +kvdb-memorydb = { git = "https://github.com/paritytech/parity-common.git" } diff --git a/polkadot/availability-store/src/lib.rs b/polkadot/availability-store/src/lib.rs index 33ace5794cfe7..5237ca498194d 100644 --- a/polkadot/availability-store/src/lib.rs +++ b/polkadot/availability-store/src/lib.rs @@ -66,20 +66,6 @@ pub struct Data { pub extrinsic: Option, } -fn extract_io_err(err: ::kvdb::Error) -> io::Error { - match err { - ::kvdb::Error(::kvdb::ErrorKind::Io(io_err), _) => io_err, - ::kvdb::Error(::kvdb::ErrorKind::Msg(msg), _) => io::Error::new( - io::ErrorKind::Other, - msg, - ), - x => io::Error::new( - io::ErrorKind::Other, - format!("Unexpected error variant: {:?}", x), // only necessary because of nonexaustive match. - ) - } -} - fn block_data_key(relay_parent: &Hash, candidate_hash: &Hash) -> Vec { (relay_parent, candidate_hash, 0i8).encode() } @@ -99,14 +85,13 @@ impl Store { pub fn new(config: Config) -> io::Result { let mut db_config = DatabaseConfig::with_columns(Some(columns::NUM_COLUMNS)); db_config.memory_budget = config.cache_size; - db_config.wal = true; let path = config.path.to_str().ok_or_else(|| io::Error::new( io::ErrorKind::Other, format!("Bad database path: {:?}", config.path), ))?; - let db = Database::open(&db_config, &path).map_err(extract_io_err)?; + let db = Database::open(&db_config, &path)?; Ok(Store { inner: Arc::new(db), @@ -151,7 +136,7 @@ impl Store { ); } - self.inner.write(tx).map_err(extract_io_err) + self.inner.write(tx) } /// Note that a set of candidates have been included in a finalized block with given hash and parent hash. @@ -175,7 +160,7 @@ impl Store { } } - self.inner.write(tx).map_err(extract_io_err) + self.inner.write(tx) } /// Query block data. From 2370a16b29dd64fb666e5615f3fe987d30e0e3ff Mon Sep 17 00:00:00 2001 From: David Palm Date: Tue, 7 Aug 2018 09:47:39 +0200 Subject: [PATCH 70/86] rebuilt lockfile --- Cargo.lock | 1141 ++++++++++++++++++++++++++-------------------------- 1 file changed, 580 insertions(+), 561 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fb1c792bae806..bc2456b5c33c3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,7 +23,7 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "0.6.4" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -35,12 +35,12 @@ version = "0.1.0" source = "git+https://github.com/paritytech/aio-limited.git#1f42497dcd2a6f85b83af97cd80314b26a1e4a9e" dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-executor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-timer 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-timer 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -58,7 +58,7 @@ name = "ansi_term" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -95,29 +95,29 @@ dependencies = [ [[package]] name = "assert_matches" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "atty" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "backtrace" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "backtrace-sys 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-demangle 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -125,8 +125,8 @@ name = "backtrace-sys" version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -144,7 +144,7 @@ name = "base64" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -152,7 +152,7 @@ name = "base64" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -161,16 +161,16 @@ name = "base64" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "base64" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -179,7 +179,7 @@ name = "bigint" version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -218,7 +218,7 @@ dependencies = [ [[package]] name = "bs58" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -233,29 +233,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "byteorder" -version = "1.2.3" +version = "1.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "bytes" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "cc" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rayon 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rayon 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "cfg-if" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -269,18 +269,18 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.2" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-integer 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "cid" version = "0.2.3" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ "integer-encoding 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "multibase 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -293,7 +293,7 @@ version = "2.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", - "atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -312,10 +312,10 @@ dependencies = [ [[package]] name = "cmake" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -329,7 +329,7 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -337,7 +337,7 @@ name = "core-foundation-sys" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -364,7 +364,7 @@ name = "crossbeam-deque" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "crossbeam-epoch 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-epoch 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-utils 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -374,9 +374,9 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -384,13 +384,13 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-utils 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -400,7 +400,7 @@ name = "crossbeam-utils" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -408,7 +408,7 @@ name = "crossbeam-utils" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -422,20 +422,20 @@ version = "1.1.1" source = "git+https://github.com/paritytech/rust-ctrlc.git#b523017108bb2d571a7a69bd97bc406e63bc7a9d" dependencies = [ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "datastore" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ "base64 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "chashmap 2.2.1 (git+https://github.com/redox-os/tfs)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", "tempfile 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -494,8 +494,8 @@ name = "demo-primitives" version = "0.1.0" dependencies = [ "pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", "substrate-runtime-primitives 0.1.0", @@ -512,8 +512,8 @@ dependencies = [ "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 0.1.0", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-keyring 0.1.0", "substrate-primitives 0.1.0", @@ -539,7 +539,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "digest" -version = "0.7.4" +version = "0.7.5" 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)", @@ -547,7 +547,7 @@ dependencies = [ [[package]] name = "dtoa" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -598,7 +598,7 @@ name = "error-chain" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "backtrace 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -606,7 +606,7 @@ name = "error-chain" version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "backtrace 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -615,7 +615,7 @@ version = "0.5.7" source = "git+https://github.com/paritytech/rust-secp256k1#db81cfea59014b4d176f10f86ed52e1a130b6822" dependencies = [ "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", - "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -627,21 +627,21 @@ dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "fixed-hash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "ethcore-io" version = "1.12.0" -source = "git+https://github.com/paritytech/parity#c22498066b6546c4a2bd58f1ff4a664d00142f43" +source = "git+https://github.com/paritytech/parity.git#e8b13cb77e30f60677d09b1b4eab1a4998dde28e" dependencies = [ "crossbeam 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)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", "timer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -649,15 +649,15 @@ dependencies = [ [[package]] name = "ethcore-logger" version = "1.12.0" -source = "git+https://github.com/paritytech/parity#c22498066b6546c4a2bd58f1ff4a664d00142f43" +source = "git+https://github.com/paritytech/parity.git#e8b13cb77e30f60677d09b1b4eab1a4998dde28e" dependencies = [ "ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", - "atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -671,8 +671,8 @@ dependencies = [ "ethbloom 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "fixed-hash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -681,28 +681,28 @@ name = "ethereum-types-serialize" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "ethkey" version = "0.3.0" -source = "git+https://github.com/paritytech/parity#c22498066b6546c4a2bd58f1ff4a664d00142f43" +source = "git+https://github.com/paritytech/parity.git#e8b13cb77e30f60677d09b1b4eab1a4998dde28e" dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "edit-distance 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "eth-secp256k1 0.5.7 (git+https://github.com/paritytech/rust-secp256k1)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "mem 0.1.0 (git+https://github.com/paritytech/parity)", + "mem 0.1.0 (git+https://github.com/paritytech/parity.git)", "parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)", "parity-wordlist 1.2.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.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -730,7 +730,7 @@ name = "fdlimit" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -739,7 +739,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -750,7 +750,7 @@ version = "0.2.2" source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -775,11 +775,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "fs-swap" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -825,19 +827,22 @@ dependencies = [ [[package]] name = "getopts" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "globset" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "aho-corasick 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -854,7 +859,7 @@ name = "heapsize" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -881,7 +886,7 @@ dependencies = [ [[package]] name = "httparse" -version = "1.2.4" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -890,7 +895,7 @@ version = "0.10.13" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "base64 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "httparse 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "httparse 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "language-tags 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)", "mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -899,7 +904,7 @@ dependencies = [ "traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "typeable 0.1.2 (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.0 (registry+https://github.com/rust-lang/crates.io-index)", + "url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -907,16 +912,16 @@ name = "hyper" version = "0.11.27" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "base64 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "base64 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "httparse 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "httparse 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "mime 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "mime 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "relay 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", @@ -930,10 +935,10 @@ dependencies = [ [[package]] name = "idna" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "matches 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -958,7 +963,7 @@ name = "iovec" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -977,7 +982,7 @@ dependencies = [ [[package]] name = "itoa" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -986,10 +991,10 @@ version = "8.0.2" source = "git+https://github.com/paritytech/jsonrpc.git#7e5df8ca2acc01c608b2d2bd8cdcdb19d8cbaa90" dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1000,8 +1005,8 @@ dependencies = [ "hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core 8.0.2 (git+https://github.com/paritytech/jsonrpc.git)", "jsonrpc-server-utils 8.0.1 (git+https://github.com/paritytech/jsonrpc.git)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", "unicase 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1012,7 +1017,7 @@ source = "git+https://github.com/paritytech/jsonrpc.git#7e5df8ca2acc01c608b2d2bd dependencies = [ "jsonrpc-core 8.0.2 (git+https://github.com/paritytech/jsonrpc.git)", "jsonrpc-pubsub 8.0.1 (git+https://github.com/paritytech/jsonrpc.git)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1021,8 +1026,8 @@ version = "8.0.1" source = "git+https://github.com/paritytech/jsonrpc.git#7e5df8ca2acc01c608b2d2bd8cdcdb19d8cbaa90" dependencies = [ "jsonrpc-core 8.0.2 (git+https://github.com/paritytech/jsonrpc.git)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1030,10 +1035,10 @@ name = "jsonrpc-server-utils" version = "8.0.1" source = "git+https://github.com/paritytech/jsonrpc.git#7e5df8ca2acc01c608b2d2bd8cdcdb19d8cbaa90" dependencies = [ - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "globset 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", + "globset 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core 8.0.2 (git+https://github.com/paritytech/jsonrpc.git)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (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.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1046,9 +1051,9 @@ dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core 8.0.2 (git+https://github.com/paritytech/jsonrpc.git)", "jsonrpc-server-utils 8.0.1 (git+https://github.com/paritytech/jsonrpc.git)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "ws 0.7.5 (git+https://github.com/tomusdrw/ws-rs)", ] @@ -1057,7 +1062,7 @@ name = "keccak-hash" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1086,7 +1091,7 @@ version = "0.1.0" source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)", - "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1096,12 +1101,12 @@ source = "git+https://github.com/paritytech/parity-common#ae80aff497595150045251 dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "fs-swap 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "fs-swap 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "interleaved-ordered 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)", ] @@ -1118,8 +1123,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "lazy_static" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "lazycell" @@ -1128,15 +1136,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "libc" -version = "0.2.41" +version = "0.2.43" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "libloading" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "libp2p" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "libp2p-dns 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", @@ -1156,25 +1173,25 @@ dependencies = [ "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "stdweb 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-current-thread 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-current-thread 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "libp2p-core" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ - "bs58 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bs58 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (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.21 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "multihash 0.8.1-pre (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "multistream-select 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.0.4 (registry+https://github.com/rust-lang/crates.io-index)", "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "rw-stream-sink 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "smallvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1184,11 +1201,11 @@ dependencies = [ [[package]] name = "libp2p-dns" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "tokio-dns-unofficial 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1197,19 +1214,19 @@ dependencies = [ [[package]] name = "libp2p-floodsub" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ - "bs58 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bs58 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (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.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.0.4 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "varint 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", @@ -1218,17 +1235,17 @@ dependencies = [ [[package]] name = "libp2p-identify" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (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.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "libp2p-peerstore 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.0.4 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "varint 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", @@ -1237,41 +1254,41 @@ dependencies = [ [[package]] name = "libp2p-kad" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", "bigint 4.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "bs58 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bs58 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "datastore 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "libp2p-identify 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "libp2p-ping 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.0.4 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-timer 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-timer 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "varint 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", ] [[package]] name = "libp2p-mplex" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (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.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "varint 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", @@ -1280,31 +1297,31 @@ dependencies = [ [[package]] name = "libp2p-peerstore" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ - "bs58 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bs58 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "datastore 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "libp2p-ping" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "multistream-select 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1312,28 +1329,28 @@ dependencies = [ [[package]] name = "libp2p-ratelimit" version = "0.1.1" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ "aio-limited 0.1.0 (git+https://github.com/paritytech/aio-limited.git)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-executor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "libp2p-relay" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "libp2p-peerstore 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "protobuf 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.0.4 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1343,15 +1360,15 @@ dependencies = [ [[package]] name = "libp2p-secio" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ "asn1_der 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "eth-secp256k1 0.5.7 (git+https://github.com/paritytech/rust-secp256k1)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.0.4 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", "ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1363,51 +1380,51 @@ dependencies = [ [[package]] name = "libp2p-tcp-transport" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-tcp 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-tcp 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "libp2p-transport-timeout" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-timer 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-timer 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "libp2p-websocket" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "rw-stream-sink 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "stdweb 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "websocket 0.20.2 (registry+https://github.com/rust-lang/crates.io-index)", + "websocket 0.20.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "libp2p-yamux" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "yamux 0.1.0 (git+https://github.com/paritytech/yamux)", ] @@ -1441,33 +1458,33 @@ name = "log" version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "log" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "matches" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "mem" version = "0.1.0" -source = "git+https://github.com/paritytech/parity#c22498066b6546c4a2bd58f1ff4a664d00142f43" +source = "git+https://github.com/paritytech/parity.git#e8b13cb77e30f60677d09b1b4eab1a4998dde28e" [[package]] name = "memchr" version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1502,7 +1519,7 @@ dependencies = [ [[package]] name = "mime" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "unicase 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1510,7 +1527,7 @@ dependencies = [ [[package]] name = "mio" -version = "0.6.14" +version = "0.6.15" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1518,11 +1535,11 @@ dependencies = [ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazycell 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", + "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1532,7 +1549,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", + "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1540,7 +1557,7 @@ dependencies = [ [[package]] name = "multiaddr" version = "0.3.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ "byteorder 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "cid 0.2.3 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", @@ -1558,7 +1575,7 @@ dependencies = [ [[package]] name = "multihash" version = "0.8.1-pre" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ "sha1 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "sha2 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1568,11 +1585,11 @@ dependencies = [ [[package]] name = "multistream-select" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "varint 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", @@ -1597,9 +1614,9 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "openssl 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", - "schannel 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "schannel 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", "security-framework 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "security-framework-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1607,12 +1624,12 @@ dependencies = [ [[package]] name = "net2" -version = "0.2.32" +version = "0.2.33" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1625,21 +1642,21 @@ name = "num-bigint" version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-integer 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-integer" -version = "0.1.38" +version = "0.1.39" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-traits" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1647,7 +1664,7 @@ name = "num_cpus" version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1666,20 +1683,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl-sys 0.9.33 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl-sys 0.9.35 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "openssl-sys" -version = "0.9.33" +version = "0.9.35" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", - "vcpkg 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)", + "vcpkg 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1687,7 +1704,7 @@ name = "owning_ref" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "stable_deref_trait 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1709,10 +1726,10 @@ dependencies = [ [[package]] name = "parity-wasm" -version = "0.31.0" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1745,7 +1762,7 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "lock_api 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1757,10 +1774,10 @@ name = "parking_lot_core" version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1783,7 +1800,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "pkg-config" -version = "0.3.11" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1830,9 +1847,9 @@ dependencies = [ name = "polkadot-availability-store" version = "0.1.0" dependencies = [ - "kvdb 0.1.0 (git+https://github.com/paritytech/parity.git)", - "kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity.git)", - "kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity.git)", + "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)", + "kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common)", + "kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-primitives 0.1.0", @@ -1848,14 +1865,14 @@ dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "exit-future 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-primitives 0.1.0", "polkadot-runtime 0.1.0", "polkadot-service 0.3.0", "polkadot-transaction-pool 0.1.0", - "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-cli 0.3.0", "substrate-client 0.1.0", "substrate-codec 0.1.0", @@ -1877,7 +1894,7 @@ version = "0.1.0" dependencies = [ "ed25519 0.1.0", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-api 0.1.0", "polkadot-cli 0.3.0", "polkadot-primitives 0.1.0", @@ -1905,7 +1922,7 @@ dependencies = [ "polkadot-runtime 0.1.0", "polkadot-statement-table 0.1.0", "polkadot-transaction-pool 0.1.0", - "rhododendron 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rhododendron 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-bft 0.1.0", "substrate-client 0.1.0", "substrate-codec 0.1.0", @@ -1931,13 +1948,13 @@ version = "0.1.0" dependencies = [ "ed25519 0.1.0", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-api 0.1.0", "polkadot-availability-store 0.1.0", "polkadot-consensus 0.1.0", "polkadot-primitives 0.1.0", - "rhododendron 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rhododendron 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-bft 0.1.0", "substrate-codec 0.1.0", "substrate-network 0.1.0", @@ -1960,8 +1977,8 @@ name = "polkadot-primitives" version = "0.1.0" dependencies = [ "pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", "substrate-runtime-primitives 0.1.0", @@ -1978,8 +1995,8 @@ dependencies = [ "polkadot-primitives 0.1.0", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 0.1.0", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-keyring 0.1.0", "substrate-primitives 0.1.0", @@ -2006,7 +2023,7 @@ dependencies = [ "ed25519 0.1.0", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-api 0.1.0", @@ -2017,7 +2034,7 @@ dependencies = [ "polkadot-primitives 0.1.0", "polkadot-runtime 0.1.0", "polkadot-transaction-pool 0.1.0", - "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-client 0.1.0", "substrate-codec 0.1.0", "substrate-network 0.1.0", @@ -2080,7 +2097,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "proc-macro2" -version = "0.4.4" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2088,7 +2105,7 @@ dependencies = [ [[package]] name = "protobuf" -version = "2.0.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -2096,7 +2113,7 @@ name = "pulldown-cmark" version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "getopts 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)", + "getopts 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2104,7 +2121,7 @@ name = "pwasm-alloc" version = "0.1.0" dependencies = [ "pwasm-libc 0.1.0", - "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2116,9 +2133,9 @@ name = "pwasm-utils" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2133,10 +2150,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "quote" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2145,7 +2162,7 @@ version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2155,20 +2172,20 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "rand" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2181,33 +2198,33 @@ name = "rayon" version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rayon-core 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rayon-core 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "rayon" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ + "crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rayon-core 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rayon-core 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "rayon-core" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "redox_syscall" -version = "0.1.39" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -2215,7 +2232,7 @@ name = "redox_termios" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "redox_syscall 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2223,7 +2240,7 @@ name = "regex" version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "aho-corasick 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2235,7 +2252,7 @@ name = "regex" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "aho-corasick 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "regex-syntax 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2271,12 +2288,12 @@ name = "remove_dir_all" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "rhododendron" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2291,7 +2308,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2301,7 +2318,7 @@ name = "rlp" version = "0.2.1" source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2312,7 +2329,7 @@ name = "rlp" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2323,7 +2340,7 @@ name = "rocksdb" version = "0.4.5" source = "git+https://github.com/paritytech/rust-rocksdb#ecf06adf3148ab10f6f7686b724498382ff4f36e" dependencies = [ - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "local-encoding 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "rocksdb-sys 0.3.0 (git+https://github.com/paritytech/rust-rocksdb)", ] @@ -2333,8 +2350,8 @@ name = "rocksdb-sys" version = "0.3.0" source = "git+https://github.com/paritytech/rust-rocksdb#ecf06adf3148ab10f6f7686b724498382ff4f36e" dependencies = [ - "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "local-encoding 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "snappy-sys 0.1.0 (git+https://github.com/paritytech/rust-snappy)", ] @@ -2345,7 +2362,7 @@ version = "0.2.36" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2353,7 +2370,7 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -2373,7 +2390,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "rustc_version" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2382,9 +2399,9 @@ dependencies = [ [[package]] name = "rw-stream-sink" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2393,7 +2410,7 @@ dependencies = [ name = "safe-mix" version = "0.1.0" dependencies = [ - "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2403,11 +2420,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "schannel" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2427,7 +2444,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "core-foundation 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "security-framework-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2437,7 +2454,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2455,27 +2472,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "serde" -version = "1.0.70" +version = "1.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "serde_derive" -version = "1.0.70" +version = "1.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.14.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "serde_json" -version = "1.0.22" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2495,7 +2512,7 @@ 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.4 (registry+https://github.com/rust-lang/crates.io-index)", + "digest 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2524,12 +2541,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "slab" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "slog" -version = "2.2.3" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -2537,7 +2554,7 @@ name = "slog-async" version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2547,10 +2564,10 @@ name = "slog-json" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "chrono 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)", - "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "chrono 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", + "slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2560,7 +2577,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crossbeam 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2580,7 +2597,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "smallvec" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2591,13 +2608,13 @@ name = "snappy-sys" version = "0.1.0" source = "git+https://github.com/paritytech/rust-snappy#798408ffef8f86dd51481673aca10f5348d7491b" dependencies = [ - "cmake 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "cmake 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "stable_deref_trait" -version = "1.0.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -2628,7 +2645,7 @@ dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rhododendron 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rhododendron 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-executor 0.1.0", "substrate-keyring 0.1.0", @@ -2645,19 +2662,19 @@ version = "0.3.0" dependencies = [ "ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", "app_dirs 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", - "backtrace 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "exit-future 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "names 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "regex 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-client 0.1.0", "substrate-extrinsic-pool 0.1.0", "substrate-network 0.1.0", @@ -2682,7 +2699,7 @@ dependencies = [ "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", - "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-bft 0.1.0", "substrate-codec 0.1.0", "substrate-executor 0.1.0", @@ -2729,17 +2746,17 @@ dependencies = [ name = "substrate-executor" version = "0.1.0" dependencies = [ - "assert_matches 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "ed25519 0.1.0", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", "substrate-runtime-io 0.1.0", @@ -2747,7 +2764,7 @@ dependencies = [ "substrate-serializer 0.1.0", "substrate-state-machine 0.1.0", "triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "twox-hash 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "wabt 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2760,8 +2777,8 @@ dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "transaction-pool 1.12.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2771,7 +2788,7 @@ version = "0.1.0" dependencies = [ "ed25519 0.1.0", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2783,9 +2800,9 @@ dependencies = [ "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", "subtle 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2794,7 +2811,7 @@ dependencies = [ name = "substrate-misbehavior-check" version = "0.1.0" dependencies = [ - "rhododendron 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rhododendron 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-bft 0.1.0", "substrate-codec 0.1.0", "substrate-keyring 0.1.0", @@ -2811,7 +2828,7 @@ dependencies = [ "ed25519 0.1.0", "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore-io 1.12.0 (git+https://github.com/paritytech/parity)", + "ethcore-io 1.12.0 (git+https://github.com/paritytech/parity.git)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2829,25 +2846,25 @@ dependencies = [ name = "substrate-network-libp2p" version = "0.1.0" dependencies = [ - "assert_matches 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore-io 1.12.0 (git+https://github.com/paritytech/parity)", - "ethcore-logger 1.12.0 (git+https://github.com/paritytech/parity)", + "ethcore-io 1.12.0 (git+https://github.com/paritytech/parity.git)", + "ethcore-logger 1.12.0 (git+https://github.com/paritytech/parity.git)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "ethkey 0.3.0 (git+https://github.com/paritytech/parity)", + "ethkey 0.3.0 (git+https://github.com/paritytech/parity.git)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "ipnetwork 0.12.8 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "tokio 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-timer 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-timer 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "varint 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", ] @@ -2856,7 +2873,7 @@ name = "substrate-primitives" version = "0.1.0" dependencies = [ "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)", @@ -2867,12 +2884,12 @@ dependencies = [ "pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-runtime-std 0.1.0", "substrate-serializer 0.1.0", - "twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "twox-hash 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "uint 0.2.2 (git+https://github.com/paritytech/parity-common)", "wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2881,7 +2898,7 @@ dependencies = [ name = "substrate-rpc" version = "0.1.0" dependencies = [ - "assert_matches 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core 8.0.2 (git+https://github.com/paritytech/jsonrpc.git)", "jsonrpc-macros 8.0.1 (git+https://github.com/paritytech/jsonrpc.git)", @@ -2918,8 +2935,8 @@ name = "substrate-runtime-consensus" version = "0.1.0" dependencies = [ "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", "substrate-runtime-io 0.1.0", @@ -2933,11 +2950,11 @@ dependencies = [ name = "substrate-runtime-contract" version = "0.1.0" dependencies = [ - "assert_matches 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)", + "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)", "pwasm-utils 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", "substrate-runtime-consensus 0.1.0", @@ -2960,8 +2977,8 @@ dependencies = [ "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "integer-sqrt 0.1.0 (git+https://github.com/paritytech/integer-sqrt-rs.git)", "safe-mix 0.1.0", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-keyring 0.1.0", "substrate-primitives 0.1.0", @@ -2983,8 +3000,8 @@ version = "0.1.0" dependencies = [ "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 0.1.0", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", "substrate-runtime-consensus 0.1.0", @@ -3003,8 +3020,8 @@ name = "substrate-runtime-executive" version = "0.1.0" dependencies = [ "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", "substrate-runtime-consensus 0.1.0", @@ -3026,7 +3043,7 @@ dependencies = [ "environmental 0.1.0", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", - "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", "substrate-runtime-std 0.1.0", @@ -3040,10 +3057,10 @@ version = "0.1.0" dependencies = [ "integer-sqrt 0.1.0 (git+https://github.com/paritytech/integer-sqrt-rs.git)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", "substrate-runtime-io 0.1.0", @@ -3055,7 +3072,7 @@ dependencies = [ name = "substrate-runtime-sandbox" version = "0.1.0" dependencies = [ - "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", "substrate-runtime-io 0.1.0", @@ -3070,8 +3087,8 @@ version = "0.1.0" dependencies = [ "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 0.1.0", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-keyring 0.1.0", "substrate-primitives 0.1.0", @@ -3090,8 +3107,8 @@ version = "0.1.0" dependencies = [ "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 0.1.0", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-keyring 0.1.0", "substrate-primitives 0.1.0", @@ -3113,7 +3130,7 @@ version = "0.1.0" dependencies = [ "pwasm-alloc 0.1.0", "pwasm-libc 0.1.0", - "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3122,8 +3139,8 @@ version = "0.1.0" dependencies = [ "ed25519 0.1.0", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", "substrate-runtime-io 0.1.0", @@ -3136,8 +3153,8 @@ version = "0.1.0" dependencies = [ "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "safe-mix 0.1.0", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", "substrate-runtime-io 0.1.0", @@ -3151,8 +3168,8 @@ name = "substrate-runtime-timestamp" version = "0.1.0" dependencies = [ "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", "substrate-runtime-consensus 0.1.0", @@ -3167,8 +3184,8 @@ dependencies = [ name = "substrate-runtime-version" version = "0.1.0" dependencies = [ - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-runtime-std 0.1.0", "substrate-runtime-support 0.1.0", @@ -3178,8 +3195,8 @@ dependencies = [ name = "substrate-serializer" version = "0.1.0" dependencies = [ - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3189,13 +3206,13 @@ dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "exit-future 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)", - "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", + "slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-client 0.1.0", "substrate-client-db 0.1.0", "substrate-codec 0.1.0", @@ -3218,7 +3235,7 @@ name = "substrate-state-db" version = "0.1.0" dependencies = [ "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", @@ -3228,7 +3245,7 @@ dependencies = [ name = "substrate-state-machine" version = "0.1.0" dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3244,14 +3261,14 @@ dependencies = [ name = "substrate-telemetry" version = "0.3.0" dependencies = [ - "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "slog 2.3.2 (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.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "slog-scope 4.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "websocket 0.20.2 (registry+https://github.com/rust-lang/crates.io-index)", + "websocket 0.20.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3259,7 +3276,7 @@ name = "substrate-test-client" version = "0.1.0" dependencies = [ "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", - "rhododendron 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rhododendron 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-bft 0.1.0", "substrate-client 0.1.0", "substrate-codec 0.1.0", @@ -3278,8 +3295,8 @@ dependencies = [ "ed25519 0.1.0", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-keyring 0.1.0", "substrate-primitives 0.1.0", @@ -3297,11 +3314,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "syn" -version = "0.14.1" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3335,9 +3352,9 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3346,8 +3363,8 @@ name = "termion" version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3364,7 +3381,7 @@ name = "thread_local" version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3373,9 +3390,9 @@ name = "time" version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3383,7 +3400,7 @@ name = "timer" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "chrono 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "chrono 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3400,15 +3417,15 @@ version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-fs 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-executor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-fs 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-tcp 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-threadpool 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-timer 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-udp 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-reactor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-tcp 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-threadpool 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-timer 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-udp 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3416,7 +3433,7 @@ name = "tokio-codec" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3426,26 +3443,26 @@ name = "tokio-core" version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (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.1 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "mio 0.6.15 (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.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-executor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-timer 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-reactor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-timer 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-current-thread" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-executor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3455,13 +3472,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-executor" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3469,12 +3486,12 @@ dependencies = [ [[package]] name = "tokio-fs" -version = "0.1.0" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-threadpool 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-threadpool 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3482,9 +3499,9 @@ name = "tokio-io" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3494,7 +3511,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", + "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3506,14 +3523,14 @@ dependencies = [ [[package]] name = "tokio-reactor" -version = "0.1.1" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", + "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-executor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3527,37 +3544,37 @@ dependencies = [ [[package]] name = "tokio-tcp" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)", + "mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-reactor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-threadpool" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crossbeam-deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-executor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-timer" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-executor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3573,15 +3590,16 @@ dependencies = [ [[package]] name = "tokio-udp" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-reactor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3637,10 +3655,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "twox-hash" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3663,10 +3681,10 @@ name = "uint" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3674,9 +3692,9 @@ name = "uint" version = "0.2.2" source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3684,7 +3702,7 @@ name = "unicase" version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "version_check 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3692,7 +3710,7 @@ name = "unicase" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "version_check 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3700,7 +3718,7 @@ name = "unicode-bidi" version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "matches 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3733,11 +3751,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "url" -version = "1.7.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "idna 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "matches 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3749,19 +3767,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "varint" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" dependencies = [ - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "num-bigint 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "vcpkg" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -3780,7 +3798,7 @@ dependencies = [ [[package]] name = "version_check" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -3793,9 +3811,9 @@ name = "wabt" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", "wabt-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3804,8 +3822,8 @@ name = "wabt-sys" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", - "cmake 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", + "cmake 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3814,7 +3832,7 @@ version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "try-lock 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3823,21 +3841,21 @@ name = "wasmi" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "nan-preserving-float 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "websocket" -version = "0.20.2" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.10.13 (registry+https://github.com/rust-lang/crates.io-index)", "native-tls 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3847,7 +3865,7 @@ dependencies = [ "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-tls 0.1.4 (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.0 (registry+https://github.com/rust-lang/crates.io-index)", + "url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3857,7 +3875,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "winapi" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3884,15 +3902,15 @@ name = "ws" version = "0.7.5" source = "git+https://github.com/tomusdrw/ws-rs#f12d19c4c19422fc79af28a3181f598bc07ecd1e" dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "httparse 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", + "httparse 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)", + "mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", "sha1 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "url 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3919,17 +3937,17 @@ name = "yamux" version = "0.1.0" source = "git+https://github.com/paritytech/yamux#4e3ae609ad29cae56c249353be37a473413a84da" dependencies = [ - "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", "quick-error 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [metadata] -"checksum aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d6531d44de723825aa81398a6415283229725a00fa30713812ab9323faa82fc4" +"checksum aho-corasick 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c1c6d463cbe7ed28720b5b489e7c083eeb8f90d08be2a0d6bb9e1ffea9ce1afa" "checksum aio-limited 0.1.0 (git+https://github.com/paritytech/aio-limited.git)" = "" "checksum ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6b3568b48b7cefa6b8ce125f9bb4989e52fbcc29ebea88df04cc7c5f12f70455" "checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" @@ -3938,35 +3956,35 @@ dependencies = [ "checksum arrayref 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0fd1479b7c29641adbd35ff3b5c293922d696a92f25c8c975da3e0acbc87258f" "checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef" "checksum asn1_der 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f9dec199e4d3e3263a71ec23fd7f0259b3c6963ff83e6bb4871d9d91343d4c81" -"checksum assert_matches 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "664470abf00fae0f31c0eb6e1ca12d82961b2a2541ef898bc9dd51a9254d218b" -"checksum atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "2fc4a1aa4c24c0718a250f0681885c1af91419d242f29eb8f2ab28502d80dbd1" -"checksum backtrace 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "dbdd17cd962b570302f5297aea8648d5923e22e555c2ed2d8b2e34eca646bf6d" +"checksum assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7deb0a829ca7bcfaf5da70b073a8d128619259a7be8216a355e23f00763059e5" +"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652" +"checksum backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a" "checksum backtrace-sys 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)" = "bff67d0c06556c0b8e6b5f090f0eac52d950d9dfd1d35ba04e4ca3543eaf6a7e" "checksum base-x 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2f59103b47307f76e03bef1633aec7fa9e29bfb5aa6daf5a334f94233c71f6c1" "checksum base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" "checksum base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "30e93c03064e7590d0466209155251b90c22e37fab1daf2771582598b5827557" "checksum base64 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "96434f987501f0ed4eb336a411e0631ecd1afa11574fe148587adc4ff96143c9" "checksum base64 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5032d51da2741729bfdaeb2664d9b8c6d9fd1e2b90715c660b6def36628499c2" -"checksum base64 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9263aa6a38da271eec5c91a83ce1e800f093c8535788d403d626d8d5c3f8f007" +"checksum base64 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "85415d2594767338a74a30c1d370b2f3262ec1b4ed2d7bba5b3faf4de40467d9" "checksum bigint 4.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "da1dde4308822ffaa13665757273a1b787481212f3f9b1c470a864b179a01f1b" "checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d" "checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5" "checksum bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c54bb8f454c567f21197eefcdbf5679d0bd99f2ddbe52e84c77061952e6789" "checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" "checksum block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a076c298b9ecdb530ed9d967e74a6027d6a7478924520acddcddc24c1c8ab3ab" -"checksum bs58 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2e6ea4851598d7433fbdba71fa2509d9b0df68124b9c0effe7588f5149692d9f" +"checksum bs58 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ddb9ab176abd79659b93be4396f59156c3ee80f8cc83d1cb588335052c428047" "checksum byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40" "checksum byteorder 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "96c8b41881888cc08af32d47ac4edd52bc7fa27fef774be47a92443756451304" -"checksum byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "74c0b906e9446b0a2e4f760cdb3fa4b2c48cdc6db8766a845c54b6ff063fd2e9" -"checksum bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7dd32989a66957d3f0cba6588f15d4281a733f4e9ffc43fcd2385f57d3bf99ff" -"checksum cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)" = "49ec142f5768efb5b7622aebc3fdbdbb8950a4b9ba996393cb76ef7466e8747d" -"checksum cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "405216fd8fe65f718daa7102ea808a946b6ce40c742998fbfd3463645552de18" +"checksum byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8389c509ec62b9fe8eca58c502a0acaf017737355615243496cde4994f8fa4f9" +"checksum bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e178b8e0e239e844b083d5a0d4a156b2654e67f9f80144d48398fcd736a24fb8" +"checksum cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)" = "2119ea4867bd2b8ed3aecab467709720b2d55b1bcfe09f772fd68066eaf15275" +"checksum cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "efe5c877e17a9c717a0bf3613b2709f723202c4e4675cc8f12926ded29bcb17e" "checksum chashmap 2.2.1 (git+https://github.com/redox-os/tfs)" = "" -"checksum chrono 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1cce36c92cb605414e9b824f866f5babe0a0368e39ea07393b9b63cf3844c0e6" +"checksum chrono 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e48d85528df61dc964aa43c5f6ca681a19cfa74939b2348d204bd08a981f2fb0" "checksum cid 0.2.3 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)" = "" "checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e" "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" -"checksum cmake 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)" = "95470235c31c726d72bf2e1f421adc1e65b9d561bf5529612cbe1a72da1467b3" +"checksum cmake 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "b56821938fa1a3aaf4f0c4f49504928c5a7fcc56cbc9855be8fc2e98567e750c" "checksum constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8ff012e225ce166d4422e0e78419d901719760f62ae2b7969ca6b564d1b54a9e" "checksum core-foundation 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "25bfd746d203017f7d5cbd31ee5d8e17f94b6521c7af77ece6c9e4b2d4b16c67" "checksum core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "065a5d7ffdcbc8fa145d6f0746f3555025b9097a9e9cda59f7467abae670c78d" @@ -3975,15 +3993,15 @@ dependencies = [ "checksum crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f739f8c5363aca78cfb059edf753d8f0d36908c348f3d8d1503f03d8b75d9cf3" "checksum crossbeam-deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fe8153ef04a7594ded05b427ffad46ddeaf22e63fd48d42b3e1e3bb4db07cae7" "checksum crossbeam-epoch 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "927121f5407de9956180ff5e936fe3cf4324279280001cd56b669d28ee7e9150" -"checksum crossbeam-epoch 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9b4e2817eb773f770dcb294127c011e22771899c21d18fce7dd739c0b9832e81" +"checksum crossbeam-epoch 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2af0e75710d6181e234c8ecc79f14a97907850a541b13b0be1dd10992f2e4620" "checksum crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2760899e32a1d58d5abb31129f8fae5de75220bc2176e77ff7c627ae45c918d9" "checksum crossbeam-utils 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d636a8b3bcc1b409d7ffd3facef8f21dcb4009626adbd0c5e6c4305c07253c7b" "checksum crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda" "checksum ctrlc 1.1.1 (git+https://github.com/paritytech/rust-ctrlc.git)" = "" "checksum datastore 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)" = "" "checksum difference 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3304d19798a8e067e48d8e69b2c37f0b5e9b4e462504ad9e27e9f3fce02bba8" -"checksum digest 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3cae2388d706b52f2f2f9afe280f9d768be36544bd71d1b8120cb34ea6450b55" -"checksum dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab" +"checksum digest 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)" = "5b29c278aa8fd30796bd977169e8004b4aa88cdcd2f32a6eb22bc2d5d38df94a" +"checksum dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6d301140eb411af13d3115f9a562c85cc6b541ade9dfa314132244aaee7489dd" "checksum edit-distance 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3bd26878c3d921f89797a4e1a1711919f999a9f6946bb6f5a4ffda126d297b7e" "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" @@ -3992,11 +4010,11 @@ dependencies = [ "checksum error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "07e791d3be96241c77c43846b665ef1384606da2cd2a48730abe606a12906e02" "checksum eth-secp256k1 0.5.7 (git+https://github.com/paritytech/rust-secp256k1)" = "" "checksum ethbloom 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a93a43ce2e9f09071449da36bfa7a1b20b950ee344b6904ff23de493b03b386" -"checksum ethcore-io 1.12.0 (git+https://github.com/paritytech/parity)" = "" -"checksum ethcore-logger 1.12.0 (git+https://github.com/paritytech/parity)" = "" +"checksum ethcore-io 1.12.0 (git+https://github.com/paritytech/parity.git)" = "" +"checksum ethcore-logger 1.12.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c48729b8aea8aedb12cf4cb2e5cef439fdfe2dda4a89e47eeebd15778ef53b6" "checksum ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ac59a21a9ce98e188f3dace9eb67a6c4a3c67ec7fbc7218cb827852679dc002" -"checksum ethkey 0.3.0 (git+https://github.com/paritytech/parity)" = "" +"checksum ethkey 0.3.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum etrace 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "5a3eb49b4ae7e88cc23caa812e8072c9f83a3e202e0b789ff4f9319cf796d8ca" "checksum exit-future 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9aa7b56cef68c4182db7212dece19cc9f6e2916cf9412e57e6cea53ec02f316d" "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" @@ -4006,31 +4024,31 @@ dependencies = [ "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" "checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" "checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" -"checksum fs-swap 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "31a94e9407e53addc49de767234a0b000978523c59117e5badb575ccbb8370f6" +"checksum fs-swap 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67f816b2a5f8a6628764a4323d1a8d9ad5303266c4e4e4486ba680f477ba7e62" "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)" = "1a70b146671de62ec8c8ed572219ca5d594d9b06c0b364d5e67b722fc559b48c" "checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" "checksum gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)" = "5e33ec290da0d127825013597dbdfc28bee4964690c7ce1166cbc2a7bd08b1bb" "checksum generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef25c5683767570c2bbd7deba372926a55eaae9982d7726ee2a1050239d45b9d" -"checksum getopts 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)" = "b900c08c1939860ce8b54dc6a89e26e00c04c380fd0e09796799bd7f12861e05" -"checksum globset 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "142754da2c9b3722affd909f9e27f2a6700a7a303f362971e0a74c652005a43d" +"checksum getopts 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "0a7292d30132fb5424b354f5dc02512a86e4c516fe544bb7a25e7f266951b797" +"checksum globset 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8e49edbcc9c7fc5beb8c0a54e7319ff8bed353a2b55e85811c6281188c2a6c84" "checksum hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" "checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" "checksum hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4da5f0e01bd8a71a224a4eedecaacfcabda388dbb7a80faf04d3514287572d95" "checksum hex-literal-impl 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1d340b6514f232f6db1bd16db65302a5278a04fef9ce867cb932e7e5fa21130a" -"checksum httparse 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c2f407128745b78abc95c0ffbe4e5d37427fdc0d45470710cfef8c44522a2e37" +"checksum httparse 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7b6288d7db100340ca12873fd4d08ad1b8f206a9457798dfb17c018a33fee540" "checksum hyper 0.10.13 (registry+https://github.com/rust-lang/crates.io-index)" = "368cb56b2740ebf4230520e2b90ebb0461e69034d85d1945febd9b3971426db2" "checksum hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)" = "34a590ca09d341e94cddf8e5af0bbccde205d5fbc2fa3c09dd67c7f85cea59d7" -"checksum idna 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "014b298351066f1512874135335d62a789ffe78a9974f94b43ed5621951eaf7d" +"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" "checksum integer-encoding 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "26746cbc2e680af687e88d717f20ff90079bd10fc984ad57d277cd0e37309fa5" "checksum integer-sqrt 0.1.0 (git+https://github.com/paritytech/integer-sqrt-rs.git)" = "" "checksum interleaved-ordered 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "141340095b15ed7491bd3d4ced9d20cebfb826174b6bb03386381f62b01e3d77" "checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08" "checksum ipnetwork 0.12.8 (registry+https://github.com/rust-lang/crates.io-index)" = "70783119ac90828aaba91eae39db32c6c1b8838deea3637e5238efa0130801ab" "checksum itertools 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4833d6978da405305126af4ac88569b5d71ff758581ce5a987dbfa3755f694fc" -"checksum itoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c069bbec61e1ca5a596166e55dfe4773ff745c3d16b700013bcaff9a6df2c682" +"checksum itoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5adb58558dcd1d786b5f0bd15f3226ee23486e24b7b58304b60f64dc68e62606" "checksum jsonrpc-core 8.0.2 (git+https://github.com/paritytech/jsonrpc.git)" = "" "checksum jsonrpc-http-server 8.0.1 (git+https://github.com/paritytech/jsonrpc.git)" = "" "checksum jsonrpc-macros 8.0.1 (git+https://github.com/paritytech/jsonrpc.git)" = "" @@ -4044,9 +4062,10 @@ dependencies = [ "checksum kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" "checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" -"checksum lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e6412c5e2ad9584b0b8e979393122026cdd6d2a80b933f890dcd694ddbe73739" +"checksum lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca488b89a5657b0a2ecd45b95609b3e848cf1755da332a0da46e2b2b1cb371a7" "checksum lazycell 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a6f08839bc70ef4a3fe1d566d5350f519c5912ea86be0df1740a7d247c7fc0ef" -"checksum libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)" = "ac8ebf8343a981e2fa97042b14768f02ed3e1d602eac06cae6166df3c8ced206" +"checksum libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)" = "76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d" +"checksum libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9c3ad660d7cb8c5822cd83d10897b0f1f1526792737a179e73896152f85b88c2" "checksum libp2p 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)" = "" "checksum libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)" = "" "checksum libp2p-dns 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)" = "" @@ -4067,16 +4086,16 @@ dependencies = [ "checksum local-encoding 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1ceb20f39ff7ae42f3ff9795f3986b1daad821caaa1e1732a0944103a5a1a66" "checksum lock_api 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "949826a5ccf18c1b3a7c3d57692778d21768b79e46eb9dd07bfc4c2160036c54" "checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" -"checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2" -"checksum matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376" -"checksum mem 0.1.0 (git+https://github.com/paritytech/parity)" = "" +"checksum log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "61bd98ae7f7b754bc53dca7d44b604f733c6bba044ea6f41bc8d89272d8161d2" +"checksum matches 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "835511bab37c34c47da5cb44844bea2cfde0236db0b506f90ea4224482c9774a" +"checksum mem 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" "checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" "checksum memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" "checksum mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0" -"checksum mime 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0b28683d0b09bbc20be1c9b3f6f24854efb1356ffcffee08ea3f6e65596e85fa" -"checksum mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)" = "6d771e3ef92d58a8da8df7d6976bfca9371ed1de6619d9d5a5ce5b1f29b85bfe" +"checksum mime 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "fe51c8699d2dc522bf8c1ebe26ea2193d151fb54bcdfd7d0318750c189994cd9" +"checksum mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)" = "4fcfcb32d63961fb6f367bfd5d21e4600b92cd310f71f9dca25acae196eb1560" "checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" "checksum multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)" = "" "checksum multibase 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b9c35dac080fd6e16a99924c8dfdef0af89d797dd851adab25feaffacf7850d6" @@ -4085,46 +4104,46 @@ dependencies = [ "checksum names 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef320dab323286b50fb5cdda23f61c796a72a89998ab565ca32525c5c556f2da" "checksum nan-preserving-float 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "34d4f00fcc2f4c9efa8cc971db0da9e28290e28e97af47585e48691ef10ff31f" "checksum native-tls 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f74dbadc8b43df7864539cedb7bc91345e532fdd913cfdc23ad94f4d2d40fbc0" -"checksum net2 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)" = "9044faf1413a1057267be51b5afba8eb1090bd2231c693664aa1db716fe1eae0" +"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" "checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" "checksum num-bigint 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)" = "e63899ad0da84ce718c14936262a41cee2c79c981fc0a0e7c7beb47d5a07e8c1" -"checksum num-integer 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)" = "6ac0ea58d64a89d9d6b7688031b3be9358d6c919badcf7fbb0527ccfd891ee45" -"checksum num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "775393e285254d2f5004596d69bb8bc1149754570dcc08cf30cabeba67955e28" +"checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea" +"checksum num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "630de1ef5cc79d0cdd78b7e33b81f083cbfe90de0f4b2b2f07f905867c70e9fe" "checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30" "checksum ole32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5d2c49021782e5233cd243168edfa8037574afed4eba4bbaf538b3d8d1789d8c" "checksum openssl 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)" = "a3605c298474a3aa69de92d21139fb5e2a81688d308262359d85cdd0d12a7985" -"checksum openssl-sys 0.9.33 (registry+https://github.com/rust-lang/crates.io-index)" = "d8abc04833dcedef24221a91852931df2f63e3369ae003134e70aff3645775cc" +"checksum openssl-sys 0.9.35 (registry+https://github.com/rust-lang/crates.io-index)" = "912f301a749394e1025d9dcddef6106ddee9252620e6d0a0e5f8d0681de9b129" "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" "checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" -"checksum parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1c91199d14bd5b78ecade323d4a891d094799749c1b9e82d9c590c2e2849a40" +"checksum parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)" = "511379a8194230c2395d2f5fa627a5a7e108a9f976656ce723ae68fca4097bfc" "checksum parity-wordlist 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d0dec124478845b142f68b446cbee953d14d4b41f1bc0425024417720dce693" "checksum parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "149d8f5b97f3c1133e3cfcd8886449959e856b557ff281e292b733d7c69e005e" "checksum parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d4d05f1349491390b1730afba60bb20d55761bef489a954546b58b4b34e1e2ac" -"checksum parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "901d6514273469bb17380c1ac3f51fb3ce54be1f960e51a6f04901eba313ab8d" +"checksum parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "69376b761943787ebd5cc85a5bc95958651a22609c5c1c2b65de21786baec72b" "checksum parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa" "checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" "checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" -"checksum pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "110d5ee3593dbb73f56294327fe5668bcc997897097cbc76b51e7aed3f52452f" +"checksum pkg-config 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)" = "104630aa1c83213cbc76db0703630fcb0421dac3585063be4ce9a8a2feeaa745" "checksum plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "28ea5118e2f41bfbc974b28d88c07621befd1fa5d6ec23549be96302a1a59dd2" "checksum proc-macro-hack 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ba8d4f9257b85eb6cdf13f055cea3190520aab1409ca2ab43493ea4820c25f0" "checksum proc-macro-hack-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d5cb6f960ad471404618e9817c0e5d10b1ae74cfdf01fab89ea0641fe7fb2892" -"checksum proc-macro2 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1fa93823f53cfd0f5ac117b189aed6cfdfb2cfc0a9d82e956dd7927595ed7d46" -"checksum protobuf 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7fec4b8f0fa26c52d29c66e93e8624aad859458ec5e5d4f6ddf923954293436a" +"checksum proc-macro2 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)" = "cccdc7557a98fe98453030f077df7f3a042052fae465bb61d2c2c41435cfd9b6" +"checksum protobuf 2.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "128a4f37a2df739a567a8685b17f54aa19b9c3c4a6a5b8731e97a419b3db451c" "checksum pulldown-cmark 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8361e81576d2e02643b04950e487ec172b687180da65c731c03cf336784e6c07" "checksum pwasm-utils 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "efd695333cfae6e9dbe2703a6d040e252b57a6fc3b9a65c712615ac042b2e0c5" "checksum quick-error 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5fb6ccf8db7bbcb9c2eae558db5ab4f3da1c2a87e4e597ed394726bc8ea6ca1d" "checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" -"checksum quote 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e44651a0dc4cdd99f71c83b561e221f714912d11af1a4dff0631f923d53af035" +"checksum quote 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3372dc35766b36a99ce2352bd1b6ea0137c38d215cc0c8780bf6de6df7842ba9" "checksum rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)" = "15a732abf9d20f0ad8eeb6f909bf6868722d9a06e1e50802b6a70351f40b4eb1" "checksum rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "eba5f8cb59cc50ed56be8880a5c7b496bfd9bd26394e176bc67884094145c2c5" -"checksum rand 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6802c0e883716383777e147b7c21323d5de7527257c8b6dc1365a7f2983e90f6" +"checksum rand 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "12397506224b2f93e6664ffc4f664b29be8208e5157d3d90b44f09b5fae470ea" "checksum rand_core 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "edecf0f94da5551fc9b492093e30b041a891657db7940ee221f9d2f66e82eef2" "checksum rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b614fe08b6665cb9a231d07ac1364b0ef3cb3698f1239ee0c4c3a88a524f54c8" -"checksum rayon 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80e811e76f1dbf68abf87a759083d34600017fc4e10b6bd5ad84a700f9dba4b1" -"checksum rayon-core 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d24ad214285a7729b174ed6d3bcfcb80177807f959d95fafd5bfc5c4f201ac8" -"checksum redox_syscall 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "6b8493950b18ff11387fef7fd9a9979f4dd77a36e182f754385838c70404b73e" +"checksum rayon 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "df7a791f788cb4c516f0e091301a29c2b71ef680db5e644a7d68835c8ae6dbfa" +"checksum rayon-core 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b055d1e92aba6877574d8fe604a63c8b5df60f60e5982bf7ccbb1338ea527356" +"checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1" "checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" "checksum regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9329abc99e39129fcceabd24cf5d85b4671ef7c29c50e972bc5afe32438ec384" "checksum regex 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5bbbea44c5490a1e84357ff28b7d518b4619a159fed5d25f6c1de2d19cc42814" @@ -4132,51 +4151,51 @@ dependencies = [ "checksum regex-syntax 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "747ba3b235651f6e2f67dfa8bcdcd073ddb7c243cb21c442fc12395dfcac212d" "checksum relay 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1576e382688d7e9deecea24417e350d3062d97e32e45d70b1cde65994ff1489a" "checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5" -"checksum rhododendron 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9e38401cc1b63e71ec9119115c7e1354fcf54c8006ad59a22409dd8bd93737b2" +"checksum rhododendron 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c8502867a61713f8297ed13b8de6fcdec1286d3a9ea543628f55bcfa8b30ac57" "checksum ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6f7d28b30a72c01b458428e0ae988d4149c20d902346902be881e3edc4bb325c" "checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" "checksum rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "89db7f8dfdd5eb7ab3ac3ece7a07fd273a680b4b224cb231181280e8996f9f0b" "checksum rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)" = "" "checksum rocksdb-sys 0.3.0 (git+https://github.com/paritytech/rust-rocksdb)" = "" "checksum rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)" = "f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a" -"checksum rustc-demangle 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "76d7ba1feafada44f2d38eed812bd2489a03c0f5abb975799251518b68848649" +"checksum rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "bcfe5b13211b4d78e5c2cadfebd7769197d95c639c35a50057eb4c05de811395" "checksum rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0ceb8ce7a5e520de349e1fa172baeba4a9e8d5ef06c47471863530bc4972ee1e" "checksum rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2b03280c2813907a030785570c577fb27d3deec8da4c18566751ade94de0ace" "checksum rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)" = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda" -"checksum rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a54aa04a10c68c1c4eacb4337fd883b435997ede17a9385784b990777686b09a" +"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" "checksum rw-stream-sink 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)" = "" "checksum safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e27a8b19b835f7aea908818e871f5cc3a5a186550c30773be987e155e8163d8f" -"checksum schannel 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "85fd9df495640643ad2d00443b3d78aae69802ad488debab4f1dd52fc1806ade" +"checksum schannel 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "dc1fabf2a7b6483a141426e1afd09ad543520a77ac49bd03c286e7696ccfd77f" "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 security-framework 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "dfa44ee9c54ce5eecc9de7d5acbad112ee58755239381f687e564004ba4a2332" "checksum security-framework-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "5421621e836278a0b139268f36eee0dc7e389b784dc3f79d8f11aabadf41bead" "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" -"checksum serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)" = "0c3adf19c07af6d186d91dae8927b83b0553d07ca56cbf7f2f32560455c91920" -"checksum serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)" = "3525a779832b08693031b8ecfb0de81cd71cfd3812088fafe9a7496789572124" -"checksum serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)" = "84b8035cabe9b35878adec8ac5fe03d5f6bc97ff6edd7ccb96b44c1276ba390e" +"checksum serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)" = "6dfad05c8854584e5f72fb859385ecdfa03af69c3fd0572f0da2d4c95f060bdb" +"checksum serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)" = "b719c6d5e9f73fbc37892246d5852333f040caa617b8873c6aced84bcb28e7bb" +"checksum serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)" = "c3c6908c7b925cd6c590358a4034de93dbddb20c45e1d021931459fd419bf0e2" "checksum sha1 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cc30b1e1e8c40c121ca33b86c23308a090d19974ef001b4bf6e61fd1a0fb095c" "checksum sha1 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "171698ce4ec7cbb93babeb3190021b4d72e96ccb98e33d277ae4ea959d6f2d9e" "checksum sha2 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9eb6be24e4c23a84d7184280d2722f7f2731fcdd4a9d886efbfe4413e4847ea0" "checksum shell32-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9ee04b46101f57121c9da2b151988283b6beb79b34f5bb29a58ee48cb695122c" "checksum skeptic 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "24ebf8a06f5f8bae61ae5bbc7af7aac4ef6907ae975130faba1199e5fe82256a" "checksum slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "17b4fcaed89ab08ef143da37bc52adbcc04d4a69014f4c1208d6b51f0c47bc23" -"checksum slab 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fdeff4cd9ecff59ec7e3744cbca73dfe5ac35c2aedb2cfba8a1c715a18912e9d" -"checksum slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2f7bfce6405155042d42ec0e645efe43eddedd7be280063ce0623b120014e7f9" +"checksum slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5f9776d6b986f77b35c6cf846c11ad986ff128fe0b2b63a3628e3755e8d3102d" +"checksum slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b3253057a9e9e291d19fa9c7645290ab61aff1d009b77b0065fff8accd833c04" "checksum slog-async 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e544d16c6b230d84c866662fe55e31aacfca6ae71e6fc49ae9a311cb379bfc2f" "checksum slog-json 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ddd14b8df2df39378b3e933c79784350bf715b11444d99f903df0253bbe524e5" "checksum slog-scope 4.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "053344c94c0e2b22da6305efddb698d7c485809427cf40555dc936085f67a9df" "checksum smallvec 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4c8cbcd6df1e117c2210e13ab5109635ad68a929fcbb8964dc965b76cb5ee013" "checksum smallvec 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f90c5e5fe535e48807ab94fc611d323935f39d4660c52b26b96446a7b33aef10" "checksum smallvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1347484b6f8bc4b32a9323d9800b6d934376391002ad9c528cc659fe8afc08ee" -"checksum smallvec 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "26df3bb03ca5eac2e64192b723d51f56c1b1e0860e7c766281f4598f181acdc8" +"checksum smallvec 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "211a489e65e94b103926d2054ae515a1cdb5d515ea0ef414fee23b7e043ce748" "checksum snappy-sys 0.1.0 (git+https://github.com/paritytech/rust-snappy)" = "" -"checksum stable_deref_trait 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "15132e0e364248108c5e2c02e3ab539be8d6f5d52a01ca9bbf27ed657316f02b" +"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" "checksum stdweb 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ef5430c8e36b713e13b48a9f709cc21e046723fe44ce34587b73a830203b533e" "checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550" "checksum subtle 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc7f6353c2ee5407358d063a14cccc1630804527090a6fb5a9489ce4924280fb" -"checksum syn 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6dfd71b2be5a58ee30a6f8ea355ba8290d397131c00dfa55c3d34e6e13db5101" +"checksum syn 0.14.7 (registry+https://github.com/rust-lang/crates.io-index)" = "e2e13df71f29f9440b50261a5882c86eac334f1badb3134ec26f0de2f1418e44" "checksum take 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b157868d8ac1f56b64604539990685fa7611d8fa9e5476cf0c02cf34d32917c5" "checksum take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" "checksum target_info 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c63f48baada5c52e65a29eef93ab4f8982681b67f9e8d29c7b05abcfec2b9ffe" @@ -4191,26 +4210,26 @@ dependencies = [ "checksum tokio 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "8ee337e5f4e501fc32966fec6fe0ca0cc1c237b0b1b14a335f8bfe3c5f06e286" "checksum tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "881e9645b81c2ce95fcb799ded2c29ffb9f25ef5bef909089a420e5961dd8ccb" "checksum tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "aeeffbbb94209023feaef3c196a41cbcdafa06b4a6f893f68779bb5e53796f71" -"checksum tokio-current-thread 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9f785265962bde425bf3b77dd6abac6674b8c6d5e8831427383aa9c56c5210e1" +"checksum tokio-current-thread 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8fdfb899688ac16f618076bd09215edbfda0fd5dfecb375b6942636cb31fa8a7" "checksum tokio-dns-unofficial 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bb9bf62ca2c53bf2f2faec3e48a98b6d8c9577c27011cb0203a4beacdc8ab328" -"checksum tokio-executor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8cac2a7883ff3567e9d66bb09100d09b33d90311feca0206c7ca034bc0c55113" -"checksum tokio-fs 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "76766830bbf9a2d5bfb50c95350d56a2e79e2c80f675967fff448bc615899708" +"checksum tokio-executor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "424f0c87ecd66b863045d84e384cb7ce0ae384d8b065b9f0363d29c0d1b30b2f" +"checksum tokio-fs 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b5cbe4ca6e71cb0b62a66e4e6f53a8c06a6eefe46cc5f665ad6f274c9906f135" "checksum tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a5c9635ee806f26d302b8baa1e145689a280d8f5aa8d0552e7344808da54cc21" "checksum tokio-proto 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8fbb47ae81353c63c487030659494b295f6cb6576242f907f203473b191b0389" -"checksum tokio-reactor 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b3cedc8e5af5131dc3423ffa4f877cce78ad25259a9a62de0613735a13ebc64b" +"checksum tokio-reactor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8703a5762ff6913510dc64272c714c4389ffd8c4b3cf602879b8bd14ff06b604" "checksum tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "24da22d077e0f15f55162bdbdc661228c1581892f52074fb242678d015b45162" -"checksum tokio-tcp 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ec9b094851aadd2caf83ba3ad8e8c4ce65a42104f7b94d9e6550023f0407853f" -"checksum tokio-threadpool 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b3c3873a6d8d0b636e024e77b9a82eaab6739578a06189ecd0e731c7308fbc5d" -"checksum tokio-timer 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "028b94314065b90f026a21826cffd62a4e40a92cda3e5c069cc7b02e5945f5e9" +"checksum tokio-tcp 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5b4c329b47f071eb8a746040465fa751bd95e4716e98daef6a9b4e434c17d565" +"checksum tokio-threadpool 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "24ab84f574027b0e875378f31575cf175360891919e93a3490f07e76e00e4efb" +"checksum tokio-timer 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1c76b4e97a4f61030edff8bd272364e4f731b9f54c7307eb4eb733c3926eb96a" "checksum tokio-tls 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "772f4b04e560117fe3b0a53e490c16ddc8ba6ec437015d91fa385564996ed913" -"checksum tokio-udp 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "137bda266504893ac4774e0ec4c2108f7ccdbcb7ac8dced6305fe9e4e0b5041a" +"checksum tokio-udp 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "43eb534af6e8f37d43ab1b612660df14755c42bd003c5f8d2475ee78cc4600c0" "checksum trace-time 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5aea07da6582e957c6e737eeb63a5af79e648eeeaaaba8fd9a417f1124bafa41" "checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" "checksum transaction-pool 1.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "be1efb673ddf49ab4a99893eb3af02f6563636033fb832c2b7f937641ad62b17" "checksum triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2033893a813c70e7d8a739ca6c36dc0a7a2c913ec718d7cbf84a3837bbe3c7ce" "checksum triehash 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum try-lock 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee2aa4715743892880f70885373966c83d73ef1b0838a664ef0c76fffd35e7c2" -"checksum twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "475352206e7a290c5fccc27624a163e8d0d115f7bb60ca18a64fc9ce056d7435" +"checksum twox-hash 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4f85be565a110ed72ed7048cf56570db04ce0a592c98aa59b7dacde3e5718750" "checksum typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887" "checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" "checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d" @@ -4224,21 +4243,21 @@ dependencies = [ "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" "checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" "checksum untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f392d7819dbe58833e26872f5f6f0d68b7bbbe90fc3667e98731c4a15ad9a7ae" -"checksum url 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f808aadd8cfec6ef90e4a14eb46f24511824d1ac596b9682703c87056c8678b7" +"checksum url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2a321979c09843d272956e73700d12c4e7d3d92b2ee112b31548aef0d4efc5a6" "checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" "checksum varint 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)" = "" -"checksum vcpkg 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7ed0f6789c8a85ca41bbc1c9d175422116a9869bd1cf31bb08e1493ecce60380" +"checksum vcpkg 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cbe533e138811704c0e3cbde65a818b35d3240409b4346256c5ede403e082474" "checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" "checksum vergen 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c3365f36c57e5df714a34be40902b27a992eeddb9996eca52d0584611cf885d" -"checksum version_check 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6b772017e347561807c1aa192438c5fd74242a670a6cffacc40f2defd1dc069d" +"checksum version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "7716c242968ee87e5542f8021178248f267f295a5c4803beae8b8b7fd9bc6051" "checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" "checksum wabt 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "182ae543249ccf2705f324d233891c1176fca142e137b55ba43d9dbfe93f18a2" "checksum wabt-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ca77c6b934a2b32618941b2f565aac43b8cb7141378c3b4fba4d8fcdcd57da3" "checksum want 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a05d9d966753fa4b5c8db73fcab5eed4549cfe0e1e4e66911e5564a0085c35d1" "checksum wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "522fe3fdd44a56f25cd5ddcd8ccdb1cf2e982ceb28fcb00f41d8a018ae5245a8" -"checksum websocket 0.20.2 (registry+https://github.com/rust-lang/crates.io-index)" = "eb277e7f4c23dc49176f74ae200e77651764efb2c25f56ad2d22623b63826369" +"checksum websocket 0.20.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9234b4e667c19995475227172446884f516ec0963380afa960d962ab9f4c0bfa" "checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" -"checksum winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "04e3bd221fcbe8a271359c04f21a76db7d0c6028862d1bb5512d85e1e2eb5bb3" +"checksum winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "773ef9dcc5f24b7d850d0ff101e542ff24c3b090a9768e03ff889fdef41f00fd" "checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" From 0d4a4febfb606e5221f21d2771b704ffa58290c2 Mon Sep 17 00:00:00 2001 From: David Palm Date: Tue, 7 Aug 2018 10:02:59 +0200 Subject: [PATCH 71/86] Add dummy impl of `on_advance_round` for rhododendron::Context --- substrate/bft/src/lib.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/substrate/bft/src/lib.rs b/substrate/bft/src/lib.rs index b1091af4096f0..6b60288c66c56 100644 --- a/substrate/bft/src/lib.rs +++ b/substrate/bft/src/lib.rs @@ -260,6 +260,15 @@ impl> rhododendron::Context for BftInstance Box::new(fut) } + + // dummy impl – remove and replace with whatever the proper impl needs to be + fn on_advance_round( + &self, + _propolsal: Option<&Self::Candidate>, + _round: usize, + _next_round: usize, + _reason: rhododendron::AdvanceRoundReason, + ) {} } /// A future that resolves either when canceled (witnessing a block from the network at same height) From 63678153ea12b5569d5e75a6af47b1076fcc41da Mon Sep 17 00:00:00 2001 From: David Palm Date: Tue, 7 Aug 2018 10:43:47 +0200 Subject: [PATCH 72/86] Fix build after merge --- substrate/client/src/client.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/substrate/client/src/client.rs b/substrate/client/src/client.rs index f4f0160e7cd80..7915842b1d8ff 100644 --- a/substrate/client/src/client.rs +++ b/substrate/client/src/client.rs @@ -573,8 +573,8 @@ where impl BlockBody for Client where - B: backend::Backend, - E: CallExecutor, + B: backend::Backend, + E: CallExecutor, Block: BlockT, { fn block_body(&self, id: &BlockId) -> error::Result::Extrinsic>>> { From cf7e3388af1fa1c4351287e471acc8d4cf002a34 Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 8 Aug 2018 15:30:04 +0200 Subject: [PATCH 73/86] Add HeapSizeOf bound where needed --- substrate/state-machine/Cargo.toml | 11 ++++++----- substrate/state-machine/src/backend.rs | 7 ++++--- substrate/state-machine/src/lib.rs | 6 ++++-- substrate/state-machine/src/proving_backend.rs | 4 +++- substrate/state-machine/src/trie_backend.rs | 9 +++++---- 5 files changed, 22 insertions(+), 15 deletions(-) diff --git a/substrate/state-machine/Cargo.toml b/substrate/state-machine/Cargo.toml index b8f65e1de8a98..0d5ec8fd68b74 100644 --- a/substrate/state-machine/Cargo.toml +++ b/substrate/state-machine/Cargo.toml @@ -9,11 +9,12 @@ byteorder = "1.1" hex-literal = "0.1.0" log = "0.3" parking_lot = "0.4" +heapsize = "0.4" substrate-primitives = { path = "../primitives", version = "0.1.0" } -hashdb = { git = "https://github.com/paritytech/parity-common" } -memorydb = { git = "https://github.com/paritytech/parity-common" } -patricia-trie = { git = "https://github.com/paritytech/parity-common" } -triehash = { git = "https://github.com/paritytech/parity-common" } -rlp = { git = "https://github.com/paritytech/parity-common" } +hashdb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } +memorydb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } +patricia-trie = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } +triehash = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } +rlp = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } diff --git a/substrate/state-machine/src/backend.rs b/substrate/state-machine/src/backend.rs index bba4f28ee551f..7db1e64d3f25f 100644 --- a/substrate/state-machine/src/backend.rs +++ b/substrate/state-machine/src/backend.rs @@ -26,6 +26,7 @@ use hashdb::Hasher; use rlp::Encodable; use trie_backend::{TryIntoTrieBackend, TrieBackend}; use patricia_trie::{TrieDBMut, TrieMut, NodeCodec}; +use heapsize::HeapSizeOf; /// A state backend is used to read state data and can have changes committed /// to it. @@ -109,7 +110,7 @@ impl PartialEq for InMemory { } } -impl> InMemory { +impl> InMemory where H::Out: HeapSizeOf { /// Copy the state, with applied updates pub fn update(&self, changes: >::Transaction) -> Self { let mut inner: HashMap<_, _> = (&*self.inner).clone(); @@ -134,7 +135,7 @@ impl From, Vec>> for InMemory { impl super::Error for Void {} -impl> Backend for InMemory { +impl> Backend for InMemory where H::Out: HeapSizeOf { type Error = Void; type Transaction = Vec<(Vec, Option>)>; @@ -172,7 +173,7 @@ impl> Backend for InMemory { } } -impl> TryIntoTrieBackend for InMemory { +impl> TryIntoTrieBackend for InMemory where H::Out: HeapSizeOf { fn try_into_trie_backend(self) -> Option> { use memorydb::MemoryDB; let mut root = ::Out::default(); diff --git a/substrate/state-machine/src/lib.rs b/substrate/state-machine/src/lib.rs index 8e27476b0e997..18bb38856fc59 100644 --- a/substrate/state-machine/src/lib.rs +++ b/substrate/state-machine/src/lib.rs @@ -31,6 +31,7 @@ extern crate patricia_trie; extern crate byteorder; extern crate parking_lot; extern crate rlp; +extern crate heapsize; #[cfg(test)] extern crate substrate_primitives as primitives; @@ -39,6 +40,7 @@ use std::fmt; use hashdb::Hasher; use patricia_trie::NodeCodec; use rlp::Encodable; +use heapsize::HeapSizeOf; pub mod backend; mod ext; @@ -405,7 +407,7 @@ where Exec: CodeExecutor, C: NodeCodec, B: TryIntoTrieBackend, - H::Out: Ord + Encodable + H::Out: Ord + Encodable + HeapSizeOf, { let trie_backend = backend.try_into_trie_backend() .ok_or_else(|| Box::new(ExecutionError::UnableToGenerateProof) as Box)?; @@ -428,7 +430,7 @@ where H: Hasher, C: NodeCodec, Exec: CodeExecutor, -H::Out: Ord + Encodable +H::Out: Ord + Encodable + HeapSizeOf, { let backend = proving_backend::create_proof_check_backend::(root.into(), proof)?; execute::(&backend, overlay, exec, method, call_data, ExecutionStrategy::NativeWhenPossible) diff --git a/substrate/state-machine/src/proving_backend.rs b/substrate/state-machine/src/proving_backend.rs index 67265eb81934e..daaa18d8b4335 100644 --- a/substrate/state-machine/src/proving_backend.rs +++ b/substrate/state-machine/src/proving_backend.rs @@ -23,6 +23,7 @@ use patricia_trie::{TrieDB, Trie, Recorder, NodeCodec}; use trie_backend::{TrieBackend, Ephemeral}; use {Error, ExecutionError, Backend, TryIntoTrieBackend}; use rlp::Encodable; +use heapsize::HeapSizeOf; /// Patricia trie-based backend which also tracks all touched storage trie values. /// These can be sent to remote node and used as a proof of execution. @@ -54,7 +55,7 @@ impl Backend for ProvingBackend where H: Hasher, C: NodeCodec, - H::Out: Ord + Encodable + H::Out: Ord + Encodable + HeapSizeOf { type Error = String; type Transaction = MemoryDB; @@ -102,6 +103,7 @@ pub fn create_proof_check_backend( where H: Hasher, C: NodeCodec, + H::Out: HeapSizeOf, { let mut db = MemoryDB::new(); for item in proof { diff --git a/substrate/state-machine/src/trie_backend.rs b/substrate/state-machine/src/trie_backend.rs index bfe1926ea60c7..0a4485b05627e 100644 --- a/substrate/state-machine/src/trie_backend.rs +++ b/substrate/state-machine/src/trie_backend.rs @@ -23,6 +23,7 @@ use patricia_trie::{TrieDB, TrieDBMut, TrieError, Trie, TrieMut, NodeCodec}; use std::collections::HashMap; use std::sync::Arc; use std::marker::PhantomData; +use heapsize::HeapSizeOf; pub use hashdb::DBValue; @@ -46,7 +47,7 @@ pub struct TrieBackend> { _codec: PhantomData } -impl> TrieBackend { +impl> TrieBackend where H::Out: HeapSizeOf { /// Create new trie-based backend. pub fn with_storage(db: Arc>, root: H::Out) -> Self { TrieBackend { @@ -88,7 +89,7 @@ impl> TrieBackend { impl super::Error for String {} -impl> Backend for TrieBackend { +impl> Backend for TrieBackend where H::Out: HeapSizeOf { type Error = String; type Transaction = MemoryDB; @@ -198,7 +199,7 @@ pub struct Ephemeral<'a, H: 'a + Hasher> { } // REVIEW: this is boiler plate, need macro? -impl<'a, H: Hasher> AsHashDB for Ephemeral<'a, H> { +impl<'a, H: Hasher> AsHashDB for Ephemeral<'a, H> where H::Out: HeapSizeOf { fn as_hashdb(&self) -> &HashDB { self } fn as_hashdb_mut(&mut self) -> &mut HashDB { self } } @@ -212,7 +213,7 @@ impl<'a, H: Hasher> Ephemeral<'a, H> { } } -impl<'a, H: Hasher> HashDB for Ephemeral<'a, H> { +impl<'a, H: Hasher> HashDB for Ephemeral<'a, H> where H::Out: HeapSizeOf { fn keys(&self) -> HashMap { self.overlay.keys() // TODO: iterate backing } From af1b17e60305c4ebe2b5901c825a91bae553706d Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 8 Aug 2018 15:33:15 +0200 Subject: [PATCH 74/86] Sort out dependencies for no_std --- substrate/primitives/Cargo.toml | 25 +++++++++++++------------ substrate/primitives/src/hash.rs | 14 ++++---------- substrate/primitives/src/hasher.rs | 4 +++- substrate/primitives/src/lib.rs | 7 ++++++- 4 files changed, 26 insertions(+), 24 deletions(-) diff --git a/substrate/primitives/Cargo.toml b/substrate/primitives/Cargo.toml index b1dcacccb0d48..f6308e92fe156 100644 --- a/substrate/primitives/Cargo.toml +++ b/substrate/primitives/Cargo.toml @@ -7,29 +7,26 @@ authors = ["Parity Technologies "] crunchy = "0.1" substrate-runtime-std = { path = "../runtime-std", default_features = false } substrate-codec = { path = "../codec", default_features = false } -elastic-array = "0.10" -fixed-hash = { git = "https://github.com/paritytech/parity-common", features = ["heapsizeof"] } +elastic-array = {version = "0.10", optional = true } +fixed-hash = { git = "https://github.com/paritytech/parity-common", default_features = false, branch = "refactor/no_std-friendly" } rustc-hex = { version = "2.0", default_features = false } serde = { version = "1.0", default_features = false } serde_derive = { version = "1.0", optional = true } # TODO: Used to fetch `uint` from "https://github.com/rphmeier/primitives.git" – what was `compile-for-wasm` adding? -uint = { git = "https://github.com/paritytech/parity-common", default_features = false } -rlp = { git = "https://github.com/paritytech/parity-common" } +uint = { git = "https://github.com/paritytech/parity-common", default_features = false, branch = "refactor/no_std-friendly" } +rlp = { git = "https://github.com/paritytech/parity-common", optional = true, branch = "refactor/no_std-friendly" } twox-hash = { version = "1.1.0", optional = true } byteorder = { version = "1.1", default_features = false } blake2-rfc = { version = "0.2.18", optional = true } wasmi = { version = "0.4", optional = true } -hashdb = { git = "https://github.com/paritytech/parity-common" } -patricia-trie = { git = "https://github.com/paritytech/parity-common" } -plain_hasher = { git = "https://github.com/paritytech/parity-common" } - -[target.'cfg(target_arch = "wasm32")'.dependencies] -heapsize = { version = "0.4"} +hashdb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly", default_features = false } +patricia-trie = { git = "https://github.com/paritytech/parity-common", optional = true, branch = "refactor/no_std-friendly" } +plain_hasher = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly", default_features = false } [dev-dependencies] substrate-serializer = { path = "../serializer" } pretty_assertions = "0.4" -heapsize = { version = "0.4"} +heapsize = "0.4" [features] default = ["std"] @@ -38,6 +35,7 @@ std = [ "uint/std", "fixed-hash/std", "fixed-hash/heapsizeof", + "fixed-hash/libc", "substrate-codec/std", "substrate-runtime-std/std", "serde/std", @@ -45,5 +43,8 @@ std = [ "twox-hash", "blake2-rfc", "serde_derive", - "byteorder/std" + "byteorder/std", + "patricia-trie", + "rlp", + "elastic-array", ] diff --git a/substrate/primitives/src/hash.rs b/substrate/primitives/src/hash.rs index bf259bdfa0b86..ac1707d4aef5e 100644 --- a/substrate/primitives/src/hash.rs +++ b/substrate/primitives/src/hash.rs @@ -21,7 +21,9 @@ use serde::{Serialize, Serializer, Deserialize, Deserializer}; #[cfg(feature = "std")] use bytes; +#[cfg(feature = "std")] use core::cmp; +#[cfg(feature = "std")] use rlp::{Rlp, RlpStream, DecoderError}; macro_rules! impl_rest { @@ -52,12 +54,14 @@ macro_rules! impl_rest { } } + #[cfg(feature = "std")] impl ::rlp::Encodable for $name { fn rlp_append(&self, s: &mut RlpStream) { s.encoder().encode_value(self); } } + #[cfg(feature = "std")] impl ::rlp::Decodable for $name { fn decode(rlp: &Rlp) -> Result { rlp.decoder().decode_value(|bytes| match bytes.len().cmp(&$len) { @@ -82,16 +86,6 @@ impl_rest!(H160, 20); impl_rest!(H256, 32); impl_rest!(H512, 64); -// REVIEW: The wasm build was broken and would not load `fixed-hash` passing the -// `heapsizeof` feature so resorted to this. `Hasher` binds the `Out` assoc type -// with `HeapSizeOf` (why? I'd say it's only used by `memorydb` to implement `mem_used`). -// An alternative way to fix this would be to use `default_features = false` to load -// `fixed-hash` (instead of the current `features = ["heapsizeof"]` and remove this `#[cfg…` -#[cfg(target_arch = "wasm32")] -impl ::heapsize::HeapSizeOf for H256 { - fn heap_size_of_children(&self) -> usize { 0 } -} - #[cfg(test)] mod tests { diff --git a/substrate/primitives/src/hasher.rs b/substrate/primitives/src/hasher.rs index 5d27715bf552a..f941ab6904422 100644 --- a/substrate/primitives/src/hasher.rs +++ b/substrate/primitives/src/hasher.rs @@ -21,8 +21,10 @@ use plain_hasher::PlainHasher; use hash::H256; #[cfg(feature = "std")] use hashing::blake2_256; + +// TODO: implement this – might be tricky due to circular dependencies (the external function linking happens in runtime-io) #[cfg(not(feature = "std"))] -fn blake2_256(x: &[u8]) -> [u8; 32] { +fn blake2_256(_x: &[u8]) -> [u8; 32] { unimplemented!() } diff --git a/substrate/primitives/src/lib.rs b/substrate/primitives/src/lib.rs index 1a7b3596bb75c..cf05c2034bb3e 100644 --- a/substrate/primitives/src/lib.rs +++ b/substrate/primitives/src/lib.rs @@ -30,6 +30,7 @@ extern crate fixed_hash; #[macro_use] extern crate uint as uint_crate; extern crate substrate_codec as codec; +#[cfg(feature = "std")] extern crate rlp; #[cfg(feature = "std")] @@ -47,7 +48,9 @@ extern crate core; extern crate wasmi; extern crate hashdb; extern crate plain_hasher; +#[cfg(feature = "std")] extern crate patricia_trie; +#[cfg(feature = "std")] extern crate elastic_array; extern crate substrate_runtime_std as rstd; @@ -55,7 +58,7 @@ extern crate substrate_runtime_std as rstd; #[cfg(test)] extern crate substrate_serializer; -#[cfg(any(test, target_arch = "wasm32"))] +#[cfg(test)] extern crate heapsize; #[cfg(test)] @@ -87,6 +90,7 @@ pub mod sandbox; pub mod storage; pub mod uint; mod authority_id; +#[cfg(feature = "std")] mod rlp_codec; #[cfg(test)] @@ -96,6 +100,7 @@ pub use self::hash::{H160, H256, H512}; pub use self::uint::U256; pub use authority_id::AuthorityId; pub use self::hasher::BlakeHasher; +#[cfg(feature = "std")] pub use self::rlp_codec::BlakeRlpCodec; /// A 512-bit value interpreted as a signature. From ca896979306351ca5a16cfb314f027b620547e18 Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 8 Aug 2018 15:34:41 +0200 Subject: [PATCH 75/86] Add HeapSizeOf bound where needed --- substrate/cli/src/lib.rs | 1 + substrate/client/Cargo.toml | 7 ++++--- substrate/client/db/Cargo.toml | 10 +++++----- substrate/client/src/in_mem.rs | 6 +++++- substrate/client/src/lib.rs | 1 + substrate/client/src/light/call_executor.rs | 5 +++-- substrate/executor/Cargo.toml | 2 +- 7 files changed, 20 insertions(+), 12 deletions(-) diff --git a/substrate/cli/src/lib.rs b/substrate/cli/src/lib.rs index a014189197020..f7820a0d401b2 100644 --- a/substrate/cli/src/lib.rs +++ b/substrate/cli/src/lib.rs @@ -26,6 +26,7 @@ extern crate ansi_term; extern crate regex; extern crate time; extern crate fdlimit; + extern crate futures; extern crate tokio; extern crate names; diff --git a/substrate/client/Cargo.toml b/substrate/client/Cargo.toml index 4a770be49240b..ff33130564eca 100644 --- a/substrate/client/Cargo.toml +++ b/substrate/client/Cargo.toml @@ -13,6 +13,7 @@ hex-literal = "0.1" futures = "0.1.17" ed25519 = { path = "../ed25519" } slog = "^2" +heapsize = "0.4" substrate-bft = { path = "../bft" } substrate-codec = { path = "../codec" } substrate-executor = { path = "../executor" } @@ -23,9 +24,9 @@ substrate-runtime-primitives = { path = "../runtime/primitives" } substrate-state-machine = { path = "../state-machine" } substrate-keyring = { path = "../../substrate/keyring" } substrate-telemetry = { path = "../telemetry" } -hashdb = { git = "https://github.com/paritytech/parity-common" } -patricia-trie = { git = "https://github.com/paritytech/parity-common" } -rlp = { git = "https://github.com/paritytech/parity-common" } +hashdb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } +patricia-trie = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } +rlp = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } [dev-dependencies] substrate-test-client = { path = "../test-client" } diff --git a/substrate/client/db/Cargo.toml b/substrate/client/db/Cargo.toml index 95af2fd905496..5c09c3571810f 100644 --- a/substrate/client/db/Cargo.toml +++ b/substrate/client/db/Cargo.toml @@ -6,10 +6,10 @@ authors = ["Parity Technologies "] [dependencies] parking_lot = "0.4" log = "0.3" -kvdb = { git = "https://github.com/paritytech/parity-common" } -kvdb-rocksdb = { git = "https://github.com/paritytech/parity-common" } -hashdb = { git = "https://github.com/paritytech/parity-common" } -memorydb = { git = "https://github.com/paritytech/parity-common" } +kvdb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } +kvdb-rocksdb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } +hashdb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } +memorydb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } substrate-primitives = { path = "../../../substrate/primitives" } substrate-runtime-primitives = { path = "../../../substrate/runtime/primitives" } substrate-client = { path = "../../../substrate/client" } @@ -20,4 +20,4 @@ substrate-executor = { path = "../../../substrate/executor" } substrate-state-db = { path = "../../../substrate/state-db" } [dev-dependencies] -kvdb-memorydb = { git = "https://github.com/paritytech/parity-common" } +kvdb-memorydb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } diff --git a/substrate/client/src/in_mem.rs b/substrate/client/src/in_mem.rs index 46006c604921d..5060090f9ea2c 100644 --- a/substrate/client/src/in_mem.rs +++ b/substrate/client/src/in_mem.rs @@ -30,6 +30,7 @@ use blockchain::{self, BlockStatus}; use state_machine::backend::{Backend as StateBackend, InMemory}; use patricia_trie::NodeCodec; use hashdb::Hasher; +use heapsize::HeapSizeOf; struct PendingBlock { block: StoredBlock, @@ -262,6 +263,7 @@ where Block: BlockT, H: Hasher, C: NodeCodec, + H::Out: HeapSizeOf, { type State = InMemory; @@ -329,7 +331,8 @@ impl backend::Backend for Backend where Block: BlockT, H: Hasher, - C: NodeCodec + Send + Sync + H::Out: HeapSizeOf, + C: NodeCodec + Send + Sync, { type BlockImportOperation = BlockImportOperation; type Blockchain = Blockchain; @@ -386,6 +389,7 @@ impl backend::LocalBackend for Backend where Block: BlockT, H: Hasher, + H::Out: HeapSizeOf, C: NodeCodec + Send + Sync, {} diff --git a/substrate/client/src/lib.rs b/substrate/client/src/lib.rs index 0277a1a1f03ae..457502b3d6df1 100644 --- a/substrate/client/src/lib.rs +++ b/substrate/client/src/lib.rs @@ -39,6 +39,7 @@ extern crate triehash; extern crate patricia_trie; extern crate hashdb; extern crate rlp; +extern crate heapsize; #[macro_use] extern crate error_chain; #[macro_use] extern crate log; diff --git a/substrate/client/src/light/call_executor.rs b/substrate/client/src/light/call_executor.rs index 84a23c37f88cb..5b8232acee008 100644 --- a/substrate/client/src/light/call_executor.rs +++ b/substrate/client/src/light/call_executor.rs @@ -35,6 +35,7 @@ use error::{Error as ClientError, ErrorKind as ClientErrorKind, Result as Client use light::fetcher::{Fetcher, RemoteCallRequest}; use executor::RuntimeVersion; use codec::Decode; +use heapsize::HeapSizeOf; /// Call executor that executes methods on remote node, querying execution proof /// and checking proof by re-executing locally. @@ -112,7 +113,7 @@ pub fn check_execution_proof( B: ChainBackend, E: CodeExecutor, H: Hasher, - H::Out: Encodable + Ord + From, + H::Out: Encodable + Ord + From + HeapSizeOf, C: NodeCodec, { let local_header = blockchain.header(BlockId::Hash(request.block))?; @@ -132,7 +133,7 @@ fn do_check_execution_proof( Hash: ::std::fmt::Display + ::std::convert::AsRef<[u8]>, E: CodeExecutor, H: Hasher, - H::Out: Encodable + Ord + From, + H::Out: Encodable + Ord + From + HeapSizeOf, C: NodeCodec, { let mut changes = OverlayedChanges::default(); diff --git a/substrate/executor/Cargo.toml b/substrate/executor/Cargo.toml index 63262ad21d699..f967b631c1eaa 100644 --- a/substrate/executor/Cargo.toml +++ b/substrate/executor/Cargo.toml @@ -21,7 +21,7 @@ twox-hash = "1.1.0" lazy_static = "1.0" parking_lot = "*" log = "0.3" -hashdb = { git = "https://github.com/paritytech/parity-common" } +hashdb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } [dev-dependencies] assert_matches = "1.1" From da711eff43f01f0429be82bf1e8e99a4c13f102c Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 8 Aug 2018 15:35:10 +0200 Subject: [PATCH 76/86] use temp branch pending PR merges --- substrate/test-client/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/substrate/test-client/Cargo.toml b/substrate/test-client/Cargo.toml index b31b8b2d0a7bb..7448107b4b1fd 100644 --- a/substrate/test-client/Cargo.toml +++ b/substrate/test-client/Cargo.toml @@ -14,5 +14,5 @@ substrate-primitives = { path = "../primitives" } substrate-runtime-support = { path = "../runtime-support" } substrate-test-runtime = { path = "../test-runtime" } substrate-runtime-primitives = { path = "../runtime/primitives" } -hashdb = { git = "https://github.com/paritytech/parity-common" } +hashdb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } From 3b206c2795078d82b3304a1a21761a0fd23c7d74 Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 8 Aug 2018 15:35:28 +0200 Subject: [PATCH 77/86] Remove unneeded tests --- substrate/runtime-io/Cargo.toml | 4 ---- substrate/runtime-io/with_std.rs | 32 -------------------------------- 2 files changed, 36 deletions(-) diff --git a/substrate/runtime-io/Cargo.toml b/substrate/runtime-io/Cargo.toml index 7cec69b24857a..b46f9909c2018 100644 --- a/substrate/runtime-io/Cargo.toml +++ b/substrate/runtime-io/Cargo.toml @@ -16,10 +16,6 @@ substrate-codec = { path = "../codec", default_features = false } triehash = { version = "0.1.2", optional = true } ed25519 = { path = "../ed25519", optional = true } -[dev-dependencies] -heapsize = "0.4" -rlp = { git = "https://github.com/paritytech/parity-common" } - [features] default = ["std"] std = [ diff --git a/substrate/runtime-io/with_std.rs b/substrate/runtime-io/with_std.rs index 4445ed30a7283..c81cedd079bed 100644 --- a/substrate/runtime-io/with_std.rs +++ b/substrate/runtime-io/with_std.rs @@ -24,11 +24,6 @@ extern crate substrate_state_machine; extern crate triehash; extern crate ed25519; -#[cfg(test)] -extern crate rlp; -#[cfg(test)] -extern crate heapsize; - #[doc(hidden)] pub extern crate substrate_codec as codec; // re-export hashing functions. @@ -199,33 +194,6 @@ macro_rules! impl_stubs { #[cfg(test)] mod std_tests { use super::*; - use rlp::{Encodable, Decodable, RlpStream, Rlp}; - - // TODO: remove these tests (heapsizeof, encodable, decodable) - #[test] - fn test_heapsizeof() { - use heapsize::HeapSizeOf; - let h = H256::new(); - assert_eq!(h.heap_size_of_children(), 0); - } - - // TODO: remove these tests (heapsizeof, encodable, decodable) - #[test] - fn test_hash_is_encodable() { - let h = H256::from(32); - let mut s = RlpStream::new(); - h.rlp_append(&mut s); - let rlp_bytes = s.drain(); - assert_eq!(rlp_bytes.into_vec(), vec![160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32] ); - } - - // TODO: remove these tests (heapsizeof, encodable, decodable) - #[test] - fn test_hash_is_decodable() { - let data = Rlp::new(&[160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]); - let h = H256::decode(&data).unwrap(); - assert_eq!(h, H256::from(32)); - } #[test] fn storage_works() { From 8064c6d2f98bc4a32d514bfc4ad7721bcbe1bfef Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 8 Aug 2018 15:39:22 +0200 Subject: [PATCH 78/86] Lock file and wasm artifacts --- polkadot/runtime/wasm/Cargo.lock | 81 +++++++++--------- .../release/polkadot_runtime.wasm | Bin 323041 -> 323077 bytes 2 files changed, 39 insertions(+), 42 deletions(-) diff --git a/polkadot/runtime/wasm/Cargo.lock b/polkadot/runtime/wasm/Cargo.lock index 3968c8cdccab5..7457a0c7d6141 100644 --- a/polkadot/runtime/wasm/Cargo.lock +++ b/polkadot/runtime/wasm/Cargo.lock @@ -153,7 +153,7 @@ dependencies = [ [[package]] name = "fixed-hash" version = "0.2.2" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", @@ -182,11 +182,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "hashdb" -version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +version = "0.2.1" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -273,13 +272,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "memorydb" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#e513114d69acf55584f346a90cdcd8c45c9a3cbc" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "plain_hasher 0.1.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", ] [[package]] @@ -316,7 +315,7 @@ dependencies = [ [[package]] name = "parity-bytes" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" [[package]] name = "parity-wasm" @@ -349,24 +348,23 @@ dependencies = [ [[package]] name = "patricia-trie" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", + "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "plain_hasher" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +version = "0.1.1" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", ] [[package]] @@ -501,7 +499,7 @@ dependencies = [ [[package]] name = "rlp" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -612,19 +610,18 @@ dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", - "plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "plain_hasher 0.1.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-runtime-std 0.1.0", "twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "uint 0.2.2 (git+https://github.com/paritytech/parity-common)", + "uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -858,15 +855,16 @@ name = "substrate-state-machine" version = "0.1.0" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "substrate-primitives 0.1.0", - "triehash 0.2.0 (git+https://github.com/paritytech/parity-common)", + "triehash 0.2.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", ] [[package]] @@ -901,12 +899,11 @@ dependencies = [ [[package]] name = "triehash" version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#e513114d69acf55584f346a90cdcd8c45c9a3cbc" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", ] [[package]] @@ -931,7 +928,7 @@ dependencies = [ [[package]] name = "uint" version = "0.2.2" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -996,11 +993,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c48729b8aea8aedb12cf4cb2e5cef439fdfe2dda4a89e47eeebd15778ef53b6" "checksum ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ac59a21a9ce98e188f3dace9eb67a6c4a3c67ec7fbc7218cb827852679dc002" "checksum fixed-hash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18d6fd718fb4396e7a9c93ac59ba7143501467ca7a143c145b5555a571d5576" -"checksum fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)" = "" +"checksum fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)" = "5e33ec290da0d127825013597dbdfc28bee4964690c7ce1166cbc2a7bd08b1bb" -"checksum hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" "checksum hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4da5f0e01bd8a71a224a4eedecaacfcabda388dbb7a80faf04d3514287572d95" "checksum hex-literal-impl 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1d340b6514f232f6db1bd16db65302a5278a04fef9ce867cb932e7e5fa21130a" @@ -1013,18 +1010,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" "checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" -"checksum memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" +"checksum memorydb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" "checksum nan-preserving-float 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "34d4f00fcc2f4c9efa8cc971db0da9e28290e28e97af47585e48691ef10ff31f" "checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" "checksum num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "775393e285254d2f5004596d69bb8bc1149754570dcc08cf30cabeba67955e28" "checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30" "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" -"checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" "checksum parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1c91199d14bd5b78ecade323d4a891d094799749c1b9e82d9c590c2e2849a40" "checksum parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "149d8f5b97f3c1133e3cfcd8886449959e856b557ff281e292b733d7c69e005e" "checksum parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa" -"checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" -"checksum plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum plain_hasher 0.1.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" "checksum proc-macro-hack 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ba8d4f9257b85eb6cdf13f055cea3190520aab1409ca2ab43493ea4820c25f0" "checksum proc-macro-hack-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d5cb6f960ad471404618e9817c0e5d10b1ae74cfdf01fab89ea0641fe7fb2892" "checksum proc-macro2 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1fa93823f53cfd0f5ac117b189aed6cfdfb2cfc0a9d82e956dd7927595ed7d46" @@ -1034,7 +1031,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b614fe08b6665cb9a231d07ac1364b0ef3cb3698f1239ee0c4c3a88a524f54c8" "checksum rayon-core 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d24ad214285a7729b174ed6d3bcfcb80177807f959d95fafd5bfc5c4f201ac8" "checksum ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6f7d28b30a72c01b458428e0ae988d4149c20d902346902be881e3edc4bb325c" -"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" +"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" "checksum rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "89db7f8dfdd5eb7ab3ac3ece7a07fd273a680b4b224cb231181280e8996f9f0b" "checksum rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0ceb8ce7a5e520de349e1fa172baeba4a9e8d5ef06c47471863530bc4972ee1e" "checksum rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2b03280c2813907a030785570c577fb27d3deec8da4c18566751ade94de0ace" @@ -1049,10 +1046,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum syn 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6dfd71b2be5a58ee30a6f8ea355ba8290d397131c00dfa55c3d34e6e13db5101" "checksum tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e9175261fbdb60781fcd388a4d6cc7e14764a2b629a7ad94abb439aed223a44f" "checksum triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2033893a813c70e7d8a739ca6c36dc0a7a2c913ec718d7cbf84a3837bbe3c7ce" -"checksum triehash 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum triehash 0.2.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" "checksum twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "475352206e7a290c5fccc27624a163e8d0d115f7bb60ca18a64fc9ce056d7435" "checksum uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "38051a96565903d81c9a9210ce11076b2218f3b352926baa1f5f6abbdfce8273" -"checksum uint 0.2.2 (git+https://github.com/paritytech/parity-common)" = "" +"checksum uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" "checksum untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f392d7819dbe58833e26872f5f6f0d68b7bbbe90fc3667e98731c4a15ad9a7ae" "checksum wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "522fe3fdd44a56f25cd5ddcd8ccdb1cf2e982ceb28fcb00f41d8a018ae5245a8" diff --git a/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm b/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm index 8d09a81248bc35e0292bd9c0f13b67fe1c70a186..0fee4ebd36e2c3cf201372f1dd0a88361ae0f8a1 100755 GIT binary patch delta 56848 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 hF+CM3H97OV+9iPP5d~GwtJRl@JU7jI=qm8?> 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 delta 57154 zcmcG12Vhji^Z(o3Ysn?KOF|%(TmpfF4$@J`fq;N?5Cka!0t7-5lh716svuYb2P}v{ z5R@V!668=(Q7l+cY=8=g6)ZFrL`D36X5V|41JtkI-|zp6?!K8Vv$M0av$Om59rKRH ze*S4}SxE%<`Phu%7T*k?PkYLDJIjd7ol-iis5q~nblBM3DVkN}7EFqwv=R9^<8zw~ zYtpQ_X7~TWT6*kOt6c@IX^abp=CC@fRtL97A_M>X`}5SsF)=aL7^^)d96*efN7?Nh z|A*T-=T<=Wa6DqIKv2_)*x`Sa*Kj@Z%wEmu)4b|wpXEQyr})M@b0(IKEiBF}&C4y( z^4)m_fO7KlN^-$k;mGmY1XoT`QU26nU>59`THD>!zC*|GRTbxj zH!|hi{JokxO>=t7?=gXS2C!+qzh`uUbGMmsa6v^$^v{tEgH?h#o30~raE?Lb-~#{h z)X{wDQ~oQd87#Y^re~(5;xTVC&g%G&c32f2u6Z;M^Kf^V|MXa|KX7wt#fF*|&g%I$ z*Sf#LTYIpbHK|=2G(b+jsLUT8;CZMcK_$M zXZV{9ieqgmx((V&8J7n4uK084Az^cPEaN?4{@x?2`p=ITREdtL1Y`Ygk8Ee4715)@ z1iR6{ddR&zTk{VdFodtW&;RUzBzhbkP(Y8)18dQvaA55O#hK=@dTV>ccz5eG&BMKo z#?{n3{@O#E5c`9NuKO2s691Nt=1&@PuRB|FMr!SkT|nn&zU$ww`76eB<6BoP8C#QO z`+JV-4F4l}Px@EpKjJ?#c4tNGcn9+@8#lw>W4Yj>x*=-bR16p5uxuR`>VC+5rw8EPH(S>m! zF|9Cz`o;Fg`gaxP*!GoSXzc#s#Wh@dAH15IdwrcSCff_U`5!9!!)(HObrV*v(S(23 zod-a%VqS4n7&`(MyRgr|-p!5g*#^?-H0mCkm$|EA^zFv8GRwPvwxO)|Z1eY>)`IUV zlQWL6EKrm$J;*ZspG|Aak(E0A1`zK%y#t8L>8;U`_op|aj#y?)K^_0u8MXb7&Pa@| zr0ii{$2jks{)018*m3`v8EvR^UEgqpWcqjdve(mQ1ceKf#72P0&M2yGo zd(ay&Psm)(faeh^IC7SHjO;}xj$?A3_pq;BBphZh6o?R2* zB)5`v&$oAYwJhz6C91yg?$;DU%wzFJq1V)1hw5LJcFHK@5m{mZYawp&2oDOBF@NzR zLy7wPj|^e#od5I9S^n(j9D=OKs1420`l=0HcDUl$hFPpjuptPadJg*#Y{>pM4GlLN zf@B1Z8pP@F-?eE7b>ZVppZHH~w6P2RlN-DKUy%QT&spw&esc}gv*y%f!j=~3RByzG z{r7IES()*T%BcSMEF_gb-k5#lpS4w)A=}ow*ii$iczUZ-u&?|tJ(S^O?B1Ah>2?|kiyGc6?R&k9g|r7&xRJ& zeTF(Qy%S`4u2(1G8U?_0& z3G;-{?Uimx^1A)(#hU(h`y%|QFN6{Q1^Y(%A9%sbR`?ITP?xRsUw%QUVxt%5u&4by zU;K*7JhXQz`_NzIrIUJv=5kyzPxAM8xh1Tq%)gT*knLXo@(t`q|KXS0Dk52EqdtmP z6zqGL1BZ zs=rGdhB9Bzzw_PZw1)if?k3JG{$=lbeTL#u6X{k=LQF?x7{%4oQCvM8xrZC;04Fm^ z>i~zcaeV>6LraIj#ska4?WQ%?+{_7>VTC~s*>{#H-8Tzc#o!M{lgX~w_fZ+y^@{$7 zyD9tL|L{n^_2ZSM970xrCqKTO@h7+W!#{0G^2q-5K`vML-&0tH{b&Zuv3YF7hSi%m zF5N|Q(@N~k6zC?+&^;@ZDdOJkLd`h0M=xY_`xQOgs=A$}y=|iL$|!xf0!GPy{Ob(= zj$;F;edqDkm|UHX(|A`37^(gVC&yTBBDdnq>#IL{FM{By$#;lN; zVA`LMq)Q>b$PeG7vCaOdlQ$6I4krck#d>0cowfbv&bmB$p?}|5j4uuOOwmGY7oKRi z36L8`+=XV-Z2nhI4JR?w{-IcR%_egMYNtfAFW8R5bncRKn8E zHu4`h9mOvCkDgZPL^Ju!P<{xuLNEEqndxZ3bG9=-w!(kxbh7`2(@}o^**M!dvOJC@ zr<43|oQ))!N6wPXbe-#tP05gR`v!Rra-}Rm-NI~%35pw;x^4yM)Ly-Kf=4fO^_0?e z%UI$3cb!jW34VFL54HRK`7V%SvmaM7_J{x7pOja8@u%l(U#$RxvHo?Z;d}lZgS?}s zQ~YOtvQnL@7Z$O46^~rl&3s;HIoiT}rYWdTf!H9Me>(-DJbI!3saDtwtq=*GDF4x4 zo*iWJVTj93#wCjQfE%b!#aNn(L2(7AqAC=7wYXwKEs&p`NbyJh+JibiOU{<3ML z6QR41Wm{N%aJKAYrdD7ZV~to{*@EE+#3Z1$xH6BiFR5-1&NkWBE(N)2GL5quGF7l} zWCZF8cqwF+x?9V-wgWO z7X~I)W8*mU$`c8!O=eqcu&R5~++O6Vf+a_B57N`D-#uWzWil z6t*R8m%e{gTNHAeY{nMFVr)^Km0zW>uI#dGSe?bQEAp1=jJ93!uIh|71oFA+>?n0; zWhzU@YA*MX*MjsZb=e^KWD0i#ZcAg5Oto4hr9F*xmY(`7O!le4elqNG+LC}p=GSCD zQ?bNMHd4Nt!8(D{h+6DjN;_7Ijb(4iPPN(lMv<4$*3nGtg3z`ti`}nG{IWXib4ozt zx2h%qjFegRSv#Gx+On)Zqlp}l_1PBY4jDAH8pzRed0NERiy<}#*4kw6>41MO_v1iB z)}GJvsN$0O{1mM*a@saB%Sv(dubPv-i@cu*mAZHB%>sRwp zjCBn-*76T*tbX9=qrB_Dh!rG>nQ=H)ah?e@xxynjTk&)|agaM!FfU89c>{rJLd@g0 z8~bJ9J%U}R;VWU!tb8Tg)q7@}(I;cithO%utu4e62OMWqIB2EaGZDf9YLyqPB8Q~Z zDpE9%yVFEcV4Y3GRjTD%cJT`PMV2{)66UK8v6#KHu{w4c|B7*F1{=aJ`&?ZXUAlTiqC|W$g7eBN- zMs$XTB_#{;uH>W`aW{WtmF$%!s>*^YBAF6v$BG%(C4L$!?l!EbT-QX@r=7gKuZmcR zk|0`DHi#1)&_JLhPQ1a{z4E4bF^RvwLp~iZdhyqvlJ*4Ail5mb+b4*hWYsuPO}aBg z6?rgL(9T4TPZV>wf2%x~C@%9~AD3s6M7Dtwy^P7P(nT)2HPE$&h-dr(CP&s3ZxgA;8R7}75}##=QoeXcpnok< zUFqG#+5-Np++JHuiVrbFSAnu^rbugW#600OUDoos#+lh}6F6uBSW@oK6j{DgJIT)M zc7nrG$W!xIczJWa6H~>Q-Maw-+3m#i-b)bq2A7Bu&MQOL&@z*O?WTjgdx62hRqVoU zs`EbYf-vJ8+Y=^x*JM?*La9}*$eu8LD~1yy{d^GIPtOu*B)0M_F^Sa+RI4L8aT>Cr z^+a0+-3Y9yFKRLV)>ipi1JRCe+$!x2#e=ZWvZ2_*m$E?nMq)H$Q|0Eyn4(ji@}?>x zfqzyORNGitFH$(EiG(I%c4$tLe5Z-;EH<#Ixrk*R-RxefTpebTPY1$t>A7{4{IrEgu<2G-{?b_bm>idJ#JUPd6Q@@V9GmZi?@?Xj11UJ2CpAShnybeVcz4ifmhJcryTDU zy?im`tZfKOi-o7*wWK+{T3QT64(u7ZcZHQUjh>j!bS&syU?n3=dk=;Zc8@bn>t3jiG&Oj5i`51)TCkd(prdOG!>_Zat2`&h{dTDPde<<473t zKnJndLu--6mp~BnmmCxTSQbW$G zy)(_cN?rAyFw-s>z#p>HgDk!3>-2KN;a-l$H1{m#Uc}rz;qn|TW7YVkZ8E!zrK3;i z6?{svgE-Zmj$Jin)TVLCD`UgiUGmK`mSQB=kP(YnEajywW)n>!^4Z0VHcUjIuS{OT z(i-hG=ViIssY>1T1~V(uB+mV-*>=&ne6+lCDXT6wEeX=hl%FkO-HC+;{vcIIWJMq1$VdOdIsTvyqgO0Gj~#{#lWcw@H7#iM+DMh(romyJ*7H8ppMOzkKV zunM&5h_wS#rnDp8e3%|lgt7b@9#Mqp5y_>U#OqXgNM~^yXYWz%I)UR|#8O_bk^{BV zs8j`5N@cD*QI%$E&8?y_iQ>ImVSVZcT6Pyd+OqYjo{71n`+?+ZVWL;TL-()X`~l8{ z{q^99!`Kk#D%{;xj_W4|V8bEz^%HbtCV%WFXva~bKThr|*@IRECiWKvjJ*`7(SomY zux^1@+wmVcn-X}YJ+JSQBWAP5VG^U}urmLdKWo#1eeFw@5VN;C(Cc%?7%yKf*Zs`m z%kBbXo5Q<^oU4Qh7D`eLC+d*MG&*jXGKK+*eF3)xUqm z&Vb|ZzGki2ud;U>3itY+Dc51pH|zwhiNfynwu9uxovh050ir2` zDqx<&wpl#k^bRGQww+<-24$@}yACr(bkAD#4h5@OmN%zUm;l(um);M#g@}ZW@3lRJ-R^U)!#O+I57s`}69n+P%2?FWN-~vh&h& z9#d`iMHVZMe8-0KD@v}FGAj5U!l^4ae~(%8%Ub#E_bip9ye^$*$c8_#h^wT$<_Fd$ zD4^>ZyMeqL5iV_xt2c88o{N&LyRlv`DnonfA9PMaPn>1BrcCOdWBvJ#HFEYj)}bH94~to*cD-0C#}8|SI$kuy;xzQ;Z^ut2 zoM&UM>8n$Ip3eK#wqU&q_gFhd){dy<^d4QkS4#``R!M^jrQwxl$H;~eHJ#o!*URu9 zSuOYb=S{S8%wpM2U$f|HWZ~Kw8=D%F65`ou#WVbVRi}d`=e1^WXCIfKnXQe9f z7gz^2Q@(VX)iGyUVDSYuUOARmE@HAzlk2MSglp-_-+o~a8}#bAEoxbU+lSeumL^cI zEC0O2TzI&C1(ka8xnJ4cRH5Z>EX}vuyq#da$2FgowlVmM_b;-pvRGIW^cw*osiqqk zLM{Zfrv}X}D(jABNM%Upm)}@pzJHyp^E=CAWpeS45YP1AnL5Tn-`dM>euvEEI(hkb z90^R9H(q8JYshtKU>c`|c^r|E5m8Q0Jir8utRpfaBGT!tctrO9gB3@FuyRm-@CO^> zyVgF1!z#f}gpr*H9-!#<$?{M32^C-`u&H45N(sgedsdOj-)3p_*7zKyX7c?k9q(%3 zQn_cqnXtgyi1LJyLxjAanfK5m@`WpGUY=X8fpZ_byOsfCUPO7K$Q!c|f2oQ;st3~P zIJWz%8KVlBn{H#Wn44}jS!6Wh@$!{FSzHyH$D(_kf*vrrHczU|xqxFaa9XKfSSp%! zbbH*mUXYaThOdUu1rRv$R3|qv6cnSN9~*sT&d#-E9MdB6tG}X63zZJ`gs* ziC6DPmfyK~29E07(R>=eyhc6{&AnvZ-;3t7(^ShRj94|yP9rQB04qf+?{F4bxtqAVa}cBzKEl*+sFHRZCihi}GK`@9E-i!?Y9>HKEH5m3%w zbvZAcCmJpZdAX*~chBwDT0rOj$^y~>v~K;J^3582KOGM*t;y5a3Aw8#U+4>i3wV`g z!eEkLXxLpRG!vWJu%PWVCc9~SL$z~1d_%h5;6bH>WP6pBB?}DOOI9{5hNjI@mKICT zGFTyR;Kd9+j{TqbG=b^0`8GzAyM7k$ng_GYuj(i|X~9kwQvv%2+MMf7jL|{!0#RrO z)deDThk#xj3-n4|AVOE^{jstMxIiRNWbtZIIM;v#-1>E)FzK$zsyNjJA^0|EOxCQ! z8wGg^I#++gld)EqJcT+||I8D(B)N0>d>vjbB9te2q7L`CxLWMYt>Ovks>_q)ozw72 z=Hfb8K8-b@S@Kq6-an8voeklvp`7nyPddzHTV~efeNiMZy)LhzH#1^Wf2Z_`TF zJ1xW}oHJdnkTi5N@gdfY|8Z@*%O7IXg3PvB#iB?eCbRS5@bq4fLy2qI4S?NC48C5* z8n%sJyoPANvX<>qTO}m|^f6ifQI1|iSCP_;nz(Hp!-XLEz&h5Q-4Zyuj@`%jua5+U zawA`42+)*J;PQIbjIla_CXce33~T0q$5``LAzfT>k8wB?l6DZHz?es*!^P3o5H;`R7 zv$M!-<)d4m36THCTUhOD7T~HfdM)cAhdho=GwiP^HKiFF zcRY@b_4Gi+R=lWU4Fk)b#Je?iPM+A#swJGmg*Ny?i5?d{;*DE-n)jS^KgCj5k!W#I*Jn<$c9^2aZci^~8EN;hmxf7BL*^x1Y&g z73?=Sm4R+M*$4(eZhM;b?@7(Zk4vxWiKmCFvRR#->PRQ9u1d$$uYq(tYMSXDo#7(c zXP4r#XMlB0dYg47KS`ei>7Fz-zv)~M-0TQIg!@_G>i|2+DdE7gY=C@y6?4hP&*21d z4wHkPV>M_&@;w)-XMr=%F$?rH@Y5a^X&vM}qF(^O>nM;1M@BM%8bW4zVu-(> zd1vay6FjO=;?@2_;#K~_pqHW7GXnmX*?yrsI_{|gk8ad!EW<|*UL1xB&S1K72Gc!p z${CEKGB}Df?GC^bq`B2SRY`MUyB%~F)_jJZZiQ%YNbO1x=crZm*Sxc(<8_uLZ+M-J z^O*v0sf!}%uAsx@G6mqeN&qzA7`a5#&h$759sG_<$nMlK^ zq+6Pn=m{k6XMMOO(iUNtC2z9YSTjTfmuuc+H5{I*9^Ne}t*SitCadD8+MJ)@UUD$r zVlBwQz?5qsOWwjQF*w8zyrsWYf9@@|h;Vb_ION2)*-SQ9UVNLKhEf0O04DT2CSO{G zqp2?Mu#sJ2JTbwMPrPd66R6|+HmZ$)+oR_h{e69-+6W{V{e5F2Z3Hg7!%ArGk9(Ij z#o<}`yR4Rg*?j$dc8>4bB%k>JXS6SDl1DyZ$?P6^;RAL%N(Xv<$fDGOGW;Xfk zfXN|;+0OI@nCh8)52qDIfx8KCI`xY}7Vqni$|gr}*&wG8A4a`-xe;#!d-qc#ekZZp zawdC=(VB^MZip;s%X;e2D#& zU^XAm_BXDQ9&q*HFEMs1u(g;fDqdH-aby?rUaxSuuT z2R6&t2e4^JcBco}xA6~>BXUr?_B8lQ`CecC1PrIIAAg?FP_(^`SEr#EdK*v0P|UbZ z@9Jl_@e!`~iFn>Yg3IS1|tbCVB7eJSFy^xxyIlpfC^RGq>|K z%q<5F;uU=jtr0X;teyy(R1q|K=Dyz0AJex~`eW>TR=~F;5ar9MKP|C;hyP`jLkIIa z-9Lf5G>bPiEh55(a z&^<@U75u8ZmJ#F_Tgf4{xM_&x!twkq(n}gd(#y&DJk@d!(+7R9ypYew8)pJ>SV8h8 z@Hz^0VbN$SAD+NF&~2UxeEfi5M^@;fA>Bh~4Bfk`GnT*TOv@Hx1&Idbv+)pKkWsq# zNCDp!VHg{MwOyg=L}a04apKZQS?I1gVPkV(YQwRAJOOhuE=J&!r%4|ns{a_Cgv z;f|nyAp0=ypH{@<=aB^7xTAvgfD35Ut?QMu%CVHm!QdmrLL0gV(goFG0nOxt970@%LF&o3?2kvUj z{!ll>rZ#0yf^=3hHnn<)XLsrzV{2oc@qq5$W;kWXosk=xvyrqWqEXt-20m)eVigCnvCwh6PZQb9FC1U%_-N09_U=ykWOrO8 zjO)(sjsB_Ps=VJTC~qfU!UCguumOyJyGcIZ6B}ko7LC+VPC<)a>eS+6z1ai&;7-}R56fat$>Du49M~AEGH>+3mh}%}u89P<)oB~3GA8zAr*I`( z4(q2oviJ34X@)3z@}o=jLe2W))kJ4Gv_G5h*IjBSlWt@Cz`OkHHrAAGFI5@9?uPqP zHh_&LOZUs|tb#U2j}Kz`-USN`WeNhp%R)g1CwO}&`1+=dE*qv{W3qdJ95@*20=1bl zn9aZ|VtxmE#2m7~;X7D+9_s&Lgli2$@7QVCCkO7^Yn$bq9Qg83pFKHjA%o9+%ShHx z;2zYJ(G1H2GM*m8a8(`pX3b-(F(20Fp<77*IFB7=;jclby~^)g_BmcGel(s9C1q`v z&*;)hpg5mR!vxqO&rM(*kP&EBz?uotG<@ID4zig7?oU<7c2jgNrc7ZsG01nWy6ZF|L2$x-$C&vPS79pWtnvj#rVde*zJqu;o*nTR?$3e#+D}y^>GaWWrs?Sbdpr zl-)#EIzXX;totdh-9C7f)uJmUl__VA;(aqN8K6P~YNg#VY<}tnN{`XoevH9|<7hqf z%ZU(U76O{v)PNis8yz!$fP@s=v;YBFwRs!gy+vpBtF3j;ZW1+z9k zg^S8~TcTfYHjpTF%yWct5{(=K(R0cd238Cgr>yaG%Q<*AS~UW7Lgm2WF`|o=zu!@& zPY?rrU4^EFX__|0>ef>5tgg8=7oNpN`m0Ef2L7(yt;OPbfoqx-&qGMJ;dvC#bUcS8 zyR|BKR@n9YD@d;jyo$}OMTX=*W8_ZoTs&{Za~=ZN)lw7P*w2G$r zweG<0L?HS_z*}jWFIXWFou&%e$RGk44owTk(`@is0?tTXIOihVS`x~AgC~{$2?3? zS+9?ge-I6K3rQbfq?;X5<b11 zA@WZ@adD` zIl!UHp~R5im7g7wM#ACZSD$n;?9N25$*Te;Y70kZ(*+v;2of`b?M(lE63UO$|Ivy!%Nb zp#uugc$+q+0MtmUJxHeti@Bz3mx&XD_+mVmzYTCB`DC$J;I!oxjLMw?U+w53*{M`y zHoLNDujZ^;lAkv+*Q4i^l;#wdmUwbXQEKUZ$c^-jm{{t`Ef{4auDee*EfMbq3QBQX z+S9XP|B~F|l7_{FBXWyN8x|E8j>{ccTGFtnFn@f`sKQd&c)m!MdnSsizNgAS&Dwfo z;iz2AyNeK8Yx*UQ)|z(@VfK=#C9MndM`_-DL9}4v1kL+q5G@*;qj}#8qNP)cHSdui zT3mp-p9Rq=rFok78$zqM$M1T`-jhUf#$0^H;k@-fG3~uiq{v4ni5PsWZ*o>pSfF_i z2hk~|XzX|p9hEmm^L|aJ!|b}|Jx#c)Cer!Y?c@u^e=Z?rJ zMN1!1j-7IHi!pXbgD6Hs^L{BWPr>!f3$p4|QQx*|8Oo;1q^Tk)95u%0j%uKJpO*zw zMH)LS%chDdwy&s2s(f#%h<65y%vmlEOchzxA6t&hDqWP|MtPveV{%J%t;U7WYW2uv)3yVi$B!(5_ zP9CN@EGbJ#rX;tdga)8EcXCcKbZ4_nzFQ=+J+j5!BF%S*%BcoQiqOEZAex_x2I%WU zy#dwfVWne>b4$jmx$+BTkt|w|$SKKHqdR+LFllP3o^(GYDe|R-P_dW!eTQX{zNU!n@6$&pY9@#KIZ$yLQ5~$Zo`R#ooEp^dD$g$P* z6y!_*uXJnIX)n#2(0WuJ`nBRA`Sm@bamGGM{x{~K316~GZl5ozMn8hjpma*meT{Ct zKYky+(KxtD9-c3H^HmSaItxUDYWp5Wu}F-pr*v$tNB_+p@4<&<;R5_H#>~}n;{s93 zQ;v&wPCI^er***;^mtWo7 z)uQQTr(Sz<9@xgUx!gIT1>LV(GeLWt}Cx#WMMI^O{oVOt+Zvm zd~+@s$JNSnb47LB=auexz-MkyGe6^z4XE}Xr@UIOmdz7Yx}T-;N`XpB!PCVcS~O}R zIu=Ari(vrgK57;&%7scS3Zf%P+weB_;ylqNfnLu#U7aTuPxMU49hGNx=)|LB-c$L^ z$Ab1fif?~Rw!KTV%lP&&)amt~ER|y0a<8aXgI;qu!$%fQY7I{E3Ni5eCzh zyM?y*idwPXQF0h1Ps%MV#A5N&MmhOjk-?X2l56f2@y#}Ds;mbAJWi-nl`n+am7vBh zO43On2?;p&{r+CjD2@(%^|B)i3-b#{kJh|+!_sIWZo{wLEJrRBwHm&-nW&G-ozOZz z2lAvHzm6779HDs+RH7u$4>!wU)5Hy)SzF9fYEmxLCVX#HZ3aGp{CcZwH3Mgh_-1V64ADFz@C1tg8{3yG528&vX?bm-$n$yva*K5CJuM&Di3UL;a_&^Hy%YE(LO*)i4`&3hqO8=jr!y&Oaf z@o3NnQ7Tr856<%D`D_#1C%Qb@<%&N;=`R`FCnqZl02h7K&Ce z^id4_qnzR#eW`f&DS2rIjK|C!vat^xTf9Sd^@+~(&7a>V(rssUpnP+Ad4@=r4=#Y5 zHdM$9KGC%no!vN{iqOchIrxn>XfGv&sid*FIn>_@`NtxdoV7b;$$g?h?CU#&1#}k_ zCwY@*it17HQJhoXkb8gFDWAJvG{{)`G}8Xv0D2w(V_!ZkTRtFqu*c>62Sh{u!7jP` z0eqRZNdEGGxPb*^-3LV)e=i_=JP5715Ri8Pw|mQXqm>%+d_zlB*=wG#$=3IaaJE}^ zykFG7Bkz8Z#GWB}){cJe3Fd4tDtE-hF~jl-Mi+jLH{E`G`?&W(F(TnzY!v3h$+uV> z)A7(8vk@`Pen_?{6Dht!$bOYlm}9xhUPXxGF~r=l6|r#aLTqt7huEswiQLzeU@^)c z0m4)+cN_yO^fFGALzzoR(HvJ)8IC0Gupt(jW=q1;e$0osKBaR6)!6GHfj=YJ*6z(+L2YYKw>F=z!R$pGP2b^i=8n2yqNT%pEz14K|xT02q}^@X#ES z5HrU##N2TYV(^JS>r_N`i`7pLW=&^u^kUJX%~BMwJ%q?f%p3a3ud-x!&;RK&@~OGHMskCA5m0Fm8d zn}9r9F(T(NIbjLDQoPd`>xY-%gVX&Fig;fnv2y~!7Ua9GK$L}Yac#kd!(O!=aGepStiDvl zXPiVrZv>sIpwb!Rqo{-z%cP|+9eQ!%4ebqt>xn+2h{igr#p9537?raqg1-MukY?xg1P>#%QrMkQ zz}AhTz7*YoD1HQ@m1u}%um=IspPB{scL9-gb2uE+eUxmNH{HG{sgiktRR6||m@_Vh zEM6=bFtFnCp%J&kP1;2*IPk3?QfP*7hx=|54A-oMfb9gRryB@{fQEA~PXw(&M#XPgPzXY6* zd`zp~0M-E|=0NsYAP!3+&AK#2J&D+FP9-h6$<<}$T8xI8TB5B{5RMwpXeYp`=~OV< z4R8)pStEBSLt7*qEv2RMlLG}ApP^8F``ZGH65Hiq) z#_qDDGBCLhxSepH#q%=w_z*Z9j4 z0z^x#j`%F9_#ku*-=k}(QD|^PKj;Y(*h7{yn$7V9Z?L4h!BtCw?bfsk)TC2f7G|xn z6!5m&^y6aNAuaV+4AdvUYf(PF(x9@o0eU`j>E#KhPNKY)mPrfjSSr27qDuGbZ~7f?Wn`2&mR-4I;N3HJ;R#k+Z|I_y_8L05farf|xKGuuwG(yzyj?$<1r0@S0nrm&(Q5&E z=uVKGAa2kL;+5p;qY8wlNKntl0mqck@Ou}ED%)DwUkG=q30&1tAZ+5j50 zUjof?VlkXXK~v)14crv>DS{1g$D@c6H|pF%up#X!9PLBgwMb^w1_%47DFLjYl7>KI zkV!Mc6lf4Pm<{5U%sNm-2>>KW0Cxh%BPi1uz{Ajfkfur?+@Kl6D{0P09n1ovp#-p< zShR3O|6}BZ3ivDFq}C?OLEIp(aMgY#{qIpHRKWX*zAj+Ra}mACgp#}kqG1&d&$kBt z8Zoqrd+I_%C|}_%c`BJG!ifn8*+Y0Y;4qgYS7o+*{fq+OQrWE_ZrH6Lu9!@1i8cnK z3OrXugJ{k&X$svGF1&_h5I0B$agap+70tz{15zYd#rI3VVJk?}RQ{W0ei%>h2p&#U z3dZ9G-ue!BY$(r;SUh)x;KCl}5eA-4^zOE&O+-VNsQwa1nr|!+Hx>ilm3d|Z?hQgp z(QFQ7Y=U?qjXVBQPlB&eC`Dt9=F(_o$OHxUjYXOD4F&~RbtUqxz@t&tTqy`Q^up7F z>|Zd!kWUa-BG=T?(|CwR?^QK+T3>py(V$6iAo79)K`)3K^n$oPgtYYZLKU_0_^|YN zra>6fkg^d|77e7*a`PVWSE)f`$r(sJG!})YhU&eiC8sf@@i}nV#Nd*11vr*&&0KN_ zHx?13y6jl9v8iZ-BCUN$ho>v24p!r9<6QwfJLjf z5-fd=;CPAEJBMdW7#|0GS=V&bbXcN)z&K2%`447XvqREUQZzZ2A0j{`Syr$GiJeTw zB?3h}B?c*XQ0fFYDn@PPkIqp7#bi>ufkX_lYk)3q+B-GY#oZ7o3bgpt-f4S?a8uGD z;fE1;|1g%a8=9L0P3N&rmeLtLcmRQSD@P&F|dh$|lT5pW2^Qs$b-N+7o;YT9xHaX)yw1&q!`5VkO;r6hxHFQWZ5INenZ z@;^oNeggJp0_*~UI0eLl>aB>x3C3(20qCr419USHyUUJ_Xf_h6o-+bOpFptW(?N!9 zSS+HE6p_ZJDms!9X!wGtuhDH7vv=%1c0 zz#^q%aYgzBU@4OjZ9~9si!1665Nm}*PEnc+=rsiUE|smRBY=}oJFAuaPtGil!MMd> z94xN@D8;~7ZiS|722h{&WDQyaYj6i5&9V&9gUE1A(bXy)6m+$UZU)d$Sr@%khLTfm zCoqeXgOFV95GghY;p8K9KiW4!?MHoGkaHhgNqxsivT}t3#qNaQG026@_yyqa0KuPY zJzyhuk)HbiQhwHRHJh3SqxCW#JStEJ6xstkt;$3X0r&?*gsqN^ZVzaGKMnp`rAd3M zbVH=EDl7EIuj zzS{s-hjG)#d^S2@yBCqmi8Kr?ar*)&Vb~r<^6Laz+@C>Res$f zL`pV$06;d|@X#DP2|?~lc)D^x0My^G!w`I{lkbWo7Ye}eVmeZxG^9Wrp8%%C0qL$2 zfE|`3+715#h?wj<9}IO(>)OJ@`hehT;4T zRiI_cepZ^#VkBn0SY2^S3k97W5vQ|}4(4e&X{-;1xnRAB5^BME9{?R`T(vTxT4i;8 zu~JE)3zK2AZ^aO)vy{OAaF(L$U_T%r9CFg8&SYJs;IXE~eLEiQ!4w8`1VG;+f*o2` zC*sOdXAn@u+yqrdbJ6*&v1*P7NW770x+*D@H&-60CR-{GAGFHDhxp3V35z;=c#}3F zP$D{$c#|4*Ygu&k>#)>Sr;S=&@)0dsod$RiTXnn!ptZih{kB5Z_ z^|X9y?3JUnfWT`VE%e{;v?hQk{{OGeaa70kV;lwQ$2ghjjzvGl=}n-1jH5WsG!K-_ z>ET14u9`!C?Z8aZyFm_&0xfFZm+CAxP93Ic6+$8U_0#TGcZuw5g4vlHtw3E z7ubZ%FR8$8y}&`y1qfZR)FRsc4q5uGoyv;l-Z zjOZ&uYi0r=(Gj#xgBE;7%%&Qr@VIdVfe4=~ zbdZUD(c%J99pH(bQ8}+7hb$U9qjEfyb4lf#F>@}doR*YB&a%F1gi^Ezzt{VR9R6X- zVsK0Q9Dci%xX^YW7;;d!{$^=~tMbiKGbo!?-)_oT>qU=$@ghinuSeuV&CM=Y{i{tw zOWK%Bf^b-`m>vLI&NcDLF)IKzde3^jI2D#j~8>QPM8 zK*X^$l-f*8EcxLEk>0GBs*{>uMxdv*SFQ5|g}Tn)88V>sav8l#R29{l3t4BExJ}-= z3l}_R?h;PlB2ZI(-3kDV`ti^lYY72R$=!7xnXc8!BkP8umP&_=hD14J>V+9B-9I>F zWLkA6?J8gBzwyWxs@9c5roc*vYzO6Nbq}gXoiheob!dx4{EPGsX6G?io7x7v9;mdyd9L2F&?ple+1f z4zI4p=BDEg6j5qaXq26euQm7VX^?@+4meL-l+@L|tA&FMnXQ?@if9N4o z0W{X8rt>40N&qQFi*TCi-39Md=wrHpqI?9@At*;D+ z^Ns9#kR3o^*)8VNW@;?uchOqc9|`va`PQ0vyM(}6wdjWGGby_b+8~myGDOK1cMUxD zA%nCD;Qa!i!(9Y$DWyi#dkEk$1pG#{=9&+{ZE;VF8RZt>J!LQl>kSioYa?@9u^#&@N*ukl@de{tp$>bwrSp2}Bf^jhat zADz&%2g~hXPWi5r0Vv;f9cWeht~8GtJk<~}PO4CZoL5U#05_uZ+TE0lfSAVDxCN0E zO=}gLfaZ|*FqJExDi^i?#SMu0M2c!$MX;4g@GUf4NicEPH9oDAF4F9SQO5Nq^4&DY zvt*$iFHjQDO6OVA+A5K$mO>6v24Eqk6_NfwpuIj4AfxLx~#bF;%HLDMiTL=38v^xCn7YDlQW9-%ySh+Y1CfkqI zVJel->PS3@uR2={;Q!Zl{qGkCw13rheGa5ytPam&P>t<6-KGfHu8V88>s8fotMwq2 zz-zbbP!oMUD22|VZ5x_Y@ZjEFjFAMK9 z5X4dxORs|q3<#nhs7(bBq{iwR4N*I{011*l1>{_27lT~mdLiWA0}>>cP`{EKdczCB zsAU$S9R$Fy+>IySQ%ml8N!*d~5)caP3clh-@uv}XfdU0~C2RyKf>pM7SqzHXizEt0 za=aB}zL0HR#&5fvd|AYGI)FS1>`FM*%0@U0lmffr{Ai?5A46`j!Ii%_T4;kQABbwU z3EKV~1wXGZ+wT+jm3{fqKG6&RzE7=JL^Z}6S!KIdMVF{ss7*U_PeR?{R=NCDQQH?c zN~lkf&!9R5b|qppvWFrWnx*0AQWZWT1aFV@(ZE5C@*@Ly?f?!;uF97gIOU7(k(wg# zVh90hV4sd-exe1U`1&;zzq^Ja;a5@o6$#MBAd4(F$Z}*SWMlw0ShQ_HITN?e(<1vI zzX9^~8y_xadj$nl0-n}cTEu&JmY@I>T{S@X)=GlW$AM1)b#Na=jg{%JYG{?gsdb)< z-n{I?XkmOb>pa^}cm&b@FdKb*C~y<#!Yw0OiVqV9ADaCUj0pv3SPbb!cZA=8w{3v5 z3>Hlav56Y5ii^x!kwL*MOiFSq3O;BQCWYBcg=zbyrsi1tTeUPTy*Ai8!tAy2oKEoj z%>F)}^)dadbD5nkQw&A09%uGv@r=Wqv(9Ap`!T7^GLtZijC3vbMHIL|h5E4A;b3Ta zeVMjjRPn6_Bgxuv#CIfVT3SQ!hrfa0;HDuE?xmq6iT zP)xIdwH+$UFTOcgUgMjH%dLnk+Yx<_V6!tzemj^%1i+d)8kvla+Lm^N^WIUmdPDS& zY>C0JRSj!_Y17LlSG^(5vaxc}o8oBu@6iv-IYjlFqKJoCR--eYAP`J_*ndHHlYIZ5=gHy)6@^wzfhlUzn9+6|Hk-=~zYU zJ|ov>i&U)aF-u1(PE6F~ zvmCD?YZHOp!?uFr5xMp~QO8G@)NI`yv^c~Qcx%`*$ZQEv?}247ChcMb-iKKpf+aeL zK=4N}K2GR6!M&m5^AP}R5j9b`KZ2tU)A-M1S$?JH4~obxMl#sJt_Xs2Ttt2imM{*M zPvD>Kxd8@a8iH8HSmaCq#|SClEb=j!5wlL@Z$P>!qklJ9dpb#IG`vWY{8e#cHu*ln?SBf^=)X1*J zDnTrOtrieGZ$pt{&OR>+?|6fN-2P1gMg-_P%t z{XP=Sn(ylZQu`6vyP|d?6SsFqNd$6I6s0>*RrJ&YDAC!-3HjnjBBA*unrRufIp{+g z6+*x-LpA_P#vD1V0cM&x8TN66I%U)$(R^$+l}J@}`=A8u2T+6}bV5u-v=ae8#U}cq z6H5>PSN1Ft{7?Wt^u^UcA~x6-4*FG0Vy)~$fELNEheSfs0xHnTb_H?{^3z)JQ!Y;& z5;yxCw}J-**t)Qbu!;jfCJr46e;AgJ5+G-dj}GsIM-c61FGCZ%iMHFm8sI?!T?#x! zV3dvg!?dxcBWt5V4S>3c8l;DBL?P;K-Q$$S!%w^+sR*GO`gTW8x%;qa5l_ykL7(0i z8uS}QNc#~{+qNF{*LRmqkBFQ3EfMlAJd+s2)e!+kR3|wNB*%l~_MY=vv`%veyBhfx$s5s{CK1~dr4 z0^1(>EC2zT7MOEkr%Q1C2>Y5vjs?|Vu^8w~5E%_5Sm#+FW|b!}NM$I}nNI5V?8-1Dj$pfY%7Yaw2T~LUPsu z3FfRG9FpV3j5c#nvt?g{vZXDcdl4*H4I1872_G5)Q)gs=HGY5^RJ^>rY|2b38!O&vMx1rS8$-j4eK2m*#(TpkpH_!fibAi1VPLdfL~ zt)xKA#S(KF6lGD=0Fk8$q5=e)m01RXvE>K^{|K=(0A;}XE`iMCJJ5X_y)e53owl{L zQ<_|TLfjPTjzoex?0qCOij2|vFjQl9x-bcz_RXZ?VznX>+IF=yaJ^vp69(Jlmh zL2DU45R(moVEZt*Q3&*9tvYXLf{Fu?K!IJcVN0s5Ad)?8qo69=2}}?B6@?B;$7f<% z?HrV&fU?tbH&sK!8blDqa$xM5q9PZ5swRr#1jf z14KoXQXltEA^B4XfOY1e_!`xtfCkS)KrN}2VYbfz_9C#6jl@=@r;_l>2n-Qk#CA&1 zg?CVXa{|BcdrB65E@}^Kf~F`CcWv;rbVj7O8)dXlQA^lR4lXvsI#C? zaA(av`n<9;DLv<5PLmqoMZZ=Zz_tfS)PR zo{%%X#_wIxd+QE`6OnKT(8QMNQ;5tg^;W%CVM!kSNQ?UTvKA7Lfl|kkkvT=VH|LJd znV4VN7rzdYt38P1o<*u8y%CsrLlgDo_Qb}`HM*MA0YCZEJ*TJ$KRMI|zsaF~Rc}&h z&WQY6twS90`{b5@6mh9#AaLz#S?wE<8QUMMXHzQvS|M<4ne6k8XkL2@Dj^TbF%i&< z$ZB6WC3jR0{ASmUnOXHbnK*!fhbPZ=uyk-XM|Lgr3-51a_RW@THbS2JMpO|OVflPF zTiWmeOg?l{)RB!&3OCo*$(bibd_-N;GI%^BSDqBv7;0sH(C|de(QHEThl!7rr>{%7 z5Ry_=m7(MD4uG%@Lg14To3-h%ua3galt++~ZKO~R*S@eI>6rZZl&IlLP$@6MCL911 z!YS2&%AxpunBX)`4gt%XTro%55|SQX6aE_kc$s+rRxV#-T4aY-d2boX=)s?{5z2<>-{LA z>eAOJeGBnJPTj#nubffdQ8`7VOLRp~XZXfiC8fn}we8{Z;P;|dRl2WJ3qQV-+q(7W z38k%DD~cWDx*tV;Jbk)CrB#QLph+0hI2?n?Cw~yjYn?`NmlAKu$h^D(WAjRLONw$v z=Bn%Ibw(BzlqjZu*W~!qVr4a0ajjE+VNPks;^M;MZuAo-i%?zWpAoeq)$RXUgD18e zf)51bjb}t@!W5_l*Lucl+T$2Lx{Rs#=xIYwtH`~-i0Bl$@7rYpepD!Tly(HPZY>;{ zlRp5zGghpvv&qGfBmWjJV9yFq6x|e6V#L&(L?lwXybp$yoan}LaQ-d=(y6d`LQZMl zBK%Ue(V!* zIWSrfE{ydCV|4y{~DcWMtb-!(@FdG>8*<3b4?T+d}HTFa~SrzyaIzmpSD+3(E z1g}YccmW&MLH?%;Fh^fOx}`YQEf9JkX6cre=rE4CEiD^kPH-o__ayh^gqa~Ey4oW$w^gw<*&mIyZL^=KYsNxJXyL*z8 z@66a4&D#Vr+~(pCxrLm7Lzhyu!#i$9qoTPOwk5Zu+V94^kx%# zCkK=6$@yPM3d|#Ku(7KMbI*&|V+O`#e~G3lxrk*+<0?=>{>~q9QqMvD_UEEg{Q-c#~&QlTAU&YsaA&wY)1qzKPF!{w~GXl3~^Hk_T-F^GxkbBcSkh19Yiv-g|tOpL&r6a z91*(4HJ<0A6hYVyk%j)^n42K*ogWdkY|NK+ShIjacc*!LF7~K^|3`m!jOmvVemihj z=$fF7&d~TN0-cA^dub*Wep>Oo7hx+T`(GlIEQdZ4QhoOCuAKO*@h$sD$6q{x@Dl_& z`Xc)`9_dd-paU$Z%wKijA0a2f^H?f;hCn;ye}_QFFGwV&W&VDg`To!1AH?eL2*Se% z*}vR;x!)s6l@jG9_~yST;2(W|2aW4lF&$BHviJ|%ocP?{{2uXNBCNx@iVjxzF#;Wca7qpYk57;O|0fyV&Q!24Q^A9o3I_gz z3jSq!f`4v{et-(-$cd2%**|I^9UDQXNzk|K-#$EZgl{3-pA-LAJm;Z7{Sb=3<@tyX*kH|^47|)FeX@mm^ z-$1wu@eWSE1<4|6{78~-ex#V`4rIB?luL{}k< zL71D9WVI&sa30l3NEK! zdLL3FG#87-XmI|t$|}?_v^#=cht(ufiPD1ZG=eaEs34b7WPQ;&kO``WCURd#(Ce}R z@wbs3ls5Y|Dkmd~9*vaA?6)!W(p~6SB+YppN3YqW8hpa|k<@*Hq8<3}v;wKgQ*oiTokr`~3N#Y(Sp_t@TXI?Xfp|%B zPSnYLiF(FR>052o$x`uKee3fF7S!kWEf9aPv#J2QOIM6wGrIwL>j-vHWfr{s()r~D z^?=>T0`b6>Fu%NW%1Aack=L(*JEPd>USM$;q^0p7wGU*Ke8vFQzxT#;D;?7<3cSw% zwkU6S1OMg#R+o?Qo8$2F@W@j%&OaE%&f>o-$J4wDHaqV%haaq9HADA_M^NKH@%I;0 zt;rwpDIixU?iJHf+~@q~6|An~tv)oM<>J*_>Z8ve7g8gKqK$<$QN(WC5=RLx+L_KT zTZaLt7x!KmeJT*MnQzKu{&^&9ycT<7gxvod5e$=G@i?WrA zU+3TL&nELP1~QHJ9?kB^``c>%z-XqF66?U;iau3X3qnVlpErqrK05AuEuTDwEnh^w z!{Tp+M84hUNR)`>A=%>;`zD;g#QefO;x#++Mkde%CVtEcYbj2=ddJ<_h$ESZLvcjs zdt+F6qV$H6bU`gfPP{Uo;8P^N$9s)qiwgIYR{_;7YT~QMv1z#L=;m>(`ecdk8_#AP zmv{nSIv&T^{YN>*SF>v5SX|BKCSK!*t8xA97a@P9n$?#+RD3AgKAOjc;=}yKQ`iW; z^b|IxHoPdTc<4;axqb8AvA^tT%7zAWW71kHzRhPz)cmSg?C&rRFQI${d zib-rt$AhW;(d*OA^#$T*JL|=LQKjhd!(~Tu;QH8_kO~qXD6Z*IPE(YzmNM3(ga~bs z{rF))b}F8zQqHivxM^8BQ)&#g7dOqJWV=z=Zu$aB)T4nku+;@3hN?jPRnz`>Xi)Zt zO*P%|ytsx9t$DCtrfaPj9yDw}H8D+3rI}s=v=3%L`!qkNhK-*5aArWBXxfj8$^itL zeTCu^P3eNF!b64o_ai?Qgfc$c8Rm>YXJ-xjRifiqs;U6UTp<2oeGOyc<>etTMiF0W zp$;a++b+PU<-}5VCW$}WQB|-XWdXBZE=Rw`Tbk2IhO#o5344>`3l|b~FBks{@zHxT z6?QC@?oL(SBUv7>`>sw^X1L*eLT97G3hB31Wv3^KCRF9YgOO;}F8-*-DtjGE)uZ(9 z@M9V~rQ+psK%i$s_%NLf?R^Y56LqR{rp{(2@?#9V%3xI;pCt=v?mm}y1heCNJAWIY z>;4uHYV=P0ep!tDPd4q&yvI}RNz5yT48OtD>y@vHFSW(*_xG*Myx$!abacnv1>&1K zKVXG1;z#YTha|& zmk`oCo?o9oQhYj7&*%KkscguMla^5yl~Ip@uR<|ID*i<=pt024Q_&$-0KB|u13_w{ zcvB+EEPf==w27NgEp~Uc?{sE$=S^qw*8V4X>!!2G{dm!#{OXHi__gp!GuWWPR1FSN z1I66matM{vFvg9!o&R7u8?=Z9WXG=Yt@U=nYG!=IQB z_#95H?Q}Mx_vwzezOBh=Tg!L- zuUO7Vxy)Cc&W4PPmFuKfCv|(IgzuqG=XamZekj7C*}3TqR+X3XLftZD$M#iI@jT0~ z<9F0CwTN!K37gW2A9(z#S!`$#8Sok!WHJZxduFlO6MWmz!caF)OFB!o%jS)qIeW?C$U4H`sbiIeWQ!n!1YdGCvy-wb1-j3HkEscJ9ZPreZQBvb3 z6R(l30TR6SR;M+whQGClE#qHX%x)HO#TI}0*Wwu7w3rQHPV1VsNWI>>OL5KLTfzqN zBTHD{q^j7m8z`RdIi4E$K7V})J9V_ANhYNp|-zO8Ah=E#yA@avbdbxAk0JXvyF2QCP@=Y+g$89OCus&;6EuBu{O0Y#P1 zTL#E3S;&kbvSNq0i^f%L-_t@vt`l(A2QIOyZMUZK)yvr8q-pz>riOu`VisZE^2e63 znaKb%S&@BBlYHOSy@2;$&Ss`U$F)t2q3^r4g2AlgkKW5F_^#z_9CE0hXDDuHtA;BZ z0qn`Klus zy6j1os+zn{JzJ7AW!uFhb6nHcLPZKVi23Rya2PL&gh}E0j^gmQqqLYeu5M_i2|RRM ziBCU=SxMJ(6i^Ap(rg*U%Y4r{?98O?nW_^SPH0(*CdoEGhS(BIHhf=}G}$ohK-Rgw zl9?r*61tM?1eP6Wy65p7D={f0&GM8$vjWRAP4t^Ty^^g>dXlcIzGMULhG&@$pT3Gs zOFFKKcDkr7kOD)J_`X%_vZQM2zGS$jtGj@?FY&SGvh_*Jwp@&dtDw!8E*`(-T;`#* z7HF30fl^4mZR@=JJSL~yz&AqO29_wA>ljWQKYTBA0}ZQKKfdccR+5x;UGacVj%on; z(DlQ}mek|`J$8*iatx3z6&K9|dCyph1Enh)SVgsLxsvVqq3o!N5%^)9(Ad^M7R&~h zY^%7FO2ADD|1XEmFe^z|UHF~pjJ7P^|vzg*4MkCGhU3RG7P zERZV61i?c+4eiaa=6kr1EJEz!MQjiwI}5+uVY8ATj)oa1fg`C};Ds(f<}kb5kj=m) znxq>Z(88`0Hah$kn!qz%HnzmnOe+k`K=M_~3qrolWmc_Zn*f^~I93pZ7D7mrYD~8y!uzG{BFA-@Xv&>^r7pg{BGowTS2PAGkQe+{7F+F;6^K@>ENf z`0vmaKE`7=Bt2EPLhvXnkX&G^!C&$KW7i9SWuau*h6%2%@L@j2|C1%G58oBA;&Si| z%du?52{qr>R4*{W-$3OC&}Rvx-t#=!v~&sog-ZNsfV$D~DWj|VUZ_~U;RT8l==_s_ z&8pOG(+?~yl)O;274!-&DzzA@sr-GPjR)P-tPs4^P-F~>@9{wa8_uuy*(h)cKL`TT zaRM83v`*l+__&ru_SyUt&{zshPY+B>wXIODMVlh@@e8 zmL`XRrplnrrp)gO*(swXOTnB9;qPL|o+kl+ecU;OyIdMJ;>NL{b}WPlK41--fQh4e z$ZOiNYMHKP@WpG`{G?`UE|5c(9nH}(&-wjp*qS7eMF$TLbWm+60Baq$mQ6mnr1a?~ zww(WHEvricOQlfKEzME%5cHH+HG(9&4rBydu^}u3pf4d$H-d2hfDee1xqB{Wj@WjS;-OEO)9 z|70Cok@U^b4rM*`!5^H!(fPFXEa(rOu9%uWF&kbF4AH$#5#LiFJ0D@*fh5;MV4Y2x+P3VOJtkpo;e8UBsl6-!&3AG1caWvw< z1`~6^=HoV?{Xk*M1eNhrO*0{L@(U=|1)ybBc1;PQ3<3J(4Qy;uH+{pG9SpwWV3wG? zS2H^!2{{8WP(npDK}s}>-*S+h+P^i}0HoD5@N5f&797h2*7L*7?Chk9`2i-WnNp|{ z@u3`Jc~uL#X+f@$T+ANe4J00rkb{`vz8o5AAbYyxsB)+}R7_oezi~6FP@Mp&AsiS! zge?WMoeJx{k(H)=4+yE4va2|%?OI_S|8ysSy8SX%#-)R-pacS(WxL?crVPPR;hS#2 z=Y_YhK1o^jLCV07TtfwPL;kIe>|hd{$+f^;_0R^&gU2r1#AYO=5IhHb&)37iw=J}J z(?7w=&J$7QzgwA^)F4HgD&)4%Q6Q-V{I9K$<-na}149e3!iGE{^K;ukXCQ@yW@u?1 z=BEKMmjCQVC`BiHok{%N%UDSYoZbeRgJy7`|Sl2JppkiZzee@fFNyox{N8SNS@C3Zf1)hyve|B zSu-5V41Lw*pKfL|N&>`!5kUZ^(tSQ{3k%C7-?Y`xR5dqnT{(o59c*0e$Q66qFixw-8U^sQ34E4 z;MWOFX`Wia%K0M~FomDLjrA>ue1UO6JAvvDGa-+zNfW$=@f)|X{zNtlSB#Fhaur4GJcTUwos zwT<9rFYRSR_^>UwwS>wFAT1d(L{81J_($7e22iEYvmMK~L5i?g3+njM{g}hxNWLUl z5|&9|KoB?Y-ho!>whFQXkOeXz3~D&zdRAK!U^ATH*tg3RZ_ec9oj@!iAu#iYF-`8JOdy5qgfy?>hvl=qZ|K zyRNUBpg{^o=|BglE&5{xp#R7og1Q_0y$)8JG_f>+jOh595g1sY5EvH35Hi4fOdl*G zpaq6w(x;`xfgU<4mN7m=8Q0{u9A?#g$VDtw42d>yG!?>?B|&sO?IJc8+{+ClRmQp% zlqWQFs8+^($Z9@*gZuyYiShZkD zr5NCMknCL9N9_kLgxqpyH!Dg)9{>@;GtmHD2QA?b?Pjx+GL{k=7>SLw21H(o2y$%% zXwW7N6aWG!_@4{@(>2JYeE5Z+6(;b>cT@-sA-JO!4RR){CHvqXn&m)*@=VX7@gK@N zwz4EY?GiR*fQ40=3+WcCc+K!hhHF?k9}zoU z8kbWHRvF;7hJoco07$z|P75PyMvHAf2t!DAKt!Mxnh~|IH&MG@B_ON>S{gmyK`Zb7 z3Y$3q@PQy>YZwoZJO^AHZPS&mwv9|`A;c<>C(wpaQ$SaoONm#5_DHhkfhu6-0Ug2v zmtuT1OfK+cMYBQ56f79~UBbC7 zm)GxM=O!U5I+o!>_5yQMRhj2s4l3%(68Zyn?Hjg&g&SXfIjE=<$}-d39^f3h?4FhHYR4o>-yoxPK zVRpGXporyyVjC_*_>(c8=dQvk4a6DBCka#x+y>->zi<_s#t*l$Ui~G_R}~3lNev() z`9_^Ew{2}JP2!RKuDzrVk+i@8ep!ooY$6_9b6m+WKboH(}$ zU6Vc0l|Q!+>u<=Cn&xVdv+O`uVp2PVpL&3mmoh617;l{7F3Zel>eg7qTimJ6A6#R1aCff$%J)~2!qeFNz5Z3o!w z5?KR_15cMFNMTU({pA32(Ms1+eVuR+t3J&C=C7egjt+_gU|Izm1 zSa^q!%%BhGfAv2>!{z+@SF`0kWrg9_KnMw-u)vU7vTS2MSq9&A4LfT zbsL82yEn4ZNX|?;(857y6zXV4fU)J(*Rpd;JYR?O0-~;Zq3nU1Tnkb6-;~{_T*u~D z^psTUgtm4lA@^cEIe$CreRBEXL@B;62Rfd7z*b*_>&9r8*=-NFlB-Tacpva~c1nf(Xe4LwgGDUD6R2 zoKw4m*HmVG@^7xwwtt;X9SEeCecyvB3}PenVRgcW7Qdmkk*Av3c)qI{0?fa;+==D_ zKwH4?`8rsvtztsxmIt~=@|wr*yMZ+)bxW18oY0`C#^T;I_@o;_@UX0g9)KiFG#%r? zci+h7lxWCjVVU4y6{&<0|LKjGf-a^QpbTA15I|b;_{^J_UxKx^Z$ZR%H5pQKu{r;QT|=*T9J}WC9wO~fPZ=rO*(6ptq}7lxAvFS| z!KWW)OQ38xUVMrcX;M6IpuU3eqd{{C#bM~FB>YSvF{5|%Jq4w>t3#;;)@iF)z-AVB zmtTrA;r>m=dU9cnPzj<>4<@+o7KqBar-Jc=%79lvQg?`9&&r^asauXM>ym^OG4vK8 zG1DQud!!+ZL&Q?B=!C=tA(b!x1_sK2=EQ}vS%IR)#!{3&`VDsaDhQ;+WK|bSP)T#^ zgx2=9bVDPUcLUbeICw(I*`r4{)3?DbDf0P?_vnp<#Sr(1(|$OI9@E0P_X)`v; z38&$m%KZotv`LHoks!y_!gZ{56w zOV4RoT(n@p(uVm9W`g4-_`=)ZWipe$eJiU>wDV_gXVVMMKvLQy#~bcoWBAb9SP|cF zJF7^1PM>Ebbe_6{jZJLj7CtAw!Oy>gP4A#~V%r;xwQu9;Ndz?hD1NBT&*B$N{XTx8 zroWDdmUsgqfg-aL;$=K$V2P)w=XpYQ+uZl)V_LW$KUCro{G!Bf<0mSy{Yx|Sy2;;sfMOT?5n#i6D`nP zU_rA7)NG*k3%Jn{#>%z^U|^8lJ+T;xV|}|ocdebEi=WS5zK4|;(fxH)weU_6m+xf5 zr`?8#%rv0W_p??efi7r^0XH#Y`s$6C%m7bCr=r1ljL*N9X@l=X&S-0aPykTv*x@y` zw6(VeJ9i47@tf{t^F}lw0nH4$r4xE@O#5c9HnVqxh9=32?qk&=Zk6NjoyW>6=zh0Y z3DD5en%TaX;H&Rr{a0OsqCf)Z5->s!+F%RxAXm<=3=NV%*L`-IvIM$S?gTr4uphAt zTN<%vuC)#znZRGZ4`&Tt$^UX68{R<|s-S{M_bmJjDI?nkwlQL8+E6JDBL)g)wnxIy zE)z*0$R5H&7Z_yePg z10*st;Tj~(AqXS!+P%M%?v%)U z+>Xb%8~``i+RzjNdx-LND3@Mh;}B{ z-OrW{{B`uks^Z;-*CA~TCH{x|S#^^3nxW@k!4LI(B_Htst}WSz*Ud6lA7G;jT|Cps z@?{Uejc^z5cz{VWV}_C4PWUg#`#+%WeE%J+JkK7*@3@0)UKy8|-Ec@;0L{7{Kh&&S z@eA-@gP&+PXzVgjx{N->gz_#t=Ag&Tc+C^AN%6^Vvm3|bSVg>LH!1!%zG3h;2dLz` z7>5i}T!#H?FMF(i#{={oR9kop4@mPGeyAbG@Qa4rO`nO4{{?wB($2x?7ApsP6#oxH zbfO(+YP97yo=SAgcs%aHU?h&RH&Ee|yWTn?gC`k3VPX{ikga4rHuVc*3+Y>2B+;v! zA_+&MO@WPfv$Hzrw5RS(fy+>P7xkj^;WNO#n2JaX7vhI1UWhLQz%%h4RZQDt0qX!i z**RB@G{M%5ftQZvGv*6bOmyjDe2Kw(wm39HivADHIAMaVu3Y()q!6*s(<3O?Ky#-(#2M<$YP#IsZZSd?N4hxt&9gFh8%)y=kd1d_G|6x-~U`%tMvVw&W z20lyTfBqjRwNJ2-T8}Ul%YRu@G?)*d=*8kO;5!~+H7U)uNoflu9G1$aZC3IN9)Y1_ z|4~++g71RwLZ_y`xntYScK3DuF~xhgs@^WQwl!V*RC4I~4!VU0H&9{i9wNvK{;c*m%! zqrr;j+x+z(vLNMQO%Ia_OqZbsT^Gt7{sG&Qf`5r;+wdKMF@mhy*Yk}pLV>-IP%ZT| zYbb%cis52)E;%s5B3H-LfOqm4Hny~<_rPgOc`#|kP`c_G})6;ig z$^!ntxxmk#Jruy$i9ZyD41v1iz@ z(wJs6l^eFd3voVjr{>=Fu$2+$)#6%6(2yePU9W+1q%*?_)-jD|md z5g+jZaQN*P*pT6k%{XBPo_KBO-dYO=e$^)XoNPd~?=M)=opOYWCHeXWFcvpxMOqjb zpmc|k(1EfJz7Pu+bfq0vs=?CV2zMfLo^QyAD&Uu04V6x=YtS$d$s;mlTe z^NVad6qwLJ*`U9&WD-&5e|(XxEcM{JM}8x)%EFmK_m^J4H@%3l>-#e-;V*p&iY7RJ zIMC3-^9<7}Gz0$bOY8u=OW<^1g%Vje+yL$g7ro59QYfk5d4+=DDPTcgyyEgMYVDL@ ze!_;Pz&7Z>llc=uL3IY9|LQO zsGaS?`QrIk;cFK99y}r7`9U^JFaSRNHTF!Y0Yirw8lbnBOfWb#EQ>4p;(b)K@O9{3 z0Td1PCe#53DigkM8((K{Wa35v@LF-m-WBlmZ{XHxa#KZ=q>uqoQ$qgrH`v^i7Mhk3K)of|umh5b z_=Y#w*`=-vTLhdAVPaMdLo>n!UHDPNxBi3;PQkeXu1R1%aJDg^H(S#Ms$u-CpRiP^ zW5X>Fj)3qj)WEUrwdZy>l`C(u0i^(#q>x*!0^6UVJB=9(jmBgDo2*Z%LT$(*adBr1Y4Qmnd^H&OeP1_rXr^u>I)nI(-^dENOsRA zh&Grm&EF&%);P7fagS%;k!4lJJAQi3z7nzl7S5Q0?H*63|K8mGSGLv~3i zdFsKH1*RSkuAi>F>3;e+kgLCDmsf%FNje-LeYh;^U<<7fuIO-?Ag;EJ=e@`LrMjuY zwg(F2!TSWhuIb{iu{oOSakBQZ#%3J9gCml<+t9YTWHXZZq$Pp=2Iq2Z>C+X_wsmcn z=rJh;$ie*w+#Osk@HBs0Bqo$PE-Y^n;00Qw!`8cfUOZ=Cd<}E@&7~ymS zY~6Erp3{Xv!}+eaS!q&rVLyTIi=)88qpKGZ7rm_111$mUOmHI&NGNyo$d^jNSICBs zodMTNAHJu~EIbM3Ii3Upm9lJac+-( z!TNxULKKuB9l&wb(=428);qdSL}2>|l<*C*gG^8Oh&xmklb@A@W+V9xJHXg~|4EbSy&0 zXt>V%B@0QihUXRR%jA(JIocJ}x;xL2%F}?$0u-r^J?(5s8;^=Ps!yLaP=_<;j|1xqj5FR1(ZDn0Zj+72O22=tbR=t z4IZLm%>&;ja9|ya3gy}apZ+eJTLy0x%r*yR3pmHXYwbFWVwR(h8v-&+hv5M~F_NBU zz;z0~&#>T|JQ35){jXtG{q23of-s1}d5=sAs^TlUelQUW{U{Y~xftdkPz`X->-ngU z;8AW!SOI|7!DAQ81mo*`rvq?Pane&t74q*<;Fi57k_rWH|3{)dm4 jo9b!*zlGoZF?{Xzf6R(XdfJBX`k1LFm~TJ&m{tBi#m(K| From 00660268c6d1c3ef9cc7d4677452eb2bf23830e7 Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 8 Aug 2018 15:40:01 +0200 Subject: [PATCH 79/86] lockfile --- Cargo.lock | 147 ++++++++++++++++++++++++++++++++++------------------- 1 file changed, 94 insertions(+), 53 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bc2456b5c33c3..a3051da78c5a6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -747,7 +747,7 @@ dependencies = [ [[package]] name = "fixed-hash" version = "0.2.2" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", @@ -847,11 +847,10 @@ dependencies = [ [[package]] name = "hashdb" -version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +version = "0.2.1" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1085,6 +1084,15 @@ dependencies = [ "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", ] +[[package]] +name = "kvdb" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +dependencies = [ + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", +] + [[package]] name = "kvdb-memorydb" version = "0.1.0" @@ -1094,6 +1102,15 @@ dependencies = [ "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "kvdb-memorydb" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +dependencies = [ + "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "kvdb-rocksdb" version = "0.1.0" @@ -1111,6 +1128,23 @@ dependencies = [ "rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)", ] +[[package]] +name = "kvdb-rocksdb" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +dependencies = [ + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "fs-swap 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "interleaved-ordered 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)", +] + [[package]] name = "language-tags" version = "0.2.2" @@ -1500,13 +1534,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "memorydb" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "plain_hasher 0.1.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", ] [[package]] @@ -1712,6 +1746,11 @@ name = "parity-bytes" version = "0.1.0" source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +[[package]] +name = "parity-bytes" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" + [[package]] name = "parity-crypto" version = "0.1.0" @@ -1783,13 +1822,13 @@ dependencies = [ [[package]] name = "patricia-trie" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", + "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1805,12 +1844,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "plain_hasher" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +version = "0.1.1" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", ] [[package]] @@ -2316,7 +2354,7 @@ dependencies = [ [[package]] name = "rlp" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" dependencies = [ "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2693,12 +2731,13 @@ dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-bft 0.1.0", "substrate-codec 0.1.0", @@ -2718,12 +2757,12 @@ dependencies = [ name = "substrate-client-db" version = "0.1.0" dependencies = [ - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", - "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)", - "kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common)", - "kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-client 0.1.0", "substrate-codec 0.1.0", @@ -2750,11 +2789,11 @@ dependencies = [ "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "ed25519 0.1.0", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", @@ -2876,13 +2915,13 @@ dependencies = [ "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", - "plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "plain_hasher 0.1.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2890,7 +2929,7 @@ dependencies = [ "substrate-runtime-std 0.1.0", "substrate-serializer 0.1.0", "twox-hash 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "uint 0.2.2 (git+https://github.com/paritytech/parity-common)", + "uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3041,8 +3080,6 @@ version = "0.1.0" dependencies = [ "ed25519 0.1.0", "environmental 0.1.0", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", @@ -3246,15 +3283,16 @@ name = "substrate-state-machine" version = "0.1.0" dependencies = [ "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "substrate-primitives 0.1.0", - "triehash 0.2.0 (git+https://github.com/paritytech/parity-common)", + "triehash 0.2.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", ] [[package]] @@ -3275,7 +3313,7 @@ dependencies = [ name = "substrate-test-client" version = "0.1.0" dependencies = [ - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", "rhododendron 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-bft 0.1.0", "substrate-client 0.1.0", @@ -3640,12 +3678,11 @@ dependencies = [ [[package]] name = "triehash" version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", ] [[package]] @@ -3658,7 +3695,7 @@ name = "twox-hash" version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3690,7 +3727,7 @@ dependencies = [ [[package]] name = "uint" version = "0.2.2" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" dependencies = [ "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4020,7 +4057,7 @@ dependencies = [ "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" "checksum fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b1ee15a7050e5580b3712877157068ea713b245b080ff302ae2ca973cfcd9baa" "checksum fixed-hash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18d6fd718fb4396e7a9c93ac59ba7143501467ca7a143c145b5555a571d5576" -"checksum fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)" = "" +"checksum fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" "checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" "checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" @@ -4033,7 +4070,7 @@ dependencies = [ "checksum generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef25c5683767570c2bbd7deba372926a55eaae9982d7726ee2a1050239d45b9d" "checksum getopts 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "0a7292d30132fb5424b354f5dc02512a86e4c516fe544bb7a25e7f266951b797" "checksum globset 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8e49edbcc9c7fc5beb8c0a54e7319ff8bed353a2b55e85811c6281188c2a6c84" -"checksum hashdb 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" "checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" "checksum hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4da5f0e01bd8a71a224a4eedecaacfcabda388dbb7a80faf04d3514287572d95" @@ -4058,8 +4095,11 @@ dependencies = [ "checksum keccak-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b7f51f30d7986536accaec4a6a288008dfb3dbffe8a2863a65292bc395a3ae7" "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" "checksum kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" "checksum kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" "checksum kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" "checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" "checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" "checksum lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca488b89a5657b0a2ecd45b95609b3e848cf1755da332a0da46e2b2b1cb371a7" @@ -4092,7 +4132,7 @@ dependencies = [ "checksum memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" "checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" -"checksum memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" +"checksum memorydb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" "checksum mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0" "checksum mime 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "fe51c8699d2dc522bf8c1ebe26ea2193d151fb54bcdfd7d0318750c189994cd9" "checksum mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)" = "4fcfcb32d63961fb6f367bfd5d21e4600b92cd310f71f9dca25acae196eb1560" @@ -4115,6 +4155,7 @@ dependencies = [ "checksum openssl-sys 0.9.35 (registry+https://github.com/rust-lang/crates.io-index)" = "912f301a749394e1025d9dcddef6106ddee9252620e6d0a0e5f8d0681de9b129" "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" "checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" "checksum parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)" = "511379a8194230c2395d2f5fa627a5a7e108a9f976656ce723ae68fca4097bfc" "checksum parity-wordlist 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d0dec124478845b142f68b446cbee953d14d4b41f1bc0425024417720dce693" @@ -4122,10 +4163,10 @@ dependencies = [ "checksum parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d4d05f1349491390b1730afba60bb20d55761bef489a954546b58b4b34e1e2ac" "checksum parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "69376b761943787ebd5cc85a5bc95958651a22609c5c1c2b65de21786baec72b" "checksum parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa" -"checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" +"checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" "checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" "checksum pkg-config 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)" = "104630aa1c83213cbc76db0703630fcb0421dac3585063be4ce9a8a2feeaa745" -"checksum plain_hasher 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum plain_hasher 0.1.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" "checksum pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "28ea5118e2f41bfbc974b28d88c07621befd1fa5d6ec23549be96302a1a59dd2" "checksum proc-macro-hack 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ba8d4f9257b85eb6cdf13f055cea3190520aab1409ca2ab43493ea4820c25f0" "checksum proc-macro-hack-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d5cb6f960ad471404618e9817c0e5d10b1ae74cfdf01fab89ea0641fe7fb2892" @@ -4153,7 +4194,7 @@ dependencies = [ "checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5" "checksum rhododendron 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c8502867a61713f8297ed13b8de6fcdec1286d3a9ea543628f55bcfa8b30ac57" "checksum ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6f7d28b30a72c01b458428e0ae988d4149c20d902346902be881e3edc4bb325c" -"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" +"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" "checksum rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "89db7f8dfdd5eb7ab3ac3ece7a07fd273a680b4b224cb231181280e8996f9f0b" "checksum rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)" = "" "checksum rocksdb-sys 0.3.0 (git+https://github.com/paritytech/rust-rocksdb)" = "" @@ -4227,14 +4268,14 @@ dependencies = [ "checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" "checksum transaction-pool 1.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "be1efb673ddf49ab4a99893eb3af02f6563636033fb832c2b7f937641ad62b17" "checksum triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2033893a813c70e7d8a739ca6c36dc0a7a2c913ec718d7cbf84a3837bbe3c7ce" -"checksum triehash 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum triehash 0.2.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" "checksum try-lock 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee2aa4715743892880f70885373966c83d73ef1b0838a664ef0c76fffd35e7c2" "checksum twox-hash 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4f85be565a110ed72ed7048cf56570db04ce0a592c98aa59b7dacde3e5718750" "checksum typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887" "checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" "checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d" "checksum uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "38051a96565903d81c9a9210ce11076b2218f3b352926baa1f5f6abbdfce8273" -"checksum uint 0.2.2 (git+https://github.com/paritytech/parity-common)" = "" +"checksum uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" "checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33" "checksum unicase 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "284b6d3db520d67fbe88fd778c21510d1b0ba4a551e5d0fbb023d33405f6de8a" "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" From bfcf5df2a7f7f3743222866d6589d1379d7aebc2 Mon Sep 17 00:00:00 2001 From: David Palm Date: Wed, 8 Aug 2018 16:17:39 +0200 Subject: [PATCH 80/86] Use magic commit for libp2p --- Cargo.lock | 56 +++++++++++++++++++++++++++--------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a3051da78c5a6..a3d7bf118a290 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -280,7 +280,7 @@ dependencies = [ [[package]] name = "cid" version = "0.2.3" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "integer-encoding 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "multibase 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -429,7 +429,7 @@ dependencies = [ [[package]] name = "datastore" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "base64 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "chashmap 2.2.1 (git+https://github.com/redox-os/tfs)", @@ -1185,7 +1185,7 @@ dependencies = [ [[package]] name = "libp2p" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1214,7 +1214,7 @@ dependencies = [ [[package]] name = "libp2p-core" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "bs58 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1224,7 +1224,7 @@ dependencies = [ "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "multihash 0.8.1-pre (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "multistream-select 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "protobuf 2.0.4 (registry+https://github.com/rust-lang/crates.io-index)", "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "rw-stream-sink 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", @@ -1235,7 +1235,7 @@ dependencies = [ [[package]] name = "libp2p-dns" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", @@ -1248,7 +1248,7 @@ dependencies = [ [[package]] name = "libp2p-floodsub" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "bs58 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1258,7 +1258,7 @@ dependencies = [ "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "protobuf 2.0.4 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1269,7 +1269,7 @@ dependencies = [ [[package]] name = "libp2p-identify" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1288,7 +1288,7 @@ dependencies = [ [[package]] name = "libp2p-kad" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", "bigint 4.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1302,7 +1302,7 @@ dependencies = [ "libp2p-ping 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "protobuf 2.0.4 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1315,14 +1315,14 @@ dependencies = [ [[package]] name = "libp2p-mplex" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "bytes 0.4.9 (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.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "varint 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", @@ -1331,7 +1331,7 @@ dependencies = [ [[package]] name = "libp2p-peerstore" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "bs58 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "datastore 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", @@ -1346,7 +1346,7 @@ dependencies = [ [[package]] name = "libp2p-ping" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1354,7 +1354,7 @@ dependencies = [ "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr 0.3.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", "multistream-select 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", - "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1363,7 +1363,7 @@ dependencies = [ [[package]] name = "libp2p-ratelimit" version = "0.1.1" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "aio-limited 0.1.0 (git+https://github.com/paritytech/aio-limited.git)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1376,7 +1376,7 @@ dependencies = [ [[package]] name = "libp2p-relay" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1394,7 +1394,7 @@ dependencies = [ [[package]] name = "libp2p-secio" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "asn1_der 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1414,7 +1414,7 @@ dependencies = [ [[package]] name = "libp2p-tcp-transport" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", @@ -1427,7 +1427,7 @@ dependencies = [ [[package]] name = "libp2p-transport-timeout" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", @@ -1438,7 +1438,7 @@ dependencies = [ [[package]] name = "libp2p-websocket" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-core 0.1.0 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", @@ -1453,7 +1453,7 @@ dependencies = [ [[package]] name = "libp2p-yamux" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1591,7 +1591,7 @@ dependencies = [ [[package]] name = "multiaddr" version = "0.3.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "byteorder 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "cid 0.2.3 (git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2)", @@ -1609,7 +1609,7 @@ dependencies = [ [[package]] name = "multihash" version = "0.8.1-pre" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "sha1 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "sha2 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1619,7 +1619,7 @@ dependencies = [ [[package]] name = "multistream-select" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2437,7 +2437,7 @@ dependencies = [ [[package]] name = "rw-stream-sink" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3804,7 +3804,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "varint" version = "0.1.0" -source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#be9b1cf4c6ea4ec2fec35d73fd6f4cd4d2538a10" +source = "git+https://github.com/tomaka/libp2p-rs?branch=polkadot-2#eae2186e40c20efb0daf718e39ff7868718f7437" dependencies = [ "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", From 35b29babf5f0b602abd7d45d2dae9018327e5e53 Mon Sep 17 00:00:00 2001 From: David Palm Date: Thu, 9 Aug 2018 10:27:19 +0200 Subject: [PATCH 81/86] Cleanup --- Cargo.lock | 116 +++++++++--------- polkadot/runtime/src/parachains.rs | 2 +- polkadot/runtime/wasm/Cargo.lock | 78 ++++++------ .../release/polkadot_runtime.wasm | Bin 323077 -> 323311 bytes substrate/cli/src/lib.rs | 1 - substrate/client/Cargo.toml | 6 +- substrate/client/db/Cargo.toml | 10 +- substrate/client/db/src/lib.rs | 5 +- substrate/client/db/src/utils.rs | 6 - substrate/client/src/in_mem.rs | 2 +- substrate/executor/Cargo.toml | 2 +- substrate/executor/src/wasm_executor.rs | 2 +- substrate/primitives/Cargo.toml | 13 +- substrate/primitives/src/hash.rs | 1 - substrate/primitives/src/uint.rs | 1 - substrate/runtime-io/with_std.rs | 5 +- substrate/runtime/council/src/lib.rs | 2 +- substrate/runtime/system/src/lib.rs | 4 - substrate/state-machine/Cargo.toml | 10 +- substrate/state-machine/src/trie_backend.rs | 1 - substrate/test-client/Cargo.toml | 2 +- 21 files changed, 123 insertions(+), 146 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a3d7bf118a290..f7adc10edabc9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -747,7 +747,7 @@ dependencies = [ [[package]] name = "fixed-hash" version = "0.2.2" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", @@ -847,8 +847,8 @@ dependencies = [ [[package]] name = "hashdb" -version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +version = "0.2.0" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1087,10 +1087,10 @@ dependencies = [ [[package]] name = "kvdb" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", ] [[package]] @@ -1105,9 +1105,9 @@ dependencies = [ [[package]] name = "kvdb-memorydb" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" dependencies = [ - "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1131,13 +1131,13 @@ dependencies = [ [[package]] name = "kvdb-rocksdb" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "fs-swap 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "interleaved-ordered 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1534,13 +1534,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "memorydb" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "plain_hasher 0.1.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", ] [[package]] @@ -1749,7 +1749,7 @@ source = "git+https://github.com/paritytech/parity-common#ae80aff497595150045251 [[package]] name = "parity-bytes" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" [[package]] name = "parity-crypto" @@ -1822,13 +1822,12 @@ dependencies = [ [[package]] name = "patricia-trie" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1844,11 +1843,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "plain_hasher" -version = "0.1.1" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +version = "0.2.0" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2354,7 +2352,7 @@ dependencies = [ [[package]] name = "rlp" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" dependencies = [ "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2731,13 +2729,13 @@ dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-bft 0.1.0", "substrate-codec 0.1.0", @@ -2757,12 +2755,12 @@ dependencies = [ name = "substrate-client-db" version = "0.1.0" dependencies = [ - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", - "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", - "kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", - "kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-client 0.1.0", "substrate-codec 0.1.0", @@ -2789,7 +2787,7 @@ dependencies = [ "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "ed25519 0.1.0", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2915,13 +2913,13 @@ dependencies = [ "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", - "plain_hasher 0.1.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2929,7 +2927,7 @@ dependencies = [ "substrate-runtime-std 0.1.0", "substrate-serializer 0.1.0", "twox-hash 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3283,16 +3281,16 @@ name = "substrate-state-machine" version = "0.1.0" dependencies = [ "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "substrate-primitives 0.1.0", - "triehash 0.2.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "triehash 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", ] [[package]] @@ -3313,7 +3311,7 @@ dependencies = [ name = "substrate-test-client" version = "0.1.0" dependencies = [ - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "rhododendron 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-bft 0.1.0", "substrate-client 0.1.0", @@ -3678,11 +3676,11 @@ dependencies = [ [[package]] name = "triehash" version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", ] [[package]] @@ -3727,7 +3725,7 @@ dependencies = [ [[package]] name = "uint" version = "0.2.2" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" dependencies = [ "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4057,7 +4055,7 @@ dependencies = [ "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" "checksum fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b1ee15a7050e5580b3712877157068ea713b245b080ff302ae2ca973cfcd9baa" "checksum fixed-hash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18d6fd718fb4396e7a9c93ac59ba7143501467ca7a143c145b5555a571d5576" -"checksum fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" "checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" "checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" @@ -4070,7 +4068,7 @@ dependencies = [ "checksum generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef25c5683767570c2bbd7deba372926a55eaae9982d7726ee2a1050239d45b9d" "checksum getopts 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "0a7292d30132fb5424b354f5dc02512a86e4c516fe544bb7a25e7f266951b797" "checksum globset 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8e49edbcc9c7fc5beb8c0a54e7319ff8bed353a2b55e85811c6281188c2a6c84" -"checksum hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" "checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" "checksum hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4da5f0e01bd8a71a224a4eedecaacfcabda388dbb7a80faf04d3514287572d95" @@ -4095,11 +4093,11 @@ dependencies = [ "checksum keccak-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b7f51f30d7986536accaec4a6a288008dfb3dbffe8a2863a65292bc395a3ae7" "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" "checksum kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" -"checksum kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" -"checksum kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" -"checksum kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" "checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" "checksum lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca488b89a5657b0a2ecd45b95609b3e848cf1755da332a0da46e2b2b1cb371a7" @@ -4132,7 +4130,7 @@ dependencies = [ "checksum memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" "checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" -"checksum memorydb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum memorydb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0" "checksum mime 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "fe51c8699d2dc522bf8c1ebe26ea2193d151fb54bcdfd7d0318750c189994cd9" "checksum mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)" = "4fcfcb32d63961fb6f367bfd5d21e4600b92cd310f71f9dca25acae196eb1560" @@ -4155,7 +4153,7 @@ dependencies = [ "checksum openssl-sys 0.9.35 (registry+https://github.com/rust-lang/crates.io-index)" = "912f301a749394e1025d9dcddef6106ddee9252620e6d0a0e5f8d0681de9b129" "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" "checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" -"checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)" = "511379a8194230c2395d2f5fa627a5a7e108a9f976656ce723ae68fca4097bfc" "checksum parity-wordlist 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d0dec124478845b142f68b446cbee953d14d4b41f1bc0425024417720dce693" @@ -4163,10 +4161,10 @@ dependencies = [ "checksum parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d4d05f1349491390b1730afba60bb20d55761bef489a954546b58b4b34e1e2ac" "checksum parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "69376b761943787ebd5cc85a5bc95958651a22609c5c1c2b65de21786baec72b" "checksum parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa" -"checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" "checksum pkg-config 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)" = "104630aa1c83213cbc76db0703630fcb0421dac3585063be4ce9a8a2feeaa745" -"checksum plain_hasher 0.1.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "28ea5118e2f41bfbc974b28d88c07621befd1fa5d6ec23549be96302a1a59dd2" "checksum proc-macro-hack 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ba8d4f9257b85eb6cdf13f055cea3190520aab1409ca2ab43493ea4820c25f0" "checksum proc-macro-hack-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d5cb6f960ad471404618e9817c0e5d10b1ae74cfdf01fab89ea0641fe7fb2892" @@ -4194,7 +4192,7 @@ dependencies = [ "checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5" "checksum rhododendron 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c8502867a61713f8297ed13b8de6fcdec1286d3a9ea543628f55bcfa8b30ac57" "checksum ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6f7d28b30a72c01b458428e0ae988d4149c20d902346902be881e3edc4bb325c" -"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "89db7f8dfdd5eb7ab3ac3ece7a07fd273a680b4b224cb231181280e8996f9f0b" "checksum rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)" = "" "checksum rocksdb-sys 0.3.0 (git+https://github.com/paritytech/rust-rocksdb)" = "" @@ -4268,14 +4266,14 @@ dependencies = [ "checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" "checksum transaction-pool 1.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "be1efb673ddf49ab4a99893eb3af02f6563636033fb832c2b7f937641ad62b17" "checksum triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2033893a813c70e7d8a739ca6c36dc0a7a2c913ec718d7cbf84a3837bbe3c7ce" -"checksum triehash 0.2.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum triehash 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum try-lock 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee2aa4715743892880f70885373966c83d73ef1b0838a664ef0c76fffd35e7c2" "checksum twox-hash 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4f85be565a110ed72ed7048cf56570db04ce0a592c98aa59b7dacde3e5718750" "checksum typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887" "checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" "checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d" "checksum uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "38051a96565903d81c9a9210ce11076b2218f3b352926baa1f5f6abbdfce8273" -"checksum uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33" "checksum unicase 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "284b6d3db520d67fbe88fd778c21510d1b0ba4a551e5d0fbb023d33405f6de8a" "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" diff --git a/polkadot/runtime/src/parachains.rs b/polkadot/runtime/src/parachains.rs index 1998213a071ad..8d50da204e1d5 100644 --- a/polkadot/runtime/src/parachains.rs +++ b/polkadot/runtime/src/parachains.rs @@ -30,7 +30,7 @@ use substrate_runtime_support::dispatch::Result; use rstd::marker::PhantomData; #[cfg(any(feature = "std", test))] -use {runtime_primitives}; +use runtime_primitives; #[cfg(any(feature = "std", test))] use std::collections::HashMap; diff --git a/polkadot/runtime/wasm/Cargo.lock b/polkadot/runtime/wasm/Cargo.lock index 7457a0c7d6141..8988e7e171c2d 100644 --- a/polkadot/runtime/wasm/Cargo.lock +++ b/polkadot/runtime/wasm/Cargo.lock @@ -153,7 +153,7 @@ dependencies = [ [[package]] name = "fixed-hash" version = "0.2.2" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", @@ -182,8 +182,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "hashdb" -version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +version = "0.2.0" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -272,13 +272,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "memorydb" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#e513114d69acf55584f346a90cdcd8c45c9a3cbc" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a54fe63d0439ec3b0e84ac3aeb90fea1f56e265c" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "plain_hasher 0.1.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", ] [[package]] @@ -315,7 +315,7 @@ dependencies = [ [[package]] name = "parity-bytes" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" [[package]] name = "parity-wasm" @@ -348,23 +348,21 @@ dependencies = [ [[package]] name = "patricia-trie" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "plain_hasher" -version = "0.1.1" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +version = "0.2.0" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -499,7 +497,7 @@ dependencies = [ [[package]] name = "rlp" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -610,18 +608,18 @@ dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", - "plain_hasher 0.1.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-runtime-std 0.1.0", "twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -855,16 +853,16 @@ name = "substrate-state-machine" version = "0.1.0" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", "substrate-primitives 0.1.0", - "triehash 0.2.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "triehash 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", ] [[package]] @@ -899,11 +897,11 @@ dependencies = [ [[package]] name = "triehash" version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#e513114d69acf55584f346a90cdcd8c45c9a3cbc" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a54fe63d0439ec3b0e84ac3aeb90fea1f56e265c" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)", + "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", ] [[package]] @@ -928,7 +926,7 @@ dependencies = [ [[package]] name = "uint" version = "0.2.2" -source = "git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly#f47981561433ac5aa20888d8786b9df414262e3c" +source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -993,11 +991,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c48729b8aea8aedb12cf4cb2e5cef439fdfe2dda4a89e47eeebd15778ef53b6" "checksum ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ac59a21a9ce98e188f3dace9eb67a6c4a3c67ec7fbc7218cb827852679dc002" "checksum fixed-hash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18d6fd718fb4396e7a9c93ac59ba7143501467ca7a143c145b5555a571d5576" -"checksum fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)" = "5e33ec290da0d127825013597dbdfc28bee4964690c7ce1166cbc2a7bd08b1bb" -"checksum hashdb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" "checksum hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4da5f0e01bd8a71a224a4eedecaacfcabda388dbb7a80faf04d3514287572d95" "checksum hex-literal-impl 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1d340b6514f232f6db1bd16db65302a5278a04fef9ce867cb932e7e5fa21130a" @@ -1010,18 +1008,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" "checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" -"checksum memorydb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum memorydb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum nan-preserving-float 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "34d4f00fcc2f4c9efa8cc971db0da9e28290e28e97af47585e48691ef10ff31f" "checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" "checksum num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "775393e285254d2f5004596d69bb8bc1149754570dcc08cf30cabeba67955e28" "checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30" "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" -"checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1c91199d14bd5b78ecade323d4a891d094799749c1b9e82d9c590c2e2849a40" "checksum parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "149d8f5b97f3c1133e3cfcd8886449959e856b557ff281e292b733d7c69e005e" "checksum parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa" -"checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" -"checksum plain_hasher 0.1.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" +"checksum plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum proc-macro-hack 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ba8d4f9257b85eb6cdf13f055cea3190520aab1409ca2ab43493ea4820c25f0" "checksum proc-macro-hack-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d5cb6f960ad471404618e9817c0e5d10b1ae74cfdf01fab89ea0641fe7fb2892" "checksum proc-macro2 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1fa93823f53cfd0f5ac117b189aed6cfdfb2cfc0a9d82e956dd7927595ed7d46" @@ -1031,7 +1029,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b614fe08b6665cb9a231d07ac1364b0ef3cb3698f1239ee0c4c3a88a524f54c8" "checksum rayon-core 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d24ad214285a7729b174ed6d3bcfcb80177807f959d95fafd5bfc5c4f201ac8" "checksum ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6f7d28b30a72c01b458428e0ae988d4149c20d902346902be881e3edc4bb325c" -"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "89db7f8dfdd5eb7ab3ac3ece7a07fd273a680b4b224cb231181280e8996f9f0b" "checksum rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0ceb8ce7a5e520de349e1fa172baeba4a9e8d5ef06c47471863530bc4972ee1e" "checksum rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2b03280c2813907a030785570c577fb27d3deec8da4c18566751ade94de0ace" @@ -1046,10 +1044,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum syn 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6dfd71b2be5a58ee30a6f8ea355ba8290d397131c00dfa55c3d34e6e13db5101" "checksum tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e9175261fbdb60781fcd388a4d6cc7e14764a2b629a7ad94abb439aed223a44f" "checksum triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2033893a813c70e7d8a739ca6c36dc0a7a2c913ec718d7cbf84a3837bbe3c7ce" -"checksum triehash 0.2.0 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum triehash 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "475352206e7a290c5fccc27624a163e8d0d115f7bb60ca18a64fc9ce056d7435" "checksum uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "38051a96565903d81c9a9210ce11076b2218f3b352926baa1f5f6abbdfce8273" -"checksum uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=refactor/no_std-friendly)" = "" +"checksum uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" "checksum untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f392d7819dbe58833e26872f5f6f0d68b7bbbe90fc3667e98731c4a15ad9a7ae" "checksum wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "522fe3fdd44a56f25cd5ddcd8ccdb1cf2e982ceb28fcb00f41d8a018ae5245a8" diff --git a/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm b/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm index 0fee4ebd36e2c3cf201372f1dd0a88361ae0f8a1..7c95f020d057fb783ca0546f3824fb852ec3f903 100755 GIT binary patch delta 24688 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 Ss-$94IjTM`-Z8s~X8#A};G$sw delta 24492 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 diff --git a/substrate/cli/src/lib.rs b/substrate/cli/src/lib.rs index f7820a0d401b2..a014189197020 100644 --- a/substrate/cli/src/lib.rs +++ b/substrate/cli/src/lib.rs @@ -26,7 +26,6 @@ extern crate ansi_term; extern crate regex; extern crate time; extern crate fdlimit; - extern crate futures; extern crate tokio; extern crate names; diff --git a/substrate/client/Cargo.toml b/substrate/client/Cargo.toml index ff33130564eca..e6b813710efb0 100644 --- a/substrate/client/Cargo.toml +++ b/substrate/client/Cargo.toml @@ -24,9 +24,9 @@ substrate-runtime-primitives = { path = "../runtime/primitives" } substrate-state-machine = { path = "../state-machine" } substrate-keyring = { path = "../../substrate/keyring" } substrate-telemetry = { path = "../telemetry" } -hashdb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } -patricia-trie = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } -rlp = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } +hashdb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } +patricia-trie = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } +rlp = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } [dev-dependencies] substrate-test-client = { path = "../test-client" } diff --git a/substrate/client/db/Cargo.toml b/substrate/client/db/Cargo.toml index 5c09c3571810f..e9ea098664912 100644 --- a/substrate/client/db/Cargo.toml +++ b/substrate/client/db/Cargo.toml @@ -6,10 +6,10 @@ authors = ["Parity Technologies "] [dependencies] parking_lot = "0.4" log = "0.3" -kvdb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } -kvdb-rocksdb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } -hashdb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } -memorydb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } +kvdb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } +kvdb-rocksdb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } +hashdb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } +memorydb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } substrate-primitives = { path = "../../../substrate/primitives" } substrate-runtime-primitives = { path = "../../../substrate/runtime/primitives" } substrate-client = { path = "../../../substrate/client" } @@ -20,4 +20,4 @@ substrate-executor = { path = "../../../substrate/executor" } substrate-state-db = { path = "../../../substrate/state-db" } [dev-dependencies] -kvdb-memorydb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } +kvdb-memorydb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } diff --git a/substrate/client/db/src/lib.rs b/substrate/client/db/src/lib.rs index 20b31d1484840..5cb44a6a2e7db 100644 --- a/substrate/client/db/src/lib.rs +++ b/substrate/client/db/src/lib.rs @@ -115,7 +115,7 @@ struct PendingBlock { struct StateMetaDb<'a>(&'a KeyValueDB); impl<'a> state_db::MetaDb for StateMetaDb<'a> { - type Error = io::Error; // REVIEW: `kvdb::Error` is gone (https://github.com/paritytech/parity-ethereum/pull/8924/files#diff-ead7c616cf8709a265c3297ad8dbfccdL36) and replaced with `io:Error` in other places – is that ok here too? + type Error = io::Error; fn get_meta(&self, key: &[u8]) -> Result>, Self::Error> { self.0.get(columns::STATE_META, key).map(|r| r.map(|v| v.to_vec())) @@ -271,7 +271,7 @@ impl state_machine::Storage for StorageDb { } impl state_db::HashDb for StorageDb { - type Error = io::Error; // REVIEW: `kvdb::Error` was removed (see above) + type Error = io::Error; type Hash = H256; fn get(&self, key: &H256) -> Result>, Self::Error> { @@ -308,7 +308,6 @@ impl Backend { fn from_kvdb(db: Arc, pruning: PruningMode, finalization_window: u64) -> Result { let blockchain = BlockchainDb::new(db.clone())?; let map_e = |e: state_db::Error| ::client::error::Error::from(format!("State database error: {:?}", e)); - // let map_e = |e: state_db::Error| ::client::error::Error::from(format!("State database error: {:?}", e)); let state_db: StateDb = StateDb::new(pruning, &StateMetaDb(&*db)).map_err(map_e)?; let storage_db = StorageDb { db, diff --git a/substrate/client/db/src/utils.rs b/substrate/client/db/src/utils.rs index 17cd441486a6a..ef80d3b725a20 100644 --- a/substrate/client/db/src/utils.rs +++ b/substrate/client/db/src/utils.rs @@ -86,13 +86,7 @@ pub fn db_key_to_number(key: &[u8]) -> client::error::Result where N: As client::error::Error { use std::error::Error; - // REVIEW: not sure what value the `Io`/`Msg` kinds had or what we want to do here client::error::ErrorKind::Backend(err.description().into()).into() - // match err.kind() { - // &kvdb::ErrorKind::Io(ref err) => client::error::ErrorKind::Backend(err.description().into()).into(), - // &kvdb::ErrorKind::Msg(ref m) => client::error::ErrorKind::Backend(m.clone()).into(), - // _ => client::error::ErrorKind::Backend("Unknown backend error".into()).into(), - // } } /// Open RocksDB database. diff --git a/substrate/client/src/in_mem.rs b/substrate/client/src/in_mem.rs index 5060090f9ea2c..e42e83f75fc5a 100644 --- a/substrate/client/src/in_mem.rs +++ b/substrate/client/src/in_mem.rs @@ -359,7 +359,7 @@ where let hash = header.hash(); let parent_hash = *header.parent_hash(); - self.states.write().insert(hash, operation.new_state.unwrap_or_else(|| old_state.clone())); // REVIEW: this was `.unwrap_or_else(|| old_state.clone())` – but ther compiler complained about trying to insert a rference into the hash map. Not sure how that could have worked before? + self.states.write().insert(hash, operation.new_state.unwrap_or_else(|| old_state.clone())); self.blockchain.insert(hash, header, justification, body, pending_block.is_best); // dumb implementation - store value for each block if pending_block.is_best { diff --git a/substrate/executor/Cargo.toml b/substrate/executor/Cargo.toml index f967b631c1eaa..aec1a610a09b6 100644 --- a/substrate/executor/Cargo.toml +++ b/substrate/executor/Cargo.toml @@ -21,7 +21,7 @@ twox-hash = "1.1.0" lazy_static = "1.0" parking_lot = "*" log = "0.3" -hashdb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } +hashdb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } [dev-dependencies] assert_matches = "1.1" diff --git a/substrate/executor/src/wasm_executor.rs b/substrate/executor/src/wasm_executor.rs index 4256c5c6550ce..997df761d57c2 100644 --- a/substrate/executor/src/wasm_executor.rs +++ b/substrate/executor/src/wasm_executor.rs @@ -141,7 +141,7 @@ impl ReadPrimitive for MemoryInstance { } } -// REVIEW: this macro does not support `where` clauses and that seems somewhat tricky to add +// TODO: this macro does not support `where` clauses and that seems somewhat tricky to add impl_function_executor!(this: FunctionExecutor<'e, E>, ext_print_utf8(utf8_data: *const u8, utf8_len: u32) => { if let Ok(utf8) = this.memory.get(utf8_data, utf8_len as usize) { diff --git a/substrate/primitives/Cargo.toml b/substrate/primitives/Cargo.toml index f6308e92fe156..d98a1dbf9221c 100644 --- a/substrate/primitives/Cargo.toml +++ b/substrate/primitives/Cargo.toml @@ -8,20 +8,19 @@ crunchy = "0.1" substrate-runtime-std = { path = "../runtime-std", default_features = false } substrate-codec = { path = "../codec", default_features = false } elastic-array = {version = "0.10", optional = true } -fixed-hash = { git = "https://github.com/paritytech/parity-common", default_features = false, branch = "refactor/no_std-friendly" } +fixed-hash = { git = "https://github.com/paritytech/parity-common", default_features = false, branch = "temp/combined-hashdb-plain_hasher-changes" } rustc-hex = { version = "2.0", default_features = false } serde = { version = "1.0", default_features = false } serde_derive = { version = "1.0", optional = true } -# TODO: Used to fetch `uint` from "https://github.com/rphmeier/primitives.git" – what was `compile-for-wasm` adding? -uint = { git = "https://github.com/paritytech/parity-common", default_features = false, branch = "refactor/no_std-friendly" } -rlp = { git = "https://github.com/paritytech/parity-common", optional = true, branch = "refactor/no_std-friendly" } +uint = { git = "https://github.com/paritytech/parity-common", default_features = false, branch = "temp/combined-hashdb-plain_hasher-changes" } +rlp = { git = "https://github.com/paritytech/parity-common", optional = true, branch = "temp/combined-hashdb-plain_hasher-changes" } twox-hash = { version = "1.1.0", optional = true } byteorder = { version = "1.1", default_features = false } blake2-rfc = { version = "0.2.18", optional = true } wasmi = { version = "0.4", optional = true } -hashdb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly", default_features = false } -patricia-trie = { git = "https://github.com/paritytech/parity-common", optional = true, branch = "refactor/no_std-friendly" } -plain_hasher = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly", default_features = false } +hashdb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes", default_features = false } +patricia-trie = { git = "https://github.com/paritytech/parity-common", optional = true, branch = "temp/combined-hashdb-plain_hasher-changes" } +plain_hasher = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes", default_features = false } [dev-dependencies] substrate-serializer = { path = "../serializer" } diff --git a/substrate/primitives/src/hash.rs b/substrate/primitives/src/hash.rs index ac1707d4aef5e..89f2961b95283 100644 --- a/substrate/primitives/src/hash.rs +++ b/substrate/primitives/src/hash.rs @@ -86,7 +86,6 @@ impl_rest!(H160, 20); impl_rest!(H256, 32); impl_rest!(H512, 64); - #[cfg(test)] mod tests { use super::*; diff --git a/substrate/primitives/src/uint.rs b/substrate/primitives/src/uint.rs index c6c94c120ec94..92ab73b70a716 100644 --- a/substrate/primitives/src/uint.rs +++ b/substrate/primitives/src/uint.rs @@ -66,7 +66,6 @@ mod tests { ($name::from(1_000), "0x3e8"), ($name::from(100_000), "0x186a0"), ($name::from(u64::max_value()), "0xffffffffffffffff"), - // TODO: `uint` doesn't have the same conversion facilities as `ethereum_types::H256` – need to port over the manual impls from `ethereum-types` to the macro so we can to `1.into()` ($name::from(u64::max_value()) + $name::from(1), "0x10000000000000000"), ]; diff --git a/substrate/runtime-io/with_std.rs b/substrate/runtime-io/with_std.rs index c81cedd079bed..8b1a3e404c7c8 100644 --- a/substrate/runtime-io/with_std.rs +++ b/substrate/runtime-io/with_std.rs @@ -36,8 +36,6 @@ use primitives::H256; // TODO: use the real error, not NoError. -// REVIEW: The `environmental!` machinery can't really work with generics so need a concrete impl here. -// This means that consumers of the generated code can't use generics either? environmental!(ext: trait Externalities); /// Get `key` from storage and return a `Vec`, empty if there's a problem. @@ -94,7 +92,6 @@ pub fn chain_id() -> u64 { } /// "Commit" all existing operations and get the resultant storage root. -// TODO: this used to be: `pub fn storage_root() -> [u8; 32]` – does it really need to use H256? pub fn storage_root() -> H256 { ext::with(|ext| ext.storage_root() @@ -130,7 +127,7 @@ pub fn ed25519_verify>(sig: &[u8; 64], msg: &[u8], pubkey: P) -> /// Execute the given closure with global function available whose functionality routes into the /// externalities `ext`. Forwards the value that the closure returns. -// TODO: need a concrete hasher here due to limitations of the `environmental!` macro, otherwise a type param would have been fine I think. +// NOTE: need a concrete hasher here due to limitations of the `environmental!` macro, otherwise a type param would have been fine I think. pub fn with_externalities R>(ext: &mut Externalities, f: F) -> R { ext::using(ext, f) } diff --git a/substrate/runtime/council/src/lib.rs b/substrate/runtime/council/src/lib.rs index fb6cf6b6bb8c9..37d4d619c62b7 100644 --- a/substrate/runtime/council/src/lib.rs +++ b/substrate/runtime/council/src/lib.rs @@ -616,7 +616,7 @@ impl primitives::BuildStorage for GenesisConfig #[cfg(test)] mod tests { - // These `pub` are here for a reason, edit with care + // These re-exports are here for a reason, edit with care pub use super::*; pub use runtime_io::with_externalities; pub use substrate_primitives::H256; diff --git a/substrate/runtime/system/src/lib.rs b/substrate/runtime/system/src/lib.rs index 24133436baf50..5cfa5d1e7b4d1 100644 --- a/substrate/runtime/system/src/lib.rs +++ b/substrate/runtime/system/src/lib.rs @@ -207,10 +207,6 @@ impl Default for GenesisConfig { #[cfg(any(feature = "std", test))] impl primitives::BuildStorage for GenesisConfig { - // TODO: I don't think passing a StorageMap instead of a TextExternalities can work here, as - // StorageMap does not implement the Externalities trait, but it compiles and there are no tests - // so… - // fn build_storage(self) -> Result, String> { fn build_storage(self) -> Result { use codec::Encode; diff --git a/substrate/state-machine/Cargo.toml b/substrate/state-machine/Cargo.toml index 0d5ec8fd68b74..f03401eb8c7b1 100644 --- a/substrate/state-machine/Cargo.toml +++ b/substrate/state-machine/Cargo.toml @@ -13,8 +13,8 @@ heapsize = "0.4" substrate-primitives = { path = "../primitives", version = "0.1.0" } -hashdb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } -memorydb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } -patricia-trie = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } -triehash = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } -rlp = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } +hashdb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } +memorydb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } +patricia-trie = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } +triehash = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } +rlp = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } diff --git a/substrate/state-machine/src/trie_backend.rs b/substrate/state-machine/src/trie_backend.rs index 0a4485b05627e..8dca8451ae9e6 100644 --- a/substrate/state-machine/src/trie_backend.rs +++ b/substrate/state-machine/src/trie_backend.rs @@ -198,7 +198,6 @@ pub struct Ephemeral<'a, H: 'a + Hasher> { overlay: &'a mut MemoryDB, } -// REVIEW: this is boiler plate, need macro? impl<'a, H: Hasher> AsHashDB for Ephemeral<'a, H> where H::Out: HeapSizeOf { fn as_hashdb(&self) -> &HashDB { self } fn as_hashdb_mut(&mut self) -> &mut HashDB { self } diff --git a/substrate/test-client/Cargo.toml b/substrate/test-client/Cargo.toml index 7448107b4b1fd..b7f3f9d1d7db3 100644 --- a/substrate/test-client/Cargo.toml +++ b/substrate/test-client/Cargo.toml @@ -14,5 +14,5 @@ substrate-primitives = { path = "../primitives" } substrate-runtime-support = { path = "../runtime-support" } substrate-test-runtime = { path = "../test-runtime" } substrate-runtime-primitives = { path = "../runtime/primitives" } -hashdb = { git = "https://github.com/paritytech/parity-common", branch = "refactor/no_std-friendly" } +hashdb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } From 04b70654c684a784883165cb295016be8d2f04a5 Mon Sep 17 00:00:00 2001 From: David Palm Date: Thu, 9 Aug 2018 11:46:28 +0200 Subject: [PATCH 82/86] Implement blake2_256 for no_std --- .../release/polkadot_runtime.wasm | Bin 323311 -> 323311 bytes substrate/primitives/src/hasher.rs | 13 ++++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm b/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm index 7c95f020d057fb783ca0546f3824fb852ec3f903..c2688995d5d947ab7db01b0693001baefccf0094 100755 GIT binary patch delta 15601 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 IEFFOV1HTv>m;e9( delta 15272 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 [u8; 32] { - unimplemented!() +extern "C" { + fn ext_blake2_256(data: *const u8, len: u32, out: *mut u8); +} +#[cfg(not(feature = "std"))] +fn blake2_256(data: &[u8]) -> [u8; 32] { + let mut result: [u8; 32] = Default::default(); + unsafe { + ext_blake2_256(data.as_ptr(), data.len() as u32, result.as_mut_ptr()); + } + result } /// Concrete implementation of Hasher using Blake2b 256-bit hashes From 8152a7887914e992cd02036ea4a27768fe752b3f Mon Sep 17 00:00:00 2001 From: David Palm Date: Thu, 9 Aug 2018 12:19:45 +0200 Subject: [PATCH 83/86] Back on parity-common master --- Cargo.lock | 146 ++++++------------ polkadot/runtime/wasm/Cargo.lock | 74 ++++----- .../release/polkadot_runtime.wasm | Bin 323311 -> 323662 bytes substrate/client/Cargo.toml | 6 +- substrate/client/db/Cargo.toml | 10 +- substrate/executor/Cargo.toml | 2 +- substrate/primitives/Cargo.toml | 12 +- substrate/state-machine/Cargo.toml | 10 +- substrate/test-client/Cargo.toml | 2 +- 9 files changed, 109 insertions(+), 153 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f7adc10edabc9..60a074d30dd3c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -747,7 +747,7 @@ dependencies = [ [[package]] name = "fixed-hash" version = "0.2.2" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", @@ -847,8 +847,8 @@ dependencies = [ [[package]] name = "hashdb" -version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" +version = "0.2.1" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1078,43 +1078,25 @@ dependencies = [ [[package]] name = "kvdb" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", ] -[[package]] -name = "kvdb" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" -dependencies = [ - "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", -] - [[package]] name = "kvdb-memorydb" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" dependencies = [ "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)", "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "kvdb-memorydb" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" -dependencies = [ - "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", - "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "kvdb-rocksdb" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1128,23 +1110,6 @@ dependencies = [ "rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)", ] -[[package]] -name = "kvdb-rocksdb" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" -dependencies = [ - "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "fs-swap 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "interleaved-ordered 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", - "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)", -] - [[package]] name = "language-tags" version = "0.2.2" @@ -1534,13 +1499,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "memorydb" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", ] [[package]] @@ -1744,17 +1709,12 @@ dependencies = [ [[package]] name = "parity-bytes" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" - -[[package]] -name = "parity-bytes" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" [[package]] name = "parity-crypto" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#ae80aff49759515004525180c20ad322d010fa6e" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" dependencies = [ "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1822,12 +1782,12 @@ dependencies = [ [[package]] name = "patricia-trie" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1844,7 +1804,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "plain_hasher" version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2352,7 +2312,7 @@ dependencies = [ [[package]] name = "rlp" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" dependencies = [ "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2729,13 +2689,13 @@ dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", "slog 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-bft 0.1.0", "substrate-codec 0.1.0", @@ -2755,12 +2715,12 @@ dependencies = [ name = "substrate-client-db" version = "0.1.0" dependencies = [ - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", - "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", - "kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", - "kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)", + "kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common)", + "kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-client 0.1.0", "substrate-codec 0.1.0", @@ -2787,7 +2747,7 @@ dependencies = [ "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "ed25519 0.1.0", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2913,13 +2873,13 @@ dependencies = [ "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", - "plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", + "plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common)", "pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2927,7 +2887,7 @@ dependencies = [ "substrate-runtime-std 0.1.0", "substrate-serializer 0.1.0", "twox-hash 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "uint 0.2.2 (git+https://github.com/paritytech/parity-common)", "wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3281,16 +3241,16 @@ name = "substrate-state-machine" version = "0.1.0" dependencies = [ "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", "substrate-primitives 0.1.0", - "triehash 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "triehash 0.2.0 (git+https://github.com/paritytech/parity-common)", ] [[package]] @@ -3311,7 +3271,7 @@ dependencies = [ name = "substrate-test-client" version = "0.1.0" dependencies = [ - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", "rhododendron 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-bft 0.1.0", "substrate-client 0.1.0", @@ -3676,11 +3636,11 @@ dependencies = [ [[package]] name = "triehash" version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", ] [[package]] @@ -3693,7 +3653,7 @@ name = "twox-hash" version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3725,7 +3685,7 @@ dependencies = [ [[package]] name = "uint" version = "0.2.2" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" dependencies = [ "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4055,7 +4015,7 @@ dependencies = [ "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" "checksum fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b1ee15a7050e5580b3712877157068ea713b245b080ff302ae2ca973cfcd9baa" "checksum fixed-hash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18d6fd718fb4396e7a9c93ac59ba7143501467ca7a143c145b5555a571d5576" -"checksum fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" +"checksum fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)" = "" "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" "checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" "checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" @@ -4068,7 +4028,7 @@ dependencies = [ "checksum generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef25c5683767570c2bbd7deba372926a55eaae9982d7726ee2a1050239d45b9d" "checksum getopts 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "0a7292d30132fb5424b354f5dc02512a86e4c516fe544bb7a25e7f266951b797" "checksum globset 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8e49edbcc9c7fc5beb8c0a54e7319ff8bed353a2b55e85811c6281188c2a6c84" -"checksum hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" +"checksum hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" "checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" "checksum hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4da5f0e01bd8a71a224a4eedecaacfcabda388dbb7a80faf04d3514287572d95" @@ -4093,11 +4053,8 @@ dependencies = [ "checksum keccak-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b7f51f30d7986536accaec4a6a288008dfb3dbffe8a2863a65292bc395a3ae7" "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" "checksum kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" -"checksum kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" -"checksum kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" -"checksum kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" "checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" "checksum lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca488b89a5657b0a2ecd45b95609b3e848cf1755da332a0da46e2b2b1cb371a7" @@ -4130,7 +4087,7 @@ dependencies = [ "checksum memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" "checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" -"checksum memorydb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" +"checksum memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" "checksum mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0" "checksum mime 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "fe51c8699d2dc522bf8c1ebe26ea2193d151fb54bcdfd7d0318750c189994cd9" "checksum mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)" = "4fcfcb32d63961fb6f367bfd5d21e4600b92cd310f71f9dca25acae196eb1560" @@ -4153,7 +4110,6 @@ dependencies = [ "checksum openssl-sys 0.9.35 (registry+https://github.com/rust-lang/crates.io-index)" = "912f301a749394e1025d9dcddef6106ddee9252620e6d0a0e5f8d0681de9b129" "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" "checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" -"checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" "checksum parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)" = "511379a8194230c2395d2f5fa627a5a7e108a9f976656ce723ae68fca4097bfc" "checksum parity-wordlist 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d0dec124478845b142f68b446cbee953d14d4b41f1bc0425024417720dce693" @@ -4161,10 +4117,10 @@ dependencies = [ "checksum parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d4d05f1349491390b1730afba60bb20d55761bef489a954546b58b4b34e1e2ac" "checksum parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "69376b761943787ebd5cc85a5bc95958651a22609c5c1c2b65de21786baec72b" "checksum parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa" -"checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" +"checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" "checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" "checksum pkg-config 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)" = "104630aa1c83213cbc76db0703630fcb0421dac3585063be4ce9a8a2feeaa745" -"checksum plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" +"checksum plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "28ea5118e2f41bfbc974b28d88c07621befd1fa5d6ec23549be96302a1a59dd2" "checksum proc-macro-hack 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ba8d4f9257b85eb6cdf13f055cea3190520aab1409ca2ab43493ea4820c25f0" "checksum proc-macro-hack-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d5cb6f960ad471404618e9817c0e5d10b1ae74cfdf01fab89ea0641fe7fb2892" @@ -4192,7 +4148,7 @@ dependencies = [ "checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5" "checksum rhododendron 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c8502867a61713f8297ed13b8de6fcdec1286d3a9ea543628f55bcfa8b30ac57" "checksum ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6f7d28b30a72c01b458428e0ae988d4149c20d902346902be881e3edc4bb325c" -"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" +"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" "checksum rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "89db7f8dfdd5eb7ab3ac3ece7a07fd273a680b4b224cb231181280e8996f9f0b" "checksum rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)" = "" "checksum rocksdb-sys 0.3.0 (git+https://github.com/paritytech/rust-rocksdb)" = "" @@ -4266,14 +4222,14 @@ dependencies = [ "checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" "checksum transaction-pool 1.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "be1efb673ddf49ab4a99893eb3af02f6563636033fb832c2b7f937641ad62b17" "checksum triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2033893a813c70e7d8a739ca6c36dc0a7a2c913ec718d7cbf84a3837bbe3c7ce" -"checksum triehash 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" +"checksum triehash 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum try-lock 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee2aa4715743892880f70885373966c83d73ef1b0838a664ef0c76fffd35e7c2" "checksum twox-hash 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4f85be565a110ed72ed7048cf56570db04ce0a592c98aa59b7dacde3e5718750" "checksum typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887" "checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" "checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d" "checksum uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "38051a96565903d81c9a9210ce11076b2218f3b352926baa1f5f6abbdfce8273" -"checksum uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" +"checksum uint 0.2.2 (git+https://github.com/paritytech/parity-common)" = "" "checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33" "checksum unicase 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "284b6d3db520d67fbe88fd778c21510d1b0ba4a551e5d0fbb023d33405f6de8a" "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" diff --git a/polkadot/runtime/wasm/Cargo.lock b/polkadot/runtime/wasm/Cargo.lock index 8988e7e171c2d..32fe199a6a895 100644 --- a/polkadot/runtime/wasm/Cargo.lock +++ b/polkadot/runtime/wasm/Cargo.lock @@ -153,7 +153,7 @@ dependencies = [ [[package]] name = "fixed-hash" version = "0.2.2" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", @@ -182,8 +182,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "hashdb" -version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" +version = "0.2.1" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -272,13 +272,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "memorydb" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a54fe63d0439ec3b0e84ac3aeb90fea1f56e265c" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", ] [[package]] @@ -315,7 +315,7 @@ dependencies = [ [[package]] name = "parity-bytes" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" [[package]] name = "parity-wasm" @@ -348,19 +348,19 @@ dependencies = [ [[package]] name = "patricia-trie" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "plain_hasher" version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -497,7 +497,7 @@ dependencies = [ [[package]] name = "rlp" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -608,18 +608,18 @@ dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", - "plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", + "plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-runtime-std 0.1.0", "twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "uint 0.2.2 (git+https://github.com/paritytech/parity-common)", "wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -853,16 +853,16 @@ name = "substrate-state-machine" version = "0.1.0" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", "substrate-primitives 0.1.0", - "triehash 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "triehash 0.2.0 (git+https://github.com/paritytech/parity-common)", ] [[package]] @@ -897,11 +897,11 @@ dependencies = [ [[package]] name = "triehash" version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a54fe63d0439ec3b0e84ac3aeb90fea1f56e265c" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)", + "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", ] [[package]] @@ -926,7 +926,7 @@ dependencies = [ [[package]] name = "uint" version = "0.2.2" -source = "git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes#a076abd118d3cada804d2802a018a3cc2a55f22f" +source = "git+https://github.com/paritytech/parity-common#26baede0d9cd8cdad3511d75408228051dbc23dd" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -991,11 +991,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c48729b8aea8aedb12cf4cb2e5cef439fdfe2dda4a89e47eeebd15778ef53b6" "checksum ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ac59a21a9ce98e188f3dace9eb67a6c4a3c67ec7fbc7218cb827852679dc002" "checksum fixed-hash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18d6fd718fb4396e7a9c93ac59ba7143501467ca7a143c145b5555a571d5576" -"checksum fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" +"checksum fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)" = "" "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)" = "5e33ec290da0d127825013597dbdfc28bee4964690c7ce1166cbc2a7bd08b1bb" -"checksum hashdb 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" +"checksum hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" "checksum hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4da5f0e01bd8a71a224a4eedecaacfcabda388dbb7a80faf04d3514287572d95" "checksum hex-literal-impl 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1d340b6514f232f6db1bd16db65302a5278a04fef9ce867cb932e7e5fa21130a" @@ -1008,18 +1008,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" "checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" -"checksum memorydb 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" +"checksum memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" "checksum nan-preserving-float 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "34d4f00fcc2f4c9efa8cc971db0da9e28290e28e97af47585e48691ef10ff31f" "checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" "checksum num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "775393e285254d2f5004596d69bb8bc1149754570dcc08cf30cabeba67955e28" "checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30" "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" -"checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" +"checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1c91199d14bd5b78ecade323d4a891d094799749c1b9e82d9c590c2e2849a40" "checksum parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "149d8f5b97f3c1133e3cfcd8886449959e856b557ff281e292b733d7c69e005e" "checksum parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa" -"checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" -"checksum plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" +"checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" +"checksum plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum proc-macro-hack 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ba8d4f9257b85eb6cdf13f055cea3190520aab1409ca2ab43493ea4820c25f0" "checksum proc-macro-hack-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d5cb6f960ad471404618e9817c0e5d10b1ae74cfdf01fab89ea0641fe7fb2892" "checksum proc-macro2 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1fa93823f53cfd0f5ac117b189aed6cfdfb2cfc0a9d82e956dd7927595ed7d46" @@ -1029,7 +1029,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b614fe08b6665cb9a231d07ac1364b0ef3cb3698f1239ee0c4c3a88a524f54c8" "checksum rayon-core 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d24ad214285a7729b174ed6d3bcfcb80177807f959d95fafd5bfc5c4f201ac8" "checksum ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6f7d28b30a72c01b458428e0ae988d4149c20d902346902be881e3edc4bb325c" -"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" +"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" "checksum rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "89db7f8dfdd5eb7ab3ac3ece7a07fd273a680b4b224cb231181280e8996f9f0b" "checksum rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0ceb8ce7a5e520de349e1fa172baeba4a9e8d5ef06c47471863530bc4972ee1e" "checksum rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2b03280c2813907a030785570c577fb27d3deec8da4c18566751ade94de0ace" @@ -1044,10 +1044,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum syn 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6dfd71b2be5a58ee30a6f8ea355ba8290d397131c00dfa55c3d34e6e13db5101" "checksum tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e9175261fbdb60781fcd388a4d6cc7e14764a2b629a7ad94abb439aed223a44f" "checksum triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2033893a813c70e7d8a739ca6c36dc0a7a2c913ec718d7cbf84a3837bbe3c7ce" -"checksum triehash 0.2.0 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" +"checksum triehash 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" "checksum twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "475352206e7a290c5fccc27624a163e8d0d115f7bb60ca18a64fc9ce056d7435" "checksum uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "38051a96565903d81c9a9210ce11076b2218f3b352926baa1f5f6abbdfce8273" -"checksum uint 0.2.2 (git+https://github.com/paritytech/parity-common?branch=temp/combined-hashdb-plain_hasher-changes)" = "" +"checksum uint 0.2.2 (git+https://github.com/paritytech/parity-common)" = "" "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" "checksum untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f392d7819dbe58833e26872f5f6f0d68b7bbbe90fc3667e98731c4a15ad9a7ae" "checksum wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "522fe3fdd44a56f25cd5ddcd8ccdb1cf2e982ceb28fcb00f41d8a018ae5245a8" diff --git a/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm b/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm index c2688995d5d947ab7db01b0693001baefccf0094..7295f5ef1e5fc0dcea7a019733820bb49c5c4a20 100755 GIT binary patch delta 41285 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¬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 EA1DVP(f|Me delta 40753 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"] [dependencies] parking_lot = "0.4" log = "0.3" -kvdb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } -kvdb-rocksdb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } -hashdb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } -memorydb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } +kvdb = { git = "https://github.com/paritytech/parity-common" } +kvdb-rocksdb = { git = "https://github.com/paritytech/parity-common" } +hashdb = { git = "https://github.com/paritytech/parity-common" } +memorydb = { git = "https://github.com/paritytech/parity-common" } substrate-primitives = { path = "../../../substrate/primitives" } substrate-runtime-primitives = { path = "../../../substrate/runtime/primitives" } substrate-client = { path = "../../../substrate/client" } @@ -20,4 +20,4 @@ substrate-executor = { path = "../../../substrate/executor" } substrate-state-db = { path = "../../../substrate/state-db" } [dev-dependencies] -kvdb-memorydb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } +kvdb-memorydb = { git = "https://github.com/paritytech/parity-common" } diff --git a/substrate/executor/Cargo.toml b/substrate/executor/Cargo.toml index aec1a610a09b6..63262ad21d699 100644 --- a/substrate/executor/Cargo.toml +++ b/substrate/executor/Cargo.toml @@ -21,7 +21,7 @@ twox-hash = "1.1.0" lazy_static = "1.0" parking_lot = "*" log = "0.3" -hashdb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } +hashdb = { git = "https://github.com/paritytech/parity-common" } [dev-dependencies] assert_matches = "1.1" diff --git a/substrate/primitives/Cargo.toml b/substrate/primitives/Cargo.toml index d98a1dbf9221c..ccb1f57fb04de 100644 --- a/substrate/primitives/Cargo.toml +++ b/substrate/primitives/Cargo.toml @@ -8,19 +8,19 @@ crunchy = "0.1" substrate-runtime-std = { path = "../runtime-std", default_features = false } substrate-codec = { path = "../codec", default_features = false } elastic-array = {version = "0.10", optional = true } -fixed-hash = { git = "https://github.com/paritytech/parity-common", default_features = false, branch = "temp/combined-hashdb-plain_hasher-changes" } +fixed-hash = { git = "https://github.com/paritytech/parity-common", default_features = false } rustc-hex = { version = "2.0", default_features = false } serde = { version = "1.0", default_features = false } serde_derive = { version = "1.0", optional = true } -uint = { git = "https://github.com/paritytech/parity-common", default_features = false, branch = "temp/combined-hashdb-plain_hasher-changes" } -rlp = { git = "https://github.com/paritytech/parity-common", optional = true, branch = "temp/combined-hashdb-plain_hasher-changes" } +uint = { git = "https://github.com/paritytech/parity-common", default_features = false } +rlp = { git = "https://github.com/paritytech/parity-common", optional = true } twox-hash = { version = "1.1.0", optional = true } byteorder = { version = "1.1", default_features = false } blake2-rfc = { version = "0.2.18", optional = true } wasmi = { version = "0.4", optional = true } -hashdb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes", default_features = false } -patricia-trie = { git = "https://github.com/paritytech/parity-common", optional = true, branch = "temp/combined-hashdb-plain_hasher-changes" } -plain_hasher = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes", default_features = false } +hashdb = { git = "https://github.com/paritytech/parity-common", default_features = false } +patricia-trie = { git = "https://github.com/paritytech/parity-common", optional = true } +plain_hasher = { git = "https://github.com/paritytech/parity-common", default_features = false } [dev-dependencies] substrate-serializer = { path = "../serializer" } diff --git a/substrate/state-machine/Cargo.toml b/substrate/state-machine/Cargo.toml index f03401eb8c7b1..6e199f429b0be 100644 --- a/substrate/state-machine/Cargo.toml +++ b/substrate/state-machine/Cargo.toml @@ -13,8 +13,8 @@ heapsize = "0.4" substrate-primitives = { path = "../primitives", version = "0.1.0" } -hashdb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } -memorydb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } -patricia-trie = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } -triehash = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } -rlp = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } +hashdb = { git = "https://github.com/paritytech/parity-common" } +memorydb = { git = "https://github.com/paritytech/parity-common" } +patricia-trie = { git = "https://github.com/paritytech/parity-common" } +triehash = { git = "https://github.com/paritytech/parity-common" } +rlp = { git = "https://github.com/paritytech/parity-common" } diff --git a/substrate/test-client/Cargo.toml b/substrate/test-client/Cargo.toml index b7f3f9d1d7db3..b31b8b2d0a7bb 100644 --- a/substrate/test-client/Cargo.toml +++ b/substrate/test-client/Cargo.toml @@ -14,5 +14,5 @@ substrate-primitives = { path = "../primitives" } substrate-runtime-support = { path = "../runtime-support" } substrate-test-runtime = { path = "../test-runtime" } substrate-runtime-primitives = { path = "../runtime/primitives" } -hashdb = { git = "https://github.com/paritytech/parity-common", branch = "temp/combined-hashdb-plain_hasher-changes" } +hashdb = { git = "https://github.com/paritytech/parity-common" } From 11ea51724717670514fec44ec9fe22708700996e Mon Sep 17 00:00:00 2001 From: David Palm Date: Thu, 9 Aug 2018 13:23:50 +0200 Subject: [PATCH 84/86] missing type params --- substrate/rpc/src/state/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/substrate/rpc/src/state/mod.rs b/substrate/rpc/src/state/mod.rs index da0497eacec9f..ccbcba2a2a6f3 100644 --- a/substrate/rpc/src/state/mod.rs +++ b/substrate/rpc/src/state/mod.rs @@ -92,8 +92,8 @@ impl State { impl State where Block: BlockT + 'static, - B: client::backend::Backend + Send + Sync + 'static, - E: CallExecutor + Send + Sync + 'static, + B: client::backend::Backend + Send + Sync + 'static, + E: CallExecutor + Send + Sync + 'static, { fn unwrap_or_best(&self, hash: Trailing) -> Result { Ok(match hash.into() { From 19d07dbcc1e7dcfff5ba75472ecbe0972ab8a3f3 Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Thu, 9 Aug 2018 15:55:17 +0200 Subject: [PATCH 85/86] Update Cargo.lock --- Cargo.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 71c3009893c24..5b01d4286d5fb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2766,7 +2766,7 @@ dependencies = [ "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", "substrate-runtime-io 0.1.0", From 60df8c1f6fb0fcc4fed779e71759dc78945311eb Mon Sep 17 00:00:00 2001 From: David Palm Date: Thu, 9 Aug 2018 16:51:25 +0200 Subject: [PATCH 86/86] whitespace --- substrate/primitives/src/rlp_codec.rs | 82 +++++++++++++-------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/substrate/primitives/src/rlp_codec.rs b/substrate/primitives/src/rlp_codec.rs index b884dd507c8ec..b104d8b9f9acc 100644 --- a/substrate/primitives/src/rlp_codec.rs +++ b/substrate/primitives/src/rlp_codec.rs @@ -71,53 +71,53 @@ impl NodeCodec for RlpCodec { fn is_empty_node(data: &[u8]) -> bool { Rlp::new(data).is_empty() } - fn empty_node() -> ElasticArray1024 { - let mut stream = RlpStream::new(); - stream.append_empty_data(); - stream.drain() - } + fn empty_node() -> ElasticArray1024 { + let mut stream = RlpStream::new(); + stream.append_empty_data(); + stream.drain() + } - fn leaf_node(partial: &[u8], value: &[u8]) -> ElasticArray1024 { - let mut stream = RlpStream::new_list(2); - stream.append(&partial); - stream.append(&value); + fn leaf_node(partial: &[u8], value: &[u8]) -> ElasticArray1024 { + let mut stream = RlpStream::new_list(2); + stream.append(&partial); + stream.append(&value); stream.drain() - } + } fn ext_node(partial: &[u8], child_ref: ChildReference<::Out>) -> ElasticArray1024 { - let mut stream = RlpStream::new_list(2); - stream.append(&partial); - match child_ref { - ChildReference::Hash(h) => stream.append(&h), - ChildReference::Inline(inline_data, len) => { - let bytes = &AsRef::<[u8]>::as_ref(&inline_data)[..len]; - stream.append_raw(bytes, 1) - }, - }; - stream.drain() + let mut stream = RlpStream::new_list(2); + stream.append(&partial); + match child_ref { + ChildReference::Hash(h) => stream.append(&h), + ChildReference::Inline(inline_data, len) => { + let bytes = &AsRef::<[u8]>::as_ref(&inline_data)[..len]; + stream.append_raw(bytes, 1) + }, + }; + stream.drain() } fn branch_node(children: I, value: Option>) -> ElasticArray1024 where I: IntoIterator::Out>>> - { - let mut stream = RlpStream::new_list(17); - for child_ref in children { - match child_ref { - Some(c) => match c { - ChildReference::Hash(h) => stream.append(&h), - ChildReference::Inline(inline_data, len) => { - let bytes = &AsRef::<[u8]>::as_ref(&inline_data)[..len]; - stream.append_raw(bytes, 1) - }, - }, - None => stream.append_empty_data() - }; - } - if let Some(value) = value { - stream.append(&&*value); - } else { - stream.append_empty_data(); - } - stream.drain() - } + { + let mut stream = RlpStream::new_list(17); + for child_ref in children { + match child_ref { + Some(c) => match c { + ChildReference::Hash(h) => stream.append(&h), + ChildReference::Inline(inline_data, len) => { + let bytes = &AsRef::<[u8]>::as_ref(&inline_data)[..len]; + stream.append_raw(bytes, 1) + }, + }, + None => stream.append_empty_data() + }; + } + if let Some(value) = value { + stream.append(&&*value); + } else { + stream.append_empty_data(); + } + stream.drain() + } }