diff --git a/dns_utility/Cargo.lock b/dns_utility/Cargo.lock index acb79f75e..3d138a18d 100644 --- a/dns_utility/Cargo.lock +++ b/dns_utility/Cargo.lock @@ -4,50 +4,54 @@ version = 3 [[package]] name = "actix" -version = "0.7.9" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c616db5fa4b0c40702fb75201c2af7f8aa8f3a2e2c1dda3b0655772aa949666" +checksum = "3720d0064a0ce5c0de7bd93bdb0a6caebab2a9b5668746145d7b3b0c5da02914" dependencies = [ + "actix-rt", "actix_derive", "bitflags", "bytes", - "crossbeam-channel 0.3.9", - "failure", - "fnv", - "futures", - "libc", + "crossbeam-channel", + "futures-core", + "futures-sink", + "futures-task", + "futures-util", "log 0.4.8", - "parking_lot 0.7.1", - "smallvec", + "once_cell", + "parking_lot 0.11.2", + "pin-project-lite", + "smallvec 1.7.0", + "tokio", + "tokio-util", +] + +[[package]] +name = "actix-rt" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05c2f80ce8d0c990941c7a7a931f69fd0701b76d521f8d36298edf59cd3fbf1f" +dependencies = [ + "futures-core", "tokio", - "tokio-codec", - "tokio-executor", - "tokio-io", - "tokio-reactor", - "tokio-signal", - "tokio-tcp", - "tokio-timer 0.2.12", - "trust-dns-proto 0.5.0", - "trust-dns-resolver", - "uuid", ] [[package]] name = "actix_derive" -version = "0.3.2" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4300e9431455322ae393d43a2ba1ef96b8080573c0fc23b196219efedfb6ba69" +checksum = "6d44b8fee1ced9671ba043476deddef739dd0959bf77030b26b738cc591737a7" dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "syn 0.15.44", + "proc-macro2 1.0.32", + "quote 1.0.10", + "syn 1.0.81", ] [[package]] name = "aho-corasick" -version = "0.7.6" +version = "0.7.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d" +checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" dependencies = [ "memchr", ] @@ -58,15 +62,9 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" dependencies = [ - "winapi 0.3.8", + "winapi", ] -[[package]] -name = "arc-swap" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7b8a9123b8027467bce0099fe556c628a53c8d83df0507084c31e9ba2e39aff" - [[package]] name = "arrayref" version = "0.3.6" @@ -90,7 +88,7 @@ checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ "hermit-abi", "libc", - "winapi 0.3.8", + "winapi", ] [[package]] @@ -105,28 +103,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" -[[package]] -name = "backtrace" -version = "0.3.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4ed64ae6d9ebfd9893193c4b2532b1292ec97bd8271c9d7d0fa90cd78a34cba" -dependencies = [ - "backtrace-sys", - "cfg-if 0.1.10", - "libc", - "rustc-demangle", -] - -[[package]] -name = "backtrace-sys" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "base58" version = "0.1.0" @@ -154,19 +130,9 @@ dependencies = [ [[package]] name = "bitflags" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" - -[[package]] -name = "block-buffer" -version = "0.2.0" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1339a1042f5d9f295737ad4d9a6ab6bf81c84a933dba110b9200cd6d1448b814" -dependencies = [ - "byte-tools 0.2.0", - "generic-array 0.8.3", -] +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "block-buffer" @@ -175,9 +141,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" dependencies = [ "block-padding", - "byte-tools 0.3.1", + "byte-tools", "byteorder", - "generic-array 0.12.3", + "generic-array", ] [[package]] @@ -186,15 +152,9 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" dependencies = [ - "byte-tools 0.3.1", + "byte-tools", ] -[[package]] -name = "byte-tools" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40" - [[package]] name = "byte-tools" version = "0.3.1" @@ -209,19 +169,15 @@ checksum = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" [[package]] name = "bytes" -version = "0.4.12" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" -dependencies = [ - "byteorder", - "iovec", -] +checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" [[package]] name = "cc" -version = "1.0.41" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dae9c4b8fedcae85592ba623c4fd08cfdab3e3b72d6df780c6ead964a69bfff" +checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" [[package]] name = "cfg-if" @@ -279,17 +235,11 @@ dependencies = [ "unicode-xid 0.2.0", ] -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - [[package]] name = "core-foundation" -version = "0.6.4" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d" +checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" dependencies = [ "core-foundation-sys", "libc", @@ -297,18 +247,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b" - -[[package]] -name = "crossbeam-channel" -version = "0.3.9" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ec7fcd21571dc78f96cc96243cab8d8f035247c3efd16c687be154c3fa9efa" -dependencies = [ - "crossbeam-utils 0.6.6", -] +checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" [[package]] name = "crossbeam-channel" @@ -317,61 +258,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.3", -] - -[[package]] -name = "crossbeam-deque" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3aa945d63861bfe624b55d153a39684da1e8c0bc8fba932f7ee3a3c16cea3ca" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils 0.7.0", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5064ebdbf05ce3cb95e45c8b086f72263f4166b29b97f6baff7ef7fe047b55ac" -dependencies = [ - "autocfg 0.1.7", - "cfg-if 0.1.10", - "crossbeam-utils 0.7.0", - "lazy_static", - "memoffset", - "scopeguard 1.0.0", -] - -[[package]] -name = "crossbeam-queue" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b" -dependencies = [ - "crossbeam-utils 0.6.6", -] - -[[package]] -name = "crossbeam-utils" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" -dependencies = [ - "cfg-if 0.1.10", - "lazy_static", -] - -[[package]] -name = "crossbeam-utils" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4" -dependencies = [ - "autocfg 0.1.7", - "cfg-if 0.1.10", - "lazy_static", + "crossbeam-utils", ] [[package]] @@ -391,24 +278,14 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" -[[package]] -name = "crypto-mac" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "779015233ac67d65098614aec748ac1c756ab6677fa2e14cf8b37c08dfed1198" -dependencies = [ - "constant_time_eq", - "generic-array 0.8.3", -] - [[package]] name = "crypto-mac" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" dependencies = [ - "generic-array 0.12.3", - "subtle", + "generic-array", + "subtle 1.0.0", ] [[package]] @@ -425,22 +302,13 @@ dependencies = [ "syn 0.15.44", ] -[[package]] -name = "digest" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5b29bf156f3f4b3c4f610a25ff69370616ae6e0657d416de22645483e72af0a" -dependencies = [ - "generic-array 0.8.3", -] - [[package]] name = "digest" version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" dependencies = [ - "generic-array 0.12.3", + "generic-array", ] [[package]] @@ -448,12 +316,12 @@ name = "dns_utility" version = "1.0.0" dependencies = [ "core-foundation", - "ipconfig 0.2.1", + "ipconfig", "libc", "masq_lib", "regex", "system-configuration", - "winreg 0.7.0", + "winreg 0.10.1", ] [[package]] @@ -462,15 +330,6 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd56b59865bce947ac5958779cfa508f6c3b9497cc762b7e24a12d11ccde2c4f" -[[package]] -name = "error-chain" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6930e04918388a9a2e41d518c25cf679ccafe26733fb4127dbf21993f2575d46" -dependencies = [ - "backtrace", -] - [[package]] name = "error-chain" version = "0.12.4" @@ -486,7 +345,7 @@ version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebdeeea85a6d217b9fcc862906d7e283c047e04114165c433756baf5dce00a6c" dependencies = [ - "error-chain 0.12.4", + "error-chain", "ethereum-types", "rustc-hex", "serde", @@ -522,28 +381,6 @@ dependencies = [ "uint", ] -[[package]] -name = "failure" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9" -dependencies = [ - "backtrace", - "failure_derive", -] - -[[package]] -name = "failure_derive" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" -dependencies = [ - "proc-macro2 1.0.32", - "quote 1.0.10", - "syn 1.0.81", - "synstructure", -] - [[package]] name = "fake-simd" version = "0.1.2" @@ -563,12 +400,6 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "fnv" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" - [[package]] name = "fuchsia-cprng" version = "0.1.1" @@ -576,35 +407,39 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" [[package]] -name = "fuchsia-zircon" -version = "0.3.3" +name = "futures" +version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -dependencies = [ - "bitflags", - "fuchsia-zircon-sys", -] +checksum = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef" [[package]] -name = "fuchsia-zircon-sys" -version = "0.3.3" +name = "futures-core" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" +checksum = "629316e42fe7c2a0b9a65b47d159ceaa5453ab14e8f0a3c5eedbb8cd55b4a445" [[package]] -name = "futures" -version = "0.1.29" +name = "futures-sink" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef" +checksum = "996c6442437b62d21a32cd9906f9c41e7dc1e19a9579843fad948696769305af" [[package]] -name = "generic-array" -version = "0.8.3" +name = "futures-task" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dabf1872aaab32c886832f2276d2f5399887e2bd613698a02359e4ea83f8de12" + +[[package]] +name = "futures-util" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fceb69994e330afed50c93524be68c42fa898c2d9fd4ee8da03bd7363acd26f2" +checksum = "41d22213122356472061ac0f1ab2cee28d2bac8491410fd68c2af53d1cedb83e" dependencies = [ - "nodrop", - "typenum", + "futures-core", + "futures-task", + "pin-project-lite", + "pin-utils", ] [[package]] @@ -616,13 +451,24 @@ dependencies = [ "typenum", ] +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi", +] + [[package]] name = "heapsize" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" dependencies = [ - "winapi 0.3.8", + "winapi", ] [[package]] @@ -634,46 +480,25 @@ dependencies = [ "libc", ] -[[package]] -name = "hmac" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a13f4163aa0c5ca1be584aace0e2212b2e41be5478218d4f657f5f778b2ae2a" -dependencies = [ - "crypto-mac 0.4.0", - "digest 0.6.2", - "generic-array 0.8.3", -] - [[package]] name = "hmac" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" dependencies = [ - "crypto-mac 0.7.0", - "digest 0.8.1", + "crypto-mac", + "digest", ] [[package]] name = "hmac-drbg" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fe727d41d2eec0a6574d887914347e5ff96a3b87177817e2a9820c5c87fecc2" -dependencies = [ - "digest 0.6.2", - "generic-array 0.8.3", - "hmac 0.4.2", -] - -[[package]] -name = "hostname" -version = "0.1.5" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21ceb46a83a85e824ef93669c8b390009623863b5c195d1ba747292c0c72f94e" +checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b" dependencies = [ - "libc", - "winutil", + "digest", + "generic-array", + "hmac", ] [[package]] @@ -740,44 +565,31 @@ dependencies = [ ] [[package]] -name = "iovec" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" -dependencies = [ - "libc", -] - -[[package]] -name = "ipconfig" -version = "0.1.9" +name = "instant" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f7eadeaf4b52700de180d147c4805f199854600b36faa963d91114827b2ffc" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ - "error-chain 0.8.1", - "socket2", - "widestring 0.2.2", - "winapi 0.3.8", - "winreg 0.5.1", + "cfg-if 1.0.0", ] [[package]] name = "ipconfig" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa79fa216fbe60834a9c0737d7fcd30425b32d1c58854663e24d4c4b328ed83f" +checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7" dependencies = [ "socket2", - "widestring 0.4.0", - "winapi 0.3.8", + "widestring", + "winapi", "winreg 0.6.2", ] [[package]] name = "itertools" -version = "0.8.2" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484" +checksum = "69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf" dependencies = [ "either", ] @@ -801,16 +613,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "kernel32-sys" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] - [[package]] name = "language-tags" version = "0.2.2" @@ -825,56 +627,42 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.104" +version = "0.2.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b2f96d100e1cf1929e7719b7edb3b90ab5298072638fccd77be9ce942ecdfce" +checksum = "fbe5e23404da5b4f555ef85ebed98fb4083e55a00c317800bc2a50ede9f3d219" [[package]] name = "libsecp256k1" -version = "0.2.2" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "688e8d65e495567c2c35ea0001b26b9debf0b4ea11f8cccc954233b75fc3428a" +checksum = "1fc1e2c808481a63dc6da2074752fdd4336a3c8fcc68b83db6f1fd5224ae7962" dependencies = [ "arrayref", - "digest 0.6.2", + "crunchy", + "digest", "hmac-drbg", - "rand 0.4.6", - "sha2 0.6.0", + "rand 0.7.3", + "sha2", + "subtle 2.4.1", "typenum", ] -[[package]] -name = "linked-hash-map" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83" - -[[package]] -name = "lock_api" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c" -dependencies = [ - "owning_ref", - "scopeguard 0.3.3", -] - [[package]] name = "lock_api" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed946d4529956a20f2d63ebe1b69996d5a2137c91913fe3ebbeff957f5bca7ff" dependencies = [ - "scopeguard 1.0.0", + "scopeguard", ] [[package]] name = "lock_api" -version = "0.3.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75" +checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109" dependencies = [ - "scopeguard 1.0.0", + "scopeguard", ] [[package]] @@ -895,15 +683,6 @@ dependencies = [ "cfg-if 0.1.10", ] -[[package]] -name = "lru-cache" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" -dependencies = [ - "linked-hash-map", -] - [[package]] name = "masq_lib" version = "1.0.0" @@ -911,7 +690,7 @@ dependencies = [ "actix", "clap", "const_format", - "crossbeam-channel 0.5.1", + "crossbeam-channel", "itertools", "lazy_static", "nix", @@ -939,17 +718,17 @@ checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" [[package]] name = "memchr" -version = "2.2.1" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e" +checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" [[package]] name = "memoffset" -version = "0.5.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9" +checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9" dependencies = [ - "rustc_version", + "autocfg 1.0.1", ] [[package]] @@ -969,67 +748,37 @@ dependencies = [ [[package]] name = "mio" -version = "0.6.21" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "302dec22bcf6bae6dfb69c647187f4b4d0fb6f535521f7bc022430ce8e12008f" +checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" dependencies = [ - "cfg-if 0.1.10", - "fuchsia-zircon", - "fuchsia-zircon-sys", - "iovec", - "kernel32-sys", "libc", "log 0.4.8", "miow", - "net2", - "slab 0.4.2", - "winapi 0.2.8", -] - -[[package]] -name = "mio-uds" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125" -dependencies = [ - "iovec", - "libc", - "mio", + "ntapi", + "winapi", ] [[package]] name = "miow" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" -dependencies = [ - "kernel32-sys", - "net2", - "winapi 0.2.8", - "ws2_32-sys", -] - -[[package]] -name = "net2" -version = "0.2.33" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" +checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" dependencies = [ - "cfg-if 0.1.10", - "libc", - "winapi 0.3.8", + "winapi", ] [[package]] name = "nix" -version = "0.20.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa9b4819da1bc61c0ea48b63b7bc8604064dd43013e7cc325df098d49cd7c18a" +checksum = "f305c2c2e4c39a82f7bf0bf65fb557f9070ce06781d4f2454295cc34b1c43188" dependencies = [ "bitflags", "cc", "cfg-if 1.0.0", "libc", + "memoffset", ] [[package]] @@ -1038,31 +787,37 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" +[[package]] +name = "ntapi" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44" +dependencies = [ + "winapi", +] + [[package]] name = "num_cpus" -version = "1.11.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72" +checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" dependencies = [ "hermit-abi", "libc", ] +[[package]] +name = "once_cell" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" + [[package]] name = "opaque-debug" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" -[[package]] -name = "owning_ref" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13" -dependencies = [ - "stable_deref_trait", -] - [[package]] name = "parity-codec" version = "3.5.4" @@ -1073,16 +828,6 @@ dependencies = [ "serde", ] -[[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.8.0" @@ -1096,26 +841,13 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.9.0" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ - "lock_api 0.3.4", - "parking_lot_core 0.6.2", - "rustc_version", -] - -[[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", - "winapi 0.3.8", + "instant", + "lock_api 0.4.5", + "parking_lot_core 0.8.5", ] [[package]] @@ -1128,25 +860,24 @@ dependencies = [ "cloudabi", "libc", "rand 0.6.5", - "redox_syscall", + "redox_syscall 0.1.56", "rustc_version", - "smallvec", - "winapi 0.3.8", + "smallvec 0.6.13", + "winapi", ] [[package]] name = "parking_lot_core" -version = "0.6.2" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" +checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" dependencies = [ - "cfg-if 0.1.10", - "cloudabi", + "cfg-if 1.0.0", + "instant", "libc", - "redox_syscall", - "rustc_version", - "smallvec", - "winapi 0.3.8", + "redox_syscall 0.2.10", + "smallvec 1.7.0", + "winapi", ] [[package]] @@ -1155,6 +886,24 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" +[[package]] +name = "pin-project-lite" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "ppv-lite86" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba" + [[package]] name = "primitive-types" version = "0.3.0" @@ -1186,12 +935,6 @@ dependencies = [ "unicode-xid 0.2.0", ] -[[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - [[package]] name = "quote" version = "0.6.13" @@ -1210,18 +953,6 @@ dependencies = [ "proc-macro2 1.0.32", ] -[[package]] -name = "rand" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" -dependencies = [ - "fuchsia-cprng", - "rand_core 0.3.1", - "rdrand", - "winapi 0.3.8", -] - [[package]] name = "rand" version = "0.5.6" @@ -1232,7 +963,7 @@ dependencies = [ "fuchsia-cprng", "libc", "rand_core 0.3.1", - "winapi 0.3.8", + "winapi", ] [[package]] @@ -1243,15 +974,28 @@ checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" dependencies = [ "autocfg 0.1.7", "libc", - "rand_chacha", + "rand_chacha 0.1.1", "rand_core 0.4.2", - "rand_hc", + "rand_hc 0.1.0", "rand_isaac", "rand_jitter", "rand_os", "rand_pcg", "rand_xorshift", - "winapi 0.3.8", + "winapi", +] + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc 0.2.0", ] [[package]] @@ -1264,6 +1008,16 @@ dependencies = [ "rand_core 0.3.1", ] +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + [[package]] name = "rand_core" version = "0.3.1" @@ -1279,6 +1033,15 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom", +] + [[package]] name = "rand_hc" version = "0.1.0" @@ -1288,6 +1051,15 @@ dependencies = [ "rand_core 0.3.1", ] +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + [[package]] name = "rand_isaac" version = "0.1.1" @@ -1305,7 +1077,7 @@ checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" dependencies = [ "libc", "rand_core 0.4.2", - "winapi 0.3.8", + "winapi", ] [[package]] @@ -1319,7 +1091,7 @@ dependencies = [ "libc", "rand_core 0.4.2", "rdrand", - "winapi 0.3.8", + "winapi", ] [[package]] @@ -1356,33 +1128,31 @@ version = "0.1.56" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" +[[package]] +name = "redox_syscall" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" +dependencies = [ + "bitflags", +] + [[package]] name = "regex" -version = "1.4.2" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38cf2c13ed4745de91a5eb834e11c00bcc3709e773173b2ce4c56c9fbde04b9c" +checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" dependencies = [ "aho-corasick", "memchr", "regex-syntax", - "thread_local", ] [[package]] name = "regex-syntax" -version = "0.6.21" +version = "0.6.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b181ba2dcf07aaccad5448e8ead58db5b742cf85dfe035e2227f137a539a189" - -[[package]] -name = "resolv-conf" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b263b4aa1b5de9ffc0054a2386f96992058bb6870aab516f8cdeb8a667d56dcb" -dependencies = [ - "hostname", - "quick-error", -] +checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" [[package]] name = "rlp" @@ -1393,12 +1163,6 @@ dependencies = [ "rustc-hex", ] -[[package]] -name = "rustc-demangle" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783" - [[package]] name = "rustc-hex" version = "2.1.0" @@ -1428,15 +1192,9 @@ checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" [[package]] name = "scopeguard" -version = "0.3.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" - -[[package]] -name = "scopeguard" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "semver" @@ -1455,18 +1213,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.104" +version = "1.0.130" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449" +checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.104" +version = "1.0.130" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64" +checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", @@ -1475,9 +1233,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.44" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c575e0cc52bdd09b47f330f646cf59afc586e9c4e3ccd6fc1f625b8ea1dad7" +checksum = "e466864e431129c7e0d3476b92f20458e5879919a0596c6472738d9fa2d342f8" dependencies = [ "itoa", "ryu", @@ -1490,54 +1248,30 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", + "block-buffer", + "digest", "fake-simd", "opaque-debug", ] -[[package]] -name = "sha2" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d963c78ce367df26d7ea8b8cc655c651b42e8a1e584e869c1e17dae3ccb116a" -dependencies = [ - "block-buffer 0.2.0", - "byte-tools 0.2.0", - "digest 0.6.2", - "fake-simd", - "generic-array 0.8.3", -] - [[package]] name = "sha2" version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", + "block-buffer", + "digest", "fake-simd", "opaque-debug", ] -[[package]] -name = "signal-hook" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a9c17dd3ba2d36023a5c9472ecddeda07e27fd0b05436e8c1e0c8f178185652" -dependencies = [ - "libc", - "signal-hook-registry", -] - [[package]] name = "signal-hook-registry" -version = "1.2.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" +checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" dependencies = [ - "arc-swap", "libc", ] @@ -1547,12 +1281,6 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17b4fcaed89ab08ef143da37bc52adbcc04d4a69014f4c1208d6b51f0c47bc23" -[[package]] -name = "slab" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" - [[package]] name = "smallvec" version = "0.6.13" @@ -1562,6 +1290,12 @@ dependencies = [ "maybe-uninit", ] +[[package]] +name = "smallvec" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" + [[package]] name = "socket2" version = "0.3.11" @@ -1570,16 +1304,10 @@ checksum = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" dependencies = [ "cfg-if 0.1.10", "libc", - "redox_syscall", - "winapi 0.3.8", + "redox_syscall 0.1.56", + "winapi", ] -[[package]] -name = "stable_deref_trait" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" - [[package]] name = "static_assertions" version = "0.2.5" @@ -1598,6 +1326,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" +[[package]] +name = "subtle" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" + [[package]] name = "syn" version = "0.15.44" @@ -1620,33 +1354,22 @@ dependencies = [ "unicode-xid 0.2.0", ] -[[package]] -name = "synstructure" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545" -dependencies = [ - "proc-macro2 1.0.32", - "quote 1.0.10", - "syn 1.0.81", - "unicode-xid 0.2.0", -] - [[package]] name = "system-configuration" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3dc3e701a89dd6764083d19f048b57ec01c26d0904ff8108a507059a6462e6" +checksum = "dd4bc0637a2b8c0b1a5145cca3e21b707865edc7e32285771536af1ade129468" dependencies = [ + "bitflags", "core-foundation", "system-configuration-sys", ] [[package]] name = "system-configuration-sys" -version = "0.3.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfd906a2882d54084bfdf517bf03892ac06820f1c0a3d37e48609f334798ad99" +checksum = "269e271436d8e4bb2621c535a11fe03d5d012f74b19af72f80288f3a72f6180a" dependencies = [ "core-foundation-sys", "libc", @@ -1661,15 +1384,6 @@ dependencies = [ "unicode-width", ] -[[package]] -name = "thread_local" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14" -dependencies = [ - "lazy_static", -] - [[package]] name = "time" version = "0.1.42" @@ -1677,21 +1391,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f" dependencies = [ "libc", - "redox_syscall", - "winapi 0.3.8", + "redox_syscall 0.1.56", + "winapi", ] [[package]] name = "tiny-hderive" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843479427369dcfdf7c56ff1d1a2bbeca4c15b390ed493f84c77fe08a43eae68" +checksum = "01b874a4992538d4b2f4fbbac11b9419d685f4b39bdc3fed95b04e07bfd76040" dependencies = [ "base58", - "hmac 0.7.1", + "hmac", "libsecp256k1", "memzero", - "sha2 0.8.1", + "sha2", ] [[package]] @@ -1720,156 +1434,20 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6" -dependencies = [ - "bytes", - "futures", - "mio", - "num_cpus", - "tokio-codec", - "tokio-current-thread", - "tokio-executor", - "tokio-fs", - "tokio-io", - "tokio-reactor", - "tokio-sync", - "tokio-tcp", - "tokio-threadpool", - "tokio-timer 0.2.12", - "tokio-udp", - "tokio-uds", -] - -[[package]] -name = "tokio-codec" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c501eceaf96f0e1793cf26beb63da3d11c738c4a943fdf3746d81d64684c39f" -dependencies = [ - "bytes", - "futures", - "tokio-io", -] - -[[package]] -name = "tokio-current-thread" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16217cad7f1b840c5a97dfb3c43b0c871fef423a6e8d2118c604e843662a443" -dependencies = [ - "futures", - "tokio-executor", -] - -[[package]] -name = "tokio-executor" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6df436c42b0c3330a82d855d2ef017cd793090ad550a6bc2184f4b933532ab" -dependencies = [ - "crossbeam-utils 0.6.6", - "futures", -] - -[[package]] -name = "tokio-fs" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fe6dc22b08d6993916647d108a1a7d15b9cd29c4f4496c62b92c45b5041b7af" -dependencies = [ - "futures", - "tokio-io", - "tokio-threadpool", -] - -[[package]] -name = "tokio-io" -version = "0.1.12" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5090db468dad16e1a7a54c8c67280c5e4b544f3d3e018f0b913b400261f85926" +checksum = "70e992e41e0d2fb9f755b37446f20900f64446ef54874f40a60c78f021ac6144" dependencies = [ + "autocfg 1.0.1", "bytes", - "futures", - "log 0.4.8", -] - -[[package]] -name = "tokio-reactor" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6732fe6b53c8d11178dcb77ac6d9682af27fc6d4cb87789449152e5377377146" -dependencies = [ - "crossbeam-utils 0.6.6", - "futures", - "lazy_static", - "log 0.4.8", - "mio", - "num_cpus", - "parking_lot 0.9.0", - "slab 0.4.2", - "tokio-executor", - "tokio-io", - "tokio-sync", -] - -[[package]] -name = "tokio-signal" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd6dc5276ea05ce379a16de90083ec80836440d5ef8a6a39545a3207373b8296" -dependencies = [ - "futures", "libc", + "memchr", "mio", - "mio-uds", - "signal-hook", - "tokio-executor", - "tokio-io", - "tokio-reactor", - "winapi 0.3.8", -] - -[[package]] -name = "tokio-sync" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d06554cce1ae4a50f42fba8023918afa931413aded705b560e29600ccf7c6d76" -dependencies = [ - "fnv", - "futures", -] - -[[package]] -name = "tokio-tcp" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d14b10654be682ac43efee27401d792507e30fd8d26389e1da3b185de2e4119" -dependencies = [ - "bytes", - "futures", - "iovec", - "mio", - "tokio-io", - "tokio-reactor", -] - -[[package]] -name = "tokio-threadpool" -version = "0.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c32ffea4827978e9aa392d2f743d973c1dfa3730a2ed3f22ce1e6984da848c" -dependencies = [ - "crossbeam-deque", - "crossbeam-queue", - "crossbeam-utils 0.6.6", - "futures", - "lazy_static", - "log 0.4.8", - "num_cpus", - "slab 0.4.2", - "tokio-executor", + "once_cell", + "parking_lot 0.11.2", + "pin-project-lite", + "signal-hook-registry", + "winapi", ] [[package]] @@ -1879,59 +1457,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6131e780037787ff1b3f8aad9da83bca02438b72277850dd6ad0d455e0e20efc" dependencies = [ "futures", - "slab 0.3.0", -] - -[[package]] -name = "tokio-timer" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1739638e364e558128461fc1ad84d997702c8e31c2e6b18fb99842268199e827" -dependencies = [ - "crossbeam-utils 0.6.6", - "futures", - "slab 0.4.2", - "tokio-executor", -] - -[[package]] -name = "tokio-udp" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f02298505547f73e60f568359ef0d016d5acd6e830ab9bc7c4a5b3403440121b" -dependencies = [ - "bytes", - "futures", - "log 0.4.8", - "mio", - "tokio-codec", - "tokio-io", - "tokio-reactor", + "slab", ] [[package]] -name = "tokio-uds" -version = "0.2.5" +name = "tokio-util" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "037ffc3ba0e12a0ab4aca92e5234e0dedeb48fddf6ccd260f1f150a36a9f2445" +checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0" dependencies = [ "bytes", - "futures", - "iovec", - "libc", + "futures-core", + "futures-sink", "log 0.4.8", - "mio", - "mio-uds", - "tokio-codec", - "tokio-io", - "tokio-reactor", + "pin-project-lite", + "tokio", ] [[package]] name = "toml" -version = "0.5.6" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc92d160b1eef40665be3a05630d003936a3bc7da7421277846c2613e92c71a" +checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" dependencies = [ "serde", ] @@ -1942,73 +1489,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" -[[package]] -name = "trust-dns-proto" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0838272e89f1c693b4df38dc353412e389cf548ceed6f9fd1af5a8d6e0e7cf74" -dependencies = [ - "byteorder", - "failure", - "futures", - "idna", - "lazy_static", - "log 0.4.8", - "rand 0.5.6", - "smallvec", - "socket2", - "tokio-executor", - "tokio-io", - "tokio-reactor", - "tokio-tcp", - "tokio-timer 0.2.12", - "tokio-udp", - "url", -] - -[[package]] -name = "trust-dns-proto" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09144f0992b0870fa8d2972cc069cbf1e3c0fda64d1f3d45c4d68d0e0b52ad4e" -dependencies = [ - "byteorder", - "failure", - "futures", - "idna", - "lazy_static", - "log 0.4.8", - "rand 0.5.6", - "smallvec", - "socket2", - "tokio-executor", - "tokio-io", - "tokio-reactor", - "tokio-tcp", - "tokio-timer 0.2.12", - "tokio-udp", - "url", -] - -[[package]] -name = "trust-dns-resolver" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9f877f7a1ad821ab350505e1f1b146a4960402991787191d6d8cab2ce2de2c" -dependencies = [ - "cfg-if 0.1.10", - "failure", - "futures", - "ipconfig 0.1.9", - "lazy_static", - "log 0.4.8", - "lru-cache", - "resolv-conf", - "smallvec", - "tokio", - "trust-dns-proto 0.6.3", -] - [[package]] name = "typeable" version = "0.1.2" @@ -2089,15 +1569,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "uuid" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a" -dependencies = [ - "rand 0.6.5", -] - [[package]] name = "vec_map" version = "0.8.1" @@ -2116,6 +1587,12 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + [[package]] name = "web3" version = "0.8.0" @@ -2134,7 +1611,7 @@ dependencies = [ "rustc-hex", "serde", "serde_json", - "tokio-timer 0.1.2", + "tokio-timer", "url", ] @@ -2164,12 +1641,6 @@ dependencies = [ "sha-1", ] -[[package]] -name = "widestring" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7157704c2e12e3d2189c507b7482c52820a16dfa4465ba91add92f266667cadb" - [[package]] name = "widestring" version = "0.4.0" @@ -2178,26 +1649,14 @@ checksum = "effc0e4ff8085673ea7b9b2e3c73f6bd4d118810c9009ed8f1e16bd96c331db6" [[package]] name = "winapi" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -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", ] -[[package]] -name = "winapi-build" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" - [[package]] name = "winapi-i686-pc-windows-gnu" version = "0.4.0" @@ -2210,48 +1669,20 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "winreg" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a27a759395c1195c4cc5cda607ef6f8f6498f64e78f7900f5de0a127a424704a" -dependencies = [ - "winapi 0.3.8", -] - [[package]] name = "winreg" version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" dependencies = [ - "winapi 0.3.8", + "winapi", ] [[package]] name = "winreg" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69" -dependencies = [ - "winapi 0.3.8", -] - -[[package]] -name = "winutil" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7daf138b6b14196e3830a588acf1e86966c694d3e8fb026fb105b8b5dca07e6e" -dependencies = [ - "winapi 0.3.8", -] - -[[package]] -name = "ws2_32-sys" -version = "0.2.1" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" dependencies = [ - "winapi 0.2.8", - "winapi-build", + "winapi", ] diff --git a/dns_utility/Cargo.toml b/dns_utility/Cargo.toml index 9e6d9bedf..23bc79a5b 100644 --- a/dns_utility/Cargo.toml +++ b/dns_utility/Cargo.toml @@ -8,18 +8,17 @@ description = "Command-line utility to turn DNS subversion on and off" edition = "2021" [dependencies] -regex = "1.3.7" -libc = "0.2.69" +regex = "1.5.4" +libc = "0.2.107" masq_lib = { path = "../masq_lib" } - [target.'cfg(target_os = "macos")'.dependencies] -system-configuration = "0.3.0" -core-foundation = "0.6.4" +system-configuration = "0.4.0" +core-foundation = "0.7.0" [target.'cfg(target_os = "windows")'.dependencies] -winreg = "0.7.0" -ipconfig = "0.2.1" +winreg = "0.10.1" +ipconfig = "0.2.2" [dev-dependencies] diff --git a/masq/Cargo.toml b/masq/Cargo.toml index fff556d89..a3fbe159f 100644 --- a/masq/Cargo.toml +++ b/masq/Cargo.toml @@ -11,17 +11,17 @@ workspace = "../node" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -clap = "2.33.1" -crossbeam-channel = "0.5.0" +clap = "2.33.3" +crossbeam-channel = "0.5.1" lazy_static = "1.4.0" linefeed = "0.6.0" masq_lib = { path = "../masq_lib" } -regex = "1.0.5" -websocket = {version = "0.26.0", default-features = false, features = ["sync"]} -ctrlc = "3.1.9" +regex = "1.5.4" +websocket = {version = "0.26.2", default-features = false, features = ["sync"]} +ctrlc = "3.2.1" [target.'cfg(not(target_os = "windows"))'.dependencies] -nix = "0.20.0" +nix = "0.23.0" [lib] name = "masq_cli_lib" diff --git a/masq_lib/Cargo.toml b/masq_lib/Cargo.toml index bda58cb14..589b0d42f 100644 --- a/masq_lib/Cargo.toml +++ b/masq_lib/Cargo.toml @@ -9,26 +9,26 @@ edition = "2021" workspace = "../node" [dependencies] -actix = "0.7.9" +actix = "0.12.0" clap = "2.33.3" const_format = "0.2.22" -crossbeam-channel = "0.5.0" -itertools = "0.8.0" +crossbeam-channel = "0.5.1" +itertools = "0.10.1" lazy_static = "1.4.0" -regex = "1.0.5" -serde = "1.0.99" -serde_derive = "1.0.99" -serde_json = "1.0.40" -tiny-hderive = "0.2.1" -toml = "0.5.3" +regex = "1.5.4" +serde = "1.0.130" +serde_derive = "1.0.130" +serde_json = "1.0.69" +tiny-hderive = "0.3.0" +toml = "0.5.8" web3 = {version = "0.8.0", default-features = false} -websocket = {version = "0.26.0", default-features = false, features = ["sync"]} +websocket = {version = "0.26.2", default-features = false, features = ["sync"]} [features] no_test_share = [] [target.'cfg(not(target_os = "windows"))'.dependencies] -nix = "0.20.0" +nix = "0.23.0" [lib] name = "masq_lib" diff --git a/masq_lib/src/messages.rs b/masq_lib/src/messages.rs index fb29ae923..d51d1a632 100644 --- a/masq_lib/src/messages.rs +++ b/masq_lib/src/messages.rs @@ -6,9 +6,9 @@ use crate::shared_schema::ConfiguratorError; use crate::ui_gateway::MessagePath::{Conversation, FireAndForget}; use crate::ui_gateway::{MessageBody, MessagePath}; use itertools::Itertools; +use serde::__private::fmt::Error; +use serde::__private::Formatter; use serde::de::DeserializeOwned; -use serde::export::fmt::Error; -use serde::export::Formatter; use serde_derive::{Deserialize, Serialize}; use std::collections::HashMap; use std::fmt; diff --git a/masq_lib/src/multi_config.rs b/masq_lib/src/multi_config.rs index 461de97c5..2490a6934 100644 --- a/masq_lib/src/multi_config.rs +++ b/masq_lib/src/multi_config.rs @@ -6,7 +6,7 @@ use crate::utils::WrapResult; use clap::{value_t, values_t}; use clap::{App, ArgMatches}; use regex::Regex; -use serde::export::Formatter; +use serde::__private::Formatter; use std::collections::HashSet; use std::fmt::{Debug, Display}; use std::fs::File; diff --git a/masq_lib/src/ui_gateway.rs b/masq_lib/src/ui_gateway.rs index 9cc439b8a..0a8a2c1a7 100644 --- a/masq_lib/src/ui_gateway.rs +++ b/masq_lib/src/ui_gateway.rs @@ -24,12 +24,14 @@ pub struct MessageBody { } #[derive(Message, PartialEq, Clone, Debug)] +#[rtype(result = "")] pub struct NodeFromUiMessage { pub client_id: u64, pub body: MessageBody, } #[derive(Message, PartialEq, Clone, Debug)] +#[rtype(result = "")] pub struct NodeToUiMessage { pub target: MessageTarget, pub body: MessageBody, diff --git a/multinode_integration_tests/Cargo.toml b/multinode_integration_tests/Cargo.toml index b4404f9fe..c053888e8 100644 --- a/multinode_integration_tests/Cargo.toml +++ b/multinode_integration_tests/Cargo.toml @@ -9,27 +9,27 @@ edition = "2021" workspace = "../node" [dependencies] -base64 = "0.10.1" -crossbeam-channel = "0.5.0" +base64 = "0.13.0" +crossbeam-channel = "0.5.1" ethereum-types = "0.6.0" -ethsign-crypto = "0.1.0" -futures = "0.1.28" -itertools = "0.8.0" +ethsign-crypto = "0.2.1" +futures = "0.1.31" +itertools = "0.10.1" masq_lib = { path = "../masq_lib" } -pretty-hex = "0.1.0" +pretty-hex = "0.2.1" primitive-types = {version = "0.5.0", default-features = false, features = ["default", "rlp", "serde"] } -regex = "1.2.1" -rusqlite = {version = "0.20.0", features = ["bundled"]} -rustc-hex = "2.0.1" -serde = "1.0.99" -serde_derive = "1.0.99" -serde_cbor = "0.10.1" +regex = "1.5.4" +rusqlite = {version = "0.26.1", features = ["bundled"]} +rustc-hex = "2.1.0" +serde = "1.0.130" +serde_derive = "1.0.130" +serde_cbor = "0.11.2" sha1 = "0.6.0" -tiny-bip39 = "0.6.2" -tiny-hderive = "0.2.1" -native-tls = "0.2.3" +tiny-bip39 = "0.8.2" +tiny-hderive = "0.3.0" +native-tls = "0.2.8" node = { path = "../node", features = [ "expose_test_privates" ] } -uint = "0.8.1" +uint = "0.9.1" web3 = {version = "0.8.0", default-features = false, features = ["http", "tls"]} [lib] @@ -41,4 +41,4 @@ name = "mock_node" path = "src/main.rs" [dev-dependencies] -reqwest = "0.9.19" +reqwest = "0.11.6" diff --git a/multinode_integration_tests/src/masq_real_node.rs b/multinode_integration_tests/src/masq_real_node.rs index 7c5020952..0fb257eba 100644 --- a/multinode_integration_tests/src/masq_real_node.rs +++ b/multinode_integration_tests/src/masq_real_node.rs @@ -348,7 +348,7 @@ impl NodeStartupConfig { } ConsumingWalletInfo::DerivationPath(phrase, derivation_path) => { let mnemonic = - Mnemonic::from_phrase(phrase.to_string(), Language::English).unwrap(); + Mnemonic::from_phrase(&phrase.to_string(), Language::English).unwrap(); let keypair = Bip32ECKeyPair::from_raw( Seed::new(&mnemonic, "passphrase").as_ref(), derivation_path, diff --git a/multinode_integration_tests/tests/verify_bill_payment.rs b/multinode_integration_tests/tests/verify_bill_payment.rs index 4cdc53418..8a65a9eb7 100644 --- a/multinode_integration_tests/tests/verify_bill_payment.rs +++ b/multinode_integration_tests/tests/verify_bill_payment.rs @@ -20,7 +20,6 @@ use node_lib::blockchain::raw_transaction::RawTransaction; use node_lib::database::db_initializer::{DbInitializer, DbInitializerReal}; use node_lib::sub_lib::wallet::Wallet; use node_lib::test_utils; -use rusqlite::NO_PARAMS; use rustc_hex::{FromHex, ToHex}; use std::convert::TryFrom; use std::path::{Path, PathBuf}; @@ -390,12 +389,12 @@ fn expire_payables(path: PathBuf, chain: Chain) { "update payable set last_paid_timestamp = 0 where pending_payment_transaction is null", ) .unwrap(); - statement.execute(NO_PARAMS).unwrap(); + statement.execute([]).unwrap(); let mut config_stmt = conn .prepare("update config set value = '0' where name = 'start_block'") .unwrap(); - config_stmt.execute(NO_PARAMS).unwrap(); + config_stmt.execute([]).unwrap(); } fn expire_receivables(path: PathBuf, chain: Chain) { @@ -405,12 +404,12 @@ fn expire_receivables(path: PathBuf, chain: Chain) { let mut statement = conn .prepare("update receivable set last_received_timestamp = 0") .unwrap(); - statement.execute(NO_PARAMS).unwrap(); + statement.execute([]).unwrap(); let mut config_stmt = conn .prepare("update config set value = '0' where name = 'start_block'") .unwrap(); - config_stmt.execute(NO_PARAMS).unwrap(); + config_stmt.execute([]).unwrap(); } fn open_all_file_permissions(dir: PathBuf) { diff --git a/node/Cargo.lock b/node/Cargo.lock index bce9e7d85..3964400eb 100644 --- a/node/Cargo.lock +++ b/node/Cargo.lock @@ -4,50 +4,54 @@ version = 3 [[package]] name = "actix" -version = "0.7.9" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c616db5fa4b0c40702fb75201c2af7f8aa8f3a2e2c1dda3b0655772aa949666" +checksum = "3720d0064a0ce5c0de7bd93bdb0a6caebab2a9b5668746145d7b3b0c5da02914" dependencies = [ + "actix-rt", "actix_derive", "bitflags", - "bytes", - "crossbeam-channel 0.3.9", - "failure", - "fnv", - "futures", - "libc", - "log 0.4.11", - "parking_lot 0.7.1", - "smallvec 0.6.13", - "tokio", - "tokio-codec", - "tokio-executor", - "tokio-io", - "tokio-reactor", - "tokio-signal", - "tokio-tcp", - "tokio-timer 0.2.13", - "trust-dns-proto 0.5.0", - "trust-dns-resolver 0.10.3", - "uuid", + "bytes 1.1.0", + "crossbeam-channel", + "futures-core", + "futures-sink", + "futures-task", + "futures-util", + "log 0.4.14", + "once_cell", + "parking_lot 0.11.2", + "pin-project-lite", + "smallvec 1.6.1", + "tokio 1.13.0", + "tokio-util", +] + +[[package]] +name = "actix-rt" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05c2f80ce8d0c990941c7a7a931f69fd0701b76d521f8d36298edf59cd3fbf1f" +dependencies = [ + "futures-core", + "tokio 1.13.0", ] [[package]] name = "actix_derive" -version = "0.3.2" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4300e9431455322ae393d43a2ba1ef96b8080573c0fc23b196219efedfb6ba69" +checksum = "6d44b8fee1ced9671ba043476deddef739dd0959bf77030b26b738cc591737a7" dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "syn 0.15.44", + "proc-macro2 1.0.24", + "quote 1.0.7", + "syn 1.0.67", ] [[package]] name = "addr2line" -version = "0.13.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b6a2d3371669ab3ca9797670853d61402b03d0b4b9ebf33d677dfa720203072" +checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" dependencies = [ "gimli", ] @@ -78,7 +82,7 @@ checksum = "cfd7e7ae3f9a1fb5c03b389fc6bb9a51400d0c13053f0dca698c832bfd893a0d" dependencies = [ "block-cipher-trait", "byteorder", - "opaque-debug", + "opaque-debug 0.2.3", ] [[package]] @@ -88,15 +92,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f70a6b5f971e473091ab7cfb5ffac6cde81666c4556751d8d5620ead8abf100" dependencies = [ "block-cipher-trait", - "opaque-debug", + "opaque-debug 0.2.3", "stream-cipher", ] +[[package]] +name = "ahash" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +dependencies = [ + "getrandom 0.2.3", + "once_cell", + "version_check 0.9.2", +] + [[package]] name = "aho-corasick" -version = "0.7.14" +version = "0.7.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b476ce7103678b0c6d3d395dbbae31d48ff910bd28be979ba5d48c6351131d0d" +checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" dependencies = [ "memchr", ] @@ -111,10 +126,10 @@ dependencies = [ ] [[package]] -name = "arc-swap" -version = "0.4.7" +name = "anyhow" +version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d25d88fd6b8041580a654f9d0c581a047baee2b3efee13275f2fc392fc75034" +checksum = "ee10e43ae4a853c0a3591d4e2ada1719e553be18199d9da9d4a83f5927c2f5c7" [[package]] name = "arrayref" @@ -162,11 +177,12 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" [[package]] name = "backtrace" -version = "0.3.53" +version = "0.3.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707b586e0e2f247cbde68cdd2c3ce69ea7b7be43e1c5b426e37c9319c4b9838e" +checksum = "321629d8ba6513061f26707241fa9bc89524ff1cd7a915a97ef0c62c666ce1b6" dependencies = [ "addr2line", + "cc", "cfg-if 1.0.0", "libc", "miniz_oxide", @@ -180,6 +196,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" +[[package]] +name = "base58" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581" + [[package]] name = "base64" version = "0.9.3" @@ -205,11 +227,17 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" +[[package]] +name = "base64" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" + [[package]] name = "bitflags" -version = "1.2.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitvec" @@ -234,24 +262,23 @@ dependencies = [ [[package]] name = "block-buffer" -version = "0.2.0" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1339a1042f5d9f295737ad4d9a6ab6bf81c84a933dba110b9200cd6d1448b814" +checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" dependencies = [ - "byte-tools 0.2.0", - "generic-array 0.8.3", + "block-padding", + "byte-tools", + "byteorder", + "generic-array 0.12.3", ] [[package]] name = "block-buffer" -version = "0.7.3" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "block-padding", - "byte-tools 0.3.1", - "byteorder", - "generic-array 0.12.3", + "generic-array 0.14.4", ] [[package]] @@ -269,7 +296,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" dependencies = [ - "byte-tools 0.3.1", + "byte-tools", ] [[package]] @@ -279,16 +306,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5988cb1d626264ac94100be357308f29ff7cbdd3b36bda27f450a4ee3f713426" [[package]] -name = "byte-slice-cast" -version = "0.3.5" +name = "bumpalo" +version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0a5e3906bcbf133e33c1d4d95afc664ad37fbdb9f6568d8043e7ea8c27d93d3" +checksum = "8f1e260c3a9040a7c19a12468758f4c16f31a81a1fe087482be9570ec864bb6c" [[package]] -name = "byte-tools" -version = "0.2.0" +name = "byte-slice-cast" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40" +checksum = "b0a5e3906bcbf133e33c1d4d95afc664ad37fbdb9f6568d8043e7ea8c27d93d3" [[package]] name = "byte-tools" @@ -298,9 +325,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "byteorder" -version = "1.3.4" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" @@ -313,11 +340,17 @@ dependencies = [ "iovec", ] +[[package]] +name = "bytes" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" + [[package]] name = "cc" -version = "1.0.41" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dae9c4b8fedcae85592ba623c4fd08cfdab3e3b72d6df780c6ead964a69bfff" +checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" [[package]] name = "cfg-if" @@ -368,12 +401,6 @@ dependencies = [ "bitflags", ] -[[package]] -name = "const_fn" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce90df4c658c62f12d78f7508cf92f9173e5184a539c10bfe54a3107b3ffd0f2" - [[package]] name = "const_format" version = "0.2.22" @@ -401,64 +428,45 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" [[package]] -name = "cookie" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "888604f00b3db336d2af898ec3c1d5d0ddf5e6d462220f2ededc33a87ac4bbd5" -dependencies = [ - "time", - "url 1.7.2", -] - -[[package]] -name = "cookie_store" +name = "core-foundation" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46750b3f362965f197996c4448e4a0935e791bf7d6631bfce9ee0af3d24c919c" +checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" dependencies = [ - "cookie", - "failure", - "idna 0.1.5", - "log 0.4.11", - "publicsuffix", - "serde", - "serde_json", - "time", - "try_from", - "url 1.7.2", + "core-foundation-sys 0.7.0", + "libc", ] [[package]] name = "core-foundation" -version = "0.6.4" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d" +checksum = "6888e10551bb93e424d8df1d07f1a8b4fceb0001a3a4b048bfc47554946f47b3" dependencies = [ - "core-foundation-sys 0.6.2", + "core-foundation-sys 0.8.3", "libc", ] [[package]] -name = "core-foundation" +name = "core-foundation-sys" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" -dependencies = [ - "core-foundation-sys 0.7.0", - "libc", -] +checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" [[package]] name = "core-foundation-sys" -version = "0.6.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b" +checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" [[package]] -name = "core-foundation-sys" -version = "0.7.0" +name = "cpufeatures" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" +checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469" +dependencies = [ + "libc", +] [[package]] name = "crc32fast" @@ -471,57 +479,62 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.3.9" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ec7fcd21571dc78f96cc96243cab8d8f035247c3efd16c687be154c3fa9efa" +checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4" dependencies = [ - "crossbeam-utils 0.6.6", + "cfg-if 1.0.0", + "crossbeam-utils 0.8.5", ] [[package]] -name = "crossbeam-channel" -version = "0.4.4" +name = "crossbeam-deque" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87" +checksum = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285" dependencies = [ + "crossbeam-epoch 0.8.2", "crossbeam-utils 0.7.2", "maybe-uninit", ] [[package]] -name = "crossbeam-channel" -version = "0.5.0" +name = "crossbeam-deque" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dca26ee1f8d361640700bde38b2c37d8c22b3ce2d360e1fc1c74ea4b0aa7d775" +checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.0", + "crossbeam-epoch 0.9.5", + "crossbeam-utils 0.8.5", ] [[package]] -name = "crossbeam-deque" -version = "0.7.3" +name = "crossbeam-epoch" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285" +checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" dependencies = [ - "crossbeam-epoch", + "autocfg 1.0.1", + "cfg-if 0.1.10", "crossbeam-utils 0.7.2", + "lazy_static", "maybe-uninit", + "memoffset 0.5.6", + "scopeguard", ] [[package]] name = "crossbeam-epoch" -version = "0.8.2" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" +checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd" dependencies = [ - "autocfg 1.0.1", - "cfg-if 0.1.10", - "crossbeam-utils 0.7.2", + "cfg-if 1.0.0", + "crossbeam-utils 0.8.5", "lazy_static", - "maybe-uninit", - "memoffset", - "scopeguard 1.1.0", + "memoffset 0.6.4", + "scopeguard", ] [[package]] @@ -535,16 +548,6 @@ dependencies = [ "maybe-uninit", ] -[[package]] -name = "crossbeam-utils" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" -dependencies = [ - "cfg-if 0.1.10", - "lazy_static", -] - [[package]] name = "crossbeam-utils" version = "0.7.2" @@ -558,13 +561,11 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.0" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec91540d98355f690a86367e566ecad2e9e579f230230eb7c21398372be73ea5" +checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db" dependencies = [ - "autocfg 1.0.1", "cfg-if 1.0.0", - "const_fn", "lazy_static", ] @@ -576,22 +577,22 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-mac" -version = "0.4.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "779015233ac67d65098614aec748ac1c756ab6677fa2e14cf8b37c08dfed1198" +checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" dependencies = [ - "constant_time_eq", - "generic-array 0.8.3", + "generic-array 0.12.3", + "subtle 1.0.0", ] [[package]] name = "crypto-mac" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ - "generic-array 0.12.3", - "subtle", + "generic-array 0.14.4", + "subtle 2.4.1", ] [[package]] @@ -606,11 +607,11 @@ dependencies = [ [[package]] name = "ctrlc" -version = "3.1.9" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "232295399409a8b7ae41276757b5a1cc21032848d42bff2352261f958b3ca29a" +checksum = "a19c6cedffdc8c03a3346d723eb20bd85a13362bb96dc2ac000842c6381ec7bf" dependencies = [ - "nix 0.20.0", + "nix 0.23.0", "winapi 0.3.9", ] @@ -649,7 +650,7 @@ checksum = "8d2d6daefd5f1d4b74a891a5d2ab7dccba028d423107c074232a0c5dc0d40a9e" dependencies = [ "data-encoding", "proc-macro-hack", - "syn 1.0.45", + "syn 1.0.67", ] [[package]] @@ -668,20 +669,20 @@ dependencies = [ [[package]] name = "digest" -version = "0.6.2" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5b29bf156f3f4b3c4f610a25ff69370616ae6e0657d416de22645483e72af0a" +checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" dependencies = [ - "generic-array 0.8.3", + "generic-array 0.12.3", ] [[package]] name = "digest" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" dependencies = [ - "generic-array 0.12.3", + "generic-array 0.14.4", ] [[package]] @@ -691,7 +692,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901" dependencies = [ "libc", - "redox_users", + "redox_users 0.3.5", "winapi 0.3.9", ] @@ -706,27 +707,24 @@ dependencies = [ ] [[package]] -name = "dirs-sys" -version = "0.3.5" +name = "dirs" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e93d7f5705de3e49895a2b5e0b8855a1c27f080192ae9c32a6432d50741a57a" +checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" dependencies = [ - "libc", - "redox_users", - "winapi 0.3.9", + "dirs-sys", ] [[package]] -name = "doc-comment" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" - -[[package]] -name = "dtoa" -version = "0.4.6" +name = "dirs-sys" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134951f4028bdadb9b84baf4232681efbf277da25144b9b0ad65df75946c422b" +checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780" +dependencies = [ + "libc", + "redox_users 0.4.0", + "winapi 0.3.9", +] [[package]] name = "either" @@ -760,15 +758,6 @@ dependencies = [ "syn 0.15.44", ] -[[package]] -name = "error-chain" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6930e04918388a9a2e41d518c25cf679ccafe26733fb4127dbf21993f2575d46" -dependencies = [ - "backtrace", -] - [[package]] name = "error-chain" version = "0.12.4" @@ -784,7 +773,7 @@ version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebdeeea85a6d217b9fcc862906d7e283c047e04114165c433756baf5dce00a6c" dependencies = [ - "error-chain 0.12.4", + "error-chain", "ethereum-types", "rustc-hex", "serde", @@ -822,27 +811,27 @@ dependencies = [ [[package]] name = "ethsign" -version = "0.6.1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d29647713ba24ade587139ab8ac200e390ecb49df1e1010f1b2e45e9a0e5e3" +checksum = "b656fefa0b59f41b39000532c69359e927c0f1850186808ccf1586734ac3365f" dependencies = [ "ethsign-crypto", - "libsecp256k1", - "memzero", - "rand 0.6.5", + "libsecp256k1 0.3.5", + "rand 0.7.3", "rustc-hex", "serde", + "zeroize", ] [[package]] name = "ethsign-crypto" -version = "0.1.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0239998cf14901be86d9b30391fe873da495a80ae848016da4b8ff7cacbbc717" +checksum = "4e62e068d05d580a2504f51e2a242a9ea4a0cd2a6ba378e13de390efcc1b1753" dependencies = [ "aes-ctr", "hmac 0.7.1", - "pbkdf2", + "pbkdf2 0.3.0", "scrypt", "sha2 0.8.2", "tiny-keccak", @@ -866,7 +855,7 @@ checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.45", + "syn 1.0.67", "synstructure", ] @@ -890,9 +879,9 @@ checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" [[package]] name = "fdlimit" -version = "0.1.4" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0da54a593b34c71b889ee45f5b5bb900c74148c5f7f8c6a9479ee7899f69603c" +checksum = "2c4c9e43643f5a3be4ca5b67d26b98031ff9db6806c3440ae32e02e3ceac3f1b" dependencies = [ "libc", ] @@ -936,15 +925,18 @@ dependencies = [ [[package]] name = "flexi_logger" -version = "0.14.8" +version = "0.15.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "515fb7f6541dafe542c87c12a7ab6a52190cccb6c348b5951ef62d9978189ae8" +checksum = "aaab3caedb4149800f91e8e4899f29cd9ddf3b569b04c365ca9334f92f7542bf" dependencies = [ + "atty", "chrono", "flate2", "glob", - "log 0.4.11", + "lazy_static", + "log 0.4.14", "regex", + "thiserror", "yansi", ] @@ -969,6 +961,16 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +[[package]] +name = "form_urlencoded" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +dependencies = [ + "matches", + "percent-encoding 2.1.0", +] + [[package]] name = "fuchsia-cprng" version = "0.1.1" @@ -993,9 +995,24 @@ checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" [[package]] name = "futures" -version = "0.1.30" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" + +[[package]] +name = "futures-channel" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fc8cd39e3dbf865f7340dce6a2d401d24fd37c6fe6c4f0ee0de8bfca2252d27" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7e4c2612746b0df8fed4ce0c69156021b704c9aefa360311c04e6e9e002eed" +checksum = "629316e42fe7c2a0b9a65b47d159ceaa5453ab14e8f0a3c5eedbb8cd55b4a445" [[package]] name = "futures-cpupool" @@ -1008,13 +1025,27 @@ dependencies = [ ] [[package]] -name = "generic-array" -version = "0.8.3" +name = "futures-sink" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "996c6442437b62d21a32cd9906f9c41e7dc1e19a9579843fad948696769305af" + +[[package]] +name = "futures-task" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fceb69994e330afed50c93524be68c42fa898c2d9fd4ee8da03bd7363acd26f2" +checksum = "dabf1872aaab32c886832f2276d2f5399887e2bd613698a02359e4ea83f8de12" + +[[package]] +name = "futures-util" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d22213122356472061ac0f1ab2cee28d2bac8491410fd68c2af53d1cedb83e" dependencies = [ - "nodrop", - "typenum", + "futures-core", + "futures-task", + "pin-project-lite", + "pin-utils", ] [[package]] @@ -1026,6 +1057,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 0.9.2", +] + [[package]] name = "getrandom" version = "0.1.15" @@ -1035,13 +1076,25 @@ dependencies = [ "cfg-if 0.1.10", "libc", "wasi 0.9.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.10.0+wasi-snapshot-preview1", ] [[package]] name = "gimli" -version = "0.22.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaf91faf136cb47367fa430cd46e37a788775e7fa104f8b4bcb3861dc389b724" +checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4" [[package]] name = "glob" @@ -1056,17 +1109,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462" dependencies = [ "byteorder", - "bytes", + "bytes 0.4.12", "fnv", "futures", - "http", + "http 0.1.21", "indexmap", - "log 0.4.11", + "log 0.4.14", "slab 0.4.2", "string", "tokio-io", ] +[[package]] +name = "h2" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fd819562fcebdac5afc5c113c3ec36f902840b70fd4fc458799c8ce4607ae55" +dependencies = [ + "bytes 1.1.0", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 0.2.5", + "indexmap", + "slab 0.4.2", + "tokio 1.13.0", + "tokio-util", + "tracing", +] + [[package]] name = "half" version = "1.6.0" @@ -1075,19 +1147,27 @@ checksum = "d36fab90f82edc3c747f9d438e06cf0a491055896f2a279638bb5beed6c40177" [[package]] name = "hashbrown" -version = "0.1.8" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" + +[[package]] +name = "hashbrown" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bae29b6653b3412c2e71e9d486db9f9df5d701941d86683005efb9f2d28e3da" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" dependencies = [ - "byteorder", - "scopeguard 0.3.3", + "ahash", ] [[package]] -name = "hashbrown" -version = "0.9.1" +name = "hashlink" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" +checksum = "7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf" +dependencies = [ + "hashbrown 0.11.2", +] [[package]] name = "heapsize" @@ -1100,9 +1180,9 @@ dependencies = [ [[package]] name = "heck" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" dependencies = [ "unicode-segmentation", ] @@ -1117,15 +1197,10 @@ dependencies = [ ] [[package]] -name = "hmac" -version = "0.4.2" +name = "hex" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a13f4163aa0c5ca1be584aace0e2212b2e41be5478218d4f657f5f778b2ae2a" -dependencies = [ - "crypto-mac 0.4.0", - "digest 0.6.2", - "generic-array 0.8.3", -] +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hmac" @@ -1137,15 +1212,36 @@ dependencies = [ "digest 0.8.1", ] +[[package]] +name = "hmac" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" +dependencies = [ + "crypto-mac 0.8.0", + "digest 0.9.0", +] + [[package]] name = "hmac-drbg" -version = "0.1.2" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b" +dependencies = [ + "digest 0.8.1", + "generic-array 0.12.3", + "hmac 0.7.1", +] + +[[package]] +name = "hmac-drbg" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fe727d41d2eec0a6574d887914347e5ff96a3b87177817e2a9820c5c87fecc2" +checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" dependencies = [ - "digest 0.6.2", - "generic-array 0.8.3", - "hmac 0.4.2", + "digest 0.9.0", + "generic-array 0.14.4", + "hmac 0.8.1", ] [[package]] @@ -1165,7 +1261,18 @@ version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6ccf5ede3a895d8856620237b2f02972c1bbc78d2965ad7fe8838d4a0ed41f0" dependencies = [ - "bytes", + "bytes 0.4.12", + "fnv", + "itoa", +] + +[[package]] +name = "http" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1323096b05d41827dadeaee54c9981958c0f94e670bc94ed80037d1a7b8b186b" +dependencies = [ + "bytes 1.1.0", "fnv", "itoa", ] @@ -1176,17 +1283,34 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6741c859c1b2463a423a1dbce98d418e6c3c3fc720fb0d45528657320920292d" dependencies = [ - "bytes", + "bytes 0.4.12", "futures", - "http", + "http 0.1.21", "tokio-buf", ] +[[package]] +name = "http-body" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ff4f84919677303da5f147645dbea6b1881f368d03ac84e1dc09031ebd7b2c6" +dependencies = [ + "bytes 1.1.0", + "http 0.2.5", + "pin-project-lite", +] + [[package]] name = "httparse" -version = "1.3.4" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9" +checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503" + +[[package]] +name = "httpdate" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440" [[package]] name = "hyper" @@ -1203,7 +1327,7 @@ dependencies = [ "time", "traitobject", "typeable", - "unicase 1.4.2", + "unicase", "url 1.7.2", ] @@ -1213,20 +1337,20 @@ version = "0.12.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dbe6ed1438e1f8ad955a4701e9a944938e9519f6888d12d8558b645e247d5f6" dependencies = [ - "bytes", + "bytes 0.4.12", "futures", "futures-cpupool", - "h2", - "http", - "http-body", + "h2 0.1.26", + "http 0.1.21", + "http-body 0.1.0", "httparse", "iovec", "itoa", - "log 0.4.11", + "log 0.4.14", "net2", "rustc_version", "time", - "tokio", + "tokio 0.1.22", "tokio-buf", "tokio-executor", "tokio-io", @@ -1234,7 +1358,31 @@ dependencies = [ "tokio-tcp", "tokio-threadpool", "tokio-timer 0.2.13", - "want", + "want 0.2.0", +] + +[[package]] +name = "hyper" +version = "0.14.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b91bb1f221b6ea1f1e4371216b70f40748774c2fb5971b450c07773fb92d26b" +dependencies = [ + "bytes 1.1.0", + "futures-channel", + "futures-core", + "futures-util", + "h2 0.3.7", + "http 0.2.5", + "http-body 0.4.4", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2 0.4.2", + "tokio 1.13.0", + "tower-service", + "tracing", + "want 0.3.0", ] [[package]] @@ -1243,13 +1391,26 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a800d6aa50af4b5850b2b0f659625ce9504df908e9733b635720483be26174f" dependencies = [ - "bytes", + "bytes 0.4.12", "futures", "hyper 0.12.35", "native-tls", "tokio-io", ] +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes 1.1.0", + "hyper 0.14.14", + "native-tls", + "tokio 1.13.0", + "tokio-native-tls", +] + [[package]] name = "idna" version = "0.1.5" @@ -1320,25 +1481,20 @@ dependencies = [ [[package]] name = "indoc" -version = "0.3.6" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47741a8bc60fb26eb8d6e0238bbb26d8575ff623fdc97b1a2c00c050b9684ed8" +checksum = "e5a75aeaaef0ce18b58056d306c27b07436fbb34b8816c53094b76dd81803136" dependencies = [ - "indoc-impl", - "proc-macro-hack", + "unindent", ] [[package]] -name = "indoc-impl" -version = "0.3.6" +name = "instant" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce046d161f000fffde5f432a0d034d0341dc152643b2598ed5bfce44c4f3a8f0" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ - "proc-macro-hack", - "proc-macro2 1.0.24", - "quote 1.0.7", - "syn 1.0.45", - "unindent", + "cfg-if 1.0.0", ] [[package]] @@ -1350,36 +1506,29 @@ dependencies = [ "libc", ] -[[package]] -name = "ipconfig" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f7eadeaf4b52700de180d147c4805f199854600b36faa963d91114827b2ffc" -dependencies = [ - "error-chain 0.8.1", - "socket2", - "widestring 0.2.2", - "winapi 0.3.9", - "winreg 0.5.1", -] - [[package]] name = "ipconfig" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7" dependencies = [ - "socket2", - "widestring 0.4.3", + "socket2 0.3.15", + "widestring", "winapi 0.3.9", "winreg 0.6.2", ] +[[package]] +name = "ipnet" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9" + [[package]] name = "itertools" -version = "0.8.2" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484" +checksum = "69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf" dependencies = [ "either", ] @@ -1390,6 +1539,15 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6" +[[package]] +name = "js-sys" +version = "0.3.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84" +dependencies = [ + "wasm-bindgen", +] + [[package]] name = "jsonrpc-core" version = "11.0.0" @@ -1397,7 +1555,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97b83fdc5e0218128d0d270f2f2e7a5ea716f3240c8518a58bc89e6716ba8581" dependencies = [ "futures", - "log 0.4.11", + "log 0.4.14", "serde", "serde_derive", "serde_json", @@ -1427,24 +1585,74 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.97" +version = "0.2.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" +checksum = "fbe5e23404da5b4f555ef85ebed98fb4083e55a00c317800bc2a50ede9f3d219" [[package]] name = "libsecp256k1" -version = "0.2.2" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fc1e2c808481a63dc6da2074752fdd4336a3c8fcc68b83db6f1fd5224ae7962" +dependencies = [ + "arrayref", + "crunchy", + "digest 0.8.1", + "hmac-drbg 0.2.0", + "rand 0.7.3", + "sha2 0.8.2", + "subtle 2.4.1", + "typenum", +] + +[[package]] +name = "libsecp256k1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "688e8d65e495567c2c35ea0001b26b9debf0b4ea11f8cccc954233b75fc3428a" +checksum = "b0452aac8bab02242429380e9b2f94ea20cea2b37e2c1777a1358799bbe97f37" dependencies = [ "arrayref", - "digest 0.6.2", - "hmac-drbg", - "rand 0.4.6", - "sha2 0.6.0", + "base64 0.13.0", + "digest 0.9.0", + "hmac-drbg 0.3.0", + "libsecp256k1-core", + "libsecp256k1-gen-ecmult", + "libsecp256k1-gen-genmult", + "rand 0.8.4", + "serde", + "sha2 0.9.8", "typenum", ] +[[package]] +name = "libsecp256k1-core" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" +dependencies = [ + "crunchy", + "digest 0.9.0", + "subtle 2.4.1", +] + +[[package]] +name = "libsecp256k1-gen-ecmult" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3038c808c55c87e8a172643a7d87187fc6c4174468159cb3090659d55bcb4809" +dependencies = [ + "libsecp256k1-core", +] + +[[package]] +name = "libsecp256k1-gen-genmult" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db8d6ba2cec9eacc40e6e8ccc98931840301f1006e95647ceb2dd5c3aa06f7c" +dependencies = [ + "libsecp256k1-core", +] + [[package]] name = "libsodium-sys" version = "0.2.6" @@ -1458,9 +1666,9 @@ dependencies = [ [[package]] name = "libsqlite3-sys" -version = "0.16.0" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5b95e89c330291768dc840238db7f9e204fd208511ab6319b56193a7f2ae25" +checksum = "abd5850c449b40bacb498b2bbdfaff648b1b055630073ba8db499caf2d0ea9f2" dependencies = [ "cc", "pkg-config", @@ -1486,30 +1694,29 @@ checksum = "8dd5a6d5999d9907cda8ed67bbd137d3af8085216c2ac62de5be860bd41f304a" [[package]] name = "lock_api" -version = "0.1.5" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c" +checksum = "ed946d4529956a20f2d63ebe1b69996d5a2137c91913fe3ebbeff957f5bca7ff" dependencies = [ - "owning_ref", - "scopeguard 0.3.3", + "scopeguard", ] [[package]] name = "lock_api" -version = "0.2.0" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed946d4529956a20f2d63ebe1b69996d5a2137c91913fe3ebbeff957f5bca7ff" +checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75" dependencies = [ - "scopeguard 1.1.0", + "scopeguard", ] [[package]] name = "lock_api" -version = "0.3.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75" +checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109" dependencies = [ - "scopeguard 1.1.0", + "scopeguard", ] [[package]] @@ -1518,16 +1725,16 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" dependencies = [ - "log 0.4.11", + "log 0.4.14", ] [[package]] name = "log" -version = "0.4.11" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b" +checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" dependencies = [ - "cfg-if 0.1.10", + "cfg-if 1.0.0", ] [[package]] @@ -1544,12 +1751,12 @@ name = "masq" version = "1.0.0" dependencies = [ "clap", - "crossbeam-channel 0.5.0", + "crossbeam-channel", "ctrlc", "lazy_static", "linefeed", "masq_lib", - "nix 0.20.0", + "nix 0.23.0", "regex", "websocket", ] @@ -1561,10 +1768,10 @@ dependencies = [ "actix", "clap", "const_format", - "crossbeam-channel 0.5.0", + "crossbeam-channel", "itertools", "lazy_static", - "nix 0.20.0", + "nix 0.23.0", "regex", "serde", "serde_derive", @@ -1595,9 +1802,9 @@ checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" [[package]] name = "memchr" -version = "2.3.3" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400" +checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" [[package]] name = "memoffset" @@ -1608,6 +1815,15 @@ dependencies = [ "autocfg 1.0.1", ] +[[package]] +name = "memoffset" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9" +dependencies = [ + "autocfg 1.0.1", +] + [[package]] name = "memzero" version = "0.1.0" @@ -1629,16 +1845,6 @@ version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" -[[package]] -name = "mime_guess" -version = "2.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212" -dependencies = [ - "mime 0.3.16", - "unicase 2.6.0", -] - [[package]] name = "miniz_oxide" version = "0.4.3" @@ -1661,13 +1867,26 @@ dependencies = [ "iovec", "kernel32-sys", "libc", - "log 0.4.11", - "miow", + "log 0.4.14", + "miow 0.2.1", "net2", "slab 0.4.2", "winapi 0.2.8", ] +[[package]] +name = "mio" +version = "0.7.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" +dependencies = [ + "libc", + "log 0.4.14", + "miow 0.3.7", + "ntapi", + "winapi 0.3.9", +] + [[package]] name = "mio-uds" version = "0.6.8" @@ -1676,7 +1895,7 @@ checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0" dependencies = [ "iovec", "libc", - "mio", + "mio 0.6.22", ] [[package]] @@ -1691,6 +1910,15 @@ dependencies = [ "ws2_32-sys", ] +[[package]] +name = "miow" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" +dependencies = [ + "winapi 0.3.9", +] + [[package]] name = "mortal" version = "0.2.2" @@ -1711,8 +1939,8 @@ dependencies = [ name = "multinode_integration_tests" version = "1.0.0" dependencies = [ - "base64 0.10.1", - "crossbeam-channel 0.5.0", + "base64 0.13.0", + "crossbeam-channel", "ethereum-types", "ethsign-crypto", "futures", @@ -1732,19 +1960,19 @@ dependencies = [ "sha1", "tiny-bip39", "tiny-hderive", - "uint 0.8.5", + "uint 0.9.1", "web3", ] [[package]] name = "native-tls" -version = "0.2.4" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b0d88c06fe90d5ee94048ba40409ef1d9315d86f6f38c2efdaad4fb50c58b2d" +checksum = "48ba9f7719b5a0f42f338907614285fb5fd70e53858141f69898a1fb7203b24d" dependencies = [ "lazy_static", "libc", - "log 0.4.11", + "log 0.4.14", "openssl", "openssl-probe", "openssl-sys", @@ -1786,14 +2014,15 @@ dependencies = [ [[package]] name = "nix" -version = "0.20.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa9b4819da1bc61c0ea48b63b7bc8604064dd43013e7cc325df098d49cd7c18a" +checksum = "f305c2c2e4c39a82f7bf0bf65fb557f9070ce06781d4f2454295cc34b1c43188" dependencies = [ "bitflags", "cc", "cfg-if 1.0.0", "libc", + "memoffset 0.6.4", ] [[package]] @@ -1802,15 +2031,15 @@ version = "1.0.0" dependencies = [ "actix", "backtrace", - "base58", - "base64 0.10.1", - "bytes", + "base58 0.2.0", + "base64 0.13.0", + "bytes 0.4.12", "chrono", "clap", - "core-foundation 0.6.4", - "crossbeam-channel 0.5.0", + "core-foundation 0.7.0", + "crossbeam-channel", "daemonize", - "dirs 2.0.2", + "dirs 4.0.0", "ethereum-types", "ethsign", "ethsign-crypto", @@ -1818,22 +2047,22 @@ dependencies = [ "flexi_logger", "futures", "heck", - "http", + "http 0.2.5", "indoc", - "ipconfig 0.2.2", + "ipconfig", "itertools", "jsonrpc-core", "lazy_static", "libc", - "libsecp256k1", - "log 0.4.11", + "libsecp256k1 0.7.0", + "log 0.4.14", "masq_lib", "native-tls", - "nix 0.20.0", + "nix 0.23.0", "openssl", "pretty-hex", "primitive-types 0.5.1", - "rand 0.7.3", + "rand 0.8.4", "regex", "rlp", "rpassword", @@ -1852,16 +2081,16 @@ dependencies = [ "system-configuration", "tiny-bip39", "tiny-hderive", - "tokio", + "tokio 0.1.22", "tokio-core", "toml", "trust-dns", - "trust-dns-proto 0.8.0", - "trust-dns-resolver 0.12.0", + "trust-dns-proto", + "trust-dns-resolver", "unindent", "web3", "websocket", - "winreg 0.7.0", + "winreg 0.10.1", ] [[package]] @@ -1920,24 +2149,18 @@ dependencies = [ [[package]] name = "object" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37fd5004feb2ce328a52b0b3d01dbf4ffff72583493900ed15f22d4111c51693" - -[[package]] -name = "once_cell" -version = "0.1.8" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "532c29a261168a45ce28948f9537ddd7a5dd272cc513b3017b1e82a88f962c37" +checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9" dependencies = [ - "parking_lot 0.7.1", + "memchr", ] [[package]] name = "once_cell" -version = "1.4.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "260e51e7efe62b592207e9e13a68e43692a7a279171d6ba57abd208bf23645ad" +checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" [[package]] name = "opaque-debug" @@ -1945,17 +2168,23 @@ 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" -version = "0.10.30" +version = "0.10.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d575eff3665419f9b83678ff2815858ad9d11567e082f5ac1814baba4e2bcb4" +checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95" dependencies = [ "bitflags", - "cfg-if 0.1.10", + "cfg-if 1.0.0", "foreign-types", - "lazy_static", "libc", + "once_cell", "openssl-sys", ] @@ -1967,18 +2196,18 @@ checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" [[package]] name = "openssl-src" -version = "111.12.0+1.1.1h" +version = "300.0.2+3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "858a4132194f8570a7ee9eb8629e85b23cbc4565f2d4a162e87556e5956abf61" +checksum = "14a760a11390b1a5daf72074d4f6ff1a6e772534ae191f999f57e9ee8146d1fb" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.58" +version = "0.9.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a842db4709b604f0fe5d1170ae3565899be2ad3d9cbc72dedc789ac0511f78de" +checksum = "c6517987b3f8226b5da3661dad65ff7f300cc59fb5ea8333ca191fc65fde3edf" dependencies = [ "autocfg 1.0.1", "cc", @@ -1988,15 +2217,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "owning_ref" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff55baddef9e4ad00f88b6c743a2a8062d4c6ade126c2a528644b8e444d52ce" -dependencies = [ - "stable_deref_trait", -] - [[package]] name = "parity-codec" version = "3.5.4" @@ -2019,16 +2239,6 @@ dependencies = [ "serde", ] -[[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.8.0" @@ -2052,16 +2262,14 @@ dependencies = [ ] [[package]] -name = "parking_lot_core" -version = "0.4.0" +name = "parking_lot" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ - "libc", - "rand 0.6.5", - "rustc_version", - "smallvec 0.6.13", - "winapi 0.3.9", + "instant", + "lock_api 0.4.5", + "parking_lot_core 0.8.5", ] [[package]] @@ -2074,7 +2282,7 @@ dependencies = [ "cloudabi", "libc", "rand 0.6.5", - "redox_syscall", + "redox_syscall 0.1.57", "rustc_version", "smallvec 0.6.13", "winapi 0.3.9", @@ -2089,12 +2297,26 @@ dependencies = [ "cfg-if 0.1.10", "cloudabi", "libc", - "redox_syscall", + "redox_syscall 0.1.57", "rustc_version", "smallvec 0.6.13", "winapi 0.3.9", ] +[[package]] +name = "parking_lot_core" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" +dependencies = [ + "cfg-if 1.0.0", + "instant", + "libc", + "redox_syscall 0.2.10", + "smallvec 1.6.1", + "winapi 0.3.9", +] + [[package]] name = "pbkdf2" version = "0.3.0" @@ -2106,6 +2328,15 @@ dependencies = [ "rayon", ] +[[package]] +name = "pbkdf2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" +dependencies = [ + "crypto-mac 0.8.0", +] + [[package]] name = "percent-encoding" version = "1.0.1" @@ -2156,6 +2387,18 @@ dependencies = [ "siphasher", ] +[[package]] +name = "pin-project-lite" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + [[package]] name = "pkg-config" version = "0.3.19" @@ -2170,9 +2413,9 @@ checksum = "c36fa947111f5c62a733b652544dd0016a43ce89619538a8ef92724a6f501a20" [[package]] name = "pretty-hex" -version = "0.1.1" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be91bcc43e73799dc46a6c194a55e7aae1d86cc867c860fd4a436019af21bd8c" +checksum = "bc5c99d529f0d30937f6f4b8a86d988047327bb88d04d2c4afc356de74722131" [[package]] name = "primitive-types" @@ -2225,21 +2468,8 @@ dependencies = [ ] [[package]] -name = "publicsuffix" -version = "1.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bbaa49075179162b49acac1c6aa45fb4dafb5f13cf6794276d77bc7fd95757b" -dependencies = [ - "error-chain 0.12.4", - "idna 0.2.0", - "lazy_static", - "regex", - "url 2.1.1", -] - -[[package]] -name = "quick-error" -version = "1.2.3" +name = "quick-error" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" @@ -2277,18 +2507,6 @@ dependencies = [ "nibble_vec", ] -[[package]] -name = "rand" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" -dependencies = [ - "fuchsia-cprng", - "rand_core 0.3.1", - "rdrand", - "winapi 0.3.9", -] - [[package]] name = "rand" version = "0.5.6" @@ -2327,7 +2545,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" dependencies = [ - "getrandom", + "getrandom 0.1.15", "libc", "rand_chacha 0.2.2", "rand_core 0.5.1", @@ -2335,6 +2553,18 @@ dependencies = [ "rand_pcg 0.2.1", ] +[[package]] +name = "rand" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.3", + "rand_hc 0.3.1", +] + [[package]] name = "rand_chacha" version = "0.1.1" @@ -2355,6 +2585,16 @@ dependencies = [ "rand_core 0.5.1", ] +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.3", +] + [[package]] name = "rand_core" version = "0.3.1" @@ -2376,7 +2616,16 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" dependencies = [ - "getrandom", + "getrandom 0.1.15", +] + +[[package]] +name = "rand_core" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +dependencies = [ + "getrandom 0.2.3", ] [[package]] @@ -2397,6 +2646,15 @@ dependencies = [ "rand_core 0.5.1", ] +[[package]] +name = "rand_hc" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" +dependencies = [ + "rand_core 0.6.3", +] + [[package]] name = "rand_isaac" version = "0.1.1" @@ -2461,25 +2719,25 @@ dependencies = [ [[package]] name = "rayon" -version = "1.4.1" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf6960dc9a5b4ee8d3e4c5787b4a112a8818e0290a42ff664ad60692fdf2032" +checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" dependencies = [ "autocfg 1.0.1", - "crossbeam-deque", + "crossbeam-deque 0.8.1", "either", "rayon-core", ] [[package]] name = "rayon-core" -version = "1.8.1" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c4fec834fb6e6d2dd5eece3c7b432a52f0ba887cf40e595190c4107edc08bf" +checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" dependencies = [ - "crossbeam-channel 0.4.4", - "crossbeam-deque", - "crossbeam-utils 0.7.2", + "crossbeam-channel", + "crossbeam-deque 0.8.1", + "crossbeam-utils 0.8.5", "lazy_static", "num_cpus", ] @@ -2499,34 +2757,52 @@ version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" +[[package]] +name = "redox_syscall" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" +dependencies = [ + "bitflags", +] + [[package]] name = "redox_users" version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d" dependencies = [ - "getrandom", - "redox_syscall", + "getrandom 0.1.15", + "redox_syscall 0.1.57", "rust-argon2", ] +[[package]] +name = "redox_users" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" +dependencies = [ + "getrandom 0.2.3", + "redox_syscall 0.2.10", +] + [[package]] name = "regex" -version = "1.4.1" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8963b85b8ce3074fecffde43b4b0dded83ce2f367dc8d363afc56679f3ee820b" +checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" dependencies = [ "aho-corasick", "memchr", "regex-syntax", - "thread_local", ] [[package]] name = "regex-syntax" -version = "0.6.20" +version = "0.6.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cab7a364d15cde1e505267766a2d3c4e22a843e1a601f0fa7564c0f82ced11c" +checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" [[package]] name = "remove_dir_all" @@ -2539,36 +2815,37 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.9.24" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f88643aea3c1343c804950d7bf983bd2067f5ab59db6d613a08e05572f2714ab" +checksum = "66d2927ca2f685faf0fc620ac4834690d29e7abb153add10f5812eef20b5e280" dependencies = [ - "base64 0.10.1", - "bytes", - "cookie", - "cookie_store", + "base64 0.13.0", + "bytes 1.1.0", "encoding_rs", - "flate2", - "futures", - "http", - "hyper 0.12.35", - "hyper-tls", - "log 0.4.11", + "futures-core", + "futures-util", + "http 0.2.5", + "http-body 0.4.4", + "hyper 0.14.14", + "hyper-tls 0.5.0", + "ipnet", + "js-sys", + "lazy_static", + "log 0.4.14", "mime 0.3.16", - "mime_guess", "native-tls", + "percent-encoding 2.1.0", + "pin-project-lite", "serde", "serde_json", "serde_urlencoded", - "time", - "tokio", - "tokio-executor", - "tokio-io", - "tokio-threadpool", - "tokio-timer 0.2.13", - "url 1.7.2", - "uuid", - "winreg 0.6.2", + "tokio 1.13.0", + "tokio-native-tls", + "url 2.2.2", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg 0.7.0", ] [[package]] @@ -2592,9 +2869,9 @@ dependencies = [ [[package]] name = "rpassword" -version = "4.0.5" +version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99371657d3c8e4d816fb6221db98fa408242b0b53bac08f8676a41f8554fe99f" +checksum = "ffc936cf8a7ea60c58f030fd36a612a48f440610214dc54bc36431f9ea0c3efb" dependencies = [ "libc", "winapi 0.3.9", @@ -2602,17 +2879,17 @@ dependencies = [ [[package]] name = "rusqlite" -version = "0.20.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a194373ef527035645a1bc21b10dc2125f73497e6e155771233eb187aedd051" +checksum = "8a82b0b91fad72160c56bf8da7a549b25d7c31109f52cc1437eac4c0ad2550a7" dependencies = [ "bitflags", "fallible-iterator", "fallible-streaming-iterator", + "hashlink", "libsqlite3-sys", - "lru-cache", "memchr", - "time", + "smallvec 1.6.1", ] [[package]] @@ -2633,6 +2910,12 @@ version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2610b7f643d18c87dff3b489950269617e6601a51f1f05aa5daefee36f64f0b" +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + [[package]] name = "rustc-hex" version = "2.1.0" @@ -2682,12 +2965,6 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8" -[[package]] -name = "scopeguard" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" - [[package]] name = "scopeguard" version = "1.1.0" @@ -2701,35 +2978,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "656c79d0e90d0ab28ac86bf3c3d10bfbbac91450d3f190113b4e76d9fec3cfdd" dependencies = [ "base64 0.9.3", - "byte-tools 0.3.1", + "byte-tools", "byteorder", "hmac 0.7.1", - "pbkdf2", + "pbkdf2 0.3.0", "rand 0.5.6", "sha2 0.8.2", - "subtle", + "subtle 1.0.0", ] [[package]] name = "security-framework" -version = "0.4.4" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64808902d7d99f78eaddd2b4e2509713babc3dc3c85ad6f4c447680f3c01e535" +checksum = "525bc1abfda2e1998d152c45cf13e696f76d0a4972310b22fac1658b05df7c87" dependencies = [ "bitflags", - "core-foundation 0.7.0", - "core-foundation-sys 0.7.0", + "core-foundation 0.9.2", + "core-foundation-sys 0.8.3", "libc", "security-framework-sys", ] [[package]] name = "security-framework-sys" -version = "0.4.3" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17bf11d99252f512695eb468de5516e5cf75455521e69dfe343f3b74e4748405" +checksum = "a9dd14d83160b528b7bfd66439110573efcfbe281b17fc2ca9f39f550d619c7e" dependencies = [ - "core-foundation-sys 0.7.0", + "core-foundation-sys 0.8.3", "libc", ] @@ -2750,40 +3027,39 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.117" +version = "1.0.130" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b88fa983de7720629c9387e9f517353ed404164b1e482c970a90c1a4aaf7dc1a" +checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913" dependencies = [ "serde_derive", ] [[package]] name = "serde_cbor" -version = "0.10.2" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7081ed758ec726a6ed8ee7e92f5d3f6e6f8c3901b1f972e3a4a2f2599fad14f" +checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5" dependencies = [ - "byteorder", "half", "serde", ] [[package]] name = "serde_derive" -version = "1.0.117" +version = "1.0.130" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbd1ae72adb44aab48f325a02444a5fc079349a8d804c1fc922aed3f7454c74e" +checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.45", + "syn 1.0.67", ] [[package]] name = "serde_json" -version = "1.0.59" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcac07dbffa1c65e7f816ab9eba78eb142c6d44410f4eeba1e26e4f5dfa56b95" +checksum = "e466864e431129c7e0d3476b92f20458e5879919a0596c6472738d9fa2d342f8" dependencies = [ "itoa", "ryu", @@ -2792,33 +3068,36 @@ dependencies = [ [[package]] name = "serde_urlencoded" -version = "0.5.5" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "642dd69105886af2efd227f75a520ec9b44a820d65bc133a9131f7d229fd165a" +checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9" dependencies = [ - "dtoa", + "form_urlencoded", "itoa", + "ryu", "serde", - "url 1.7.2", ] [[package]] name = "serial_test" -version = "0.2.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50bfbc39343545618d97869d77f38ed43e48dd77432717dbc7ed39d797f3ecbe" +checksum = "e0bccbcf40c8938196944a3da0e133e031a33f4d6b72db3bda3cc556e361905d" dependencies = [ "lazy_static", + "parking_lot 0.11.2", + "serial_test_derive", ] [[package]] name = "serial_test_derive" -version = "0.2.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89dd85be2e2ad75b041c9df2892ac078fa6e0b90024028b2b9fb4125b7530f01" +checksum = "b2acd6defeddb41eb60bb468f8825d0cfd0c2a76bc03bfd235b6a1dc4f6a1ad5" dependencies = [ - "quote 0.6.13", - "syn 0.15.44", + "proc-macro2 1.0.24", + "quote 1.0.7", + "syn 1.0.67", ] [[package]] @@ -2830,7 +3109,7 @@ dependencies = [ "block-buffer 0.7.3", "digest 0.8.1", "fake-simd", - "opaque-debug", + "opaque-debug 0.2.3", ] [[package]] @@ -2841,36 +3120,35 @@ checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" [[package]] name = "sha2" -version = "0.6.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d963c78ce367df26d7ea8b8cc655c651b42e8a1e584e869c1e17dae3ccb116a" +checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" dependencies = [ - "block-buffer 0.2.0", - "byte-tools 0.2.0", - "digest 0.6.2", + "block-buffer 0.7.3", + "digest 0.8.1", "fake-simd", - "generic-array 0.8.3", + "opaque-debug 0.2.3", ] [[package]] name = "sha2" -version = "0.8.2" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" +checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa" dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", - "fake-simd", - "opaque-debug", + "block-buffer 0.9.0", + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.9.0", + "opaque-debug 0.3.0", ] [[package]] name = "signal-hook-registry" -version = "1.2.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e12110bc539e657a646068aaf5eb5b63af9d0c1f7b29c97113fad80e15f035" +checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" dependencies = [ - "arc-swap", "libc", ] @@ -2880,7 +3158,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b47624fcb3e3416bd7f764b2319875043ce22b0eff78f5c7684de07c88ba5761" dependencies = [ - "http", + "http 0.1.21", "httparse", "log 0.3.9", "num_cpus", @@ -2938,7 +3216,17 @@ checksum = "b1fa70dc5c8104ec096f4fe7ede7a221d35ae13dcd19ba1ad9a81d2cab9a1c44" dependencies = [ "cfg-if 0.1.10", "libc", - "redox_syscall", + "redox_syscall 0.1.57", + "winapi 0.3.9", +] + +[[package]] +name = "socket2" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516" +dependencies = [ + "libc", "winapi 0.3.9", ] @@ -2953,12 +3241,6 @@ dependencies = [ "serde", ] -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - [[package]] name = "static_assertions" version = "0.2.5" @@ -2986,7 +3268,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d" dependencies = [ - "bytes", + "bytes 0.4.12", ] [[package]] @@ -3001,6 +3283,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" +[[package]] +name = "subtle" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" + [[package]] name = "syn" version = "0.15.44" @@ -3014,9 +3302,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.45" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea9c5432ff16d6152371f808fb5a871cd67368171b09bb21b43df8e4a47a3556" +checksum = "6498a9efc342871f91cc2d0d694c674368b4ceb40f62b65a7a08c3792935e702" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", @@ -3031,42 +3319,43 @@ checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.45", + "syn 1.0.67", "unicode-xid 0.2.1", ] [[package]] name = "sysinfo" -version = "0.15.3" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67330cbee3b2a819e3365a773f05e884a136603687f812bf24db5b6c3d76b696" +checksum = "fb6c2c4a6ca462f07ca89841a2618dca6e405304d19ae238997e64915d89f513" dependencies = [ - "cfg-if 0.1.10", - "doc-comment", + "cfg-if 1.0.0", + "core-foundation-sys 0.8.3", "libc", "ntapi", - "once_cell 1.4.1", + "once_cell", "rayon", "winapi 0.3.9", ] [[package]] name = "system-configuration" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3dc3e701a89dd6764083d19f048b57ec01c26d0904ff8108a507059a6462e6" +checksum = "dd4bc0637a2b8c0b1a5145cca3e21b707865edc7e32285771536af1ade129468" dependencies = [ - "core-foundation 0.6.4", + "bitflags", + "core-foundation 0.7.0", "system-configuration-sys", ] [[package]] name = "system-configuration-sys" -version = "0.3.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfd906a2882d54084bfdf517bf03892ac06820f1c0a3d37e48609f334798ad99" +checksum = "269e271436d8e4bb2621c535a11fe03d5d012f74b19af72f80288f3a72f6180a" dependencies = [ - "core-foundation-sys 0.6.2", + "core-foundation-sys 0.7.0", "libc", ] @@ -3079,7 +3368,7 @@ dependencies = [ "cfg-if 0.1.10", "libc", "rand 0.7.3", - "redox_syscall", + "redox_syscall 0.1.57", "remove_dir_all", "winapi 0.3.9", ] @@ -3107,12 +3396,23 @@ dependencies = [ ] [[package]] -name = "thread_local" -version = "1.0.1" +name = "thiserror" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14" +checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" dependencies = [ - "lazy_static", + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" +dependencies = [ + "proc-macro2 1.0.24", + "quote 1.0.7", + "syn 1.0.67", ] [[package]] @@ -3128,28 +3428,32 @@ dependencies = [ [[package]] name = "tiny-bip39" -version = "0.6.2" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1c5676413eaeb1ea35300a0224416f57abc3bd251657e0fafc12c47ff98c060" +checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d" dependencies = [ - "failure", - "hashbrown 0.1.8", - "hmac 0.7.1", - "once_cell 0.1.8", - "pbkdf2", - "rand 0.6.5", - "sha2 0.8.2", + "anyhow", + "hmac 0.8.1", + "once_cell", + "pbkdf2 0.4.0", + "rand 0.7.3", + "rustc-hash", + "sha2 0.9.8", + "thiserror", + "unicode-normalization", + "wasm-bindgen", + "zeroize", ] [[package]] name = "tiny-hderive" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843479427369dcfdf7c56ff1d1a2bbeca4c15b390ed493f84c77fe08a43eae68" +checksum = "01b874a4992538d4b2f4fbbac11b9419d685f4b39bdc3fed95b04e07bfd76040" dependencies = [ - "base58", + "base58 0.1.0", "hmac 0.7.1", - "libsecp256k1", + "libsecp256k1 0.3.5", "memzero", "sha2 0.8.2", ] @@ -3175,9 +3479,9 @@ version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6" dependencies = [ - "bytes", + "bytes 0.4.12", "futures", - "mio", + "mio 0.6.22", "num_cpus", "tokio-codec", "tokio-current-thread", @@ -3193,13 +3497,31 @@ dependencies = [ "tokio-uds", ] +[[package]] +name = "tokio" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "588b2d10a336da58d877567cd8fb8a14b463e2104910f8132cd054b4b96e29ee" +dependencies = [ + "autocfg 1.0.1", + "bytes 1.1.0", + "libc", + "memchr", + "mio 0.7.14", + "once_cell", + "parking_lot 0.11.2", + "pin-project-lite", + "signal-hook-registry", + "winapi 0.3.9", +] + [[package]] name = "tokio-buf" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fb220f46c53859a4b7ec083e41dec9778ff0b1851c0942b211edb89e0ccdc46" dependencies = [ - "bytes", + "bytes 0.4.12", "either", "futures", ] @@ -3210,24 +3532,24 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b" dependencies = [ - "bytes", + "bytes 0.4.12", "futures", "tokio-io", ] [[package]] name = "tokio-core" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aeeffbbb94209023feaef3c196a41cbcdafa06b4a6f893f68779bb5e53796f71" +checksum = "87b1395334443abca552f63d4f61d0486f12377c2ba8b368e523f89e828cffd4" dependencies = [ - "bytes", + "bytes 0.4.12", "futures", "iovec", - "log 0.4.11", - "mio", + "log 0.4.14", + "mio 0.6.22", "scoped-tls", - "tokio", + "tokio 0.1.22", "tokio-executor", "tokio-io", "tokio-reactor", @@ -3271,9 +3593,19 @@ version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674" dependencies = [ - "bytes", + "bytes 0.4.12", "futures", - "log 0.4.11", + "log 0.4.14", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" +dependencies = [ + "native-tls", + "tokio 1.13.0", ] [[package]] @@ -3285,8 +3617,8 @@ dependencies = [ "crossbeam-utils 0.7.2", "futures", "lazy_static", - "log 0.4.11", - "mio", + "log 0.4.14", + "mio 0.6.22", "num_cpus", "parking_lot 0.9.0", "slab 0.4.2", @@ -3295,23 +3627,6 @@ dependencies = [ "tokio-sync", ] -[[package]] -name = "tokio-signal" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0c34c6e548f101053321cba3da7cbb87a610b85555884c41b07da2eb91aff12" -dependencies = [ - "futures", - "libc", - "mio", - "mio-uds", - "signal-hook-registry", - "tokio-executor", - "tokio-io", - "tokio-reactor", - "winapi 0.3.9", -] - [[package]] name = "tokio-sync" version = "0.1.8" @@ -3328,10 +3643,10 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72" dependencies = [ - "bytes", + "bytes 0.4.12", "futures", "iovec", - "mio", + "mio 0.6.22", "tokio-io", "tokio-reactor", ] @@ -3342,12 +3657,12 @@ version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89" dependencies = [ - "crossbeam-deque", + "crossbeam-deque 0.7.3", "crossbeam-queue", "crossbeam-utils 0.7.2", "futures", "lazy_static", - "log 0.4.11", + "log 0.4.14", "num_cpus", "slab 0.4.2", "tokio-executor", @@ -3381,10 +3696,10 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82" dependencies = [ - "bytes", + "bytes 0.4.12", "futures", - "log 0.4.11", - "mio", + "log 0.4.14", + "mio 0.6.22", "tokio-codec", "tokio-io", "tokio-reactor", @@ -3396,100 +3711,92 @@ version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab57a4ac4111c8c9dbcf70779f6fc8bc35ae4b2454809febac840ad19bd7e4e0" dependencies = [ - "bytes", + "bytes 0.4.12", "futures", "iovec", "libc", - "log 0.4.11", - "mio", + "log 0.4.14", + "mio 0.6.22", "mio-uds", "tokio-codec", "tokio-io", "tokio-reactor", ] +[[package]] +name = "tokio-util" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0" +dependencies = [ + "bytes 1.1.0", + "futures-core", + "futures-sink", + "log 0.4.14", + "pin-project-lite", + "tokio 1.13.0", +] + [[package]] name = "toml" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75cf45bb0bef80604d001caaec0d09da99611b3c0fd39d3080468875cdb65645" +checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" dependencies = [ "serde", ] [[package]] -name = "traitobject" -version = "0.1.0" +name = "tower-service" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" +checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" [[package]] -name = "trust-dns" -version = "0.17.0" +name = "tracing" +version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f006aceba2c2dedfccede277aa03f74b25ff89ab53ceb1cc5889aea29d7e55f" +checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105" dependencies = [ - "chrono", - "data-encoding", - "data-encoding-macro", - "failure", - "futures", - "lazy_static", - "log 0.4.11", - "radix_trie", - "rand 0.7.3", - "tokio", - "tokio-tcp", - "tokio-udp", - "trust-dns-proto 0.8.0", + "cfg-if 1.0.0", + "pin-project-lite", + "tracing-core", ] [[package]] -name = "trust-dns-proto" -version = "0.5.0" +name = "tracing-core" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0838272e89f1c693b4df38dc353412e389cf548ceed6f9fd1af5a8d6e0e7cf74" +checksum = "1f4ed65637b8390770814083d20756f87bfa2c21bf2f110babdc5438351746e4" dependencies = [ - "byteorder", - "failure", - "futures", - "idna 0.1.5", "lazy_static", - "log 0.4.11", - "rand 0.5.6", - "smallvec 0.6.13", - "socket2", - "tokio-executor", - "tokio-io", - "tokio-reactor", - "tokio-tcp", - "tokio-timer 0.2.13", - "tokio-udp", - "url 1.7.2", ] [[package]] -name = "trust-dns-proto" -version = "0.6.3" +name = "traitobject" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" + +[[package]] +name = "trust-dns" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09144f0992b0870fa8d2972cc069cbf1e3c0fda64d1f3d45c4d68d0e0b52ad4e" +checksum = "8f006aceba2c2dedfccede277aa03f74b25ff89ab53ceb1cc5889aea29d7e55f" dependencies = [ - "byteorder", + "chrono", + "data-encoding", + "data-encoding-macro", "failure", "futures", - "idna 0.1.5", "lazy_static", - "log 0.4.11", - "rand 0.5.6", - "smallvec 0.6.13", - "socket2", - "tokio-executor", - "tokio-io", - "tokio-reactor", + "log 0.4.14", + "radix_trie", + "rand 0.7.3", + "tokio 0.1.22", "tokio-tcp", - "tokio-timer 0.2.13", "tokio-udp", - "url 1.7.2", + "trust-dns-proto", ] [[package]] @@ -3504,36 +3811,17 @@ dependencies = [ "futures", "idna 0.2.0", "lazy_static", - "log 0.4.11", + "log 0.4.14", "rand 0.7.3", "smallvec 0.6.13", - "socket2", + "socket2 0.3.15", "tokio-executor", "tokio-io", "tokio-reactor", "tokio-tcp", "tokio-timer 0.2.13", "tokio-udp", - "url 2.1.1", -] - -[[package]] -name = "trust-dns-resolver" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9f877f7a1ad821ab350505e1f1b146a4960402991787191d6d8cab2ce2de2c" -dependencies = [ - "cfg-if 0.1.10", - "failure", - "futures", - "ipconfig 0.1.9", - "lazy_static", - "log 0.4.11", - "lru-cache", - "resolv-conf", - "smallvec 0.6.13", - "tokio", - "trust-dns-proto 0.6.3", + "url 2.2.2", ] [[package]] @@ -3545,17 +3833,17 @@ dependencies = [ "cfg-if 0.1.10", "failure", "futures", - "ipconfig 0.2.2", + "ipconfig", "lazy_static", - "log 0.4.11", + "log 0.4.14", "lru-cache", "resolv-conf", "smallvec 0.6.13", - "tokio", + "tokio 0.1.22", "tokio-executor", "tokio-tcp", "tokio-udp", - "trust-dns-proto 0.8.0", + "trust-dns-proto", ] [[package]] @@ -3564,15 +3852,6 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" -[[package]] -name = "try_from" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "283d3b89e1368717881a9d51dad843cc435380d8109c9e47d38780a324698d8b" -dependencies = [ - "cfg-if 0.1.10", -] - [[package]] name = "typeable" version = "0.1.2" @@ -3610,21 +3889,24 @@ dependencies = [ ] [[package]] -name = "unicase" -version = "1.4.2" +name = "uint" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33" +checksum = "6470ab50f482bde894a037a57064480a246dbfdd5960bd65a44824693f08da5f" dependencies = [ - "version_check 0.1.5", + "byteorder", + "crunchy", + "hex", + "static_assertions 1.1.0", ] [[package]] name = "unicase" -version = "2.6.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +checksum = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33" dependencies = [ - "version_check 0.9.2", + "version_check 0.1.5", ] [[package]] @@ -3688,24 +3970,16 @@ dependencies = [ [[package]] name = "url" -version = "2.1.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "829d4a8476c35c9bf0bbce5a3b23f4106f79728039b726d292bb93bc106787cb" +checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" dependencies = [ + "form_urlencoded", "idna 0.2.0", "matches", "percent-encoding 2.1.0", ] -[[package]] -name = "uuid" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a" -dependencies = [ - "rand 0.6.5", -] - [[package]] name = "vcpkg" version = "0.2.10" @@ -3743,7 +4017,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230" dependencies = [ "futures", - "log 0.4.11", + "log 0.4.14", + "try-lock", +] + +[[package]] +name = "want" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log 0.4.14", "try-lock", ] @@ -3759,6 +4043,82 @@ version = "0.10.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" +[[package]] +name = "wasm-bindgen" +version = "0.2.78" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce" +dependencies = [ + "cfg-if 1.0.0", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.78" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b" +dependencies = [ + "bumpalo", + "lazy_static", + "log 0.4.14", + "proc-macro2 1.0.24", + "quote 1.0.7", + "syn 1.0.67", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e8d7523cb1f2a4c96c1317ca690031b714a51cc14e05f712446691f413f5d39" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.78" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9" +dependencies = [ + "quote 1.0.7", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.78" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab" +dependencies = [ + "proc-macro2 1.0.24", + "quote 1.0.7", + "syn 1.0.67", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.78" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc" + +[[package]] +name = "web-sys" +version = "0.3.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + [[package]] name = "web3" version = "0.8.0" @@ -3772,9 +4132,9 @@ dependencies = [ "ethereum-types", "futures", "hyper 0.12.35", - "hyper-tls", + "hyper-tls 0.3.2", "jsonrpc-core", - "log 0.4.11", + "log 0.4.14", "native-tls", "parking_lot 0.8.0", "rustc-hex", @@ -3791,7 +4151,7 @@ version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "723abe6b75286edc51d8ecabb38a2353f62a9e9b0588998b59111474f1dcd637" dependencies = [ - "bytes", + "bytes 0.4.12", "futures", "hyper 0.10.16", "rand 0.6.5", @@ -3799,7 +4159,7 @@ dependencies = [ "tokio-io", "tokio-reactor", "tokio-tcp", - "unicase 1.4.2", + "unicase", "url 1.7.2", "websocket-base", ] @@ -3813,7 +4173,7 @@ dependencies = [ "base64 0.10.1", "bitflags", "byteorder", - "bytes", + "bytes 0.4.12", "futures", "rand 0.6.5", "sha-1", @@ -3822,12 +4182,6 @@ dependencies = [ "tokio-tcp", ] -[[package]] -name = "widestring" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7157704c2e12e3d2189c507b7482c52820a16dfa4465ba91add92f266667cadb" - [[package]] name = "widestring" version = "0.4.3" @@ -3870,27 +4224,27 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "winreg" -version = "0.5.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a27a759395c1195c4cc5cda607ef6f8f6498f64e78f7900f5de0a127a424704a" +checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" dependencies = [ "winapi 0.3.9", ] [[package]] name = "winreg" -version = "0.6.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" +checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69" dependencies = [ "winapi 0.3.9", ] [[package]] name = "winreg" -version = "0.7.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" dependencies = [ "winapi 0.3.9", ] @@ -3910,3 +4264,24 @@ name = "yansi" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9fc79f4a1e39857fc00c3f662cbf2651c771f00e9c15fe2abc341806bd46bd71" + +[[package]] +name = "zeroize" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d68d9dcec5f9b43a30d38c49f91dfedfaac384cb8f085faca366c26207dd1619" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65f1a51723ec88c66d5d1fe80c841f17f63587d6691901d66be9bec6c3b51f73" +dependencies = [ + "proc-macro2 1.0.24", + "quote 1.0.7", + "syn 1.0.67", + "synstructure", +] diff --git a/node/Cargo.toml b/node/Cargo.toml index b4b5a1d46..74ac2f5f7 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -11,75 +11,75 @@ edition = "2021" members = ["../multinode_integration_tests", "../masq_lib", "../masq"] [dependencies] -actix = "= 0.7.9" -backtrace = "0.3.35" -base64 = "0.10.1" +actix = "0.12.0" +backtrace = "0.3.62" +base64 = "0.13.0" bytes = "0.4.12" -chrono = "0.4.7" +chrono = "0.4.19" clap = "2.33.3" -crossbeam-channel = "0.5.0" -dirs = "2.0.2" -ethsign = {version = "0.6.1", default-features = false, features = ["pure-rust"]} -ethsign-crypto = "0.1.0" +crossbeam-channel = "0.5.1" +dirs = "4.0.0" +ethsign = {version = "0.7.3", default-features = false, features = ["pure-rust"]} +ethsign-crypto = "0.2.1" ethereum-types = "0.6.0" -fdlimit = "0.1.1" -flexi_logger = { version = "0.14.1", features = [ "ziplogs" ] } -futures = "0.1.28" -heck = "0.3.1" -http = "0.1.18" -indoc = "0.3.4" -itertools = "0.8.0" +fdlimit = "0.2.1" +flexi_logger = { version = "0.15.12", features = [ "ziplogs" ] } +futures = "0.1.31" +heck = "0.3.3" +http = "0.2.5" +indoc = "1.0.3" +itertools = "0.10.1" lazy_static = "1.4.0" -libc = "0.2.69" -libsecp256k1 = "0.2.2" -log = "0.4.8" +libc = "0.2.107" +libsecp256k1 = "0.7.0" +log = "0.4.14" masq_lib = { path = "../masq_lib"} -pretty-hex = "0.1.0" +pretty-hex = "0.2.1" primitive-types = {version = "0.5.0", default-features = false, features = ["default", "rlp", "serde"]} -rand = {version = "0.7.0", features = ["getrandom", "small_rng"]} -regex = "1.0.5" -rlp = "0.4.2" -rpassword = "4.0.1" -rusqlite = {version = "0.20.0", features = ["bundled"]} -rustc-hex = "2.0.1" -serde = "1.0.99" -serde_derive = "1.0.99" -serde_json = "1.0.40" -serde_cbor = "0.10.1" +rand = {version = "0.8.4", features = ["getrandom", "small_rng"]} +regex = "1.5.4" +rlp = "0.4.6" +rpassword = "5.0.1" +rusqlite = {version = "0.26.1", features = ["bundled"]} +rustc-hex = "2.1.0" +serde = "1.0.130" +serde_derive = "1.0.130" +serde_json = "1.0.69" +serde_cbor = "0.11.2" sha1 = "0.6.0" sodiumoxide = "0.2.2" -sysinfo = "0.15.0" -tiny-bip39 = "0.6.2" -tiny-hderive = "0.2.1" +sysinfo = "0.21.1" +tiny-bip39 = "0.8.2" +tiny-hderive = "0.3.0" tokio = "0.1.22" -tokio-core = "0.1.17" -toml = "0.5.3" +tokio-core = "0.1.18" +toml = "0.5.8" trust-dns = "0.17.0" trust-dns-resolver = "0.12.0" -unindent = "0.1.4" +unindent = "0.1.7" web3 = {version = "0.8.0", default-features = false, features = ["http", "tls"]} -websocket = {version = "0.26.0", default-features = false, features = ["async", "sync"]} +websocket = {version = "0.26.2", default-features = false, features = ["async", "sync"]} [target.'cfg(target_os = "macos")'.dependencies] -system-configuration = "0.3.0" -core-foundation = "0.6.4" +system-configuration = "0.4.0" +core-foundation = "0.7.0" [target.'cfg(not(target_os = "windows"))'.dependencies] daemonize = "0.4.1" -nix = "0.20.0" -openssl = {version = "0.10.24", features = ["vendored"]} +nix = "0.23.0" +openssl = {version = "0.10.38", features = ["vendored"]} [target.'cfg(target_os = "windows")'.dependencies] -winreg = "0.7.0" -ipconfig = "0.2.1" +winreg = "0.10.1" +ipconfig = "0.2.2" [dev-dependencies] -base58 = "0.1.0" +base58 = "0.2.0" jsonrpc-core = "11.0.0" -native-tls = {version = "0.2.3", features = ["vendored"]} +native-tls = {version = "0.2.8", features = ["vendored"]} simple-server = "0.4.0" -serial_test_derive = "0.2.0" -serial_test = "0.2.0" +serial_test_derive = "0.5.1" +serial_test = "0.5.1" trust-dns-proto = "0.8.0" [[bin]] diff --git a/node/src/accountant/mod.rs b/node/src/accountant/mod.rs index c21b31840..e108692cd 100644 --- a/node/src/accountant/mod.rs +++ b/node/src/accountant/mod.rs @@ -6,8 +6,8 @@ pub mod receivable_dao; #[cfg(test)] pub mod test_utils; -use crate::accountant::payable_dao::{PayableAccount, PayableDaoFactory, Payment}; -use crate::accountant::receivable_dao::{ReceivableAccount, ReceivableDaoFactory}; +use crate::accountant::payable_dao::{PayableAccount, PayableDao, PayableDaoFactory, Payment}; +use crate::accountant::receivable_dao::{ReceivableAccount, ReceivableDao, ReceivableDaoFactory}; use crate::banned_dao::{BannedDao, BannedDaoFactory}; use crate::blockchain::blockchain_bridge::RetrieveTransactions; use crate::blockchain::blockchain_interface::{BlockchainError, Transaction}; @@ -27,14 +27,7 @@ use crate::sub_lib::logger::Logger; use crate::sub_lib::peer_actors::{BindMessage, StartMessage}; use crate::sub_lib::utils::NODE_MAILBOX_CAPACITY; use crate::sub_lib::wallet::Wallet; -use actix::Actor; -use actix::Addr; -use actix::AsyncContext; -use actix::Context; -use actix::Handler; -use actix::Message; -use actix::Recipient; -use futures::future::Future; + use itertools::Itertools; use lazy_static::lazy_static; use masq_lib::messages::UiMessageError::UnexpectedMessage; @@ -42,11 +35,10 @@ use masq_lib::messages::{FromMessageBody, ToMessageBody, UiFinancialsRequest, Ui use masq_lib::messages::{UiFinancialsResponse, UiPayableAccount, UiReceivableAccount}; use masq_lib::ui_gateway::MessageTarget::ClientId; use masq_lib::ui_gateway::{NodeFromUiMessage, NodeToUiMessage}; -use payable_dao::PayableDao; -use receivable_dao::ReceivableDao; use std::ops::Add; use std::thread; use std::time::{Duration, SystemTime}; +use actix::{Actor, Addr, AsyncContext, Context, Handler, Message, Recipient}; pub const CRASH_KEY: &str = "ACCOUNTANT"; pub const DEFAULT_PAYABLE_SCAN_INTERVAL: u64 = 3600; // one hour @@ -111,11 +103,13 @@ impl Actor for Accountant { } #[derive(Debug, Eq, Message, PartialEq)] +#[rtype(result = "")] pub struct ReceivedPayments { payments: Vec, } #[derive(Debug, Eq, Message, PartialEq)] +#[rtype(result = "")] pub struct SentPayments { pub payments: Vec>, } @@ -805,7 +799,7 @@ impl Accountant { // segfaults on the Mac when using u64::try_from (i64). This is an attempt to // work around that. pub fn jackass_unsigned_to_signed(unsigned: u64) -> Result { - if unsigned <= (std::i64::MAX as u64) { + if unsigned <= (i64::MAX as u64) { Ok(unsigned as i64) } else { Err(PaymentError::SignConversion(unsigned)) @@ -834,7 +828,7 @@ pub mod tests { use crate::test_utils::recorder::make_recorder; use crate::test_utils::recorder::peer_actors_builder; use crate::test_utils::recorder::Recorder; - use actix::System; + use actix::{Actor, System}; use ethereum_types::BigEndianHash; use ethsign_crypto::Keccak256; use masq_lib::ui_gateway::MessagePath::{Conversation, FireAndForget}; @@ -1354,7 +1348,7 @@ pub mod tests { }, ]) .total_result(98765432); - let system = System::new("test"); + let system = System::new(); let subject = make_subject( Some(bc_from_ac_plus_earning_wallet( AccountantConfig { @@ -1384,7 +1378,16 @@ pub mod tests { subject_addr.try_send(ui_message).unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let payable_top_records_parameters = payable_top_records_parameters_arc.lock().unwrap(); assert_eq!(*payable_top_records_parameters, vec![(50001, 50002)]); let receivable_top_records_parameters = @@ -1439,7 +1442,7 @@ pub mod tests { #[test] fn unexpected_ui_message_is_ignored() { init_test_logging(); - let system = System::new("test"); + let system = System::new(); let subject = make_subject( Some(bc_from_ac_plus_earning_wallet( AccountantConfig { @@ -1470,7 +1473,16 @@ pub mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); assert_eq!(ui_gateway_recording.len(), 0); TestLogHandler::new().exists_log_containing( @@ -1488,7 +1500,7 @@ pub mod tests { .payment_sent_parameters(payment_sent_parameters_inner) .payment_sent_result(Ok(())); - let system = System::new("accountant_calls_payable_dao_payment_sent_when_sent_payments"); + let system = System::new(); let accountant = make_subject( Some(bc_from_ac_plus_earning_wallet( @@ -1522,7 +1534,16 @@ pub mod tests { .try_send(send_payments) .expect("unexpected actix error"); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let sent_payment_to = payment_sent_parameters.lock().unwrap(); let actual = sent_payment_to.get(0).unwrap(); @@ -1536,7 +1557,7 @@ pub mod tests { init_test_logging(); let payable_dao = PayableDaoMock::new().non_pending_payables_result(vec![]); - let system = System::new("accountant_calls_payable_dao_payment_sent_when_sent_payments"); + let system = System::new(); let accountant = make_subject( Some(bc_from_ac_plus_earning_wallet( @@ -1564,7 +1585,16 @@ pub mod tests { .try_send(send_payments) .expect("unexpected actix error"); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } TestLogHandler::new().await_log_containing( r#"WARN: Accountant: Blockchain TransactionFailed("Payment attempt failed"). Please check your blockchain service URL configuration."#, @@ -1607,9 +1637,7 @@ pub mod tests { let (accountant_mock, accountant_mock_awaiter, accountant_recording_arc) = make_recorder(); thread::spawn(move || { - let system = System::new( - "accountant_reports_sent_payments_when_blockchain_bridge_reports_account_payable", - ); + let system = System::new(); let peer_actors = peer_actors_builder() .blockchain_bridge(blockchain_bridge) @@ -1634,7 +1662,16 @@ pub mod tests { send_bind_message!(accountant_subs, peer_actors); send_start_message!(accountant_subs); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); accountant_mock_awaiter.await_message_count(1); @@ -1683,9 +1720,7 @@ pub mod tests { let (accountant_mock, _, accountant_recording_arc) = make_recorder(); thread::spawn(move || { - let system = System::new( - "accountant_reports_sent_payments_when_blockchain_bridge_reports_account_payable", - ); + let system = System::new(); let peer_actors = peer_actors_builder() .blockchain_bridge(blockchain_bridge) @@ -1710,7 +1745,16 @@ pub mod tests { send_bind_message!(subject_subs, peer_actors); send_start_message!(subject_subs); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); TestLogHandler::new() @@ -1744,9 +1788,7 @@ pub mod tests { ); thread::spawn(move || { - let system = System::new( - "accountant_payment_received_scan_timer_triggers_scanning_for_payments", - ); + let system = System::new(); let payable_dao = PayableDaoMock::new().non_pending_payables_result(vec![]); let receivable_dao = ReceivableDaoMock::new() .new_delinquencies_result(vec![]) @@ -1769,7 +1811,16 @@ pub mod tests { send_bind_message!(subject_subs, peer_actors); send_start_message!(subject_subs); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); blockchain_bridge_awaiter.await_message_count(1); @@ -1813,7 +1864,7 @@ pub mod tests { ); thread::spawn(move || { - let system = System::new("accountant_logs_if_no_transactions_were_detected"); + let system = System::new(); let payable_dao = PayableDaoMock::new().non_pending_payables_result(vec![]); let receivable_dao = ReceivableDaoMock::new() .new_delinquencies_result(vec![]) @@ -1836,7 +1887,16 @@ pub mod tests { send_bind_message!(subject_subs, peer_actors); send_start_message!(subject_subs); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); blockchain_bridge_awaiter.await_message_count(1); @@ -1876,7 +1936,7 @@ pub mod tests { thread::spawn(move || { let system = - System::new("accountant_logs_error_when_blockchain_bridge_responds_with_error"); + System::new(); let payable_dao = PayableDaoMock::new().non_pending_payables_result(vec![]); let receivable_dao = ReceivableDaoMock::new() .new_delinquencies_result(vec![]) @@ -1898,7 +1958,16 @@ pub mod tests { send_bind_message!(subject_subs, peer_actors); send_start_message!(subject_subs); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); blockchain_bridge_awaiter.await_message_count(1); @@ -1941,7 +2010,7 @@ pub mod tests { None, ); - let system = System::new("accountant_receives_new_payments_to_the_receivables_dao"); + let system = System::new(); let subject = accountant.start(); subject @@ -1950,7 +2019,16 @@ pub mod tests { }) .expect("unexpected actix error"); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let more_money_received_params = more_money_received_params_arc.lock().unwrap(); assert_eq!(1, more_money_received_params.len()); @@ -1975,7 +2053,7 @@ pub mod tests { thread::spawn(move || { let system = - System::new("accountant_payable_scan_timer_triggers_scanning_for_payables"); + System::new(); let config = bc_from_ac_plus_earning_wallet( AccountantConfig { payable_scan_interval: Duration::from_millis(100), @@ -2014,7 +2092,16 @@ pub mod tests { send_bind_message!(subject_subs, peer_actors); send_start_message!(subject_subs); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); blockchain_bridge_awaiter.await_message_count(1); @@ -2026,7 +2113,7 @@ pub mod tests { init_test_logging(); let (blockchain_bridge, _, _) = make_recorder(); - let system = System::new("accountant_scans_after_startup"); + let system = System::new(); let config = bc_from_ac_plus_wallets( AccountantConfig { payable_scan_interval: Duration::from_secs(1000), @@ -2046,7 +2133,16 @@ pub mod tests { send_start_message!(subject_subs); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let tlh = TestLogHandler::new(); tlh.await_log_containing("DEBUG: Accountant: Scanning for payables", 1000u64); @@ -2101,9 +2197,7 @@ pub mod tests { .non_pending_payables_result(accounts.clone()) .non_pending_payables_result(vec![]); let (blockchain_bridge, _, blockchain_bridge_recordings_arc) = make_recorder(); - let system = System::new( - "scan_for_payables_message_does_not_trigger_payment_for_balances_below_the_curve", - ); + let system = System::new(); let blockchain_bridge_addr: Addr = blockchain_bridge.start(); let report_accounts_payable_sub = blockchain_bridge_addr.recipient::(); @@ -2113,7 +2207,16 @@ pub mod tests { subject.scan_for_payables(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let blockchain_bridge_recordings = blockchain_bridge_recordings_arc.lock().unwrap(); assert_eq!(blockchain_bridge_recordings.len(), 0); @@ -2160,9 +2263,7 @@ pub mod tests { .report_accounts_payable_response(Ok(vec![])); thread::spawn(move || { - let system = System::new( - "scan_for_payables_message_triggers_payment_for_balances_over_the_curve", - ); + let system = System::new(); let peer_actors = peer_actors_builder() .blockchain_bridge(blockchain_bridge) @@ -2174,7 +2275,16 @@ pub mod tests { send_bind_message!(accountant_subs, peer_actors); send_start_message!(accountant_subs); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); blockchain_bridge_awaiter.await_message_count(1); @@ -2191,7 +2301,7 @@ pub mod tests { let ban_parameters_arc_inner = ban_parameters_arc.clone(); let blockchain_bridge = Recorder::new().retrieve_transactions_response(Ok(vec![])); thread::spawn(move || { - let system = System::new("payment_received_scan_triggers_scan_for_delinquencies"); + let system = System::new(); let config = bc_from_ac_plus_earning_wallet( AccountantConfig { payable_scan_interval: Duration::from_secs(10_000), @@ -2223,7 +2333,16 @@ pub mod tests { send_bind_message!(subject_subs, peer_actors); send_start_message!(subject_subs); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); thread::sleep(Duration::from_millis(200)); @@ -2329,7 +2448,7 @@ pub mod tests { None, None, ); - let system = System::new("report_routing_service_message_is_received"); + let system = System::new(); let subject_addr: Addr = subject.start(); subject_addr .try_send(BindMessage { @@ -2348,7 +2467,16 @@ pub mod tests { .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let more_money_receivable_parameters = more_money_receivable_parameters_arc.lock().unwrap(); assert_eq!( more_money_receivable_parameters[0], @@ -2383,7 +2511,7 @@ pub mod tests { None, None, ); - let system = System::new("report_routing_service_message_is_received"); + let system = System::new(); let subject_addr: Addr = subject.start(); subject_addr .try_send(BindMessage { @@ -2401,7 +2529,16 @@ pub mod tests { .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } assert!(more_money_receivable_parameters_arc .lock() .unwrap() @@ -2435,7 +2572,7 @@ pub mod tests { None, None, ); - let system = System::new("report_routing_service_message_is_received"); + let system = System::new(); let subject_addr: Addr = subject.start(); subject_addr .try_send(BindMessage { @@ -2453,7 +2590,16 @@ pub mod tests { .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } assert!(more_money_receivable_parameters_arc .lock() .unwrap() @@ -2481,7 +2627,7 @@ pub mod tests { .more_money_payable_parameters(more_money_payable_parameters_arc.clone()) .more_money_payable_result(Ok(())); let subject = make_subject(Some(config), Some(payable_dao_mock), None, None, None); - let system = System::new("report_routing_service_consumed_message_is_received"); + let system = System::new(); let subject_addr: Addr = subject.start(); subject_addr .try_send(BindMessage { @@ -2500,7 +2646,16 @@ pub mod tests { .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let more_money_payable_parameters = more_money_payable_parameters_arc.lock().unwrap(); assert_eq!( more_money_payable_parameters[0], @@ -2528,7 +2683,7 @@ pub mod tests { .non_pending_payables_result(vec![]) .more_money_payable_parameters(more_money_payable_parameters_arc.clone()); let subject = make_subject(Some(config), Some(payable_dao_mock), None, None, None); - let system = System::new("report_routing_service_consumed_message_is_received"); + let system = System::new(); let subject_addr: Addr = subject.start(); subject_addr .try_send(BindMessage { @@ -2546,7 +2701,16 @@ pub mod tests { .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } assert!(more_money_payable_parameters_arc.lock().unwrap().is_empty()); TestLogHandler::new().exists_log_containing(&format!( @@ -2571,7 +2735,7 @@ pub mod tests { .non_pending_payables_result(vec![]) .more_money_payable_parameters(more_money_payable_parameters_arc.clone()); let subject = make_subject(Some(config), Some(payable_dao_mock), None, None, None); - let system = System::new("report_routing_service_consumed_message_is_received"); + let system = System::new(); let subject_addr: Addr = subject.start(); subject_addr .try_send(BindMessage { @@ -2589,7 +2753,16 @@ pub mod tests { .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } assert!(more_money_payable_parameters_arc.lock().unwrap().is_empty()); TestLogHandler::new().exists_log_containing(&format!( @@ -2620,7 +2793,7 @@ pub mod tests { None, None, ); - let system = System::new("report_exit_service_provided_message_is_received"); + let system = System::new(); let subject_addr: Addr = subject.start(); subject_addr .try_send(BindMessage { @@ -2639,7 +2812,16 @@ pub mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let more_money_receivable_parameters = more_money_receivable_parameters_arc.lock().unwrap(); assert_eq!( more_money_receivable_parameters[0], @@ -2674,7 +2856,7 @@ pub mod tests { None, None, ); - let system = System::new("report_exit_service_provided_message_is_received"); + let system = System::new(); let subject_addr: Addr = subject.start(); subject_addr .try_send(BindMessage { @@ -2692,7 +2874,16 @@ pub mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } assert!(more_money_receivable_parameters_arc .lock() .unwrap() @@ -2726,7 +2917,7 @@ pub mod tests { None, None, ); - let system = System::new("report_exit_service_provided_message_is_received"); + let system = System::new(); let subject_addr: Addr = subject.start(); subject_addr .try_send(BindMessage { @@ -2744,7 +2935,16 @@ pub mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } assert!(more_money_receivable_parameters_arc .lock() .unwrap() @@ -2772,7 +2972,7 @@ pub mod tests { .more_money_payable_parameters(more_money_payable_parameters_arc.clone()) .more_money_payable_result(Ok(())); let subject = make_subject(Some(config), Some(payable_dao_mock), None, None, None); - let system = System::new("report_exit_service_consumed_message_is_received"); + let system = System::new(); let subject_addr: Addr = subject.start(); subject_addr .try_send(BindMessage { @@ -2791,7 +2991,16 @@ pub mod tests { .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let more_money_payable_parameters = more_money_payable_parameters_arc.lock().unwrap(); assert_eq!( more_money_payable_parameters[0], @@ -2820,7 +3029,7 @@ pub mod tests { .non_pending_payables_result(vec![]) .more_money_payable_parameters(more_money_payable_parameters_arc.clone()); let subject = make_subject(Some(config), Some(payable_dao_mock), None, None, None); - let system = System::new("report_exit_service_consumed_message_is_received"); + let system = System::new(); let subject_addr: Addr = subject.start(); subject_addr .try_send(BindMessage { @@ -2838,7 +3047,16 @@ pub mod tests { .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } assert!(more_money_payable_parameters_arc.lock().unwrap().is_empty()); TestLogHandler::new().exists_log_containing(&format!( @@ -2863,7 +3081,7 @@ pub mod tests { .non_pending_payables_result(vec![]) .more_money_payable_parameters(more_money_payable_parameters_arc.clone()); let subject = make_subject(Some(config), Some(payable_dao_mock), None, None, None); - let system = System::new("report_exit_service_consumed_message_is_received"); + let system = System::new(); let subject_addr: Addr = subject.start(); subject_addr .try_send(BindMessage { @@ -2881,7 +3099,16 @@ pub mod tests { .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } assert!(more_money_payable_parameters_arc.lock().unwrap().is_empty()); TestLogHandler::new().exists_log_containing(&format!( @@ -2905,12 +3132,12 @@ pub mod tests { None, ); - subject.record_service_provided(std::i64::MAX as u64, 1, 2, &wallet); + subject.record_service_provided(i64::MAX as u64, 1, 2, &wallet); TestLogHandler::new().exists_log_containing(&format!( "ERROR: Accountant: Overflow error trying to record service provided to Node with consuming wallet {}: service rate {}, byte rate 1, payload size 2. Skipping", wallet, - std::i64::MAX as u64 + i64::MAX as u64 )); } @@ -2929,12 +3156,12 @@ pub mod tests { None, ); - subject.record_service_consumed(std::i64::MAX as u64, 1, 2, &wallet); + subject.record_service_consumed(i64::MAX as u64, 1, 2, &wallet); TestLogHandler::new().exists_log_containing(&format!( "ERROR: Accountant: Overflow error trying to record service consumed from Node with earning wallet {}: service rate {}, byte rate 1, payload size 2. Skipping", wallet, - std::i64::MAX as u64 + i64::MAX as u64 )); } @@ -2945,7 +3172,7 @@ pub mod tests { let payments = SentPayments { payments: vec![Ok(Payment::new( wallet.clone(), - std::u64::MAX, + u64::MAX, H256::from_uint(&U256::from(1)), ))], }; @@ -2963,7 +3190,7 @@ pub mod tests { TestLogHandler::new().exists_log_containing(&format!( "ERROR: Accountant: Overflow error trying to record payment of {} sent to earning wallet {} (transaction {}). Skipping", - std::u64::MAX, + u64::MAX, wallet, H256::from_uint(&U256::from(1)) )); @@ -3048,15 +3275,15 @@ pub mod tests { #[test] fn jackass_unsigned_to_signed_handles_max_allowable() { - let result = jackass_unsigned_to_signed(std::i64::MAX as u64); + let result = jackass_unsigned_to_signed(i64::MAX as u64); - assert_eq!(result, Ok(std::i64::MAX)); + assert_eq!(result, Ok(i64::MAX)); } #[test] fn jackass_unsigned_to_signed_handles_max_plus_one() { - let attempt = (std::i64::MAX as u64) + 1; - let result = jackass_unsigned_to_signed((std::i64::MAX as u64) + 1); + let attempt = (i64::MAX as u64) + 1; + let result = jackass_unsigned_to_signed((i64::MAX as u64) + 1); assert_eq!(result, Err(PaymentError::SignConversion(attempt))); } diff --git a/node/src/accountant/payable_dao.rs b/node/src/accountant/payable_dao.rs index ab90cc31f..ff62e7c3c 100644 --- a/node/src/accountant/payable_dao.rs +++ b/node/src/accountant/payable_dao.rs @@ -5,7 +5,7 @@ use crate::database::dao_utils; use crate::database::dao_utils::DaoFactoryReal; use crate::sub_lib::wallet::Wallet; use rusqlite::types::{ToSql, Type}; -use rusqlite::{Error, OptionalExtension, NO_PARAMS}; +use rusqlite::{Error, OptionalExtension}; use serde_json::{self, json}; use std::fmt::Debug; use std::time::SystemTime; @@ -151,7 +151,7 @@ impl PayableDao for PayableDaoReal { .prepare("select balance, last_paid_timestamp, wallet_address from payable where pending_payment_transaction is null") .expect("Internal error"); - stmt.query_map(NO_PARAMS, |row| { + stmt.query_map([], |row| { let balance_result = row.get(0); let last_paid_timestamp_result = row.get(1); let wallet_result: Result = row.get(2); @@ -236,7 +236,7 @@ impl PayableDao for PayableDaoReal { .conn .prepare("select sum(balance) from payable") .expect("Internal error"); - match stmt.query_row(NO_PARAMS, |row| { + match stmt.query_row([], |row| { let total_balance_result: Result = row.get(0); match total_balance_result { Ok(total_balance) => Ok(total_balance as u64), @@ -272,7 +272,7 @@ impl PayableDaoReal { .prepare("insert into payable (wallet_address, balance, last_paid_timestamp, pending_payment_transaction) values (:address, :balance, strftime('%s','now'), null) on conflict (wallet_address) do update set balance = balance + :balance where wallet_address = :address") .expect("Internal error"); let params: &[(&str, &dyn ToSql)] = &[(":address", &wallet), (":balance", &amount)]; - match stmt.execute_named(params) { + match stmt.execute(params) { Ok(0) => Ok(false), Ok(_) => Ok(true), Err(e) => Err(format!("{}", e)), @@ -296,7 +296,7 @@ impl PayableDaoReal { (":transaction", &format!("{:#x}", &transaction_hash)), (":address", &wallet), ]; - match stmt.execute_named(params) { + match stmt.execute(params) { Ok(0) => Ok(false), Ok(_) => Ok(true), Err(e) => Err(format!("{}", e)), @@ -313,7 +313,7 @@ mod tests { use crate::test_utils::make_wallet; use ethereum_types::BigEndianHash; use masq_lib::test_utils::utils::{ensure_node_home_directory_exists, TEST_DEFAULT_CHAIN}; - use rusqlite::{Connection, OpenFlags, NO_PARAMS}; + use rusqlite::{Connection, OpenFlags}; use std::str::FromStr; use web3::types::U256; @@ -375,7 +375,7 @@ mod tests { .unwrap(); conn.execute( "update payable set last_paid_timestamp = 0 where wallet_address = '0x000000000000000000000000000000626f6f6761'", - NO_PARAMS, + [], ) .unwrap(); subject diff --git a/node/src/accountant/receivable_dao.rs b/node/src/accountant/receivable_dao.rs index dd1590bd9..b35a3b2ad 100644 --- a/node/src/accountant/receivable_dao.rs +++ b/node/src/accountant/receivable_dao.rs @@ -11,7 +11,7 @@ use crate::sub_lib::wallet::Wallet; use indoc::indoc; use rusqlite::named_params; use rusqlite::types::{ToSql, Type}; -use rusqlite::{OptionalExtension, Row, NO_PARAMS}; +use rusqlite::{OptionalExtension, Row}; use std::time::SystemTime; #[derive(Debug, PartialEq)] @@ -134,7 +134,7 @@ impl ReceivableDao for ReceivableDaoReal { .prepare("select balance, last_received_timestamp, wallet_address from receivable") .expect("Internal error"); - stmt.query_map(NO_PARAMS, |row| { + stmt.query_map([], |row| { let balance_result = row.get(0); let last_received_timestamp_result = row.get(1); let wallet: Result = row.get(2); @@ -173,7 +173,7 @@ impl ReceivableDao for ReceivableDaoReal { " ); let mut stmt = self.conn.prepare(sql).expect("Couldn't prepare statement"); - stmt.query_map_named( + stmt.query_map( named_params! { ":slope": slope, ":sugg_and_grace": payment_curves.sugg_and_grace(now), @@ -197,7 +197,7 @@ impl ReceivableDao for ReceivableDaoReal { " ); let mut stmt = self.conn.prepare(sql).expect("Couldn't prepare statement"); - stmt.query_map_named( + stmt.query_map( named_params! { ":unban_balance": payment_curves.unban_when_balance_below_gwub, }, @@ -255,7 +255,7 @@ impl ReceivableDao for ReceivableDaoReal { .conn .prepare("select sum(balance) from receivable") .expect("Internal error"); - match stmt.query_row(NO_PARAMS, |row| { + match stmt.query_row([], |row| { let total_balance_result: Result = row.get(0); match total_balance_result { Ok(total_balance) => Ok(total_balance as u64), @@ -393,7 +393,6 @@ mod tests { use crate::test_utils::logging::TestLogHandler; use crate::test_utils::make_wallet; use masq_lib::test_utils::utils::{ensure_node_home_directory_exists, TEST_DEFAULT_CHAIN}; - use rusqlite::NO_PARAMS; use rusqlite::{Connection, Error, OpenFlags}; #[test] @@ -453,7 +452,7 @@ mod tests { .unwrap(); { let mut stmt = conn.prepare("drop table config").unwrap(); - stmt.execute(NO_PARAMS).unwrap(); + stmt.execute([]).unwrap(); } let mut subject = ReceivableDaoReal::new(conn); @@ -485,7 +484,7 @@ mod tests { .unwrap(); { let mut stmt = conn.prepare("drop table receivable").unwrap(); - stmt.execute(NO_PARAMS).unwrap(); + stmt.execute([]).unwrap(); } let mut subject = ReceivableDaoReal::new(conn); @@ -556,7 +555,7 @@ mod tests { .unwrap(); conn.execute( "update receivable set last_received_timestamp = 0 where wallet_address = '0x000000000000000000000000000000626f6f6761'", - NO_PARAMS, + [], ) .unwrap(); subject diff --git a/node/src/actor_system_factory.rs b/node/src/actor_system_factory.rs index 15fc24100..107cd11bf 100644 --- a/node/src/actor_system_factory.rs +++ b/node/src/actor_system_factory.rs @@ -42,9 +42,7 @@ use crate::sub_lib::proxy_client::ProxyClientSubs; use crate::sub_lib::proxy_server::ProxyServerSubs; use crate::sub_lib::ui_gateway::UiGatewayConfig; use crate::sub_lib::ui_gateway::UiGatewaySubs; -use actix::Addr; -use actix::Recipient; -use actix::{Actor, Arbiter}; +use actix::{Actor, Addr, Arbiter, Recipient, SyncArbiter, System}; use crossbeam_channel::{unbounded, Sender}; use masq_lib::blockchains::chains::Chain; use masq_lib::ui_gateway::NodeFromUiMessage; @@ -489,7 +487,7 @@ mod tests { use std::path::PathBuf; use std::sync::{Arc, Mutex}; use std::thread; - use std::time::Duration; + use std::time::{Duration, SystemTime}; #[derive(Default)] struct BannedCacheLoaderMock { @@ -889,10 +887,19 @@ mod tests { ); let subject = ActorSystemFactoryReal {}; - let system = System::new("test"); + let system = System::new(); subject.make_and_start_actors(config, Box::new(actor_factory)); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } thread::sleep(Duration::from_millis(100)); Recording::get::(&recordings.dispatcher, 0); @@ -943,7 +950,7 @@ mod tests { }, }; let (tx, rx) = unbounded(); - let system = System::new("MASQNode"); + let system = System::new(); ActorSystemFactoryReal::prepare_initial_messages( main_cryptde(), @@ -954,7 +961,16 @@ mod tests { ); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } check_bind_message(&recordings.dispatcher, false); check_bind_message(&recordings.hopper, false); check_bind_message(&recordings.proxy_client, false); @@ -1053,7 +1069,7 @@ mod tests { mode: NeighborhoodMode::ConsumeOnly(vec![]), }, }; - let system = System::new("MASQNode"); + let system = System::new(); ActorSystemFactoryReal::prepare_initial_messages( main_cryptde(), @@ -1064,7 +1080,16 @@ mod tests { ); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let messages = recordings.proxy_client.lock().unwrap(); assert!(messages.is_empty()); @@ -1116,7 +1141,7 @@ mod tests { }, }; let (tx, _) = unbounded(); - let system = System::new("MASQNode"); + let system = System::new(); ActorSystemFactoryReal::prepare_initial_messages( main_cryptde(), @@ -1127,7 +1152,16 @@ mod tests { ); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let (_, _, _, consuming_wallet_balance) = Parameters::get(parameters.proxy_server_params); assert_eq!(consuming_wallet_balance, None); } diff --git a/node/src/banned_dao.rs b/node/src/banned_dao.rs index b41dff696..d9fb60f62 100644 --- a/node/src/banned_dao.rs +++ b/node/src/banned_dao.rs @@ -3,7 +3,7 @@ use crate::database::connection_wrapper::ConnectionWrapper; use crate::database::dao_utils::DaoFactoryReal; use crate::sub_lib::wallet::Wallet; use lazy_static::lazy_static; -use rusqlite::{Error, ErrorCode, ToSql, NO_PARAMS}; +use rusqlite::{Error, ErrorCode, ToSql}; use std::collections::HashSet; use std::sync::RwLock; @@ -55,7 +55,7 @@ impl BannedCacheLoader for BannedCacheLoaderReal { let mut stmt = conn .prepare("select wallet_address from banned") .expect("Failed to prepare statement"); - stmt.query_map(NO_PARAMS, |row| row.get::(0)) + stmt.query_map([], |row| row.get::(0)) .expect("Failed to query banned table") .map(|p| p.expect("query_map magically returned an Err")) .for_each(|wallet| BAN_CACHE.insert(wallet)); @@ -94,7 +94,7 @@ impl BannedDao for BannedDaoReal { .conn .prepare("select wallet_address from banned") .expect("Failed to prepare a statement"); - stmt.query_map(NO_PARAMS, |row| row.get(0)) + stmt.query_map([], |row| row.get(0)) .expect("Couldn't retrieve delinquency-ban list: database corrupt") .flatten() .collect() @@ -154,7 +154,6 @@ mod tests { ensure_node_home_directory_does_not_exist, ensure_node_home_directory_exists, TEST_DEFAULT_CHAIN, }; - use rusqlite::NO_PARAMS; #[test] fn banned_dao_can_ban_a_wallet_address() { @@ -176,7 +175,7 @@ mod tests { .initialize(&home_dir, TEST_DEFAULT_CHAIN, true) .unwrap(); let mut stmt = conn.prepare("select wallet_address from banned").unwrap(); - let mut banned_addresses = stmt.query(NO_PARAMS).unwrap(); + let mut banned_addresses = stmt.query([]).unwrap(); assert_eq!( "0x0000000000000000646f6e616c646472756d7068", banned_addresses @@ -281,7 +280,7 @@ mod tests { .unwrap(); conn.prepare("insert into banned (wallet_address) values ('0x000000000000000000495f414d5f42414e4e4544')") .unwrap() - .execute(NO_PARAMS) + .execute([]) .unwrap(); BannedCacheLoaderReal {}.load(conn); @@ -325,7 +324,7 @@ mod tests { let unban_me_baby = make_wallet("UNBAN_ME_BABY"); conn.prepare("insert into banned (wallet_address) values ('UNBAN_ME_BABY')") .unwrap() - .execute(NO_PARAMS) + .execute([]) .unwrap(); BAN_CACHE.insert(unban_me_baby.clone()); diff --git a/node/src/blockchain/bip32.rs b/node/src/blockchain/bip32.rs index 67f4384ae..eafeca246 100644 --- a/node/src/blockchain/bip32.rs +++ b/node/src/blockchain/bip32.rs @@ -70,7 +70,7 @@ impl Bip32ECKeyPair { pub fn clone_secret(&self) -> SecretKey { match self.secret.to_crypto( &Protected::from("secret"), - NonZeroU32::new(1).expect("Could not create"), + u32::from(NonZeroU32::new(1).expect("Could not create")), ) { Ok(crypto) => match SecretKey::from_crypto(&crypto, &Protected::from("secret")) { Ok(secret) => secret, @@ -131,7 +131,7 @@ impl Serialize for Bip32ECKeyPair { .secret .to_crypto( &Protected::from("secret"), - NonZeroU32::new(1).expect("Could not create"), + u32::from(NonZeroU32::new(1).expect("Could not create")), ) .map_err(ser::Error::custom)?; result.serialize(serializer) diff --git a/node/src/blockchain/bip39.rs b/node/src/blockchain/bip39.rs index afa6aeebc..5b8f28e36 100644 --- a/node/src/blockchain/bip39.rs +++ b/node/src/blockchain/bip39.rs @@ -33,7 +33,7 @@ impl Bip39 { match Crypto::encrypt( seed.as_ref(), &Protected::new(db_password.as_bytes()), - NonZeroU32::new(10240).expect("Internal error"), + u32::from(NonZeroU32::new(10240).expect("Internal error")), ) { Ok(crypto) => match serde_cbor::to_vec(&crypto) { Ok(cipher_seed) => Ok(cipher_seed.to_hex()), diff --git a/node/src/blockchain/blockchain_bridge.rs b/node/src/blockchain/blockchain_bridge.rs index caac75072..96ad4caf9 100644 --- a/node/src/blockchain/blockchain_bridge.rs +++ b/node/src/blockchain/blockchain_bridge.rs @@ -206,7 +206,7 @@ mod tests { use crate::test_utils::pure_test_utils::make_default_persistent_configuration; use crate::test_utils::recorder::peer_actors_builder; use crate::test_utils::{make_paying_wallet, make_wallet}; - use actix::Addr; + use actix::{Addr, ContextFutureSpawner}; use actix::System; use ethsign::SecretKey; use ethsign_crypto::Keccak256; @@ -238,7 +238,7 @@ mod tests { Box::new(make_default_persistent_configuration()), ); - let system = System::new("blockchain_bridge_receives_bind_message"); + let system = System::new(); let addr: Addr = subject.start(); addr.try_send(BindMessage { @@ -247,7 +247,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } TestLogHandler::new().exists_log_containing(&format!( "DEBUG: BlockchainBridge: Received BindMessage; consuming wallet address {}", consuming_wallet @@ -264,7 +273,7 @@ mod tests { Box::new(PersistentConfigurationMock::default()), ); - let system = System::new("blockchain_bridge_receives_bind_message"); + let system = System::new(); let addr: Addr = subject.start(); addr.try_send(BindMessage { @@ -273,7 +282,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } TestLogHandler::new().exists_log_containing( "DEBUG: BlockchainBridge: Received BindMessage; no consuming wallet address specified", ); @@ -365,7 +383,7 @@ mod tests { #[test] fn ask_me_about_my_transactions() { - let system = System::new("ask_me_about_my_transactions"); + let system = System::new(); let block_no = 37; let expected_results = vec![Transaction { block_number: 42u64, @@ -392,7 +410,16 @@ mod tests { recipient: wallet.clone(), }); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let retrieve_transactions_parameters = retrieve_transactions_parameters.lock().unwrap(); assert_eq!((block_no, wallet), retrieve_transactions_parameters[0]); @@ -404,7 +431,7 @@ mod tests { #[test] fn report_accounts_payable_sends_transactions_to_blockchain_interface() { let system = - System::new("report_accounts_payable_sends_transactions_to_blockchain_interface"); + System::new(); let blockchain_interface_mock = BlockchainInterfaceMock::default() .get_transaction_count_result(Ok(U256::from(1))) @@ -447,7 +474,16 @@ mod tests { ], }); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } assert_eq!( send_parameters.lock().unwrap()[0], @@ -627,7 +663,7 @@ mod tests { #[test] fn cant_be_crashed_if_key_doesnt_match() { - let system = System::new("test"); + let system = System::new(); let mut config = BootstrapperConfig::new(); config.crash_point = CrashPoint::Message; let subject = BlockchainBridge::new( @@ -644,14 +680,23 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } // no panic: test passes } #[test] fn cant_be_crashed_if_not_crashable() { init_test_logging(); - let system = System::new("test"); + let system = System::new(); let subject = BlockchainBridge::new( &BootstrapperConfig::new(), Box::new(BlockchainInterfaceMock::default()), @@ -666,7 +711,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } TestLogHandler::new().exists_log_containing( "INFO: BlockchainBridge: Rejected crash attempt: 'panic message'", ); @@ -675,7 +729,7 @@ mod tests { #[test] #[should_panic(expected = "panic message")] fn can_be_crashed() { - let system = System::new("test"); + let system = System::new(); let mut config = BootstrapperConfig::new(); config.crash_point = CrashPoint::Message; let subject = BlockchainBridge::new( @@ -692,7 +746,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } } fn bc_from_wallet(consuming_wallet: Option) -> BootstrapperConfig { diff --git a/node/src/blockchain/blockchain_interface.rs b/node/src/blockchain/blockchain_interface.rs index 8bdeec276..6f73925b2 100644 --- a/node/src/blockchain/blockchain_interface.rs +++ b/node/src/blockchain/blockchain_interface.rs @@ -30,6 +30,7 @@ const TRANSACTION_LITERAL: H256 = H256 { const TRANSFER_METHOD_ID: [u8; 4] = [0xa9, 0x05, 0x9c, 0xbb]; #[derive(Clone, Debug, Eq, Message, PartialEq)] +#[rtype(result = "")] pub struct Transaction { pub block_number: u64, pub from: Wallet, diff --git a/node/src/blockchain/raw_transaction.rs b/node/src/blockchain/raw_transaction.rs index a0aaec6f7..caf5f546c 100644 --- a/node/src/blockchain/raw_transaction.rs +++ b/node/src/blockchain/raw_transaction.rs @@ -40,7 +40,7 @@ impl RawTransaction { tx.append(&sig.r.to_vec()); tx.append(&sig.s.to_vec()); tx.finalize_unbounded_list(); - tx.out() + tx.out().to_vec() } fn tx_hash(&self, chain_id: u64) -> Vec { diff --git a/node/src/blockchain/test_utils.rs b/node/src/blockchain/test_utils.rs index dd9683990..fbf58966e 100644 --- a/node/src/blockchain/test_utils.rs +++ b/node/src/blockchain/test_utils.rs @@ -7,6 +7,6 @@ pub fn make_meaningless_phrase() -> String { } pub fn make_meaningless_seed() -> Seed { - let mnemonic = Mnemonic::from_phrase(make_meaningless_phrase(), Language::English).unwrap(); + let mnemonic = Mnemonic::from_phrase(&make_meaningless_phrase(), Language::English).unwrap(); Seed::new(&mnemonic, "passphrase") } diff --git a/node/src/bootstrapper.rs b/node/src/bootstrapper.rs index 89f5bc0a2..9b84b7a13 100644 --- a/node/src/bootstrapper.rs +++ b/node/src/bootstrapper.rs @@ -593,6 +593,7 @@ mod tests { use std::str::FromStr; use std::sync::{Arc, Mutex}; use std::thread; + use std::time::SystemTime; use actix::Recipient; use actix::System; @@ -1878,7 +1879,7 @@ mod tests { fn new() -> ActorSystemFactoryMock { let (tx, rx) = unbounded(); thread::spawn(move || { - let system = System::new("test"); + let system = System::new(); let stream_handler_pool_cluster = { let (stream_handler_pool, awaiter, recording) = make_recorder(); @@ -1890,7 +1891,16 @@ mod tests { }; tx.send(stream_handler_pool_cluster).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let stream_handler_pool_cluster = rx.recv().unwrap(); ActorSystemFactoryMock { diff --git a/node/src/crash_test_dummy.rs b/node/src/crash_test_dummy.rs index ec7ddffe5..1f619e1b2 100644 --- a/node/src/crash_test_dummy.rs +++ b/node/src/crash_test_dummy.rs @@ -1,7 +1,8 @@ // Copyright (c) 2019, MASQ (https://masq.ai) and/or its affiliates. All rights reserved. +use tokio::prelude::Async; use crate::sub_lib::logger::Logger; -use futures::Async; + use masq_lib::crash_point::CrashPoint; use tokio::prelude::future::Future; diff --git a/node/src/daemon/crash_notification.rs b/node/src/daemon/crash_notification.rs index 6eda537c2..fa0b9e9b0 100644 --- a/node/src/daemon/crash_notification.rs +++ b/node/src/daemon/crash_notification.rs @@ -17,6 +17,7 @@ trait Recognizer: Sync { } #[derive(Message, Clone, Debug, PartialEq)] +#[rtype(result = "")] pub struct CrashNotification { pub process_id: u32, pub exit_code: Option, diff --git a/node/src/daemon/daemon_initializer.rs b/node/src/daemon/daemon_initializer.rs index ac7132bfc..dc840f929 100644 --- a/node/src/daemon/daemon_initializer.rs +++ b/node/src/daemon/daemon_initializer.rs @@ -22,6 +22,7 @@ use std::collections::HashMap; use masq_lib::utils::ExpectValue; #[cfg(test)] use std::any::Any; +use std::time::SystemTime; pub trait RecipientsFactory { fn make(&self, launcher: Box, ui_port: u16) -> Recipients; @@ -75,7 +76,7 @@ impl DaemonInitializer for DaemonInitializerReal { let message = format!("There appears to be a process already listening on port {}; are you sure there's not a Daemon already running?", self.config.ui_port); return Err(ConfiguratorError::required("ui-port", message.as_str())); } - let system = System::new("daemon"); + let system = System::new(); let (sender, receiver) = self.channel_factory.make(); self.bind(sender); @@ -146,7 +147,16 @@ impl DaemonInitializerReal { } fn split(&mut self, system: SystemRunner, receiver: Receiver>) { - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let param_map = receiver.recv().expect("Daemon is dead"); let param_vec = param_map .into_iter() @@ -252,7 +262,7 @@ mod tests { ); let (ui_gateway, _, ui_gateway_recording_arc) = make_recorder(); let (daemon, _, daemon_recording_arc) = make_recorder(); - let system = System::new("bind_binds_everything_together"); + let system = System::new(); let recipients = make_recipients(ui_gateway, daemon); let dirs_wrapper = DirsWrapperMock::new() .home_dir_result(Some(data_dir.clone())) @@ -275,7 +285,16 @@ mod tests { subject.bind(unbounded().0); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); let daemon_recording = daemon_recording_arc.lock().unwrap(); let _ = ui_gateway_recording.get_record::(0); @@ -291,7 +310,7 @@ mod tests { "split_accepts_parameters_upon_system_shutdown_and_calls_main_with_args", ); let system = - System::new("split_accepts_parameters_upon_system_shutdown_and_calls_main_with_args"); + System::new(); let dirs_wrapper = DirsWrapperMock::new() .home_dir_result(Some(data_dir.clone())) .data_dir_result(Some(data_dir)); diff --git a/node/src/daemon/launch_verifier.rs b/node/src/daemon/launch_verifier.rs index 9ec9afa6f..416fc4ef7 100644 --- a/node/src/daemon/launch_verifier.rs +++ b/node/src/daemon/launch_verifier.rs @@ -39,7 +39,7 @@ impl VerifierTools for VerifierToolsReal { fn process_is_running(&self, process_id: u32) -> bool { let system = Self::system(); - let process_info_opt = system.get_process(Self::convert_pid(process_id)); + let process_info_opt = system.process(Self::convert_pid(process_id)); match process_info_opt { None => false, Some(process) => { @@ -50,7 +50,7 @@ impl VerifierTools for VerifierToolsReal { } fn kill_process(&self, process_id: u32) { - if let Some(process) = Self::system().get_process(Self::convert_pid(process_id)) { + if let Some(process) = Self::system().process(Self::convert_pid(process_id)) { if !process.kill(Signal::Term) && !process.kill(Signal::Kill) { error!( self.logger, @@ -109,9 +109,7 @@ impl VerifierToolsReal { #[cfg(target_os = "windows")] fn is_alive(process_status: ProcessStatus) -> bool { - match process_status { - ProcessStatus::Run => true, - } + !matches!(process_status, ProcessStatus::Dead | ProcessStatus::Zombie) } } diff --git a/node/src/daemon/launcher.rs b/node/src/daemon/launcher.rs index 733dfb3ce..f2b6e5ce0 100644 --- a/node/src/daemon/launcher.rs +++ b/node/src/daemon/launcher.rs @@ -210,7 +210,7 @@ mod tests { use std::process::ExitStatus; use std::sync::{Arc, Mutex}; use std::thread; - use std::time::Duration; + use std::time::{Duration, SystemTime}; struct ChildWrapperMock { wait_latency_ms: u64, @@ -347,14 +347,23 @@ mod tests { subject.spawn_wrapper = Box::new(spawn_wrapper); let (result_tx, result_rx) = unbounded(); thread::spawn(move || { - let system = System::new("test"); + let system = System::new(); let crashed_recipient = daemon.start().recipient(); result_tx .send(subject.exec(inner_params, crashed_recipient)) .unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let result = result_rx.recv().unwrap(); assert_eq!(result, Ok(1234)); @@ -404,14 +413,23 @@ mod tests { subject.spawn_wrapper = Box::new(spawn_wrapper); let (result_tx, result_rx) = unbounded(); thread::spawn(move || { - let system = System::new("test"); + let system = System::new(); let crashed_recipient = daemon.start().recipient(); result_tx .send(subject.exec(inner_params, crashed_recipient)) .unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let result = result_rx.recv().unwrap(); assert_eq!(result, Ok(1234)); @@ -432,7 +450,7 @@ mod tests { #[test] fn launch_calls_execer_and_verifier_and_returns_success() { let (ui_gateway, _, ui_gateway_recording_arc) = make_recorder(); - let system = System::new("test"); + let system = System::new(); let crashed_recipient = ui_gateway.start().recipient(); let exec_params_arc = Arc::new(Mutex::new(vec![])); let execer = ExecerMock::new() @@ -482,7 +500,16 @@ mod tests { }; (*exec_params)[0].1.try_send(msg.clone()).unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); assert_eq!( *ui_gateway_recording.get_record::(0), diff --git a/node/src/daemon/mod.rs b/node/src/daemon/mod.rs index 71b08875d..b01c9670b 100644 --- a/node/src/daemon/mod.rs +++ b/node/src/daemon/mod.rs @@ -89,6 +89,7 @@ pub trait Launcher { } #[derive(Message, PartialEq, Clone)] +#[rtype(result = "")] pub struct DaemonBindMessage { pub to_ui_message_recipient: Recipient, // for everybody to send UI-bound messages to pub from_ui_message_recipient: Recipient, // for the WebsocketSupervisor to send inbound UI messages to the UiGateway @@ -456,6 +457,7 @@ mod tests { use std::collections::HashSet; use std::iter::FromIterator; use std::sync::{Arc, Mutex}; + use std::time::SystemTime; struct LauncherMock { launch_params: Arc, Recipient)>>>, @@ -601,7 +603,7 @@ mod tests { let (ui_gateway, _, ui_gateway_recording_arc) = make_recorder(); let verifier_tools = VerifierToolsMock::new().process_is_running_result(true); let setup_reporter = SetupReporterMock::new(); // will panic if called - let system = System::new("test"); + let system = System::new(); let mut subject = Daemon::new(Box::new(LauncherMock::new())); subject.verifier_tools = Box::new(verifier_tools); subject.setup_reporter = Box::new(setup_reporter); @@ -628,7 +630,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); let record = ui_gateway_recording .get_record::(0) @@ -666,7 +677,7 @@ mod tests { ("consuming-private-key", "secret value", Set), ]); let setup_reporter = SetupReporterMock::new().get_modified_setup_result(Ok(combined_setup)); - let system = System::new("test"); + let system = System::new(); let mut subject = Daemon::new(Box::new(LauncherMock::new())); subject.verifier_tools = Box::new(verifier_tools); subject.setup_reporter = Box::new(setup_reporter); @@ -695,7 +706,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let expected_combined_setup = vec![ UiSetupResponseValue::new( "consuming-private-key", @@ -734,7 +754,7 @@ mod tests { "setup_judges_node_not_running_when_port_and_pid_are_none_without_checking_os", ); let (ui_gateway, _, ui_gateway_recording_arc) = make_recorder(); - let system = System::new("test"); + let system = System::new(); let verifier_tools = VerifierToolsMock::new(); let mut subject = Daemon::new(Box::new(LauncherMock::new())); subject.node_ui_port = None; @@ -766,7 +786,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); let record = ui_gateway_recording .get_record::(0) @@ -802,7 +831,7 @@ mod tests { "setup_judges_node_not_running_when_port_and_pid_are_set_but_os_says_different", ); let (ui_gateway, _, ui_gateway_recording_arc) = make_recorder(); - let system = System::new("test"); + let system = System::new(); let verifier_tools = VerifierToolsMock::new().process_is_running_result(false); // only consulted once; second time, we already know let mut subject = Daemon::new(Box::new(LauncherMock::new())); subject.node_ui_port = Some(1234); @@ -828,7 +857,16 @@ mod tests { subject_addr.try_send(msg.clone()).unwrap(); // accepted without asking because we already know Node is down System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); let get_record = |idx: usize| { ui_gateway_recording @@ -880,13 +918,22 @@ mod tests { lame_setup, ConfiguratorError::required("parameter", "message"), )))); - let system = System::new("test"); + let system = System::new(); subject.ui_gateway_sub = Some(ui_gateway.start().recipient()); subject.handle_setup(47, 74, UiSetupRequest::new(vec![])); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); let message: &NodeToUiMessage = ui_gateway_recording.get_record(0); assert_eq!( @@ -920,13 +967,22 @@ mod tests { subject.setup_reporter = Box::new( SetupReporterMock::new().get_modified_setup_result(Ok(modified_setup.clone())), ); - let system = System::new("test"); + let system = System::new(); subject.ui_gateway_sub = Some(ui_gateway.start().recipient()); subject.handle_setup(47, 74, UiSetupRequest::new(vec![])); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); let message: &NodeToUiMessage = ui_gateway_recording.get_record(0); assert_eq!( @@ -965,13 +1021,22 @@ mod tests { .collect(); subject.setup_reporter = Box::new(SetupReporterMock::new().get_modified_setup_result(Ok(incoming_setup))); - let system = System::new("test"); + let system = System::new(); subject.ui_gateway_sub = Some(ui_gateway.start().recipient()); subject.handle_setup(47, 74, UiSetupRequest::new(vec![])); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); let message: &NodeToUiMessage = ui_gateway_recording.get_record(0); assert_eq!( @@ -1015,13 +1080,22 @@ mod tests { subject.setup_reporter = Box::new( SetupReporterMock::new().get_modified_setup_result(Ok(modified_setup.clone())), ); - let system = System::new("test"); + let system = System::new(); subject.ui_gateway_sub = Some(ui_gateway.start().recipient()); subject.handle_setup(47, 74, UiSetupRequest::new(vec![])); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); let message: &NodeToUiMessage = ui_gateway_recording.get_record(0); assert_eq!( @@ -1070,7 +1144,7 @@ mod tests { redirect_ui_port: 5432, }))); let verifier_tools = VerifierToolsMock::new(); - let system = System::new("test"); + let system = System::new(); let mut subject = Daemon::new(Box::new(launcher)); subject.params.insert( "db-password".to_string(), @@ -1090,7 +1164,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let launch_params = launch_params_arc.lock().unwrap(); assert_eq!( (*launch_params) @@ -1125,7 +1208,7 @@ mod tests { let (ui_gateway, _, ui_gateway_recording_arc) = make_recorder(); let launcher = LauncherMock::new().launch_result(Ok(None)); let verifier_tools = VerifierToolsMock::new(); - let system = System::new("test"); + let system = System::new(); let mut subject = Daemon::new(Box::new(launcher)); subject.params.insert( "db-password".to_string(), @@ -1145,7 +1228,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); assert_eq!(ui_gateway_recording.len(), 0); } @@ -1167,7 +1259,7 @@ mod tests { .process_is_running_result(false) .process_is_running_result(false) .process_is_running_result(false); - let system = System::new("test"); + let system = System::new(); let mut subject = Daemon::new(Box::new(launcher)); subject.params.insert( "db-password".to_string(), @@ -1211,7 +1303,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); // ------ let record = ui_gateway_recording @@ -1239,7 +1340,7 @@ mod tests { let (ui_gateway, _, ui_gateway_recording_arc) = make_recorder(); let launcher = LauncherMock::new().launch_result(Err("booga".to_string())); let verifier_tools = VerifierToolsMock::new(); - let system = System::new("test"); + let system = System::new(); let mut subject = Daemon::new(Box::new(launcher)); subject.params.insert( "db-password".to_string(), @@ -1259,7 +1360,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); let record = ui_gateway_recording .get_record::(0) @@ -1275,7 +1385,7 @@ mod tests { let (ui_gateway, _, ui_gateway_recording_arc) = make_recorder(); let launcher = LauncherMock::new().launch_result(Err("booga".to_string())); let verifier_tools = VerifierToolsMock::new().process_is_running_result(true); - let system = System::new("test"); + let system = System::new(); let mut subject = Daemon::new(Box::new(launcher)); subject.params.insert( "db-password".to_string(), @@ -1297,7 +1407,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); let record = ui_gateway_recording .get_record::(0) @@ -1353,13 +1472,22 @@ mod tests { exit_code: None, stderr: None, }; - let system = System::new("test"); + let system = System::new(); launch_params[0] .1 .try_send(crashed_msg_to_daemon.clone()) .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let gateway_recording = gateway_recording_arc.lock().unwrap(); let start_msg = NodeToUiMessage { target: MessageTarget::ClientId(1234), @@ -1379,7 +1507,7 @@ mod tests { #[test] fn accepts_shutdown_order_after_start_and_returns_redirect() { let (ui_gateway, _, ui_gateway_recording_arc) = make_recorder(); - let system = System::new("test"); + let system = System::new(); let process_is_running_params_arc = Arc::new(Mutex::new(vec![])); let verifier_tools = VerifierToolsMock::new() .process_is_running_params(&process_is_running_params_arc) @@ -1402,7 +1530,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); let record = ui_gateway_recording .get_record::(0) @@ -1443,7 +1580,7 @@ mod tests { fn accepts_unexpected_message_discovers_non_running_node_and_returns_conversational_answer_of_error( ) { let (ui_gateway, _, ui_gateway_recording_arc) = make_recorder(); - let system = System::new("test"); + let system = System::new(); let verifier_tools = VerifierToolsMock::new().process_is_running_result(false); // only consulted once; second time, we already know let mut subject = Daemon::new(Box::new(LauncherMock::new())); subject.node_ui_port = Some(7777); @@ -1463,7 +1600,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); let record = ui_gateway_recording .get_record::(0) @@ -1484,7 +1630,7 @@ mod tests { //fire and forget message that could be sent from UI to Node does not exist so far, //this is a touch of the future let (ui_gateway, _, ui_gateway_recording_arc) = make_recorder(); - let system = System::new("test"); + let system = System::new(); let verifier_tools = VerifierToolsMock::new().process_is_running_result(false); let mut subject = Daemon::new(Box::new(LauncherMock::new())); subject.node_ui_port = Some(7777); @@ -1507,7 +1653,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); let record = ui_gateway_recording .get_record::(0) @@ -1529,7 +1684,7 @@ mod tests { #[test] fn accepts_financials_request_before_start_and_returns_error() { let (ui_gateway, _, ui_gateway_recording_arc) = make_recorder(); - let system = System::new("test"); + let system = System::new(); let verifier_tools = VerifierToolsMock::new(); let mut subject = Daemon::new(Box::new(LauncherMock::new())); subject.node_ui_port = None; @@ -1555,7 +1710,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); let record = ui_gateway_recording .get_record::(0) @@ -1573,7 +1737,7 @@ mod tests { #[test] fn accepts_crash_notification_when_not_in_setup_mode_and_sends_ui_notification() { let (ui_gateway, _, ui_gateway_recording_arc) = make_recorder(); - let system = System::new("test"); + let system = System::new(); let verifier_tools = VerifierToolsMock::new(); let mut subject = Daemon::new(Box::new(LauncherMock::new())); subject.node_ui_port = Some(1234); @@ -1598,7 +1762,16 @@ mod tests { }) .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); let record = ui_gateway_recording.get_record::(0); assert_eq!(record.target, MessageTarget::AllClients); @@ -1633,7 +1806,7 @@ mod tests { #[test] fn accepts_crash_notification_in_setup_mode_and_swallows() { let (ui_gateway, _, ui_gateway_recording_arc) = make_recorder(); - let system = System::new("test"); + let system = System::new(); let ui_gateway_sub = ui_gateway.start().recipient(); let verifier_tools = VerifierToolsMock::new(); let mut subject = Daemon::new(Box::new(LauncherMock::new())); @@ -1649,7 +1822,16 @@ mod tests { }); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); assert_eq!(ui_gateway_recording.len(), 0); } diff --git a/node/src/database/db_initializer.rs b/node/src/database/db_initializer.rs index cd2319842..a15b4f601 100644 --- a/node/src/database/db_initializer.rs +++ b/node/src/database/db_initializer.rs @@ -9,7 +9,7 @@ use masq_lib::constants::{ }; use rand::prelude::*; use rusqlite::Error::InvalidColumnType; -use rusqlite::{Connection, OpenFlags, NO_PARAMS}; +use rusqlite::{Connection, OpenFlags}; use std::collections::HashMap; use std::fmt::Debug; use std::fs; @@ -154,12 +154,12 @@ impl DbInitializerReal { value text, encrypted integer not null )", - NO_PARAMS, + [], ) .expect("Can't create config table"); conn.execute( "create unique index if not exists idx_config_name on config (name)", - NO_PARAMS, + [], ) .expect("Can't create config name index"); } @@ -241,12 +241,12 @@ impl DbInitializerReal { last_paid_timestamp integer not null, pending_payment_transaction text null )", - NO_PARAMS, + [], ) .expect("Can't create payable table"); conn.execute( "create unique index if not exists idx_payable_wallet_address on payable (wallet_address)", - NO_PARAMS, + [], ) .expect("Can't create payable wallet_address index"); } @@ -258,12 +258,12 @@ impl DbInitializerReal { balance integer not null, last_received_timestamp integer not null )", - NO_PARAMS, + [], ) .expect("Can't create receivable table"); conn.execute( "create unique index if not exists idx_receivable_wallet_address on receivable (wallet_address)", - NO_PARAMS, + [], ) .expect("Can't create receivable wallet_address index"); } @@ -271,19 +271,19 @@ impl DbInitializerReal { fn create_banned_table(&self, conn: &Connection) { conn.execute( "create table banned ( wallet_address text primary key )", - NO_PARAMS, + [], ) .expect("Can't create banned table"); conn.execute( "create unique index idx_banned_wallet_address on banned (wallet_address)", - NO_PARAMS, + [], ) .expect("Can't create banned wallet_address index"); } fn extract_configurations(&self, conn: &Connection) -> HashMap> { let mut stmt = conn.prepare("select name, value from config").unwrap(); - let query_result = stmt.query_map(NO_PARAMS, |row| Ok((row.get(0), row.get(1)))); + let query_result = stmt.query_map([], |row| Ok((row.get(0), row.get(1)))); match query_result { Ok(rows) => rows, Err(e) => panic!("Error retrieving configuration: {}", e), @@ -380,7 +380,7 @@ impl DbInitializerReal { let mut rng = SmallRng::from_entropy(); loop { let candidate_port: u16 = - rng.gen_range(LOWEST_USABLE_INSECURE_PORT, HIGHEST_RANDOM_CLANDESTINE_PORT); + rng.gen_range(LOWEST_USABLE_INSECURE_PORT..=HIGHEST_RANDOM_CLANDESTINE_PORT); match TcpListener::bind(&SocketAddr::V4(SocketAddrV4::new( Ipv4Addr::from(0), candidate_port, @@ -409,7 +409,7 @@ impl DbInitializerReal { if encrypted { 1 } else { 0 } ) .as_str(), - NO_PARAMS, + [], ) .unwrap_or_else(|e| panic!("Can't preload config table with {}: {:?}", readable, e)); } @@ -614,7 +614,7 @@ mod tests { let conn = Connection::open_with_flags(&home_dir.join(DATABASE_FILE), flags).unwrap(); let mut stmt = conn.prepare ("select wallet_address, balance, last_paid_timestamp, pending_payment_transaction from payable").unwrap (); - let mut payable_contents = stmt.query_map(NO_PARAMS, |_| Ok(42)).unwrap(); + let mut payable_contents = stmt.query_map([], |_| Ok(42)).unwrap(); assert!(payable_contents.next().is_none()); } @@ -637,7 +637,7 @@ mod tests { let mut stmt = conn .prepare("select wallet_address, balance, last_received_timestamp from receivable") .unwrap(); - let mut receivable_contents = stmt.query_map(NO_PARAMS, |_| Ok(())).unwrap(); + let mut receivable_contents = stmt.query_map([], |_| Ok(())).unwrap(); assert!(receivable_contents.next().is_none()); } @@ -658,7 +658,7 @@ mod tests { let conn = Connection::open_with_flags(&home_dir.join(DATABASE_FILE), flags).unwrap(); let mut stmt = conn.prepare("select wallet_address from banned").unwrap(); - let mut banned_contents = stmt.query_map(NO_PARAMS, |_| Ok(42)).unwrap(); + let mut banned_contents = stmt.query_map([], |_| Ok(42)).unwrap(); assert!(banned_contents.next().is_none()); } @@ -720,7 +720,7 @@ mod tests { let conn = Connection::open_with_flags(&home_dir.join(DATABASE_FILE), flags).unwrap(); conn.execute( "insert into config (name, value, encrypted) values ('preexisting', 'yes', 0)", - NO_PARAMS, + [], ) .unwrap(); } @@ -793,11 +793,8 @@ mod tests { let mut flags = OpenFlags::empty(); flags.insert(OpenFlags::SQLITE_OPEN_READ_WRITE); let conn = Connection::open_with_flags(&home_dir.join(DATABASE_FILE), flags).unwrap(); - conn.execute( - "delete from config where name = 'schema_version'", - NO_PARAMS, - ) - .unwrap(); + conn.execute("delete from config where name = 'schema_version'", []) + .unwrap(); } let subject = DbInitializerReal::default(); @@ -828,7 +825,7 @@ mod tests { let conn = Connection::open_with_flags(&home_dir.join(DATABASE_FILE), flags).unwrap(); conn.execute( "update config set value = 'boooobles' where name = 'schema_version'", - NO_PARAMS, + [], ) .unwrap(); } diff --git a/node/src/database/db_migrations.rs b/node/src/database/db_migrations.rs index c10ee3d9e..1a4521f3e 100644 --- a/node/src/database/db_migrations.rs +++ b/node/src/database/db_migrations.rs @@ -5,7 +5,7 @@ use crate::database::db_initializer::CURRENT_SCHEMA_VERSION; use crate::sub_lib::logger::Logger; use masq_lib::blockchains::chains::Chain; use masq_lib::utils::{ExpectValue, WrapResult}; -use rusqlite::{Transaction, NO_PARAMS}; +use rusqlite::Transaction; use std::fmt::Debug; pub trait DbMigrator { @@ -154,7 +154,7 @@ impl MigDeclarationUtilities for MigDeclarationUtilitiesReal<'_> { let transaction = self.root_transaction_ref; sql_statements.iter().fold(Ok(()), |so_far, stm| { if so_far.is_ok() { - transaction.execute(stm, NO_PARAMS).map(|_| ()) + transaction.execute(stm, []).map(|_| ()) } else { so_far } @@ -283,7 +283,7 @@ impl DbMigratorReal { "UPDATE {} SET value = {} WHERE name = 'schema_version'", name_of_given_table, update_to ), - NO_PARAMS, + [], )?; Ok(()) } @@ -365,7 +365,7 @@ mod tests { use masq_lib::blockchains::chains::Chain; use masq_lib::constants::DEFAULT_CHAIN; use masq_lib::test_utils::utils::{ensure_node_home_directory_exists, TEST_DEFAULT_CHAIN}; - use rusqlite::{Connection, Error, OptionalExtension, NO_PARAMS}; + use rusqlite::{Connection, Error, OptionalExtension}; use std::cell::RefCell; use std::fmt::Debug; use std::fs::create_dir_all; @@ -700,7 +700,7 @@ mod tests { name TEXT, count TEXT )", - NO_PARAMS, + [], ) .unwrap(); let correct_statement_1 = "INSERT INTO test (name,count) VALUES ('mushrooms','270')"; @@ -728,11 +728,9 @@ mod tests { let connection = Connection::open(&db_path).unwrap(); //when an error occurs, the underlying transaction gets rolled back, and we cannot see any changes to the database let assertion: Option<(String, String)> = connection - .query_row( - "SELECT count FROM test WHERE name='mushrooms'", - NO_PARAMS, - |row| Ok((row.get(0).unwrap(), row.get(1).unwrap())), - ) + .query_row("SELECT count FROM test WHERE name='mushrooms'", [], |row| { + Ok((row.get(0).unwrap(), row.get(1).unwrap())) + }) .optional() .unwrap(); assert!(assertion.is_none()) //means no result for this query @@ -780,13 +778,13 @@ mod tests { name TEXT, value TEXT )", - NO_PARAMS, + [], ) .unwrap(); connection .execute( "INSERT INTO test (name, value) VALUES ('schema_version', '2')", - NO_PARAMS, + [], ) .unwrap(); let mut connection_wrapper = ConnectionWrapperReal::new(connection); @@ -821,7 +819,7 @@ mod tests { .unwrap() .query_row( "SELECT name, value FROM test WHERE name='schema_version'", - NO_PARAMS, + [], |row| Ok((row.get(0).unwrap(), row.get(1).unwrap())), ) .unwrap(); @@ -869,7 +867,7 @@ mod tests { name TEXT, value TEXT )", - NO_PARAMS, + [], ) .unwrap(); let mut connection_wrapper = ConnectionWrapperReal::new(connection); diff --git a/node/src/db_config/config_dao.rs b/node/src/db_config/config_dao.rs index 50dd3f708..ab518d21c 100644 --- a/node/src/db_config/config_dao.rs +++ b/node/src/db_config/config_dao.rs @@ -2,7 +2,7 @@ use crate::database::connection_wrapper::ConnectionWrapper; use crate::database::dao_utils::DaoFactoryReal; use rusqlite::types::ToSql; -use rusqlite::{Row, Rows, Statement, Transaction, NO_PARAMS}; +use rusqlite::{Row, Rows, Statement, Transaction}; #[derive(Debug, PartialEq, Clone)] pub enum ConfigDaoError { @@ -190,7 +190,7 @@ fn handle_update_execution(result: rusqlite::Result) -> Result<(), Config fn get_all(mut stmt: Statement) -> Result, ConfigDaoError> { let mut rows: Rows = stmt - .query(NO_PARAMS) + .query([]) .expect("Schema error: couldn't dump config table"); let mut results = Vec::new(); loop { diff --git a/node/src/discriminator.rs b/node/src/discriminator.rs index 910d467e5..3a3e5318d 100644 --- a/node/src/discriminator.rs +++ b/node/src/discriminator.rs @@ -2,7 +2,7 @@ use crate::masquerader::{MasqueradeError, Masquerader}; use crate::sub_lib::framer::Framer; use crate::sub_lib::logger::Logger; -use serde::export::fmt::Debug; +use serde::__private::fmt::Debug; #[derive(Debug, PartialEq, Clone)] pub struct UnmaskedChunk { diff --git a/node/src/dispatcher.rs b/node/src/dispatcher.rs index 7a5b91e32..c129127b9 100644 --- a/node/src/dispatcher.rs +++ b/node/src/dispatcher.rs @@ -191,10 +191,11 @@ mod tests { use std::net::SocketAddr; use std::str::FromStr; use std::thread; + use std::time::SystemTime; #[test] fn sends_inbound_data_for_proxy_server_to_proxy_server() { - let system = System::new("test"); + let system = System::new(); let subject = Dispatcher::new(CrashPoint::None, "descriptor".to_string()); let subject_addr: Addr = subject.start(); let subject_ibcd = subject_addr.clone().recipient::(); @@ -219,7 +220,16 @@ mod tests { subject_ibcd.try_send(ibcd_in).unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } awaiter.await_message_count(1); let recording = recording_arc.lock().unwrap(); @@ -235,7 +245,7 @@ mod tests { #[test] fn sends_inbound_data_for_hopper_to_hopper() { - let system = System::new("test"); + let system = System::new(); let subject = Dispatcher::new(CrashPoint::None, "descriptor".to_string()); let subject_addr: Addr = subject.start(); let (hopper, hopper_awaiter, hopper_recording_arc) = make_recorder(); @@ -257,7 +267,16 @@ mod tests { subject_addr.try_send(ibcd_in).unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } hopper_awaiter.await_message_count(1); let hopper_recording = hopper_recording_arc.lock().unwrap(); @@ -274,7 +293,7 @@ mod tests { #[test] #[should_panic(expected = "ProxyServer unbound in Dispatcher")] fn inbound_client_data_handler_panics_when_proxy_server_is_unbound() { - let system = System::new("test"); + let system = System::new(); let subject = Dispatcher::new(CrashPoint::None, "descriptor".to_string()); let subject_addr: Addr = subject.start(); let subject_ibcd = subject_addr.recipient::(); @@ -293,13 +312,22 @@ mod tests { subject_ibcd.try_send(ibcd_in).unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } } #[test] #[should_panic(expected = "Hopper unbound in Dispatcher")] fn inbound_client_data_handler_panics_when_hopper_is_unbound() { - let system = System::new("test"); + let system = System::new(); let subject = Dispatcher::new(CrashPoint::None, "descriptor".to_string()); let subject_addr: Addr = subject.start(); let subject_ibcd = subject_addr.recipient::(); @@ -318,13 +346,22 @@ mod tests { subject_ibcd.try_send(ibcd_in).unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } } #[test] #[should_panic(expected = "StreamHandlerPool unbound in Dispatcher")] fn panics_when_stream_handler_pool_is_unbound() { - let system = System::new("test"); + let system = System::new(); let subject = Dispatcher::new(CrashPoint::None, "descriptor".to_string()); let subject_addr: Addr = subject.start(); let subject_obcd = subject_addr.recipient::(); @@ -340,12 +377,21 @@ mod tests { subject_obcd.try_send(obcd).unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } } #[test] fn forwards_outbound_data_to_stream_handler_pool() { - let system = System::new("test"); + let system = System::new(); let subject = Dispatcher::new(CrashPoint::None, "descriptor".to_string()); let subject_addr: Addr = subject.start(); let subject_obcd = subject_addr.clone().recipient::(); @@ -376,7 +422,16 @@ mod tests { subject_obcd.try_send(obcd).unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } awaiter.await_message_count(1); let recording = recording_arc.lock().unwrap(); @@ -392,7 +447,7 @@ mod tests { #[test] fn handle_stream_shutdown_msg_routes_non_clandestine_to_proxy_server() { - let system = System::new("test"); + let system = System::new(); let subject = Dispatcher::new(CrashPoint::None, "descriptor".to_string()); let addr = subject.start(); let (proxy_server, _, proxy_server_recording_arc) = make_recorder(); @@ -414,7 +469,16 @@ mod tests { addr.try_send(msg.clone()).unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let proxy_server_recording = proxy_server_recording_arc.lock().unwrap(); assert_eq!( proxy_server_recording.get_record::(0), @@ -426,7 +490,7 @@ mod tests { #[test] fn handle_stream_shutdown_msg_routes_clandestine_to_neighborhood() { - let system = System::new("test"); + let system = System::new(); let subject = Dispatcher::new(CrashPoint::None, "descriptor".to_string()); let addr = subject.start(); let (proxy_server, _, proxy_server_recording_arc) = make_recorder(); @@ -445,7 +509,16 @@ mod tests { addr.try_send(msg.clone()).unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let proxy_server_recording = proxy_server_recording_arc.lock().unwrap(); assert_eq!(proxy_server_recording.len(), 0); let neighborhood_recording = neighborhood_recording_arc.lock().unwrap(); @@ -458,7 +531,7 @@ mod tests { #[test] //joined with inspecting whether dispatcher obtains the information of the descriptor correctly fn descriptor_request_results_in_descriptor_response() { - let system = System::new("test"); + let system = System::new(); let (ui_gateway, _, ui_gateway_recording_arc) = make_recorder(); let mut bootstrapper_config = BootstrapperConfig::new(); bootstrapper_config.node_descriptor_opt = Some("abcdef1234".to_string()); @@ -479,7 +552,16 @@ mod tests { thread::sleep(std::time::Duration::from_millis(15)); //Required to break unknown race condition, probably inside actix. System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); let response = ui_gateway_recording.get_record::(0); assert_eq!( diff --git a/node/src/hopper/consuming_service.rs b/node/src/hopper/consuming_service.rs index 387e6bbdb..778e7f76b 100644 --- a/node/src/hopper/consuming_service.rs +++ b/node/src/hopper/consuming_service.rs @@ -144,6 +144,7 @@ mod tests { use masq_lib::test_utils::utils::TEST_DEFAULT_CHAIN; use std::net::{IpAddr, Ipv4Addr}; use std::str::FromStr; + use std::time::SystemTime; #[test] fn converts_no_lookup_incipient_message_to_live_and_sends_to_dispatcher() { @@ -157,7 +158,7 @@ mod tests { make_meaningless_message_type(), ) .unwrap(); - let system = System::new(""); + let system = System::new(); let peer_actors = peer_actors_builder().dispatcher(dispatcher).build(); let subject = ConsumingService::new( main_cryptde(), @@ -168,7 +169,16 @@ mod tests { subject.consume_no_lookup(package.clone()); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let dispatcher_recording = dispatcher_recording_arc.lock().unwrap(); let transmit_data_msg = dispatcher_recording.get_record::(0); let (lcp, _) = LiveCoresPackage::from_no_lookup_incipient(package, main_cryptde()).unwrap(); @@ -193,7 +203,7 @@ mod tests { node_addr: target_node_addr.clone(), payload: CryptData::new(b""), }; - let system = System::new(""); + let system = System::new(); let peer_actors = peer_actors_builder().build(); let subject = ConsumingService::new( main_cryptde(), @@ -204,7 +214,16 @@ mod tests { subject.consume_no_lookup(package); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } TestLogHandler::new ().exists_log_containing ("ERROR: ConsumingService: Could not accept CORES package for transmission: EncryptionError(EmptyKey)"); } @@ -227,7 +246,7 @@ mod tests { let payload = make_meaningless_message_type(); let incipient_cores_package = IncipientCoresPackage::new(cryptde, route.clone(), payload, &destination_key).unwrap(); - let system = System::new("converts_incipient_message_to_live_and_sends_to_dispatcher"); + let system = System::new(); let peer_actors = peer_actors_builder().dispatcher(dispatcher).build(); let subject = ConsumingService::new( cryptde, @@ -238,7 +257,16 @@ mod tests { subject.consume(incipient_cores_package.clone()); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let dispatcher_recording = dispatcher_recording_arc.lock().unwrap(); let record = dispatcher_recording.get_record::(0); let (expected_lcp, _) = @@ -274,7 +302,7 @@ mod tests { let payload = make_meaningless_message_type(); let incipient_cores_package = IncipientCoresPackage::new(cryptde, route.clone(), payload, &destination_key).unwrap(); - let system = System::new("consume_sends_zero_hop_incipient_directly_to_hopper"); + let system = System::new(); let peer_actors = peer_actors_builder().hopper(hopper).build(); let subject = ConsumingService::new( cryptde, @@ -285,7 +313,16 @@ mod tests { subject.consume(incipient_cores_package.clone()); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let hopper_recording = hopper_recording_arc.lock().unwrap(); let record = hopper_recording.get_record::(0); let (expected_lcp, _) = @@ -307,7 +344,7 @@ mod tests { #[test] fn consume_logs_error_when_given_bad_input_data() { init_test_logging(); - let _system = System::new("consume_logs_error_when_given_bad_input_data"); + let _system = System::new(); let peer_actors = peer_actors_builder().build(); let to_dispatcher = peer_actors.dispatcher.from_dispatcher_client; let to_hopper = peer_actors.hopper.from_dispatcher; diff --git a/node/src/hopper/mod.rs b/node/src/hopper/mod.rs index e3b8c05e0..391a049b0 100644 --- a/node/src/hopper/mod.rs +++ b/node/src/hopper/mod.rs @@ -146,6 +146,7 @@ mod tests { use masq_lib::test_utils::utils::TEST_DEFAULT_CHAIN; use std::net::SocketAddr; use std::str::FromStr; + use std::time::SystemTime; #[test] #[should_panic(expected = "Hopper unbound: no RoutingService")] @@ -176,7 +177,7 @@ mod tests { sequence_number: None, data: encrypted_package, }; - let system = System::new("panics_if_routing_service_is_unbound"); + let system = System::new(); let subject = Hopper::new(HopperConfig { main_cryptde, alias_cryptde, @@ -189,7 +190,16 @@ mod tests { subject_addr.try_send(inbound_client_data).unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } } #[test] @@ -216,7 +226,7 @@ mod tests { &main_cryptde.public_key(), ) .unwrap(); - let system = System::new("panics_if_consuming_service_is_unbound"); + let system = System::new(); let subject = Hopper::new(HopperConfig { main_cryptde, alias_cryptde, @@ -229,6 +239,15 @@ mod tests { subject_addr.try_send(incipient_package).unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } } } diff --git a/node/src/hopper/routing_service.rs b/node/src/hopper/routing_service.rs index b3b53069e..ced2a1985 100644 --- a/node/src/hopper/routing_service.rs +++ b/node/src/hopper/routing_service.rs @@ -537,6 +537,7 @@ mod tests { use masq_lib::test_utils::utils::TEST_DEFAULT_CHAIN; use std::net::SocketAddr; use std::str::FromStr; + use std::time::SystemTime; #[test] fn dns_resolution_failures_are_reported_to_the_proxy_server() { @@ -568,7 +569,7 @@ mod tests { }; let (proxy_server, _, proxy_server_recording) = make_recorder(); - let system = System::new("dns_resolution_failures_are_reported_to_the_proxy_server"); + let system = System::new(); let peer_actors = peer_actors_builder().proxy_server(proxy_server).build(); let subject = RoutingService::new( main_cryptde, @@ -589,7 +590,16 @@ mod tests { subject.route(inbound_client_data); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let recordings = proxy_server_recording.lock().unwrap(); let message = recordings.get_record::>(0); @@ -760,7 +770,7 @@ mod tests { data: data_enc.into(), }; - let system = System::new("converts_live_message_to_expired_for_proxy_client"); + let system = System::new(); let peer_actors = peer_actors_builder().proxy_client(component).build(); let subject = RoutingService::new( main_cryptde, @@ -781,7 +791,16 @@ mod tests { subject.route(inbound_client_data); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let component_recording = component_recording_arc.lock().unwrap(); let record = component_recording.get_record::>(0); @@ -830,7 +849,7 @@ mod tests { data: data_enc.into(), }; - let system = System::new("converts_live_message_to_expired_for_proxy_client"); + let system = System::new(); let peer_actors = peer_actors_builder().build(); let subject = RoutingService::new( main_cryptde, @@ -851,7 +870,16 @@ mod tests { subject.route(inbound_client_data); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let tlh = TestLogHandler::new(); tlh.exists_no_log_containing("Couldn't decode CORES package in 8-byte buffer"); tlh.exists_log_containing("WARN: RoutingService: Received CORES package from 1.2.3.4:5678 for Proxy Client, but Proxy Client isn't running"); @@ -886,7 +914,7 @@ mod tests { data: lcp_enc.into(), }; - let system = System::new("converts_live_message_to_expired_for_proxy_server"); + let system = System::new(); let peer_actors = peer_actors_builder().proxy_server(component).build(); let subject = RoutingService::new( main_cryptde, @@ -907,7 +935,16 @@ mod tests { subject.route(inbound_client_data); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let component_recording = component_recording_arc.lock().unwrap(); let record = component_recording.get_record::>(0); @@ -964,7 +1001,7 @@ mod tests { data: data_enc.into(), }; - let system = System::new("converts_live_gossip_message_to_expired_for_neighborhood"); + let system = System::new(); let peer_actors = peer_actors_builder().neighborhood(component).build(); let subject = RoutingService::new( main_cryptde, @@ -985,7 +1022,16 @@ mod tests { subject.route(inbound_client_data); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let component_recording = component_recording_arc.lock().unwrap(); let record = component_recording.get_record::>(0); let expected_ecp = lcp_a @@ -1038,7 +1084,7 @@ mod tests { }; let system = - System::new("converts_live_gossip_failure_message_to_expired_for_neighborhood"); + System::new(); let peer_actors = peer_actors_builder().neighborhood(component).build(); let subject = RoutingService::new( cryptde, @@ -1059,7 +1105,16 @@ mod tests { subject.route(inbound_client_data); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let component_recording = component_recording_arc.lock().unwrap(); let record = component_recording.get_record::>(0); let expected_ecp = lcp @@ -1114,7 +1169,7 @@ mod tests { data: data_enc.into(), }; - let system = System::new("passes_on_inbound_client_data_not_meant_for_this_node"); + let system = System::new(); let peer_actors = peer_actors_builder() .dispatcher(dispatcher) .accountant(accountant) @@ -1138,7 +1193,16 @@ mod tests { subject.route(inbound_client_data); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let dispatcher_recording = dispatcher_recording_arc.lock().unwrap(); let record = dispatcher_recording.get_record::(0); @@ -1204,9 +1268,7 @@ mod tests { data: data_enc.into(), }; - let system = System::new( - "reprocesses_inbound_client_data_meant_for_this_node_and_destined_for_hopper", - ); + let system = System::new(); let peer_actors = peer_actors_builder().hopper(hopper).build(); let subject = RoutingService::new( main_cryptde, @@ -1227,7 +1289,16 @@ mod tests { subject.route(inbound_client_data); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let hopper_recording = hopper_recording_arc.lock().unwrap(); let record = hopper_recording.get_record::(0); @@ -1283,9 +1354,7 @@ mod tests { sequence_number: None, data: data_enc.into(), }; - let system = System::new( - "route_logs_and_ignores_cores_package_that_demands_routing_without_paying_wallet", - ); + let system = System::new(); let (proxy_client, _, proxy_client_recording_arc) = make_recorder(); let (proxy_server, _, proxy_server_recording_arc) = make_recorder(); let (neighborhood, _, neighborhood_recording_arc) = make_recorder(); @@ -1317,7 +1386,16 @@ mod tests { subject.route(inbound_client_data); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } TestLogHandler::new().exists_log_matching( "WARN: RoutingService: Refusing to route Live CORES package with \\d+-byte payload without paying wallet", ); @@ -1384,9 +1462,7 @@ mod tests { sequence_number: None, data: data_enc.into(), }; - let system = System::new( - "route_logs_and_ignores_cores_package_that_demands_proxy_client_routing_with_paying_wallet_that_cant_pay", - ); + let system = System::new(); let (proxy_client, _, proxy_client_recording_arc) = make_recorder(); let (proxy_server, _, proxy_server_recording_arc) = make_recorder(); let (neighborhood, _, neighborhood_recording_arc) = make_recorder(); @@ -1418,7 +1494,16 @@ mod tests { subject.route(inbound_client_data); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } TestLogHandler::new().exists_log_matching( "WARN: RoutingService: Refusing to route Expired CORES package with \\d+-byte payload without proof of 0x0a26dc9ebb2124baf1efe9d460f1ce59cd7944bd paying wallet ownership.", ); @@ -1480,9 +1565,7 @@ mod tests { encodex(main_cryptde, &destination_key, &payload).unwrap(), ); - let system = System::new( - "route_logs_and_ignores_cores_package_that_demands_hopper_routing_with_paying_wallet_that_cant_pay", - ); + let system = System::new(); let (proxy_client, _, proxy_client_recording_arc) = make_recorder(); let (proxy_server, _, proxy_server_recording_arc) = make_recorder(); let (neighborhood, _, neighborhood_recording_arc) = make_recorder(); @@ -1518,7 +1601,16 @@ mod tests { ); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } TestLogHandler::new().exists_log_matching( "WARN: RoutingService: Refusing to route Live CORES package with \\d+-byte payload without proof of 0x0a26dc9ebb2124baf1efe9d460f1ce59cd7944bd paying wallet ownership.", ); @@ -1563,7 +1655,7 @@ mod tests { sequence_number: None, data: data_enc.into(), }; - let system = System::new("test"); + let system = System::new(); let peer_actors = peer_actors_builder() .dispatcher(dispatcher) .accountant(accountant) @@ -1587,7 +1679,16 @@ mod tests { subject.route(inbound_client_data); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let dispatcher_recording = dispatcher_recording_arc.lock().unwrap(); assert_eq!(dispatcher_recording.len(), 0); @@ -1634,7 +1735,7 @@ mod tests { sequence_number: None, data: data_enc.into(), }; - let system = System::new("test"); + let system = System::new(); let peer_actors = peer_actors_builder() .dispatcher(dispatcher) .accountant(accountant) @@ -1658,7 +1759,16 @@ mod tests { subject.route(inbound_client_data); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let dispatcher_recording = dispatcher_recording_arc.lock().unwrap(); assert_eq!(dispatcher_recording.len(), 0); @@ -1678,7 +1788,7 @@ mod tests { sequence_number: None, data: vec![], }; - let system = System::new("consume_logs_error_when_given_bad_input_data"); + let system = System::new(); let (proxy_client, _, proxy_client_recording_arc) = make_recorder(); let (proxy_server, _, proxy_server_recording_arc) = make_recorder(); let (neighborhood, _, neighborhood_recording_arc) = make_recorder(); @@ -1708,7 +1818,16 @@ mod tests { subject.route(inbound_client_data); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } TestLogHandler::new().exists_log_containing( "ERROR: RoutingService: Couldn't decode CORES package in 0-byte buffer from 1.2.3.4:5678: DecryptionError(EmptyData)", ); @@ -1736,7 +1855,7 @@ mod tests { sequence_number: None, data: data_enc.into(), }; - let system = System::new("consume_logs_error_when_given_bad_input_data"); + let system = System::new(); let (proxy_client, _, proxy_client_recording_arc) = make_recorder(); let (proxy_server, _, proxy_server_recording_arc) = make_recorder(); let (neighborhood, _, neighborhood_recording_arc) = make_recorder(); @@ -1766,7 +1885,16 @@ mod tests { subject.route(inbound_client_data); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } TestLogHandler::new().exists_log_containing( "ERROR: RoutingService: Invalid 67-byte CORES package: RoutingError(EmptyRoute)", ); @@ -1839,12 +1967,21 @@ mod tests { MessageType::Gossip(VersionedData::test_new(dv!(0, 0), vec![])), 0, ); - let system = System::new("route_expired_package_handles_unmigratable_gossip"); + let system = System::new(); subject.route_expired_package(Component::Neighborhood, expired_package, true); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let neighborhood_recording = neighborhood_recording_arc.lock().unwrap(); assert_eq!(neighborhood_recording.len(), 0); TestLogHandler::new().exists_log_containing( @@ -1879,12 +2016,21 @@ mod tests { MessageType::ClientRequest(VersionedData::test_new(dv!(0, 0), vec![])), 0, ); - let system = System::new("route_expired_package_handles_unmigratable_client_request"); + let system = System::new(); subject.route_expired_package(Component::ProxyClient, expired_package, true); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let proxy_client_recording = proxy_client_recording_arc.lock().unwrap(); assert_eq!(proxy_client_recording.len(), 0); TestLogHandler::new().exists_log_containing( @@ -1919,12 +2065,21 @@ mod tests { MessageType::ClientResponse(VersionedData::test_new(dv!(0, 0), vec![])), 0, ); - let system = System::new("route_expired_package_handles_unmigratable_client_response"); + let system = System::new(); subject.route_expired_package(Component::ProxyServer, expired_package, true); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let proxy_server_recording = proxy_server_recording_arc.lock().unwrap(); assert_eq!(proxy_server_recording.len(), 0); TestLogHandler::new().exists_log_containing( @@ -1959,12 +2114,21 @@ mod tests { MessageType::DnsResolveFailed(VersionedData::test_new(dv!(0, 0), vec![])), 0, ); - let system = System::new("route_expired_package_handles_unmigratable_dns_resolve_failure"); + let system = System::new(); subject.route_expired_package(Component::ProxyServer, expired_package, true); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let hopper_recording = hopper_recording_arc.lock().unwrap(); assert_eq!(hopper_recording.len(), 0); TestLogHandler::new().exists_log_containing( @@ -1999,12 +2163,21 @@ mod tests { MessageType::GossipFailure(VersionedData::test_new(dv!(0, 0), vec![])), 0, ); - let system = System::new("route_expired_package_handles_unmigratable_gossip_failure"); + let system = System::new(); subject.route_expired_package(Component::Neighborhood, expired_package, true); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let neighborhood_recording = neighborhood_recording_arc.lock().unwrap(); assert_eq!(neighborhood_recording.len(), 0); TestLogHandler::new().exists_log_containing( diff --git a/node/src/listener_handler.rs b/node/src/listener_handler.rs index bf145336c..21e7f31eb 100644 --- a/node/src/listener_handler.rs +++ b/node/src/listener_handler.rs @@ -157,7 +157,7 @@ mod tests { use std::str::FromStr; use std::sync::Arc; use std::thread; - use std::time::Duration; + use std::time::{Duration, SystemTime}; use tokio; use tokio::net::TcpStream; use tokio::reactor::Handle; @@ -286,11 +286,20 @@ mod tests { let (tx, rx) = unbounded(); thread::spawn(move || { - let system = System::new("handles_connection_errors"); + let system = System::new(); let add_stream_sub = start_recorder(stream_handler_pool); tx.send(add_stream_sub) .expect("Unable to send add_stream_sub to test"); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let port = find_free_port(); @@ -373,10 +382,19 @@ mod tests { let (tx, rx) = unbounded(); thread::spawn(move || { - let system = System::new("converts_connections_into_connection_infos"); + let system = System::new(); let add_stream_sub = start_recorder(stream_handler_pool); tx.send(add_stream_sub).expect("Internal Error"); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let port = find_free_port(); diff --git a/node/src/neighborhood/mod.rs b/node/src/neighborhood/mod.rs index 0ed675bf4..0ab424f0a 100644 --- a/node/src/neighborhood/mod.rs +++ b/node/src/neighborhood/mod.rs @@ -4,13 +4,8 @@ use std::cmp::Ordering; use std::convert::TryFrom; use std::net::SocketAddr; use std::path::PathBuf; +use actix::{Actor, Addr, Context, Handler, MessageResult, Recipient, System}; -use actix::Addr; -use actix::Context; -use actix::Handler; -use actix::MessageResult; -use actix::Recipient; -use actix::{Actor, System}; use itertools::Itertools; use gossip_acceptor::GossipAcceptor; @@ -1239,14 +1234,13 @@ mod tests { use std::str::FromStr; use std::sync::{Arc, Mutex}; use std::thread; - - use actix::dev::{MessageResponse, ResponseChannel}; + use std::time::SystemTime; + use actix::dev::*; use actix::Message; - use actix::Recipient; - use actix::System; + use itertools::Itertools; use serde_cbor; - use tokio::prelude::Future; + use masq_lib::constants::{DEFAULT_CHAIN, TLS_PORT}; use masq_lib::test_utils::utils::{ensure_node_home_directory_exists, TEST_DEFAULT_CHAIN}; @@ -1399,7 +1393,7 @@ mod tests { let earning_wallet = make_wallet("earning"); let consuming_wallet = Some(make_paying_wallet(b"consuming")); let system = - System::new("node_with_no_neighbor_configs_ignores_bootstrap_neighborhood_now_message"); + System::new(); let subject = Neighborhood::new( cryptde, &bc_from_nc_plus( @@ -1420,7 +1414,16 @@ mod tests { sub.try_send(StartMessage {}).unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let recording = hopper_recording_arc.lock().unwrap(); assert_eq!(recording.len(), 0); TestLogHandler::new() @@ -1436,7 +1439,7 @@ mod tests { let earning_wallet = make_wallet("earning"); let consuming_wallet = Some(make_paying_wallet(b"consuming")); let neighbor_node = make_node_record(3456, true); - let system = System::new("node_with_bad_neighbor_config_panics"); + let system = System::new(); let subject = Neighborhood::new( cryptde, &bc_from_nc_plus( @@ -1464,7 +1467,16 @@ mod tests { sub.try_send(StartMessage {}).unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } } #[test] @@ -1572,14 +1584,23 @@ mod tests { GossipFailure_0v1::ManualRejection, 0, ); - let system = System::new("responds_with_none_when_initially_configured_with_no_data"); + let system = System::new(); let addr: Addr = subject.start(); let sub = addr.recipient::>(); sub.try_send(ecp1).unwrap(); sub.try_send(ecp2).unwrap(); - system.run(); // If this never halts, it's because the Neighborhood isn't properly killing its actor + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } // If this never halts, it's because the Neighborhood isn't properly killing its actor let tlh = TestLogHandler::new(); tlh.exists_log_containing ("WARN: Neighborhood: Node at 3.4.5.6 refused Debut: No neighbors for Introduction or Pass"); @@ -1589,7 +1610,7 @@ mod tests { #[test] fn node_query_responds_with_none_when_initially_configured_with_no_data() { - let system = System::new("responds_with_none_when_initially_configured_with_no_data"); + let system = System::new(); let subject = make_standard_subject(); let addr: Addr = subject.start(); let sub: Recipient = addr.recipient::(); @@ -1597,7 +1618,16 @@ mod tests { let future = sub.send(NodeQueryMessage::PublicKey(PublicKey::new(&b"booga"[..]))); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let result = future.wait().unwrap(); assert_eq!(result.is_none(), true); } @@ -1608,7 +1638,7 @@ mod tests { let earning_wallet = make_wallet("earning"); let consuming_wallet = Some(make_paying_wallet(b"consuming")); let system = - System::new("node_query_responds_with_none_when_key_query_matches_no_configured_data"); + System::new(); let subject = Neighborhood::new( cryptde, &bc_from_nc_plus( @@ -1635,7 +1665,16 @@ mod tests { let future = sub.send(NodeQueryMessage::PublicKey(PublicKey::new(&b"blah"[..]))); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let result = future.wait().unwrap(); assert_eq!(result.is_none(), true); } @@ -1646,7 +1685,7 @@ mod tests { let earning_wallet = make_wallet("earning"); let consuming_wallet = Some(make_paying_wallet(b"consuming")); let system = - System::new("node_query_responds_with_result_when_key_query_matches_configured_data"); + System::new(); let one_neighbor = make_node_record(2345, true); let another_neighbor = make_node_record(3456, true); let mut subject = Neighborhood::new( @@ -1676,7 +1715,16 @@ mod tests { )); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let result = future.wait().unwrap(); assert_eq!( result.unwrap(), @@ -1693,9 +1741,7 @@ mod tests { let cryptde: &dyn CryptDE = main_cryptde(); let earning_wallet = make_wallet("earning"); let consuming_wallet = Some(make_paying_wallet(b"consuming")); - let system = System::new( - "node_query_responds_with_none_when_ip_address_query_matches_no_configured_data", - ); + let system = System::new(); let subject = Neighborhood::new( cryptde, &bc_from_nc_plus( @@ -1724,7 +1770,16 @@ mod tests { )); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let result = future.wait().unwrap(); assert_eq!(result.is_none(), true); } @@ -1732,9 +1787,7 @@ mod tests { #[test] fn node_query_responds_with_result_when_ip_address_query_matches_configured_data() { let cryptde: &dyn CryptDE = main_cryptde(); - let system = System::new( - "node_query_responds_with_result_when_ip_address_query_matches_configured_data", - ); + let system = System::new(); let node_record = make_node_record(1234, true); let another_node_record = make_node_record(2345, true); let mut subject = Neighborhood::new( @@ -1768,7 +1821,16 @@ mod tests { )); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let result = future.wait().unwrap(); assert_eq!( result.unwrap(), @@ -1783,7 +1845,7 @@ mod tests { #[test] fn route_query_responds_with_none_when_asked_for_route_with_too_many_hops() { let system = - System::new("route_query_responds_with_none_when_asked_for_route_with_too_many_hops"); + System::new(); let subject = make_standard_subject(); let addr: Addr = subject.start(); let sub: Recipient = addr.recipient::(); @@ -1791,7 +1853,16 @@ mod tests { let future = sub.send(RouteQueryMessage::data_indefinite_route_request(5)); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let result = future.wait().unwrap(); assert_eq!(result, None); } @@ -1799,7 +1870,7 @@ mod tests { #[test] fn route_query_responds_with_none_when_asked_for_two_hop_round_trip_route_without_consuming_wallet( ) { - let system = System::new("route_query_responds_with_none_when_asked_for_two_hop_round_trip_route_without_consuming_wallet"); + let system = System::new(); let subject = make_standard_subject(); let addr: Addr = subject.start(); let sub: Recipient = addr.recipient::(); @@ -1807,7 +1878,16 @@ mod tests { let future = sub.send(RouteQueryMessage::data_indefinite_route_request(2)); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let result = future.wait().unwrap(); assert_eq!(result, None); } @@ -1816,9 +1896,7 @@ mod tests { fn route_query_succeeds_when_asked_for_one_hop_round_trip_route_without_consuming_wallet() { let cryptde = main_cryptde(); let earning_wallet = make_wallet("earning"); - let system = System::new( - "route_query_succeeds_when_asked_for_one_hop_round_trip_route_without_consuming_wallet", - ); + let system = System::new(); let mut subject = make_standard_subject(); subject .neighborhood_database @@ -1850,7 +1928,16 @@ mod tests { let future = sub.send(msg); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let segment = |nodes: Vec<&NodeRecord>, component: Component| { RouteSegment::new( nodes.into_iter().map(|n| n.public_key()).collect(), @@ -1900,7 +1987,7 @@ mod tests { #[test] fn route_query_responds_with_none_when_asked_for_one_hop_round_trip_route_without_consuming_wallet_when_back_route_needs_two_hops( ) { - let system = System::new("route_query_responds_with_none_when_asked_for_one_hop_round_trip_route_without_consuming_wallet_when_back_route_needs_two_hops"); + let system = System::new(); let mut subject = make_standard_subject(); let a = &make_node_record(1234, true); let b = &subject.neighborhood_database.root().clone(); @@ -1923,7 +2010,16 @@ mod tests { let future = sub.send(msg); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let result = future.wait().unwrap(); assert_eq!(result, None); } @@ -1931,7 +2027,7 @@ mod tests { #[test] fn route_query_responds_with_none_when_asked_for_two_hop_one_way_route_without_consuming_wallet( ) { - let system = System::new("route_query_responds_with_none_when_asked_for_two_hop_one_way_route_without_consuming_wallet"); + let system = System::new(); let subject = make_standard_subject(); let addr: Addr = subject.start(); let sub: Recipient = addr.recipient::(); @@ -1940,7 +2036,16 @@ mod tests { let future = sub.send(msg); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let result = future.wait().unwrap(); assert_eq!(result, None); } @@ -1948,7 +2053,7 @@ mod tests { #[test] fn route_query_responds_with_standard_zero_hop_route_when_requested() { let cryptde = main_cryptde(); - let system = System::new("responds_with_standard_zero_hop_route_when_requested"); + let system = System::new(); let subject = make_standard_subject(); let addr: Addr = subject.start(); let sub: Recipient = addr.recipient::(); @@ -1956,7 +2061,16 @@ mod tests { let future = sub.send(RouteQueryMessage::data_indefinite_route_request(0)); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let result = future.wait().unwrap().unwrap(); let expected_response = RouteQueryResponse { route: Route::round_trip( @@ -2017,7 +2131,7 @@ mod tests { fn route_query_messages() { let cryptde = main_cryptde(); let earning_wallet = make_wallet("earning"); - let system = System::new("route_query_messages"); + let system = System::new(); let mut subject = make_standard_subject(); subject .neighborhood_database @@ -2051,7 +2165,16 @@ mod tests { let data_route = sub.send(RouteQueryMessage::data_indefinite_route_request(2)); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let result = data_route.wait().unwrap().unwrap(); let contract_address = TEST_DEFAULT_CHAIN.rec().contract; @@ -2233,7 +2356,7 @@ mod tests { #[test] fn return_route_ids_increase() { let cryptde = main_cryptde(); - let system = System::new("return_route_ids_increase"); + let system = System::new(); let (_, _, _, subject) = make_o_r_e_subject(); let addr: Addr = subject.start(); @@ -2243,7 +2366,16 @@ mod tests { let data_route_1 = sub.send(RouteQueryMessage::data_indefinite_route_request(2)); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let result_0 = data_route_0.wait().unwrap().unwrap(); let result_1 = data_route_1.wait().unwrap().unwrap(); @@ -2265,7 +2397,7 @@ mod tests { #[test] fn can_update_consuming_wallet() { let cryptde = main_cryptde(); - let system = System::new("can_update_consuming_wallet"); + let system = System::new(); let (o, r, e, subject) = make_o_r_e_subject(); let addr: Addr = subject.start(); let set_wallet_sub = addr.clone().recipient::(); @@ -2297,7 +2429,16 @@ mod tests { let route_request_2 = route_sub.send(RouteQueryMessage::data_indefinite_route_request(2)); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let route_1 = route_request_1.wait().unwrap().unwrap().route; let route_2 = route_request_2.wait().unwrap().unwrap().route; @@ -2470,7 +2611,7 @@ mod tests { let other_neighbor_inside = other_neighbor.clone(); thread::spawn(move || { - let system = System::new("gossips_after_removing_a_neighbor"); + let system = System::new(); let mut subject = Neighborhood::new( cryptde, &bc_from_nc_plus( @@ -2513,7 +2654,16 @@ mod tests { }) .unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let other_neighbor_cryptde = @@ -2602,7 +2752,7 @@ mod tests { payload: gossip.clone(), payload_len: 0, }; - let system = System::new(""); + let system = System::new(); let addr: Addr = subject.start(); let peer_actors = peer_actors_builder().build(); addr.try_send(BindMessage { peer_actors }).unwrap(); @@ -2611,7 +2761,16 @@ mod tests { sub.try_send(cores_package).unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let mut handle_params = handle_params_arc.lock().unwrap(); let (call_database, call_agrs, call_gossip_source) = handle_params.remove(0); assert!(handle_params.is_empty()); @@ -2650,7 +2809,7 @@ mod tests { subject.gossip_acceptor = Box::new(gossip_acceptor); let (hopper, _, hopper_recording_arc) = make_recorder(); let peer_actors = peer_actors_builder().hopper(hopper).build(); - let system = System::new(""); + let system = System::new(); subject.hopper_no_lookup = Some(peer_actors.hopper.from_hopper_client_no_lookup); subject.handle_gossip( @@ -2659,7 +2818,16 @@ mod tests { ); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let hopper_recording = hopper_recording_arc.lock().unwrap(); let package = hopper_recording.get_record::(0); assert_eq!(1, hopper_recording.len()); @@ -2688,7 +2856,7 @@ mod tests { )); let mut subject: Neighborhood = neighborhood_from_nodes(&subject_node, Some(&neighbor)); let (hopper, _, hopper_recording_arc) = make_recorder(); - let system = System::new("neighborhood_transmits_gossip_failure_properly"); + let system = System::new(); let peer_actors = peer_actors_builder().hopper(hopper).build(); subject.hopper_no_lookup = Some(peer_actors.hopper.from_hopper_client_no_lookup); subject.gossip_acceptor = Box::new(gossip_acceptor); @@ -2696,7 +2864,16 @@ mod tests { subject.handle_gossip_agrs(vec![], SocketAddr::from_str("1.2.3.4:1234").unwrap()); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let hopper_recording = hopper_recording_arc.lock().unwrap(); let package = hopper_recording.get_record::(0); assert_eq!(1, hopper_recording.len()); @@ -2782,14 +2959,23 @@ mod tests { replacement_database, }); let (accountant, _, accountant_recording_arc) = make_recorder(); - let system = System::new("neighborhood_does_not_start_accountant_if_no_route_can_be_made"); + let system = System::new(); let peer_actors = peer_actors_builder().accountant(accountant).build(); bind_subject(&mut subject, peer_actors); subject.handle_gossip_agrs(vec![], SocketAddr::from_str("1.2.3.4:1234").unwrap()); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let accountant_recording = accountant_recording_arc.lock().unwrap(); assert_eq!(accountant_recording.len(), 0); assert_eq!(subject.is_connected, false); @@ -2806,14 +2992,23 @@ mod tests { }); subject.is_connected = true; let (accountant, _, accountant_recording_arc) = make_recorder(); - let system = System::new("neighborhood_does_not_start_accountant_if_no_route_can_be_made"); + let system = System::new(); let peer_actors = peer_actors_builder().accountant(accountant).build(); bind_subject(&mut subject, peer_actors); subject.handle_gossip_agrs(vec![], SocketAddr::from_str("1.2.3.4:1234").unwrap()); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let accountant_recording = accountant_recording_arc.lock().unwrap(); assert_eq!(accountant_recording.len(), 0); assert_eq!(subject.is_connected, true); @@ -2842,14 +3037,23 @@ mod tests { )); subject.is_connected = false; let (accountant, _, accountant_recording_arc) = make_recorder(); - let system = System::new("neighborhood_does_not_start_accountant_if_no_route_can_be_made"); + let system = System::new(); let peer_actors = peer_actors_builder().accountant(accountant).build(); bind_subject(&mut subject, peer_actors); subject.handle_gossip_agrs(vec![], SocketAddr::from_str("1.2.3.4:1234").unwrap()); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let accountant_recording = accountant_recording_arc.lock().unwrap(); assert_eq!(accountant_recording.len(), 1); assert_eq!(subject.is_connected, true); @@ -3077,7 +3281,7 @@ mod tests { let (hopper, _, hopper_recording_arc) = make_recorder(); let peer_actors = peer_actors_builder().hopper(hopper).build(); - let system = System::new(""); + let system = System::new(); subject.hopper = Some(peer_actors.hopper.from_hopper_client); subject.handle_gossip( @@ -3086,7 +3290,16 @@ mod tests { ); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let hopper_recording = hopper_recording_arc.lock().unwrap(); let package_1 = hopper_recording.get_record::(0); @@ -3167,7 +3380,7 @@ mod tests { let (hopper, _, hopper_recording_arc) = make_recorder(); let peer_actors = peer_actors_builder().hopper(hopper).build(); - let system = System::new(""); + let system = System::new(); subject.hopper = Some(peer_actors.hopper.from_hopper_client); subject.handle_gossip( @@ -3176,7 +3389,16 @@ mod tests { ); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let hopper_recording = hopper_recording_arc.lock().unwrap(); assert_eq!(hopper_recording.len(), 0); @@ -3200,7 +3422,7 @@ mod tests { subject.gossip_acceptor = Box::new(gossip_acceptor); let (hopper, _, hopper_recording_arc) = make_recorder(); let peer_actors = peer_actors_builder().hopper(hopper).build(); - let system = System::new(""); + let system = System::new(); subject.hopper_no_lookup = Some(peer_actors.hopper.from_hopper_client_no_lookup); let gossip_source = SocketAddr::from_str("8.6.5.4:8654").unwrap(); @@ -3211,7 +3433,16 @@ mod tests { ); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let hopper_recording = hopper_recording_arc.lock().unwrap(); let package = hopper_recording.get_record::(0); assert_eq!(1, hopper_recording.len()); @@ -3243,7 +3474,7 @@ mod tests { let subject_node = subject.neighborhood_database.root().clone(); let (hopper, _, hopper_recording_arc) = make_recorder(); let peer_actors = peer_actors_builder().hopper(hopper).build(); - let system = System::new(""); + let system = System::new(); subject.hopper = Some(peer_actors.hopper.from_hopper_client); subject.handle_gossip( @@ -3252,7 +3483,16 @@ mod tests { ); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let hopper_recording = hopper_recording_arc.lock().unwrap(); assert_eq!(0, hopper_recording.len()); } @@ -3269,7 +3509,7 @@ mod tests { let subject_node = subject.neighborhood_database.root().clone(); let (hopper, _, hopper_recording_arc) = make_recorder(); let peer_actors = peer_actors_builder().hopper(hopper).build(); - let system = System::new(""); + let system = System::new(); subject.hopper = Some(peer_actors.hopper.from_hopper_client); subject.handle_gossip( @@ -3278,7 +3518,16 @@ mod tests { ); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let hopper_recording = hopper_recording_arc.lock().unwrap(); assert_eq!(0, hopper_recording.len()); let tlh = TestLogHandler::new(); @@ -3378,7 +3627,7 @@ mod tests { let hopper = Recorder::new(); let this_node_inside = this_node.clone(); thread::spawn(move || { - let system = System::new(""); + let system = System::new(); let subject = Neighborhood::new( cryptde, &bc_from_nc_plus( @@ -3402,7 +3651,16 @@ mod tests { let sub = addr.recipient::>(); sub.try_send(cores_package).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let tlh = TestLogHandler::new(); tlh.await_log_containing( @@ -3448,7 +3706,7 @@ mod tests { ), ); let this_node = subject.neighborhood_database.root().clone(); - let system = System::new("node_gossips_to_neighbors_on_startup"); + let system = System::new(); let addr: Addr = subject.start(); let peer_actors = peer_actors_builder().hopper(hopper).build(); addr.try_send(BindMessage { peer_actors }).unwrap(); @@ -3457,7 +3715,16 @@ mod tests { sub.try_send(StartMessage {}).unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let locked_recording = hopper_recording.lock().unwrap(); let package_ref: &NoLookupIncipientCoresPackage = locked_recording.get_record(0); let neighbor_node_cryptde = CryptDENull::from(neighbor.public_key(), TEST_DEFAULT_CHAIN); @@ -3496,7 +3763,7 @@ mod tests { #[test] fn neighborhood_removes_neighbor_when_directed_to() { - let system = System::new("neighborhood_removes_neighbor_when_directed_to"); + let system = System::new(); let hopper = Recorder::new(); let mut subject = make_standard_subject(); let n = &subject.neighborhood_database.root().clone(); @@ -3541,7 +3808,16 @@ mod tests { )); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } assert_eq!(None, unsuccessful_three_hop_route.wait().unwrap()); assert_eq!( a.public_key(), @@ -3565,7 +3841,7 @@ mod tests { let cryptde = main_cryptde(); let (recorder, awaiter, recording_arc) = make_recorder(); thread::spawn(move || { - let system = System::new("responds_with_none_when_initially_configured_with_no_data"); + let system = System::new(); let addr: Addr = recorder.start(); let recipient: Recipient = @@ -3588,7 +3864,16 @@ mod tests { }) .unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); awaiter.await_message_count(1); @@ -3606,7 +3891,7 @@ mod tests { let consuming_wallet = Some(make_paying_wallet(b"consuming")); let (recorder, awaiter, recording_arc) = make_recorder(); thread::spawn(move || { - let system = System::new("neighborhood_sends_node_query_response_with_none_when_key_query_matches_no_configured_data"); + let system = System::new(); let addr: Addr = recorder.start(); let recipient: Recipient = addr.recipient::(); @@ -3650,7 +3935,16 @@ mod tests { }) .unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); awaiter.await_message_count(1); @@ -3677,7 +3971,7 @@ mod tests { }; let context_a = context.clone(); thread::spawn(move || { - let system = System::new("neighborhood_sends_node_query_response_with_result_when_key_query_matches_configured_data"); + let system = System::new(); let addr: Addr = recorder.start(); let recipient = addr.recipient::(); let mut subject = Neighborhood::new( @@ -3710,7 +4004,16 @@ mod tests { }) .unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); awaiter.await_message_count(1); @@ -3734,7 +4037,7 @@ mod tests { let consuming_wallet = Some(make_paying_wallet(b"consuming")); let (recorder, awaiter, recording_arc) = make_recorder(); thread::spawn(move || { - let system = System::new("neighborhood_sends_node_query_response_with_none_when_ip_address_query_matches_no_configured_data"); + let system = System::new(); let addr: Addr = recorder.start(); let recipient: Recipient = addr.recipient::(); @@ -3777,7 +4080,16 @@ mod tests { }) .unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); awaiter.await_message_count(1); @@ -3803,7 +4115,7 @@ mod tests { }; let context_a = context.clone(); thread::spawn(move || { - let system = System::new("neighborhood_sends_node_query_response_with_result_when_ip_address_query_matches_configured_data"); + let system = System::new(); let addr: Addr = recorder.start(); let recipient: Recipient = addr.recipient::(); @@ -3839,7 +4151,16 @@ mod tests { }) .unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); awaiter.await_message_count(1); @@ -3997,7 +4318,7 @@ mod tests { fn handle_stream_shutdown_handles_socket_addr_with_unknown_ip() { init_test_logging(); let (hopper, _, hopper_recording_arc) = make_recorder(); - let system = System::new("test"); + let system = System::new(); let unrecognized_node = make_node_record(3123, true); let unrecognized_node_addr = unrecognized_node.node_addr_opt().unwrap(); let unrecognized_socket_addr = SocketAddr::new( @@ -4016,7 +4337,16 @@ mod tests { }); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } assert_eq!(subject.neighborhood_database.keys().len(), 1); let hopper_recording = hopper_recording_arc.lock().unwrap(); @@ -4028,7 +4358,7 @@ mod tests { fn handle_stream_shutdown_handles_already_inactive_node() { init_test_logging(); let (hopper, _, hopper_recording_arc) = make_recorder(); - let system = System::new("test"); + let system = System::new(); let gossip_neighbor_node = make_node_record(2456, true); let inactive_neighbor_node = make_node_record(3123, true); let inactive_neighbor_node_addr = inactive_neighbor_node.node_addr_opt().unwrap(); @@ -4064,7 +4394,16 @@ mod tests { }); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } assert_eq!(subject.neighborhood_database.keys().len(), 3); assert_eq!( @@ -4083,7 +4422,7 @@ mod tests { fn handle_stream_shutdown_handles_existing_socket_addr() { init_test_logging(); let (hopper, _, hopper_recording_arc) = make_recorder(); - let system = System::new("test"); + let system = System::new(); let gossip_neighbor_node = make_node_record(2456, true); let shutdown_neighbor_node = make_node_record(3123, true); let shutdown_neighbor_node_addr = shutdown_neighbor_node.node_addr_opt().unwrap(); @@ -4119,7 +4458,16 @@ mod tests { }); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } assert_eq!(subject.neighborhood_database.keys().len(), 3); assert_eq!( @@ -4143,7 +4491,7 @@ mod tests { fn shutdown_instruction_generates_log() { running_test(); init_test_logging(); - let system = System::new("test"); + let system = System::new(); let subject = Neighborhood::new( main_cryptde(), &bc_from_nc_plus( @@ -4172,7 +4520,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); assert_eq!(ui_gateway_recording.len(), 0); TestLogHandler::new() @@ -4181,7 +4538,7 @@ mod tests { #[test] fn new_password_message_works() { - let system = System::new("test"); + let system = System::new(); let mut subject = make_standard_subject(); let root_node_record = subject.neighborhood_database.root().clone(); let set_past_neighbors_params_arc = Arc::new(Mutex::new(vec![])); @@ -4221,7 +4578,16 @@ mod tests { }; subject_addr.try_send(cores_package).unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let set_past_neighbors_params = set_past_neighbors_params_arc.lock().unwrap(); assert_eq!(set_past_neighbors_params[0].1, "borkety-bork"); } @@ -4422,7 +4788,7 @@ mod tests { A: Actor, M: Message, { - fn handle>(self, _: &mut A::Context, tx: Option) { + fn handle(self, ctx: &mut A::Context, tx: Option>) { if let Some(tx) = tx { tx.send(self); } diff --git a/node/src/node_configurator/configurator.rs b/node/src/node_configurator/configurator.rs index dca1f8cb1..a35f4d88f 100644 --- a/node/src/node_configurator/configurator.rs +++ b/node/src/node_configurator/configurator.rs @@ -341,7 +341,7 @@ impl Configurator { ) -> Result { Self::check_preconditions(persistent_config, "recover", &msg.db_password)?; let language = Self::parse_language(&msg.mnemonic_phrase_language)?; - let mnemonic = match Mnemonic::from_phrase(msg.mnemonic_phrase.join(" "), language) { + let mnemonic = match Mnemonic::from_phrase(&msg.mnemonic_phrase.join(" "), language) { Ok(m) => m, Err(e) => { return Err(( @@ -730,6 +730,7 @@ mod tests { }; use masq_lib::ui_gateway::{MessagePath, MessageTarget}; use std::sync::{Arc, Mutex}; + use std::time::SystemTime; use crate::db_config::persistent_configuration::{ PersistentConfigError, PersistentConfigurationReal, @@ -781,7 +782,7 @@ mod tests { #[test] fn ignores_unexpected_message() { - let system = System::new("test"); + let system = System::new(); let subject = make_subject(None); let subject_addr = subject.start(); let (ui_gateway, _, ui_gateway_recording) = make_recorder(); @@ -796,14 +797,23 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let recording = ui_gateway_recording.lock().unwrap(); assert_eq!(recording.len(), 0); } #[test] fn check_password_works() { - let system = System::new("test"); + let system = System::new(); let check_password_params_arc = Arc::new(Mutex::new(vec![])); let persistent_config = PersistentConfigurationMock::new() .check_password_params(&check_password_params_arc) @@ -825,7 +835,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let check_password_params = check_password_params_arc.lock().unwrap(); assert_eq!(*check_password_params, vec![Some("password".to_string())]); let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); @@ -865,7 +884,7 @@ mod tests { #[test] fn change_password_works() { - let system = System::new("test"); + let system = System::new(); let change_password_params_arc = Arc::new(Mutex::new(vec![])); let persistent_config = PersistentConfigurationMock::new() .change_password_params(&change_password_params_arc) @@ -892,7 +911,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let change_password_params = change_password_params_arc.lock().unwrap(); assert_eq!( *change_password_params, @@ -985,7 +1013,7 @@ mod tests { #[test] fn handle_wallet_addresses_works() { - let system = System::new("test"); + let system = System::new(); let mnemonic_seed_params_arc = Arc::new(Mutex::new(vec![])); let persistent_config = PersistentConfigurationMock::new() .check_password_result(Ok(true)) @@ -1014,7 +1042,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let mnemonic_seed_params = mnemonic_seed_params_arc.lock().unwrap(); assert_eq!(*mnemonic_seed_params, vec!["123password".to_string()]); let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); @@ -1244,9 +1281,18 @@ mod tests { }) .unwrap(); - let system = System::new("test"); + let system = System::new(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); let response = ui_gateway_recording.get_record::(0); let (generated_wallets, context_id) = @@ -1450,9 +1496,18 @@ mod tests { }) .unwrap(); - let system = System::new("test"); + let system = System::new(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); let response = ui_gateway_recording.get_record::(0); let (_, context_id) = UiRecoverWalletsResponse::fmb(response.body.clone()).unwrap(); @@ -1702,9 +1757,18 @@ mod tests { }) .unwrap(); - let system = System::new("test"); + let system = System::new(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let ui_gateway_recording = ui_gateway_recording_arc.lock().unwrap(); let response = ui_gateway_recording.get_record::(0); let (_, context_id) = UiSetConfigurationResponse::fmb(response.body.clone()).unwrap(); diff --git a/node/src/proxy_client/local_test_utils.rs b/node/src/proxy_client/local_test_utils.rs index 66e0adcdc..7e50e521d 100644 --- a/node/src/proxy_client/local_test_utils.rs +++ b/node/src/proxy_client/local_test_utils.rs @@ -11,7 +11,7 @@ use std::net::IpAddr; use std::sync::Arc; use std::sync::Mutex; use trust_dns::rr::{Name, Record}; -use trust_dns_proto::op::Query; +use trust_dns_proto::op::query::Query; use trust_dns_resolver::config::ResolverConfig; use trust_dns_resolver::config::ResolverOpts; use trust_dns_resolver::error::ResolveError; diff --git a/node/src/proxy_client/mod.rs b/node/src/proxy_client/mod.rs index bced09a9f..e9ef2ed56 100644 --- a/node/src/proxy_client/mod.rs +++ b/node/src/proxy_client/mod.rs @@ -354,6 +354,7 @@ mod tests { use std::sync::Arc; use std::sync::Mutex; use std::thread; + use std::time::SystemTime; fn dnss() -> Vec { vec![SocketAddr::from_str("8.8.8.8:53").unwrap()] @@ -481,7 +482,7 @@ mod tests { #[test] fn bind_operates_properly() { - let system = System::new("bind_initializes_resolver_wrapper_properly"); + let system = System::new(); let resolver_wrapper = ResolverWrapperMock::new(); let mut resolver_wrapper_new_parameters_arc: Arc< Mutex>, @@ -511,7 +512,16 @@ mod tests { subject_addr.try_send(BindMessage { peer_actors }).unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let mut resolver_wrapper_new_parameters = resolver_wrapper_new_parameters_arc.lock().unwrap(); @@ -560,7 +570,7 @@ mod tests { request, 0, ); - let system = System::new("panics_if_hopper_is_unbound"); + let system = System::new(); let subject = ProxyClient::new(ProxyClientConfig { cryptde, dns_servers: dnss(), @@ -572,7 +582,16 @@ mod tests { subject_addr.try_send(package).unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } } #[test] @@ -582,7 +601,7 @@ mod tests { let stream_key = make_meaningless_stream_key(); let stream_key_inner = stream_key.clone(); thread::spawn(move || { - let system = System::new("logs_nonexistent_stream_key_during_dns_resolution_failure"); + let system = System::new(); let subject = ProxyClient::new(ProxyClientConfig { cryptde, dns_servers: vec![SocketAddr::from_str("1.1.1.1:53").unwrap()], @@ -597,7 +616,16 @@ mod tests { .try_send(DnsResolveFailure_0v1::new(stream_key_inner)) .unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); TestLogHandler::new().await_log_containing( &format!( @@ -620,7 +648,7 @@ mod tests { let return_route_inner = return_route.clone(); let originator_key_inner = originator_key.clone(); thread::spawn(move || { - let system = System::new("forwards_dns_resolve_failed_to_hopper"); + let system = System::new(); let peer_actors = peer_actors_builder().hopper(hopper).build(); let mut subject = ProxyClient::new(ProxyClientConfig { cryptde, @@ -651,7 +679,16 @@ mod tests { .try_send(DnsResolveFailure_0v1::new(stream_key_inner)) .unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); hopper_awaiter.await_message_count(1); @@ -698,7 +735,7 @@ mod tests { ); let hopper = Recorder::new(); - let system = System::new("data_from_hopper_is_relayed_to_stream_handler_pool"); + let system = System::new(); let peer_actors = peer_actors_builder().hopper(hopper).build(); let mut process_package_parameters = Arc::new(Mutex::new(vec![])); let pool = Box::new( @@ -723,7 +760,16 @@ mod tests { subject_addr.try_send(package).unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let parameter = process_package_parameters.lock().unwrap().remove(0); assert_eq!(parameter, (request, Some(make_wallet("consuming")),)); } @@ -753,7 +799,7 @@ mod tests { ); let hopper = Recorder::new(); - let system = System::new("refuse_to_provide_exit_services_with_no_paying_wallet"); + let system = System::new(); let peer_actors = peer_actors_builder().hopper(hopper).build(); let mut process_package_parameters = Arc::new(Mutex::new(vec![])); let pool = Box::new( @@ -778,7 +824,16 @@ mod tests { subject_addr.try_send(package).unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } assert_eq!(0, process_package_parameters.lock().unwrap().len()); TestLogHandler::new().exists_log_containing(format!("WARN: ProxyClient: Refusing to provide exit services for CORES package with 12-byte payload without paying wallet").as_str()); } @@ -818,7 +873,7 @@ mod tests { ); let hopper = Recorder::new(); - let system = System::new("unparseable_request_results_in_log_and_no_response"); + let system = System::new(); let peer_actors = peer_actors_builder().hopper(hopper).build(); let mut process_package_parameters = Arc::new(Mutex::new(vec![])); let pool = Box::new( @@ -843,7 +898,16 @@ mod tests { subject_addr.try_send(package).unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let parameter = process_package_parameters.lock().unwrap().remove(0); assert_eq!(parameter, (request, None,)); } @@ -855,7 +919,7 @@ mod tests { let (accountant, _, accountant_recording_arc) = make_recorder(); let stream_key = make_meaningless_stream_key(); let data: &[u8] = b"An honest politician is one who, when he is bought, will stay bought."; - let system = System::new("inbound_server_data_is_translated_to_cores_packages"); + let system = System::new(); let mut subject = ProxyClient::new(ProxyClientConfig { cryptde: main_cryptde(), dns_servers: vec![SocketAddr::from_str("8.7.6.5:4321").unwrap()], @@ -916,7 +980,16 @@ mod tests { .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let hopper_recording = hopper_recording_arc.lock().unwrap(); assert_eq!( hopper_recording.get_record::(0), @@ -991,7 +1064,7 @@ mod tests { let (accountant, _, accountant_recording_arc) = make_recorder(); let stream_key = make_meaningless_stream_key(); let data: &[u8] = b"An honest politician is one who, when he is bought, will stay bought."; - let system = System::new("inbound_server_data_is_translated_to_cores_packages"); + let system = System::new(); let mut subject = ProxyClient::new(ProxyClientConfig { cryptde: main_cryptde(), dns_servers: vec![SocketAddr::from_str("8.7.6.5:4321").unwrap()], @@ -1022,7 +1095,16 @@ mod tests { .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let accountant_recording = accountant_recording_arc.lock().unwrap(); assert_eq!(accountant_recording.len(), 0); TestLogHandler::new().exists_log_containing( @@ -1041,7 +1123,7 @@ mod tests { let (accountant, _, accountant_recording_arc) = make_recorder(); let stream_key = make_meaningless_stream_key(); let data: &[u8] = b"An honest politician is one who, when he is bought, will stay bought."; - let system = System::new("inbound_server_data_is_translated_to_cores_packages"); + let system = System::new(); let mut subject = ProxyClient::new(ProxyClientConfig { cryptde: main_cryptde(), dns_servers: vec![SocketAddr::from_str("8.7.6.5:4321").unwrap()], @@ -1074,7 +1156,16 @@ mod tests { .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let hopper_recording = hopper_recording_arc.lock().unwrap(); assert_eq!(hopper_recording.len(), 0); let accountant_recording = accountant_recording_arc.lock().unwrap(); @@ -1089,7 +1180,7 @@ mod tests { let (accountant, _, accountant_recording_arc) = make_recorder(); let stream_key = make_meaningless_stream_key(); let data: &[u8] = b"An honest politician is one who, when he is bought, will stay bought."; - let system = System::new("new_return_route_overwrites_existing_return_route"); + let system = System::new(); let mut subject = ProxyClient::new(ProxyClientConfig { cryptde, dns_servers: vec![SocketAddr::from_str("8.7.6.5:4321").unwrap()], @@ -1153,7 +1244,16 @@ mod tests { }) .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let mut process_package_params = process_package_params_arc.lock().unwrap(); let (actual_payload, paying_wallet_opt) = process_package_params.remove(0); assert_eq!(actual_payload, payload); diff --git a/node/src/proxy_client/stream_establisher.rs b/node/src/proxy_client/stream_establisher.rs index ce24f87cb..cbe402649 100644 --- a/node/src/proxy_client/stream_establisher.rs +++ b/node/src/proxy_client/stream_establisher.rs @@ -141,6 +141,7 @@ mod tests { use std::net::SocketAddr; use std::str::FromStr; use std::thread; + use std::time::SystemTime; use tokio::prelude::Async; #[test] @@ -148,12 +149,21 @@ mod tests { let (proxy_client, proxy_client_awaiter, proxy_client_recording_arc) = make_recorder(); let (sub_tx, sub_rx) = unbounded(); thread::spawn(move || { - let system = System::new("spawn_stream_reader_handles_data"); + let system = System::new(); let peer_actors = peer_actors_builder().proxy_client(proxy_client).build(); sub_tx .send(peer_actors.proxy_client_opt.unwrap().inbound_server_data) .expect("Unable to send inbound_server_data sub from proxy_client to test"); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let (ibsd_tx, ibsd_rx) = unbounded(); diff --git a/node/src/proxy_client/stream_handler_pool.rs b/node/src/proxy_client/stream_handler_pool.rs index 6abf77ca3..cbdc3ca75 100644 --- a/node/src/proxy_client/stream_handler_pool.rs +++ b/node/src/proxy_client/stream_handler_pool.rs @@ -516,6 +516,7 @@ mod tests { use std::str::FromStr; use std::sync::{Arc, Mutex}; use std::thread; + use std::time::SystemTime; use tokio; use tokio::prelude::Async; use trust_dns_resolver::error::ResolveErrorKind; @@ -541,10 +542,12 @@ mod tests { .unwrap(), _ => panic!("Expected MessageType::ClientRequest, got something else"), }; - actix::run(move || { + if actix::run(move || { subject.process_package(payload, paying_wallet); ok(()) }) + .is_ok() + {}; } #[test] @@ -552,7 +555,7 @@ mod tests { let (proxy_client, proxy_client_awaiter, proxy_client_recording) = make_recorder(); let stream_key = make_meaningless_stream_key(); thread::spawn(move || { - let system = System::new("dns_resolution_failure_sends_a_message_to_proxy_client"); + let system = System::new(); let peer_actors = peer_actors_builder().proxy_client(proxy_client).build(); let cryptde = main_cryptde(); let resolver_mock = @@ -594,7 +597,16 @@ mod tests { StreamHandlerPoolReal::process_package(payload, None, Arc::new(Mutex::new(inner))); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); proxy_client_awaiter.await_message_count(1); @@ -1516,7 +1528,7 @@ mod tests { #[test] fn clean_up_dead_streams_sends_server_drop_report_if_dead_stream_is_in_map() { - let system = System::new("test"); + let system = System::new(); let (proxy_client, _, proxy_client_recording_arc) = make_recorder(); let peer_actors = peer_actors_builder().proxy_client(proxy_client).build(); let mut subject = StreamHandlerPoolReal::new( @@ -1542,7 +1554,16 @@ mod tests { subject.clean_up_dead_streams(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let proxy_client_recording = proxy_client_recording_arc.lock().unwrap(); let report = proxy_client_recording.get_record::(0); assert_eq!( @@ -1559,7 +1580,7 @@ mod tests { #[test] fn clean_up_dead_streams_does_not_send_server_drop_report_if_dead_stream_is_gone_already() { - let system = System::new("test"); + let system = System::new(); let (proxy_client, _, proxy_client_recording_arc) = make_recorder(); let peer_actors = peer_actors_builder().proxy_client(proxy_client).build(); let mut subject = StreamHandlerPoolReal::new( @@ -1578,7 +1599,16 @@ mod tests { subject.clean_up_dead_streams(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let proxy_client_recording = proxy_client_recording_arc.lock().unwrap(); assert_eq!(proxy_client_recording.len(), 0); } diff --git a/node/src/proxy_client/stream_reader.rs b/node/src/proxy_client/stream_reader.rs index c09c22b10..3c1ab4898 100644 --- a/node/src/proxy_client/stream_reader.rs +++ b/node/src/proxy_client/stream_reader.rs @@ -130,6 +130,7 @@ mod tests { use std::net::SocketAddr; use std::str::FromStr; use std::thread; + use std::time::SystemTime; #[test] fn stream_reader_assigns_a_sequence_to_client_response_payloads() { @@ -161,12 +162,21 @@ mod tests { let (tx, rx) = unbounded(); thread::spawn(move || { - let system = System::new("test"); + let system = System::new(); let peer_actors = peer_actors_builder().proxy_client(proxy_client).build(); tx.send(peer_actors.proxy_client_opt.unwrap().inbound_server_data) .expect("Internal Error"); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let proxy_client_sub = rx.recv().unwrap(); @@ -242,12 +252,21 @@ mod tests { ]; let (tx, rx) = unbounded(); thread::spawn(move || { - let system = System::new("test"); + let system = System::new(); let peer_actors = peer_actors_builder().proxy_client(proxy_client).build(); tx.send(peer_actors.proxy_client_opt.unwrap().inbound_server_data) .expect("Internal Error"); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let proxy_client_sub = rx.recv().unwrap(); let (stream_killer, stream_killer_params) = unbounded(); @@ -312,7 +331,7 @@ mod tests { let mut stream = ReadHalfWrapperMock::new(); stream.poll_read_results = vec![(vec![], Ok(Async::Ready(0)))]; - let system = System::new("receiving_0_bytes_sends_empty_cores_response_and_kills_stream"); + let system = System::new(); let peer_actors = peer_actors_builder().build(); let mut sequencer = Sequencer::new(); sequencer.next_sequence_number(); @@ -328,7 +347,16 @@ mod tests { sequencer, }; System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let result = subject.poll(); @@ -357,12 +385,21 @@ mod tests { let (tx, rx) = unbounded(); thread::spawn(move || { - let system = System::new("non_dead_stream_read_errors_log_but_do_not_shut_down"); + let system = System::new(); let peer_actors = peer_actors_builder().proxy_client(proxy_client).build(); tx.send(peer_actors.proxy_client_opt.unwrap().inbound_server_data) .expect("Internal Error"); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let proxy_client_sub = rx.recv().unwrap(); diff --git a/node/src/proxy_server/mod.rs b/node/src/proxy_server/mod.rs index 2f196c858..8bac8b6e9 100644 --- a/node/src/proxy_server/mod.rs +++ b/node/src/proxy_server/mod.rs @@ -40,11 +40,8 @@ use crate::sub_lib::stream_key::StreamKey; use crate::sub_lib::ttl_hashmap::TtlHashMap; use crate::sub_lib::utils::NODE_MAILBOX_CAPACITY; use crate::sub_lib::wallet::Wallet; -use actix::Actor; -use actix::Addr; -use actix::Context; -use actix::Handler; -use actix::Recipient; + +use actix::{Actor, ActorFutureExt, Addr, Context, Handler, Recipient}; use pretty_hex::PrettyHex; use std::collections::HashMap; use std::net::SocketAddr; @@ -532,7 +529,7 @@ impl ProxyServer { Err(e) => { error!( logger, - "Neighborhood refused to answer route request: {}", e + "Neighborhood refused to answer route request: {:?}", e ); } }; @@ -990,6 +987,7 @@ mod tests { use std::str::FromStr; use std::sync::{Arc, Mutex, MutexGuard}; use std::thread; + use std::time::SystemTime; const STANDARD_CONSUMING_WALLET_BALANCE: i64 = 0; @@ -1160,7 +1158,7 @@ mod tests { let stream_key_factory = StreamKeyFactoryMock::new() .make_parameters(&make_parameters_arc) .make_result(stream_key); - let system = System::new("proxy_server_receives_http_request_from_dispatcher_then_sends_cores_package_to_hopper"); + let system = System::new(); let mut subject = ProxyServer::new( main_cryptde, alias_cryptde, @@ -1179,7 +1177,16 @@ mod tests { subject_addr.try_send(msg_from_dispatcher).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); hopper_awaiter.await_message_count(1); @@ -1263,9 +1270,7 @@ mod tests { let stream_key_factory = StreamKeyFactoryMock::new() .make_parameters(&make_parameters_arc_thread) .make_result(stream_key); - let system = System::new( - "proxy_server_receives_connect_responds_with_ok_and_stores_stream_key_and_hostname", - ); + let system = System::new(); let mut subject = ProxyServer::new( main_cryptde, alias_cryptde, @@ -1284,7 +1289,16 @@ mod tests { subject_addr.try_send(msg_from_dispatcher).unwrap(); subject_addr.try_send(tunnelled_msg).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); hopper_awaiter.await_message_count(1); @@ -1313,7 +1327,7 @@ mod tests { #[test] fn handle_client_response_payload_increments_sequence_number_when_browser_proxy_sequence_offset_is_true( ) { - let system = System::new("handle_client_response_payload_increments_sequence_number_when_browser_proxy_sequence_offset_is_true"); + let system = System::new(); let (dispatcher_mock, _, dispatcher_log_arc) = make_recorder(); let cryptde = main_cryptde(); let mut subject = ProxyServer::new( @@ -1377,7 +1391,16 @@ mod tests { .unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let dispatcher_recording = dispatcher_log_arc.lock().unwrap(); let record = dispatcher_recording.get_record::(1); @@ -1417,9 +1440,7 @@ mod tests { let stream_key_factory = StreamKeyFactoryMock::new() .make_parameters(&stream_key_parameters_arc_thread) .make_result(stream_key); - let system = System::new( - "proxy_server_receives_connect_responds_with_ok_and_stores_stream_key_and_hostname", - ); + let system = System::new(); let mut subject = ProxyServer::new( cryptde, alias_cryptde(), @@ -1437,7 +1458,16 @@ mod tests { subject_addr.try_send(BindMessage { peer_actors }).unwrap(); subject_addr.try_send(msg_from_dispatcher).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); thread::sleep(Duration::from_millis(500)); @@ -1487,9 +1517,7 @@ mod tests { let stream_key_factory = StreamKeyFactoryMock::new() .make_parameters(&stream_key_parameters_arc_thread) .make_result(stream_key); - let system = System::new( - "proxy_server_receives_connect_responds_with_ok_and_stores_stream_key_and_hostname", - ); + let system = System::new(); let mut subject = ProxyServer::new( cryptde, alias_cryptde(), @@ -1507,7 +1535,16 @@ mod tests { subject_addr.try_send(BindMessage { peer_actors }).unwrap(); subject_addr.try_send(msg_from_dispatcher).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); thread::sleep(Duration::from_millis(500)); @@ -1546,7 +1583,7 @@ mod tests { data: expected_data.clone(), }; let stream_key_factory = StreamKeyFactoryMock::new(); // can't make any stream keys; shouldn't have to - let system = System::new("proxy_server_receives_http_request_with_no_consuming_wallet_and_sends_impersonated_response"); + let system = System::new(); let mut subject = ProxyServer::new(cryptde, alias_cryptde(), true, None); subject.stream_key_factory = Box::new(stream_key_factory); subject.keys_and_addrs.insert(stream_key, socket_addr); @@ -1562,7 +1599,16 @@ mod tests { subject_addr.try_send(msg_from_dispatcher).unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let neighborhood_recording = neighborhood_log_arc.lock().unwrap(); assert!(neighborhood_recording.is_empty()); let hopper_recording = hopper_log_arc.lock().unwrap(); @@ -1605,7 +1651,7 @@ mod tests { data: expected_data.clone(), }; let stream_key_factory = StreamKeyFactoryMock::new(); // can't make any stream keys; shouldn't have to - let system = System::new("proxy_server_receives_tls_request_with_no_consuming_wallet_and_sends_impersonated_response"); + let system = System::new(); let mut subject = ProxyServer::new(cryptde, alias_cryptde(), true, None); subject.stream_key_factory = Box::new(stream_key_factory); subject.keys_and_addrs.insert(stream_key, socket_addr); @@ -1621,7 +1667,16 @@ mod tests { subject_addr.try_send(msg_from_dispatcher).unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let neighborhood_recording = neighborhood_log_arc.lock().unwrap(); assert!(neighborhood_recording.is_empty()); let hopper_recording = hopper_log_arc.lock().unwrap(); @@ -1668,7 +1723,7 @@ mod tests { data: expected_data_inner, }; let stream_key_factory = StreamKeyFactoryMock::new(); // can't make any stream keys; shouldn't have to - let system = System::new("proxy_server_receives_http_request_with_no_consuming_wallet_in_zero_hop_mode_and_handles_normally"); + let system = System::new(); let mut subject = ProxyServer::new(main_cryptde, alias_cryptde, false, None); subject.stream_key_factory = Box::new(stream_key_factory); subject.keys_and_addrs.insert(stream_key, socket_addr); @@ -1683,7 +1738,16 @@ mod tests { subject_addr.try_send(msg_from_dispatcher).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); hopper_awaiter.await_message_count(1); let neighborhood_recording = neighborhood_log_arc.lock().unwrap(); @@ -1746,7 +1810,7 @@ mod tests { data: expected_data_inner, }; let stream_key_factory = StreamKeyFactoryMock::new(); // can't make any stream keys; shouldn't have to - let system = System::new("proxy_server_receives_tls_request_with_no_consuming_wallet_in_zero_hop_mode_and_handles_normally"); + let system = System::new(); let mut subject = ProxyServer::new(main_cryptde, alias_cryptde, false, None); subject.stream_key_factory = Box::new(stream_key_factory); subject.keys_and_addrs.insert(stream_key, socket_addr); @@ -1761,7 +1825,16 @@ mod tests { subject_addr.try_send(msg_from_dispatcher).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); hopper_awaiter.await_message_count(1); let neighborhood_recording = neighborhood_log_arc.lock().unwrap(); @@ -1845,7 +1918,7 @@ mod tests { .unwrap(); thread::spawn(move || { let stream_key_factory = StreamKeyFactoryMock::new(); // can't make any stream keys; shouldn't have to - let system = System::new("proxy_server_receives_http_request_from_dispatcher_then_sends_cores_package_to_hopper"); + let system = System::new(); let mut subject = ProxyServer::new( main_cryptde, alias_cryptde, @@ -1864,7 +1937,16 @@ mod tests { subject_addr.try_send(msg_from_dispatcher).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); hopper_awaiter.await_message_count(1); @@ -1918,7 +2000,7 @@ mod tests { .unwrap(); thread::spawn(move || { let stream_key_factory = StreamKeyFactoryMock::new(); // can't make any stream keys; shouldn't have to - let system = System::new("proxy_server_applies_late_wallet_information"); + let system = System::new(); let mut subject = ProxyServer::new(main_cryptde, alias_cryptde, false, None); subject.stream_key_factory = Box::new(stream_key_factory); subject.keys_and_addrs.insert(stream_key, socket_addr); @@ -1937,7 +2019,16 @@ mod tests { .unwrap(); subject_addr.try_send(msg_from_dispatcher).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); hopper_awaiter.await_message_count(1); @@ -2035,7 +2126,7 @@ mod tests { .unwrap(); thread::spawn(move || { let stream_key_factory = StreamKeyFactoryMock::new().make_result(stream_key); - let system = System::new("proxy_server_receives_http_request_from_dispatcher_then_sends_cores_package_to_hopper"); + let system = System::new(); let mut subject = ProxyServer::new( main_cryptde, alias_cryptde, @@ -2053,7 +2144,16 @@ mod tests { subject_addr.try_send(msg_from_dispatcher).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); hopper_awaiter.await_message_count(1); @@ -2091,7 +2191,7 @@ mod tests { thread::spawn(move || { let stream_key_factory = StreamKeyFactoryMock::new().make_result(stream_key); - let system = System::new("proxy_server_adds_route_for_stream_key"); + let system = System::new(); let mut subject = ProxyServer::new( cryptde, alias_cryptde(), @@ -2112,7 +2212,16 @@ mod tests { subject_addr.try_send(msg_from_dispatcher).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let expected_add_route_message = AddRouteMessage { @@ -2173,7 +2282,7 @@ mod tests { thread::spawn(move || { let stream_key_factory = StreamKeyFactoryMock::new().make_result(stream_key); - let system = System::new("proxy_server_uses_existing_route"); + let system = System::new(); let mut subject = ProxyServer::new( main_cryptde, alias_cryptde, @@ -2193,7 +2302,16 @@ mod tests { .unwrap(); subject_addr.try_send(msg_from_dispatcher).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); hopper_awaiter.await_message_count(1); @@ -2258,7 +2376,7 @@ mod tests { let stream_key = make_meaningless_stream_key(); let expected_data = http_request.to_vec(); let system = - System::new("proxy_server_sends_message_to_accountant_for_routing_service_consumed"); + System::new(); let peer_actors = peer_actors_builder() .accountant(accountant_mock) .hopper(hopper_mock) @@ -2289,7 +2407,16 @@ mod tests { ); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let recording = hopper_recording_arc.lock().unwrap(); let record = recording.get_record::(0); let payload_enc = &record.payload; @@ -2336,7 +2463,7 @@ mod tests { let stream_key = make_meaningless_stream_key(); let expected_data = http_request.to_vec(); let system = - System::new("proxy_server_sends_message_to_accountant_for_routing_service_consumed"); + System::new(); let peer_actors = peer_actors_builder() .proxy_server(proxy_server_mock) .build(); @@ -2365,7 +2492,16 @@ mod tests { ); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let recording = proxy_server_recording_arc.lock().unwrap(); let record = recording.get_record::(0); assert_eq!( @@ -2415,7 +2551,7 @@ mod tests { thread::spawn(move || { let stream_key_factory = StreamKeyFactoryMock::new().make_result(stream_key); let system = - System::new("proxy_server_logs_messages_when_routing_services_are_not_requested"); + System::new(); let mut subject = ProxyServer::new( cryptde, alias_cryptde(), @@ -2431,7 +2567,16 @@ mod tests { peer_actors.proxy_server = ProxyServer::make_subs_from(&subject_addr); subject_addr.try_send(BindMessage { peer_actors }).unwrap(); subject_addr.try_send(msg_from_dispatcher).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); TestLogHandler::new() @@ -2483,7 +2628,7 @@ mod tests { thread::spawn(move || { let stream_key_factory = StreamKeyFactoryMock::new().make_result(stream_key); let system = - System::new("proxy_server_sends_message_to_accountant_for_exit_service_consumed"); + System::new(); let mut subject = ProxyServer::new( cryptde, alias_cryptde(), @@ -2499,7 +2644,16 @@ mod tests { peer_actors.proxy_server = ProxyServer::make_subs_from(&subject_addr); subject_addr.try_send(BindMessage { peer_actors }).unwrap(); subject_addr.try_send(msg_from_dispatcher).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); accountant_awaiter.await_message_count(1); @@ -2540,7 +2694,7 @@ mod tests { thread::spawn(move || { let stream_key_factory = StreamKeyFactoryMock::new().make_result(stream_key); let system = - System::new("proxy_server_logs_message_when_exit_services_are_not_consumed"); + System::new(); let mut subject = ProxyServer::new( cryptde, alias_cryptde(), @@ -2556,7 +2710,16 @@ mod tests { peer_actors.proxy_server = ProxyServer::make_subs_from(&subject_addr); subject_addr.try_send(BindMessage { peer_actors }).unwrap(); subject_addr.try_send(msg_from_dispatcher).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); TestLogHandler::new() @@ -2586,7 +2749,7 @@ mod tests { is_clandestine: false, }; thread::spawn(move || { - let system = System::new("proxy_server_receives_http_request_from_dispatcher_but_neighborhood_cant_make_route"); + let system = System::new(); let subject = ProxyServer::new( cryptde, alias_cryptde(), @@ -2603,7 +2766,16 @@ mod tests { subject_addr.try_send(msg_from_dispatcher).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); dispatcher_awaiter.await_message_count(1); @@ -2626,7 +2798,7 @@ mod tests { #[test] #[should_panic(expected = "Expected RoundTrip ExpectedServices but got OneWay")] fn proxy_server_panics_if_it_receives_a_one_way_route_from_a_request_for_a_round_trip_route() { - let _system = System::new("proxy_server_panics_if_it_receives_a_one_way_route_from_a_request_for_a_round_trip_route"); + let _system = System::new(); let peer_actors = peer_actors_builder().build(); let cryptde = main_cryptde(); @@ -2716,7 +2888,7 @@ mod tests { is_clandestine: false, }; thread::spawn(move || { - let system = System::new("proxy_server_receives_http_request_from_dispatcher_but_neighborhood_cant_make_route"); + let system = System::new(); let subject = ProxyServer::new( cryptde, alias_cryptde(), @@ -2733,7 +2905,16 @@ mod tests { subject_addr.try_send(msg_from_dispatcher).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); dispatcher_awaiter.await_message_count(1); @@ -2824,7 +3005,7 @@ mod tests { ); subject.stream_key_factory = Box::new(StreamKeyFactoryMock::new().make_result(stream_key.clone())); - let system = System::new("proxy_server_receives_tls_client_hello_from_dispatcher_then_sends_cores_package_to_hopper"); + let system = System::new(); let subject_addr: Addr = subject.start(); let mut peer_actors = peer_actors_builder() .hopper(hopper_mock) @@ -2835,7 +3016,16 @@ mod tests { subject_addr.try_send(msg_from_dispatcher).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); hopper_awaiter.await_message_count(1); @@ -2902,7 +3092,7 @@ mod tests { ); subject.stream_key_factory = Box::new(StreamKeyFactoryMock::new().make_result(stream_key.clone())); - let system = System::new("proxy_server_receives_tls_client_hello_from_dispatcher_then_sends_cores_package_to_hopper"); + let system = System::new(); let subject_addr: Addr = subject.start(); let mut peer_actors = peer_actors_builder() .hopper(hopper_mock) @@ -2913,7 +3103,16 @@ mod tests { subject_addr.try_send(msg_from_dispatcher).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); hopper_awaiter.await_message_count(1); @@ -2978,7 +3177,7 @@ mod tests { ); subject.stream_key_factory = Box::new(StreamKeyFactoryMock::new().make_result(stream_key.clone())); - let system = System::new("proxy_server_receives_tls_client_hello_from_dispatcher_then_sends_cores_package_to_hopper"); + let system = System::new(); let subject_addr: Addr = subject.start(); let mut peer_actors = peer_actors_builder() .hopper(hopper_mock) @@ -2989,7 +3188,16 @@ mod tests { subject_addr.try_send(msg_from_dispatcher).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); hopper_awaiter.await_message_count(1); @@ -3037,7 +3245,7 @@ mod tests { is_clandestine: false, }; thread::spawn(move || { - let system = System::new("proxy_server_receives_tls_client_hello_from_dispatcher_but_neighborhood_cant_make_route"); + let system = System::new(); let subject = ProxyServer::new( cryptde, alias_cryptde(), @@ -3054,7 +3262,16 @@ mod tests { subject_addr.try_send(msg_from_dispatcher).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); dispatcher_awaiter.await_message_count(1); let recording = dispatcher_recording_arc.lock().unwrap(); @@ -3074,7 +3291,7 @@ mod tests { #[test] fn proxy_server_receives_terminal_response_from_hopper() { init_test_logging(); - let system = System::new("proxy_server_receives_response_from_hopper"); + let system = System::new(); let (dispatcher_mock, _, dispatcher_log_arc) = make_recorder(); let cryptde = main_cryptde(); let mut subject = ProxyServer::new( @@ -3123,7 +3340,16 @@ mod tests { subject_addr.try_send(second_expired_cores_package).unwrap(); // should generate log because stream key is now unknown System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let recording = dispatcher_log_arc.lock().unwrap(); let record = recording.get_record::(0); @@ -3198,7 +3424,7 @@ mod tests { #[test] fn proxy_server_receives_nonterminal_response_from_hopper() { - let system = System::new("proxy_server_receives_response_from_hopper"); + let system = System::new(); let (dispatcher_mock, _, dispatcher_log_arc) = make_recorder(); let (accountant, _, accountant_recording_arc) = make_recorder(); let cryptde = main_cryptde(); @@ -3324,7 +3550,16 @@ mod tests { .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let dispatcher_recording = dispatcher_log_arc.lock().unwrap(); let record = dispatcher_recording.get_record::(0); @@ -3379,7 +3614,7 @@ mod tests { #[test] fn handle_dns_resolve_failure_sends_message_to_dispatcher() { - let system = System::new("proxy_server_receives_response_from_routing_services"); + let system = System::new(); let (dispatcher_mock, _, dispatcher_log_arc) = make_recorder(); @@ -3434,7 +3669,16 @@ mod tests { subject_addr.try_send(expired_cores_package).unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let dispatcher_recording = dispatcher_log_arc.lock().unwrap(); let record = dispatcher_recording.get_record::(0); @@ -3454,7 +3698,7 @@ mod tests { #[test] fn handle_dns_resolve_failure_reports_services_consumed() { - let system = System::new("proxy_server_records_accounting"); + let system = System::new(); let (accountant, _, accountant_recording_arc) = make_recorder(); let cryptde = main_cryptde(); let mut subject = ProxyServer::new( @@ -3521,7 +3765,16 @@ mod tests { .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let accountant_recording = accountant_recording_arc.lock().unwrap(); check_exit_report(&accountant_recording, 0, &incoming_route_d_wallet, 0); @@ -3542,7 +3795,7 @@ mod tests { #[test] fn handle_dns_resolve_failure_sends_message_to_neighborhood() { - let system = System::new("test"); + let system = System::new(); let (neighborhood_mock, _, neighborhood_log_arc) = make_recorder(); @@ -3600,7 +3853,16 @@ mod tests { subject_addr.try_send(expired_cores_package).unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let neighborhood_recording = neighborhood_log_arc.lock().unwrap(); let record = neighborhood_recording.get_record::(0); @@ -3613,7 +3875,7 @@ mod tests { #[test] fn handle_dns_resolve_failure_logs_when_stream_key_be_gone_but_server_name_be_not() { init_test_logging(); - let system = System::new("test"); + let system = System::new(); let (neighborhood_mock, _, _) = make_recorder(); @@ -3678,7 +3940,16 @@ mod tests { .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } TestLogHandler::new().exists_log_containing( format!("Discarding DnsResolveFailure message for \"server.com\" from an unrecognized stream key {:?}", stream_key).as_str()); @@ -3687,7 +3958,7 @@ mod tests { #[test] fn handle_dns_resolve_failure_logs_when_stream_key_and_server_name_are_both_missing() { init_test_logging(); - let system = System::new("test"); + let system = System::new(); let (neighborhood_mock, _, _) = make_recorder(); @@ -3752,7 +4023,16 @@ mod tests { .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } TestLogHandler::new().exists_log_containing( format!("Discarding DnsResolveFailure message for from an unrecognized stream key {:?}", stream_key).as_str()); @@ -3825,7 +4105,7 @@ mod tests { #[test] #[should_panic(expected = "Dispatcher unbound in ProxyServer")] fn panics_if_dispatcher_is_unbound() { - let system = System::new("panics_if_dispatcher_is_unbound"); + let system = System::new(); let cryptde = main_cryptde(); let socket_addr = SocketAddr::from_str("1.2.3.4:5678").unwrap(); let stream_key = make_meaningless_stream_key(); @@ -3869,13 +4149,22 @@ mod tests { subject_addr.try_send(expired_cores_package).unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } } #[test] #[should_panic(expected = "Neighborhood unbound in ProxyServer")] fn panics_if_hopper_is_unbound() { - let system = System::new("panics_if_hopper_is_unbound"); + let system = System::new(); let http_request = b"GET /index.html HTTP/1.1\r\nHost: nowhere.com\r\n\r\n"; let subject = ProxyServer::new(main_cryptde(), alias_cryptde(), false, None); let socket_addr = SocketAddr::from_str("1.2.3.4:5678").unwrap(); @@ -3893,7 +4182,16 @@ mod tests { subject_addr.try_send(msg_from_dispatcher).unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } } #[test] @@ -3903,7 +4201,7 @@ mod tests { let cryptde = main_cryptde(); let (dispatcher, _, dispatcher_recording_arc) = make_recorder(); let (accountant, _, accountant_recording_arc) = make_recorder(); - let system = System::new("report_response_services_consumed_complains_and_drops_package_if_return_route_id_is_unrecognized"); + let system = System::new(); let mut subject = ProxyServer::new( cryptde, alias_cryptde(), @@ -3940,7 +4238,16 @@ mod tests { subject_addr.try_send(expired_cores_package).unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } TestLogHandler::new().exists_log_containing("ERROR: ProxyServer: Can't report services consumed: received response with bogus return-route ID 1234. Ignoring"); assert_eq!(dispatcher_recording_arc.lock().unwrap().len(), 0); assert_eq!(accountant_recording_arc.lock().unwrap().len(), 0); @@ -3953,7 +4260,7 @@ mod tests { let cryptde = main_cryptde(); let (dispatcher, _, dispatcher_recording_arc) = make_recorder(); let (accountant, _, accountant_recording_arc) = make_recorder(); - let system = System::new("report_response_services_consumed_complains_and_drops_package_if_return_route_id_is_unreadable"); + let system = System::new(); let mut subject = ProxyServer::new( cryptde, alias_cryptde(), @@ -3992,7 +4299,16 @@ mod tests { subject_addr.try_send(expired_cores_package).unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } TestLogHandler::new().exists_log_containing( "ERROR: ProxyServer: Can't report services consumed: DecryptionError(InvalidKey(\"Could not decrypt with", ); @@ -4008,7 +4324,7 @@ mod tests { let (tx, rx) = unbounded(); thread::spawn(move || { - let system = System::new("report_response_services_consumed_complains_and_drops_package_if_return_route_id_does_not_exist"); + let system = System::new(); let mut subject = ProxyServer::new( cryptde, alias_cryptde(), @@ -4034,7 +4350,16 @@ mod tests { subject_addr.try_send(BindMessage { peer_actors }).unwrap(); tx.send(subject_addr).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let subject_addr = rx.recv().unwrap(); @@ -4103,7 +4428,7 @@ mod tests { #[test] fn handle_stream_shutdown_msg_reports_to_counterpart_through_tunnel_when_necessary() { - let system = System::new("test"); + let system = System::new(); let mut subject = ProxyServer::new( main_cryptde(), alias_cryptde(), @@ -4188,7 +4513,16 @@ mod tests { .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let recording = hopper_recording_arc.lock().unwrap(); let record = recording.get_record::(0); assert_eq!(record.route, affected_route); @@ -4225,7 +4559,7 @@ mod tests { #[test] fn handle_stream_shutdown_msg_reports_to_counterpart_without_tunnel_when_necessary() { - let system = System::new("test"); + let system = System::new(); let mut subject = ProxyServer::new( main_cryptde(), alias_cryptde(), @@ -4304,7 +4638,16 @@ mod tests { .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let recording = hopper_recording_arc.lock().unwrap(); let record = recording.get_record::(0); assert_eq!(record.route, affected_route); @@ -4406,7 +4749,7 @@ mod tests { expected = "ProxyServer should never get ShutdownStreamMsg about clandestine stream" )] fn handle_stream_shutdown_complains_about_clandestine_message() { - let system = System::new("test"); + let system = System::new(); let subject = ProxyServer::new(main_cryptde(), alias_cryptde(), true, None); let subject_addr = subject.start(); @@ -4419,6 +4762,15 @@ mod tests { .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } } } diff --git a/node/src/run_modes.rs b/node/src/run_modes.rs index e44c844eb..d57bb08c3 100644 --- a/node/src/run_modes.rs +++ b/node/src/run_modes.rs @@ -224,15 +224,15 @@ struct RunnerReal { impl Runner for RunnerReal { fn run_node(&self, args: &[String], streams: &mut StdStreams<'_>) -> Result<(), RunnerError> { - let system = System::new("main"); + let system = System::new(); let mut server_initializer = self.server_initializer_factory.make(); server_initializer.go(streams, args)?; actix::spawn(server_initializer.map_err(|_| { System::current().stop_with_code(1); })); match system.run() { - 0 => Ok(()), - num_e => Err(RunnerError::Numeric(num_e)), + Ok(_) => Ok(()), + Err(_) => Err(RunnerError::Numeric(1)), } } diff --git a/node/src/run_modes_factories.rs b/node/src/run_modes_factories.rs index 9dbc4fecf..bb0ceefb4 100644 --- a/node/src/run_modes_factories.rs +++ b/node/src/run_modes_factories.rs @@ -146,6 +146,7 @@ mod tests { }; use masq_lib::shared_schema::ConfiguratorError; use masq_lib::utils::SliceToVec; + use std::ptr::addr_of; use std::sync::{Arc, Mutex}; fn test_clustered_params() -> ClusteredParams { diff --git a/node/src/stream_handler_pool.rs b/node/src/stream_handler_pool.rs index 607aa0747..0024df05e 100644 --- a/node/src/stream_handler_pool.rs +++ b/node/src/stream_handler_pool.rs @@ -584,6 +584,7 @@ mod tests { use std::str::FromStr; use std::sync::{Arc, Mutex}; use std::thread; + use std::time::SystemTime; use tokio::prelude::Async; struct TrafficAnalyzerMock {} @@ -616,7 +617,7 @@ mod tests { let awaiter = dispatcher.get_awaiter(); thread::spawn(move || { - let system = System::new("test"); + let system = System::new(); let mut subject = StreamHandlerPool::new(vec![]); subject.stream_connector = Box::new(StreamConnectorMock::new()); let subject_addr: Addr = subject.start(); @@ -660,7 +661,16 @@ mod tests { )) .unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); awaiter.await_message_count(4); @@ -726,7 +736,7 @@ mod tests { let peer_addr = SocketAddr::from_str("1.2.3.5:6789").unwrap(); thread::spawn(move || { - let system = System::new("test"); + let system = System::new(); let subject = StreamHandlerPool::new(vec![]); let subject_addr: Addr = subject.start(); @@ -770,7 +780,16 @@ mod tests { }) .unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); TestLogHandler::new().await_log_containing( @@ -789,7 +808,7 @@ mod tests { let (sub_tx, sub_rx) = unbounded(); thread::spawn(move || { - let system = System::new("test"); + let system = System::new(); let mut subject = StreamHandlerPool::new(vec![]); subject.stream_connector = Box::new( @@ -809,7 +828,16 @@ mod tests { .unwrap(); sub_tx.send(subject_subs).expect("Internal Error"); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let subject_subs = sub_rx.recv().unwrap(); @@ -893,7 +921,7 @@ mod tests { let peer_addr = SocketAddr::from_str("1.2.3.5:5673").unwrap(); thread::spawn(move || { - let system = System::new("test"); + let system = System::new(); let mut subject = StreamHandlerPool::new(vec![Box::new(JsonDiscriminatorFactory {})]); subject.stream_connector = Box::new(StreamConnectorMock::new().connection( @@ -953,7 +981,16 @@ mod tests { }) .unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); TestLogHandler::new().await_log_containing( @@ -965,7 +1002,7 @@ mod tests { #[test] fn handle_remove_stream_msg_handles_report_to_counterpart_scenario() { let (recorder, _, recording_arc) = make_recorder(); - let system = System::new("test"); + let system = System::new(); let sub = recorder.start().recipient::(); let mut subject = StreamHandlerPool::new(vec![]); let peer_addr = SocketAddr::from_str("1.2.3.4:5678").unwrap(); @@ -984,7 +1021,16 @@ mod tests { }); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } assert_eq!(subject.stream_writers.contains_key(&sw_key), false); let recording = recording_arc.lock().unwrap(); let record = recording.get_record::(0); @@ -1001,7 +1047,7 @@ mod tests { #[test] fn handle_remove_stream_msg_handles_no_report_to_counterpart_scenario() { let (recorder, _, recording_arc) = make_recorder(); - let system = System::new("test"); + let system = System::new(); let sub = recorder.start().recipient::(); let mut subject = StreamHandlerPool::new(vec![]); let peer_addr = SocketAddr::from_str("1.2.3.4:5678").unwrap(); @@ -1019,7 +1065,16 @@ mod tests { }); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } assert_eq!(subject.stream_writers.contains_key(&sw_key), false); let recording = recording_arc.lock().unwrap(); let record = recording.get_record::(0); @@ -1039,7 +1094,7 @@ mod tests { #[test] fn handle_remove_stream_msg_handles_stream_waiting_for_connect_scenario() { let (recorder, _, recording_arc) = make_recorder(); - let system = System::new("test"); + let system = System::new(); let sub = recorder.start().recipient::(); let mut subject = StreamHandlerPool::new(vec![]); let peer_addr = SocketAddr::from_str("1.2.3.4:5678").unwrap(); @@ -1055,7 +1110,16 @@ mod tests { }); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } assert_eq!(subject.stream_writers.contains_key(&sw_key), false); let recording = recording_arc.lock().unwrap(); let record = recording.get_record::(0); @@ -1079,7 +1143,7 @@ mod tests { let connect_pair_params_arc_a = connect_pair_params_arc.clone(); let (neighborhood, neighborhood_awaiter, neighborhood_recording_arc) = make_recorder(); thread::spawn(move || { - let system = System::new("when_stream_handler_pool_fails_to_create_nonexistent_stream_for_write_then_it_logs_and_notifies_neighborhood"); + let system = System::new(); let mut subject = StreamHandlerPool::new(vec![]); subject.stream_connector = Box::new( StreamConnectorMock::new() @@ -1118,7 +1182,16 @@ mod tests { }) .unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); TestLogHandler::new().await_log_containing("ERROR: Dispatcher: Stream to 1.2.3.5:7000 does not exist and could not be connected; discarding 5 bytes: other error", 1000); @@ -1151,9 +1224,7 @@ mod tests { let poll_write_params_arc_a = poll_write_params_arc.clone(); let (tx, rx) = unbounded(); thread::spawn(move || { - let system = System::new( - "stream_handler_pool_creates_nonexistent_stream_for_reading_and_writing", - ); + let system = System::new(); let discriminator_factory = JsonDiscriminatorFactory::new(); let mut subject = StreamHandlerPool::new(vec![Box::new(discriminator_factory)]); subject.stream_connector = Box::new( @@ -1190,7 +1261,16 @@ mod tests { tx.send(subject_subs).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let subject_subs = rx.recv().unwrap(); @@ -1263,7 +1343,7 @@ mod tests { let (tx, rx) = unbounded(); thread::spawn(move || { - let system = System::new("test"); + let system = System::new(); let subject = StreamHandlerPool::new(vec![]); let subject_addr: Addr = subject.start(); @@ -1296,7 +1376,16 @@ mod tests { tx.send(subject_subs).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let subject_subs = rx.recv().unwrap(); @@ -1341,7 +1430,7 @@ mod tests { let key = cryptde.public_key().clone(); thread::spawn(move || { - let system = System::new("test"); + let system = System::new(); let subject = StreamHandlerPool::new(vec![]); let subject_addr: Addr = subject.start(); @@ -1369,7 +1458,16 @@ mod tests { }) .unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); TestLogHandler::new().await_log_containing( @@ -1389,7 +1487,7 @@ mod tests { let key = cryptde.public_key().clone(); thread::spawn(move || { - let system = System::new("test"); + let system = System::new(); let subject = StreamHandlerPool::new(vec![]); let subject_addr: Addr = subject.start(); @@ -1421,7 +1519,16 @@ mod tests { }) .unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); TestLogHandler::new().await_log_containing( @@ -1453,7 +1560,7 @@ mod tests { let (tx, rx) = unbounded(); thread::spawn(move || { - let system = System::new("test"); + let system = System::new(); let mut subject = StreamHandlerPool::new(vec![]); subject .stream_writers @@ -1484,7 +1591,16 @@ mod tests { tx.send(subject_subs).expect("Tx failure"); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let subject_subs = rx.recv().unwrap(); @@ -1574,7 +1690,7 @@ mod tests { let (tx, rx) = unbounded(); thread::spawn(move || { - let system = System::new("test"); + let system = System::new(); let mut subject = StreamHandlerPool::new(vec![]); subject.stream_connector = Box::new( StreamConnectorMock::new() @@ -1609,7 +1725,16 @@ mod tests { tx.send(subject_subs).expect("Tx failure"); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let subject_subs = rx.recv().unwrap(); @@ -1703,7 +1828,7 @@ mod tests { data: b"hello".to_vec(), }; - let system = System::new("test"); + let system = System::new(); let subject = StreamHandlerPool::new(vec![]); let subject_addr: Addr = subject.start(); let subject_subs = StreamHandlerPool::make_subs_from(&subject_addr); @@ -1729,7 +1854,16 @@ mod tests { }) .unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } } #[test] @@ -1751,7 +1885,7 @@ mod tests { let peer_addr = SocketAddr::from_str("1.2.3.5:6789").unwrap(); thread::spawn(move || { - let system = System::new("test"); + let system = System::new(); let subject = StreamHandlerPool::new(vec![]); let subject_addr: Addr = subject.start(); @@ -1805,7 +1939,16 @@ mod tests { }) .unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); await_messages(2, &write_stream_params_arc); @@ -1824,7 +1967,7 @@ mod tests { let peer_addr = SocketAddr::from_str("1.2.3.5:6789").unwrap(); thread::spawn(move || { - let system = System::new("test"); + let system = System::new(); let mut subject = StreamHandlerPool::new(vec![]); subject.traffic_analyzer = Box::new(TrafficAnalyzerMock {}); @@ -1869,7 +2012,16 @@ mod tests { }) .unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); TestLogHandler::new().await_log_containing("Masking failed for 1.2.3.5:6789: Low-level data error: don't care. Discarding 5 bytes.", 1000); @@ -1882,9 +2034,7 @@ mod tests { let outgoing_unmasked_len = outgoing_unmasked.len(); let (tx, rx) = unbounded(); thread::spawn(move || { - let system = System::new( - "stream_handler_pool_creates_nonexistent_stream_for_reading_and_writing", - ); + let system = System::new(); let discriminator_factory = JsonDiscriminatorFactory::new(); let mut subject = StreamHandlerPool::new(vec![Box::new(discriminator_factory)]); subject.stream_connector = Box::new(StreamConnectorMock::new()); // this will panic if a connection is attempted @@ -1902,7 +2052,16 @@ mod tests { tx.send(subject_subs).unwrap(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let subject_subs = rx.recv().unwrap(); diff --git a/node/src/stream_messages.rs b/node/src/stream_messages.rs index 97948695b..cac1e151d 100644 --- a/node/src/stream_messages.rs +++ b/node/src/stream_messages.rs @@ -11,6 +11,7 @@ use std::fmt::Formatter; use std::net::SocketAddr; #[derive(Message)] +#[rtype(result = "")] pub struct AddStreamMsg { pub connection_info: ConnectionInfo, pub origin_port: Option, @@ -44,6 +45,7 @@ pub enum RemovedStreamType { } #[derive(PartialEq, Message)] +#[rtype(result = "")] pub struct RemoveStreamMsg { pub local_addr: SocketAddr, pub peer_addr: SocketAddr, @@ -62,6 +64,7 @@ impl Debug for RemoveStreamMsg { } #[derive(Message, Clone)] +#[rtype(result = "")] pub struct PoolBindMessage { pub dispatcher_subs: DispatcherSubs, pub stream_handler_pool_subs: StreamHandlerPoolSubs, @@ -83,7 +86,7 @@ mod tests { #[test] fn pool_bind_message_is_debug() { - let _system = System::new("test"); + let _system = System::new(); let dispatcher_subs = peer_actors_builder().build().dispatcher; let stream_handler_pool_subs = make_stream_handler_pool_subs_from(None); let neighborhood_subs = peer_actors_builder().build().neighborhood; diff --git a/node/src/stream_reader.rs b/node/src/stream_reader.rs index 16389dafa..e11aae5f1 100644 --- a/node/src/stream_reader.rs +++ b/node/src/stream_reader.rs @@ -232,6 +232,7 @@ mod tests { use std::net::SocketAddr; use std::str::FromStr; use std::sync::{Arc, Mutex}; + use std::time::SystemTime; fn stream_handler_pool_stuff() -> (Arc>, StreamHandlerPoolSubs) { let (shp, _, recording) = make_recorder(); @@ -247,7 +248,7 @@ mod tests { #[test] fn stream_reader_shuts_down_and_returns_ok_on_0_byte_read() { init_test_logging(); - let system = System::new("test"); + let system = System::new(); let (shp_recording_arc, stream_handler_pool_subs) = stream_handler_pool_stuff(); let (_, dispatcher_subs) = dispatcher_stuff(); let peer_addr = SocketAddr::from_str("1.2.3.4:5678").unwrap(); @@ -273,7 +274,16 @@ mod tests { let result = subject.poll(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let shp_recording = shp_recording_arc.lock().unwrap(); assert_eq!( @@ -296,7 +306,7 @@ mod tests { #[test] fn stream_reader_shuts_down_and_returns_err_when_it_gets_a_dead_stream_error() { init_test_logging(); - let system = System::new("test"); + let system = System::new(); let (shp_recording_arc, stream_handler_pool_subs) = stream_handler_pool_stuff(); let (_, dispatcher_subs) = dispatcher_stuff(); let peer_addr = SocketAddr::from_str("1.2.3.4:5678").unwrap(); @@ -322,7 +332,16 @@ mod tests { let result = subject.poll(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let shp_recording = shp_recording_arc.lock().unwrap(); assert_eq!( @@ -345,7 +364,7 @@ mod tests { #[test] fn stream_reader_returns_not_ready_when_it_gets_not_ready() { init_test_logging(); - let system = System::new("test"); + let system = System::new(); let (shp_recording_arc, stream_handler_pool_subs) = stream_handler_pool_stuff(); let (d_recording_arc, dispatcher_subs) = dispatcher_stuff(); let peer_addr = SocketAddr::from_str("1.2.3.4:5678").unwrap(); @@ -371,7 +390,16 @@ mod tests { let result = subject.poll(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } assert_eq!(result, Ok(Async::NotReady)); @@ -385,7 +413,7 @@ mod tests { #[test] fn stream_reader_logs_err_but_does_not_shut_down_when_it_gets_a_non_dead_stream_error() { init_test_logging(); - let system = System::new("test"); + let system = System::new(); let (shp_recording_arc, stream_handler_pool_subs) = stream_handler_pool_stuff(); let (d_recording_arc, dispatcher_subs) = dispatcher_stuff(); let peer_addr = SocketAddr::from_str("1.2.3.4:5678").unwrap(); @@ -414,7 +442,16 @@ mod tests { let _result = subject.poll(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } TestLogHandler::new().await_log_containing("WARN: StreamReader for 1.2.3.4:5678: Continuing after read error on stream between local 1.2.3.5:6789 and peer 1.2.3.4:5678: other error", 1000); @@ -429,7 +466,7 @@ mod tests { #[should_panic(expected = "Internal error: no Discriminator factories!")] fn stream_reader_panics_with_no_discriminator_factories() { init_test_logging(); - let _system = System::new("test"); + let _system = System::new(); let (_, stream_handler_pool_subs) = stream_handler_pool_stuff(); let (_d_recording_arc, dispatcher_subs) = dispatcher_stuff(); let peer_addr = SocketAddr::from_str("1.2.3.4:5678").unwrap(); @@ -455,7 +492,7 @@ mod tests { #[test] fn stream_reader_sends_framed_chunks_to_dispatcher() { init_test_logging(); - let system = System::new("test"); + let system = System::new(); let (_, stream_handler_pool_subs) = stream_handler_pool_stuff(); let (d_recording_arc, dispatcher_subs) = dispatcher_stuff(); let peer_addr = SocketAddr::from_str("1.2.3.4:5678").unwrap(); @@ -493,7 +530,16 @@ mod tests { subject.poll().err(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let d_recording = d_recording_arc.lock().unwrap(); assert_eq!( @@ -518,7 +564,7 @@ mod tests { #[test] fn stream_reader_sends_two_correct_sequenced_messages_when_sent_a_http_connect() { - let system = System::new("test"); + let system = System::new(); let (_, stream_handler_pool_subs) = stream_handler_pool_stuff(); let (d_recording_arc, dispatcher_subs) = dispatcher_stuff(); let peer_addr = SocketAddr::from_str("1.2.3.4:5678").unwrap(); @@ -556,7 +602,16 @@ mod tests { subject.poll().err(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let d_recording = d_recording_arc.lock().unwrap(); assert_eq!( @@ -575,7 +630,7 @@ mod tests { #[test] fn stream_reader_assigns_a_sequence_to_inbound_client_data_that_are_flagged_as_sequenced() { - let system = System::new("test"); + let system = System::new(); let (_, stream_handler_pool_subs) = stream_handler_pool_stuff(); let (d_recording_arc, dispatcher_subs) = dispatcher_stuff(); let peer_addr = SocketAddr::from_str("1.2.3.4:5678").unwrap(); @@ -609,7 +664,16 @@ mod tests { let _result = subject.poll(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let d_recording = d_recording_arc.lock().unwrap(); assert_eq!( @@ -640,7 +704,7 @@ mod tests { #[test] fn stream_reader_does_not_assign_sequence_to_inbound_client_data_that_is_not_marked_as_sequence( ) { - let system = System::new("test"); + let system = System::new(); let (_, stream_handler_pool_subs) = stream_handler_pool_stuff(); let (d_recording_arc, dispatcher_subs) = dispatcher_stuff(); let peer_addr = SocketAddr::from_str("1.2.3.4:5678").unwrap(); @@ -675,7 +739,16 @@ mod tests { let _result = subject.poll(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let d_recording = d_recording_arc.lock().unwrap(); assert_eq!( @@ -696,7 +769,7 @@ mod tests { let (shp_recording_arc, stream_handler_pool_subs) = stream_handler_pool_stuff(); let (_, dispatcher_subs) = dispatcher_stuff(); let peer_addr = SocketAddr::from_str("1.2.3.4:5678").unwrap(); - let system = System::new("test"); + let system = System::new(); let local_addr = SocketAddr::from_str("1.2.3.5:6789").unwrap(); let discriminator_factories: Vec> = vec![Box::new(JsonDiscriminatorFactory::new())]; @@ -716,7 +789,16 @@ mod tests { subject.shutdown(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let shp_recording = shp_recording_arc.lock().unwrap(); let remove_stream_msg = shp_recording.get_record::(0); assert_eq!( @@ -735,7 +817,7 @@ mod tests { let (shp_recording_arc, stream_handler_pool_subs) = stream_handler_pool_stuff(); let (_, dispatcher_subs) = dispatcher_stuff(); let peer_addr = SocketAddr::from_str("1.2.3.4:5678").unwrap(); - let system = System::new("test"); + let system = System::new(); let local_addr = SocketAddr::from_str("1.2.3.5:6789").unwrap(); let discriminator_factories: Vec> = vec![Box::new(JsonDiscriminatorFactory::new())]; @@ -756,7 +838,16 @@ mod tests { subject.shutdown(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let shp_recording = shp_recording_arc.lock().unwrap(); let remove_stream_msg = shp_recording.get_record::(0); assert_eq!( diff --git a/node/src/sub_lib/accountant.rs b/node/src/sub_lib/accountant.rs index be371d657..693462a6b 100644 --- a/node/src/sub_lib/accountant.rs +++ b/node/src/sub_lib/accountant.rs @@ -44,6 +44,7 @@ impl Debug for AccountantSubs { } #[derive(Clone, PartialEq, Debug, Message)] +#[rtype(result = "")] pub struct ReportRoutingServiceProvidedMessage { pub paying_wallet: Wallet, pub payload_size: usize, @@ -52,6 +53,7 @@ pub struct ReportRoutingServiceProvidedMessage { } #[derive(Clone, PartialEq, Debug, Message)] +#[rtype(result = "")] pub struct ReportExitServiceProvidedMessage { pub paying_wallet: Wallet, pub payload_size: usize, @@ -60,6 +62,7 @@ pub struct ReportExitServiceProvidedMessage { } #[derive(Clone, PartialEq, Debug, Message)] +#[rtype(result = "")] pub struct ReportRoutingServiceConsumedMessage { pub earning_wallet: Wallet, pub payload_size: usize, @@ -68,6 +71,7 @@ pub struct ReportRoutingServiceConsumedMessage { } #[derive(Clone, PartialEq, Debug, Message)] +#[rtype(result = "")] pub struct ReportExitServiceConsumedMessage { pub earning_wallet: Wallet, pub payload_size: usize, @@ -76,12 +80,14 @@ pub struct ReportExitServiceConsumedMessage { } #[derive(Clone, PartialEq, Debug, Message)] +#[rtype(result = "")] pub struct GetFinancialStatisticsMessage { pub client_id: u64, } #[derive(Clone, PartialEq, Debug, Message, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] +#[rtype(result = "")] pub struct FinancialStatisticsMessage { pub pending_credit: i64, pub pending_debt: i64, diff --git a/node/src/sub_lib/blockchain_bridge.rs b/node/src/sub_lib/blockchain_bridge.rs index 1485d7d65..ee0a4853d 100644 --- a/node/src/sub_lib/blockchain_bridge.rs +++ b/node/src/sub_lib/blockchain_bridge.rs @@ -42,12 +42,14 @@ impl Message for ReportAccountsPayable { } #[derive(Clone, PartialEq, Debug, Message)] +#[rtype(result = "")] pub struct SetDbPasswordMsg { pub client_id: u64, pub password: String, } #[derive(Clone, PartialEq, Debug, Message)] +#[rtype(result = "")] pub struct SetGasPriceMsg { pub client_id: u64, pub gas_price: String, diff --git a/node/src/sub_lib/configurator.rs b/node/src/sub_lib/configurator.rs index 12db5e0cd..6a4218165 100644 --- a/node/src/sub_lib/configurator.rs +++ b/node/src/sub_lib/configurator.rs @@ -7,6 +7,7 @@ use std::fmt; use std::fmt::{Debug, Formatter}; #[derive(Debug, actix::Message, Clone, PartialEq)] +#[rtype(result = "")] pub struct NewPasswordMessage { pub new_password: String, } diff --git a/node/src/sub_lib/dispatcher.rs b/node/src/sub_lib/dispatcher.rs index 8026dbd0f..a8c0da723 100644 --- a/node/src/sub_lib/dispatcher.rs +++ b/node/src/sub_lib/dispatcher.rs @@ -112,6 +112,7 @@ pub enum DispatcherError { } #[derive(PartialEq, Clone, Message)] +#[rtype(result = "")] pub struct InboundClientData { pub peer_addr: SocketAddr, pub reception_port: Option, @@ -150,6 +151,7 @@ impl InboundClientData { } #[derive(PartialEq, Clone, Message, Debug)] +#[rtype(result = "")] pub struct StreamShutdownMsg { pub peer_addr: SocketAddr, pub stream_type: RemovedStreamType, diff --git a/node/src/sub_lib/hopper.rs b/node/src/sub_lib/hopper.rs index d0c3b1764..cb355a946 100644 --- a/node/src/sub_lib/hopper.rs +++ b/node/src/sub_lib/hopper.rs @@ -31,6 +31,7 @@ use std::net::SocketAddr; /// of PublicKeys destined to be looked up in the database by the Dispatcher. /// This struct can be used only for single-hop traffic. #[derive(Clone, Debug, PartialEq, Message)] +#[rtype(result = "")] pub struct NoLookupIncipientCoresPackage { pub public_key: PublicKey, pub node_addr: NodeAddr, @@ -58,6 +59,7 @@ impl NoLookupIncipientCoresPackage { /// New CORES package about to be sent to the Hopper and thence put on the MASQ Network #[derive(Clone, Debug, PartialEq, Message)] +#[rtype(result = "")] pub struct IncipientCoresPackage { pub route: Route, pub payload: CryptData, @@ -93,6 +95,7 @@ impl IncipientCoresPackage { /// CORES package that has traversed the MASQ Network and is arriving at its destination #[derive(Clone, Debug, PartialEq, Message)] +#[rtype(result = "")] pub struct ExpiredCoresPackage { pub immediate_neighbor: SocketAddr, pub paying_wallet: Option, diff --git a/node/src/sub_lib/neighborhood.rs b/node/src/sub_lib/neighborhood.rs index cd23dad87..f1ca3591c 100644 --- a/node/src/sub_lib/neighborhood.rs +++ b/node/src/sub_lib/neighborhood.rs @@ -369,11 +369,8 @@ impl NodeQueryResponseMetadata { } } -//TODO probably dead code? -#[derive(Clone, Debug, Message, PartialEq)] -pub struct BootstrapNeighborhoodNowMessage {} - #[derive(Clone, Debug, Message, PartialEq)] +#[rtype(result = "")] pub struct NeighborhoodDotGraphRequest { pub client_id: u64, } @@ -389,6 +386,7 @@ impl Message for NodeQueryMessage { } #[derive(Message, Clone)] +#[rtype(result = "")] pub struct DispatcherNodeQueryMessage { pub query: NodeQueryMessage, pub context: TransmitDataMsg, @@ -438,11 +436,13 @@ pub struct RouteQueryResponse { } #[derive(Clone, Debug, Message, PartialEq)] +#[rtype(result = "")] pub struct RemoveNeighborMessage { pub public_key: PublicKey, } #[derive(Clone, Debug, Message, PartialEq)] +#[rtype(result = "")] pub enum NodeRecordMetadataMessage { Desirable(PublicKey, bool), } diff --git a/node/src/sub_lib/peer_actors.rs b/node/src/sub_lib/peer_actors.rs index 3a49f50a7..ea30d03f3 100644 --- a/node/src/sub_lib/peer_actors.rs +++ b/node/src/sub_lib/peer_actors.rs @@ -33,11 +33,13 @@ impl Debug for PeerActors { } #[derive(Debug, Message, Clone)] +#[rtype(result = "")] pub struct BindMessage { pub peer_actors: PeerActors, } #[derive(Message, Clone)] +#[rtype(result = "")] pub struct StartMessage {} #[cfg(test)] @@ -47,7 +49,7 @@ mod tests { #[test] fn peer_actors_debug() { - let _ = System::new("test"); + let _ = System::new(); let subject = peer_actors_builder().build(); let result = format!("{:?}", subject); diff --git a/node/src/sub_lib/proxy_client.rs b/node/src/sub_lib/proxy_client.rs index 7a5a505d9..6b3b6cfca 100644 --- a/node/src/sub_lib/proxy_client.rs +++ b/node/src/sub_lib/proxy_client.rs @@ -35,6 +35,7 @@ pub struct ClientResponsePayload_0v1 { #[derive(Message, Clone, Debug, PartialEq, Deserialize, Serialize)] #[allow(non_camel_case_types)] +#[rtype(result = "")] pub struct DnsResolveFailure_0v1 { pub stream_key: StreamKey, } @@ -91,6 +92,7 @@ impl ClientResponsePayload_0v1 { } #[derive(PartialEq, Clone, Message, Debug)] +#[rtype(result = "")] pub struct InboundServerData { pub stream_key: StreamKey, pub last_data: bool, diff --git a/node/src/sub_lib/proxy_server.rs b/node/src/sub_lib/proxy_server.rs index 36334f49b..d78ddaf80 100644 --- a/node/src/sub_lib/proxy_server.rs +++ b/node/src/sub_lib/proxy_server.rs @@ -55,6 +55,7 @@ impl ClientRequestPayload_0v1 { } #[derive(Message, Debug, PartialEq, Eq)] +#[rtype(result = "")] pub struct AddReturnRouteMessage { pub return_route_id: u32, pub expected_services: Vec, @@ -63,6 +64,7 @@ pub struct AddReturnRouteMessage { } #[derive(Message, Debug, PartialEq)] +#[rtype(result = "")] pub struct AddRouteMessage { pub stream_key: StreamKey, pub route: RouteQueryResponse, diff --git a/node/src/sub_lib/set_consuming_wallet_message.rs b/node/src/sub_lib/set_consuming_wallet_message.rs index a241ed49e..afdc88426 100644 --- a/node/src/sub_lib/set_consuming_wallet_message.rs +++ b/node/src/sub_lib/set_consuming_wallet_message.rs @@ -4,6 +4,7 @@ use crate::sub_lib::wallet::Wallet; use actix::Message; #[derive(Clone, PartialEq, Debug, Message)] +#[rtype(result = "")] pub struct SetConsumingWalletMessage { pub wallet: Wallet, } diff --git a/node/src/sub_lib/stream_handler_pool.rs b/node/src/sub_lib/stream_handler_pool.rs index 8be26cb86..6bd54da3d 100644 --- a/node/src/sub_lib/stream_handler_pool.rs +++ b/node/src/sub_lib/stream_handler_pool.rs @@ -4,6 +4,7 @@ use crate::sub_lib::neighborhood::NodeQueryResponseMetadata; use actix::Message; #[derive(PartialEq, Debug, Message, Clone)] +#[rtype(result = "")] pub struct TransmitDataMsg { pub endpoint: Endpoint, pub last_data: bool, @@ -12,6 +13,7 @@ pub struct TransmitDataMsg { } #[derive(Message, Clone)] +#[rtype(result = "")] pub struct DispatcherNodeQueryResponse { pub result: Option, pub context: TransmitDataMsg, diff --git a/node/src/sub_lib/wallet.rs b/node/src/sub_lib/wallet.rs index 6f03d0733..c6d2d5927 100644 --- a/node/src/sub_lib/wallet.rs +++ b/node/src/sub_lib/wallet.rs @@ -263,7 +263,7 @@ impl TryInto for Wallet { } impl<'de> serde::Deserialize<'de> for Wallet { - fn deserialize(deserializer: D) -> serde::export::Result + fn deserialize(deserializer: D) -> serde::__private::Result where D: serde::Deserializer<'de>, { @@ -276,44 +276,44 @@ impl<'de> serde::Deserialize<'de> for Wallet { type Value = WalletField; fn expecting( &self, - formatter: &mut serde::export::Formatter, - ) -> serde::export::fmt::Result { - serde::export::Formatter::write_str(formatter, "field identifier") + formatter: &mut serde::__private::Formatter, + ) -> serde::__private::fmt::Result { + serde::__private::Formatter::write_str(formatter, "field identifier") } - fn visit_u64(self, value: u64) -> serde::export::Result + fn visit_u64(self, value: u64) -> serde::__private::Result where E: serde::de::Error, { match value { - 0u64 => serde::export::Ok(WalletField::Address), - _ => serde::export::Err(serde::de::Error::invalid_value( + 0u64 => serde::__private::Ok(WalletField::Address), + _ => serde::__private::Err(serde::de::Error::invalid_value( serde::de::Unexpected::Unsigned(value), &"field index 0 <= i < 1", )), } } - fn visit_str(self, value: &str) -> serde::export::Result + fn visit_str(self, value: &str) -> serde::__private::Result where E: serde::de::Error, { match value { - "address" => serde::export::Ok(WalletField::Address), - _ => serde::export::Ok(WalletField::__Ignore), + "address" => serde::__private::Ok(WalletField::Address), + _ => serde::__private::Ok(WalletField::__Ignore), } } - fn visit_bytes(self, value: &[u8]) -> serde::export::Result + fn visit_bytes(self, value: &[u8]) -> serde::__private::Result where E: serde::de::Error, { match value { - b"address" => serde::export::Ok(WalletField::Address), - _ => serde::export::Ok(WalletField::__Ignore), + b"address" => serde::__private::Ok(WalletField::Address), + _ => serde::__private::Ok(WalletField::__Ignore), } } } impl<'de> serde::Deserialize<'de> for WalletField { #[inline] - fn deserialize(deserializer: D) -> serde::export::Result + fn deserialize(deserializer: D) -> serde::__private::Result where D: serde::Deserializer<'de>, { @@ -321,64 +321,65 @@ impl<'de> serde::Deserialize<'de> for Wallet { } } struct WalletVisitor<'de> { - marker: serde::export::PhantomData, - lifetime: serde::export::PhantomData<&'de ()>, + marker: serde::__private::PhantomData, + lifetime: serde::__private::PhantomData<&'de ()>, human_readable: bool, } impl<'de> serde::de::Visitor<'de> for WalletVisitor<'de> { type Value = Wallet; fn expecting( &self, - formatter: &mut serde::export::Formatter, - ) -> serde::export::fmt::Result { - serde::export::Formatter::write_str(formatter, "struct Wallet") + formatter: &mut serde::__private::Formatter, + ) -> serde::__private::fmt::Result { + serde::__private::Formatter::write_str(formatter, "struct Wallet") } #[inline] - fn visit_seq(self, mut seq: A) -> serde::export::Result + fn visit_seq(self, mut seq: A) -> serde::__private::Result where A: serde::de::SeqAccess<'de>, { let address = match serde::de::SeqAccess::next_element::
(&mut seq)? { - serde::export::Some(address) => address, - serde::export::None => { - return serde::export::Err(serde::de::Error::invalid_length( + serde::__private::Some(address) => address, + serde::__private::None => { + return serde::__private::Err(serde::de::Error::invalid_length( 0usize, &"struct Wallet with 1 element", )); } }; - serde::export::Ok(Wallet { + serde::__private::Ok(Wallet { kind: WalletKind::Address(address), }) } #[inline] - fn visit_map(self, mut map: A) -> serde::export::Result + fn visit_map(self, mut map: A) -> serde::__private::Result where A: serde::de::MapAccess<'de>, { - let mut possible_address: serde::export::Option
= serde::export::None; - while let serde::export::Some(key) = + let mut possible_address: serde::__private::Option
= + serde::__private::None; + while let serde::__private::Some(key) = serde::de::MapAccess::next_key::(&mut map)? { match key { WalletField::Address => { - if serde::export::Option::is_some(&possible_address) { - return serde::export::Err( + if serde::__private::Option::is_some(&possible_address) { + return serde::__private::Err( ::duplicate_field("address"), ); } possible_address = match &self.human_readable { - true => { - serde::export::Some( - serde::de::MapAccess::next_value::
(&mut map)?, - ) - } + true => serde::__private::Some(serde::de::MapAccess::next_value::< + Address, + >( + &mut map + )?), false => { let bytes = serde::de::MapAccess::next_value::>(&mut map)?; let mut address = [0u8; 20]; address.copy_from_slice(bytes.as_slice()); - serde::export::Some(Address { 0: address }) + serde::__private::Some(Address { 0: address }) } } } @@ -390,10 +391,10 @@ impl<'de> serde::Deserialize<'de> for Wallet { } } let address = match possible_address { - serde::export::Some(address) => address, - serde::export::None => serde::private::de::missing_field("address")?, + serde::__private::Some(address) => address, + serde::__private::None => serde::__private::de::missing_field("address")?, }; - serde::export::Ok(Wallet { + serde::__private::Ok(Wallet { kind: WalletKind::Address(address), }) } @@ -405,8 +406,8 @@ impl<'de> serde::Deserialize<'de> for Wallet { "Wallet", FIELDS, WalletVisitor { - marker: serde::export::PhantomData::, - lifetime: serde::export::PhantomData, + marker: serde::__private::PhantomData::, + lifetime: serde::__private::PhantomData, human_readable, }, ) diff --git a/node/src/test_utils/database_utils.rs b/node/src/test_utils/database_utils.rs index 7243c6f80..eeb36e7bc 100644 --- a/node/src/test_utils/database_utils.rs +++ b/node/src/test_utils/database_utils.rs @@ -3,7 +3,7 @@ use crate::database::connection_wrapper::ConnectionWrapper; use crate::database::db_migrations::DbMigrator; use crate::sub_lib::logger::Logger; -use rusqlite::{Connection, NO_PARAMS}; +use rusqlite::Connection; use std::cell::RefCell; use std::fs::remove_file; use std::path::PathBuf; @@ -50,7 +50,7 @@ pub fn revive_tables_of_the_version_0_and_return_the_connection_to_the_db( "create unique index idx_receivable_wallet_address on receivable (wallet_address)", "create table banned ( wallet_address text primary key )", "create unique index idx_banned_wallet_address on banned (wallet_address)" - ].iter().for_each(|statement|{connection.execute(statement,NO_PARAMS).unwrap();}); + ].iter().for_each(|statement|{connection.execute(statement,[]).unwrap();}); connection } @@ -101,7 +101,7 @@ pub fn assurance_query_for_config_table( ) -> (String, Option, u16) { let mut statement = conn.prepare(stm).unwrap(); statement - .query_row(NO_PARAMS, |r| { + .query_row([], |r| { Ok((r.get(0).unwrap(), r.get(1).unwrap(), r.get(2).unwrap())) }) .unwrap() diff --git a/node/src/test_utils/recorder.rs b/node/src/test_utils/recorder.rs index 41133cdd8..393b2e13e 100644 --- a/node/src/test_utils/recorder.rs +++ b/node/src/test_utils/recorder.rs @@ -542,11 +542,13 @@ impl PeerActorsBuilder { #[cfg(test)] mod tests { + use std::time::SystemTime; use super::*; use actix::Message; use actix::System; #[derive(Debug, PartialEq, Message)] + #[rtype(result = "")] struct FirstMessageType { string: String, } @@ -554,6 +556,7 @@ mod tests { recorder_message_handler!(FirstMessageType); #[derive(Debug, PartialEq, Message)] + #[rtype(result = "")] struct SecondMessageType { size: usize, flag: bool, @@ -563,7 +566,7 @@ mod tests { #[test] fn recorder_records_different_messages() { - let system = System::new("test"); + let system = System::new(); let recorder = Recorder::new(); let recording_arc = recorder.get_recording(); @@ -582,7 +585,16 @@ mod tests { .unwrap(); System::current().stop_with_code(0); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let recording = recording_arc.lock().unwrap(); assert_eq!( diff --git a/node/src/ui_gateway/mod.rs b/node/src/ui_gateway/mod.rs index ee1220346..fd1ecbc18 100644 --- a/node/src/ui_gateway/mod.rs +++ b/node/src/ui_gateway/mod.rs @@ -125,6 +125,7 @@ mod tests { use masq_lib::ui_gateway::{MessageBody, MessageTarget}; use masq_lib::utils::find_free_port; use std::sync::{Arc, Mutex}; + use std::time::SystemTime; #[test] fn inbound_ui_message_is_disseminated_properly() { @@ -142,7 +143,7 @@ mod tests { let subject = UiGateway::new(&UiGatewayConfig { ui_port: find_free_port(), }); - let system = System::new("test"); + let system = System::new(); let subject_addr: Addr = subject.start(); let peer_actors = peer_actors_builder() .accountant(accountant) @@ -168,7 +169,16 @@ mod tests { subject_addr.try_send(msg.clone()).unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let did_receive = |recording_arc: Arc>| { let recording = recording_arc.lock().unwrap(); assert_eq!(recording.get_record::(0), &msg); @@ -197,7 +207,7 @@ mod tests { let mut subject = UiGateway::new(&UiGatewayConfig { ui_port: find_free_port(), }); - let system = System::new("test"); + let system = System::new(); subject.websocket_supervisor = Some(Box::new(websocket_supervisor)); subject.incoming_message_recipients = vec![accountant.start().recipient::()]; @@ -214,7 +224,16 @@ mod tests { subject_addr.try_send(msg.clone()).unwrap(); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } let accountant_recording = accountant_recording_arc.lock().unwrap(); assert_eq!(accountant_recording.len(), 0); let send_parameters = send_msg_parameters_arc.lock().unwrap(); diff --git a/node/src/ui_gateway/websocket_supervisor.rs b/node/src/ui_gateway/websocket_supervisor.rs index cd7062685..4c30f8393 100644 --- a/node/src/ui_gateway/websocket_supervisor.rs +++ b/node/src/ui_gateway/websocket_supervisor.rs @@ -450,8 +450,6 @@ mod tests { use crate::test_utils::logging::TestLogHandler; use crate::test_utils::recorder::{make_recorder, Recorder}; use crate::test_utils::{assert_contains, await_value, wait_for}; - use actix::System; - use actix::{Actor, Addr}; use futures::future::lazy; use masq_lib::constants::UNMARSHAL_ERROR; use masq_lib::messages::{ @@ -466,7 +464,8 @@ mod tests { use std::net::Shutdown; use std::str::FromStr; use std::thread; - use std::time::Duration; + use std::time::{Duration, SystemTime}; + use actix::{Actor, Addr, System}; use websocket::client::sync::Client; use websocket::stream::sync::TcpStream; use websocket::ClientBuilder; @@ -623,14 +622,23 @@ mod tests { let (ui_gateway, _, _) = make_recorder(); thread::spawn(move || { - let system = System::new("logs_pre_upgrade_connection_errors"); + let system = System::new(); let ui_message_sub = subs(ui_gateway); let subject = lazy(move || { let _subject = WebSocketSupervisorReal::new(port, ui_message_sub).unwrap(); Ok(()) }); actix::spawn(subject); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); wait_for_server(port); @@ -645,14 +653,23 @@ mod tests { let (ui_gateway, _, _) = make_recorder(); thread::spawn(move || { - let system = System::new("rejects_connection_attempt_with_improper_protocol_name"); + let system = System::new(); let ui_message_sub = subs(ui_gateway); let subject = lazy(move || { let _subject = WebSocketSupervisorReal::new(port, ui_message_sub).unwrap(); Ok(()) }); actix::spawn(subject); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); wait_for_server(port); @@ -672,14 +689,23 @@ mod tests { let (ui_gateway, _, _) = make_recorder(); thread::spawn(move || { - let system = System::new("logs_unexpected_binary_ping_pong_websocket_messages"); + let system = System::new(); let ui_message_sub = subs(ui_gateway); let subject = lazy(move || { let _subject = WebSocketSupervisorReal::new(port, ui_message_sub).unwrap(); Ok(()) }); actix::spawn(subject); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let mut client = await_value(None, || UiConnection::make(port, NODE_UI_PROTOCOL)).unwrap(); @@ -709,14 +735,23 @@ mod tests { let (ui_gateway, ui_gateway_awaiter, ui_gateway_recording_arc) = make_recorder(); thread::spawn(move || { - let system = System::new("can_connect_two_clients_and_receive_messages_from_them"); + let system = System::new(); let ui_message_sub = subs(ui_gateway); let subject = lazy(move || { let _subject = WebSocketSupervisorReal::new(port, ui_message_sub).unwrap(); Ok(()) }); actix::spawn(subject); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let mut one_client = wait_for_client(port, NODE_UI_PROTOCOL); @@ -1023,14 +1058,23 @@ mod tests { let (ui_gateway, ui_gateway_awaiter, ui_gateway_recording_arc) = make_recorder(); thread::spawn(move || { - let system = System::new("once_a_client_sends_a_close_no_more_data_is_accepted"); + let system = System::new(); let ui_message_sub = subs(ui_gateway); let subject = lazy(move || { let _subject = WebSocketSupervisorReal::new(port, ui_message_sub).unwrap(); Ok(()) }); actix::spawn(subject); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let mut client = await_value(None, || UiConnection::make(port, NODE_UI_PROTOCOL)).unwrap(); @@ -1059,14 +1103,23 @@ mod tests { let (ui_gateway, ui_gateway_awaiter, ui_gateway_recording_arc) = make_recorder(); thread::spawn(move || { - let system = System::new("a_client_that_violates_the_protocol_is_terminated"); + let system = System::new(); let ui_message_sub = subs(ui_gateway); let subject = lazy(move || { let _subject = WebSocketSupervisorReal::new(port, ui_message_sub).unwrap(); Ok(()) }); actix::spawn(subject); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } }); let mut client = await_value(None, || UiConnection::make(port, "MASQNode-UIv2")).unwrap(); client.send(UiShutdownRequest {}); @@ -1093,7 +1146,7 @@ mod tests { let port = find_free_port(); let (ui_gateway, _, _) = make_recorder(); let ui_message_sub = subs(ui_gateway); - let system = System::new("send_msg_sends_a_message_to_the_client"); + let system = System::new(); let lazy_future = lazy(move || { let subject = WebSocketSupervisorReal::new(port, ui_message_sub).unwrap(); let one_mock_client = ClientWrapperMock::new() @@ -1126,7 +1179,16 @@ mod tests { }); actix::spawn(lazy_future); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } } #[test] @@ -1134,7 +1196,7 @@ mod tests { let port = find_free_port(); let (ui_gateway, _, _) = make_recorder(); let ui_message_sub = subs(ui_gateway); - let system = System::new("send_msg_sends_a_message_to_the_client"); + let system = System::new(); let lazy_future = lazy(move || { let subject = WebSocketSupervisorReal::new(port, ui_message_sub).unwrap(); let one_mock_client = ClientWrapperMock::new() @@ -1169,7 +1231,16 @@ mod tests { }); actix::spawn(lazy_future); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } } #[test] @@ -1177,7 +1248,7 @@ mod tests { let port = find_free_port(); let (ui_gateway, _, _) = make_recorder(); let ui_message_sub = subs(ui_gateway); - let system = System::new("send_msg_sends_a_message_to_the_client"); + let system = System::new(); let lazy_future = lazy(move || { let subject = WebSocketSupervisorReal::new(port, ui_message_sub).unwrap(); let one_mock_client = ClientWrapperMock::new() @@ -1218,7 +1289,16 @@ mod tests { }); actix::spawn(lazy_future); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } } #[test] @@ -1227,7 +1307,7 @@ mod tests { let port = find_free_port(); let (ui_gateway, _, _) = make_recorder(); let ui_message_sub = subs(ui_gateway); - let system = System::new("send_msg_tries_to_send_message_and_panics_on_flush"); + let system = System::new(); let lazy_future = lazy(move || { let subject = WebSocketSupervisorReal::new(port, ui_message_sub).unwrap(); let mock_client = ClientWrapperMock::new() @@ -1247,7 +1327,16 @@ mod tests { }); actix::spawn(lazy_future); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } TestLogHandler::new().exists_log_containing( "WARN: WebSocketSupervisor: Client 0 dropped its connection before it could be flushed", ); @@ -1259,7 +1348,7 @@ mod tests { let port = find_free_port(); let (ui_gateway, _, _) = make_recorder(); let ui_message_sub = subs(ui_gateway); - let system = System::new("send_msg_tries_to_send_message_and_panics"); + let system = System::new(); let lazy_future = lazy(move || { let subject = WebSocketSupervisorReal::new(port, ui_message_sub).unwrap(); let mock_client = @@ -1277,7 +1366,16 @@ mod tests { }); actix::spawn(lazy_future); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } TestLogHandler::new().exists_log_containing( "ERROR: WebSocketSupervisor: Error sending to client 0: NoDataAvailable", ); @@ -1289,7 +1387,7 @@ mod tests { let port = find_free_port(); let (ui_gateway, _, _) = make_recorder(); let ui_message_sub = subs(ui_gateway); - let system = System::new("send_msg_fails_to_look_up_client_to_send_to"); + let system = System::new(); let lazy_future = lazy(move || { let subject = WebSocketSupervisorReal::new(port, ui_message_sub).unwrap(); let msg = NodeToUiMessage { @@ -1305,6 +1403,15 @@ mod tests { }); actix::spawn(lazy_future); System::current().stop(); - system.run(); + let now = SystemTime::now(); + let _ = system.run(); + match now.elapsed() { + Ok(elapsed) => println!( + "Time taken: {}.{:06} seconds", + elapsed.as_secs(), + elapsed.subsec_micros() + ), + Err(e) => println!("An error occurred: {:?}", e), + } } } diff --git a/node/tests/initialization_test.rs b/node/tests/initialization_test.rs index f6f14b604..8ea224e82 100644 --- a/node/tests/initialization_test.rs +++ b/node/tests/initialization_test.rs @@ -14,7 +14,7 @@ use node_lib::daemon::launch_verifier::{VerifierTools, VerifierToolsReal}; use node_lib::database::db_initializer::DATABASE_FILE; #[cfg(not(target_os = "windows"))] use node_lib::privilege_drop::{PrivilegeDropper, PrivilegeDropperReal}; -use rusqlite::{Connection, OpenFlags, NO_PARAMS}; +use rusqlite::{Connection, OpenFlags}; use std::ops::Add; use std::time::{Duration, SystemTime}; use utils::CommandConfig; @@ -164,7 +164,7 @@ fn required_chain_name_from_input_meets_different_db_chain_name_and_panics_integ .unwrap(); conn.execute( "UPDATE config SET value='eth-mainnet' WHERE name='chain_name'", - NO_PARAMS, + [], ) .unwrap();