From 81aaed147bf50b1956a0997ab2bbcb9571ab75fc Mon Sep 17 00:00:00 2001 From: Joshy Orndorff Date: Thu, 20 Aug 2020 23:55:15 -0400 Subject: [PATCH 01/11] runtime compiles --- Cargo.lock | 2984 ++++++++++++++++++++++------------- README.md | 2 +- node/Cargo.toml | 42 +- node/sha3pow/Cargo.toml | 18 +- runtime/Cargo.toml | 43 +- runtime/src/block_author.rs | 4 +- runtime/src/difficulty.rs | 2 +- runtime/src/lib.rs | 28 +- runtime/src/utxo.rs | 13 +- 9 files changed, 1969 insertions(+), 1167 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 727322b..7464fc9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -12,18 +12,106 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a49806b9dadc843c61e7c97e72490ad7f7220ae249012fbda9ad0609457c0543" +checksum = "1b6a2d3371669ab3ca9797670853d61402b03d0b4b9ebf33d677dfa720203072" dependencies = [ "gimli", ] [[package]] -name = "adler32" -version = "1.0.4" +name = "adler" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee2a4ec343196209d6594e19543ae87a39f96d5534d7174822a3ad825dd6ed7e" + +[[package]] +name = "aead" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" +dependencies = [ + "generic-array 0.14.4", +] + +[[package]] +name = "aes" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7001367fde4c768a19d1029f0a8be5abd9308e1119846d5bd9ad26297b8faf5" +dependencies = [ + "aes-soft 0.4.0", + "aesni 0.7.0", + "block-cipher", +] + +[[package]] +name = "aes-ctr" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2e5b0458ea3beae0d1d8c0f3946564f8e10f90646cf78c06b4351052058d1ee" +dependencies = [ + "aes-soft 0.3.3", + "aesni 0.6.0", + "ctr", + "stream-cipher 0.3.2", +] + +[[package]] +name = "aes-gcm" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86f5007801316299f922a6198d1d09a0bae95786815d066d5880d13f7c45ead1" +dependencies = [ + "aead", + "aes", + "block-cipher", + "ghash", + "subtle 2.2.3", +] + +[[package]] +name = "aes-soft" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfd7e7ae3f9a1fb5c03b389fc6bb9a51400d0c13053f0dca698c832bfd893a0d" +dependencies = [ + "block-cipher-trait", + "byteorder 1.3.4", + "opaque-debug 0.2.3", +] + +[[package]] +name = "aes-soft" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4925647ee64e5056cf231608957ce7c81e12d6d6e316b9ce1404778cc1d35fa7" +dependencies = [ + "block-cipher", + "byteorder 1.3.4", + "opaque-debug 0.2.3", +] + +[[package]] +name = "aesni" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f70a6b5f971e473091ab7cfb5ffac6cde81666c4556751d8d5620ead8abf100" +dependencies = [ + "block-cipher-trait", + "opaque-debug 0.2.3", + "stream-cipher 0.3.2", +] + +[[package]] +name = "aesni" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2" +checksum = "d050d39b0b7688b3a3254394c3e30a9d66c41dcf9b05b0e2dbdc623f6505d264" +dependencies = [ + "block-cipher", + "opaque-debug 0.2.3", +] [[package]] name = "ahash" @@ -34,11 +122,17 @@ dependencies = [ "const-random", ] +[[package]] +name = "ahash" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217" + [[package]] name = "aho-corasick" -version = "0.7.10" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8716408b8bc624ed7f65d223ddb9ac2d044c0547b6fa4b0d554f3a9540496ada" +checksum = "043164d8ba5c4c3035fec9bbee8647c0261d788f3474306f93bb65901cae0e86" dependencies = [ "memchr", ] @@ -51,7 +145,7 @@ checksum = "4f823d037a7ec6ea2197046bafd4ae150e6bc36f9ca347404f46a46823fa84f2" dependencies = [ "approx", "num-complex", - "num-traits 0.2.11", + "num-traits", ] [[package]] @@ -60,7 +154,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" dependencies = [ - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -69,14 +163,14 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" dependencies = [ - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] name = "anyhow" -version = "1.0.31" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85bb70cc08ec97ca5450e6eba421deeea5f172c0fc61f78b5357b2a8e8be195f" +checksum = "6b602bfe940d21c130f3895acd65221e8a61270debe89d628b9cb4e3ccb8569b" [[package]] name = "approx" @@ -84,14 +178,14 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3" dependencies = [ - "num-traits 0.2.11", + "num-traits", ] [[package]] name = "arc-swap" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b585a98a234c46fc563103e9278c9391fde1f4e6850334da895d27edb9580f62" +checksum = "4d25d88fd6b8041580a654f9d0c581a047baee2b3efee13275f2fc392fc75034" [[package]] name = "arrayref" @@ -129,80 +223,91 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d0864d84b8e07b145449be9a8537db86bf9de5ce03b913214694643b4743502" dependencies = [ - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] -name = "async-macros" -version = "1.0.0" +name = "async-channel" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421d59b24c1feea2496e409b3e0a8de23e5fc130a2ddc0b012e551f3b272bba" +checksum = "43de69555a39d52918e2bc33a408d3c0a86c829b212d898f4ca25d21a6387478" dependencies = [ - "futures-core-preview", - "pin-utils", + "concurrent-queue", + "event-listener", + "futures-core", ] [[package]] -name = "async-std" -version = "0.99.12" +name = "async-executor" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44501a9f7961bb539b67be0c428b3694e26557046a52759ca7eaf790030a64cc" +checksum = "90f47c78ea98277cb1f5e6f60ba4fc762f5eafe9f6511bc2f7dfd8b75c225650" dependencies = [ - "async-macros", - "async-task 1.3.1", - "crossbeam-channel 0.3.9", - "crossbeam-deque", - "crossbeam-utils 0.6.6", - "futures-core", - "futures-io", - "futures-timer 1.0.3", - "kv-log-macro", - "log", - "memchr", - "mio", - "mio-uds", - "num_cpus", - "once_cell", - "pin-project-lite", - "pin-utils", - "slab", + "async-io", + "futures-lite", + "multitask", + "parking 1.0.6", + "scoped-tls", + "waker-fn", +] + +[[package]] +name = "async-io" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ae22a338d28c75b53702b66f77979062cb29675db376d99e451af4fa79dedb3" +dependencies = [ + "cfg-if", + "concurrent-queue", + "futures-lite", + "libc", + "once_cell 1.4.1", + "parking 2.0.0", + "polling", + "socket2", + "vec-arena", + "wepoll-sys-stjepang", + "winapi 0.3.9", +] + +[[package]] +name = "async-mutex" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20e85981fc34e84cdff3fc2c9219189752633fdc538a06df8b5ac45b68a4f3a9" +dependencies = [ + "event-listener", ] [[package]] name = "async-std" -version = "1.6.0" +version = "1.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a45cee2749d880d7066e328a7e161c7470ced883b2fd000ca4643e9f1dd5083a" +checksum = "46c8da367da62b8ff2313c406c9ac091c1b31d67a165becdd2de380d846260f7" dependencies = [ - "async-task 3.0.0", - "crossbeam-utils 0.7.2", + "async-executor", + "async-io", + "async-mutex", + "async-task", + "blocking", + "crossbeam-utils", "futures-channel", "futures-core", "futures-io", + "futures-lite", "futures-timer 3.0.2", "kv-log-macro", "log", "memchr", "num_cpus", - "once_cell", + "once_cell 1.4.1", "pin-project-lite", "pin-utils", "slab", - "smol", "wasm-bindgen-futures", ] -[[package]] -name = "async-task" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ac2c016b079e771204030951c366db398864f5026f84a44dafb0ff20f02085d" -dependencies = [ - "libc", - "winapi 0.3.8", -] - [[package]] name = "async-task" version = "3.0.0" @@ -211,9 +316,9 @@ checksum = "c17772156ef2829aadc587461c7753af20b7e8db1529bc66855add962a3b35d3" [[package]] name = "async-tls" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95fd83426b89b034bf4e9ceb9c533c2f2386b813fd3dcae0a425ec6f1837d78a" +checksum = "df097e3f506bec0e1a24f06bb3c962c228f36671de841ff579cb99f371772634" dependencies = [ "futures 0.3.5", "rustls", @@ -221,6 +326,29 @@ dependencies = [ "webpki-roots 0.19.0", ] +[[package]] +name = "async-trait" +version = "0.1.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e1a4a2f97ce50c9d0282c1468816208588441492b40d813b2e0419c22c05e7f" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "atomic" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64f46ca51dca4837f1520754d1c8c36636356b81553d928dc9c177025369a06e" + +[[package]] +name = "atomic-waker" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a" + [[package]] name = "atty" version = "0.2.14" @@ -229,7 +357,7 @@ checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ "hermit-abi", "libc", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -240,19 +368,20 @@ checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" [[package]] name = "autocfg" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" +checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" [[package]] name = "backtrace" -version = "0.3.48" +version = "0.3.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0df2f85c8a2abbe3b7d7e748052fdd9b76a0458fdeb16ad4223f5eca78c7c130" +checksum = "46254cf2fdcdf1badb5934448c1bcbe046a56537b3987d96c51a7afc5d03f293" dependencies = [ "addr2line", "cfg-if", "libc", + "miniz_oxide", "object", "rustc-demangle", ] @@ -269,6 +398,12 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" +[[package]] +name = "base64" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" + [[package]] name = "bindgen" version = "0.53.3" @@ -286,13 +421,28 @@ dependencies = [ "log", "peeking_take_while", "proc-macro2", - "quote 1.0.6", + "quote", "regex", "rustc-hash", "shlex", "which", ] +[[package]] +name = "bip39" +version = "0.6.0-beta.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7059804e226b3ac116519a252d7f5fb985a5ccc0e93255e036a5f7e7283323f4" +dependencies = [ + "failure", + "hashbrown 0.1.8", + "hmac", + "once_cell 0.1.8", + "pbkdf2", + "rand 0.6.5", + "sha2 0.8.2", +] + [[package]] name = "bitflags" version = "1.2.1" @@ -317,14 +467,15 @@ dependencies = [ [[package]] name = "blake2" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94cb07b0da6a73955f8fb85d24c466778e70cda767a568229b104f0264089330" +checksum = "84ce5b6108f8e154604bd4eb76a2f726066c3464d5a552a4229262a18c9bb471" dependencies = [ "byte-tools", - "crypto-mac", - "digest", - "opaque-debug", + "byteorder 1.3.4", + "crypto-mac 0.8.0", + "digest 0.9.0", + "opaque-debug 0.2.3", ] [[package]] @@ -367,8 +518,35 @@ checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" dependencies = [ "block-padding", "byte-tools", - "byteorder", - "generic-array", + "byteorder 1.3.4", + "generic-array 0.12.3", +] + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array 0.14.4", +] + +[[package]] +name = "block-cipher" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa136449e765dc7faa244561ccae839c394048667929af599b5d931ebe7b7f10" +dependencies = [ + "generic-array 0.14.4", +] + +[[package]] +name = "block-cipher-trait" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c924d49bd09e7c06003acda26cd9742e796e34282ec6c1189404dee0c1f4774" +dependencies = [ + "generic-array 0.12.3", ] [[package]] @@ -380,6 +558,19 @@ dependencies = [ "byte-tools", ] +[[package]] +name = "blocking" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea5800d29218fea137b0880387e5948694a23c93fcdde157006966693a865c7c" +dependencies = [ + "async-channel", + "atomic-waker", + "futures-lite", + "once_cell 1.4.1", + "waker-fn", +] + [[package]] name = "bs58" version = "0.3.1" @@ -397,9 +588,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5356f1d23ee24a1f785a56d1d1a5f0fd5b0f6a0c0fb2412ce11da71649ab78f6" +checksum = "2e8c087f005730276d1096a652e92a8bacee2e2472bcc9715a74d2bec38b5820" [[package]] name = "byte-slice-cast" @@ -413,6 +604,12 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" +[[package]] +name = "byteorder" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fc10e8cc6b2580fda3f36eb6dc5316657f812a3df879a44a66fc9f0fdbc4855" + [[package]] name = "byteorder" version = "1.3.4" @@ -425,16 +622,16 @@ version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" dependencies = [ - "byteorder", + "byteorder 1.3.4", "either", "iovec", ] [[package]] name = "bytes" -version = "0.5.4" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "130aac562c0dd69c56b3b1cc8ffd2e17be31d0b6c25b61c96b76231aa23e39e1" +checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" [[package]] name = "c_linked_list" @@ -442,11 +639,17 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4964518bd3b4a8190e832886cdc0da9794f12e8e6c1613a9e90ff331c4c8724b" +[[package]] +name = "cache-padded" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "631ae5198c9be5e753e5cc215e1bd73c2b466a3565173db433f52bb9d3e66dba" + [[package]] name = "cc" -version = "1.0.54" +version = "1.0.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bbb73db36c1246e9034e307d0fba23f9a2e251faa47ade70c1bd252220c8311" +checksum = "66120af515773fb005778dc07c261bd201ec8ce50bd6e7144c927753fe013381" dependencies = [ "jobserver", ] @@ -467,22 +670,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" [[package]] -name = "chacha20-poly1305-aead" -version = "0.1.2" +name = "chacha20" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77d2058ba29594f69c75e8a9018e0485e3914ca5084e3613cd64529042f5423b" +checksum = "086c0f07ac275808b7bf9a39f2fd013aae1498be83632814c8c4e0bd53f2dc58" dependencies = [ - "constant_time_eq", + "stream-cipher 0.4.1", + "zeroize", +] + +[[package]] +name = "chacha20poly1305" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18b0c90556d8e3fec7cf18d84a2f53d27b21288f2fe481b830fadcf809e48205" +dependencies = [ + "aead", + "chacha20", + "poly1305", + "stream-cipher 0.4.1", + "zeroize", ] [[package]] name = "chrono" -version = "0.4.11" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80094f509cf8b5ae86a4966a39b3ff66cd7e2a3e594accec3743ff3fabeab5b2" +checksum = "942f72db697d8767c22d46a598e01f2d3b475501ea43d0db4f16d90259182d0b" dependencies = [ "num-integer", - "num-traits 0.2.11", + "num-traits", "time", ] @@ -499,9 +716,9 @@ dependencies = [ [[package]] name = "clap" -version = "2.33.1" +version = "2.33.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdfa80d47f954d53a35a64987ca1422f495b8d6483c0fe9f7117b36c2a792129" +checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002" dependencies = [ "ansi_term 0.11.0", "atty", @@ -513,23 +730,32 @@ dependencies = [ ] [[package]] -name = "clear_on_drop" -version = "0.2.3" +name = "cloudabi" +version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97276801e127ffb46b66ce23f35cc96bd454fa311294bced4bbace7baa8b1d17" +checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" dependencies = [ - "cc", + "bitflags", ] [[package]] name = "cloudabi" -version = "0.0.3" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" +checksum = "4344512281c643ae7638bbabc3af17a11307803ec8f0fcad9fae512a8bf36467" dependencies = [ "bitflags", ] +[[package]] +name = "concurrent-queue" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3" +dependencies = [ + "cache-padded", +] + [[package]] name = "const-random" version = "0.1.8" @@ -573,45 +799,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" [[package]] -name = "crc32fast" -version = "1.2.0" +name = "cpuid-bool" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1" -dependencies = [ - "cfg-if", -] +checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634" [[package]] -name = "crossbeam" -version = "0.7.3" +name = "crc32fast" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69323bff1fb41c635347b8ead484a5ca6c3f11914d784170b158d8449ab07f8e" +checksum = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1" dependencies = [ "cfg-if", - "crossbeam-channel 0.4.2", - "crossbeam-deque", - "crossbeam-epoch", - "crossbeam-queue", - "crossbeam-utils 0.7.2", -] - -[[package]] -name = "crossbeam-channel" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ec7fcd21571dc78f96cc96243cab8d8f035247c3efd16c687be154c3fa9efa" -dependencies = [ - "crossbeam-utils 0.6.6", -] - -[[package]] -name = "crossbeam-channel" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cced8691919c02aac3cb0a1bc2e9b73d89e832bf9a06fc579d4e71b68a2da061" -dependencies = [ - "crossbeam-utils 0.7.2", - "maybe-uninit", ] [[package]] @@ -621,7 +820,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285" dependencies = [ "crossbeam-epoch", - "crossbeam-utils 0.7.2", + "crossbeam-utils", "maybe-uninit", ] @@ -631,33 +830,24 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" dependencies = [ - "autocfg 1.0.0", + "autocfg 1.0.1", "cfg-if", - "crossbeam-utils 0.7.2", + "crossbeam-utils", "lazy_static", "maybe-uninit", "memoffset", - "scopeguard", + "scopeguard 1.1.0", ] [[package]] name = "crossbeam-queue" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c695eeca1e7173472a32221542ae469b3e9aac3a4fc81f7696bcad82029493db" -dependencies = [ - "cfg-if", - "crossbeam-utils 0.7.2", -] - -[[package]] -name = "crossbeam-utils" -version = "0.6.6" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" +checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570" dependencies = [ "cfg-if", - "lazy_static", + "crossbeam-utils", + "maybe-uninit", ] [[package]] @@ -666,7 +856,7 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" dependencies = [ - "autocfg 1.0.0", + "autocfg 1.0.1", "cfg-if", "lazy_static", ] @@ -683,56 +873,108 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" dependencies = [ - "generic-array", + "generic-array 0.12.3", "subtle 1.0.0", ] [[package]] -name = "ct-logs" -version = "0.6.0" +name = "crypto-mac" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d3686f5fa27dbc1d76c751300376e167c5a43387f44bb451fd1c24776e49113" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ - "sct", + "generic-array 0.14.4", + "subtle 2.2.3", ] [[package]] -name = "curve25519-dalek" -version = "2.0.0" +name = "ct-logs" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26778518a7f6cffa1d25a44b602b62b979bd88adb9e99ffec546998cf3404839" +checksum = "8c8e13110a84b6315df212c045be706af261fd364791cad863285439ebba672e" dependencies = [ - "byteorder", - "digest", - "rand_core 0.5.1", - "subtle 2.2.2", - "zeroize", + "sct", ] [[package]] -name = "data-encoding" -version = "2.2.1" +name = "ctr" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72aa14c04dfae8dd7d8a2b1cb7ca2152618cd01336dbfe704b8dcbf8d41dbd69" +checksum = "022cd691704491df67d25d006fe8eca083098253c4d43516c2206479c58c6736" +dependencies = [ + "block-cipher-trait", + "stream-cipher 0.3.2", +] [[package]] -name = "derive_more" -version = "0.99.7" +name = "cuckoofilter" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2127768764f1556535c01b5326ef94bd60ff08dcfbdc544d53e69ed155610f5d" +checksum = "8dd43f7cfaffe0a386636a10baea2ee05cc50df3b77bea4a456c9572a939bf1f" dependencies = [ - "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "byteorder 0.5.3", + "rand 0.3.23", ] [[package]] -name = "digest" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "curve25519-dalek" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d85653f070353a16313d0046f173f70d1aadd5b42600a14de626f0dfb3473a5" +dependencies = [ + "byteorder 1.3.4", + "digest 0.8.1", + "rand_core 0.5.1", + "subtle 2.2.3", + "zeroize", +] + +[[package]] +name = "curve25519-dalek" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8492de420e9e60bc9a1d66e2dbb91825390b738a388606600663fc529b4b307" +dependencies = [ + "byteorder 1.3.4", + "digest 0.9.0", + "rand_core 0.5.1", + "subtle 2.2.3", + "zeroize", +] + +[[package]] +name = "data-encoding" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4d0e2d24e5ee3b23a01de38eefdcd978907890701f08ffffd4cb457ca4ee8d6" + +[[package]] +name = "derive_more" +version = "0.99.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "298998b1cf6b5b2c8a7b023dfd45821825ce3ba8a8af55c921a0e734e4653f76" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "digest" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" dependencies = [ - "generic-array", + "generic-array 0.12.3", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array 0.14.4", ] [[package]] @@ -747,14 +989,13 @@ dependencies = [ [[package]] name = "dirs-sys" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b" +checksum = "8e93d7f5705de3e49895a2b5e0b8855a1c27f080192ae9c32a6432d50741a57a" dependencies = [ - "cfg-if", "libc", "redox_users", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -763,45 +1004,66 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4d33be9473d06f75f58220f71f7a9317aca647dc061dbd3c361b0bef505fbea" dependencies = [ - "byteorder", + "byteorder 1.3.4", "quick-error", ] [[package]] -name = "doc-comment" -version = "0.3.3" +name = "dyn-clonable" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" +checksum = "4e9232f0e607a262ceb9bd5141a3dfb3e4db6994b31989bbfd845878cba59fd4" +dependencies = [ + "dyn-clonable-impl", + "dyn-clone", +] [[package]] -name = "ed25519-dalek" -version = "1.0.0-pre.3" +name = "dyn-clonable-impl" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978710b352437433c97b2bff193f2fb1dfd58a093f863dd95e225a19baa599a2" +checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5" dependencies = [ - "clear_on_drop", - "curve25519-dalek", - "rand 0.7.3", - "sha2", + "proc-macro2", + "quote", + "syn", ] [[package]] -name = "either" -version = "1.5.3" +name = "dyn-clone" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3" +checksum = "4c53dc3a653e0f64081026e4bf048d48fec9fce90c66e8326ca7292df0ff2d82" [[package]] -name = "enum-primitive-derive" -version = "0.1.2" +name = "ed25519" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf038a7b6fd7ef78ad3348b63f3a17550877b0e28f8d68bcc94894d1412158bc" +dependencies = [ + "signature", +] + +[[package]] +name = "ed25519-dalek" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2b90e520ec62c1864c8c78d637acbfe8baf5f63240f2fb8165b8325c07812dd" +checksum = "53d2e93f837d749c16d118e7ddf7a4dfd0ac8f452cf51e46e9348824e5ef6851" dependencies = [ - "num-traits 0.1.43", - "quote 0.3.15", - "syn 0.11.11", + "curve25519-dalek 3.0.0", + "ed25519", + "rand 0.7.3", + "serde", + "sha2 0.9.1", + "zeroize", ] +[[package]] +name = "either" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd56b59865bce947ac5958779cfa508f6c3b9497cc762b7e24a12d11ccde2c4f" + [[package]] name = "env_logger" version = "0.7.1" @@ -823,13 +1085,19 @@ checksum = "516aa8d7a71cb00a1c4146f0798549b93d083d4f189b3ced8f3de6b8f11ee6c4" [[package]] name = "erased-serde" -version = "0.3.11" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d88b6d1705e16a4d62e05ea61cc0496c2bd190f4fa8e5c1f11ce747be6bcf3d1" +checksum = "6ca8b296792113e1500fd935ae487be6e00ce318952a6880555554824d6ebf38" dependencies = [ "serde", ] +[[package]] +name = "event-listener" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cd41440ae7e4734bbd42302f63eaba892afc93a3912dad84006247f0dedb0e" + [[package]] name = "exit-future" version = "0.2.0" @@ -856,8 +1124,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", "synstructure", ] @@ -867,6 +1135,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" +[[package]] +name = "fastrand" +version = "1.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bd3bdaaf0a72155260a1c098989b60db1cbb22d6a628e64f16237aa4da93cc7" + [[package]] name = "fdlimit" version = "0.1.4" @@ -882,7 +1156,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11498d382790b7a8f2fd211780bec78619bba81cdad3a283997c0c41f836759c" dependencies = [ - "byteorder", + "byteorder 1.3.4", "rand 0.7.3", "rustc-hex", "static_assertions", @@ -896,9 +1170,9 @@ checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d" [[package]] name = "flate2" -version = "1.0.14" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cfff41391129e0a856d6d822600b8d71179d46879e310417eb9c762eb178b42" +checksum = "766d0e77a2c1502169d4a93ff3b8c15a71fd946cd0126309752104e5f3c46d94" dependencies = [ "cfg-if", "crc32fast", @@ -915,18 +1189,18 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48feabdc3cda303027446b7294dc6dc6dda712de8e14874f0e0df366a630326f" +checksum = "d12a63160eac0a00a1dba821291465e7c4bdaeee489af2912dc3d4513a9d1c34" dependencies = [ "parity-scale-codec", ] [[package]] name = "frame-benchmarking" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00e5f8abfba8a7f0a89e5aae4ca9be5b86b88e9c93ccfc11a4b44485f7c6a1dd" +checksum = "d7d92ab79f0c46fe4347d5073a0e331d935ca8d8bde0d001c8938900716685c3" dependencies = [ "frame-support", "frame-system", @@ -938,13 +1212,14 @@ dependencies = [ "sp-runtime", "sp-runtime-interface", "sp-std", + "sp-storage", ] [[package]] name = "frame-executive" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddad67072eaa82fea8b6089827fc6821dc2010016ce0b4a0f47afb8214cabf59" +checksum = "c7a0cd96943af326c968548906a3968d573c7c6ddfa645c4bd2ed8168c1b6c68" dependencies = [ "frame-support", "frame-system", @@ -958,9 +1233,9 @@ dependencies = [ [[package]] name = "frame-metadata" -version = "11.0.0-rc2" +version = "11.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cffe912dd479554338da6804c51704c901a3664a785746909bc1679df675839d" +checksum = "69b82bf25442501c9455fc60090d606e5a36cc6e6953a7afee87fcab4fe2865b" dependencies = [ "parity-scale-codec", "serde", @@ -970,20 +1245,20 @@ dependencies = [ [[package]] name = "frame-support" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c68f90e4ca833a36a4ad87b40abaf8dc37805a28a7976d814765b33e8381b67" +checksum = "611cb2bafdb3aa6d77e35153ddf3da26203481b294959e00491e5ba6609ef3a1" dependencies = [ "bitmask", "frame-metadata", "frame-support-procedural", "impl-trait-for-tuples", "log", - "once_cell", + "once_cell 1.4.1", "parity-scale-codec", "paste", "serde", - "smallvec 1.4.0", + "smallvec 1.4.2", "sp-arithmetic", "sp-core", "sp-inherents", @@ -996,45 +1271,45 @@ dependencies = [ [[package]] name = "frame-support-procedural" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0590324d10b03bad1fcb9fe3572682dc94471dea07a8a07808a54a8ae4bb4f6" +checksum = "961165a915c5a0bcbb3976791c4e857639d773474336f9484aee21dfb2268b66" dependencies = [ "frame-support-procedural-tools", "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] name = "frame-support-procedural-tools" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc0f2b9861b48236d17601de09655e20352af6040189fa3d4fe9e440b4cc886f" +checksum = "4855863432cfb36407e2f18cd1e189cf70ee3259ed137409e6076fa8fd9bc92b" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] name = "frame-support-procedural-tools-derive" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f34905d916c2027e9f114f8b76f17e2be0a7bca9116838979b05a1efc86224f" +checksum = "8e41f45abe08fa7bb27c38ed4141bdb24dfe9604b024726cfc931b12303de9a2" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] name = "frame-system" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acec04d2c2023ecb5a56a2d0ec71ee0c3195444df7ce07b095a311f5d8c568a4" +checksum = "646ced951522d31f4bda819a2c87ea7feac3abcb1b35fba38b1ecc52fc661e75" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -1056,7 +1331,7 @@ dependencies = [ "lazy_static", "libc", "libloading", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -1177,6 +1452,21 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de27142b013a8e869c14957e6d2edeef89e97c289e69d042ee3a49acd8b51789" +[[package]] +name = "futures-lite" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97999970129b808f0ccba93211201d431fcc12d7e1ffae03a61b5cedd1a7ced2" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "memchr", + "parking 2.0.0", + "pin-project-lite", + "waker-fn", +] + [[package]] name = "futures-macro" version = "0.3.5" @@ -1185,8 +1475,8 @@ checksum = "d0b5a30a4328ab5473878237c447333c093297bded83a4983d10f4deea240d39" dependencies = [ "proc-macro-hack", "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] @@ -1201,17 +1491,7 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bdb66b5f09e22019b1ab0830f7785bcea8e7a42148683f99214f73f8ec21a626" dependencies = [ - "once_cell", -] - -[[package]] -name = "futures-timer" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7946248e9429ff093345d3e8fdf4eb0f9b2d79091611c9c14f744971a6f8be45" -dependencies = [ - "futures-core-preview", - "pin-utils", + "once_cell 1.4.1", ] [[package]] @@ -1265,11 +1545,11 @@ dependencies = [ [[package]] name = "futures_codec" -version = "0.3.4" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0a73299e4718f5452e45980fc1d6957a070abe308d3700b63b8673f47e1c2b3" +checksum = "ce54d63f8b0c75023ed920d46fd71d0cbbb830b0ee012726b5b4f506fb6dea5b" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.6", "futures 0.3.5", "memchr", "pin-project", @@ -1290,6 +1570,16 @@ dependencies = [ "typenum", ] +[[package]] +name = "generic-array" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" +dependencies = [ + "typenum", + "version_check", +] + [[package]] name = "get_if_addrs" version = "0.5.3" @@ -1323,11 +1613,20 @@ dependencies = [ "wasi", ] +[[package]] +name = "ghash" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6e27f0689a6e15944bdce7e45425efb87eaa8ab0c6e87f11d0987a9133e2531" +dependencies = [ + "polyval", +] + [[package]] name = "gimli" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc8e0c9bce37868955864dbecd2b1ab2bdf967e6f28066d65aaac620444b65c" +checksum = "aaf91faf136cb47367fa430cd46e37a788775e7fa104f8b4bcb3861dc389b724" [[package]] name = "glob" @@ -1367,7 +1666,7 @@ version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462" dependencies = [ - "byteorder", + "byteorder 1.3.4", "bytes 0.4.12", "fnv", "futures 0.1.29", @@ -1381,21 +1680,21 @@ dependencies = [ [[package]] name = "h2" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79b7246d7e4b979c03fa093da39cfb3617a96bbeee6310af63991668d7e843ff" +checksum = "993f9e0baeed60001cf565546b0d3dbe6a6ad23f2bd31644a133c641eccf6d53" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.6", "fnv", "futures-core", "futures-sink", "futures-util", "http 0.2.1", "indexmap", - "log", "slab", - "tokio 0.2.21", + "tokio 0.2.22", "tokio-util", + "tracing", ] [[package]] @@ -1413,16 +1712,36 @@ dependencies = [ "crunchy", ] +[[package]] +name = "hashbrown" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bae29b6653b3412c2e71e9d486db9f9df5d701941d86683005efb9f2d28e3da" +dependencies = [ + "byteorder 1.3.4", + "scopeguard 0.3.3", +] + [[package]] name = "hashbrown" version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e6073d0ca812575946eb5f35ff68dbe519907b25c42530389ff946dc84c6ead" dependencies = [ - "ahash", + "ahash 0.2.18", "autocfg 0.1.7", ] +[[package]] +name = "hashbrown" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e91b62f79061a0bc2e046024cb7ba44b08419ed238ecbd9adbd787434b9e8c25" +dependencies = [ + "ahash 0.3.8", + "autocfg 1.0.1", +] + [[package]] name = "heck" version = "0.3.1" @@ -1434,9 +1753,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.1.13" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91780f809e750b0a89f5544be56617ff6b1227ee485bcb06ebe10cdf89bd3b71" +checksum = "3deed196b6e7f9e44a2ae8d94225d80302d81208b1bb673fd21fe634645c85a9" dependencies = [ "libc", ] @@ -1459,9 +1778,9 @@ dependencies = [ [[package]] name = "hex-literal-impl" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d4c5c844e2fee0bf673d54c2c177f1713b3d2af2ff6e666b49cb7572e6cf42d" +checksum = "853f769599eb31de176303197b7ba4973299c38c7a7604a6bc88c3eef05b9b46" dependencies = [ "proc-macro-hack", ] @@ -1472,8 +1791,8 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" dependencies = [ - "crypto-mac", - "digest", + "crypto-mac 0.7.0", + "digest 0.8.1", ] [[package]] @@ -1482,8 +1801,8 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b" dependencies = [ - "digest", - "generic-array", + "digest 0.8.1", + "generic-array 0.12.3", "hmac", ] @@ -1504,7 +1823,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28d569972648b2c512421b5f2a405ad6ac9666547189d0c5477a3f200f3e02f9" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.6", "fnv", "itoa", ] @@ -1527,7 +1846,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.6", "http 0.2.1", ] @@ -1578,42 +1897,42 @@ dependencies = [ [[package]] name = "hyper" -version = "0.13.5" +version = "0.13.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96816e1d921eca64d208a85aab4f7798455a8e34229ee5a88c935bdee1b78b14" +checksum = "3e68a8dd9716185d9e64ea473ea6ef63529252e3e27623295a0378a19665d5eb" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.6", "futures-channel", "futures-core", "futures-util", - "h2 0.2.5", + "h2 0.2.6", "http 0.2.1", "http-body 0.3.1", "httparse", "itoa", - "log", - "net2", "pin-project", + "socket2", "time", - "tokio 0.2.21", + "tokio 0.2.22", "tower-service", + "tracing", "want 0.3.0", ] [[package]] name = "hyper-rustls" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac965ea399ec3a25ac7d13b8affd4b8f39325cca00858ddf5eb29b79e6b14b08" +checksum = "37743cc83e8ee85eacfce90f2f4102030d9ff0a95244098d781e9bee4a90abb6" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.6", "ct-logs", "futures-util", - "hyper 0.13.5", + "hyper 0.13.7", "log", "rustls", "rustls-native-certs", - "tokio 0.2.21", + "tokio 0.2.22", "tokio-rustls", "webpki", ] @@ -1674,19 +1993,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ef5550a42e3740a0e71f909d4c861056a284060af885ae7aa6242820f920d9d" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] name = "indexmap" -version = "1.3.2" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "076f042c5b7b98f31d205f1249267e12a6518c1481e9dae9764af19b707d2292" +checksum = "86b45e59b16c76b11bf9738fd5d38879d3bd28ad292d7b313608becb17ae2df9" dependencies = [ - "autocfg 1.0.0", + "autocfg 1.0.1", + "hashbrown 0.8.2", ] +[[package]] +name = "instant" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b141fdc7836c525d4d594027d318c84161ca17aaf8113ab1f81ab93ae897485" + [[package]] name = "integer-sqrt" version = "0.1.3" @@ -1733,11 +2059,20 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b" +dependencies = [ + "either", +] + [[package]] name = "itoa" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8b7a7c0c47db5545ed3fef7468ee7bb5b74691498139e4b3f6a20685dc6dd8e" +checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6" [[package]] name = "jobserver" @@ -1750,18 +2085,18 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.39" +version = "0.3.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa5a448de267e7358beaf4a5d849518fe9a0c13fce7afd44b06e68550e5562a7" +checksum = "85a7e2c92a4804dd459b86c339278d0fe87cf93757fae222c3fa3ae75458bc73" dependencies = [ "wasm-bindgen", ] [[package]] name = "jsonrpc-client-transports" -version = "14.1.0" +version = "14.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2307a7e78cf969759e390a8a2151ea12e783849a45bb00aa871b468ba58ea79e" +checksum = "2773fa94a2a1fd51efb89a8f45b8861023dbb415d18d3c9235ae9388d780f9ec" dependencies = [ "failure", "futures 0.1.29", @@ -1775,9 +2110,9 @@ dependencies = [ [[package]] name = "jsonrpc-core" -version = "14.1.0" +version = "14.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25525f6002338fb4debb5167a89a0b47f727a5a48418417545ad3429758b7fec" +checksum = "a0747307121ffb9703afd93afbd0fb4f854c38fb873f2c8b90e0e902f27c7b62" dependencies = [ "futures 0.1.29", "log", @@ -1788,30 +2123,30 @@ dependencies = [ [[package]] name = "jsonrpc-core-client" -version = "14.1.0" +version = "14.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f9382e831a6d630c658df103aac3f971da096deb57c136ea2b760d3b4e3f9f" +checksum = "34221123bc79b66279a3fde2d3363553835b43092d629b34f2e760c44dc94713" dependencies = [ "jsonrpc-client-transports", ] [[package]] name = "jsonrpc-derive" -version = "14.0.5" +version = "14.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8609af8f63b626e8e211f52441fcdb6ec54f1a446606b10d5c89ae9bf8a20058" +checksum = "0fadf6945e227246825a583514534d864554e9f23d80b3c77d034b10983db5ef" dependencies = [ "proc-macro-crate", "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] name = "jsonrpc-http-server" -version = "14.1.0" +version = "14.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52860f0549694aa4abb12766856f56952ab46d3fb9f0815131b2db3d9cc2f29" +checksum = "0da906d682799df05754480dac1b9e70ec92e12c19ebafd2662a5ea1c9fd6522" dependencies = [ "hyper 0.12.35", "jsonrpc-core", @@ -1822,23 +2157,38 @@ dependencies = [ "unicase", ] +[[package]] +name = "jsonrpc-ipc-server" +version = "14.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dedccd693325d833963b549e959137f30a7a0ea650cde92feda81dc0c1393cb5" +dependencies = [ + "jsonrpc-core", + "jsonrpc-server-utils", + "log", + "parity-tokio-ipc", + "parking_lot 0.10.2", + "tokio-service", +] + [[package]] name = "jsonrpc-pubsub" -version = "14.1.0" +version = "14.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4ca5e391d6c6a2261d4adca029f427fe63ea546ad6cef2957c654c08495ec16" +checksum = "2d44f5602a11d657946aac09357956d2841299ed422035edf140c552cb057986" dependencies = [ "jsonrpc-core", "log", "parking_lot 0.10.2", + "rand 0.7.3", "serde", ] [[package]] name = "jsonrpc-server-utils" -version = "14.1.0" +version = "14.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f06add502b48351e05dd95814835327fb115e4e9f834ca42fd522d3b769d4d2" +checksum = "56cbfb462e7f902e21121d9f0d1c2b77b2c5b642e1a4e8f4ebfa2e15b94402bb" dependencies = [ "bytes 0.4.12", "globset", @@ -1852,9 +2202,9 @@ dependencies = [ [[package]] name = "jsonrpc-ws-server" -version = "14.1.0" +version = "14.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "017a7dd5083d9ed62c5e1dd3e317975c33c3115dac5447f4480fe05a8c354754" +checksum = "903d3109fe7c4acb932b567e1e607e0f524ed04741b09fb0e61841bc40a022fc" dependencies = [ "jsonrpc-core", "jsonrpc-server-utils", @@ -1882,28 +2232,28 @@ dependencies = [ [[package]] name = "kv-log-macro" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ff57d6d215f7ca7eb35a9a64d656ba4d9d2bef114d741dc08048e75e2f5d418" +checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" dependencies = [ "log", ] [[package]] name = "kvdb" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e763b2a9b500ba47948061d1e8bc3b5f03a8a1f067dbcf822a4d2c84d2b54a3a" +checksum = "0315ef2f688e33844400b31f11c263f2b3dc21d8b9355c6891c5f185fae43f9a" dependencies = [ "parity-util-mem", - "smallvec 1.4.0", + "smallvec 1.4.2", ] [[package]] name = "kvdb-memorydb" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73027d5e228de6f503b5b7335d530404fc26230a6ae3e09b33ec6e45408509a4" +checksum = "73de822b260a3bdfb889dbbb65bb2d473eee2253973d6fa4a5d149a2a4a7c66e" dependencies = [ "kvdb", "parity-util-mem", @@ -1912,9 +2262,9 @@ dependencies = [ [[package]] name = "kvdb-rocksdb" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84384eca250c7ff67877eda5336f28a86586aaee24acb945643590671f6bfce1" +checksum = "7c341ef15cfb1f923fa3b5138bfbd2d4813a2c1640b473727a53351c7f0b0fa2" dependencies = [ "fs-swap", "kvdb", @@ -1925,7 +2275,7 @@ dependencies = [ "parking_lot 0.10.2", "regex", "rocksdb", - "smallvec 1.4.0", + "smallvec 1.4.2", ] [[package]] @@ -1936,33 +2286,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "lazycell" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.71" +version = "0.2.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49" - -[[package]] -name = "libflate" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1fbe6b967a94346446d37ace319ae85be7eca261bb8149325811ac435d35d64" -dependencies = [ - "adler32", - "crc32fast", - "libflate_lz77", - "rle-decode-fast", -] - -[[package]] -name = "libflate_lz77" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3286f09f7d4926fc486334f28d8d2e6ebe4f7f9994494b6dab27ddfad2c9b11b" +checksum = "755456fae044e6fa1ebbbd1b3e902ae19e73097ed4ed87bb79934a867c007bc3" [[package]] name = "libloading" @@ -1971,7 +2303,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753" dependencies = [ "cc", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -1982,40 +2314,80 @@ checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a" [[package]] name = "libp2p" -version = "0.19.1" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057eba5432d3e740e313c6e13c9153d0cb76b4f71bfc2e5242ae5bdb7d41af67" +checksum = "0306a49ee6a89468f96089906f36b0eef82c988dcfc8acf3e2dcd6ad1c859f85" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.6", "futures 0.3.5", "lazy_static", "libp2p-core", "libp2p-core-derive", + "libp2p-deflate", "libp2p-dns", + "libp2p-floodsub", + "libp2p-gossipsub", "libp2p-identify", "libp2p-kad", "libp2p-mdns", "libp2p-mplex", - "libp2p-noise", + "libp2p-noise 0.21.0", "libp2p-ping", + "libp2p-plaintext", + "libp2p-pnet", + "libp2p-request-response", + "libp2p-secio", "libp2p-swarm", "libp2p-tcp", + "libp2p-uds", "libp2p-wasm-ext", "libp2p-websocket", "libp2p-yamux", "multihash", - "parity-multiaddr 0.9.0", + "parity-multiaddr", "parking_lot 0.10.2", "pin-project", - "smallvec 1.4.0", + "smallvec 1.4.2", + "wasm-timer", +] + +[[package]] +name = "libp2p" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1ebb6c031584a5af181fe3a1e4b074af5d0b1a3b31663200f0251f4bcff6b5c" +dependencies = [ + "atomic", + "bytes 0.5.6", + "futures 0.3.5", + "lazy_static", + "libp2p-core", + "libp2p-core-derive", + "libp2p-dns", + "libp2p-identify", + "libp2p-kad", + "libp2p-mdns", + "libp2p-mplex", + "libp2p-noise 0.22.0", + "libp2p-ping", + "libp2p-swarm", + "libp2p-tcp", + "libp2p-wasm-ext", + "libp2p-websocket", + "libp2p-yamux", + "multihash", + "parity-multiaddr", + "parking_lot 0.10.2", + "pin-project", + "smallvec 1.4.2", "wasm-timer", ] [[package]] name = "libp2p-core" -version = "0.19.1" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5e30dcd8cb13a02ad534e214da234eca1595a76b5788b645dfa5c734d2124b" +checksum = "6a694fd76d7c33a45a0e6e1525e9b9b5d11127c9c94e560ac0f8abba54ed80af" dependencies = [ "asn1_der", "bs58", @@ -2029,7 +2401,7 @@ dependencies = [ "log", "multihash", "multistream-select", - "parity-multiaddr 0.9.0", + "parity-multiaddr", "parking_lot 0.10.2", "pin-project", "prost", @@ -2037,40 +2409,93 @@ dependencies = [ "rand 0.7.3", "ring", "rw-stream-sink", - "sha2", - "smallvec 1.4.0", + "sha2 0.8.2", + "smallvec 1.4.2", "thiserror", - "unsigned-varint", + "unsigned-varint 0.4.0", "void", "zeroize", ] [[package]] name = "libp2p-core-derive" -version = "0.19.1" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f753d9324cd3ec14bf04b8a8cd0d269c87f294153d6bf2a84497a63a5ad22213" +dependencies = [ + "quote", + "syn", +] + +[[package]] +name = "libp2p-deflate" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f09548626b737ed64080fde595e06ce1117795b8b9fc4d2629fa36561c583171" +checksum = "abeff37fa533fead23fc71b14ed0a2aced36c0c65c3d0078aff07821fb71029e" dependencies = [ - "quote 1.0.6", - "syn 1.0.27", + "flate2", + "futures 0.3.5", + "libp2p-core", ] [[package]] name = "libp2p-dns" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cc186d9a941fd0207cf8f08ef225a735e2d7296258f570155e525f6ee732f87" +checksum = "f751924b6b98e350005e0b87a822beb246792a3fb878c684e088f866158120ac" dependencies = [ "futures 0.3.5", "libp2p-core", "log", ] +[[package]] +name = "libp2p-floodsub" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02d4f310a02441b681075037ffb41649ee8836619559311b801ef3d5cdbe14cf" +dependencies = [ + "cuckoofilter", + "fnv", + "futures 0.3.5", + "libp2p-core", + "libp2p-swarm", + "prost", + "prost-build", + "rand 0.7.3", + "smallvec 1.4.2", +] + +[[package]] +name = "libp2p-gossipsub" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a70f76b6c53ae9c97c234498c799802e43f91766bcf4a2a1f94f9339617d713b" +dependencies = [ + "base64 0.11.0", + "byteorder 1.3.4", + "bytes 0.5.6", + "fnv", + "futures 0.3.5", + "futures_codec", + "libp2p-core", + "libp2p-swarm", + "log", + "lru", + "prost", + "prost-build", + "rand 0.7.3", + "sha2 0.8.2", + "smallvec 1.4.2", + "unsigned-varint 0.4.0", + "wasm-timer", +] + [[package]] name = "libp2p-identify" -version = "0.19.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6438ed8ca240c7635c9caa3be6c5258bc0058553ae97ba81737f04e5d33804f5" +checksum = "912c00a7bf67e0e765daf0cc37e08f675ea26aba3d6d1fbfaee81f19a4c23049" dependencies = [ "futures 0.3.5", "libp2p-core", @@ -2078,18 +2503,18 @@ dependencies = [ "log", "prost", "prost-build", - "smallvec 1.4.0", + "smallvec 1.4.2", "wasm-timer", ] [[package]] name = "libp2p-kad" -version = "0.19.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d6c1d5100973527ae70d82687465b17049c1b717a7964de38b8e65000878ff" +checksum = "44ed3a4c8111c570ab2bffb30c6353178d7603ce3787e3c5f2493c8d3d16d1f0" dependencies = [ "arrayvec 0.5.1", - "bytes 0.5.4", + "bytes 0.5.6", "either", "fnv", "futures 0.3.5", @@ -2101,21 +2526,21 @@ dependencies = [ "prost", "prost-build", "rand 0.7.3", - "sha2", - "smallvec 1.4.0", + "sha2 0.8.2", + "smallvec 1.4.2", "uint", - "unsigned-varint", + "unsigned-varint 0.4.0", "void", "wasm-timer", ] [[package]] name = "libp2p-mdns" -version = "0.19.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51b00163d13f705aae67c427bea0575f8aaf63da6524f9bd4a5a093b8bda0b38" +checksum = "cd004c668160fd922f7268b2cd1e4550ff69165d9c744e9eb5770086eb753d02" dependencies = [ - "async-std 0.99.12", + "async-std", "data-encoding", "dns-parser", "either", @@ -2126,34 +2551,57 @@ dependencies = [ "log", "net2", "rand 0.7.3", - "smallvec 1.4.0", + "smallvec 1.4.2", "void", "wasm-timer", ] [[package]] name = "libp2p-mplex" -version = "0.19.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ce63313ad4bce2d76e54c292a1293ea47a0ebbe16708f1513fa62184992f53" +checksum = "14ae0ffacd30f073f96cd518b2c9cd2cb18ac27c3d136a4b23cf1af99f33e541" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.6", "fnv", "futures 0.3.5", "futures_codec", "libp2p-core", "log", "parking_lot 0.10.2", - "unsigned-varint", + "unsigned-varint 0.4.0", ] [[package]] name = "libp2p-noise" -version = "0.19.0" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f353f8966bbaaf7456535fffd3f366f153148773a0cf04b2ec3860955cb720e" +dependencies = [ + "bytes 0.5.6", + "curve25519-dalek 2.1.0", + "futures 0.3.5", + "lazy_static", + "libp2p-core", + "log", + "prost", + "prost-build", + "rand 0.7.3", + "sha2 0.8.2", + "snow", + "static_assertions", + "x25519-dalek", + "zeroize", +] + +[[package]] +name = "libp2p-noise" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84fd504e27b0eadd451e06b67694ef714bd8374044e7db339bb0cdb83755ddf4" +checksum = "1e594f2de0c23c2b7ad14802c991a2e68e95315c6a6c7715e53801506f20135d" dependencies = [ - "curve25519-dalek", + "bytes 0.5.6", + "curve25519-dalek 2.1.0", "futures 0.3.5", "lazy_static", "libp2p-core", @@ -2161,7 +2609,7 @@ dependencies = [ "prost", "prost-build", "rand 0.7.3", - "sha2", + "sha2 0.8.2", "snow", "static_assertions", "x25519-dalek", @@ -2170,9 +2618,9 @@ dependencies = [ [[package]] name = "libp2p-ping" -version = "0.19.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c189cf1dfe4b3f01e2c0fe5e97a6f5df8aeb6f3569e26981015eb7c08015ce5f" +checksum = "70130cf130e4ba6dc177366e72dd9f86f9e3588fa1a0c4145247e676f16affad" dependencies = [ "futures 0.3.5", "libp2p-core", @@ -2183,28 +2631,104 @@ dependencies = [ "wasm-timer", ] +[[package]] +name = "libp2p-plaintext" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53f0308a97f6fdd37a2bc388070e471c3ce9d92aa45c99d75c87c2dc5d5cac96" +dependencies = [ + "bytes 0.5.6", + "futures 0.3.5", + "futures_codec", + "libp2p-core", + "log", + "prost", + "prost-build", + "rw-stream-sink", + "unsigned-varint 0.4.0", + "void", +] + +[[package]] +name = "libp2p-pnet" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37d0db10e139d22d7af0b23ed7949449ec86262798aa0fd01595abdbcb02dc87" +dependencies = [ + "futures 0.3.5", + "log", + "pin-project", + "rand 0.7.3", + "salsa20", + "sha3", +] + +[[package]] +name = "libp2p-request-response" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f48682b48a96545a323edd150c1d64fc1e250240bba02866e9f902e3dc032a9" +dependencies = [ + "async-trait", + "futures 0.3.5", + "libp2p-core", + "libp2p-swarm", + "smallvec 1.4.2", + "wasm-timer", +] + +[[package]] +name = "libp2p-secio" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ff43513c383f7cdab2736eb98465fc4c5dd5d1988df89749dc8a68950349d56" +dependencies = [ + "aes-ctr", + "ctr", + "futures 0.3.5", + "hmac", + "js-sys", + "lazy_static", + "libp2p-core", + "log", + "parity-send-wrapper", + "pin-project", + "prost", + "prost-build", + "quicksink", + "rand 0.7.3", + "ring", + "rw-stream-sink", + "sha2 0.8.2", + "static_assertions", + "twofish", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + [[package]] name = "libp2p-swarm" -version = "0.19.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4a8101a0e0d5f04562137a476bf5f5423cd5bdab2f7e43a75909668e63cb102" +checksum = "f88d5e2a090a2aadf042cd33484e2f015c6dab212567406a59deece5dedbd133" dependencies = [ "futures 0.3.5", "libp2p-core", "log", "rand 0.7.3", - "smallvec 1.4.0", + "smallvec 1.4.2", "void", "wasm-timer", ] [[package]] name = "libp2p-tcp" -version = "0.19.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "309f95fce9bec755eff5406f8b822fd3969990830c2b54f752e1fc181d5ace3e" +checksum = "9b1fa2bbad054020cb875546a577a66a65a5bf42eff55ed5265f92ffee3cc052" dependencies = [ - "async-std 0.99.12", + "async-std", "futures 0.3.5", "futures-timer 3.0.2", "get_if_addrs", @@ -2214,11 +2738,23 @@ dependencies = [ "socket2", ] +[[package]] +name = "libp2p-uds" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9db9fce9e3588c3118475d9ca761c5c133b639a624a7341e2a61e4b28c376b8" +dependencies = [ + "async-std", + "futures 0.3.5", + "libp2p-core", + "log", +] + [[package]] name = "libp2p-wasm-ext" -version = "0.19.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f59fdbb5706f2723ca108c088b1c7a37f735a8c328021f0508007162627e9885" +checksum = "0feb99e32fea20ffb1bbf56a6fb2614bff7325ff44a515728385170b3420d2c3" dependencies = [ "futures 0.3.5", "js-sys", @@ -2230,12 +2766,11 @@ dependencies = [ [[package]] name = "libp2p-websocket" -version = "0.19.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "085fbe4c05c4116c2164ab4d5a521eb6e00516c444f61b3ee9f68c7b1e53580b" +checksum = "046a5201f6e471f22b22b394e4d084269ed1e28cf7300f7b49874385db84c7bd" dependencies = [ "async-tls", - "bytes 0.5.4", "either", "futures 0.3.5", "libp2p-core", @@ -2251,9 +2786,9 @@ dependencies = [ [[package]] name = "libp2p-yamux" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b305d3a8981e68f11c0e17f2d11d5c52fae95e0d7c283f9e462b5b2dab413b2" +checksum = "46ae9bf2f7d8a4be9c7e9b61df9de9dc1bd66419d669098f22f81f8d9571029a" dependencies = [ "futures 0.3.5", "libp2p-core", @@ -2282,22 +2817,21 @@ checksum = "1fc1e2c808481a63dc6da2074752fdd4336a3c8fcc68b83db6f1fd5224ae7962" dependencies = [ "arrayref", "crunchy", - "digest", + "digest 0.8.1", "hmac-drbg", "rand 0.7.3", - "sha2", - "subtle 2.2.2", + "sha2 0.8.2", + "subtle 2.2.3", "typenum", ] [[package]] name = "libz-sys" -version = "1.0.25" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe" +checksum = "af67924b8dd885cccea261866c8ce5b74d239d272e154053ff927dae839f5ae9" dependencies = [ "cc", - "libc", "pkg-config", "vcpkg", ] @@ -2310,9 +2844,9 @@ checksum = "8dd5a6d5999d9907cda8ed67bbd137d3af8085216c2ac62de5be860bd41f304a" [[package]] name = "linked_hash_set" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c7c91c4c7bbeb4f2f7c4e5be11e6a05bd6830bc37249c47ce1ad86ad453ff9c" +checksum = "47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588" dependencies = [ "linked-hash-map", ] @@ -2328,31 +2862,58 @@ dependencies = [ "statrs", ] +[[package]] +name = "lock_api" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c" +dependencies = [ + "scopeguard 0.3.3", +] + [[package]] name = "lock_api" version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75" dependencies = [ - "scopeguard", + "scopeguard 1.1.0", +] + +[[package]] +name = "lock_api" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28247cc5a5be2f05fbcd76dd0cf2c7d3b5400cb978a28042abcd4fa0b3f8261c" +dependencies = [ + "scopeguard 1.1.0", ] [[package]] name = "log" -version = "0.4.8" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" +checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b" dependencies = [ "cfg-if", ] [[package]] name = "lru" -version = "0.4.5" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e488db3a9e108382265a30764f43cfc87517322e5d04ae0603b32a33461dca3" +checksum = "0609345ddee5badacf857d4f547e0e5a2e987db77085c24cd887f73573a04237" dependencies = [ - "hashbrown", + "hashbrown 0.6.3", +] + +[[package]] +name = "matchers" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" +dependencies = [ + "regex-automata", ] [[package]] @@ -2389,27 +2950,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b" dependencies = [ "libc", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] name = "memoffset" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4fc2c02a7e374099d4ee95a193111f72d2110197fe200272371758f6c3643d8" +checksum = "c198b026e1bbf08a937e94c6c60f9ec4a2267f5b0d2eec9c1b21b061ce2be55f" dependencies = [ - "autocfg 1.0.0", + "autocfg 1.0.1", ] [[package]] name = "memory-db" -version = "0.20.1" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be512cb2ccb4ecbdca937fdd4a62ea5f09f8e7195466a85e4632b3d5bcce82e6" +checksum = "36f36ddb0b2cdc25d38babba472108798e3477f02be5165f038c5e393e50c57a" dependencies = [ - "ahash", "hash-db", - "hashbrown", + "hashbrown 0.8.2", "parity-util-mem", ] @@ -2425,7 +2985,7 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6feca46f4fa3443a01769d768727f10c10a20fdb65e52dc16a81f0c8269bb78" dependencies = [ - "byteorder", + "byteorder 1.3.4", "keccak", "rand_core 0.5.1", "zeroize", @@ -2433,11 +2993,11 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.3.6" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa679ff6578b1cddee93d7e82e263b94a575e0bfced07284eb0c037c1d2416a5" +checksum = "be0f75932c1f6cfae3c04000e40114adf955636e19040f9c0a2c380702aa1c7f" dependencies = [ - "adler32", + "adler", ] [[package]] @@ -2453,7 +3013,7 @@ dependencies = [ "kernel32-sys", "libc", "log", - "miow", + "miow 0.2.1", "net2", "slab", "winapi 0.2.8", @@ -2471,6 +3031,18 @@ dependencies = [ "slab", ] +[[package]] +name = "mio-named-pipes" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0840c1c50fd55e521b247f949c241c9997709f23bd7f023b9762cd561e935656" +dependencies = [ + "log", + "mio", + "miow 0.3.5", + "winapi 0.3.9", +] + [[package]] name = "mio-uds" version = "0.6.8" @@ -2494,6 +3066,16 @@ dependencies = [ "ws2_32-sys", ] +[[package]] +name = "miow" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07b88fb9795d4d36d62a012dfbf49a8f5cf12751f36d31a9dbe66d528e58979e" +dependencies = [ + "socket2", + "winapi 0.3.9", +] + [[package]] name = "multihash" version = "0.11.2" @@ -2502,11 +3084,11 @@ checksum = "f75db05d738947aa5389863aadafbcf2e509d7ba099dc2ddcdf4fc66bf7a9e03" dependencies = [ "blake2b_simd", "blake2s_simd", - "digest", + "digest 0.8.1", "sha-1", - "sha2", + "sha2 0.8.2", "sha3", - "unsigned-varint", + "unsigned-varint 0.3.3", ] [[package]] @@ -2517,16 +3099,27 @@ checksum = "d8883adfde9756c1d30b0f519c9b8c502a94b41ac62f696453c37c7fc0a958ce" [[package]] name = "multistream-select" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "991c33683908c588b8f2cf66c221d8f390818c1bdcd13fce55208408e027a796" +checksum = "c9157e87afbc2ef0d84cc0345423d715f445edde00141c93721c162de35a05e5" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.6", "futures 0.3.5", "log", "pin-project", - "smallvec 1.4.0", - "unsigned-varint", + "smallvec 1.4.2", + "unsigned-varint 0.4.0", +] + +[[package]] +name = "multitask" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c09c35271e7dcdb5f709779111f2c8e8ab8e06c1b587c1c6a9e179d865aaa5b4" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", ] [[package]] @@ -2537,11 +3130,11 @@ checksum = "aaa9fddbc34c8c35dd2108515587b8ce0cab396f17977b8c738568e4edb521a2" dependencies = [ "alga", "approx", - "generic-array", + "generic-array 0.12.3", "matrixmultiply", "num-complex", "num-rational", - "num-traits 0.2.11", + "num-traits", "rand 0.6.5", "typenum", ] @@ -2556,28 +3149,14 @@ dependencies = [ ] [[package]] -name = "net2" -version = "0.2.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ba7c918ac76704fb42afcbbb43891e72731f3dcca3bef2a19786297baf14af7" -dependencies = [ - "cfg-if", - "libc", - "winapi 0.3.8", -] - -[[package]] -name = "netstat2" -version = "0.8.1" +name = "net2" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29449d242064c48d3057a194b049a2bdcccadda16faa18a91468677b44e8d422" +checksum = "2ba7c918ac76704fb42afcbbb43891e72731f3dcca3bef2a19786297baf14af7" dependencies = [ - "bitflags", - "byteorder", - "enum-primitive-derive", + "cfg-if", "libc", - "num-traits 0.2.11", - "thiserror", + "winapi 0.3.9", ] [[package]] @@ -2607,32 +3186,23 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "nom" -version = "5.1.1" +version = "5.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b471253da97532da4b61552249c521e01e736071f71c1a4f7ebbfbf0a06aad6" +checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af" dependencies = [ "memchr", "version_check", ] -[[package]] -name = "ntapi" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a31937dea023539c72ddae0e3571deadc1414b300483fa7aaec176168cfa9d2" -dependencies = [ - "winapi 0.3.8", -] - [[package]] name = "num-bigint" version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" dependencies = [ - "autocfg 1.0.0", + "autocfg 1.0.1", "num-integer", - "num-traits 0.2.11", + "num-traits", ] [[package]] @@ -2641,18 +3211,18 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" dependencies = [ - "autocfg 1.0.0", - "num-traits 0.2.11", + "autocfg 1.0.1", + "num-traits", ] [[package]] name = "num-integer" -version = "0.1.42" +version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba" +checksum = "8d59457e662d541ba17869cf51cf177c0b5f0cbf476c66bdc90bf1edac4f875b" dependencies = [ - "autocfg 1.0.0", - "num-traits 0.2.11", + "autocfg 1.0.1", + "num-traits", ] [[package]] @@ -2661,28 +3231,19 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" dependencies = [ - "autocfg 1.0.0", + "autocfg 1.0.1", "num-bigint", "num-integer", - "num-traits 0.2.11", -] - -[[package]] -name = "num-traits" -version = "0.1.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31" -dependencies = [ - "num-traits 0.2.11", + "num-traits", ] [[package]] name = "num-traits" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096" +checksum = "ac267bcc07f48ee5f8935ab0d24f316fb722d7a1292e2913f0cc196b29ffd611" dependencies = [ - "autocfg 1.0.0", + "autocfg 1.0.1", "libm", ] @@ -2698,17 +3259,26 @@ dependencies = [ [[package]] name = "object" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cbca9424c482ee628fa549d9c812e2cd22f1180b9222c9200fdfa6eb31aecb2" +checksum = "1ab52be62400ca80aa00285d25253d7f7c437b7375c4de678f5405d3afe82ca5" [[package]] name = "once_cell" -version = "1.4.0" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b631f7e854af39a1739f401cf34a8a013dfe09eac4fa4dba91e9768bd28168d" +checksum = "532c29a261168a45ce28948f9537ddd7a5dd272cc513b3017b1e82a88f962c37" dependencies = [ - "parking_lot 0.10.2", + "parking_lot 0.7.1", +] + +[[package]] +name = "once_cell" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "260e51e7efe62b592207e9e13a68e43692a7a279171d6ba57abd208bf23645ad" +dependencies = [ + "parking_lot 0.11.0", ] [[package]] @@ -2717,6 +3287,12 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + [[package]] name = "openssl-probe" version = "0.1.2" @@ -2734,9 +3310,9 @@ dependencies = [ [[package]] name = "pallet-balances" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4f2b26ed6059d9c5b0d03f08a3147b117035ded45bada2e3efc75a2c1e1cb0d" +checksum = "ec78c836f1481626270edfa445c612ba8e3aa6601f418f31a9aa815ae3ab6584" dependencies = [ "frame-benchmarking", "frame-support", @@ -2749,9 +3325,9 @@ dependencies = [ [[package]] name = "pallet-sudo" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b13c045d6b74479e8da5cbc0446367a9bbf4e40dc60fced19d015fffc75d3ced" +checksum = "b925ea02f36e558d0ff08becce040b11ddf319701fe5125935fd98ea6ab16bee" dependencies = [ "frame-support", "frame-system", @@ -2764,9 +3340,9 @@ dependencies = [ [[package]] name = "pallet-timestamp" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8118c5c7998c44c78b2d018b1f9c6430bbd9831f76457d55dfacf425e1aa540c" +checksum = "c8678ecd7743bc05eae24ac0c115b9c2893fdeee0a880fbd6263ee4c56ead2ce" dependencies = [ "frame-benchmarking", "frame-support", @@ -2796,60 +3372,27 @@ dependencies = [ [[package]] name = "parity-multiaddr" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f77055f9e81921a8cc7bebeb6cded3d128931d51f1e3dd6251f0770a6d431477" -dependencies = [ - "arrayref", - "bs58", - "byteorder", - "data-encoding", - "parity-multihash", - "percent-encoding 2.1.0", - "serde", - "static_assertions", - "unsigned-varint", - "url 2.1.1", -] - -[[package]] -name = "parity-multiaddr" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12ca96399f4a01aa89c59220c4f52ac371940eb4e53e3ce990da796f364bdf69" +checksum = "cc20af3143a62c16e7c9e92ea5c6ae49f7d271d97d4d8fe73afc28f0514a3d0f" dependencies = [ "arrayref", "bs58", - "byteorder", + "byteorder 1.3.4", "data-encoding", "multihash", "percent-encoding 2.1.0", "serde", "static_assertions", - "unsigned-varint", + "unsigned-varint 0.4.0", "url 2.1.1", ] -[[package]] -name = "parity-multihash" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a1cd2ba02391b81367bec529fb209019d718684fdc8ad6a712c2b536e46f775" -dependencies = [ - "blake2", - "bytes 0.5.4", - "rand 0.7.3", - "sha-1", - "sha2", - "sha3", - "unsigned-varint", -] - [[package]] name = "parity-scale-codec" -version = "1.3.0" +version = "1.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "329c8f7f4244ddb5c37c103641027a76c530e65e8e4b8240b29f81ea40508b17" +checksum = "34d38aeaffc032ec69faa476b3caaca8d4dd7f3f798137ff30359e5c7869ceb6" dependencies = [ "arrayvec 0.5.1", "bitvec", @@ -2860,14 +3403,14 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a0ec292e92e8ec7c58e576adacc1e3f399c597c8f263c42f18420abe58e7245" +checksum = "cd20ff7e0399b274a5f5bb37b712fccb5b3a64b9128200d1c3cc40fe709cb073" dependencies = [ "proc-macro-crate", "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] @@ -2876,19 +3419,39 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" +[[package]] +name = "parity-tokio-ipc" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e57fea504fea33f9fbb5f49f378359030e7e026a6ab849bb9e8f0787376f1bf" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.29", + "libc", + "log", + "mio-named-pipes", + "miow 0.3.5", + "rand 0.7.3", + "tokio 0.1.22", + "tokio-named-pipes", + "tokio-uds", + "winapi 0.3.9", +] + [[package]] name = "parity-util-mem" -version = "0.6.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6e2583649a3ca84894d1d71da249abcfda54d5aca24733d72ca10d0f02361c" +checksum = "297ff91fa36aec49ce183484b102f6b75b46776822bd81525bfc4cc9b0dd0f5c" dependencies = [ "cfg-if", + "hashbrown 0.8.2", "impl-trait-for-tuples", "parity-util-mem-derive", "parking_lot 0.10.2", "primitive-types", - "smallvec 1.4.0", - "winapi 0.3.8", + "smallvec 1.4.2", + "winapi 0.3.9", ] [[package]] @@ -2898,7 +3461,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" dependencies = [ "proc-macro2", - "syn 1.0.27", + "syn", "synstructure", ] @@ -2908,13 +3471,35 @@ version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ddfc878dac00da22f8f61e7af3157988424567ab01d9920b962ef7dcbd7cd865" +[[package]] +name = "parking" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cb300f271742d4a2a66c01b6b2fa0c83dfebd2e0bf11addb879a3547b4ed87c" + +[[package]] +name = "parking" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" + +[[package]] +name = "parking_lot" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337" +dependencies = [ + "lock_api 0.1.5", + "parking_lot_core 0.4.0", +] + [[package]] name = "parking_lot" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" dependencies = [ - "lock_api", + "lock_api 0.3.4", "parking_lot_core 0.6.2", "rustc_version", ] @@ -2925,10 +3510,34 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3a704eb390aafdc107b0e392f56a82b668e3a71366993b5340f5833fd62505e" dependencies = [ - "lock_api", + "lock_api 0.3.4", "parking_lot_core 0.7.2", ] +[[package]] +name = "parking_lot" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4893845fa2ca272e647da5d0e46660a314ead9c2fdd9a883aabc32e481a8733" +dependencies = [ + "instant", + "lock_api 0.4.1", + "parking_lot_core 0.8.0", +] + +[[package]] +name = "parking_lot_core" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9" +dependencies = [ + "libc", + "rand 0.6.5", + "rustc_version", + "smallvec 0.6.13", + "winapi 0.3.9", +] + [[package]] name = "parking_lot_core" version = "0.6.2" @@ -2936,12 +3545,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" dependencies = [ "cfg-if", - "cloudabi", + "cloudabi 0.0.3", "libc", "redox_syscall", "rustc_version", "smallvec 0.6.13", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -2951,18 +3560,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d58c7c768d4ba344e3e8d72518ac13e259d7c7ade24167003b8488e10b6740a3" dependencies = [ "cfg-if", - "cloudabi", + "cloudabi 0.0.3", + "libc", + "redox_syscall", + "smallvec 1.4.2", + "winapi 0.3.9", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c361aa727dd08437f2f1447be8b59a33b0edd15e0fcee698f935613d9efbca9b" +dependencies = [ + "cfg-if", + "cloudabi 0.1.0", + "instant", "libc", "redox_syscall", - "smallvec 1.4.0", - "winapi 0.3.8", + "smallvec 1.4.2", + "winapi 0.3.9", ] [[package]] name = "paste" -version = "0.1.14" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3431e8f72b90f8a7af91dec890d9814000cb371258e0ec7370d93e085361f531" +checksum = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880" dependencies = [ "paste-impl", "proc-macro-hack", @@ -2970,14 +3594,11 @@ dependencies = [ [[package]] name = "paste-impl" -version = "0.1.14" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25af5fc872ba284d8d84608bf8a0fa9b5376c96c23f503b007dfd9e34dde5606" +checksum = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6" dependencies = [ "proc-macro-hack", - "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", ] [[package]] @@ -2986,8 +3607,9 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9" dependencies = [ - "byteorder", - "crypto-mac", + "byteorder 1.3.4", + "crypto-mac 0.7.0", + "rayon", ] [[package]] @@ -3020,29 +3642,29 @@ dependencies = [ [[package]] name = "pin-project" -version = "0.4.17" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc93aeee735e60ecb40cf740eb319ff23eab1c5748abfdb5c180e4ce49f7791" +checksum = "ca4433fff2ae79342e497d9f8ee990d174071408f28f726d6d83af93e58e48aa" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "0.4.17" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e58db2081ba5b4c93bd6be09c40fd36cb9193a8336c384f3b40012e531aa7e40" +checksum = "2c0e815c3ee9a031fdf5af21c10aa17c573c9c6a566328d99e3936c34e36461f" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] name = "pin-project-lite" -version = "0.1.5" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7505eeebd78492e0f6108f7171c4948dbb120ee8119d9d77d0afa5469bef67f" +checksum = "282adbf10f2698a7a77f8e983a74b2d18176c19a7fd32a45446139ae7b02b715" [[package]] name = "pin-utils" @@ -3051,34 +3673,53 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] -name = "piper" -version = "0.1.2" +name = "pkg-config" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d36492546b6af1463394d46f0c834346f31548646f6ba10849802c9c9a27ac33" + +[[package]] +name = "platforms" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "feb3b2b1033b8a60b4da6ee470325f887758c95d5320f52f9ce0df055a55940e" + +[[package]] +name = "polling" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b0deb65f46e873ba8aa7c6a8dbe3f23cb1bf59c339a81a1d56361dde4d66ac8" +checksum = "9e09dffb745feffca5be3dea51c02b7b368c4597ab0219a82acaf9799ab3e0d1" dependencies = [ - "crossbeam-utils 0.7.2", - "futures-io", - "futures-sink", - "futures-util", + "cfg-if", + "libc", + "wepoll-sys-stjepang", + "winapi 0.3.9", ] [[package]] -name = "pkg-config" -version = "0.3.17" +name = "poly1305" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677" +checksum = "d9b42192ab143ed7619bf888a7f9c6733a9a2153b218e2cd557cfdb52fbf9bb1" +dependencies = [ + "universal-hash", +] [[package]] -name = "platforms" -version = "0.2.1" +name = "polyval" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feb3b2b1033b8a60b4da6ee470325f887758c95d5320f52f9ce0df055a55940e" +checksum = "d9a50142b55ab3ed0e9f68dfb3709f1d90d29da24e91033f28b96330643107dc" +dependencies = [ + "cfg-if", + "universal-hash", +] [[package]] name = "ppv-lite86" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea" +checksum = "c36fa947111f5c62a733b652544dd0016a43ce89619538a8ef92724a6f501a20" [[package]] name = "primitive-types" @@ -3094,85 +3735,67 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10d4b51f154c8a7fb96fd6dad097cb74b863943ec010ac94b9fd1be8861fe1e" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" dependencies = [ "toml", ] [[package]] name = "proc-macro-error" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98e9e4b82e0ef281812565ea4751049f1bdcdfccda7d3f459f2e138a40c08678" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", "version_check", ] [[package]] name = "proc-macro-error-attr" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5444ead4e9935abd7f27dc51f7e852a0569ac888096d5ec2499470794e2e53" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", - "syn-mid", + "quote", "version_check", ] [[package]] name = "proc-macro-hack" -version = "0.5.16" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e0456befd48169b9f13ef0f0ad46d492cf9d2dbb918bcf38e01eed4ce3ec5e4" +checksum = "99c605b9a0adc77b7211c6b1f722dcb613d68d66859a44f3d485a6da332b0598" [[package]] name = "proc-macro-nested" -version = "0.1.4" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e946095f9d3ed29ec38de908c22f95d9ac008e424c7bcae54c75a79c527c694" +checksum = "eba180dafb9038b050a4c280019bbedf9f2467b61e5d892dcad585bb57aadc5a" [[package]] name = "proc-macro2" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1502d12e458c49a4c9cbff560d0fe0060c252bc29799ed94ca2ed4bb665a0101" -dependencies = [ - "unicode-xid 0.2.0", -] - -[[package]] -name = "procfs" -version = "0.7.9" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c434e93ef69c216e68e4f417c927b4f31502c3560b72cfdb6827e2321c5c6b3e" +checksum = "04f5f085b5d71e2188cb8271e5da0161ad52c3f227a661a3c135fdf28e258b12" dependencies = [ - "bitflags", - "byteorder", - "chrono", - "hex", - "lazy_static", - "libc", - "libflate", + "unicode-xid", ] [[package]] name = "prometheus" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0575e258dab62268e7236d7307caa38848acbda7ec7ab87bd9093791e999d20" +checksum = "dd0ced56dee39a6e960c15c74dc48849d614586db2eaada6497477af7c7811cd" dependencies = [ "cfg-if", "fnv", "lazy_static", - "protobuf", "spin", "thiserror", ] @@ -3183,7 +3806,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce49aefe0a6144a45de32927c77bd2859a5f7677b55f220ae5b744e87389c212" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.6", "prost-derive", ] @@ -3193,9 +3816,9 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02b10678c913ecbd69350e8535c3aef91a8676c0773fc1d7b95cdd196d7f2f26" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.6", "heck", - "itertools", + "itertools 0.8.2", "log", "multimap", "petgraph", @@ -3212,10 +3835,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "537aa19b95acde10a12fec4301466386f757403de4cd4e5b4fa78fb5ecb18f72" dependencies = [ "anyhow", - "itertools", + "itertools 0.8.2", "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] @@ -3224,16 +3847,10 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1834f67c0697c001304b75be76f67add9c89742eda3a085ad8ee0bb38c3417aa" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.6", "prost", ] -[[package]] -name = "protobuf" -version = "2.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e86d370532557ae7573551a1ec8235a0f8d6cb276c7c9e6aa490b511c447485" - [[package]] name = "quick-error" version = "1.2.3" @@ -3253,15 +3870,9 @@ dependencies = [ [[package]] name = "quote" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" - -[[package]] -name = "quote" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54a21852a652ad6f610c9510194f398ff6f8692e334fd1145fed931f7fbe44ea" +checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37" dependencies = [ "proc-macro2", ] @@ -3292,7 +3903,7 @@ dependencies = [ "libc", "rand_core 0.3.1", "rdrand", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -3301,11 +3912,11 @@ version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9" dependencies = [ - "cloudabi", + "cloudabi 0.0.3", "fuchsia-cprng", "libc", "rand_core 0.3.1", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -3324,7 +3935,7 @@ dependencies = [ "rand_os", "rand_pcg 0.1.2", "rand_xorshift", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -3420,7 +4031,7 @@ checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" dependencies = [ "libc", "rand_core 0.4.2", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -3429,12 +4040,12 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" dependencies = [ - "cloudabi", + "cloudabi 0.0.3", "fuchsia-cprng", "libc", "rand_core 0.4.2", "rdrand", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -3473,10 +4084,11 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db6ce3297f9c85e16621bb8cca38a06779ffc31bb8184e1be4bed2be4678a098" +checksum = "62f02856753d04e03e26929f820d0a0a337ebe71f849801eea335d464b349080" dependencies = [ + "autocfg 1.0.1", "crossbeam-deque", "either", "rayon-core", @@ -3484,13 +4096,13 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.7.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08a89b46efaf957e52b18062fb2f4660f8b8a4dde1807ca002690868ef2c85a9" +checksum = "e92e15d89083484e11353891f1af602cc661426deb9564c298b270c726973280" dependencies = [ "crossbeam-deque", "crossbeam-queue", - "crossbeam-utils 0.7.2", + "crossbeam-utils", "lazy_static", "num_cpus", ] @@ -3506,9 +4118,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.1.56" +version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" +checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" [[package]] name = "redox_users" @@ -3523,29 +4135,29 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a214c7875e1b63fc1618db7c80efc0954f6156c9ff07699fd9039e255accdd1" +checksum = "745c1787167ddae5569661d5ffb8b25ae5fedbf46717eaa92d652221cec72623" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "602eb59cda66fcb9aec25841fb76bc01d2b34282dcdd705028da297db6f3eec8" +checksum = "7d21b475ab879ef0e315ad99067fa25778c3b0377f57f1b00207448dac1a3144" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] name = "regex" -version = "1.3.7" +version = "1.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6020f034922e3194c711b82a627453881bc4682166cabb07134a10c26ba7692" +checksum = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6" dependencies = [ "aho-corasick", "memchr", @@ -3553,42 +4165,73 @@ dependencies = [ "thread_local", ] +[[package]] +name = "regex-automata" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae1ded71d66a4a97f5e961fd0cb25a5f366a42a41570d16a763a69c092c26ae4" +dependencies = [ + "byteorder 1.3.4", + "regex-syntax", +] + [[package]] name = "regex-syntax" -version = "0.6.17" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe5bd57d1d7414c6b5ed48563a2c855d995ff777729dcd91c369ec7fea395ae" +checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8" [[package]] name = "remove_dir_all" -version = "0.5.2" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "rental" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8545debe98b2b139fb04cad8618b530e9b07c152d99a5de83c860b877d67847f" +dependencies = [ + "rental-impl", + "stable_deref_trait", +] + +[[package]] +name = "rental-impl" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e" +checksum = "475e68978dc5b743f2f40d8e0a8fdc83f1c5e78cbf4b8fa5e74e73beebc340de" dependencies = [ - "winapi 0.3.8", + "proc-macro2", + "quote", + "syn", ] +[[package]] +name = "retain_mut" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e005d658ad26eacc2b6c506dfde519f4e277e328d0eb3379ca61647d70a8f531" + [[package]] name = "ring" -version = "0.16.13" +version = "0.16.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "703516ae74571f24b465b4a1431e81e2ad51336cb0ded733a55a1aa3eccac196" +checksum = "952cd6b98c85bbc30efa1ba5783b8abf12fec8b3287ffa52605b9432313e34e4" dependencies = [ "cc", "libc", - "once_cell", + "once_cell 1.4.1", "spin", "untrusted", "web-sys", - "winapi 0.3.8", + "winapi 0.3.9", ] -[[package]] -name = "rle-decode-fast" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cabe4fa914dec5870285fa7f71f602645da47c486e68486d2b4ceb4a343e90ac" - [[package]] name = "rocksdb" version = "0.14.0" @@ -3606,7 +4249,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99371657d3c8e4d816fb6221db98fa408242b0b53bac08f8676a41f8554fe99f" dependencies = [ "libc", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -3615,10 +4258,10 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bc8af4bda8e1ff4932523b94d3dd20ee30a87232323eda55903ffd71d2fb017" dependencies = [ - "base64", + "base64 0.11.0", "blake2b_simd", "constant_time_eq", - "crossbeam-utils 0.7.2", + "crossbeam-utils", ] [[package]] @@ -3650,11 +4293,11 @@ dependencies = [ [[package]] name = "rustls" -version = "0.17.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0d4a31f5d68413404705d6982529b0e11a9aacd4839d1d6222ee3b8cb4015e1" +checksum = "5d1126dcf58e93cee7d098dbda643b5f92ed724f1f6a63007c1116eed6700c81" dependencies = [ - "base64", + "base64 0.12.3", "log", "ring", "sct", @@ -3663,9 +4306,9 @@ dependencies = [ [[package]] name = "rustls-native-certs" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75ffeb84a6bd9d014713119542ce415db3a3e4748f0bfce1e1416cd224a23a5" +checksum = "629d439a7672da82dd955498445e496ee2096fe2117b9f796558a43fdb9e59b8" dependencies = [ "openssl-probe", "rustls", @@ -3686,15 +4329,35 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.4" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" + +[[package]] +name = "salsa20" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2324b0e8c3bb9a586a571fdb3136f70e7e2c748de00a78043f86e0cff91f91fe" +dependencies = [ + "byteorder 1.3.4", + "salsa20-core", + "stream-cipher 0.3.2", +] + +[[package]] +name = "salsa20-core" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed3d612bc64430efeb3f7ee6ef26d590dce0c43249217bddc62112540c7941e1" +checksum = "2fe6cc1b9f5a5867853ade63099de70f042f7679e408d1ffe52821c9248e6e69" +dependencies = [ + "stream-cipher 0.3.2", +] [[package]] name = "sc-basic-authorship" -version = "0.8.0-rc2" +version = "0.8.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "097451fa0fd718899007f3069b7aa717341d5ad1d772b2b494975faf7a19aed7" +checksum = "8a46695a66db86ce460cffd11a6aec080e00502e9372facd26b2b3517e0fb95f" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", @@ -3717,9 +4380,9 @@ dependencies = [ [[package]] name = "sc-block-builder" -version = "0.8.0-rc2" +version = "0.8.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bd27f65d2b9bd07d790b8f6d43432514200d960b830392a39b0450815980788" +checksum = "82383c69e2f293e6cd3b3e5ad3665b5d61a700a4478a31e0cbdcffdea10951a9" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -3728,15 +4391,16 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-core", + "sp-inherents", "sp-runtime", "sp-state-machine", ] [[package]] name = "sc-chain-spec" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a9ad5544c6586fd86a2a9c6cad778d309230969992d00e20a54b8daeac56380" +checksum = "0c6a3b2b731b95934560c5368769ba0450b372a0db04d5d80ab91a85d5be6d88" dependencies = [ "impl-trait-for-tuples", "sc-chain-spec-derive", @@ -3751,43 +4415,49 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e62e7e16977c70551ebef45363a08db7d6dca648ea0e22032d954706a18542a3" +checksum = "a7fd27254a972011700e661644588c836f8cf47bd5e4692e55590fcf31c7a86d" dependencies = [ "proc-macro-crate", "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] name = "sc-cli" -version = "0.8.0-rc2" +version = "0.8.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d3b51b14f41b7d47d05f0f9cd46b8e1cb4c9d88f4078ad283609abadfd6b512" +checksum = "efa4f8b84f28478c4e3ae2e96857b289a0fd892884520d2c484ceefcd8aa959f" dependencies = [ "ansi_term 0.12.1", "atty", + "bip39", "chrono", "derive_more", - "directories", "env_logger", "fdlimit", "futures 0.3.5", + "hex", "lazy_static", + "libp2p 0.22.0", "log", "names", "nix", + "parity-scale-codec", "parity-util-mem", + "rand 0.7.3", "regex", "rpassword", "sc-client-api", "sc-informant", + "sc-keystore", "sc-network", "sc-service", "sc-telemetry", "sc-tracing", + "serde", "serde_json", "sp-blockchain", "sp-core", @@ -3800,14 +4470,14 @@ dependencies = [ "structopt", "substrate-prometheus-endpoint", "time", - "tokio 0.2.21", + "tokio 0.2.22", ] [[package]] name = "sc-client-api" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bd10f807d42e41b22836d3ad7a3780766a46494a127e96d7cd8c60f120e7c1f" +checksum = "f6ad0e67083f458010898ba79c6863ce841c8d55b3c8c507f9a8afae7a15a251" dependencies = [ "derive_more", "fnv", @@ -3842,9 +4512,9 @@ dependencies = [ [[package]] name = "sc-client-db" -version = "0.8.0-rc2" +version = "0.8.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be6b437006cf156445d56d18f598013e463b7483c8dde4aa9279858af9874cf2" +checksum = "1073163402675b042550121a2e1cb7db98d51849abc3ebc871fd36e707ed0871" dependencies = [ "blake2-rfc", "hash-db", @@ -3860,6 +4530,7 @@ dependencies = [ "sc-client-api", "sc-executor", "sc-state-db", + "sp-arithmetic", "sp-blockchain", "sp-consensus", "sp-core", @@ -3872,9 +4543,9 @@ dependencies = [ [[package]] name = "sc-consensus" -version = "0.8.0-rc2" +version = "0.8.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9176e4a01034f620971cfc4523323cea712e29ef44340c57f559b67c24d0eccf" +checksum = "badd279fbfa94188cb49446eb9a4112fc7d3212f20faea3a8a00662341243f50" dependencies = [ "sc-client-api", "sp-blockchain", @@ -3884,9 +4555,9 @@ dependencies = [ [[package]] name = "sc-consensus-pow" -version = "0.8.0-rc2" +version = "0.8.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda54f3d3d4e9ff6875bec9ccbad726ff0371876c11c2a0e8837c1d1b0d320a1" +checksum = "660ac58a1fe308b7044a25a3ab48cb1f060514cc73640d0807c1cd204efd3e92" dependencies = [ "derive_more", "futures 0.3.5", @@ -3907,9 +4578,9 @@ dependencies = [ [[package]] name = "sc-executor" -version = "0.8.0-rc2" +version = "0.8.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b946580e4d94c494ec5bb46de021f2605bbbb3a4effd3f6b2ea511d3fb9c8cf" +checksum = "99435a9edd886f5f30be5d8ab0b328b9d1bd06e0949896640cc6311b3c2bd58d" dependencies = [ "derive_more", "lazy_static", @@ -3935,9 +4606,9 @@ dependencies = [ [[package]] name = "sc-executor-common" -version = "0.8.0-rc2" +version = "0.8.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66949cf16144f65ac2b216bc3e38008844e35b72aff59d15455488053aecb3a7" +checksum = "6ff18805f4cdfb46dbaab60765a87d3e3c25ae17032e4b2b807f7844f85ec5f9" dependencies = [ "derive_more", "log", @@ -3953,9 +4624,9 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" -version = "0.8.0-rc2" +version = "0.8.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c7c04e15296e464658b908c093f0398a0588b5d4c09b10fdfc76635d2b82656" +checksum = "ec579a2de5717d393971b53f7db23b41da1f5da63b175b6e2c14e8e2c373a9b8" dependencies = [ "log", "parity-scale-codec", @@ -3969,9 +4640,9 @@ dependencies = [ [[package]] name = "sc-informant" -version = "0.8.0-rc2" +version = "0.8.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb47f3aac00064030a9151f93fd525199e264dc30bb41b931aed4ddf183ba36" +checksum = "698b29fd10438f00eaa393ec725ae33b6e19162471c429ea69236d766bf3292e" dependencies = [ "ansi_term 0.12.1", "futures 0.3.5", @@ -3979,37 +4650,60 @@ dependencies = [ "parity-util-mem", "sc-client-api", "sc-network", - "sc-service", "sp-blockchain", "sp-runtime", + "sp-transaction-pool", + "sp-utils", "wasm-timer", ] [[package]] name = "sc-keystore" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45ce32a92fa7284ff198804be72e0f054d64afa9fb3353805e397eb2a9864185" +checksum = "528afd2d984ab1bc4667fb60b5d2fbd685bf286145f630be7bc8cdbff8d1858f" dependencies = [ "derive_more", "hex", + "merlin", "parking_lot 0.10.2", "rand 0.7.3", "serde_json", "sp-application-crypto", "sp-core", - "subtle 2.2.2", + "subtle 2.2.3", +] + +[[package]] +name = "sc-light" +version = "2.0.0-rc6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2703ff0aff2636c45b0249cc144ee7f131b97d239f6696fc545ba16e295a1386" +dependencies = [ + "hash-db", + "lazy_static", + "parity-scale-codec", + "parking_lot 0.10.2", + "sc-client-api", + "sc-executor", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-externalities", + "sp-runtime", + "sp-state-machine", ] [[package]] name = "sc-network" -version = "0.8.0-rc2" +version = "0.8.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde8819b82e374d970c1a93aa483cbf9689251459000d6be2bb4bd388eab06ca" +checksum = "94cc74f4df8b0ab2c71d177c7bb1994fc3719276b8d9051b386d123d2f328ac9" dependencies = [ + "async-std", "bitflags", "bs58", - "bytes 0.5.4", + "bytes 0.5.6", "derive_more", "either", "erased-serde", @@ -4020,7 +4714,7 @@ dependencies = [ "futures_codec", "hex", "ip_network", - "libp2p", + "libp2p 0.23.0", "linked-hash-map", "linked_hash_set", "log", @@ -4048,7 +4742,7 @@ dependencies = [ "sp-utils", "substrate-prometheus-endpoint", "thiserror", - "unsigned-varint", + "unsigned-varint 0.4.0", "void", "wasm-timer", "zeroize", @@ -4056,15 +4750,15 @@ dependencies = [ [[package]] name = "sc-offchain" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe26c77de78b8858e882978856e33afe4611e42271f42101c6eb68efa35b5cff" +checksum = "afdeeeb906e69fed938acfd4772295f7007ee7c253425359889a61916e1e2c43" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.6", "fnv", "futures 0.3.5", "futures-timer 3.0.2", - "hyper 0.13.5", + "hyper 0.13.7", "hyper-rustls", "log", "num_cpus", @@ -4084,12 +4778,12 @@ dependencies = [ [[package]] name = "sc-peerset" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "220264976d92b6be01fa157eb0ed13d035dbbfd563a5d62d66582f8348498291" +checksum = "a6cd0f82759563667f55b43bc3242fe0822516919a639b1deb3501d6600a2a52" dependencies = [ "futures 0.3.5", - "libp2p", + "libp2p 0.23.0", "log", "serde_json", "sp-utils", @@ -4098,9 +4792,9 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" -version = "0.8.0-rc2" +version = "0.8.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "041f3e79e1e253ff07d5265f98a0c5a9c6124e607ce4549e35f872375e4c7077" +checksum = "5c5fcf2e03848137feb140c3e718f1787ec2a41dfc11ec77eebc73e22e3fb579" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -4108,9 +4802,9 @@ dependencies = [ [[package]] name = "sc-rpc" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0704ae199f0278d2c9817260ec40a19e02c265ee637b2d971160d35dee2ed0ea" +checksum = "b5e6de8c678e509abd67706c46110f47d7f17f8c86d2ae03c2d34dd1bf0af1ee" dependencies = [ "futures 0.3.5", "hash-db", @@ -4141,9 +4835,9 @@ dependencies = [ [[package]] name = "sc-rpc-api" -version = "0.8.0-rc2" +version = "0.8.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35fc72e6e3ea90b8d2d381b1e5358065952bb45bd27f1e5342da04257e8d42f2" +checksum = "9eee9cecea38a2052d41bc9f62a68ece2cb7a9f1b29c156bb49d77de1e7cb95a" dependencies = [ "derive_more", "futures 0.3.5", @@ -4166,12 +4860,13 @@ dependencies = [ [[package]] name = "sc-rpc-server" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e7fe5f8b44eb7586c4d1d01f1db8af83d5d77558b3c4fc71df8a8b489ce55c9" +checksum = "e5f45d489660ccfc6ab172c6b00520dcfa1468d6abaa8cd599521df25b7af0b6" dependencies = [ "jsonrpc-core", "jsonrpc-http-server", + "jsonrpc-ipc-server", "jsonrpc-pubsub", "jsonrpc-ws-server", "log", @@ -4182,32 +4877,34 @@ dependencies = [ [[package]] name = "sc-service" -version = "0.8.0-rc2" +version = "0.8.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c18610c1b8f4c242d161c52ae3779dd0baa4f99478cf40c488038799e1846e7" +checksum = "4bb40d43fed89449bac132f2d6e3a477bb8df1053797d8bb30d22f6a2db56816" dependencies = [ "derive_more", + "directories", "exit-future", "futures 0.1.29", "futures 0.3.5", "futures-timer 3.0.2", "hash-db", + "jsonrpc-core", + "jsonrpc-pubsub", "lazy_static", "log", - "netstat2", - "parity-multiaddr 0.7.3", "parity-scale-codec", "parity-util-mem", "parking_lot 0.10.2", "pin-project", - "procfs", "rand 0.7.3", "sc-block-builder", "sc-chain-spec", "sc-client-api", "sc-client-db", "sc-executor", + "sc-informant", "sc-keystore", + "sc-light", "sc-network", "sc-offchain", "sc-rpc", @@ -4225,6 +4922,7 @@ dependencies = [ "sp-consensus", "sp-core", "sp-externalities", + "sp-inherents", "sp-io", "sp-runtime", "sp-session", @@ -4234,16 +4932,16 @@ dependencies = [ "sp-utils", "sp-version", "substrate-prometheus-endpoint", - "sysinfo", + "tempfile", "tracing", "wasm-timer", ] [[package]] name = "sc-state-db" -version = "0.8.0-rc2" +version = "0.8.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f83d727807c6e46bb995388bf7cac50235eef9752b122a668e3f3b1b227a36" +checksum = "24c85bf121dc25232c82cd5aa905084a14e7aadbd650bc9a3334894728026369" dependencies = [ "log", "parity-scale-codec", @@ -4256,14 +4954,13 @@ dependencies = [ [[package]] name = "sc-telemetry" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd78ad27f745c235f2c676d92b4fef3a08b1a3a7f555b861e45644ba0301520" +checksum = "690fb181755b30db7112f086ab815fdcb0ef273b703fc50d89e8e9930fb76ac3" dependencies = [ - "bytes 0.5.4", "futures 0.3.5", "futures-timer 3.0.2", - "libp2p", + "libp2p 0.23.0", "log", "parking_lot 0.10.2", "pin-project", @@ -4279,25 +4976,28 @@ dependencies = [ [[package]] name = "sc-tracing" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24ebc93a319e38f1e458157beb83a4d8732ede948f782c8e04028188d6da28ff" +checksum = "e01e6f4e38e0d0daf42df5abf7b908c248314fdf7a5ca2a87356bdfcce2d2fc8" dependencies = [ "erased-serde", "log", "parking_lot 0.10.2", + "rustc-hash", "sc-telemetry", "serde", "serde_json", "slog", - "tracing-core", + "sp-tracing", + "tracing", + "tracing-subscriber", ] [[package]] name = "sc-transaction-graph" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e879a4779bc2c0b61a7f8c4422c3c3e177351aa0dd42807e29c44bc4cf0a0d0" +checksum = "9a4b349262cc33587bd53de7331f7ccd8bd2f29b7da1d0fab6e426cf6246559b" dependencies = [ "derive_more", "futures 0.3.5", @@ -4305,6 +5005,7 @@ dependencies = [ "log", "parity-util-mem", "parking_lot 0.10.2", + "retain_mut", "serde", "sp-blockchain", "sp-core", @@ -4316,9 +5017,9 @@ dependencies = [ [[package]] name = "sc-transaction-pool" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72c19a30d5441c03ae8ba9962dbcf7004af4ed9b3ea9237c07f97ce9f1ee6273" +checksum = "6a885d3dda5239eb7c8c49b2beb3ff3cfaf771418450a302c0fb143ba6b242b8" dependencies = [ "derive_more", "futures 0.3.5", @@ -4348,7 +5049,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" dependencies = [ "lazy_static", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -4359,21 +5060,27 @@ checksum = "021b403afe70d81eea68f6ea12f6b3c9588e5d536a94c3bf80f15e7faa267862" dependencies = [ "arrayref", "arrayvec 0.5.1", - "curve25519-dalek", + "curve25519-dalek 2.1.0", "getrandom", "merlin", "rand 0.7.3", "rand_core 0.5.1", - "sha2", - "subtle 2.2.2", + "sha2 0.8.2", + "subtle 2.2.3", "zeroize", ] [[package]] -name = "scoped-tls-hkt" -version = "0.1.2" +name = "scoped-tls" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2" + +[[package]] +name = "scopeguard" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e9d7eaddb227e8fbaaa71136ae0e1e913ca159b86c7da82f3e8f0044ad3a63" +checksum = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" [[package]] name = "scopeguard" @@ -4391,11 +5098,20 @@ dependencies = [ "untrusted", ] +[[package]] +name = "secrecy" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9182278ed645df3477a9c27bfee0621c621aa16f6972635f7f795dae3d81070f" +dependencies = [ + "zeroize", +] + [[package]] name = "security-framework" -version = "0.4.4" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64808902d7d99f78eaddd2b4e2509713babc3dc3c85ad6f4c447680f3c01e535" +checksum = "ad502866817f0575705bd7be36e2b2535cc33262d493aa733a2ec862baa2bc2b" dependencies = [ "bitflags", "core-foundation", @@ -4406,9 +5122,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "0.4.3" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17bf11d99252f512695eb468de5516e5cf75455521e69dfe343f3b74e4748405" +checksum = "51ceb04988b17b6d1dcd555390fa822ca5637b4a14e1f5099f13d351bed4d6c7" dependencies = [ "core-foundation-sys", "libc", @@ -4443,29 +5159,29 @@ checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" [[package]] name = "serde" -version = "1.0.110" +version = "1.0.115" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99e7b308464d16b56eba9964e4972a3eee817760ab60d88c3f86e1fecb08204c" +checksum = "e54c9a88f2da7238af84b5101443f0c0d0a3bbdc455e34a5c9497b1903ed55d5" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.110" +version = "1.0.115" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "818fbf6bfa9a42d3bfcaca148547aa00c7b915bec71d1757aa2d44ca68771984" +checksum = "609feed1d0a73cc36a0182a840a9b37b4a82f0b1150369f0536a9e3f2a31dc48" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] name = "serde_json" -version = "1.0.53" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "993948e75b189211a9b31a7528f950c6adc21f9720b6438ff80a7fa2f864cea2" +checksum = "164eacbdb13512ec2745fb09d51fd5b22b0d65ed294a1dcf7285a360c80a675c" dependencies = [ "itoa", "ryu", @@ -4478,28 +5194,35 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" dependencies = [ - "block-buffer", - "digest", + "block-buffer 0.7.3", + "digest 0.8.1", "fake-simd", - "opaque-debug", + "opaque-debug 0.2.3", ] -[[package]] -name = "sha1" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" - [[package]] name = "sha2" version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" dependencies = [ - "block-buffer", - "digest", + "block-buffer 0.7.3", + "digest 0.8.1", "fake-simd", - "opaque-debug", + "opaque-debug 0.2.3", +] + +[[package]] +name = "sha2" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2933378ddfeda7ea26f48c555bdad8bb446bf8a3d17832dc83e380d444cfb8c1" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpuid-bool", + "digest 0.9.0", + "opaque-debug 0.3.0", ] [[package]] @@ -4508,16 +5231,16 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd26bc0e7a2e3a7c959bc494caf58b72ee0c71d67704e9520f736ca7e4853ecf" dependencies = [ - "block-buffer", + "block-buffer 0.7.3", "byte-tools", - "digest", + "digest 0.8.1", "keccak", - "opaque-debug", + "opaque-debug 0.2.3", ] [[package]] name = "sha3pow" -version = "2.0.0-rc2" +version = "2.0.0-rc6" dependencies = [ "parity-scale-codec", "rand 0.7.3", @@ -4532,6 +5255,15 @@ dependencies = [ "sp-runtime", ] +[[package]] +name = "sharded-slab" +version = "0.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06d5a3f5166fb5b42a5439f2eee8b9de149e235961e3eb21c5808fc3ea17ff3e" +dependencies = [ + "lazy_static", +] + [[package]] name = "shlex" version = "0.1.1" @@ -4540,14 +5272,20 @@ checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2" [[package]] name = "signal-hook-registry" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" +checksum = "a3e12110bc539e657a646068aaf5eb5b63af9d0c1f7b29c97113fad80e15f035" dependencies = [ "arc-swap", "libc", ] +[[package]] +name = "signature" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29f060a7d147e33490ec10da418795238fd7545bba241504d6b31a409f2e6210" + [[package]] name = "slab" version = "0.4.2" @@ -4594,8 +5332,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a945ec7f7ce853e89ffa36be1e27dce9a43e82ff9093bf3461c30d5da74ed11b" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] @@ -4609,44 +5347,25 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7cb5678e1615754284ec264d9bb5b4c27d2018577fd90ac0ceb578591ed5ee4" - -[[package]] -name = "smol" -version = "0.1.10" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686c634ad1873fffef6aed20f180eede424fbf3bb31802394c90fd7335a661b7" -dependencies = [ - "async-task 3.0.0", - "crossbeam", - "futures-io", - "futures-util", - "nix", - "once_cell", - "piper", - "scoped-tls-hkt", - "slab", - "socket2", - "wepoll-binding", -] +checksum = "fbee7696b84bbf3d89a1c2eccff0850e3047ed46bfcd2e92c29a2d074d57e252" [[package]] name = "snow" -version = "0.6.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb767eee7d257ba202f0b9b08673bc13b22281632ef45267b19f13100accd2f" +checksum = "32bf8474159a95551661246cda4976e89356999e3cbfef36f493dacc3fae1e8e" dependencies = [ - "arrayref", - "blake2-rfc", - "chacha20-poly1305-aead", + "aes-gcm", + "blake2", + "chacha20poly1305", "rand 0.7.3", "rand_core 0.5.1", "ring", "rustc_version", - "sha2", - "subtle 2.2.2", + "sha2 0.9.1", + "subtle 2.2.3", "x25519-dalek", ] @@ -4659,34 +5378,30 @@ dependencies = [ "cfg-if", "libc", "redox_syscall", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] name = "soketto" -version = "0.3.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c9dab3f95c9ebdf3a88268c19af668f637a3c5039c2c56ff2d40b1b2d64a25b" +checksum = "85457366ae0c6ce56bf05a958aef14cd38513c236568618edbcd9a8c52cb80b0" dependencies = [ - "base64", - "bytes 0.5.4", + "base64 0.12.3", + "bytes 0.5.6", "flate2", "futures 0.3.5", - "http 0.2.1", "httparse", "log", "rand 0.7.3", - "sha1", - "smallvec 1.4.0", - "static_assertions", - "thiserror", + "sha-1", ] [[package]] name = "sp-allocator" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e62a5b177bc81be97b3120458bda11e21ae7fb5843c081564f295bcd1082de7d" +checksum = "16378a5000d98a01b87fa8a40a5bf02cc483545cbae8125c456954330eee78e4" dependencies = [ "derive_more", "log", @@ -4697,9 +5412,9 @@ dependencies = [ [[package]] name = "sp-api" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb41c442edf12352480ef1d360f845c07a7957041ef5c9e6a82b8d89f06d84fa" +checksum = "7467f7e20ded41f54cffec173588419dc9c3efb7fb1e73a4541a66774545f9cb" dependencies = [ "hash-db", "parity-scale-codec", @@ -4713,22 +5428,22 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbfec91da62c21342d4f8ae0e53133dcd1fedda8ed81bbca9b2ecf159b63664d" +checksum = "da136f7fbc99517e5f6f16401110a16240f99d2fbff738b8666b0b10a1d638c7" dependencies = [ "blake2-rfc", "proc-macro-crate", "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] name = "sp-application-crypto" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5821c21386d567d01d66a0d9e2b7906125f03eaa468b45b2f5f8296bab995e1" +checksum = "f33508e0f9c96186eae2c73482ae02b463cb85fd80d42dc48d7b5cf778aad6ba" dependencies = [ "parity-scale-codec", "serde", @@ -4739,12 +5454,12 @@ dependencies = [ [[package]] name = "sp-arithmetic" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7097db3217b56ba51c84ed06a52998a3aa312c32b1f7f5f5380ffdd6930546bc" +checksum = "6f861e78b2de65df52d855ff668a00890160ab66afa25e8203f4240152e89085" dependencies = [ "integer-sqrt", - "num-traits 0.2.11", + "num-traits", "parity-scale-codec", "serde", "sp-debug-derive", @@ -4753,9 +5468,9 @@ dependencies = [ [[package]] name = "sp-block-builder" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa8f551e92cab850c048458544c19689a517fb8ea7a269c62c06a9deed4433b4" +checksum = "6439b15294ed4eec9a2c330c7c834e2af2118cedd20db7f8be33bd2949c03800" dependencies = [ "parity-scale-codec", "sp-api", @@ -4766,9 +5481,9 @@ dependencies = [ [[package]] name = "sp-blockchain" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84408f6011f5475a29031d099e373bf9baa44cccafb20beca35759c8b7965ef" +checksum = "3f79c60117f539ee7a9c585722268f6b2b12999390f2c6ec53269977c10eae9c" dependencies = [ "derive_more", "log", @@ -4777,15 +5492,16 @@ dependencies = [ "parking_lot 0.10.2", "sp-block-builder", "sp-consensus", + "sp-database", "sp-runtime", "sp-state-machine", ] [[package]] name = "sp-chain-spec" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fe1e12cdea9ee931a57bc5c0019f14063aee0cfd7945a3853f2488cd08ff79d" +checksum = "2f9eb83a5f50c95172e462843184f8a3d55798b58a68f31c46054fff1ec16b19" dependencies = [ "serde", "serde_json", @@ -4793,33 +5509,36 @@ dependencies = [ [[package]] name = "sp-consensus" -version = "0.8.0-rc2" +version = "0.8.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d51db0da0abb5fa6fcc13f22830a42adf0967864b019d40f2ecd06a4ad1bfc34" +checksum = "24512668d65ee6026dd7e2fdfb18ea1aaeee0f59415a4abf969b67c2f968229d" dependencies = [ "derive_more", "futures 0.3.5", "futures-timer 3.0.2", - "libp2p", + "libp2p 0.23.0", "log", "parity-scale-codec", "parking_lot 0.10.2", "serde", + "sp-api", "sp-core", "sp-inherents", "sp-runtime", "sp-state-machine", "sp-std", + "sp-trie", "sp-utils", "sp-version", "substrate-prometheus-endpoint", + "wasm-timer", ] [[package]] name = "sp-consensus-pow" -version = "0.8.0-rc2" +version = "0.8.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55a57019f85636bb03ce1154ab426ba8ba0ce85898d26a0ddc66e89ace5fde70" +checksum = "1b5d379efbe898e988980f46c1ff3c5774ce5f70150a39389285e60cbdaab989" dependencies = [ "parity-scale-codec", "sp-api", @@ -4830,14 +5549,15 @@ dependencies = [ [[package]] name = "sp-core" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fa9131cde687315ba8220fb5a5c8d20f578b806a8aa62dd58a6d074620e67f7" +checksum = "146765f2e906030c2d7fba4a685390407d5d0595b7e46716b2bcd6c7ac744579" dependencies = [ "base58", "blake2-rfc", - "byteorder", + "byteorder 1.3.4", "derive_more", + "dyn-clonable", "ed25519-dalek", "futures 0.3.5", "hash-db", @@ -4848,7 +5568,7 @@ dependencies = [ "libsecp256k1", "log", "merlin", - "num-traits 0.2.11", + "num-traits", "parity-scale-codec", "parity-util-mem", "parking_lot 0.10.2", @@ -4856,8 +5576,9 @@ dependencies = [ "rand 0.7.3", "regex", "schnorrkel", + "secrecy", "serde", - "sha2", + "sha2 0.8.2", "sp-debug-derive", "sp-externalities", "sp-runtime-interface", @@ -4873,9 +5594,9 @@ dependencies = [ [[package]] name = "sp-database" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "555ef6bab361877d540e58fc69c800d98366f121c1e0005209fdb55727b02266" +checksum = "23faeb4e1c660ddaa0c06ba2a0d51697e0eda10c7d9568005c3bafeff65f3027" dependencies = [ "kvdb", "parking_lot 0.10.2", @@ -4883,20 +5604,20 @@ dependencies = [ [[package]] name = "sp-debug-derive" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f75b20e97569b77fe3e973f9c95965fd5e3b87592bf479067a14de923fa0f602" +checksum = "8fc56e04bc64020aa6c1a35fb74991ab8d2aa46ffc0b133145103d8b6304f195" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] name = "sp-externalities" -version = "0.8.0-rc2" +version = "0.8.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9867105e5ea35579330837a28342c5e30eb363b5750b32f64dcc4c37278e2f8" +checksum = "62ff5c062c4c36814d8aa21031b3fc7a16816db879965a910b98f49c6d80914e" dependencies = [ "environmental", "parity-scale-codec", @@ -4906,9 +5627,9 @@ dependencies = [ [[package]] name = "sp-inherents" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "637b30845bca660add7e73009b2c5f9fb76e295e386d49374b407eb8dfd4d5e4" +checksum = "3a0c71c49638e89a2aa252d291625528d67a6efee6df0ffb88cbae32f3ca878e" dependencies = [ "derive_more", "parity-scale-codec", @@ -4919,9 +5640,9 @@ dependencies = [ [[package]] name = "sp-io" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c7fdbdd621fd13b4bd8f1a137f3821efe0cacf42fd9fbcb0795d7faa594d12d" +checksum = "3668b7ee3720ffbea89308832f04cee067c8d40a06f9ced818d890cb2aae112f" dependencies = [ "futures 0.3.5", "hash-db", @@ -4934,15 +5655,16 @@ dependencies = [ "sp-runtime-interface", "sp-state-machine", "sp-std", + "sp-tracing", "sp-trie", "sp-wasm-interface", ] [[package]] name = "sp-keyring" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08e45158536b5a8656c787cdc468d94f4e01ce333413acf2168dec1754978877" +checksum = "99472908ac61a50b9973c492e277db3295ba2314294c2e36e8dd41842fae6fc5" dependencies = [ "lazy_static", "sp-core", @@ -4952,9 +5674,9 @@ dependencies = [ [[package]] name = "sp-offchain" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81740201c8689bb2e7813de6232e695dee0d324d6dd6627b02840ade263630b6" +checksum = "f39724817f34c7311202eee09bdf3190f0c2f2f3852e1d228053227d44863217" dependencies = [ "sp-api", "sp-core", @@ -4963,9 +5685,9 @@ dependencies = [ [[package]] name = "sp-panic-handler" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ceb954698da870f25b17fcfc639e9a276db69558830a73b44b6403ec67b58ab2" +checksum = "56a3e76c47eca218aa86c8a02942c62d71fb47b01feb1fc38d8297f93929a35e" dependencies = [ "backtrace", "log", @@ -4973,9 +5695,9 @@ dependencies = [ [[package]] name = "sp-rpc" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b89ec87610ab3e84007ff975d4f06e301ba37165427f9512735ee796861d550" +checksum = "7f5c07f1dbfb9a50a1beaedaa9d2909758d25c94a591bfbd0a400b328fc7b22e" dependencies = [ "serde", "sp-core", @@ -4983,10 +5705,11 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c588200d342ac3afd0742c3fc6afffe631f498c49d7c8b4e9c4e361882b07227" +checksum = "8fb489c671d0dc1ec00f83550e259cc75ab5c25d0d41b901c7a35cda99da7964" dependencies = [ + "either", "hash256-std-hasher", "impl-trait-for-tuples", "log", @@ -5005,15 +5728,16 @@ dependencies = [ [[package]] name = "sp-runtime-interface" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f94a8b74729dd6c13424a03a2717ed0ac9a2f43613148db88728942327bea3e" +checksum = "3b63b4b5e0fd1488b545d908003cd8129c88c066af361f9b6483ac7c97d8f6c1" dependencies = [ "parity-scale-codec", "primitive-types", "sp-externalities", "sp-runtime-interface-proc-macro", "sp-std", + "sp-storage", "sp-tracing", "sp-wasm-interface", "static_assertions", @@ -5021,22 +5745,22 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "480b49e81062a4b08200d47ea60c27d3c9b9f931d4dd3b1b6e6c5f0c0dc1a1f8" +checksum = "21c3ed5a0258faaa1370859bfdacf27d798f4205161a68289555eb1a1a6a4e41" dependencies = [ "Inflector", "proc-macro-crate", "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] name = "sp-serializer" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd6c6bb5b3e1c9c3c190f94b37f5e573521f281c56e069290317c2148fcde9dd" +checksum = "b99a01e4c61cabad1e383f014e559b1390f5f98c43ccdd0492c0fc195f4a4047" dependencies = [ "serde", "serde_json", @@ -5044,9 +5768,9 @@ dependencies = [ [[package]] name = "sp-session" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cbc7b244c7d899b348f90d98086018fc49fbfb86a83846f121f4083e4a1fd56" +checksum = "8b571809d807be2244393de7ee5003e5b6f53187897d2302d988b38481bb4421" dependencies = [ "parity-scale-codec", "sp-api", @@ -5058,9 +5782,9 @@ dependencies = [ [[package]] name = "sp-staking" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e856e9308fc57a76732ef666ec413650af5ee69e42766d6859596a8eec66b382" +checksum = "3ab31cfa1734a9548ebe4b87d10bcf658f835ee3b0c8f08f89f46eb7013f81a9" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -5069,16 +5793,18 @@ dependencies = [ [[package]] name = "sp-state-machine" -version = "0.8.0-rc2" +version = "0.8.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b69b8e4b88acf3acf8ab627fccbc4a8cdf5b006eb7ac7424a617012778040bae" +checksum = "5f1d76c8c207b644ed9cabeeeb9eead95c72691db9e357fe56ab19285b36b2b4" dependencies = [ "hash-db", + "itertools 0.9.0", "log", - "num-traits 0.2.11", + "num-traits", "parity-scale-codec", "parking_lot 0.10.2", "rand 0.7.3", + "smallvec 1.4.2", "sp-core", "sp-externalities", "sp-panic-handler", @@ -5089,17 +5815,18 @@ dependencies = [ [[package]] name = "sp-std" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "652e90f1e036a1499c79c5c2d8569709dd31a1ea263c99da47b3c7f2121a938a" +checksum = "dd69654cdd9fa179dad52811220356dc2991f70b3b93e77c27f4e317d58c059b" [[package]] name = "sp-storage" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8b12ec4ed124bb8d03cbc17575a34d2ee7c6b780c83d2e63a532cf7c1195997" +checksum = "5c0dba5526e0a1d2acc3d969cdcdf89f4e0395a1a6e807f5aa517ef15bf0e710" dependencies = [ "impl-serde 0.2.3", + "parity-scale-codec", "ref-cast", "serde", "sp-debug-derive", @@ -5108,9 +5835,9 @@ dependencies = [ [[package]] name = "sp-timestamp" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4eddba8ce8b354829c95bf4630af6d2a07b8eb2ebd21ce6a91240d885406ec7" +checksum = "c59b7c9ea91411e7d18be5009ac38775843778edde563d791a4ba40fecaec4de" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -5123,18 +5850,20 @@ dependencies = [ [[package]] name = "sp-tracing" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9096b3de76b42bd2cc1f8890c6e416ada152deb937c1a7974270e3c14a595b0e" +checksum = "50a43072c8a66b1f6cfec0bee7f3f2aa7866869317b5f430e8a2743551b77c4d" dependencies = [ + "log", + "rental", "tracing", ] [[package]] name = "sp-transaction-pool" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eda49c7a29a312f474175f730cc0d4b33e226a674f406a847195c83bab3a05c" +checksum = "6748dbe5c6420dceb48ddabda8ba2ba80e1ef184f32c207ef2f9cb87e56a4ebd" dependencies = [ "derive_more", "futures 0.3.5", @@ -5142,15 +5871,15 @@ dependencies = [ "parity-scale-codec", "serde", "sp-api", + "sp-blockchain", "sp-runtime", - "sp-utils", ] [[package]] name = "sp-trie" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b389371093ee1089e37249a37dc88568990312799746b5321748d3b75e48165" +checksum = "36b27498caf2238d68df9ed9a8bf326622142119328ae41b17cafc36c6acafab" dependencies = [ "hash-db", "memory-db", @@ -5163,21 +5892,22 @@ dependencies = [ [[package]] name = "sp-utils" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19ae914b1f6f3213e028a5e3ff440c8f9767031ce3380f0e2130dc9b9d5f133" +checksum = "d45813274bd799a0e77d55f4ac225a59af1b4363142ca41bb38e29f699a76a81" dependencies = [ "futures 0.3.5", "futures-core", + "futures-timer 3.0.2", "lazy_static", "prometheus", ] [[package]] name = "sp-version" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8555b712bf423aa29a0f1de7fdf66caa95184977bed6792ef05d464bb76e542" +checksum = "3d075c051dc9dc75685c484463729d50d21930aa9068f652734598f8a882f6e0" dependencies = [ "impl-serde 0.2.3", "parity-scale-codec", @@ -5188,9 +5918,9 @@ dependencies = [ [[package]] name = "sp-wasm-interface" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ae20ed52dc510fc23f79854dd71a5fd6160e40ab05e540c483ebbd59cbba08f" +checksum = "eeb0c2a1c2bdbbd67c1b8f20a9c85606122e7227b67cf5cd9faf3df2f454a66b" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -5206,9 +5936,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "stable_deref_trait" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "static_assertions" @@ -5225,6 +5955,24 @@ dependencies = [ "rand 0.5.6", ] +[[package]] +name = "stream-cipher" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8131256a5896cabcf5eb04f4d6dacbe1aefda854b0d9896e09cb58829ec5638c" +dependencies = [ + "generic-array 0.12.3", +] + +[[package]] +name = "stream-cipher" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09f8ed9974042b8c3672ff3030a69fcc03b74c47c3d1ecb7755e8a3626011e88" +dependencies = [ + "generic-array 0.14.4", +] + [[package]] name = "string" version = "0.2.1" @@ -5242,9 +5990,9 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" [[package]] name = "structopt" -version = "0.3.14" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "863246aaf5ddd0d6928dfeb1a9ca65f505599e4e1b399935ef7e75107516b4ef" +checksum = "de5472fb24d7e80ae84a7801b7978f95a19ec32cb1876faea59ab711eb901976" dependencies = [ "clap", "lazy_static", @@ -5253,15 +6001,15 @@ dependencies = [ [[package]] name = "structopt-derive" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d239ca4b13aee7a2142e6795cbd69e457665ff8037aed33b3effdc430d2f927a" +checksum = "1e0eb37335aeeebe51be42e2dc07f031163fbabfa6ac67d7ea68b5c2f68d5f99" dependencies = [ "heck", "proc-macro-error", "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] @@ -5281,8 +6029,8 @@ checksum = "0054a7df764039a6cd8592b9de84be4bec368ff081d203a7d5371cbfa8e65c81" dependencies = [ "heck", "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] @@ -5294,31 +6042,31 @@ dependencies = [ "hmac", "pbkdf2", "schnorrkel", - "sha2", + "sha2 0.8.2", ] [[package]] name = "substrate-build-script-utils" -version = "2.0.0-rc2" +version = "2.0.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c748fdee2cc011fd29f7b29e3814d28c861f72ee551296212844ebcdc1c728d" +checksum = "0bf0107b85ed2f59e42d015274a3816ba3bd5b0f01a69818bc04d3ea94a242e3" dependencies = [ "platforms", ] [[package]] name = "substrate-prometheus-endpoint" -version = "0.8.0-rc2" +version = "0.8.0-rc6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7768670414da4fa8140c97c56891d428db38d316a9564dc4174680cf3d923e05" +checksum = "fcccc8b56f8590db1f1e6acc8674187eb856ef42d7f93f3326e1fdbc10389f37" dependencies = [ - "async-std 1.6.0", + "async-std", "derive_more", "futures-util", - "hyper 0.13.5", + "hyper 0.13.7", "log", "prometheus", - "tokio 0.2.21", + "tokio 0.2.22", ] [[package]] @@ -5335,77 +6083,31 @@ checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" [[package]] name = "subtle" -version = "2.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c65d530b10ccaeac294f349038a597e435b18fb456aadd0840a623f83b9e941" - -[[package]] -name = "syn" -version = "0.11.11" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad" -dependencies = [ - "quote 0.3.15", - "synom", - "unicode-xid 0.0.4", -] +checksum = "502d53007c02d7605a05df1c1a73ee436952781653da5d0bf57ad608f66932c1" [[package]] name = "syn" -version = "1.0.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef781e621ee763a2a40721a8861ec519cb76966aee03bb5d00adb6a31dc1c1de" -dependencies = [ - "proc-macro2", - "quote 1.0.6", - "unicode-xid 0.2.0", -] - -[[package]] -name = "syn-mid" -version = "0.5.0" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7be3539f6c128a931cf19dcee741c1af532c7fd387baa739c03dd2e96479338a" +checksum = "e69abc24912995b3038597a7a593be5053eb0fb44f3cc5beec0deb421790c1f4" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", -] - -[[package]] -name = "synom" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6" -dependencies = [ - "unicode-xid 0.0.4", + "quote", + "unicode-xid", ] [[package]] name = "synstructure" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545" +checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", - "unicode-xid 0.2.0", -] - -[[package]] -name = "sysinfo" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cac193374347e7c263c5f547524f36ff8ec6702d56c8799c8331d26dffe8c1e" -dependencies = [ - "cfg-if", - "doc-comment", - "libc", - "ntapi", - "once_cell", - "rayon", - "winapi 0.3.8", + "quote", + "syn", + "unicode-xid", ] [[package]] @@ -5425,7 +6127,7 @@ dependencies = [ "rand 0.7.3", "redox_syscall", "remove_dir_all", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -5448,22 +6150,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b13f926965ad00595dd129fa12823b04bbf866e9085ab0a5f2b05b850fbfc344" +checksum = "7dfdd070ccd8ccb78f4ad66bf1982dc37f620ef696c6b5028fe2ed83dd3d0d08" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "893582086c2f98cde18f906265a65b5030a074b1046c674ae898be6519a7f479" +checksum = "bd80fc12f73063ac132ac92aceea36734f04a1d93c1240c6944e23a3b8841793" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] @@ -5491,7 +6193,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" dependencies = [ "libc", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -5502,11 +6204,11 @@ checksum = "b0165e045cc2ae1660270ca65e1676dbaab60feb0f91b10f7d0665e9b47e31f2" dependencies = [ "failure", "hmac", - "once_cell", + "once_cell 1.4.1", "pbkdf2", "rand 0.7.3", "rustc-hash", - "sha2", + "sha2 0.8.2", "unicode-normalization", ] @@ -5519,6 +6221,12 @@ dependencies = [ "crunchy", ] +[[package]] +name = "tinyvec" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "238ce071d267c5710f9d31451efec16c5ee22de34df17cc05e56cbc92e967117" + [[package]] name = "tokio" version = "0.1.22" @@ -5545,11 +6253,11 @@ dependencies = [ [[package]] name = "tokio" -version = "0.2.21" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d099fa27b9702bed751524694adbe393e18b36b204da91eb1cbbbbb4a5ee2d58" +checksum = "5d34ca54d84bf2b5b4d7d31e901a8464f7b60ac145a284fba25ceb801f2ddccd" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.6", "fnv", "futures-core", "iovec", @@ -5562,7 +6270,7 @@ dependencies = [ "pin-project-lite", "signal-hook-registry", "slab", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -5603,7 +6311,7 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671" dependencies = [ - "crossbeam-utils 0.7.2", + "crossbeam-utils", "futures 0.1.29", ] @@ -5640,13 +6348,26 @@ dependencies = [ "log", ] +[[package]] +name = "tokio-named-pipes" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d282d483052288b2308ba5ee795f5673b159c9bdf63c385a05609da782a5eae" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.29", + "mio", + "mio-named-pipes", + "tokio 0.1.22", +] + [[package]] name = "tokio-reactor" version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351" dependencies = [ - "crossbeam-utils 0.7.2", + "crossbeam-utils", "futures 0.1.29", "lazy_static", "log", @@ -5661,16 +6382,25 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.13.1" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15cb62a0d2770787abc96e99c1cd98fcf17f94959f3af63ca85bdfb203f051b4" +checksum = "228139ddd4fea3fa345a29233009635235833e52807af7ea6448ead03890d6a9" dependencies = [ "futures-core", "rustls", - "tokio 0.2.21", + "tokio 0.2.22", "webpki", ] +[[package]] +name = "tokio-service" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24da22d077e0f15f55162bdbdc661228c1581892f52074fb242678d015b45162" +dependencies = [ + "futures 0.1.29", +] + [[package]] name = "tokio-sync" version = "0.1.8" @@ -5714,7 +6444,7 @@ checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89" dependencies = [ "crossbeam-deque", "crossbeam-queue", - "crossbeam-utils 0.7.2", + "crossbeam-utils", "futures 0.1.29", "lazy_static", "log", @@ -5729,7 +6459,7 @@ version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296" dependencies = [ - "crossbeam-utils 0.7.2", + "crossbeam-utils", "futures 0.1.29", "slab", "tokio-executor 0.1.10", @@ -5752,9 +6482,9 @@ dependencies = [ [[package]] name = "tokio-uds" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5076db410d6fdc6523df7595447629099a1fdc47b3d9f896220780fa48faf798" +checksum = "ab57a4ac4111c8c9dbcf70779f6fc8bc35ae4b2454809febac840ad19bd7e4e0" dependencies = [ "bytes 0.4.12", "futures 0.1.29", @@ -5774,12 +6504,12 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.6", "futures-core", "futures-sink", "log", "pin-project-lite", - "tokio 0.2.21", + "tokio 0.2.22", ] [[package]] @@ -5799,46 +6529,89 @@ checksum = "e987b6bf443f4b5b3b6f38704195592cca41c5bb7aedd3c3693c7081f8289860" [[package]] name = "tracing" -version = "0.1.14" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7c6b59d116d218cb2d990eb06b77b64043e0268ef7323aae63d8b30ae462923" +checksum = "6d79ca061b032d6ce30c660fded31189ca0b9922bf483cd70759f13a2d86786c" dependencies = [ "cfg-if", + "log", "tracing-attributes", "tracing-core", ] [[package]] name = "tracing-attributes" -version = "0.1.8" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99bbad0de3fd923c9c3232ead88510b783e5a4d16a6154adffa3d53308de984c" +checksum = "80e0ccfc3378da0cce270c946b676a376943f5cd16aeba64568e7939806f4ada" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", ] [[package]] name = "tracing-core" -version = "0.1.10" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db63662723c316b43ca36d833707cc93dff82a02ba3d7e354f342682cc8b3545" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "tracing-log" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e0f8c7178e13481ff6765bd169b33e8d554c5d2bbede5e32c356194be02b9b9" +dependencies = [ + "lazy_static", + "log", + "tracing-core", +] + +[[package]] +name = "tracing-serde" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6ccba2f8f16e0ed268fc765d9b7ff22e965e7185d32f8f1ec8294fe17d86e79" +dependencies = [ + "serde", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0aa83a9a47081cd522c09c81b31aec2c9273424976f922ad61c053b58350b715" +checksum = "abd165311cc4d7a555ad11cc77a37756df836182db0d81aac908c8184c584f40" dependencies = [ + "ansi_term 0.12.1", + "chrono", "lazy_static", + "matchers", + "regex", + "serde", + "serde_json", + "sharded-slab", + "smallvec 1.4.2", + "thread_local", + "tracing-core", + "tracing-log", + "tracing-serde", ] [[package]] name = "trie-db" -version = "0.20.1" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc309f34008563989045a4c4dbcc5770467f3a3785ee80a9b5cc0d83362475f" +checksum = "9e55f7ace33d6237e14137e386f4e1672e2a5c6bbc97fef9f438581a143971f0" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.8.2", "log", "rustc-hex", - "smallvec 1.4.0", + "smallvec 1.4.2", ] [[package]] @@ -5852,9 +6625,20 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.2" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" + +[[package]] +name = "twofish" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" +checksum = "712d261e83e727c8e2dbb75dacac67c36e35db36a958ee504f2164fc052434e1" +dependencies = [ + "block-cipher-trait", + "byteorder 1.3.4", + "opaque-debug 0.2.3", +] [[package]] name = "twox-hash" @@ -5873,11 +6657,11 @@ checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33" [[package]] name = "uint" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "173cd16430c206dc1a430af8a89a0e9c076cf15cb42b4aedb10e8cc8fee73681" +checksum = "9db035e67dfaf7edd9aebfe8676afcd63eed53c8a4044fed514c8cccf1835177" dependencies = [ - "byteorder", + "byteorder 1.3.4", "crunchy", "rustc-hex", "static_assertions", @@ -5903,11 +6687,11 @@ dependencies = [ [[package]] name = "unicode-normalization" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5479532badd04e128284890390c1e876ef7a993d0570b3597ae43dfa1d59afa4" +checksum = "6fb19cf769fa8c6a80a162df694621ebeb4dafb606470b2b2fce0be40a98a977" dependencies = [ - "smallvec 1.4.0", + "tinyvec", ] [[package]] @@ -5918,29 +6702,39 @@ checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0" [[package]] name = "unicode-width" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479" +checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" [[package]] name = "unicode-xid" -version = "0.0.4" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" +checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" [[package]] -name = "unicode-xid" -version = "0.2.0" +name = "universal-hash" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c" +checksum = "8326b2c654932e3e4f9196e69d08fdf7cfd718e1dc6f66b347e6024a0c961402" +dependencies = [ + "generic-array 0.14.4", + "subtle 2.2.3", +] [[package]] name = "unsigned-varint" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f67332660eb59a6f1eb24ff1220c9e8d01738a8503c6002e30bcfe4bd9f2b4a9" + +[[package]] +name = "unsigned-varint" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "669d776983b692a906c881fcd0cfb34271a48e197e4d6cb8df32b05bfc3d3fa5" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.6", "futures-io", "futures-util", "futures_codec", @@ -5976,7 +6770,7 @@ dependencies = [ [[package]] name = "utxo-runtime" -version = "2.0.0-rc2" +version = "2.0.0-rc6" dependencies = [ "frame-executive", "frame-support", @@ -6004,7 +6798,7 @@ dependencies = [ [[package]] name = "utxo-workshop" -version = "2.0.0-rc2" +version = "2.0.0-rc6" dependencies = [ "futures 0.3.5", "hex", @@ -6038,9 +6832,15 @@ dependencies = [ [[package]] name = "vcpkg" -version = "0.2.8" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6454029bf181f092ad1b853286f23e2c507d8e8194d01d92da4a55c274a5508c" + +[[package]] +name = "vec-arena" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168" +checksum = "8cb18268690309760d59ee1a9b21132c126ba384f374c59a94db4bc03adeb561" [[package]] name = "vec_map" @@ -6060,6 +6860,12 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" +[[package]] +name = "waker-fn" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9571542c2ce85ce642e6b58b3364da2fb53526360dfb7c211add4f5c23105ff7" + [[package]] name = "want" version = "0.2.0" @@ -6089,9 +6895,9 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" [[package]] name = "wasm-bindgen" -version = "0.2.62" +version = "0.2.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3c7d40d09cdbf0f4895ae58cf57d92e1e57a9dd8ed2e8390514b54a47cc5551" +checksum = "f0563a9a4b071746dd5aedbc3a28c6fe9be4586fb3fbadb67c400d4f53c6b16c" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -6099,24 +6905,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.62" +version = "0.2.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3972e137ebf830900db522d6c8fd74d1900dcfc733462e9a12e942b00b4ac94" +checksum = "bc71e4c5efa60fb9e74160e89b93353bc24059999c0ae0fb03affc39770310b0" dependencies = [ "bumpalo", "lazy_static", "log", "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.12" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a369c5e1dfb7569e14d62af4da642a3cbc2f9a3652fe586e26ac22222aa4b04" +checksum = "95f8d235a77f880bcef268d379810ea6c0af2eacfa90b1ad5af731776e0c4699" dependencies = [ "cfg-if", "js-sys", @@ -6126,32 +6932,32 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.62" +version = "0.2.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cd85aa2c579e8892442954685f0d801f9129de24fa2136b2c6a539c76b65776" +checksum = "97c57cefa5fa80e2ba15641578b44d36e7a64279bc5ed43c6dbaf329457a2ed2" dependencies = [ - "quote 1.0.6", + "quote", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.62" +version = "0.2.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eb197bd3a47553334907ffd2f16507b4f4f01bbec3ac921a7719e0decdfe72a" +checksum = "841a6d1c35c6f596ccea1f82504a192a60378f64b3bb0261904ad8f2f5657556" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.62" +version = "0.2.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a91c2916119c17a8e316507afaaa2dd94b47646048014bbdf6bef098c1bb58ad" +checksum = "93b162580e34310e5931c4b792560108b10fd14d64915d7fff8ff00180e70092" [[package]] name = "wasm-timer" @@ -6178,7 +6984,7 @@ dependencies = [ "libc", "memory_units", "num-rational", - "num-traits 0.2.11", + "num-traits", "parity-wasm", "wasmi-validation", ] @@ -6194,9 +7000,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.39" +version = "0.3.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bc359e5dd3b46cb9687a051d50a2fdd228e4ba7cf6fcf861a5365c3d671a642" +checksum = "dda38f4e5ca63eda02c059d243aa25b5f35ab98451e518c51612cd0f1bd19a47" dependencies = [ "js-sys", "wasm-bindgen", @@ -6204,9 +7010,9 @@ dependencies = [ [[package]] name = "webpki" -version = "0.21.2" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f50e1972865d6b1adb54167d1c8ed48606004c2c9d0ea5f1eeb34d95e863ef" +checksum = "ab146130f5f790d45f82aeeb09e55a256573373ec64409fc19a6fb82fb1032ae" dependencies = [ "ring", "untrusted", @@ -6231,20 +7037,10 @@ dependencies = [ ] [[package]] -name = "wepoll-binding" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374fff4ff9701ff8b6ad0d14bacd3156c44063632d8c136186ff5967d48999a7" -dependencies = [ - "bitflags", - "wepoll-sys", -] - -[[package]] -name = "wepoll-sys" -version = "2.0.0" +name = "wepoll-sys-stjepang" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9082a777aed991f6769e2b654aa0cb29f1c3d615daf009829b07b66c7aff6a24" +checksum = "6fd319e971980166b53e17b1026812ad66c6b54063be879eb182342b55284694" dependencies = [ "cc", ] @@ -6266,9 +7062,9 @@ checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" [[package]] name = "winapi" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" dependencies = [ "winapi-i686-pc-windows-gnu", "winapi-x86_64-pc-windows-gnu", @@ -6292,7 +7088,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" dependencies = [ - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -6307,7 +7103,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c51a2c47b5798ccc774ffb93ff536aec7c4275d722fd9c740c83cdd1af1f2d94" dependencies = [ - "byteorder", + "byteorder 1.3.4", "bytes 0.4.12", "httparse", "log", @@ -6335,16 +7131,16 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "637ff90c9540fa3073bb577e65033069e4bae7c79d49d74aa3ffdf5342a53217" dependencies = [ - "curve25519-dalek", + "curve25519-dalek 2.1.0", "rand_core 0.5.1", "zeroize", ] [[package]] name = "yamux" -version = "0.4.5" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84300bb493cc878f3638b981c62b4632ec1a5c52daaa3036651e8c106d3b55ea" +checksum = "cd37e58a1256a0b328ce9c67d8b62ecdd02f4803ba443df478835cb1a41a637c" dependencies = [ "futures 0.3.5", "log", @@ -6370,7 +7166,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de251eec69fc7c1bc3923403d18ececb929380e016afe103da75f396704f8ca2" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.27", + "quote", + "syn", "synstructure", ] diff --git a/README.md b/README.md index 7545654..d794adf 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ A UTXO chain implementation on Substrate, with two self-guided workshops.Original [UXTO inspiration](https://github.com/0x7CFE/substrate-node-template/tree/utxo) by [Dmitriy Kashitsyn](https://github.com/0x7CFE). -Substrate Version: `2.0.0-rc2`. For educational purposes only. +Substrate Version: `2.0.0-rc6`. For educational purposes only. ## Table of Contents - [Installation](#Installation): Setting up Rust & Substrate dependencies diff --git a/node/Cargo.toml b/node/Cargo.toml index 918825f..9b01221 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -4,14 +4,14 @@ build = 'build.rs' edition = '2018' name = 'utxo-workshop' repository = 'https://github.com/substrate-developer-hub/utxo-workshop' -version = '2.0.0-rc2' +version = '2.0.0-rc6' [build-dependencies] -substrate-build-script-utils = '2.0.0-rc2' +substrate-build-script-utils = '2.0.0-rc6' [dependencies.utxo-runtime] path = '../runtime' -version = '2.0.0-rc2' +version = '2.0.0-rc6' [dependencies] futures = '0.3.1' @@ -20,24 +20,24 @@ structopt = '0.3.8' parity-scale-codec = '1.3.0' sha3 = "0.8" rand = { version = "0.7", features = ["small_rng"] } -sc-consensus-pow = '0.8.0-rc2' -sc-basic-authorship = '0.8.0-rc2' -sc-cli = '0.8.0-rc2' -sc-client-api = '2.0.0-rc2' -sc-consensus = '0.8.0-rc2' -sc-executor = '0.8.0-rc2' -sc-network = '0.8.0-rc2' -sc-service = '0.8.0-rc2' -sc-transaction-pool = '2.0.0-rc2' -sp-api = '2.0.0-rc2' -sp-blockchain = '2.0.0-rc2' -sp-consensus = '0.8.0-rc2' -sp-consensus-pow = '0.8.0-rc2' -sp-core = '2.0.0-rc2' -sp-inherents = '2.0.0-rc2' -sp-runtime = '2.0.0-rc2' -sp-timestamp = '2.0.0-rc2' -sp-transaction-pool = '2.0.0-rc2' +sc-consensus-pow = '0.8.0-rc6' +sc-basic-authorship = '0.8.0-rc6' +sc-cli = '0.8.0-rc6' +sc-client-api = '2.0.0-rc6' +sc-consensus = '0.8.0-rc6' +sc-executor = '0.8.0-rc6' +sc-network = '0.8.0-rc6' +sc-service = '0.8.0-rc6' +sc-transaction-pool = '2.0.0-rc6' +sp-api = '2.0.0-rc6' +sp-blockchain = '2.0.0-rc6' +sp-consensus = '0.8.0-rc6' +sp-consensus-pow = '0.8.0-rc6' +sp-core = '2.0.0-rc6' +sp-inherents = '2.0.0-rc6' +sp-runtime = '2.0.0-rc6' +sp-timestamp = '2.0.0-rc6' +sp-transaction-pool = '2.0.0-rc6' sha3pow = {path = './sha3pow'} hex = "0.4" diff --git a/node/sha3pow/Cargo.toml b/node/sha3pow/Cargo.toml index a3c3d09..cd90317 100644 --- a/node/sha3pow/Cargo.toml +++ b/node/sha3pow/Cargo.toml @@ -2,17 +2,17 @@ authors = ['Anonymous'] edition = '2018' name = 'sha3pow' -version = '2.0.0-rc2' +version = '2.0.0-rc6' [dependencies] parity-scale-codec = '1.3.0' sha3 = "0.8" rand = { version = "0.7", features = ["small_rng"] } -sc-consensus = '0.8.0-rc2' -sc-consensus-pow = '0.8.0-rc2' -sc-client-api = '2.0.0-rc2' -sp-api = '2.0.0-rc2' -sp-blockchain = '2.0.0-rc2' -sp-consensus-pow = '0.8.0-rc2' -sp-core = '2.0.0-rc2' -sp-runtime = '2.0.0-rc2' +sc-consensus = '0.8.0-rc6' +sc-consensus-pow = '0.8.0-rc6' +sc-client-api = '2.0.0-rc6' +sp-api = '2.0.0-rc6' +sp-blockchain = '2.0.0-rc6' +sp-consensus-pow = '0.8.0-rc6' +sp-core = '2.0.0-rc6' +sp-runtime = '2.0.0-rc6' diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 90193e3..de5722f 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -4,12 +4,12 @@ edition = '2018' homepage = 'https://substrate.dev' name = 'utxo-runtime' repository = 'https://github.com/substrate-developers-hub/utxo-workshop' -version = '2.0.0-rc2' +version = '2.0.0-rc6' [dependencies.balances] default-features = false package = 'pallet-balances' -version = '2.0.0-rc2' +version = '2.0.0-rc6' [dependencies.codec] default-features = false @@ -19,11 +19,11 @@ version = '1.2.0' [dependencies.frame-executive] default-features = false -version = '2.0.0-rc2' +version = '2.0.0-rc6' [dependencies.frame-support] default-features = false -version = '2.0.0-rc2' +version = '2.0.0-rc6' [dependencies.serde] features = ['derive'] @@ -32,66 +32,65 @@ version = '1.0.101' [dependencies.sp-api] default-features = false -version = '2.0.0-rc2' +version = '2.0.0-rc6' [dependencies.sp-block-builder] default-features = false -version = '2.0.0-rc2' +version = '2.0.0-rc6' [dependencies.sp-consensus-pow] default-features = false -version = '0.8.0-rc2' +version = '0.8.0-rc6' [dependencies.sp-core] default-features = false -version = '2.0.0-rc2' +version = '2.0.0-rc6' [dependencies.sp-inherents] default-features = false -version = '2.0.0-rc2' +version = '2.0.0-rc6' [dependencies.sp-io] default-features = false -version = '2.0.0-rc2' +version = '2.0.0-rc6' [dependencies.sp-offchain] default-features = false -version = '2.0.0-rc2' +version = '2.0.0-rc6' [dependencies.sp-runtime] default-features = false -version = '2.0.0-rc2' +version = '2.0.0-rc6' [dependencies.sp-session] default-features = false -version = '2.0.0-rc2' +version = '2.0.0-rc6' [dependencies.sp-std] default-features = false -version = '2.0.0-rc2' +version = '2.0.0-rc6' [dependencies.sp-transaction-pool] default-features = false -version = '2.0.0-rc2' +version = '2.0.0-rc6' [dependencies.sp-version] default-features = false -version = '2.0.0-rc2' +version = '2.0.0-rc6' [dependencies.sudo] default-features = false package = 'pallet-sudo' -version = '2.0.0-rc2' +version = '2.0.0-rc6' -[dependencies.system] +[dependencies.frame-system] default-features = false -package = 'frame-system' -version = '2.0.0-rc2' +version = '2.0.0-rc6' [dependencies.timestamp] default-features = false package = 'pallet-timestamp' -version = '2.0.0-rc2' +version = '2.0.0-rc6' [dev-dependencies] hex-literal = "0.2.1" @@ -120,6 +119,6 @@ std = [ 'sp-transaction-pool/std', 'sp-version/std', 'sudo/std', - 'system/std', + 'frame-system/std', 'timestamp/std', ] diff --git a/runtime/src/block_author.rs b/runtime/src/block_author.rs index 32a2d59..944c094 100644 --- a/runtime/src/block_author.rs +++ b/runtime/src/block_author.rs @@ -7,14 +7,14 @@ use frame_support::{ decl_module, decl_storage, decl_error, ensure, weights::Weight, }; -use system::ensure_none; +use frame_system::ensure_none; use sp_inherents::{InherentIdentifier, InherentData, ProvideInherent, IsFatalError}; #[cfg(feature = "std")] use sp_inherents::ProvideInherentData; use codec::{Encode, Decode}; /// The pallet's configuration trait. Nothing to configure. -pub trait Trait: system::Trait {} +pub trait Trait: frame_system::Trait {} decl_error! { pub enum Error for Module { diff --git a/runtime/src/difficulty.rs b/runtime/src/difficulty.rs index 7a74841..62506b3 100644 --- a/runtime/src/difficulty.rs +++ b/runtime/src/difficulty.rs @@ -29,7 +29,7 @@ pub fn clamp(actual: u128, goal: u128, clamp_factor: u128) -> u128 { /// Pallet's configuration trait. /// Tightly coupled to the timestamp trait because we need it's timestamp information -pub trait Trait: system::Trait { +pub trait Trait: frame_system::Trait { /// A Source for timestamp data type TimeProvider: Time; /// The block time that the DAA will attempt to maintain diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index e5cdf28..9cfd45f 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -43,7 +43,7 @@ pub use balances::Call as BalancesCall; pub use sp_runtime::{Permill, Perbill}; pub use frame_support::{ StorageValue, construct_runtime, parameter_types, - dispatch::IsSubType, + dispatch::{Callable, IsSubType}, traits::Randomness, weights::{ constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, @@ -130,13 +130,15 @@ parameter_types! { pub const MaximumBlockWeight: Weight = 5 * WEIGHT_PER_SECOND; pub const AvailableBlockRatio: Perbill = Perbill::from_percent(75); // Assume 10% of weight for average on_initialize calls. - pub const MaximumExtrinsicWeight: Weight = AvailableBlockRatio::get() + pub MaximumExtrinsicWeight: Weight = AvailableBlockRatio::get() .saturating_sub(Perbill::from_percent(10)) * MaximumBlockWeight::get(); pub const MaximumBlockLength: u32 = 5 * 1024 * 1024; pub const Version: RuntimeVersion = VERSION; } -impl system::Trait for Runtime { +impl frame_system::Trait for Runtime { + /// The basic call filter to use in dispatchable. + type BaseCallFilter = (); /// The identifier used to distinguish between accounts. type AccountId = AccountId; /// The aggregated dispatch type that is available for extrinsics. @@ -189,6 +191,8 @@ impl system::Trait for Runtime { type OnKilledAccount = (); /// The data to be stored in an account. type AccountData = balances::AccountData; + /// Weight information for the extrinsics of this pallet. + type SystemWeightInfo = (); } parameter_types! { @@ -200,6 +204,7 @@ impl timestamp::Trait for Runtime { type Moment = u64; type OnTimestampSet = (); type MinimumPeriod = MinimumPeriod; + type WeightInfo = (); } parameter_types! { @@ -214,6 +219,7 @@ impl balances::Trait for Runtime { type DustRemoval = (); type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; + type WeightInfo = (); } impl sudo::Trait for Runtime { @@ -252,7 +258,7 @@ construct_runtime!( NodeBlock = opaque::Block, UncheckedExtrinsic = UncheckedExtrinsic { - System: system::{Module, Call, Config, Storage, Event}, + System: frame_system::{Module, Call, Config, Storage, Event}, Timestamp: timestamp::{Module, Call, Storage, Inherent}, //TODO Should we remove balance pallet? It isn't necessary and might be confusing // alongside the UTXO tokens. But it is darn convenient for testing a quick transaction. @@ -276,18 +282,18 @@ pub type SignedBlock = generic::SignedBlock; pub type BlockId = generic::BlockId; /// The SignedExtension to the basic transaction logic. pub type SignedExtra = ( - system::CheckTxVersion, - system::CheckGenesis, - system::CheckEra, - system::CheckNonce, - system::CheckWeight, + frame_system::CheckTxVersion, + frame_system::CheckGenesis, + frame_system::CheckEra, + frame_system::CheckNonce, + frame_system::CheckWeight, ); /// Unchecked extrinsic type as expected by this runtime. pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; /// Extrinsic type that has already been checked. pub type CheckedExtrinsic = generic::CheckedExtrinsic; /// Executive: handles dispatch to the various modules. -pub type Executive = frame_executive::Executive, Runtime, AllModules>; +pub type Executive = frame_executive::Executive, Runtime, AllModules>; impl_runtime_apis! { impl sp_api::Core for Runtime { @@ -343,7 +349,7 @@ impl_runtime_apis! { tx: ::Extrinsic, ) -> TransactionValidity { // Extrinsics representing UTXO transaction need some special handling - if let Some(&utxo::Call::spend(ref transaction)) = IsSubType::::is_sub_type(&tx.function) { + if let Some(&utxo::Call::spend(ref transaction)) = IsSubType::<>::Call>::is_sub_type(&tx.function) { match Utxo::validate_transaction(&transaction) { // Transaction verification failed Err(e) => { diff --git a/runtime/src/utxo.rs b/runtime/src/utxo.rs index 39aaab5..e9658c8 100644 --- a/runtime/src/utxo.rs +++ b/runtime/src/utxo.rs @@ -19,15 +19,15 @@ use sp_runtime::{ }; use super::{block_author::BlockAuthor, issuance::Issuance}; -pub trait Trait: system::Trait { +pub trait Trait: frame_system::Trait { /// The ubiquitous Event type - type Event: From + Into<::Event>; + type Event: From + Into<::Event>; /// A source to determine the block author type BlockAuthor: BlockAuthor; /// A source to determine the issuance portion of the block reward - type Issuance: Issuance<::BlockNumber, Value>; + type Issuance: Issuance<::BlockNumber, Value>; } pub type Value = u128; @@ -242,7 +242,7 @@ impl Module { /// Redistribute combined reward value to block Author fn disperse_reward(author: &Public) { - let reward = RewardTotal::take() + T::Issuance::issuance(system::Module::::block_number()); + let reward = RewardTotal::take() + T::Issuance::issuance(frame_system::Module::::block_number()); let utxo = TransactionOutput { value: reward, @@ -250,7 +250,7 @@ impl Module { }; let hash = BlakeTwo256::hash_of(&(&utxo, - >::block_number().saturated_into::())); + >::block_number().saturated_into::())); ::insert(hash, utxo); Self::deposit_event(Event::RewardsIssued(reward, hash)); @@ -303,7 +303,7 @@ mod tests { pub const MaximumBlockLength: u32 = 2 * 1024; pub const AvailableBlockRatio: Perbill = Perbill::from_percent(75); } - impl system::Trait for Test { + impl frame_system::Trait for Test { type Origin = Origin; type Call = (); type Index = u64; @@ -327,6 +327,7 @@ mod tests { type AccountData = (); type OnNewAccount = (); type OnKilledAccount = (); + type SystemWeightInfo = (); } impl Trait for Test { From 17405006b3b95929be9157d6773f3ff38018a630 Mon Sep 17 00:00:00 2001 From: Joshy Orndorff Date: Fri, 21 Aug 2020 00:13:56 -0400 Subject: [PATCH 02/11] Sha3 mining algo compiles --- node/sha3pow/src/lib.rs | 4 + node/src/command.rs | 48 +++--- node/src/service.rs | 318 ++++++++++++++++++++++++---------------- 3 files changed, 223 insertions(+), 147 deletions(-) diff --git a/node/sha3pow/src/lib.rs b/node/sha3pow/src/lib.rs index 118835c..2fa0877 100644 --- a/node/sha3pow/src/lib.rs +++ b/node/sha3pow/src/lib.rs @@ -70,6 +70,7 @@ impl> PowAlgorithm for MinimalSha3Algorithm { &self, _parent: &BlockId, pre_hash: &H256, + _pre_digest: Option<&[u8]>, seal: &RawSeal, difficulty: Self::Difficulty ) -> Result> { @@ -102,6 +103,7 @@ impl> PowAlgorithm for MinimalSha3Algorithm { &self, _parent: &BlockId, pre_hash: &H256, + _pre_digest: Option<&[u8]>, difficulty: Self::Difficulty, round: u32 // The number of nonces to try during this call ) -> Result, Error> { @@ -175,6 +177,7 @@ impl, C> PowAlgorithm for Sha3Algorithm where &self, _parent: &BlockId, pre_hash: &H256, + _pre_digest: Option<&[u8]>, seal: &RawSeal, difficulty: Self::Difficulty ) -> Result> { @@ -207,6 +210,7 @@ impl, C> PowAlgorithm for Sha3Algorithm where &self, _parent: &BlockId, pre_hash: &H256, + _pre_digest: Option<&[u8]>, difficulty: Self::Difficulty, round: u32 // The number of nonces to try during this call ) -> Result, Error> { diff --git a/node/src/command.rs b/node/src/command.rs index 55f4f57..de9fa0d 100644 --- a/node/src/command.rs +++ b/node/src/command.rs @@ -20,28 +20,28 @@ use crate::chain_spec; use crate::cli::Cli; impl SubstrateCli for Cli { - fn impl_name() -> &'static str { - "Substrate Node" + fn impl_name() -> String { + "Substrate Node".into() } - fn impl_version() -> &'static str { - env!("SUBSTRATE_CLI_IMPL_VERSION") + fn impl_version() -> String { + env!("SUBSTRATE_CLI_IMPL_VERSION").into() } - fn executable_name() -> &'static str { - env!("CARGO_PKG_NAME") + fn executable_name() -> String { + env!("CARGO_PKG_NAME").into() } - fn author() -> &'static str { - env!("CARGO_PKG_AUTHORS") + fn author() -> String { + env!("CARGO_PKG_AUTHORS").into() } - fn description() -> &'static str { - env!("CARGO_PKG_DESCRIPTION") + fn description() -> String { + env!("CARGO_PKG_DESCRIPTION").into() } - fn support_url() -> &'static str { - "support.anonymous.an" + fn support_url() -> String { + "support.anonymous.an".into() } fn copyright_start_year() -> i32 { @@ -57,6 +57,10 @@ impl SubstrateCli for Cli { )?), }) } + + fn native_runtime_version(_: &Box) -> &'static RuntimeVersion { + &runtime::VERSION + } } /// Parse and run command line arguments @@ -67,21 +71,19 @@ pub fn run() -> sc_cli::Result<()> { match &cli.subcommand { Some(subcommand) => { let runner = cli.create_runner(subcommand)?; - - runner.run_subcommand( - subcommand, - |config| Ok(new_full_start!(config, default_sr25519_public_key).0), - ) + runner.run_subcommand(subcommand, |config| { + let (ServiceParams { client, backend, task_manager, import_queue, .. }, ..) + = new_full_params(config)?; + Ok((client, backend, import_queue, task_manager)) + }) }, None => { let sr25519_public_key = cli.run.sr25519_public_key.unwrap_or(default_sr25519_public_key); let runner = cli.create_runner(&cli.run.base)?; - - runner.run_node( - |config| service::new_light(config, sr25519_public_key), - |config| service::new_full(config, sr25519_public_key), - utxo_runtime::VERSION, - ) + runner.run_node_until_exit(|config| match config.role { + Role::Light => service::new_light(config, sr25519_public_key), + _ => service::new_full(config, sr25519_public_key), + }) }, } } diff --git a/node/src/service.rs b/node/src/service.rs index 256a54a..dbb3706 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -29,8 +29,6 @@ pub fn build_inherent_data_providers(sr25519_public_key: sr25519::Public) -> Res .map_err(Into::into) .map_err(sp_consensus::error::Error::InherentData)?; - - //if let Some(author) = author providers .register_provider(utxo_runtime::block_author::InherentDataProvider( sr25519_public_key.encode(), @@ -41,158 +39,230 @@ pub fn build_inherent_data_providers(sr25519_public_key: sr25519::Public) -> Res Ok(providers) } -/// Starts a `ServiceBuilder` for a full service. -/// -/// Use this macro if you don't actually need the full service, but just the builder in order to -/// be able to perform chain operations. -macro_rules! new_full_start { - ($config:expr, $sr25519_public_key:expr) => {{ - let mut import_setup = None; - let inherent_data_providers = crate::service::build_inherent_data_providers($sr25519_public_key)?; - - let builder = sc_service::ServiceBuilder::new_full::< - utxo_runtime::opaque::Block, utxo_runtime::RuntimeApi, crate::service::Executor - >($config)? - .with_select_chain(|_config, backend| { - Ok(sc_consensus::LongestChain::new(backend.clone())) - })? - .with_transaction_pool(|config, client, _fetcher, prometheus_registry| { - let pool_api = sc_transaction_pool::FullChainApi::new(client.clone()); - Ok(sc_transaction_pool::BasicPool::new( - config, - std::sync::Arc::new(pool_api), - prometheus_registry, - )) - })? - .with_import_queue( - |_config, client, select_chain, _transaction_pool, spawn_task_handle, registry| { - - let pow_block_import = sc_consensus_pow::PowBlockImport::new( - client.clone(), - client.clone(), - sha3pow::Sha3Algorithm::new(client.clone()), - 0, // check inherents starting at block 0 - select_chain, - inherent_data_providers.clone(), - ); - - let import_queue = sc_consensus_pow::import_queue( - Box::new(pow_block_import.clone()), - None, - None, - sha3pow::Sha3Algorithm::new(client.clone()), - inherent_data_providers.clone(), - spawn_task_handle, - registry, - )?; - - import_setup = Some(pow_block_import); - - Ok(import_queue) - })?; - - (builder, import_setup, inherent_data_providers) - }} +type FullClient = sc_service::TFullClient; +type FullBackend = sc_service::TFullBackend; +type FullSelectChain = sc_consensus::LongestChain; +type OurServiceParams = sc_service::ServiceParams< + Block, FullClient, + BasicQueue>, + sc_transaction_pool::FullPool, + (), FullBackend, +>; +type PowBlockImport = sc_consensus_pow::PowBlockImport, FullClient, FullSelectChain, MinimalSha3Algorithm>; + +/// Returns most parts of a service. Not enough to run a full chain, +/// But enough to perform chain operations like purge-chain +pub fn new_full_params(config: Configuration) -> Result<( + OurServiceParams, + FullSelectChain, + sp_inherents::InherentDataProviders, + PowBlockImport, +), ServiceError> { + let inherent_data_providers = build_inherent_data_providers()?; + + let (client, backend, keystore, task_manager) = + sc_service::new_full_parts::(&config)?; + let client = Arc::new(client); + + let select_chain = sc_consensus::LongestChain::new(backend.clone()); + + let pool_api = sc_transaction_pool::FullChainApi::new( + client.clone(), config.prometheus_registry(), + ); + let transaction_pool = sc_transaction_pool::BasicPool::new_full( + config.transaction_pool.clone(), + std::sync::Arc::new(pool_api), + config.prometheus_registry(), + task_manager.spawn_handle(), + client.clone(), + ); + + let pow_block_import = sc_consensus_pow::PowBlockImport::new( + client.clone(), + client.clone(), + sha3pow::MinimalSha3Algorithm, + 0, // check inherents starting at block 0 + Some(select_chain.clone()), + inherent_data_providers.clone(), + ); + + let import_queue = sc_consensus_pow::import_queue( + Box::new(pow_block_import.clone()), + None, + None, + sha3pow::MinimalSha3Algorithm, + inherent_data_providers.clone(), + &task_manager.spawn_handle(), + config.prometheus_registry(), + )?; + + let params = sc_service::ServiceParams { + backend, client, import_queue, keystore, task_manager, transaction_pool, + config, + block_announce_validator_builder: None, + finality_proof_request_builder: None, + finality_proof_provider: None, + on_demand: None, + remote_blockchain: None, + rpc_extensions_builder: Box::new(|_| ()), + }; + + Ok(( + params, select_chain, inherent_data_providers, pow_block_import + )) } +// macro_rules! new_full_start { +// ($config:expr, $sr25519_public_key:expr) => {{ +// let mut import_setup = None; +// let inherent_data_providers = crate::service::build_inherent_data_providers($sr25519_public_key)?; +// +// let builder = sc_service::ServiceBuilder::new_full::< +// utxo_runtime::opaque::Block, utxo_runtime::RuntimeApi, crate::service::Executor +// >($config)? +// .with_select_chain(|_config, backend| { +// Ok(sc_consensus::LongestChain::new(backend.clone())) +// })? +// .with_transaction_pool(|config, client, _fetcher, prometheus_registry| { +// let pool_api = sc_transaction_pool::FullChainApi::new(client.clone()); +// Ok(sc_transaction_pool::BasicPool::new( +// config, +// std::sync::Arc::new(pool_api), +// prometheus_registry, +// )) +// })? +// .with_import_queue( +// |_config, client, select_chain, _transaction_pool, spawn_task_handle, registry| { +// +// let pow_block_import = sc_consensus_pow::PowBlockImport::new( +// client.clone(), +// client.clone(), +// sha3pow::Sha3Algorithm::new(client.clone()), +// 0, // check inherents starting at block 0 +// select_chain, +// inherent_data_providers.clone(), +// ); +// +// let import_queue = sc_consensus_pow::import_queue( +// Box::new(pow_block_import.clone()), +// None, +// None, +// sha3pow::Sha3Algorithm::new(client.clone()), +// inherent_data_providers.clone(), +// spawn_task_handle, +// registry, +// )?; +// +// import_setup = Some(pow_block_import); +// +// Ok(import_queue) +// })?; +// +// (builder, import_setup, inherent_data_providers) +// }} +// } + /// Builds a new service for a full client. -pub fn new_full(config: Configuration, sr25519_public_key: sr25519::Public) - -> Result -{ - let participates_in_consensus = config.role.is_authority(); +pub fn new_full(config: Configuration) -> Result { + let (params, select_chain, inherent_data_providers, block_import) = new_full_params(config)?; - let (builder, mut import_setup, inherent_data_providers) = new_full_start!(config, sr25519_public_key); - let block_import = import_setup.take() - .expect("Block Import is present for Full Services or setup failed before. qed"); + let ( + participates_in_consensus, prometheus_registry, client, transaction_pool + ) = { + let sc_service::ServiceParams { + config, client, transaction_pool, .. + } = ¶ms; - let service = builder.build()?; + ( + config.role.is_authority(), + config.prometheus_registry().cloned(), + client.clone(), + transaction_pool.clone(), + ) + }; + + let ServiceComponents { task_manager, network, .. } = sc_service::build(params)?; if participates_in_consensus { let proposer = sc_basic_authorship::ProposerFactory::new( - service.client(), - service.transaction_pool(), - service.prometheus_registry().as_ref(), + client.clone(), + transaction_pool, + prometheus_registry.as_ref(), ); // The number of rounds of mining to try in a single call let rounds = 500; - let client = service.client(); - let select_chain = service.select_chain() - .ok_or(ServiceError::SelectChainRequired)?; - let can_author_with = sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()); sc_consensus_pow::start_mine( Box::new(block_import), - client.clone(), - Sha3Algorithm::new(client.clone()), + client, + MinimalSha3Algorithm, proposer, None, // No preruntime digests rounds, - service.network(), + network, std::time::Duration::new(2, 0), // Choosing not to supply a select_chain means we will use the client's // possibly-outdated metadata when fetching the block to mine on Some(select_chain), - inherent_data_providers.clone(), + inherent_data_providers, can_author_with, ); } - Ok(service) + Ok(task_manager) } /// Builds a new service for a light client. -pub fn new_light(config: Configuration, sr25519_public_key: sr25519::Public) - -> Result -{ - ServiceBuilder::new_light::(config)? - .with_select_chain(|_config, backend| { - Ok(LongestChain::new(backend.clone())) - })? - .with_transaction_pool(|config, client, fetcher, prometheus_registry| { - let fetcher = fetcher - .ok_or_else(|| "Trying to start light transaction pool without active fetcher")?; - - let pool_api = sc_transaction_pool::LightChainApi::new(client.clone(), fetcher.clone()); - let pool = sc_transaction_pool::BasicPool::with_revalidation_type( - config, - Arc::new(pool_api), - prometheus_registry, - sc_transaction_pool::RevalidationType::Light, - ); - Ok(pool) - })? - .with_import_queue_and_fprb( - |_config, client, _backend, _fetcher, select_chain, _tx_pool, spawn_task_handle, registry| { - let finality_proof_request_builder = - Box::new(DummyFinalityProofRequestBuilder::default()) as Box<_>; - - let pow_block_import = sc_consensus_pow::PowBlockImport::new( - client.clone(), - client.clone(), - Sha3Algorithm::new(client.clone()), - 0, // check_inherents_after, - select_chain, - build_inherent_data_providers(sr25519_public_key)?, - ); - - let import_queue = sc_consensus_pow::import_queue( - Box::new(pow_block_import), - None, - None, - Sha3Algorithm::new(client), - build_inherent_data_providers(sr25519_public_key)?, - spawn_task_handle, - registry, - )?; - - Ok((import_queue, finality_proof_request_builder)) - })? - .with_finality_proof_provider(|_client, _backend| - Ok(Arc::new(()) as _) - )? - .build() +pub fn new_light(config: Configuration) -> Result { + let (client, backend, keystore, task_manager, on_demand) = + sc_service::new_light_parts::(&config)?; + + let transaction_pool_api = Arc::new(sc_transaction_pool::LightChainApi::new( + client.clone(), on_demand.clone(), + )); + let transaction_pool = sc_transaction_pool::BasicPool::new_light( + config.transaction_pool.clone(), + transaction_pool_api, + config.prometheus_registry(), + task_manager.spawn_handle(), + ); + + let select_chain = sc_consensus::LongestChain::new(backend.clone()); + let inherent_data_providers = build_inherent_data_providers()?; + + let pow_block_import = sc_consensus_pow::PowBlockImport::new( + client.clone(), + client.clone(), + sha3pow::MinimalSha3Algorithm, + 0, // check inherents starting at block 0 + Some(select_chain), + inherent_data_providers.clone(), + ); + + let import_queue = sc_consensus_pow::import_queue( + Box::new(pow_block_import), + None, + None, + sha3pow::MinimalSha3Algorithm, + inherent_data_providers, + &task_manager.spawn_handle(), + config.prometheus_registry(), + )?; + + let fprb = Box::new(DummyFinalityProofRequestBuilder::default()) as Box<_>; + + sc_service::build(sc_service::ServiceParams { + block_announce_validator_builder: None, + finality_proof_request_builder: Some(fprb), + finality_proof_provider: None, + on_demand: Some(on_demand), + remote_blockchain: Some(backend.remote_blockchain()), + rpc_extensions_builder: Box::new(|_| ()), + transaction_pool: Arc::new(transaction_pool), + config, client, import_queue, keystore, backend, task_manager + }).map(|ServiceComponents { task_manager, .. }| task_manager) } From bf2a77a10609af439dc1a1544e8e1339933d8a3b Mon Sep 17 00:00:00 2001 From: Joshy Orndorff Date: Fri, 21 Aug 2020 01:37:36 -0400 Subject: [PATCH 03/11] fix chain spec --- node/src/chain_spec.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/node/src/chain_spec.rs b/node/src/chain_spec.rs index 5dfe08f..646e070 100644 --- a/node/src/chain_spec.rs +++ b/node/src/chain_spec.rs @@ -107,7 +107,7 @@ fn testnet_genesis( println!("NEW UTXO HASH in UTXOStore onchain: 0xdbc75ab8ee9b83dcbcea4695f9c42754d94e92c3c397d63b1bc627c2a2ef94e6\n"); GenesisConfig { - system: Some(SystemConfig { + frame_system: Some(SystemConfig { code: WASM_BINARY.to_vec(), changes_trie_config: Default::default(), }), From de9a63c33bf92859a4ce5b74cc48051d44e8a615 Mon Sep 17 00:00:00 2001 From: Joshy Orndorff Date: Fri, 21 Aug 2020 01:37:58 -0400 Subject: [PATCH 04/11] clean command --- node/src/command.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/node/src/command.rs b/node/src/command.rs index de9fa0d..33d6aea 100644 --- a/node/src/command.rs +++ b/node/src/command.rs @@ -14,10 +14,12 @@ // You should have received a copy of the GNU General Public License // along with Substrate. If not, see . -use sc_cli::{SubstrateCli}; use crate::service; use crate::chain_spec; use crate::cli::Cli; +use sc_cli::{SubstrateCli, RuntimeVersion, Role, ChainSpec}; +use sc_service::PartialComponents; +use crate::service::new_partial; impl SubstrateCli for Cli { fn impl_name() -> String { @@ -59,7 +61,7 @@ impl SubstrateCli for Cli { } fn native_runtime_version(_: &Box) -> &'static RuntimeVersion { - &runtime::VERSION + &utxo_runtime::VERSION } } @@ -72,8 +74,8 @@ pub fn run() -> sc_cli::Result<()> { Some(subcommand) => { let runner = cli.create_runner(subcommand)?; runner.run_subcommand(subcommand, |config| { - let (ServiceParams { client, backend, task_manager, import_queue, .. }, ..) - = new_full_params(config)?; + let PartialComponents { client, backend, task_manager, import_queue, .. } + = new_partial(config)?; Ok((client, backend, import_queue, task_manager)) }) }, From 41f7cf00029c65f6d171908ecd49dcb33050f147 Mon Sep 17 00:00:00 2001 From: Joshy Orndorff Date: Fri, 21 Aug 2020 01:40:11 -0400 Subject: [PATCH 05/11] Try to figure out concrete type of `PowBlockImport`. --- node/src/service.rs | 236 ++++++++++++++++++++++---------------------- 1 file changed, 117 insertions(+), 119 deletions(-) diff --git a/node/src/service.rs b/node/src/service.rs index dbb3706..b4e8259 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -1,10 +1,9 @@ //! Service and ServiceFactory implementation. Specialized wrapper over substrate service. use std::sync::Arc; -use sc_consensus::LongestChain; use sc_client_api::ExecutorProvider; use utxo_runtime::{self, opaque::Block, RuntimeApi}; -use sc_service::{error::{Error as ServiceError}, AbstractService, Configuration, ServiceBuilder}; +use sc_service::{error::Error as ServiceError, Configuration, PartialComponents, TaskManager}; use sp_inherents::InherentDataProviders; use sc_executor::native_executor_instance; pub use sc_executor::NativeExecutor; @@ -13,6 +12,8 @@ use sc_network::{config::DummyFinalityProofRequestBuilder}; use core::clone::Clone; use sp_core::sr25519; use parity_scale_codec::Encode; +use sp_consensus::{import_queue::BasicQueue, CanAuthorWithNativeVersion}; +use sp_api::TransactionFor; // Our native executor instance. native_executor_instance!( @@ -42,23 +43,21 @@ pub fn build_inherent_data_providers(sr25519_public_key: sr25519::Public) -> Res type FullClient = sc_service::TFullClient; type FullBackend = sc_service::TFullBackend; type FullSelectChain = sc_consensus::LongestChain; -type OurServiceParams = sc_service::ServiceParams< - Block, FullClient, - BasicQueue>, - sc_transaction_pool::FullPool, - (), FullBackend, ->; -type PowBlockImport = sc_consensus_pow::PowBlockImport, FullClient, FullSelectChain, MinimalSha3Algorithm>; +type PowBlockImport = sc_consensus_pow::PowBlockImport, FullClient, FullSelectChain, Sha3Algorithm, CanAuthorWithNativeVersion>; +// HELP NEEDED! --> What type is supposed to go here?? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + /// Returns most parts of a service. Not enough to run a full chain, /// But enough to perform chain operations like purge-chain -pub fn new_full_params(config: Configuration) -> Result<( - OurServiceParams, - FullSelectChain, - sp_inherents::InherentDataProviders, - PowBlockImport, -), ServiceError> { - let inherent_data_providers = build_inherent_data_providers()?; +pub fn new_partial(config: &Configuration, sr25519_public_key: sr25519::Public) -> Result< + PartialComponents< + FullClient, FullBackend, FullSelectChain, + BasicQueue>, + sc_transaction_pool::FullPool, + PowBlockImport, + >, +ServiceError> { + let inherent_data_providers = build_inherent_data_providers(sr25519_public_key)?; let (client, backend, keystore, task_manager) = sc_service::new_full_parts::(&config)?; @@ -66,124 +65,87 @@ pub fn new_full_params(config: Configuration) -> Result<( let select_chain = sc_consensus::LongestChain::new(backend.clone()); - let pool_api = sc_transaction_pool::FullChainApi::new( - client.clone(), config.prometheus_registry(), - ); let transaction_pool = sc_transaction_pool::BasicPool::new_full( config.transaction_pool.clone(), - std::sync::Arc::new(pool_api), config.prometheus_registry(), task_manager.spawn_handle(), client.clone(), ); + let can_author_with = + sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()); + let pow_block_import = sc_consensus_pow::PowBlockImport::new( client.clone(), client.clone(), - sha3pow::MinimalSha3Algorithm, + Sha3Algorithm::new(client.clone()), 0, // check inherents starting at block 0 Some(select_chain.clone()), inherent_data_providers.clone(), + can_author_with, ); let import_queue = sc_consensus_pow::import_queue( Box::new(pow_block_import.clone()), None, None, - sha3pow::MinimalSha3Algorithm, + Sha3Algorithm::new(client.clone()), inherent_data_providers.clone(), &task_manager.spawn_handle(), config.prometheus_registry(), )?; - let params = sc_service::ServiceParams { + Ok(PartialComponents { backend, client, import_queue, keystore, task_manager, transaction_pool, - config, - block_announce_validator_builder: None, - finality_proof_request_builder: None, - finality_proof_provider: None, - on_demand: None, - remote_blockchain: None, - rpc_extensions_builder: Box::new(|_| ()), - }; - - Ok(( - params, select_chain, inherent_data_providers, pow_block_import - )) + select_chain, inherent_data_providers, + other: pow_block_import, + }) } -// macro_rules! new_full_start { -// ($config:expr, $sr25519_public_key:expr) => {{ -// let mut import_setup = None; -// let inherent_data_providers = crate::service::build_inherent_data_providers($sr25519_public_key)?; -// -// let builder = sc_service::ServiceBuilder::new_full::< -// utxo_runtime::opaque::Block, utxo_runtime::RuntimeApi, crate::service::Executor -// >($config)? -// .with_select_chain(|_config, backend| { -// Ok(sc_consensus::LongestChain::new(backend.clone())) -// })? -// .with_transaction_pool(|config, client, _fetcher, prometheus_registry| { -// let pool_api = sc_transaction_pool::FullChainApi::new(client.clone()); -// Ok(sc_transaction_pool::BasicPool::new( -// config, -// std::sync::Arc::new(pool_api), -// prometheus_registry, -// )) -// })? -// .with_import_queue( -// |_config, client, select_chain, _transaction_pool, spawn_task_handle, registry| { -// -// let pow_block_import = sc_consensus_pow::PowBlockImport::new( -// client.clone(), -// client.clone(), -// sha3pow::Sha3Algorithm::new(client.clone()), -// 0, // check inherents starting at block 0 -// select_chain, -// inherent_data_providers.clone(), -// ); -// -// let import_queue = sc_consensus_pow::import_queue( -// Box::new(pow_block_import.clone()), -// None, -// None, -// sha3pow::Sha3Algorithm::new(client.clone()), -// inherent_data_providers.clone(), -// spawn_task_handle, -// registry, -// )?; -// -// import_setup = Some(pow_block_import); -// -// Ok(import_queue) -// })?; -// -// (builder, import_setup, inherent_data_providers) -// }} -// } - /// Builds a new service for a full client. -pub fn new_full(config: Configuration) -> Result { - let (params, select_chain, inherent_data_providers, block_import) = new_full_params(config)?; - - let ( - participates_in_consensus, prometheus_registry, client, transaction_pool - ) = { - let sc_service::ServiceParams { - config, client, transaction_pool, .. - } = ¶ms; - - ( - config.role.is_authority(), - config.prometheus_registry().cloned(), - client.clone(), - transaction_pool.clone(), - ) - }; +pub fn new_full(config: Configuration, sr25519_public_key: sr25519::Public) -> Result { + let sc_service::PartialComponents { + client, backend, mut task_manager, import_queue, keystore, select_chain, transaction_pool, + inherent_data_providers, + other: pow_block_import, + } = new_partial(&config, sr25519_public_key)?; + + let (network, network_status_sinks, system_rpc_tx, network_starter) = + sc_service::build_network(sc_service::BuildNetworkParams { + config: &config, + client: client.clone(), + transaction_pool: transaction_pool.clone(), + spawn_handle: task_manager.spawn_handle(), + import_queue, + on_demand: None, + block_announce_validator_builder: None, + finality_proof_request_builder: None, + finality_proof_provider: None, + })?; + + let role = config.role.clone(); + let force_authoring = config.force_authoring; + let name = config.network.node_name.clone(); + let enable_grandpa = !config.disable_grandpa; + let prometheus_registry = config.prometheus_registry().cloned(); + let telemetry_connection_sinks = sc_service::TelemetryConnectionSinks::default(); + + sc_service::spawn_tasks(sc_service::SpawnTasksParams { + network: network.clone(), + client: client.clone(), + keystore: keystore.clone(), + task_manager: &mut task_manager, + transaction_pool: transaction_pool.clone(), + telemetry_connection_sinks: telemetry_connection_sinks.clone(), + rpc_extensions_builder: Box::new(|_, _| ()), + on_demand: None, + remote_blockchain: None, + backend, network_status_sinks, system_rpc_tx, config, + })?; - let ServiceComponents { task_manager, network, .. } = sc_service::build(params)?; - if participates_in_consensus { + + if config.role.is_authority() { let proposer = sc_basic_authorship::ProposerFactory::new( client.clone(), transaction_pool, @@ -197,9 +159,9 @@ pub fn new_full(config: Configuration) -> Result { sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()); sc_consensus_pow::start_mine( - Box::new(block_import), + Box::new(pow_block_import), client, - MinimalSha3Algorithm, + Sha3Algorithm::new(client.clone()), proposer, None, // No preruntime digests rounds, @@ -217,7 +179,7 @@ pub fn new_full(config: Configuration) -> Result { } /// Builds a new service for a light client. -pub fn new_light(config: Configuration) -> Result { +pub fn new_light(config: Configuration, sr25519_public_key: sr25519::Public) -> Result { let (client, backend, keystore, task_manager, on_demand) = sc_service::new_light_parts::(&config)?; @@ -232,22 +194,25 @@ pub fn new_light(config: Configuration) -> Result { ); let select_chain = sc_consensus::LongestChain::new(backend.clone()); - let inherent_data_providers = build_inherent_data_providers()?; + let inherent_data_providers = build_inherent_data_providers(sr25519_public_key)?; + let can_author_with = + sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()); let pow_block_import = sc_consensus_pow::PowBlockImport::new( client.clone(), client.clone(), - sha3pow::MinimalSha3Algorithm, + Sha3Algorithm::new(client.clone()), 0, // check inherents starting at block 0 Some(select_chain), inherent_data_providers.clone(), + can_author_with, ); let import_queue = sc_consensus_pow::import_queue( Box::new(pow_block_import), None, None, - sha3pow::MinimalSha3Algorithm, + Sha3Algorithm::new(client.clone()), inherent_data_providers, &task_manager.spawn_handle(), config.prometheus_registry(), @@ -255,14 +220,47 @@ pub fn new_light(config: Configuration) -> Result { let fprb = Box::new(DummyFinalityProofRequestBuilder::default()) as Box<_>; - sc_service::build(sc_service::ServiceParams { - block_announce_validator_builder: None, - finality_proof_request_builder: Some(fprb), - finality_proof_provider: None, - on_demand: Some(on_demand), + // sc_service::build(sc_service::ServiceParams { + // block_announce_validator_builder: None, + // finality_proof_request_builder: Some(fprb), + // finality_proof_provider: None, + // on_demand: Some(on_demand), + // remote_blockchain: Some(backend.remote_blockchain()), + // rpc_extensions_builder: Box::new(|_| ()), + // transaction_pool: Arc::new(transaction_pool), + // config, client, import_queue, keystore, backend, task_manager + // }).map(|PartialComponents { task_manager, .. }| task_manager) + + let (network, network_status_sinks, system_rpc_tx, network_starter) = + sc_service::build_network(sc_service::BuildNetworkParams { + config: &config, + client: client.clone(), + transaction_pool: transaction_pool.clone(), + spawn_handle: task_manager.spawn_handle(), + import_queue, + on_demand: Some(on_demand.clone()), + block_announce_validator_builder: None, + finality_proof_request_builder: Some(fprb), + finality_proof_provider: None, + })?; + + sc_service::spawn_tasks(sc_service::SpawnTasksParams { remote_blockchain: Some(backend.remote_blockchain()), - rpc_extensions_builder: Box::new(|_| ()), - transaction_pool: Arc::new(transaction_pool), - config, client, import_queue, keystore, backend, task_manager - }).map(|ServiceComponents { task_manager, .. }| task_manager) + transaction_pool, + task_manager: &mut task_manager, + on_demand: Some(on_demand), + rpc_extensions_builder: Box::new(|_, _| ()), + telemetry_connection_sinks: sc_service::TelemetryConnectionSinks::default(), + config, + client, + keystore, + backend, + network, + network_status_sinks, + system_rpc_tx, + })?; + + network_starter.start_network(); + + Ok(task_manager) } From 1dbd0836ccfc9a8f36f7f1f8773be73e4318032a Mon Sep 17 00:00:00 2001 From: Addie Wagenknecht Date: Fri, 21 Aug 2020 08:48:46 +0200 Subject: [PATCH 06/11] Update README.md text minor reworks --- README.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index d794adf..883b4e9 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,19 @@ # UTXO on Substrate -A UTXO chain implementation on Substrate, with two self-guided workshops.Original [UXTO inspiration](https://github.com/0x7CFE/substrate-node-template/tree/utxo) by [Dmitriy Kashitsyn](https://github.com/0x7CFE). +A UTXO chain implementation on Substrate, with two self-guided workshops. Original [UXTO inspiration](https://github.com/0x7CFE/substrate-node-template/tree/utxo) by [Dmitriy Kashitsyn](https://github.com/0x7CFE). Substrate Version: `2.0.0-rc6`. For educational purposes only. ## Table of Contents - [Installation](#Installation): Setting up Rust & Substrate dependencies -- [UI Demo](#UI-Demo): Demoing this UTXO implementation in a simple UI +- [UI Demo](#UI-Demo): Demo of UTXO implementation in a simple UI -- [Beginner Workshop](#Beginner-Workshop): A self guided, 1 hour workshop that familiarizes you with Substrate basics +- [Beginner Workshop](#Beginner-Workshop): A self guided, 1 hour workshop that familiarizes you with Substrate. -- [Advanced Workshop](#Advanced-Workshop): A self guided, 2 hour video tutorial, that teaches you how to build this UTXO blockchain from scratch +- [Advanced Workshop](#Advanced-Workshop): A self guided, 2 hour video tutorial, that teaches you how to build a UTXO blockchain from scratch. -- [Helpful Resources](#Helpful-Resources): Documentation and references if you get stuck in the workshops +- [Helpful Resources](#Helpful-Resources): Additional supporting documentation and references for troubleshooting. ## Installation @@ -43,11 +43,11 @@ git clone https://github.com/substrate-developer-hub/utxo-workshop.git In this UI demo, you will interact with the UTXO blockchain via the [Polkadot UI](https://substrate.dev/docs/en/development/front-end/polkadot-js). -The following demo takes you through a scenario where: +The following example takes you through a scenario where: - Alice already owns a UTXO of value 100 upon genesis - Alice sends Bob a UTXO with value 50, tipping the remainder to validators -1. Compile and build a release in dev mode +1. Compile and build a release in dev mode: ``` # Initialize your Wasm Build environment: ./scripts/init.sh @@ -64,11 +64,11 @@ cargo build --release ./target/release/utxo-workshop purge-chain --dev ``` -3. In the console, notice the helper printouts. In particular, notice the default account `Alice` was already has `100 UTXO` upon the genesis block. +3. In the console note the helper printouts. In particular, notice the default account `Alice` already has `100 UTXO` within the genesis block. -4. Open [Polkadot JS](https://polkadot.js.org/apps/#/settings), making sure the client is connected to your local node by going to Settings > General, and selecting `Local Node` in the `remote node` dropdown. +4. Open [Polkadot JS](https://polkadot.js.org/apps/#/settings) making sure the client is connected to your local node by going to Settings > General and selecting `Local Node` in the `remote node` dropdown. -5. **Declare the custom datatypes in PolkadotJS**, since the JS client cannot automatically infer this from the UTXO module. Go to Settings > Developer tab and paste in the following JSON: +5. **Declare custom datatypes in PolkadotJS** as the JS client cannot automatically infer this information from the UTXO module. To do this, go to Settings > Developer tab and paste in the following JSON: ```json { @@ -109,7 +109,7 @@ cargo build --release - value: `50` - pubkey: `0x8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48` - Send this as an `unsigned` transaction. With UTXO blockchains, the proof is already in the `sigscript` input. + Send as an `unsigned` transaction. With UTXO blockchains, the proof is already in the `sigscript` input. 8. **Verify that your transaction succeeded**. In `Chain State`, look up the newly created UTXO hash: `0xdbc75ab8ee9b83dcbcea4695f9c42754d94e92c3c397d63b1bc627c2a2ef94e6` to verify that a new UTXO of 50, belonging to Bob, now exists! Also you can verify that Alice's original UTXO has been spent and no longer exists in UtxoStore. @@ -118,12 +118,12 @@ cargo build --release ## Beginner Workshop **Estimated time**: 2 hours -In this workshop, you will: +In this workshop you will: - Get familiar with basic Rust and Substrate functionality - Prevent malicious users from sending bad UTXO transactions Your challenge is to fix the code such that: -1. The Rust compiler compiles without errors +1. The Rust compiler compiles without any errors 2. All tests in `utxo.rs` pass, ensuring secure transactions ### Directions @@ -134,7 +134,7 @@ git fetch origin workshop:workshop git checkout workshop ``` -2. Cd into the base directory. Try running the test with: `cargo test -p utxo-runtime`. +2. Cd into the base directory. Run the test using: `cargo test -p utxo-runtime`. ```zsh compiling utxo-runtime v2.0.0 (/Users/nicole/Desktop/utxo-workshop/runtime) From 3e89e25ff51f705a19bbde50cd396ed818187445 Mon Sep 17 00:00:00 2001 From: Joshy Orndorff Date: Fri, 21 Aug 2020 10:14:30 -0400 Subject: [PATCH 07/11] Compiles --- node/src/command.rs | 2 +- node/src/service.rs | 50 ++++++++++++++++----------------------------- 2 files changed, 19 insertions(+), 33 deletions(-) diff --git a/node/src/command.rs b/node/src/command.rs index 33d6aea..dbe993f 100644 --- a/node/src/command.rs +++ b/node/src/command.rs @@ -75,7 +75,7 @@ pub fn run() -> sc_cli::Result<()> { let runner = cli.create_runner(subcommand)?; runner.run_subcommand(subcommand, |config| { let PartialComponents { client, backend, task_manager, import_queue, .. } - = new_partial(config)?; + = new_partial(&config, default_sr25519_public_key)?; Ok((client, backend, import_queue, task_manager)) }) }, diff --git a/node/src/service.rs b/node/src/service.rs index b4e8259..aebd85c 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -12,8 +12,9 @@ use sc_network::{config::DummyFinalityProofRequestBuilder}; use core::clone::Clone; use sp_core::sr25519; use parity_scale_codec::Encode; -use sp_consensus::{import_queue::BasicQueue, CanAuthorWithNativeVersion}; +use sp_consensus::import_queue::BasicQueue; use sp_api::TransactionFor; +use sc_client_api::backend::RemoteBackend; // Our native executor instance. native_executor_instance!( @@ -43,9 +44,9 @@ pub fn build_inherent_data_providers(sr25519_public_key: sr25519::Public) -> Res type FullClient = sc_service::TFullClient; type FullBackend = sc_service::TFullBackend; type FullSelectChain = sc_consensus::LongestChain; -type PowBlockImport = sc_consensus_pow::PowBlockImport, FullClient, FullSelectChain, Sha3Algorithm, CanAuthorWithNativeVersion>; -// HELP NEEDED! --> What type is supposed to go here?? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +//TODO is this outrageous type definition the best way to handle this? +// type PowBlockImport = sc_consensus_pow::PowBlockImport, FullClient, FullSelectChain, Sha3Algorithm, impl sp_consensus::CanAuthorWith>; /// Returns most parts of a service. Not enough to run a full chain, /// But enough to perform chain operations like purge-chain @@ -54,14 +55,14 @@ pub fn new_partial(config: &Configuration, sr25519_public_key: sr25519::Public) FullClient, FullBackend, FullSelectChain, BasicQueue>, sc_transaction_pool::FullPool, - PowBlockImport, + sc_consensus_pow::PowBlockImport, FullClient, FullSelectChain, Sha3Algorithm, impl sp_consensus::CanAuthorWith>, >, ServiceError> { let inherent_data_providers = build_inherent_data_providers(sr25519_public_key)?; let (client, backend, keystore, task_manager) = sc_service::new_full_parts::(&config)?; - let client = Arc::new(client); + let client : std::sync::Arc<_> = Arc::new(client); let select_chain = sc_consensus::LongestChain::new(backend.clone()); @@ -96,7 +97,7 @@ ServiceError> { )?; Ok(PartialComponents { - backend, client, import_queue, keystore, task_manager, transaction_pool, + client, backend, import_queue, keystore, task_manager, transaction_pool, select_chain, inherent_data_providers, other: pow_block_import, }) @@ -110,7 +111,7 @@ pub fn new_full(config: Configuration, sr25519_public_key: sr25519::Public) -> R other: pow_block_import, } = new_partial(&config, sr25519_public_key)?; - let (network, network_status_sinks, system_rpc_tx, network_starter) = + let (network, network_status_sinks, system_rpc_tx, _network_starter) = sc_service::build_network(sc_service::BuildNetworkParams { config: &config, client: client.clone(), @@ -124,9 +125,6 @@ pub fn new_full(config: Configuration, sr25519_public_key: sr25519::Public) -> R })?; let role = config.role.clone(); - let force_authoring = config.force_authoring; - let name = config.network.node_name.clone(); - let enable_grandpa = !config.disable_grandpa; let prometheus_registry = config.prometheus_registry().cloned(); let telemetry_connection_sinks = sc_service::TelemetryConnectionSinks::default(); @@ -145,7 +143,7 @@ pub fn new_full(config: Configuration, sr25519_public_key: sr25519::Public) -> R - if config.role.is_authority() { + if role.is_authority() { let proposer = sc_basic_authorship::ProposerFactory::new( client.clone(), transaction_pool, @@ -160,7 +158,7 @@ pub fn new_full(config: Configuration, sr25519_public_key: sr25519::Public) -> R sc_consensus_pow::start_mine( Box::new(pow_block_import), - client, + client.clone(), Sha3Algorithm::new(client.clone()), proposer, None, // No preruntime digests @@ -180,18 +178,16 @@ pub fn new_full(config: Configuration, sr25519_public_key: sr25519::Public) -> R /// Builds a new service for a light client. pub fn new_light(config: Configuration, sr25519_public_key: sr25519::Public) -> Result { - let (client, backend, keystore, task_manager, on_demand) = + let (client, backend, keystore, mut task_manager, on_demand) = sc_service::new_light_parts::(&config)?; - let transaction_pool_api = Arc::new(sc_transaction_pool::LightChainApi::new( - client.clone(), on_demand.clone(), - )); - let transaction_pool = sc_transaction_pool::BasicPool::new_light( + let transaction_pool = Arc::new(sc_transaction_pool::BasicPool::new_light( config.transaction_pool.clone(), - transaction_pool_api, config.prometheus_registry(), task_manager.spawn_handle(), - ); + client.clone(), + on_demand.clone(), + )); let select_chain = sc_consensus::LongestChain::new(backend.clone()); let inherent_data_providers = build_inherent_data_providers(sr25519_public_key)?; @@ -205,7 +201,8 @@ pub fn new_light(config: Configuration, sr25519_public_key: sr25519::Public) -> 0, // check inherents starting at block 0 Some(select_chain), inherent_data_providers.clone(), - can_author_with, + // TODO what should I Really use here? This compiles, and the `can_author_with` from line 196 doesn't?? + sp_consensus::AlwaysCanAuthor, ); let import_queue = sc_consensus_pow::import_queue( @@ -213,24 +210,13 @@ pub fn new_light(config: Configuration, sr25519_public_key: sr25519::Public) -> None, None, Sha3Algorithm::new(client.clone()), - inherent_data_providers, + inherent_data_providers.clone(), &task_manager.spawn_handle(), config.prometheus_registry(), )?; let fprb = Box::new(DummyFinalityProofRequestBuilder::default()) as Box<_>; - // sc_service::build(sc_service::ServiceParams { - // block_announce_validator_builder: None, - // finality_proof_request_builder: Some(fprb), - // finality_proof_provider: None, - // on_demand: Some(on_demand), - // remote_blockchain: Some(backend.remote_blockchain()), - // rpc_extensions_builder: Box::new(|_| ()), - // transaction_pool: Arc::new(transaction_pool), - // config, client, import_queue, keystore, backend, task_manager - // }).map(|PartialComponents { task_manager, .. }| task_manager) - let (network, network_status_sinks, system_rpc_tx, network_starter) = sc_service::build_network(sc_service::BuildNetworkParams { config: &config, From 92a402393e01fbb628605079fe73ae31b5bc17db Mon Sep 17 00:00:00 2001 From: Joshy Orndorff Date: Fri, 21 Aug 2020 10:51:34 -0400 Subject: [PATCH 08/11] prune commented code --- node/src/service.rs | 3 --- 1 file changed, 3 deletions(-) diff --git a/node/src/service.rs b/node/src/service.rs index aebd85c..a0bfb58 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -45,9 +45,6 @@ type FullClient = sc_service::TFullClient; type FullBackend = sc_service::TFullBackend; type FullSelectChain = sc_consensus::LongestChain; -//TODO is this outrageous type definition the best way to handle this? -// type PowBlockImport = sc_consensus_pow::PowBlockImport, FullClient, FullSelectChain, Sha3Algorithm, impl sp_consensus::CanAuthorWith>; - /// Returns most parts of a service. Not enough to run a full chain, /// But enough to perform chain operations like purge-chain pub fn new_partial(config: &Configuration, sr25519_public_key: sr25519::Public) -> Result< From 3de8409b24e92a2f84529b431c01c0bb038fa4ca Mon Sep 17 00:00:00 2001 From: Joshy Orndorff Date: Fri, 21 Aug 2020 13:11:26 -0400 Subject: [PATCH 09/11] Prune init script and improve readme --- README.md | 26 +++++++++----------------- scripts/init.sh | 12 ------------ 2 files changed, 9 insertions(+), 29 deletions(-) delete mode 100755 scripts/init.sh diff --git a/README.md b/README.md index 883b4e9..99ad404 100644 --- a/README.md +++ b/README.md @@ -13,13 +13,13 @@ Substrate Version: `2.0.0-rc6`. For educational purposes only. - [Advanced Workshop](#Advanced-Workshop): A self guided, 2 hour video tutorial, that teaches you how to build a UTXO blockchain from scratch. -- [Helpful Resources](#Helpful-Resources): Additional supporting documentation and references for troubleshooting. +- [Helpful Resources](#Helpful-Resources): Additional supporting documentation and references for troubleshooting. ## Installation ### 1. Install or update Rust -```zsh +```bash curl https://sh.rustup.rs -sSf | sh # On Windows, download and run rustup-init.exe @@ -28,14 +28,13 @@ curl https://sh.rustup.rs -sSf | sh rustup update nightly rustup target add wasm32-unknown-unknown --toolchain nightly rustup update stable -cargo install --git https://github.com/alexcrichton/wasm-gc ``` ### 2. Clone this workshop Clone your copy of the workshop codebase -```zsh +```bash git clone https://github.com/substrate-developer-hub/utxo-workshop.git ``` @@ -47,28 +46,21 @@ The following example takes you through a scenario where: - Alice already owns a UTXO of value 100 upon genesis - Alice sends Bob a UTXO with value 50, tipping the remainder to validators -1. Compile and build a release in dev mode: -``` -# Initialize your Wasm Build environment: -./scripts/init.sh - -# Build Wasm and native code: +1. Compile and build a release node +```bash cargo build --release ``` -2. Start your node & start producing blocks: -```zsh -./target/release/utxo-workshop --dev - -# If you already modified state, run this to purge the chain -./target/release/utxo-workshop purge-chain --dev +2. Start a node. The `--dev` flag will start a single mining node, and the `--tmp` flag will start it in a new temporary directory. +```bash +./target/release/utxo-workshop --dev --tmp ``` 3. In the console note the helper printouts. In particular, notice the default account `Alice` already has `100 UTXO` within the genesis block. 4. Open [Polkadot JS](https://polkadot.js.org/apps/#/settings) making sure the client is connected to your local node by going to Settings > General and selecting `Local Node` in the `remote node` dropdown. -5. **Declare custom datatypes in PolkadotJS** as the JS client cannot automatically infer this information from the UTXO module. To do this, go to Settings > Developer tab and paste in the following JSON: +5. **Declare custom datatypes in PolkadotJS** as the frontend cannot automatically detect this information. To do this, go to Settings > Developer tab and paste in the following JSON: ```json { diff --git a/scripts/init.sh b/scripts/init.sh deleted file mode 100755 index 1405a41..0000000 --- a/scripts/init.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -set -e - -echo "*** Initializing WASM build environment" - -if [ -z $CI_PROJECT_NAME ] ; then - rustup update nightly - rustup update stable -fi - -rustup target add wasm32-unknown-unknown --toolchain nightly From b54d1420b017196c97f1ba2fc11c6ac15ef2388c Mon Sep 17 00:00:00 2001 From: Joshy Orndorff Date: Fri, 21 Aug 2020 14:26:14 -0400 Subject: [PATCH 10/11] prune unused MinimalSha3Algorithm --- node/sha3pow/src/lib.rs | 93 ----------------------------------------- 1 file changed, 93 deletions(-) diff --git a/node/sha3pow/src/lib.rs b/node/sha3pow/src/lib.rs index 2fa0877..1b3108a 100644 --- a/node/sha3pow/src/lib.rs +++ b/node/sha3pow/src/lib.rs @@ -52,92 +52,6 @@ impl Compute { } } -/// A minimal PoW algorithm that uses Sha3 hashing. -/// Difficulty is fixed at 1_000_000 -#[derive(Clone)] -pub struct MinimalSha3Algorithm; - -// Here we implement the general PowAlgorithm trait for our concrete Sha3Algorithm -impl> PowAlgorithm for MinimalSha3Algorithm { - type Difficulty = U256; - - fn difficulty(&self, _parent: B::Hash) -> Result> { - // Fixed difficulty hardcoded here - Ok(U256::from(1_000_000)) - } - - fn verify( - &self, - _parent: &BlockId, - pre_hash: &H256, - _pre_digest: Option<&[u8]>, - seal: &RawSeal, - difficulty: Self::Difficulty - ) -> Result> { - // Try to construct a seal object by decoding the raw seal given - let seal = match Seal::decode(&mut &seal[..]) { - Ok(seal) => seal, - Err(_) => return Ok(false), - }; - - // See whether the hash meets the difficulty requirement. If not, fail fast. - if !hash_meets_difficulty(&seal.work, difficulty) { - return Ok(false) - } - - // Make sure the provided work actually comes from the correct pre_hash - let compute = Compute { - difficulty, - pre_hash: *pre_hash, - nonce: seal.nonce, - }; - - if compute.compute() != seal { - return Ok(false) - } - - Ok(true) - } - - fn mine( - &self, - _parent: &BlockId, - pre_hash: &H256, - _pre_digest: Option<&[u8]>, - difficulty: Self::Difficulty, - round: u32 // The number of nonces to try during this call - ) -> Result, Error> { - // Get a randomness source from the environment; fail if one isn't available - let mut rng = SmallRng::from_rng(&mut thread_rng()) - .map_err(|e| Error::Environment(format!("Initialize RNG failed for mining: {:?}", e)))?; - - // Loop the specified number of times - for _ in 0..round { - - // Choose a new nonce - let nonce = H256::random_using(&mut rng); - - // Calculate the seal - let compute = Compute { - difficulty, - pre_hash: *pre_hash, - nonce, - }; - let seal = compute.compute(); - - // If we solved the PoW then return, otherwise loop again - if hash_meets_difficulty(&seal.work, difficulty) { - return Ok(Some(seal.encode())) - } - } - - // Tried the specified number of rounds and never found a solution - Ok(None) - } -} - - - /// A complete PoW Algorithm that uses Sha3 hashing. /// Needs a reference to the client so it can grab the difficulty from the runtime. pub struct Sha3Algorithm { @@ -242,10 +156,3 @@ impl, C> PowAlgorithm for Sha3Algorithm where Ok(None) } } - -#[test] -fn clone_works() { - let client = Arc::new(()); - let algo1 = Sha3Algorithm::<()>::new(client); - let algo2 = algo1.clone(); -} From faef7a6d503158f8df79c219c052132d60f49475 Mon Sep 17 00:00:00 2001 From: Joshy Orndorff Date: Fri, 21 Aug 2020 14:26:22 -0400 Subject: [PATCH 11/11] Fix tests --- runtime/src/utxo.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/runtime/src/utxo.rs b/runtime/src/utxo.rs index e9658c8..a2e7a8a 100644 --- a/runtime/src/utxo.rs +++ b/runtime/src/utxo.rs @@ -304,6 +304,7 @@ mod tests { pub const AvailableBlockRatio: Perbill = Perbill::from_percent(75); } impl frame_system::Trait for Test { + type BaseCallFilter = (); type Origin = Origin; type Call = (); type Index = u64; @@ -351,7 +352,7 @@ mod tests { let keystore = KeyStore::new(); // a key storage to store new key pairs during testing let alice_pub_key = keystore.write().sr25519_generate_new(SR25519, Some(ALICE_PHRASE)).unwrap(); - let mut t = system::GenesisConfig::default() + let mut t = frame_system::GenesisConfig::default() .build_storage::() .unwrap();