diff --git a/.gitignore b/.gitignore
index ebd355a8f..f2c4cb5b0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
# Copyright (c) 2019, MASQ (https://masq.ai) and/or its affiliates. All rights reserved.
/target/
/results/
+/*spike/
**/*.rs.bk
.idea/azure/
.idea/inspectionProfiles/Project_Default.xml
@@ -59,6 +60,8 @@ Temporary Items
**/.idea/markdown-navigator/**
**/.idea/aws.xml
**/.idea/scopes/*.xml
+**/.idea/copilot*
+**/.idea/db-forest-config.xml
# Sensitive or high-churn files:
**/.idea/**/dataSources/
diff --git a/.idea/modules.xml b/.idea/modules.xml
index ed9ea5ac4..0901717aa 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -9,6 +9,7 @@
+
\ No newline at end of file
diff --git a/WAKE_ME_UP.md b/WAKE_ME_UP.md
new file mode 100644
index 000000000..5820f3e9a
--- /dev/null
+++ b/WAKE_ME_UP.md
@@ -0,0 +1,29 @@
+# Wake-up Instructions
+
+## Background
+This branch is intended to update the entire project from Rust 1.63 to 1.84 (or whatever is current when you wake it
+up).
+
+It has been a long, long time in the making. The major changes are:
+
+* Futures are now handled by the new async/await syntax.
+* The clap library has been updated over breaking changes.
+* The web3 library has been updated over breaking changes.
+
+## Current Conditions
+The project is now in a state where it can be built and the tests run, but many tests don't pass, and many more wedge
+and run forever--or sometimes the test runner aborts without running all the tests.
+
+This branch is far, far behind the master branch, so there will be a major merge effort when the time comes.
+
+One of the biggest discrepancies between this branch and master is the BlockchainBridge and BlockchainInterface, both
+of which have been essentially rewritten. Therefore, lots of glue code between the blockchain logic and the rest of
+the application has been commented out to enable building and running the tests.
+
+## Future Directions
+1. Get as many tests passing as possible, given all the commented-out code.
+2. Merge in master, redesigning whatever has to be redesigned, driving the redesigns with tests that won't yet run.
+3. Eliminate all the compile errors.
+4. Get the tests passing.
+5. Make a pass through the code looking for //TODOs and todo!()s.
+
diff --git a/automap/Cargo.lock b/automap/Cargo.lock
index dfd2a58cb..3c5ecd65c 100644
--- a/automap/Cargo.lock
+++ b/automap/Cargo.lock
@@ -1,62 +1,62 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
-version = 3
+version = 4
[[package]]
name = "actix"
-version = "0.7.9"
+version = "0.13.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c616db5fa4b0c40702fb75201c2af7f8aa8f3a2e2c1dda3b0655772aa949666"
+checksum = "de7fa236829ba0841304542f7614c42b80fca007455315c45c785ccfa873a85b"
dependencies = [
+ "actix-macros",
+ "actix-rt",
"actix_derive",
- "bitflags",
- "bytes 0.4.12",
- "crossbeam-channel 0.3.9",
- "failure",
- "fnv",
- "futures",
- "libc",
- "log 0.4.17",
- "parking_lot 0.7.1",
+ "bitflags 2.4.0",
+ "bytes",
+ "crossbeam-channel",
+ "futures-core",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
+ "log",
+ "once_cell",
+ "parking_lot",
+ "pin-project-lite",
"smallvec",
"tokio",
- "tokio-codec",
- "tokio-executor",
- "tokio-io",
- "tokio-reactor",
- "tokio-signal",
- "tokio-tcp",
- "tokio-timer",
- "trust-dns-proto 0.5.0",
- "trust-dns-resolver",
- "uuid",
+ "tokio-util",
]
[[package]]
-name = "actix_derive"
-version = "0.3.2"
+name = "actix-macros"
+version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4300e9431455322ae393d43a2ba1ef96b8080573c0fc23b196219efedfb6ba69"
+checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb"
dependencies = [
- "proc-macro2 0.4.30",
- "quote 0.6.13",
- "syn 0.15.44",
+ "quote",
+ "syn 2.0.53",
]
[[package]]
-name = "addr2line"
-version = "0.19.0"
+name = "actix-rt"
+version = "2.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97"
+checksum = "28f32d40287d3f402ae0028a9d54bef51af15c8769492826a69d28f81893151d"
dependencies = [
- "gimli",
+ "futures-core",
+ "tokio",
]
[[package]]
-name = "adler"
-version = "1.0.2"
+name = "actix_derive"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+checksum = "6d44b8fee1ced9671ba043476deddef739dd0959bf77030b26b738cc591737a7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
[[package]]
name = "aho-corasick"
@@ -67,6 +67,12 @@ dependencies = [
"memchr",
]
+[[package]]
+name = "android-tzdata"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+
[[package]]
name = "android_system_properties"
version = "0.1.5"
@@ -77,56 +83,99 @@ dependencies = [
]
[[package]]
-name = "ansi_term"
-version = "0.12.1"
+name = "anstream"
+version = "0.6.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "is_terminal_polyfill",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+dependencies = [
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
+checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
dependencies = [
- "winapi 0.3.9",
+ "anstyle",
+ "windows-sys 0.48.0",
]
[[package]]
name = "arrayref"
-version = "0.3.7"
+version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545"
+checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb"
[[package]]
name = "arrayvec"
-version = "0.5.2"
+version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
[[package]]
-name = "attohttpc"
-version = "0.16.3"
+name = "async-channel"
+version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fdb8867f378f33f78a811a8eb9bf108ad99430d7aad43315dd9319c827ef6247"
+checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a"
dependencies = [
- "http",
- "log 0.4.17",
- "url 2.3.1",
- "wildmatch",
+ "concurrent-queue",
+ "event-listener-strategy",
+ "futures-core",
+ "pin-project-lite",
]
[[package]]
-name = "atty"
-version = "0.2.14"
+name = "async-trait"
+version = "0.1.80"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi 0.3.9",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.53",
]
[[package]]
-name = "autocfg"
-version = "0.1.8"
+name = "attohttpc"
+version = "0.16.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78"
+checksum = "fdb8867f378f33f78a811a8eb9bf108ad99430d7aad43315dd9319c827ef6247"
dependencies = [
- "autocfg 1.1.0",
+ "http",
+ "log",
+ "url",
+ "wildmatch",
]
[[package]]
@@ -139,34 +188,19 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
name = "automap"
version = "0.7.3"
dependencies = [
- "crossbeam-channel 0.5.8",
+ "crossbeam-channel",
"flexi_logger",
"igd",
"lazy_static",
"local_ipaddress",
- "log 0.4.17",
+ "log",
"masq_lib",
"port_scanner",
"pretty-hex",
- "rand 0.7.3",
+ "rand 0.9.0-alpha.1",
"regex",
]
-[[package]]
-name = "backtrace"
-version = "0.3.67"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca"
-dependencies = [
- "addr2line",
- "cc",
- "cfg-if 1.0.0",
- "libc",
- "miniz_oxide",
- "object",
- "rustc-demangle",
-]
-
[[package]]
name = "base58"
version = "0.1.0"
@@ -175,37 +209,32 @@ checksum = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83"
[[package]]
name = "base64"
-version = "0.9.3"
+version = "0.22.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
-dependencies = [
- "byteorder",
- "safemem",
-]
+checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
[[package]]
-name = "base64"
-version = "0.10.1"
+name = "bitflags"
+version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
-dependencies = [
- "byteorder",
-]
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "1.3.2"
+version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
[[package]]
name = "bitvec"
-version = "0.17.4"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41262f11d771fd4a61aa3ce019fca363b4b6c282fca9da2a31186d3965a47a5c"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
dependencies = [
- "either",
+ "funty",
"radium",
+ "tap",
+ "wyz",
]
[[package]]
@@ -217,7 +246,16 @@ dependencies = [
"block-padding",
"byte-tools",
"byteorder",
- "generic-array",
+ "generic-array 0.12.4",
+]
+
+[[package]]
+name = "block-buffer"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
+dependencies = [
+ "generic-array 0.14.7",
]
[[package]]
@@ -237,9 +275,9 @@ checksum = "9b1ce199063694f33ffb7dd4e0ee620741495c32833cde5aa08f02a0bf96f0c8"
[[package]]
name = "byte-slice-cast"
-version = "0.3.5"
+version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0a5e3906bcbf133e33c1d4d95afc664ad37fbdb9f6568d8043e7ea8c27d93d3"
+checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c"
[[package]]
name = "byte-tools"
@@ -255,19 +293,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
[[package]]
name = "bytes"
-version = "0.4.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
-dependencies = [
- "byteorder",
- "iovec",
-]
-
-[[package]]
-name = "bytes"
-version = "1.4.0"
+version = "1.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
[[package]]
name = "cc"
@@ -275,12 +303,6 @@ version = "1.0.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
-[[package]]
-name = "cfg-if"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-
[[package]]
name = "cfg-if"
version = "1.0.0"
@@ -289,43 +311,43 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "chrono"
-version = "0.4.24"
+version = "0.4.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b"
+checksum = "8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a"
dependencies = [
+ "android-tzdata",
"iana-time-zone",
- "js-sys",
- "num-integer",
"num-traits",
- "time 0.1.45",
- "wasm-bindgen",
- "winapi 0.3.9",
+ "windows-targets 0.52.4",
]
[[package]]
name = "clap"
-version = "2.34.0"
+version = "4.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
+checksum = "a9689a29b593160de5bc4aacab7b5d54fb52231de70122626c178e6a368994c7"
dependencies = [
- "ansi_term",
- "atty",
- "bitflags",
- "strsim",
- "textwrap",
- "unicode-width",
- "vec_map",
+ "clap_builder",
]
[[package]]
-name = "cloudabi"
-version = "0.0.3"
+name = "clap_builder"
+version = "4.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
+checksum = "2e5387378c84f6faa26890ebf9f0a92989f8873d4d380467bcd0d8d8620424df"
dependencies = [
- "bitflags",
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim",
]
+[[package]]
+name = "clap_lex"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70"
+
[[package]]
name = "codespan-reporting"
version = "0.11.1"
@@ -337,130 +359,93 @@ dependencies = [
]
[[package]]
-name = "const_format"
-version = "0.2.30"
+name = "colorchoice"
+version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7309d9b4d3d2c0641e018d449232f2e28f1b22933c137f157d3dbc14228b8c0e"
-dependencies = [
- "const_format_proc_macros",
-]
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
[[package]]
-name = "const_format_proc_macros"
-version = "0.2.29"
+name = "concurrent-queue"
+version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d897f47bf7270cf70d370f8f98c1abb6d2d4cf60a6845d30e05bfb90c6568650"
+checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "unicode-xid 0.2.4",
+ "crossbeam-utils",
]
[[package]]
-name = "core-foundation-sys"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
-
-[[package]]
-name = "crossbeam-channel"
-version = "0.3.9"
+name = "const_format"
+version = "0.2.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8ec7fcd21571dc78f96cc96243cab8d8f035247c3efd16c687be154c3fa9efa"
+checksum = "e3a214c7af3d04997541b18d432afaff4c455e79e2029079647e72fc2bd27673"
dependencies = [
- "crossbeam-utils 0.6.6",
+ "const_format_proc_macros",
]
[[package]]
-name = "crossbeam-channel"
-version = "0.5.8"
+name = "const_format_proc_macros"
+version = "0.2.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+checksum = "c7f6ff08fd20f4f299298a28e2dfa8a8ba1036e6cd2460ac1de7b425d76f2500"
dependencies = [
- "cfg-if 1.0.0",
- "crossbeam-utils 0.8.15",
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
]
[[package]]
-name = "crossbeam-deque"
-version = "0.7.4"
+name = "core-foundation-sys"
+version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c20ff29ded3204c5106278a81a38f4b482636ed4fa1e6cfbeef193291beb29ed"
-dependencies = [
- "crossbeam-epoch",
- "crossbeam-utils 0.7.2",
- "maybe-uninit",
-]
+checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
[[package]]
-name = "crossbeam-epoch"
-version = "0.8.2"
+name = "cpufeatures"
+version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
dependencies = [
- "autocfg 1.1.0",
- "cfg-if 0.1.10",
- "crossbeam-utils 0.7.2",
- "lazy_static",
- "maybe-uninit",
- "memoffset 0.5.6",
- "scopeguard 1.1.0",
+ "libc",
]
[[package]]
-name = "crossbeam-queue"
-version = "0.2.3"
+name = "crossbeam-channel"
+version = "0.5.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570"
+checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2"
dependencies = [
- "cfg-if 0.1.10",
- "crossbeam-utils 0.7.2",
- "maybe-uninit",
+ "crossbeam-utils",
]
[[package]]
name = "crossbeam-utils"
-version = "0.6.6"
+version = "0.8.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
-dependencies = [
- "cfg-if 0.1.10",
- "lazy_static",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
[[package]]
-name = "crossbeam-utils"
-version = "0.7.2"
+name = "crunchy"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
-dependencies = [
- "autocfg 1.1.0",
- "cfg-if 0.1.10",
- "lazy_static",
-]
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
[[package]]
-name = "crossbeam-utils"
-version = "0.8.15"
+name = "crypto-common"
+version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
dependencies = [
- "cfg-if 1.0.0",
+ "generic-array 0.14.7",
+ "typenum",
]
-[[package]]
-name = "crunchy"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
-
[[package]]
name = "crypto-mac"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5"
dependencies = [
- "generic-array",
+ "generic-array 0.12.4",
"subtle 1.0.0",
]
@@ -485,10 +470,10 @@ dependencies = [
"cc",
"codespan-reporting",
"once_cell",
- "proc-macro2 1.0.56",
- "quote 1.0.26",
+ "proc-macro2",
+ "quote",
"scratch",
- "syn 2.0.15",
+ "syn 2.0.53",
]
[[package]]
@@ -503,9 +488,18 @@ version = "1.0.94"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5"
dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 2.0.15",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.53",
+]
+
+[[package]]
+name = "deranged"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+dependencies = [
+ "powerfmt",
]
[[package]]
@@ -514,27 +508,38 @@ version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
dependencies = [
- "generic-array",
+ "generic-array 0.12.4",
+]
+
+[[package]]
+name = "digest"
+version = "0.10.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+dependencies = [
+ "block-buffer 0.10.4",
+ "crypto-common",
]
[[package]]
name = "dirs"
-version = "4.0.0"
+version = "5.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
+checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
dependencies = [
"dirs-sys",
]
[[package]]
name = "dirs-sys"
-version = "0.3.7"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
+checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
dependencies = [
"libc",
+ "option-ext",
"redox_users",
- "winapi 0.3.9",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -544,19 +549,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
[[package]]
-name = "error-chain"
-version = "0.8.1"
+name = "equivalent"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6930e04918388a9a2e41d518c25cf679ccafe26733fb4127dbf21993f2575d46"
-dependencies = [
- "backtrace",
-]
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
[[package]]
name = "ethbloom"
-version = "0.9.2"
+version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71a6567e6fd35589fea0c63b94b4cf2e55573e413901bdbe60ab15cf0e25e5df"
+checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60"
dependencies = [
"crunchy",
"fixed-hash",
@@ -567,9 +569,9 @@ dependencies = [
[[package]]
name = "ethereum-types"
-version = "0.9.2"
+version = "0.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "473aecff686bd8e7b9db0165cbbb53562376b39bf35b427f0c60446a9e1634b0"
+checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee"
dependencies = [
"ethbloom",
"fixed-hash",
@@ -580,25 +582,24 @@ dependencies = [
]
[[package]]
-name = "failure"
-version = "0.1.8"
+name = "event-listener"
+version = "5.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86"
+checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91"
dependencies = [
- "backtrace",
- "failure_derive",
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
]
[[package]]
-name = "failure_derive"
-version = "0.1.8"
+name = "event-listener-strategy"
+version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
+checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1"
dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 1.0.109",
- "synstructure",
+ "event-listener",
+ "pin-project-lite",
]
[[package]]
@@ -609,30 +610,29 @@ checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
[[package]]
name = "fixed-hash"
-version = "0.6.1"
+version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11498d382790b7a8f2fd211780bec78619bba81cdad3a283997c0c41f836759c"
+checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534"
dependencies = [
"byteorder",
- "rand 0.7.3",
+ "rand 0.8.5",
"rustc-hex",
"static_assertions",
]
[[package]]
name = "flexi_logger"
-version = "0.17.1"
+version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33ab94b6ac8eb69f1496a6993f26f785b5fd6d99b7416023eb2a6175c0b242b1"
+checksum = "419c99d8fc346ea0eaeaac2cc3945024d8fe82aa435aefc2fb9fcda1065f8774"
dependencies = [
- "atty",
"chrono",
"glob",
- "lazy_static",
- "log 0.4.17",
+ "is-terminal",
+ "log",
+ "nu-ansi-term",
"regex",
"thiserror",
- "yansi",
]
[[package]]
@@ -643,40 +643,106 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "form_urlencoded"
-version = "1.1.0"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
dependencies = [
- "percent-encoding 2.2.0",
+ "percent-encoding",
]
[[package]]
-name = "fuchsia-cprng"
-version = "0.1.1"
+name = "funty"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
+
+[[package]]
+name = "futures"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
+checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-io",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
+]
[[package]]
-name = "fuchsia-zircon"
-version = "0.3.3"
+name = "futures-channel"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
+checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d"
dependencies = [
- "bitflags",
- "fuchsia-zircon-sys",
+ "futures-core",
+ "futures-sink",
]
[[package]]
-name = "fuchsia-zircon-sys"
-version = "0.3.3"
+name = "futures-core"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
+checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d"
[[package]]
-name = "futures"
-version = "0.1.31"
+name = "futures-executor"
+version = "0.3.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d"
+dependencies = [
+ "futures-core",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-io"
+version = "0.3.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718"
+
+[[package]]
+name = "futures-macro"
+version = "0.3.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.53",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893"
+
+[[package]]
+name = "futures-task"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678"
+checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393"
+
+[[package]]
+name = "futures-util"
+version = "0.3.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-macro",
+ "futures-sink",
+ "futures-task",
+ "memchr",
+ "pin-project-lite",
+ "slab",
+]
[[package]]
name = "generic-array"
@@ -687,34 +753,38 @@ dependencies = [
"typenum",
]
+[[package]]
+name = "generic-array"
+version = "0.14.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
[[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",
+ "cfg-if",
"libc",
"wasi 0.9.0+wasi-snapshot-preview1",
]
[[package]]
name = "getrandom"
-version = "0.2.9"
+version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"libc",
"wasi 0.11.0+wasi-snapshot-preview1",
]
-[[package]]
-name = "gimli"
-version = "0.27.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4"
-
[[package]]
name = "glob"
version = "0.3.1"
@@ -722,22 +792,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
[[package]]
-name = "hermit-abi"
-version = "0.1.19"
+name = "hashbrown"
+version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
+checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
[[package]]
name = "hermit-abi"
-version = "0.2.6"
+version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
-dependencies = [
- "libc",
-]
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
name = "hmac"
@@ -746,7 +816,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695"
dependencies = [
"crypto-mac",
- "digest",
+ "digest 0.8.1",
]
[[package]]
@@ -755,29 +825,18 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b"
dependencies = [
- "digest",
- "generic-array",
+ "digest 0.8.1",
+ "generic-array 0.12.4",
"hmac",
]
-[[package]]
-name = "hostname"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"
-dependencies = [
- "libc",
- "match_cfg",
- "winapi 0.3.9",
-]
-
[[package]]
name = "http"
version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
dependencies = [
- "bytes 1.4.0",
+ "bytes",
"fnv",
"itoa",
]
@@ -788,25 +847,6 @@ version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
-[[package]]
-name = "hyper"
-version = "0.10.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a0652d9a2609a968c14be1a9ea00bf4b1d64e2e1f53a1b51b6fff3a6e829273"
-dependencies = [
- "base64 0.9.3",
- "httparse",
- "language-tags",
- "log 0.3.9",
- "mime",
- "num_cpus",
- "time 0.1.45",
- "traitobject",
- "typeable",
- "unicase",
- "url 1.7.2",
-]
-
[[package]]
name = "iana-time-zone"
version = "0.1.56"
@@ -833,92 +873,97 @@ dependencies = [
[[package]]
name = "idna"
-version = "0.1.5"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
dependencies = [
- "matches",
"unicode-bidi",
"unicode-normalization",
]
[[package]]
-name = "idna"
-version = "0.3.0"
+name = "igd"
+version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
-dependencies = [
- "unicode-bidi",
- "unicode-normalization",
-]
-
-[[package]]
-name = "igd"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "556b5a75cd4adb7c4ea21c64af1c48cefb2ce7d43dc4352c720a1fe47c21f355"
+checksum = "556b5a75cd4adb7c4ea21c64af1c48cefb2ce7d43dc4352c720a1fe47c21f355"
dependencies = [
"attohttpc",
- "log 0.4.17",
+ "log",
"rand 0.8.5",
- "url 2.3.1",
+ "url",
"xmltree",
]
[[package]]
name = "impl-codec"
-version = "0.4.2"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1be51a921b067b0eaca2fad532d9400041561aa922221cc65f95a85641c6bf53"
+checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f"
dependencies = [
"parity-scale-codec",
]
[[package]]
name = "impl-rlp"
-version = "0.2.1"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f7a72f11830b52333f36e3b09a288333888bf54380fd0ac0790a3c31ab0f3c5"
+checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808"
dependencies = [
"rlp",
]
[[package]]
name = "impl-serde"
-version = "0.3.2"
+version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c"
+checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd"
dependencies = [
"serde",
]
[[package]]
-name = "iovec"
-version = "0.1.4"
+name = "impl-trait-for-tuples"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
+checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb"
dependencies = [
- "libc",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
+dependencies = [
+ "equivalent",
+ "hashbrown",
]
[[package]]
-name = "ipconfig"
-version = "0.1.9"
+name = "is-terminal"
+version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08f7eadeaf4b52700de180d147c4805f199854600b36faa963d91114827b2ffc"
+checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
dependencies = [
- "error-chain",
- "socket2",
- "widestring",
- "winapi 0.3.9",
- "winreg",
+ "hermit-abi",
+ "libc",
+ "windows-sys 0.52.0",
]
+[[package]]
+name = "is_terminal_polyfill"
+version = "1.70.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800"
+
[[package]]
name = "itertools"
-version = "0.10.5"
+version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
dependencies = [
"either",
]
@@ -931,29 +976,13 @@ checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
[[package]]
name = "js-sys"
-version = "0.3.61"
+version = "0.3.70"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
+checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a"
dependencies = [
"wasm-bindgen",
]
-[[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"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
-
[[package]]
name = "lazy_static"
version = "1.4.0"
@@ -962,9 +991,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
-version = "0.2.142"
+version = "0.2.185"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317"
+checksum = "52ff2c0fe9bc6cb6b14a0592c2ff4fa9ceb83eea9db979b0487cd054946a2b8f"
[[package]]
name = "libsecp256k1"
@@ -974,11 +1003,11 @@ checksum = "1fc1e2c808481a63dc6da2074752fdd4336a3c8fcc68b83db6f1fd5224ae7962"
dependencies = [
"arrayref",
"crunchy",
- "digest",
+ "digest 0.8.1",
"hmac-drbg",
"rand 0.7.3",
"sha2",
- "subtle 2.5.0",
+ "subtle 2.6.1",
"typenum",
]
@@ -991,12 +1020,6 @@ dependencies = [
"cc",
]
-[[package]]
-name = "linked-hash-map"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
-
[[package]]
name = "local_ipaddress"
version = "0.1.3"
@@ -1005,106 +1028,59 @@ checksum = "f6a104730949fbc4c78e4fa98ed769ca0faa02e9818936b61032d2d77526afa9"
[[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.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75"
-dependencies = [
- "scopeguard 1.1.0",
-]
-
-[[package]]
-name = "log"
-version = "0.3.9"
+version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
+checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
dependencies = [
- "log 0.4.17",
+ "autocfg",
+ "scopeguard",
]
[[package]]
name = "log"
-version = "0.4.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "lru-cache"
-version = "0.1.2"
+version = "0.4.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c"
-dependencies = [
- "linked-hash-map",
-]
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
[[package]]
name = "masq_lib"
version = "0.7.3"
dependencies = [
"actix",
+ "async-channel",
+ "async-trait",
+ "base64",
"clap",
"const_format",
- "crossbeam-channel 0.5.8",
+ "crossbeam-channel",
"dirs",
"ethereum-types",
+ "futures",
+ "futures-util",
"itertools",
"lazy_static",
- "log 0.4.17",
+ "log",
"nix",
+ "rand 0.9.0-alpha.1",
"regex",
+ "rustc-hex",
"serde",
"serde_derive",
"serde_json",
- "time 0.3.20",
+ "soketto",
+ "time",
"tiny-hderive",
+ "tokio",
+ "tokio-util",
"toml",
- "websocket",
+ "url",
]
-[[package]]
-name = "match_cfg"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
-
-[[package]]
-name = "matches"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
-
-[[package]]
-name = "maybe-uninit"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
-
[[package]]
name = "memchr"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
-
-[[package]]
-name = "memoffset"
-version = "0.5.6"
+version = "2.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa"
-dependencies = [
- "autocfg 1.1.0",
-]
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
[[package]]
name = "memoffset"
@@ -1112,7 +1088,7 @@ version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
dependencies = [
- "autocfg 1.1.0",
+ "autocfg",
]
[[package]]
@@ -1121,75 +1097,16 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93c0d11ac30a033511ae414355d80f70d9f29a44a49140face477117a1ee90db"
-[[package]]
-name = "mime"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0"
-dependencies = [
- "log 0.3.9",
-]
-
-[[package]]
-name = "miniz_oxide"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
-dependencies = [
- "adler",
-]
-
[[package]]
name = "mio"
-version = "0.6.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
-dependencies = [
- "cfg-if 0.1.10",
- "fuchsia-zircon",
- "fuchsia-zircon-sys",
- "iovec",
- "kernel32-sys",
- "libc",
- "log 0.4.17",
- "miow",
- "net2",
- "slab",
- "winapi 0.2.8",
-]
-
-[[package]]
-name = "mio-uds"
-version = "0.6.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0"
-dependencies = [
- "iovec",
- "libc",
- "mio",
-]
-
-[[package]]
-name = "miow"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
-dependencies = [
- "kernel32-sys",
- "net2",
- "winapi 0.2.8",
- "ws2_32-sys",
-]
-
-[[package]]
-name = "net2"
-version = "0.2.38"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631"
+checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec"
dependencies = [
- "cfg-if 0.1.10",
+ "hermit-abi",
"libc",
- "winapi 0.3.9",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -1198,56 +1115,42 @@ version = "0.23.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"cc",
- "cfg-if 1.0.0",
+ "cfg-if",
"libc",
- "memoffset 0.6.5",
-]
-
-[[package]]
-name = "num-integer"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-dependencies = [
- "autocfg 1.1.0",
- "num-traits",
+ "memoffset",
]
[[package]]
-name = "num-traits"
-version = "0.2.15"
+name = "nu-ansi-term"
+version = "0.50.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "dd2800e1520bdc966782168a627aa5d1ad92e33b984bf7c7615d31280c83ff14"
dependencies = [
- "autocfg 1.1.0",
+ "windows-sys 0.48.0",
]
[[package]]
-name = "num_cpus"
-version = "1.15.0"
+name = "num-conv"
+version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
-dependencies = [
- "hermit-abi 0.2.6",
- "libc",
-]
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
[[package]]
-name = "object"
-version = "0.30.3"
+name = "num-traits"
+version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439"
+checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
dependencies = [
- "memchr",
+ "autocfg",
]
[[package]]
name = "once_cell"
-version = "1.17.1"
+version = "1.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
[[package]]
name = "opaque-debug"
@@ -1256,86 +1159,77 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
[[package]]
-name = "owning_ref"
-version = "0.4.1"
+name = "option-ext"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ff55baddef9e4ad00f88b6c743a2a8062d4c6ade126c2a528644b8e444d52ce"
-dependencies = [
- "stable_deref_trait",
-]
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
[[package]]
name = "parity-scale-codec"
-version = "1.3.7"
+version = "3.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4b26b16c7687c3075982af47719e481815df30bc544f7a6690763a25ca16e9d"
+checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb"
dependencies = [
"arrayvec",
"bitvec",
"byte-slice-cast",
+ "impl-trait-for-tuples",
+ "parity-scale-codec-derive",
"serde",
]
[[package]]
-name = "parking_lot"
-version = "0.7.1"
+name = "parity-scale-codec-derive"
+version = "3.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337"
+checksum = "a65cebc1b089c96df6203a76279a82b4bbf04fa23659c4093cac6fd245c25d1f"
dependencies = [
- "lock_api 0.1.5",
- "parking_lot_core 0.4.0",
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
]
[[package]]
-name = "parking_lot"
-version = "0.9.0"
+name = "parking"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252"
-dependencies = [
- "lock_api 0.3.4",
- "parking_lot_core 0.6.3",
- "rustc_version",
-]
+checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
[[package]]
-name = "parking_lot_core"
-version = "0.4.0"
+name = "parking_lot"
+version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
dependencies = [
- "libc",
- "rand 0.6.5",
- "rustc_version",
- "smallvec",
- "winapi 0.3.9",
+ "lock_api",
+ "parking_lot_core",
]
[[package]]
name = "parking_lot_core"
-version = "0.6.3"
+version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bda66b810a62be75176a80873726630147a5ca780cd33921e0b5709033e66b0a"
+checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
dependencies = [
- "cfg-if 0.1.10",
- "cloudabi",
+ "cfg-if",
"libc",
- "redox_syscall 0.1.57",
- "rustc_version",
+ "redox_syscall 0.3.5",
"smallvec",
- "winapi 0.3.9",
+ "windows-targets 0.48.0",
]
[[package]]
name = "percent-encoding"
-version = "1.0.1"
+version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
[[package]]
-name = "percent-encoding"
-version = "2.2.0"
+name = "pin-project-lite"
+version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
[[package]]
name = "port_scanner"
@@ -1343,6 +1237,12 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "325a6d2ac5dee293c3b2612d4993b98aec1dff096b0a2dae70ed7d95784a05da"
+[[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
[[package]]
name = "ppv-lite86"
version = "0.2.17"
@@ -1351,15 +1251,15 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
[[package]]
name = "pretty-hex"
-version = "0.1.1"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be91bcc43e73799dc46a6c194a55e7aae1d86cc867c860fd4a436019af21bd8c"
+checksum = "bbc83ee4a840062f368f9096d80077a9841ec117e17e7f700df81958f1451254"
[[package]]
name = "primitive-types"
-version = "0.7.3"
+version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7dd39dcacf71411ba488570da7bbc89b717225e46478b30ba99b92db6b149809"
+checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66"
dependencies = [
"fixed-hash",
"impl-codec",
@@ -1369,84 +1269,38 @@ dependencies = [
]
[[package]]
-name = "proc-macro2"
-version = "0.4.30"
+name = "proc-macro-crate"
+version = "1.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
+checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
dependencies = [
- "unicode-xid 0.1.0",
+ "once_cell",
+ "toml_edit 0.19.14",
]
[[package]]
name = "proc-macro2"
-version = "1.0.56"
+version = "1.0.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
+checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
dependencies = [
"unicode-ident",
]
-[[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"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
-dependencies = [
- "proc-macro2 0.4.30",
-]
-
[[package]]
name = "quote"
-version = "1.0.26"
+version = "1.0.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
dependencies = [
- "proc-macro2 1.0.56",
+ "proc-macro2",
]
[[package]]
name = "radium"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "def50a86306165861203e7f84ecffbbdfdea79f0e51039b33de1e952358c47ac"
-
-[[package]]
-name = "rand"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9"
-dependencies = [
- "cloudabi",
- "fuchsia-cprng",
- "libc",
- "rand_core 0.3.1",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "rand"
-version = "0.6.5"
+version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
-dependencies = [
- "autocfg 0.1.8",
- "libc",
- "rand_chacha 0.1.1",
- "rand_core 0.4.2",
- "rand_hc 0.1.0",
- "rand_isaac",
- "rand_jitter",
- "rand_os",
- "rand_pcg 0.1.2",
- "rand_xorshift",
- "winapi 0.3.9",
-]
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
[[package]]
name = "rand"
@@ -1458,8 +1312,7 @@ dependencies = [
"libc",
"rand_chacha 0.2.2",
"rand_core 0.5.1",
- "rand_hc 0.2.0",
- "rand_pcg 0.2.1",
+ "rand_hc",
]
[[package]]
@@ -1474,13 +1327,14 @@ dependencies = [
]
[[package]]
-name = "rand_chacha"
-version = "0.1.1"
+name = "rand"
+version = "0.9.0-alpha.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
+checksum = "8d31e63ea85be51c423e52ba8f2e68a3efd53eed30203ee029dd09947333693e"
dependencies = [
- "autocfg 0.1.8",
- "rand_core 0.3.1",
+ "rand_chacha 0.9.0-alpha.1",
+ "rand_core 0.9.0-alpha.1",
+ "zerocopy",
]
[[package]]
@@ -1504,20 +1358,15 @@ dependencies = [
]
[[package]]
-name = "rand_core"
-version = "0.3.1"
+name = "rand_chacha"
+version = "0.9.0-alpha.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
+checksum = "78674ef918c19451dbd250f8201f8619b494f64c9aa6f3adb28fd8a0f1f6da46"
dependencies = [
- "rand_core 0.4.2",
+ "ppv-lite86",
+ "rand_core 0.9.0-alpha.1",
]
-[[package]]
-name = "rand_core"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
-
[[package]]
name = "rand_core"
version = "0.5.1"
@@ -1533,16 +1382,17 @@ version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
- "getrandom 0.2.9",
+ "getrandom 0.2.12",
]
[[package]]
-name = "rand_hc"
-version = "0.1.0"
+name = "rand_core"
+version = "0.9.0-alpha.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
+checksum = "cc89dffba8377c5ec847d12bb41492bda235dba31a25e8b695cd0fe6589eb8c9"
dependencies = [
- "rand_core 0.3.1",
+ "getrandom 0.2.12",
+ "zerocopy",
]
[[package]]
@@ -1555,176 +1405,84 @@ dependencies = [
]
[[package]]
-name = "rand_isaac"
-version = "0.1.1"
+name = "redox_syscall"
+version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
dependencies = [
- "rand_core 0.3.1",
+ "bitflags 1.3.2",
]
[[package]]
-name = "rand_jitter"
-version = "0.1.4"
+name = "redox_syscall"
+version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
dependencies = [
- "libc",
- "rand_core 0.4.2",
- "winapi 0.3.9",
+ "bitflags 1.3.2",
]
[[package]]
-name = "rand_os"
-version = "0.1.3"
+name = "redox_users"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
+checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
dependencies = [
- "cloudabi",
- "fuchsia-cprng",
- "libc",
- "rand_core 0.4.2",
- "rdrand",
- "winapi 0.3.9",
+ "getrandom 0.2.12",
+ "redox_syscall 0.2.16",
+ "thiserror",
]
[[package]]
-name = "rand_pcg"
-version = "0.1.2"
+name = "regex"
+version = "1.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
+checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
dependencies = [
- "autocfg 0.1.8",
- "rand_core 0.4.2",
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
]
[[package]]
-name = "rand_pcg"
-version = "0.2.1"
+name = "regex-automata"
+version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
dependencies = [
- "rand_core 0.5.1",
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
]
[[package]]
-name = "rand_xorshift"
-version = "0.1.1"
+name = "regex-syntax"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
-dependencies = [
- "rand_core 0.3.1",
-]
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]]
-name = "rdrand"
-version = "0.4.0"
+name = "rlp"
+version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
+checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec"
dependencies = [
- "rand_core 0.3.1",
+ "bytes",
+ "rustc-hex",
]
[[package]]
-name = "redox_syscall"
-version = "0.1.57"
+name = "rustc-hex"
+version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
+checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6"
[[package]]
-name = "redox_syscall"
-version = "0.2.16"
+name = "ryu"
+version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "redox_users"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
-dependencies = [
- "getrandom 0.2.9",
- "redox_syscall 0.2.16",
- "thiserror",
-]
-
-[[package]]
-name = "regex"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c"
-
-[[package]]
-name = "resolv-conf"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11834e137f3b14e309437a8276714eed3a80d1ef894869e510f2c0c0b98b9f4a"
-dependencies = [
- "hostname",
- "quick-error",
-]
-
-[[package]]
-name = "rlp"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1190dcc8c3a512f1eef5d09bb8c84c7f39e1054e174d1795482e18f5272f2e73"
-dependencies = [
- "rustc-hex",
-]
-
-[[package]]
-name = "rustc-demangle"
-version = "0.1.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
-
-[[package]]
-name = "rustc-hex"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6"
-
-[[package]]
-name = "rustc_version"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
-dependencies = [
- "semver",
-]
-
-[[package]]
-name = "ryu"
-version = "1.0.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
-
-[[package]]
-name = "safemem"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
-
-[[package]]
-name = "scopeguard"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
+checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
[[package]]
name = "scopeguard"
@@ -1739,42 +1497,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1"
[[package]]
-name = "semver"
-version = "0.9.0"
+name = "serde"
+version = "1.0.203"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"
dependencies = [
- "semver-parser",
+ "serde_derive",
]
-[[package]]
-name = "semver-parser"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-
-[[package]]
-name = "serde"
-version = "1.0.160"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb2f3770c8bce3bcda7e149193a069a0f4365bda1fa5cd88e03bca26afc1216c"
-
[[package]]
name = "serde_derive"
-version = "1.0.160"
+version = "1.0.203"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291a097c63d8497e00160b166a967a4a79c64f3facdd01cbd7502231688d77df"
+checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 2.0.15",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.53",
]
[[package]]
name = "serde_json"
-version = "1.0.96"
+version = "1.0.117"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
+checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3"
dependencies = [
"itoa",
"ryu",
@@ -1782,15 +1528,23 @@ dependencies = [
]
[[package]]
-name = "sha-1"
-version = "0.8.2"
+name = "serde_spanned"
+version = "0.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df"
+checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0"
dependencies = [
- "block-buffer",
- "digest",
- "fake-simd",
- "opaque-debug",
+ "serde",
+]
+
+[[package]]
+name = "sha1"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest 0.10.7",
]
[[package]]
@@ -1799,8 +1553,8 @@ version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69"
dependencies = [
- "block-buffer",
- "digest",
+ "block-buffer 0.7.3",
+ "digest 0.8.1",
"fake-simd",
"opaque-debug",
]
@@ -1816,38 +1570,43 @@ dependencies = [
[[package]]
name = "slab"
-version = "0.4.8"
+version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
dependencies = [
- "autocfg 1.1.0",
+ "autocfg",
]
[[package]]
name = "smallvec"
-version = "0.6.14"
+version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0"
-dependencies = [
- "maybe-uninit",
-]
+checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
[[package]]
name = "socket2"
-version = "0.3.19"
+version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e"
+checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e"
dependencies = [
- "cfg-if 1.0.0",
"libc",
- "winapi 0.3.9",
+ "windows-sys 0.61.2",
]
[[package]]
-name = "stable_deref_trait"
-version = "1.2.0"
+name = "soketto"
+version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+checksum = "2e859df029d160cb88608f5d7df7fb4753fd20fdfb4de5644f3d8b8440841721"
+dependencies = [
+ "base64",
+ "bytes",
+ "futures",
+ "httparse",
+ "log",
+ "rand 0.8.5",
+ "sha1",
+]
[[package]]
name = "static_assertions"
@@ -1857,9 +1616,9 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
name = "strsim"
-version = "0.8.0"
+version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
[[package]]
name = "subtle"
@@ -1869,20 +1628,9 @@ checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee"
[[package]]
name = "subtle"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
-
-[[package]]
-name = "syn"
-version = "0.15.44"
+version = "2.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5"
-dependencies = [
- "proc-macro2 0.4.30",
- "quote 0.6.13",
- "unicode-xid 0.1.0",
-]
+checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
[[package]]
name = "syn"
@@ -1890,90 +1638,67 @@ version = "1.0.109"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
+ "proc-macro2",
+ "quote",
"unicode-ident",
]
[[package]]
name = "syn"
-version = "2.0.15"
+version = "2.0.53"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822"
+checksum = "7383cd0e49fff4b6b90ca5670bfd3e9d6a733b3f90c686605aa7eec8c4996032"
dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
+ "proc-macro2",
+ "quote",
"unicode-ident",
]
[[package]]
-name = "synstructure"
-version = "0.12.6"
+name = "tap"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
-dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 1.0.109",
- "unicode-xid 0.2.4",
-]
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "termcolor"
-version = "1.2.0"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
dependencies = [
"winapi-util",
]
-[[package]]
-name = "textwrap"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-dependencies = [
- "unicode-width",
-]
-
[[package]]
name = "thiserror"
-version = "1.0.40"
+version = "1.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 2.0.15",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.53",
]
[[package]]
name = "time"
-version = "0.1.45"
+version = "0.3.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "time"
-version = "0.3.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
dependencies = [
+ "deranged",
"itoa",
+ "num-conv",
+ "powerfmt",
"serde",
"time-core",
"time-macros",
@@ -1981,16 +1706,17 @@ dependencies = [
[[package]]
name = "time-core"
-version = "0.1.0"
+version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
[[package]]
name = "time-macros"
-version = "0.2.8"
+version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
dependencies = [
+ "num-conv",
"time-core",
]
@@ -2033,291 +1759,91 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "0.1.22"
+version = "1.49.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6"
+checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86"
dependencies = [
- "bytes 0.4.12",
- "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",
- "tokio-udp",
- "tokio-uds",
-]
-
-[[package]]
-name = "tokio-codec"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b"
-dependencies = [
- "bytes 0.4.12",
- "futures",
- "tokio-io",
-]
-
-[[package]]
-name = "tokio-current-thread"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e"
-dependencies = [
- "futures",
- "tokio-executor",
-]
-
-[[package]]
-name = "tokio-executor"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671"
-dependencies = [
- "crossbeam-utils 0.7.2",
- "futures",
-]
-
-[[package]]
-name = "tokio-fs"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "297a1206e0ca6302a0eed35b700d292b275256f596e2f3fea7729d5e629b6ff4"
-dependencies = [
- "futures",
- "tokio-io",
- "tokio-threadpool",
-]
-
-[[package]]
-name = "tokio-io"
-version = "0.1.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674"
-dependencies = [
- "bytes 0.4.12",
- "futures",
- "log 0.4.17",
-]
-
-[[package]]
-name = "tokio-reactor"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351"
-dependencies = [
- "crossbeam-utils 0.7.2",
- "futures",
- "lazy_static",
- "log 0.4.17",
- "mio",
- "num_cpus",
- "parking_lot 0.9.0",
- "slab",
- "tokio-executor",
- "tokio-io",
- "tokio-sync",
-]
-
-[[package]]
-name = "tokio-signal"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0c34c6e548f101053321cba3da7cbb87a610b85555884c41b07da2eb91aff12"
-dependencies = [
- "futures",
+ "bytes",
"libc",
"mio",
- "mio-uds",
+ "parking_lot",
+ "pin-project-lite",
"signal-hook-registry",
- "tokio-executor",
- "tokio-io",
- "tokio-reactor",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "tokio-sync"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee"
-dependencies = [
- "fnv",
- "futures",
-]
-
-[[package]]
-name = "tokio-tcp"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72"
-dependencies = [
- "bytes 0.4.12",
- "futures",
- "iovec",
- "mio",
- "tokio-io",
- "tokio-reactor",
-]
-
-[[package]]
-name = "tokio-threadpool"
-version = "0.1.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89"
-dependencies = [
- "crossbeam-deque",
- "crossbeam-queue",
- "crossbeam-utils 0.7.2",
- "futures",
- "lazy_static",
- "log 0.4.17",
- "num_cpus",
- "slab",
- "tokio-executor",
-]
-
-[[package]]
-name = "tokio-timer"
-version = "0.2.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296"
-dependencies = [
- "crossbeam-utils 0.7.2",
- "futures",
- "slab",
- "tokio-executor",
+ "socket2",
+ "tokio-macros",
+ "windows-sys 0.61.2",
]
[[package]]
-name = "tokio-udp"
-version = "0.1.6"
+name = "tokio-macros"
+version = "2.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82"
+checksum = "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c"
dependencies = [
- "bytes 0.4.12",
- "futures",
- "log 0.4.17",
- "mio",
- "tokio-codec",
- "tokio-io",
- "tokio-reactor",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.53",
]
[[package]]
-name = "tokio-uds"
-version = "0.2.7"
+name = "tokio-util"
+version = "0.7.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab57a4ac4111c8c9dbcf70779f6fc8bc35ae4b2454809febac840ad19bd7e4e0"
+checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098"
dependencies = [
- "bytes 0.4.12",
- "futures",
- "iovec",
- "libc",
- "log 0.4.17",
- "mio",
- "mio-uds",
- "tokio-codec",
- "tokio-io",
- "tokio-reactor",
+ "bytes",
+ "futures-core",
+ "futures-io",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
]
[[package]]
name = "toml"
-version = "0.5.11"
+version = "0.8.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335"
dependencies = [
"serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit 0.22.14",
]
[[package]]
-name = "traitobject"
-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"
+name = "toml_datetime"
+version = "0.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0838272e89f1c693b4df38dc353412e389cf548ceed6f9fd1af5a8d6e0e7cf74"
+checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf"
dependencies = [
- "byteorder",
- "failure",
- "futures",
- "idna 0.1.5",
- "lazy_static",
- "log 0.4.17",
- "rand 0.5.6",
- "smallvec",
- "socket2",
- "tokio-executor",
- "tokio-io",
- "tokio-reactor",
- "tokio-tcp",
- "tokio-timer",
- "tokio-udp",
- "url 1.7.2",
+ "serde",
]
[[package]]
-name = "trust-dns-proto"
-version = "0.6.3"
+name = "toml_edit"
+version = "0.19.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09144f0992b0870fa8d2972cc069cbf1e3c0fda64d1f3d45c4d68d0e0b52ad4e"
+checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
dependencies = [
- "byteorder",
- "failure",
- "futures",
- "idna 0.1.5",
- "lazy_static",
- "log 0.4.17",
- "rand 0.5.6",
- "smallvec",
- "socket2",
- "tokio-executor",
- "tokio-io",
- "tokio-reactor",
- "tokio-tcp",
- "tokio-timer",
- "tokio-udp",
- "url 1.7.2",
+ "indexmap",
+ "toml_datetime",
+ "winnow 0.5.15",
]
[[package]]
-name = "trust-dns-resolver"
-version = "0.10.3"
+name = "toml_edit"
+version = "0.22.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9f877f7a1ad821ab350505e1f1b146a4960402991787191d6d8cab2ce2de2c"
+checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38"
dependencies = [
- "cfg-if 0.1.10",
- "failure",
- "futures",
- "ipconfig",
- "lazy_static",
- "log 0.4.17",
- "lru-cache",
- "resolv-conf",
- "smallvec",
- "tokio",
- "trust-dns-proto 0.6.3",
+ "indexmap",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow 0.6.13",
]
-[[package]]
-name = "typeable"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887"
-
[[package]]
name = "typenum"
version = "1.16.0"
@@ -2326,25 +1852,16 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
[[package]]
name = "uint"
-version = "0.8.5"
+version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9db035e67dfaf7edd9aebfe8676afcd63eed53c8a4044fed514c8cccf1835177"
+checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52"
dependencies = [
"byteorder",
"crunchy",
- "rustc-hex",
+ "hex",
"static_assertions",
]
-[[package]]
-name = "unicase"
-version = "1.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
-dependencies = [
- "version_check",
-]
-
[[package]]
name = "unicode-bidi"
version = "0.3.13"
@@ -2372,12 +1889,6 @@ version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
-[[package]]
-name = "unicode-xid"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-
[[package]]
name = "unicode-xid"
version = "0.2.4"
@@ -2386,46 +1897,26 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
[[package]]
name = "url"
-version = "1.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
-dependencies = [
- "idna 0.1.5",
- "matches",
- "percent-encoding 1.0.1",
-]
-
-[[package]]
-name = "url"
-version = "2.3.1"
+version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
dependencies = [
"form_urlencoded",
- "idna 0.3.0",
- "percent-encoding 2.2.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",
+ "idna",
+ "percent-encoding",
]
[[package]]
-name = "vec_map"
-version = "0.8.2"
+name = "utf8parse"
+version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
[[package]]
name = "version_check"
-version = "0.1.5"
+version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
[[package]]
name = "wasi"
@@ -2433,12 +1924,6 @@ version = "0.9.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-[[package]]
-name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
@@ -2447,89 +1932,58 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
-version = "0.2.84"
+version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
+checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
+ "once_cell",
"wasm-bindgen-macro",
]
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.84"
+version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
+checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b"
dependencies = [
"bumpalo",
- "log 0.4.17",
+ "log",
"once_cell",
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 1.0.109",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.53",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.84"
+version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
+checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf"
dependencies = [
- "quote 1.0.26",
+ "quote",
"wasm-bindgen-macro-support",
]
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.84"
+version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
+checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836"
dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 1.0.109",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.53",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.84"
+version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
-
-[[package]]
-name = "websocket"
-version = "0.26.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92aacab060eea423e4036820ddd28f3f9003b2c4d8048cbda985e5a14e18038d"
-dependencies = [
- "hyper",
- "rand 0.6.5",
- "unicase",
- "url 1.7.2",
- "websocket-base",
-]
-
-[[package]]
-name = "websocket-base"
-version = "0.26.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49aec794b07318993d1db16156d5a9c750120597a5ee40c6b928d416186cb138"
-dependencies = [
- "base64 0.10.1",
- "bitflags",
- "byteorder",
- "rand 0.6.5",
- "sha-1",
-]
-
-[[package]]
-name = "widestring"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7157704c2e12e3d2189c507b7482c52820a16dfa4465ba91add92f266667cadb"
+checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484"
[[package]]
name = "wildmatch"
@@ -2537,12 +1991,6 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f44b95f62d34113cf558c93511ac93027e03e9c29a60dd0fd70e6e025c7270a"
-[[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.9"
@@ -2553,12 +2001,6 @@ dependencies = [
"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"
@@ -2571,7 +2013,7 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
dependencies = [
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
@@ -2586,7 +2028,40 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
dependencies = [
- "windows-targets",
+ "windows-targets 0.48.0",
+]
+
+[[package]]
+name = "windows-link"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.0",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.4",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.61.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
+dependencies = [
+ "windows-link",
]
[[package]]
@@ -2595,13 +2070,28 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
+ "windows_aarch64_gnullvm 0.48.0",
+ "windows_aarch64_msvc 0.48.0",
+ "windows_i686_gnu 0.48.0",
+ "windows_i686_msvc 0.48.0",
+ "windows_x86_64_gnu 0.48.0",
+ "windows_x86_64_gnullvm 0.48.0",
+ "windows_x86_64_msvc 0.48.0",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.4",
+ "windows_aarch64_msvc 0.52.4",
+ "windows_i686_gnu 0.52.4",
+ "windows_i686_msvc 0.52.4",
+ "windows_x86_64_gnu 0.52.4",
+ "windows_x86_64_gnullvm 0.52.4",
+ "windows_x86_64_msvc 0.52.4",
]
[[package]]
@@ -2610,36 +2100,72 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
+
[[package]]
name = "windows_aarch64_msvc"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
+
[[package]]
name = "windows_i686_gnu"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
+
[[package]]
name = "windows_i686_msvc"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
+
[[package]]
name = "windows_x86_64_gnu"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
+
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
+
[[package]]
name = "windows_x86_64_msvc"
version = "0.48.0"
@@ -2647,22 +2173,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
[[package]]
-name = "winreg"
-version = "0.5.1"
+name = "windows_x86_64_msvc"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
+
+[[package]]
+name = "winnow"
+version = "0.5.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a27a759395c1195c4cc5cda607ef6f8f6498f64e78f7900f5de0a127a424704a"
+checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc"
dependencies = [
- "winapi 0.3.9",
+ "memchr",
]
[[package]]
-name = "ws2_32-sys"
-version = "0.2.1"
+name = "winnow"
+version = "0.6.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
+checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1"
dependencies = [
- "winapi 0.2.8",
- "winapi-build",
+ "memchr",
+]
+
+[[package]]
+name = "wyz"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
+dependencies = [
+ "tap",
]
[[package]]
@@ -2681,7 +2221,21 @@ dependencies = [
]
[[package]]
-name = "yansi"
-version = "0.5.1"
+name = "zerocopy"
+version = "0.8.0-alpha.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
+checksum = "db678a6ee512bd06adf35c35be471cae2f9c82a5aed2b5d15e03628c98bddd57"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.8.0-alpha.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "201585ea96d37ee69f2ac769925ca57160cef31acb137c16f38b02b76f4c1e62"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.53",
+]
diff --git a/automap/Cargo.toml b/automap/Cargo.toml
index 25fd22993..f87988e05 100644
--- a/automap/Cargo.toml
+++ b/automap/Cargo.toml
@@ -5,23 +5,21 @@ authors = ["Dan Wiebe ", "MASQ"]
license = "GPL-3.0-only"
description = "Library full of code to make routers map ports through firewalls"
edition = "2021"
-#workspace = "../node"
[dependencies]
-crossbeam-channel = "0.5.0"
-igd = "0.12.0"
-flexi_logger = "0.17.1"
+crossbeam-channel = "0.5.13"
+igd = "0.12.1"
+flexi_logger = "0.28.1"
lazy_static = "1.4.0"
local_ipaddress = "0.1.3"
-log = "0.4.8"
+log = "0.4.21"
masq_lib = { path = "../masq_lib" }
port_scanner = "0.1.5"
-pretty-hex = "0.1.0"
-rand = {version = "0.7.0", features = ["getrandom", "small_rng"]}
-
+pretty-hex = "0.4.1"
+rand = {version = "0.9.0-alpha.1", features = ["getrandom", "small_rng"]}
[dev-dependencies]
-regex = "1.5.4"
+regex = "1.10.4"
[[bin]]
name = "automap"
diff --git a/automap/src/automap_core_functions.rs b/automap/src/automap_core_functions.rs
index 754f4bed2..a2c6cac63 100644
--- a/automap/src/automap_core_functions.rs
+++ b/automap/src/automap_core_functions.rs
@@ -247,7 +247,7 @@ fn poke_firewall_hole(
));
match transactor.add_mapping(router_ip, test_port, 5) {
Ok(_) => status.succeed(),
- Err(e) if e == AutomapError::PermanentLeasesOnly => {
+ Err(AutomapError::PermanentLeasesOnly) => {
poke_permanent_firewall_hole(test_port, status.permanent_only(), router_ip, transactor)
}
Err(e) => status.abort(e),
diff --git a/automap/src/comm_layer/igdp.rs b/automap/src/comm_layer/igdp.rs
index 04197b0a6..0d692e603 100644
--- a/automap/src/comm_layer/igdp.rs
+++ b/automap/src/comm_layer/igdp.rs
@@ -27,7 +27,7 @@ use std::time::{Duration, Instant};
pub const HOUSEKEEPING_THREAD_LOOP_DELAY_MS: u64 = 100;
pub const PUBLIC_IP_POLL_DELAY_SECONDS: u64 = 60;
-trait GatewayFactory {
+trait GatewayFactory: Send {
fn make(&self, options: SearchOptions) -> Result, SearchError>;
}
@@ -189,11 +189,11 @@ impl Transactor for IgdpTransactor {
inner
.mapping_adder
.add_mapping(gateway.as_ref(), hole_port, lifetime)
- .map(|remap_interval| {
+ .inspect(|remap_interval| {
let mapping_config = MappingConfig {
hole_port,
next_lifetime: Duration::from_secs(lifetime as u64),
- remap_interval: Duration::from_secs(remap_interval as u64),
+ remap_interval: Duration::from_secs(*remap_interval as u64),
};
if let Some(commander) = inner.housekeeping_commander_opt.as_ref() {
commander
@@ -204,7 +204,6 @@ impl Transactor for IgdpTransactor {
} else {
panic!("Start housekeeping thread before calling add_mapping()");
}
- remap_interval
})
}
@@ -374,7 +373,7 @@ impl IgdpTransactor {
Ok(())
}
- fn inner(&self) -> MutexGuard {
+ fn inner(&self) -> MutexGuard<'_, IgdpTransactorInner> {
self.inner_arc.lock().expect("Housekeeping thread died")
}
@@ -432,7 +431,7 @@ impl IgdpTransactor {
mapping_config_opt: &Option,
) -> bool {
let inner = inner_arc.lock().expect("IgdpTransactor died");
- Self::remap_if_necessary(change_handler, &*inner, last_remapped, mapping_config_opt);
+ Self::remap_if_necessary(change_handler, &inner, last_remapped, mapping_config_opt);
true
}
diff --git a/automap/src/comm_layer/mod.rs b/automap/src/comm_layer/mod.rs
index f40f4bd4f..9b89ccb44 100644
--- a/automap/src/comm_layer/mod.rs
+++ b/automap/src/comm_layer/mod.rs
@@ -94,7 +94,7 @@ impl AutomapError {
}
}
-pub trait Transactor {
+pub trait Transactor: Send {
fn find_routers(&self) -> Result, AutomapError>;
fn get_public_ip(&self, router_ip: IpAddr) -> Result;
fn add_mapping(
diff --git a/automap/src/comm_layer/pcp.rs b/automap/src/comm_layer/pcp.rs
index 1148ead74..76c09b8c9 100644
--- a/automap/src/comm_layer/pcp.rs
+++ b/automap/src/comm_layer/pcp.rs
@@ -254,7 +254,7 @@ impl Default for PcpTransactor {
fn default() -> Self {
Self {
inner_arc: Arc::new(Mutex::new(PcpTransactorInner {
- mapping_transactor: Box::new(MappingTransactorReal::default()),
+ mapping_transactor: Box::::default(),
factories: Factories::default(),
})),
router_port: ROUTER_PORT,
@@ -267,7 +267,7 @@ impl Default for PcpTransactor {
}
impl PcpTransactor {
- fn inner(&self) -> MutexGuard {
+ fn inner(&self) -> MutexGuard<'_, PcpTransactorInner> {
self.inner_arc
.lock()
.expect("PCP Housekeeping Thread is dead")
diff --git a/automap/src/comm_layer/pmp.rs b/automap/src/comm_layer/pmp.rs
index db6f63adc..7644c723c 100644
--- a/automap/src/comm_layer/pmp.rs
+++ b/automap/src/comm_layer/pmp.rs
@@ -124,7 +124,7 @@ impl Transactor for PmpTransactor {
SocketAddr::new(router_ip, self.router_port),
&mut mapping_config,
)
- .map(|remap_interval| {
+ .inspect(|_remap_interval| {
self.housekeeper_commander_opt
.as_ref()
.expect("Housekeeping thread is dead")
@@ -132,7 +132,6 @@ impl Transactor for PmpTransactor {
mapping_config,
))
.expect("Housekeeping thread is dead");
- remap_interval
})
}
@@ -215,7 +214,7 @@ impl Transactor for PmpTransactor {
impl Default for PmpTransactor {
fn default() -> Self {
Self {
- mapping_adder_arc: Arc::new(Mutex::new(Box::new(MappingAdderReal::default()))),
+ mapping_adder_arc: Arc::new(Mutex::new(Box::::default())),
factories_arc: Arc::new(Mutex::new(Factories::default())),
router_port: ROUTER_PORT,
housekeeper_commander_opt: None,
@@ -364,8 +363,11 @@ impl ThreadGuts {
match self.housekeeper_flunkie.try_recv() {
Ok(HousekeepingThreadCommand::Stop) => return false,
Ok(HousekeepingThreadCommand::SetRemapIntervalMs(remap_after)) => {
+ #[allow(unused_assignments)]
mapping_config_opt
- .map(|mut mc| mc.remap_interval = Duration::from_millis(remap_after));
+ .map(|mut _mc|
+ _mc.remap_interval = Duration::from_millis(remap_after)
+ );
}
Ok(HousekeepingThreadCommand::InitializeMappingConfig(mapping_config)) => {
mapping_config_opt.replace(mapping_config);
diff --git a/automap/src/control_layer/automap_control.rs b/automap/src/control_layer/automap_control.rs
index eee1079ca..7354c9987 100644
--- a/automap/src/control_layer/automap_control.rs
+++ b/automap/src/control_layer/automap_control.rs
@@ -23,7 +23,7 @@ pub enum AutomapChange {
pub type ChangeHandler = Box;
-pub trait AutomapControl {
+pub trait AutomapControl: Send {
fn get_public_ip(&mut self) -> Result;
fn add_mapping(&mut self, hole_port: u16) -> Result<(), AutomapError>;
fn delete_mappings(&mut self) -> Result<(), AutomapError>;
@@ -136,9 +136,9 @@ impl AutomapControlReal {
pub fn new(usual_protocol_opt: Option, change_handler: ChangeHandler) -> Self {
Self {
transactors: RefCell::new(vec![
- Box::new(PcpTransactor::default()),
- Box::new(PmpTransactor::default()),
- Box::new(IgdpTransactor::default()),
+ Box::::default(),
+ Box::::default(),
+ Box::::default(),
]),
housekeeping_tools: RefCell::new(HousekeepingTools {
change_handler_opt: Some(change_handler),
@@ -202,7 +202,6 @@ impl AutomapControlReal {
protocol: AutomapProtocol,
) -> usize {
(0..transactors.len())
- .into_iter()
.find(|idx| transactors[*idx].protocol() == protocol)
.unwrap_or_else(|| panic!("No Transactor for {}", protocol))
}
diff --git a/automap/src/logger.rs b/automap/src/logger.rs
index 8a76ed3e7..e4ea58d28 100644
--- a/automap/src/logger.rs
+++ b/automap/src/logger.rs
@@ -1,23 +1,17 @@
// Copyright (c) 2019-2021, MASQ (https://masq.ai) and/or its affiliates. All rights reserved.
-use flexi_logger::{DeferredNow, LevelFilter, LogSpecBuilder, Logger, Record};
-use lazy_static::lazy_static;
+use flexi_logger::{DeferredNow, FileSpec, LevelFilter, LogSpecBuilder, Logger, Record};
use std::env::current_dir;
-use std::path::PathBuf;
-
-lazy_static! {
- static ref WORKING_PATH: PathBuf =
- current_dir().expect("working directory cannot be identified");
- static ref LOG_FILE_PATH: PathBuf = WORKING_PATH.join("automap_rCURRENT");
-}
pub fn initiate_logger() {
+ let file_spec = FileSpec::default()
+ .directory(current_dir().expect("working directory cannot be identified"))
+ .discriminant("rCURRENT")
+ .suppress_timestamp();
let logger = Logger::with(LogSpecBuilder::new().default(LevelFilter::Info).build())
- .log_to_file()
- .directory(WORKING_PATH.as_path())
+ .log_to_file(file_spec)
.format(brief_format)
- .print_message()
- .suppress_timestamp();
+ .print_message();
logger.start().expect("Logging subsystem failed to start");
}
diff --git a/automap/src/main.rs b/automap/src/main.rs
index a7cb3cbd6..9d7d045fb 100644
--- a/automap/src/main.rs
+++ b/automap/src/main.rs
@@ -60,7 +60,7 @@ fn manual(parameters: AutomapParameters) {
parameters
.protocols
.iter()
- .zip(results.into_iter())
+ .zip(results)
.for_each(|(method, result)| report_on_method(method, result, ¶meters));
std::process::exit(if cumulative_success { 0 } else { 1 })
diff --git a/automap/src/mocks.rs b/automap/src/mocks.rs
index c498296a9..5f41db5af 100644
--- a/automap/src/mocks.rs
+++ b/automap/src/mocks.rs
@@ -68,9 +68,8 @@ impl UdpSocketWrapper for UdpSocketWrapperMock {
let set_read_timeout_params_locked = self.set_read_timeout_params.lock().unwrap();
if !set_read_timeout_params_locked.is_empty() {
let duration_opt = &set_read_timeout_params_locked[0];
- match &duration_opt {
- Some(duration) => thread::sleep(*duration),
- None => (),
+ if let Some(duration) = duration_opt {
+ thread::sleep(*duration);
}
}
}
diff --git a/automap/src/probe_researcher.rs b/automap/src/probe_researcher.rs
index 053e8031e..d78acc742 100644
--- a/automap/src/probe_researcher.rs
+++ b/automap/src/probe_researcher.rs
@@ -131,7 +131,7 @@ pub fn request_probe(
let status =
status.begin_attempt("Reading probe server's report about the probe attempt".to_string());
match connection.read(&mut buffer) {
- Ok(length) if length == 0 => {
+ Ok(0) => {
return status.fail(AutomapError::ProbeRequestError(
AutomapErrorCause::ProbeServerIssue,
"Zero-length response".to_string(),
@@ -179,13 +179,13 @@ pub fn request_probe(
fn generate_nonce() -> u16 {
let mut rnd = thread_rng();
- rnd.gen_range(1000, 9999)
+ rnd.gen_range(1000..=9999)
}
#[cfg(test)]
mod tests {
use super::*;
- use std::io::{ErrorKind, IoSlice};
+ use std::io::ErrorKind;
use masq_lib::utils::{find_free_port_0000, localhost};
@@ -222,44 +222,10 @@ mod tests {
[b1, b2]
}
- struct MockStream {
- pub stream: String,
- pub flush_count: u8,
- }
-
- impl Write for MockStream {
- fn write(&mut self, _buf: &[u8]) -> std::io::Result {
- unimplemented!()
- }
-
- fn write_vectored(&mut self, _bufs: &[IoSlice<'_>]) -> std::io::Result {
- unimplemented!()
- }
-
- fn flush(&mut self) -> std::io::Result<()> {
- self.flush_count += 1;
- Ok(())
- }
-
- fn write_all(&mut self, buf: &[u8]) -> std::io::Result<()> {
- self.stream.push_str(std::str::from_utf8(buf).unwrap());
- Ok(())
- }
-
- fn by_ref(&mut self) -> &mut Self
- where
- Self: Sized,
- {
- unimplemented!()
- }
- }
-
#[test]
fn deploy_background_listener_with_good_probe_works() {
let port = find_free_port_0000();
-
let (handle, _) = deploy_background_listener(TestStatus::new(), port, 8875, 500);
-
let send_probe_addr = SocketAddr::new(localhost(), port);
test_stream_acceptor_and_probe_8875_imitator(0, send_probe_addr);
diff --git a/dns_utility/Cargo.lock b/dns_utility/Cargo.lock
index 04c8bf983..4e4fb82c0 100644
--- a/dns_utility/Cargo.lock
+++ b/dns_utility/Cargo.lock
@@ -1,62 +1,62 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
-version = 3
+version = 4
[[package]]
name = "actix"
-version = "0.7.9"
+version = "0.13.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c616db5fa4b0c40702fb75201c2af7f8aa8f3a2e2c1dda3b0655772aa949666"
+checksum = "de7fa236829ba0841304542f7614c42b80fca007455315c45c785ccfa873a85b"
dependencies = [
+ "actix-macros",
+ "actix-rt",
"actix_derive",
- "bitflags",
+ "bitflags 2.4.0",
"bytes",
- "crossbeam-channel 0.3.9",
- "failure",
- "fnv",
- "futures",
- "libc",
- "log 0.4.17",
- "parking_lot 0.7.1",
+ "crossbeam-channel",
+ "futures-core",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
+ "log",
+ "once_cell",
+ "parking_lot",
+ "pin-project-lite",
"smallvec",
"tokio",
- "tokio-codec",
- "tokio-executor",
- "tokio-io",
- "tokio-reactor",
- "tokio-signal",
- "tokio-tcp",
- "tokio-timer",
- "trust-dns-proto 0.5.0",
- "trust-dns-resolver",
- "uuid",
+ "tokio-util",
]
[[package]]
-name = "actix_derive"
-version = "0.3.2"
+name = "actix-macros"
+version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4300e9431455322ae393d43a2ba1ef96b8080573c0fc23b196219efedfb6ba69"
+checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb"
dependencies = [
- "proc-macro2 0.4.30",
- "quote 0.6.13",
- "syn 0.15.44",
+ "quote",
+ "syn 2.0.53",
]
[[package]]
-name = "addr2line"
-version = "0.19.0"
+name = "actix-rt"
+version = "2.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97"
+checksum = "28f32d40287d3f402ae0028a9d54bef51af15c8769492826a69d28f81893151d"
dependencies = [
- "gimli",
+ "futures-core",
+ "tokio",
]
[[package]]
-name = "adler"
-version = "1.0.2"
+name = "actix_derive"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+checksum = "6d44b8fee1ced9671ba043476deddef739dd0959bf77030b26b738cc591737a7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
[[package]]
name = "aho-corasick"
@@ -68,67 +68,95 @@ dependencies = [
]
[[package]]
-name = "ansi_term"
-version = "0.12.1"
+name = "anstream"
+version = "0.6.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
+checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526"
dependencies = [
- "winapi 0.3.9",
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "is_terminal_polyfill",
+ "utf8parse",
]
[[package]]
-name = "arrayref"
-version = "0.3.7"
+name = "anstyle"
+version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545"
+checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1"
[[package]]
-name = "arrayvec"
-version = "0.5.2"
+name = "anstyle-parse"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
+checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
+dependencies = [
+ "utf8parse",
+]
[[package]]
-name = "atty"
-version = "0.2.14"
+name = "anstyle-query"
+version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi 0.3.9",
+ "windows-sys 0.48.0",
]
[[package]]
-name = "autocfg"
-version = "0.1.8"
+name = "anstyle-wincon"
+version = "3.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78"
+checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
dependencies = [
- "autocfg 1.1.0",
+ "anstyle",
+ "windows-sys 0.48.0",
]
[[package]]
-name = "autocfg"
-version = "1.1.0"
+name = "arrayref"
+version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb"
+
+[[package]]
+name = "arrayvec"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
[[package]]
-name = "backtrace"
-version = "0.3.67"
+name = "async-channel"
+version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca"
+checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a"
dependencies = [
- "addr2line",
- "cc",
- "cfg-if 1.0.0",
- "libc",
- "miniz_oxide",
- "object",
- "rustc-demangle",
+ "concurrent-queue",
+ "event-listener-strategy",
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-trait"
+version = "0.1.81"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.53",
]
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
[[package]]
name = "base58"
version = "0.1.0"
@@ -137,37 +165,32 @@ checksum = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83"
[[package]]
name = "base64"
-version = "0.9.3"
+version = "0.22.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
-dependencies = [
- "byteorder",
- "safemem",
-]
+checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
[[package]]
-name = "base64"
-version = "0.10.1"
+name = "bitflags"
+version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
-dependencies = [
- "byteorder",
-]
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "1.3.2"
+version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
[[package]]
name = "bitvec"
-version = "0.17.4"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41262f11d771fd4a61aa3ce019fca363b4b6c282fca9da2a31186d3965a47a5c"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
dependencies = [
- "either",
+ "funty",
"radium",
+ "tap",
+ "wyz",
]
[[package]]
@@ -179,7 +202,16 @@ dependencies = [
"block-padding",
"byte-tools",
"byteorder",
- "generic-array",
+ "generic-array 0.12.4",
+]
+
+[[package]]
+name = "block-buffer"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
+dependencies = [
+ "generic-array 0.14.7",
]
[[package]]
@@ -193,9 +225,9 @@ dependencies = [
[[package]]
name = "byte-slice-cast"
-version = "0.3.5"
+version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0a5e3906bcbf133e33c1d4d95afc664ad37fbdb9f6568d8043e7ea8c27d93d3"
+checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c"
[[package]]
name = "byte-tools"
@@ -211,13 +243,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
[[package]]
name = "bytes"
-version = "0.4.12"
+version = "1.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
-dependencies = [
- "byteorder",
- "iovec",
-]
+checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
[[package]]
name = "cc"
@@ -225,12 +253,6 @@ version = "1.0.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
-[[package]]
-name = "cfg-if"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-
[[package]]
name = "cfg-if"
version = "1.0.0"
@@ -239,53 +261,71 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "clap"
-version = "2.34.0"
+version = "4.5.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019"
+dependencies = [
+ "clap_builder",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.5.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
+checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6"
dependencies = [
- "ansi_term",
- "atty",
- "bitflags",
+ "anstream",
+ "anstyle",
+ "clap_lex",
"strsim",
- "textwrap",
- "unicode-width",
- "vec_map",
]
[[package]]
-name = "cloudabi"
-version = "0.0.3"
+name = "clap_lex"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"
+
+[[package]]
+name = "colorchoice"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+
+[[package]]
+name = "concurrent-queue"
+version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
+checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
dependencies = [
- "bitflags",
+ "crossbeam-utils",
]
[[package]]
name = "const_format"
-version = "0.2.30"
+version = "0.2.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7309d9b4d3d2c0641e018d449232f2e28f1b22933c137f157d3dbc14228b8c0e"
+checksum = "e3a214c7af3d04997541b18d432afaff4c455e79e2029079647e72fc2bd27673"
dependencies = [
"const_format_proc_macros",
]
[[package]]
name = "const_format_proc_macros"
-version = "0.2.29"
+version = "0.2.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d897f47bf7270cf70d370f8f98c1abb6d2d4cf60a6845d30e05bfb90c6568650"
+checksum = "c7f6ff08fd20f4f299298a28e2dfa8a8ba1036e6cd2460ac1de7b425d76f2500"
dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "unicode-xid 0.2.4",
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
]
[[package]]
name = "core-foundation"
-version = "0.7.0"
+version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
dependencies = [
"core-foundation-sys",
"libc",
@@ -293,139 +333,107 @@ dependencies = [
[[package]]
name = "core-foundation-sys"
-version = "0.7.0"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
[[package]]
-name = "crossbeam-channel"
-version = "0.3.9"
+name = "cpufeatures"
+version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8ec7fcd21571dc78f96cc96243cab8d8f035247c3efd16c687be154c3fa9efa"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
dependencies = [
- "crossbeam-utils 0.6.6",
+ "libc",
]
[[package]]
name = "crossbeam-channel"
-version = "0.5.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
-dependencies = [
- "cfg-if 1.0.0",
- "crossbeam-utils 0.8.15",
-]
-
-[[package]]
-name = "crossbeam-deque"
-version = "0.7.4"
+version = "0.5.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c20ff29ded3204c5106278a81a38f4b482636ed4fa1e6cfbeef193291beb29ed"
+checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2"
dependencies = [
- "crossbeam-epoch",
- "crossbeam-utils 0.7.2",
- "maybe-uninit",
+ "crossbeam-utils",
]
[[package]]
-name = "crossbeam-epoch"
-version = "0.8.2"
+name = "crossbeam-utils"
+version = "0.8.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace"
-dependencies = [
- "autocfg 1.1.0",
- "cfg-if 0.1.10",
- "crossbeam-utils 0.7.2",
- "lazy_static",
- "maybe-uninit",
- "memoffset 0.5.6",
- "scopeguard 1.1.0",
-]
+checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
[[package]]
-name = "crossbeam-queue"
-version = "0.2.3"
+name = "crunchy"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570"
-dependencies = [
- "cfg-if 0.1.10",
- "crossbeam-utils 0.7.2",
- "maybe-uninit",
-]
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
[[package]]
-name = "crossbeam-utils"
-version = "0.6.6"
+name = "crypto-common"
+version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
dependencies = [
- "cfg-if 0.1.10",
- "lazy_static",
+ "generic-array 0.14.7",
+ "typenum",
]
[[package]]
-name = "crossbeam-utils"
-version = "0.7.2"
+name = "crypto-mac"
+version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
+checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5"
dependencies = [
- "autocfg 1.1.0",
- "cfg-if 0.1.10",
- "lazy_static",
+ "generic-array 0.12.4",
+ "subtle 1.0.0",
]
[[package]]
-name = "crossbeam-utils"
-version = "0.8.15"
+name = "deranged"
+version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
dependencies = [
- "cfg-if 1.0.0",
+ "powerfmt",
]
[[package]]
-name = "crunchy"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
-
-[[package]]
-name = "crypto-mac"
-version = "0.7.0"
+name = "digest"
+version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5"
+checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
dependencies = [
- "generic-array",
- "subtle 1.0.0",
+ "generic-array 0.12.4",
]
[[package]]
name = "digest"
-version = "0.8.1"
+version = "0.10.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
dependencies = [
- "generic-array",
+ "block-buffer 0.10.4",
+ "crypto-common",
]
[[package]]
name = "dirs"
-version = "4.0.0"
+version = "5.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
+checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
dependencies = [
"dirs-sys",
]
[[package]]
name = "dirs-sys"
-version = "0.3.7"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
+checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
dependencies = [
"libc",
+ "option-ext",
"redox_users",
- "winapi 0.3.9",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -433,12 +441,12 @@ name = "dns_utility"
version = "0.7.3"
dependencies = [
"core-foundation",
- "ipconfig 0.2.2",
+ "ipconfig",
"libc",
"masq_lib",
"regex",
"system-configuration",
- "winreg 0.10.1",
+ "winreg 0.52.0",
]
[[package]]
@@ -448,19 +456,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
[[package]]
-name = "error-chain"
-version = "0.8.1"
+name = "equivalent"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6930e04918388a9a2e41d518c25cf679ccafe26733fb4127dbf21993f2575d46"
-dependencies = [
- "backtrace",
-]
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
[[package]]
name = "ethbloom"
-version = "0.9.2"
+version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71a6567e6fd35589fea0c63b94b4cf2e55573e413901bdbe60ab15cf0e25e5df"
+checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60"
dependencies = [
"crunchy",
"fixed-hash",
@@ -471,9 +476,9 @@ dependencies = [
[[package]]
name = "ethereum-types"
-version = "0.9.2"
+version = "0.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "473aecff686bd8e7b9db0165cbbb53562376b39bf35b427f0c60446a9e1634b0"
+checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee"
dependencies = [
"ethbloom",
"fixed-hash",
@@ -484,25 +489,24 @@ dependencies = [
]
[[package]]
-name = "failure"
-version = "0.1.8"
+name = "event-listener"
+version = "5.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86"
+checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91"
dependencies = [
- "backtrace",
- "failure_derive",
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
]
[[package]]
-name = "failure_derive"
-version = "0.1.8"
+name = "event-listener-strategy"
+version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
+checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1"
dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 1.0.109",
- "synstructure",
+ "event-listener",
+ "pin-project-lite",
]
[[package]]
@@ -513,49 +517,118 @@ checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
[[package]]
name = "fixed-hash"
-version = "0.6.1"
+version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11498d382790b7a8f2fd211780bec78619bba81cdad3a283997c0c41f836759c"
+checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534"
dependencies = [
"byteorder",
- "rand 0.7.3",
+ "rand 0.8.5",
"rustc-hex",
"static_assertions",
]
[[package]]
-name = "fnv"
-version = "1.0.7"
+name = "form_urlencoded"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+dependencies = [
+ "percent-encoding",
+]
[[package]]
-name = "fuchsia-cprng"
-version = "0.1.1"
+name = "funty"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
+
+[[package]]
+name = "futures"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
+checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-io",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
+]
[[package]]
-name = "fuchsia-zircon"
-version = "0.3.3"
+name = "futures-channel"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
+checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d"
dependencies = [
- "bitflags",
- "fuchsia-zircon-sys",
+ "futures-core",
+ "futures-sink",
]
[[package]]
-name = "fuchsia-zircon-sys"
-version = "0.3.3"
+name = "futures-core"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
+checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d"
[[package]]
-name = "futures"
-version = "0.1.31"
+name = "futures-executor"
+version = "0.3.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d"
+dependencies = [
+ "futures-core",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-io"
+version = "0.3.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718"
+
+[[package]]
+name = "futures-macro"
+version = "0.3.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.53",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893"
+
+[[package]]
+name = "futures-task"
+version = "0.3.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393"
+
+[[package]]
+name = "futures-util"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678"
+checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-macro",
+ "futures-sink",
+ "futures-task",
+ "memchr",
+ "pin-project-lite",
+ "slab",
+]
[[package]]
name = "generic-array"
@@ -566,13 +639,23 @@ dependencies = [
"typenum",
]
+[[package]]
+name = "generic-array"
+version = "0.14.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
[[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",
+ "cfg-if",
"libc",
"wasi 0.9.0+wasi-snapshot-preview1",
]
@@ -583,34 +666,28 @@ version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"libc",
"wasi 0.11.0+wasi-snapshot-preview1",
]
[[package]]
-name = "gimli"
-version = "0.27.2"
+name = "hashbrown"
+version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4"
+checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
[[package]]
name = "hermit-abi"
-version = "0.1.19"
+version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
[[package]]
-name = "hermit-abi"
-version = "0.2.6"
+name = "hex"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
-dependencies = [
- "libc",
-]
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
name = "hmac"
@@ -619,7 +696,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695"
dependencies = [
"crypto-mac",
- "digest",
+ "digest 0.8.1",
]
[[package]]
@@ -628,124 +705,98 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b"
dependencies = [
- "digest",
- "generic-array",
+ "digest 0.8.1",
+ "generic-array 0.12.4",
"hmac",
]
-[[package]]
-name = "hostname"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"
-dependencies = [
- "libc",
- "match_cfg",
- "winapi 0.3.9",
-]
-
[[package]]
name = "httparse"
version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
-[[package]]
-name = "hyper"
-version = "0.10.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a0652d9a2609a968c14be1a9ea00bf4b1d64e2e1f53a1b51b6fff3a6e829273"
-dependencies = [
- "base64 0.9.3",
- "httparse",
- "language-tags",
- "log 0.3.9",
- "mime",
- "num_cpus",
- "time 0.1.45",
- "traitobject",
- "typeable",
- "unicase",
- "url",
-]
-
[[package]]
name = "idna"
-version = "0.1.5"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
dependencies = [
- "matches",
"unicode-bidi",
"unicode-normalization",
]
[[package]]
name = "impl-codec"
-version = "0.4.2"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1be51a921b067b0eaca2fad532d9400041561aa922221cc65f95a85641c6bf53"
+checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f"
dependencies = [
"parity-scale-codec",
]
[[package]]
name = "impl-rlp"
-version = "0.2.1"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f7a72f11830b52333f36e3b09a288333888bf54380fd0ac0790a3c31ab0f3c5"
+checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808"
dependencies = [
"rlp",
]
[[package]]
name = "impl-serde"
-version = "0.3.2"
+version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c"
+checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd"
dependencies = [
"serde",
]
[[package]]
-name = "iovec"
-version = "0.1.4"
+name = "impl-trait-for-tuples"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
+checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb"
dependencies = [
- "libc",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
]
[[package]]
-name = "ipconfig"
-version = "0.1.9"
+name = "indexmap"
+version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08f7eadeaf4b52700de180d147c4805f199854600b36faa963d91114827b2ffc"
+checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
dependencies = [
- "error-chain",
- "socket2",
- "widestring 0.2.2",
- "winapi 0.3.9",
- "winreg 0.5.1",
+ "equivalent",
+ "hashbrown",
]
[[package]]
name = "ipconfig"
-version = "0.2.2"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7"
+checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f"
dependencies = [
- "socket2",
- "widestring 0.4.3",
- "winapi 0.3.9",
- "winreg 0.6.2",
+ "socket2 0.5.6",
+ "widestring",
+ "windows-sys 0.48.0",
+ "winreg 0.50.0",
]
+[[package]]
+name = "is_terminal_polyfill"
+version = "1.70.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
+
[[package]]
name = "itertools"
-version = "0.10.5"
+version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
dependencies = [
"either",
]
@@ -756,22 +807,6 @@ version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
-[[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"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
-
[[package]]
name = "lazy_static"
version = "1.4.0"
@@ -780,9 +815,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
-version = "0.2.147"
+version = "0.2.185"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "52ff2c0fe9bc6cb6b14a0592c2ff4fa9ceb83eea9db979b0487cd054946a2b8f"
[[package]]
name = "libsecp256k1"
@@ -792,122 +827,69 @@ checksum = "1fc1e2c808481a63dc6da2074752fdd4336a3c8fcc68b83db6f1fd5224ae7962"
dependencies = [
"arrayref",
"crunchy",
- "digest",
+ "digest 0.8.1",
"hmac-drbg",
"rand 0.7.3",
"sha2",
- "subtle 2.5.0",
+ "subtle 2.6.1",
"typenum",
]
-[[package]]
-name = "linked-hash-map"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
-
-[[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.3.4"
+version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75"
+checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
dependencies = [
- "scopeguard 1.1.0",
+ "autocfg",
+ "scopeguard",
]
[[package]]
name = "log"
-version = "0.3.9"
+version = "0.4.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
-dependencies = [
- "log 0.4.17",
-]
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
[[package]]
-name = "log"
-version = "0.4.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[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 = "0.7.3"
+name = "masq_lib"
+version = "0.7.3"
dependencies = [
"actix",
+ "async-channel",
+ "async-trait",
+ "base64",
"clap",
"const_format",
- "crossbeam-channel 0.5.8",
+ "crossbeam-channel",
"dirs",
"ethereum-types",
+ "futures",
+ "futures-util",
"itertools",
"lazy_static",
- "log 0.4.17",
+ "log",
"nix",
+ "rand 0.9.0-alpha.1",
"regex",
+ "rustc-hex",
"serde",
"serde_derive",
"serde_json",
- "time 0.3.20",
+ "soketto",
+ "time",
"tiny-hderive",
+ "tokio",
+ "tokio-util",
"toml",
- "websocket",
+ "url",
]
-[[package]]
-name = "match_cfg"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
-
-[[package]]
-name = "matches"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
-
-[[package]]
-name = "maybe-uninit"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
-
[[package]]
name = "memchr"
-version = "2.5.0"
+version = "2.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
-
-[[package]]
-name = "memoffset"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa"
-dependencies = [
- "autocfg 1.1.0",
-]
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
[[package]]
name = "memoffset"
@@ -915,7 +897,7 @@ version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
dependencies = [
- "autocfg 1.1.0",
+ "autocfg",
]
[[package]]
@@ -924,75 +906,16 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93c0d11ac30a033511ae414355d80f70d9f29a44a49140face477117a1ee90db"
-[[package]]
-name = "mime"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0"
-dependencies = [
- "log 0.3.9",
-]
-
-[[package]]
-name = "miniz_oxide"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
-dependencies = [
- "adler",
-]
-
[[package]]
name = "mio"
-version = "0.6.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
-dependencies = [
- "cfg-if 0.1.10",
- "fuchsia-zircon",
- "fuchsia-zircon-sys",
- "iovec",
- "kernel32-sys",
- "libc",
- "log 0.4.17",
- "miow",
- "net2",
- "slab",
- "winapi 0.2.8",
-]
-
-[[package]]
-name = "mio-uds"
-version = "0.6.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0"
-dependencies = [
- "iovec",
- "libc",
- "mio",
-]
-
-[[package]]
-name = "miow"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
-dependencies = [
- "kernel32-sys",
- "net2",
- "winapi 0.2.8",
- "ws2_32-sys",
-]
-
-[[package]]
-name = "net2"
-version = "0.2.38"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631"
+checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec"
dependencies = [
- "cfg-if 0.1.10",
+ "hermit-abi",
"libc",
- "winapi 0.3.9",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -1001,31 +924,24 @@ version = "0.23.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"cc",
- "cfg-if 1.0.0",
+ "cfg-if",
"libc",
- "memoffset 0.6.5",
+ "memoffset",
]
[[package]]
-name = "num_cpus"
-version = "1.15.0"
+name = "num-conv"
+version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
-dependencies = [
- "hermit-abi 0.2.6",
- "libc",
-]
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
[[package]]
-name = "object"
-version = "0.30.3"
+name = "once_cell"
+version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439"
-dependencies = [
- "memchr",
-]
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
[[package]]
name = "opaque-debug"
@@ -1034,80 +950,83 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
[[package]]
-name = "owning_ref"
-version = "0.4.1"
+name = "option-ext"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ff55baddef9e4ad00f88b6c743a2a8062d4c6ade126c2a528644b8e444d52ce"
-dependencies = [
- "stable_deref_trait",
-]
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
[[package]]
name = "parity-scale-codec"
-version = "1.3.7"
+version = "3.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4b26b16c7687c3075982af47719e481815df30bc544f7a6690763a25ca16e9d"
+checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb"
dependencies = [
"arrayvec",
"bitvec",
"byte-slice-cast",
+ "impl-trait-for-tuples",
+ "parity-scale-codec-derive",
"serde",
]
[[package]]
-name = "parking_lot"
-version = "0.7.1"
+name = "parity-scale-codec-derive"
+version = "3.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337"
+checksum = "a65cebc1b089c96df6203a76279a82b4bbf04fa23659c4093cac6fd245c25d1f"
dependencies = [
- "lock_api 0.1.5",
- "parking_lot_core 0.4.0",
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
]
[[package]]
-name = "parking_lot"
-version = "0.9.0"
+name = "parking"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252"
-dependencies = [
- "lock_api 0.3.4",
- "parking_lot_core 0.6.3",
- "rustc_version",
-]
+checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
[[package]]
-name = "parking_lot_core"
-version = "0.4.0"
+name = "parking_lot"
+version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
dependencies = [
- "libc",
- "rand 0.6.5",
- "rustc_version",
- "smallvec",
- "winapi 0.3.9",
+ "lock_api",
+ "parking_lot_core",
]
[[package]]
name = "parking_lot_core"
-version = "0.6.3"
+version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bda66b810a62be75176a80873726630147a5ca780cd33921e0b5709033e66b0a"
+checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
dependencies = [
- "cfg-if 0.1.10",
- "cloudabi",
+ "cfg-if",
"libc",
- "redox_syscall 0.1.57",
- "rustc_version",
+ "redox_syscall 0.3.5",
"smallvec",
- "winapi 0.3.9",
+ "windows-targets 0.48.5",
]
[[package]]
name = "percent-encoding"
-version = "1.0.1"
+version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+
+[[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
[[package]]
name = "ppv-lite86"
@@ -1117,9 +1036,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
[[package]]
name = "primitive-types"
-version = "0.7.3"
+version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7dd39dcacf71411ba488570da7bbc89b717225e46478b30ba99b92db6b149809"
+checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66"
dependencies = [
"fixed-hash",
"impl-codec",
@@ -1129,106 +1048,72 @@ dependencies = [
]
[[package]]
-name = "proc-macro2"
-version = "0.4.30"
+name = "proc-macro-crate"
+version = "1.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
+checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
dependencies = [
- "unicode-xid 0.1.0",
+ "once_cell",
+ "toml_edit 0.19.14",
]
[[package]]
name = "proc-macro2"
-version = "1.0.56"
+version = "1.0.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
+checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
dependencies = [
"unicode-ident",
]
-[[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"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
-dependencies = [
- "proc-macro2 0.4.30",
-]
-
[[package]]
name = "quote"
-version = "1.0.26"
+version = "1.0.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
dependencies = [
- "proc-macro2 1.0.56",
+ "proc-macro2",
]
[[package]]
name = "radium"
-version = "0.3.0"
+version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "def50a86306165861203e7f84ecffbbdfdea79f0e51039b33de1e952358c47ac"
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
[[package]]
name = "rand"
-version = "0.5.6"
+version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9"
+checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
dependencies = [
- "cloudabi",
- "fuchsia-cprng",
+ "getrandom 0.1.16",
"libc",
- "rand_core 0.3.1",
- "winapi 0.3.9",
+ "rand_chacha 0.2.2",
+ "rand_core 0.5.1",
+ "rand_hc",
]
[[package]]
name = "rand"
-version = "0.6.5"
+version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
dependencies = [
- "autocfg 0.1.8",
"libc",
- "rand_chacha 0.1.1",
- "rand_core 0.4.2",
- "rand_hc 0.1.0",
- "rand_isaac",
- "rand_jitter",
- "rand_os",
- "rand_pcg",
- "rand_xorshift",
- "winapi 0.3.9",
+ "rand_chacha 0.3.1",
+ "rand_core 0.6.4",
]
[[package]]
name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-dependencies = [
- "getrandom 0.1.16",
- "libc",
- "rand_chacha 0.2.2",
- "rand_core 0.5.1",
- "rand_hc 0.2.0",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.1.1"
+version = "0.9.0-alpha.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
+checksum = "8d31e63ea85be51c423e52ba8f2e68a3efd53eed30203ee029dd09947333693e"
dependencies = [
- "autocfg 0.1.8",
- "rand_core 0.3.1",
+ "rand_chacha 0.9.0-alpha.1",
+ "rand_core 0.9.0-alpha.1",
+ "zerocopy",
]
[[package]]
@@ -1242,19 +1127,24 @@ dependencies = [
]
[[package]]
-name = "rand_core"
+name = "rand_chacha"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
dependencies = [
- "rand_core 0.4.2",
+ "ppv-lite86",
+ "rand_core 0.6.4",
]
[[package]]
-name = "rand_core"
-version = "0.4.2"
+name = "rand_chacha"
+version = "0.9.0-alpha.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
+checksum = "78674ef918c19451dbd250f8201f8619b494f64c9aa6f3adb28fd8a0f1f6da46"
+dependencies = [
+ "ppv-lite86",
+ "rand_core 0.9.0-alpha.1",
+]
[[package]]
name = "rand_core"
@@ -1266,98 +1156,49 @@ dependencies = [
]
[[package]]
-name = "rand_hc"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
-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"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_jitter"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
-dependencies = [
- "libc",
- "rand_core 0.4.2",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "rand_os"
-version = "0.1.3"
+name = "rand_core"
+version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
- "cloudabi",
- "fuchsia-cprng",
- "libc",
- "rand_core 0.4.2",
- "rdrand",
- "winapi 0.3.9",
+ "getrandom 0.2.10",
]
[[package]]
-name = "rand_pcg"
-version = "0.1.2"
+name = "rand_core"
+version = "0.9.0-alpha.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
+checksum = "cc89dffba8377c5ec847d12bb41492bda235dba31a25e8b695cd0fe6589eb8c9"
dependencies = [
- "autocfg 0.1.8",
- "rand_core 0.4.2",
+ "getrandom 0.2.10",
+ "zerocopy",
]
[[package]]
-name = "rand_xorshift"
-version = "0.1.1"
+name = "rand_hc"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
+checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
dependencies = [
- "rand_core 0.3.1",
+ "rand_core 0.5.1",
]
[[package]]
-name = "rdrand"
-version = "0.4.0"
+name = "redox_syscall"
+version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
dependencies = [
- "rand_core 0.3.1",
+ "bitflags 1.3.2",
]
[[package]]
name = "redox_syscall"
-version = "0.1.57"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
-
-[[package]]
-name = "redox_syscall"
-version = "0.2.16"
+version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
]
[[package]]
@@ -1373,79 +1214,55 @@ dependencies = [
[[package]]
name = "regex"
-version = "1.8.1"
+version = "1.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370"
+checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
dependencies = [
"aho-corasick",
"memchr",
+ "regex-automata",
"regex-syntax",
]
[[package]]
-name = "regex-syntax"
-version = "0.7.1"
+name = "regex-automata"
+version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
[[package]]
-name = "resolv-conf"
-version = "0.6.3"
+name = "regex-syntax"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11834e137f3b14e309437a8276714eed3a80d1ef894869e510f2c0c0b98b9f4a"
-dependencies = [
- "hostname",
- "quick-error",
-]
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]]
name = "rlp"
-version = "0.4.6"
+version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1190dcc8c3a512f1eef5d09bb8c84c7f39e1054e174d1795482e18f5272f2e73"
+checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec"
dependencies = [
+ "bytes",
"rustc-hex",
]
-[[package]]
-name = "rustc-demangle"
-version = "0.1.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
-
[[package]]
name = "rustc-hex"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6"
-[[package]]
-name = "rustc_version"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
-dependencies = [
- "semver",
-]
-
[[package]]
name = "ryu"
version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
-[[package]]
-name = "safemem"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
-
-[[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"
@@ -1453,58 +1270,55 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
[[package]]
-name = "semver"
-version = "0.9.0"
+name = "serde"
+version = "1.0.208"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2"
dependencies = [
- "semver-parser",
+ "serde_derive",
]
-[[package]]
-name = "semver-parser"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-
-[[package]]
-name = "serde"
-version = "1.0.160"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb2f3770c8bce3bcda7e149193a069a0f4365bda1fa5cd88e03bca26afc1216c"
-
[[package]]
name = "serde_derive"
-version = "1.0.160"
+version = "1.0.208"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291a097c63d8497e00160b166a967a4a79c64f3facdd01cbd7502231688d77df"
+checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf"
dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 2.0.15",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.53",
]
[[package]]
name = "serde_json"
-version = "1.0.96"
+version = "1.0.125"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
+checksum = "83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed"
dependencies = [
"itoa",
+ "memchr",
"ryu",
"serde",
]
[[package]]
-name = "sha-1"
-version = "0.8.2"
+name = "serde_spanned"
+version = "0.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df"
+checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d"
dependencies = [
- "block-buffer",
- "digest",
- "fake-simd",
- "opaque-debug",
+ "serde",
+]
+
+[[package]]
+name = "sha1"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest 0.10.7",
]
[[package]]
@@ -1513,8 +1327,8 @@ version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69"
dependencies = [
- "block-buffer",
- "digest",
+ "block-buffer 0.7.3",
+ "digest 0.8.1",
"fake-simd",
"opaque-debug",
]
@@ -1530,38 +1344,53 @@ dependencies = [
[[package]]
name = "slab"
-version = "0.4.8"
+version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
dependencies = [
- "autocfg 1.1.0",
+ "autocfg",
]
[[package]]
name = "smallvec"
-version = "0.6.14"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
+
+[[package]]
+name = "socket2"
+version = "0.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0"
+checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871"
dependencies = [
- "maybe-uninit",
+ "libc",
+ "windows-sys 0.52.0",
]
[[package]]
name = "socket2"
-version = "0.3.19"
+version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e"
+checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e"
dependencies = [
- "cfg-if 1.0.0",
"libc",
- "winapi 0.3.9",
+ "windows-sys 0.61.2",
]
[[package]]
-name = "stable_deref_trait"
-version = "1.2.0"
+name = "soketto"
+version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+checksum = "2e859df029d160cb88608f5d7df7fb4753fd20fdfb4de5644f3d8b8440841721"
+dependencies = [
+ "base64",
+ "bytes",
+ "futures",
+ "httparse",
+ "log",
+ "rand 0.8.5",
+ "sha1",
+]
[[package]]
name = "static_assertions"
@@ -1571,9 +1400,9 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
name = "strsim"
-version = "0.8.0"
+version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
[[package]]
name = "subtle"
@@ -1583,20 +1412,9 @@ checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee"
[[package]]
name = "subtle"
-version = "2.5.0"
+version = "2.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
-
-[[package]]
-name = "syn"
-version = "0.15.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5"
-dependencies = [
- "proc-macro2 0.4.30",
- "quote 0.6.13",
- "unicode-xid 0.1.0",
-]
+checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
[[package]]
name = "syn"
@@ -1604,102 +1422,79 @@ version = "1.0.109"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
+ "proc-macro2",
+ "quote",
"unicode-ident",
]
[[package]]
name = "syn"
-version = "2.0.15"
+version = "2.0.53"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822"
+checksum = "7383cd0e49fff4b6b90ca5670bfd3e9d6a733b3f90c686605aa7eec8c4996032"
dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
+ "proc-macro2",
+ "quote",
"unicode-ident",
]
-[[package]]
-name = "synstructure"
-version = "0.12.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
-dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 1.0.109",
- "unicode-xid 0.2.4",
-]
-
[[package]]
name = "system-configuration"
-version = "0.4.0"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd4bc0637a2b8c0b1a5145cca3e21b707865edc7e32285771536af1ade129468"
+checksum = "658bc6ee10a9b4fcf576e9b0819d95ec16f4d2c02d39fd83ac1c8789785c4a42"
dependencies = [
- "bitflags",
+ "bitflags 2.4.0",
"core-foundation",
"system-configuration-sys",
]
[[package]]
name = "system-configuration-sys"
-version = "0.4.1"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "269e271436d8e4bb2621c535a11fe03d5d012f74b19af72f80288f3a72f6180a"
+checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4"
dependencies = [
"core-foundation-sys",
"libc",
]
[[package]]
-name = "textwrap"
-version = "0.11.0"
+name = "tap"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-dependencies = [
- "unicode-width",
-]
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "thiserror"
-version = "1.0.40"
+version = "1.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 2.0.15",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.53",
]
[[package]]
name = "time"
-version = "0.1.45"
+version = "0.3.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "time"
-version = "0.3.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
dependencies = [
+ "deranged",
"itoa",
+ "num-conv",
+ "powerfmt",
"serde",
"time-core",
"time-macros",
@@ -1707,16 +1502,17 @@ dependencies = [
[[package]]
name = "time-core"
-version = "0.1.0"
+version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
[[package]]
name = "time-macros"
-version = "0.2.8"
+version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
dependencies = [
+ "num-conv",
"time-core",
]
@@ -1759,512 +1555,387 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "0.1.22"
+version = "1.49.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6"
+checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86"
dependencies = [
"bytes",
- "futures",
+ "libc",
"mio",
- "num_cpus",
- "tokio-codec",
- "tokio-current-thread",
- "tokio-executor",
- "tokio-fs",
- "tokio-io",
- "tokio-reactor",
- "tokio-sync",
- "tokio-tcp",
- "tokio-threadpool",
- "tokio-timer",
- "tokio-udp",
- "tokio-uds",
-]
-
-[[package]]
-name = "tokio-codec"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b"
-dependencies = [
- "bytes",
- "futures",
- "tokio-io",
+ "parking_lot",
+ "pin-project-lite",
+ "signal-hook-registry",
+ "socket2 0.6.3",
+ "tokio-macros",
+ "windows-sys 0.61.2",
]
[[package]]
-name = "tokio-current-thread"
-version = "0.1.7"
+name = "tokio-macros"
+version = "2.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e"
+checksum = "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c"
dependencies = [
- "futures",
- "tokio-executor",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.53",
]
[[package]]
-name = "tokio-executor"
-version = "0.1.10"
+name = "tokio-util"
+version = "0.7.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671"
+checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098"
dependencies = [
- "crossbeam-utils 0.7.2",
- "futures",
+ "bytes",
+ "futures-core",
+ "futures-io",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
]
[[package]]
-name = "tokio-fs"
-version = "0.1.7"
+name = "toml"
+version = "0.8.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "297a1206e0ca6302a0eed35b700d292b275256f596e2f3fea7729d5e629b6ff4"
+checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e"
dependencies = [
- "futures",
- "tokio-io",
- "tokio-threadpool",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit 0.22.20",
]
[[package]]
-name = "tokio-io"
-version = "0.1.13"
+name = "toml_datetime"
+version = "0.6.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674"
+checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
dependencies = [
- "bytes",
- "futures",
- "log 0.4.17",
+ "serde",
]
[[package]]
-name = "tokio-reactor"
-version = "0.1.12"
+name = "toml_edit"
+version = "0.19.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351"
+checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
dependencies = [
- "crossbeam-utils 0.7.2",
- "futures",
- "lazy_static",
- "log 0.4.17",
- "mio",
- "num_cpus",
- "parking_lot 0.9.0",
- "slab",
- "tokio-executor",
- "tokio-io",
- "tokio-sync",
+ "indexmap",
+ "toml_datetime",
+ "winnow 0.5.15",
]
[[package]]
-name = "tokio-signal"
-version = "0.2.9"
+name = "toml_edit"
+version = "0.22.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0c34c6e548f101053321cba3da7cbb87a610b85555884c41b07da2eb91aff12"
+checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d"
dependencies = [
- "futures",
- "libc",
- "mio",
- "mio-uds",
- "signal-hook-registry",
- "tokio-executor",
- "tokio-io",
- "tokio-reactor",
- "winapi 0.3.9",
+ "indexmap",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow 0.6.18",
]
[[package]]
-name = "tokio-sync"
-version = "0.1.8"
+name = "typenum"
+version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee"
-dependencies = [
- "fnv",
- "futures",
-]
+checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
[[package]]
-name = "tokio-tcp"
-version = "0.1.4"
+name = "uint"
+version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72"
+checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52"
dependencies = [
- "bytes",
- "futures",
- "iovec",
- "mio",
- "tokio-io",
- "tokio-reactor",
+ "byteorder",
+ "crunchy",
+ "hex",
+ "static_assertions",
]
[[package]]
-name = "tokio-threadpool"
-version = "0.1.18"
+name = "unicode-bidi"
+version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89"
-dependencies = [
- "crossbeam-deque",
- "crossbeam-queue",
- "crossbeam-utils 0.7.2",
- "futures",
- "lazy_static",
- "log 0.4.17",
- "num_cpus",
- "slab",
- "tokio-executor",
-]
+checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
[[package]]
-name = "tokio-timer"
-version = "0.2.13"
+name = "unicode-ident"
+version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296"
-dependencies = [
- "crossbeam-utils 0.7.2",
- "futures",
- "slab",
- "tokio-executor",
-]
+checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
[[package]]
-name = "tokio-udp"
-version = "0.1.6"
+name = "unicode-normalization"
+version = "0.1.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
dependencies = [
- "bytes",
- "futures",
- "log 0.4.17",
- "mio",
- "tokio-codec",
- "tokio-io",
- "tokio-reactor",
+ "tinyvec",
]
[[package]]
-name = "tokio-uds"
-version = "0.2.7"
+name = "unicode-xid"
+version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab57a4ac4111c8c9dbcf70779f6fc8bc35ae4b2454809febac840ad19bd7e4e0"
-dependencies = [
- "bytes",
- "futures",
- "iovec",
- "libc",
- "log 0.4.17",
- "mio",
- "mio-uds",
- "tokio-codec",
- "tokio-io",
- "tokio-reactor",
-]
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
[[package]]
-name = "toml"
-version = "0.5.11"
+name = "url"
+version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
dependencies = [
- "serde",
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
]
[[package]]
-name = "traitobject"
-version = "0.1.0"
+name = "utf8parse"
+version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
[[package]]
-name = "trust-dns-proto"
-version = "0.5.0"
+name = "version_check"
+version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0838272e89f1c693b4df38dc353412e389cf548ceed6f9fd1af5a8d6e0e7cf74"
-dependencies = [
- "byteorder",
- "failure",
- "futures",
- "idna",
- "lazy_static",
- "log 0.4.17",
- "rand 0.5.6",
- "smallvec",
- "socket2",
- "tokio-executor",
- "tokio-io",
- "tokio-reactor",
- "tokio-tcp",
- "tokio-timer",
- "tokio-udp",
- "url",
-]
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
[[package]]
-name = "trust-dns-proto"
-version = "0.6.3"
+name = "wasi"
+version = "0.9.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09144f0992b0870fa8d2972cc069cbf1e3c0fda64d1f3d45c4d68d0e0b52ad4e"
-dependencies = [
- "byteorder",
- "failure",
- "futures",
- "idna",
- "lazy_static",
- "log 0.4.17",
- "rand 0.5.6",
- "smallvec",
- "socket2",
- "tokio-executor",
- "tokio-io",
- "tokio-reactor",
- "tokio-tcp",
- "tokio-timer",
- "tokio-udp",
- "url",
-]
+checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
[[package]]
-name = "trust-dns-resolver"
-version = "0.10.3"
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
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.17",
- "lru-cache",
- "resolv-conf",
- "smallvec",
- "tokio",
- "trust-dns-proto 0.6.3",
-]
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
-name = "typeable"
-version = "0.1.2"
+name = "widestring"
+version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887"
+checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311"
[[package]]
-name = "typenum"
-version = "1.16.0"
+name = "windows-link"
+version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
[[package]]
-name = "uint"
-version = "0.8.5"
+name = "windows-sys"
+version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9db035e67dfaf7edd9aebfe8676afcd63eed53c8a4044fed514c8cccf1835177"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
- "byteorder",
- "crunchy",
- "rustc-hex",
- "static_assertions",
+ "windows-targets 0.48.5",
]
[[package]]
-name = "unicase"
-version = "1.4.2"
+name = "windows-sys"
+version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [
- "version_check",
+ "windows-targets 0.52.4",
]
[[package]]
-name = "unicode-bidi"
-version = "0.3.13"
+name = "windows-sys"
+version = "0.61.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
+checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
+dependencies = [
+ "windows-link",
+]
[[package]]
-name = "unicode-normalization"
-version = "0.1.22"
+name = "windows-targets"
+version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
dependencies = [
- "tinyvec",
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
]
[[package]]
-name = "unicode-width"
-version = "0.1.10"
+name = "windows-targets"
+version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.4",
+ "windows_aarch64_msvc 0.52.4",
+ "windows_i686_gnu 0.52.4",
+ "windows_i686_msvc 0.52.4",
+ "windows_x86_64_gnu 0.52.4",
+ "windows_x86_64_gnullvm 0.52.4",
+ "windows_x86_64_msvc 0.52.4",
+]
[[package]]
-name = "unicode-xid"
-version = "0.1.0"
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
[[package]]
-name = "unicode-xid"
-version = "0.2.4"
+name = "windows_aarch64_gnullvm"
+version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
[[package]]
-name = "url"
-version = "1.7.2"
+name = "windows_aarch64_msvc"
+version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
-dependencies = [
- "idna",
- "matches",
- "percent-encoding",
-]
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
[[package]]
-name = "uuid"
-version = "0.7.4"
+name = "windows_aarch64_msvc"
+version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a"
-dependencies = [
- "rand 0.6.5",
-]
+checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
[[package]]
-name = "vec_map"
-version = "0.8.2"
+name = "windows_i686_gnu"
+version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
[[package]]
-name = "version_check"
-version = "0.1.5"
+name = "windows_i686_gnu"
+version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
+checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
[[package]]
-name = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
+name = "windows_i686_msvc"
+version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
[[package]]
-name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
+name = "windows_i686_msvc"
+version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
+checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
+name = "windows_x86_64_gnu"
+version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
[[package]]
-name = "websocket"
-version = "0.26.5"
+name = "windows_x86_64_gnu"
+version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92aacab060eea423e4036820ddd28f3f9003b2c4d8048cbda985e5a14e18038d"
-dependencies = [
- "hyper",
- "rand 0.6.5",
- "unicase",
- "url",
- "websocket-base",
-]
+checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
[[package]]
-name = "websocket-base"
-version = "0.26.5"
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49aec794b07318993d1db16156d5a9c750120597a5ee40c6b928d416186cb138"
-dependencies = [
- "base64 0.10.1",
- "bitflags",
- "byteorder",
- "rand 0.6.5",
- "sha-1",
-]
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
[[package]]
-name = "widestring"
-version = "0.2.2"
+name = "windows_x86_64_gnullvm"
+version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7157704c2e12e3d2189c507b7482c52820a16dfa4465ba91add92f266667cadb"
+checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
[[package]]
-name = "widestring"
-version = "0.4.3"
+name = "windows_x86_64_msvc"
+version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
-name = "winapi"
-version = "0.2.8"
+name = "windows_x86_64_msvc"
+version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
+checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
[[package]]
-name = "winapi"
-version = "0.3.9"
+name = "winnow"
+version = "0.5.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc"
dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
+ "memchr",
]
[[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"
+name = "winnow"
+version = "0.6.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f"
+dependencies = [
+ "memchr",
+]
[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
+name = "winreg"
+version = "0.50.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
+dependencies = [
+ "cfg-if",
+ "windows-sys 0.48.0",
+]
[[package]]
name = "winreg"
-version = "0.5.1"
+version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a27a759395c1195c4cc5cda607ef6f8f6498f64e78f7900f5de0a127a424704a"
+checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5"
dependencies = [
- "winapi 0.3.9",
+ "cfg-if",
+ "windows-sys 0.48.0",
]
[[package]]
-name = "winreg"
-version = "0.6.2"
+name = "wyz"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
dependencies = [
- "winapi 0.3.9",
+ "tap",
]
[[package]]
-name = "winreg"
-version = "0.10.1"
+name = "zerocopy"
+version = "0.8.0-alpha.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
+checksum = "db678a6ee512bd06adf35c35be471cae2f9c82a5aed2b5d15e03628c98bddd57"
dependencies = [
- "winapi 0.3.9",
+ "zerocopy-derive",
]
[[package]]
-name = "ws2_32-sys"
-version = "0.2.1"
+name = "zerocopy-derive"
+version = "0.8.0-alpha.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
+checksum = "201585ea96d37ee69f2ac769925ca57160cef31acb137c16f38b02b76f4c1e62"
dependencies = [
- "winapi 0.2.8",
- "winapi-build",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.53",
]
diff --git a/dns_utility/Cargo.toml b/dns_utility/Cargo.toml
index 05ca8fb15..bef6de7ac 100644
--- a/dns_utility/Cargo.toml
+++ b/dns_utility/Cargo.toml
@@ -3,23 +3,22 @@ name = "dns_utility"
version = "0.7.3"
license = "GPL-3.0-only"
authors = ["Dan Wiebe ", "MASQ"]
-copyright = "Copyright (c) 2019, MASQ (https://masq.ai) and/or its affiliates. All rights reserved."
description = "Command-line utility to turn DNS subversion on and off"
edition = "2021"
[dependencies]
-regex = "1.5.4"
-libc = "0.2.107"
+regex = "1.10.4"
+libc = "0.2.155"
masq_lib = { path = "../masq_lib" }
[target.'cfg(target_os = "macos")'.dependencies]
-system-configuration = "0.4.0"
-core-foundation = "0.7.0"
+system-configuration = "0.6.0"
+core-foundation = "0.9.4"
[target.'cfg(target_os = "windows")'.dependencies]
-winreg = "0.10.1"
-ipconfig = "0.2.2"
+winreg = "0.52.0"
+ipconfig = "0.3.2"
[dev-dependencies]
diff --git a/dns_utility/src/dns_utility.rs b/dns_utility/src/dns_utility.rs
index 7c3a4c131..2f45bc688 100644
--- a/dns_utility/src/dns_utility.rs
+++ b/dns_utility/src/dns_utility.rs
@@ -3,7 +3,6 @@ use crate::dns_modifier::DnsModifier;
use crate::dns_modifier_factory::DnsModifierFactory;
use crate::dns_modifier_factory::DnsModifierFactoryReal;
use masq_lib::command::{Command, StdStreams};
-use masq_lib::short_writeln;
use std::io::Write;
enum Action {
@@ -47,10 +46,11 @@ impl DnsUtility {
fn perform_action(&self, action: Action, streams: &mut StdStreams<'_>) -> u8 {
let modifier = match self.factory.make() {
None => {
- short_writeln!(
+ writeln!(
streams.stderr,
"Don't know how to modify DNS settings on this system"
- );
+ )
+ .expect("writeln failed");
return 1;
}
Some(m) => m,
@@ -67,7 +67,7 @@ impl DnsUtility {
match result {
Ok(_) => 0,
Err(msg) => {
- short_writeln!(streams.stderr, "Cannot {}: {}", name, msg);
+ writeln!(streams.stderr, "Cannot {}: {}", name, msg).expect("writeln failed");
1
}
}
@@ -87,7 +87,7 @@ impl DnsUtility {
e
),
};
- short_writeln!(stdout, "{}", status);
+ writeln!(stdout, "{}", status).expect("writeln failed");
Ok(())
}
@@ -99,10 +99,11 @@ impl DnsUtility {
}
fn usage(streams: &mut StdStreams<'_>) -> u8 {
- short_writeln!(
+ writeln!(
streams.stderr,
"Usage: dns_utility [ subvert | revert | inspect | status ]"
- );
+ )
+ .expect("writeln failed");
1
}
}
diff --git a/dns_utility/src/resolv_conf_dns_modifier.rs b/dns_utility/src/resolv_conf_dns_modifier.rs
index d1981a50b..a7075ef11 100644
--- a/dns_utility/src/resolv_conf_dns_modifier.rs
+++ b/dns_utility/src/resolv_conf_dns_modifier.rs
@@ -218,8 +218,8 @@ impl ResolvConfDnsModifier {
})
.collect();
match results.len() {
- x if x == 0 => Ok(None),
- x if x == 1 => Ok(Some(results.remove(0))),
+ 0 => Ok(None),
+ 1 => Ok(Some(results.remove(0))),
_ => Err(String::from(
"This system's DNS settings don't make sense; aborting",
)),
diff --git a/masq/.idea/modules.xml b/masq/.idea/modules.xml
new file mode 100644
index 000000000..09a45471d
--- /dev/null
+++ b/masq/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/masq/.idea/vcs.xml b/masq/.idea/vcs.xml
new file mode 100644
index 000000000..6c0b86358
--- /dev/null
+++ b/masq/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/masq/Cargo.toml b/masq/Cargo.toml
index f2300bbd4..fa4b56129 100644
--- a/masq/Cargo.toml
+++ b/masq/Cargo.toml
@@ -10,24 +10,27 @@ workspace = "../node"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
-time = {version = "0.3.11", features = [ "macros" ]}
-clap = "2.33.3"
-crossbeam-channel = "0.5.1"
-itertools = "0.8.0"
-lazy_static = "1.4.0"
-linefeed = "0.6.0"
+atty = "0.2.14"
+clap = { version = "4.6.0", features = ["color"] }
+itertools = "0.14.0"
+lazy_static = "1.5.0"
+liso = {version ="1.2.1", default-features = false, features = ["history"]}
masq_lib = { path = "../masq_lib" }
-num = "0.4.0"
-regex = "1.5.4"
+num = "0.4.3"
+regex = "1.12.3"
+soketto = { workspace = true }
thousands = "0.2.0"
-websocket = {version = "0.26.2", default-features = false, features = ["sync"]}
-ctrlc = "3.2.1"
+tokio = { workspace = true, features = ["io-std"] }
+tokio-util = { workspace = true }
+futures = { workspace = true }
+async-channel = "2.5.0"
+async-trait = "0.1.89"
[target.'cfg(not(target_os = "windows"))'.dependencies]
-nix = "0.23.0"
+nix = "0.31.2"
[dev-dependencies]
-atty = "0.2.14"
+time = { version = "0.3.47", features = ["macros"] }
[lib]
name = "masq_cli_lib"
diff --git a/masq/src/clap_before_entrance.rs b/masq/src/clap_before_entrance.rs
new file mode 100644
index 000000000..7bff6a9dd
--- /dev/null
+++ b/masq/src/clap_before_entrance.rs
@@ -0,0 +1,221 @@
+// Copyright (c) 2019, MASQ (https://masq.ai) and/or its affiliates. All rights reserved.
+
+use crate::run_modes::EntryCheck;
+use crate::schema::app;
+use async_trait::async_trait;
+use clap::error::ErrorKind;
+use masq_lib::async_streams::AsyncStdStreams;
+use masq_lib::shared_schema::InsecurePort;
+use masq_lib::write_async_stream_and_flush;
+use tokio::io::AsyncWriteExt;
+
+#[async_trait(?Send)]
+pub trait InitialArgsParser {
+ async fn parse_initialization_args(
+ &self,
+ args: &[String],
+ std_streams: &mut AsyncStdStreams,
+ ) -> EntryCheck;
+}
+
+#[derive(Default)]
+pub struct InitialArgsParserReal {}
+
+#[async_trait(?Send)]
+impl InitialArgsParser for InitialArgsParserReal {
+ async fn parse_initialization_args(
+ &self,
+ args: &[String],
+ std_streams: &mut AsyncStdStreams,
+ ) -> EntryCheck {
+ let matches = match app().try_get_matches_from(args) {
+ Ok(m) => m,
+ Err(e) if e.kind() == ErrorKind::DisplayHelp => {
+ let help = app().render_long_help();
+ write_async_stream_and_flush!(std_streams.stdout, "{}", help);
+ return EntryCheck::Exit(0);
+ }
+ Err(e) if e.kind() == ErrorKind::DisplayVersion => {
+ let version = app().render_long_version();
+ write_async_stream_and_flush!(std_streams.stdout, "{}", version);
+ return EntryCheck::Exit(0);
+ }
+ Err(e) => {
+ write_async_stream_and_flush!(std_streams.stderr, "{}", e);
+ return EntryCheck::Exit(1);
+ }
+ };
+ let ui_port = matches
+ .get_one::("ui-port")
+ .expect("ui-port is not properly defaulted")
+ .port;
+
+ EntryCheck::Enter(InitializationArgs::new(ui_port))
+ }
+}
+
+#[derive(Debug)]
+pub struct InitializationArgs {
+ pub ui_port: u16,
+}
+
+impl InitializationArgs {
+ pub fn new(ui_port: u16) -> Self {
+ Self { ui_port }
+ }
+}
+
+#[cfg(test)]
+mod tests {
+ use super::*;
+ use crate::terminal::test_utils::allow_flushed_writings_to_finish;
+ use crate::test_utils::mocks::make_async_std_streams;
+ use masq_lib::constants::DEFAULT_UI_PORT;
+
+ #[tokio::test]
+ async fn initial_args_parser_real_produces_default_values() {
+ let (mut streams, handles) = make_async_std_streams(vec![]);
+
+ let result = InitialArgsParserReal::default()
+ .parse_initialization_args(
+ &vec!["masq", "setup", "--chain"]
+ .iter()
+ .map(|str| str.to_string())
+ .collect::>(),
+ &mut streams,
+ )
+ .await;
+
+ allow_flushed_writings_to_finish(None, None).await;
+ let init_args = match result {
+ EntryCheck::Enter(init_args) => init_args,
+ x => panic!("we expected Enter with init args but got {:?}", x),
+ };
+ assert_eq!(init_args.ui_port, DEFAULT_UI_PORT);
+ handles.assert_empty_stderr();
+ handles.assert_empty_stdout();
+ }
+
+ #[tokio::test]
+ async fn initial_args_parser_real_produces_custom_values() {
+ let (mut streams, handles) = make_async_std_streams(vec![]);
+
+ let result = InitialArgsParserReal::default()
+ .parse_initialization_args(
+ &vec!["masq", "--ui-port", "10000", "setup", "--log-level", "off"]
+ .iter()
+ .map(|str| str.to_string())
+ .collect::>(),
+ &mut streams,
+ )
+ .await;
+
+ allow_flushed_writings_to_finish(None, None).await;
+ let init_args = match result {
+ EntryCheck::Enter(init_args) => init_args,
+ x => panic!("we expected Enter with init args but got {:?}", x),
+ };
+ assert_eq!(init_args.ui_port, 10000);
+ handles.assert_empty_stderr();
+ handles.assert_empty_stdout();
+ }
+
+ #[tokio::test]
+ async fn initial_args_parser_can_display_help() {
+ let (mut streams, handles) = make_async_std_streams(vec![]);
+
+ let result = InitialArgsParserReal::default()
+ .parse_initialization_args(
+ &vec!["masq", "--help"]
+ .iter()
+ .map(|str| str.to_string())
+ .collect::>(),
+ &mut streams,
+ )
+ .await;
+
+ match result {
+ EntryCheck::Exit(0) => (),
+ x => panic!("we expected Leave with exit code 0 but got {:?}", x),
+ };
+ handles.assert_empty_stderr();
+ let stdout = handles.stdout_all_in_one();
+ assert!(stdout.contains("Usage: masq [OPTIONS] [COMMAND]") &&
+ stdout.contains("configuration Displays a running Node's current configuration.") &&
+ stdout.contains("setup Establishes (if Node is not already running) and displays startup parameters for MASQNode.")
+ , "We expected a help message but got: {}", stdout);
+ }
+
+ #[tokio::test]
+ async fn initial_args_parser_can_display_version() {
+ let (mut streams, handles) = make_async_std_streams(vec![]);
+
+ let result = InitialArgsParserReal::default()
+ .parse_initialization_args(
+ &vec!["masq", "--version"]
+ .iter()
+ .map(|str| str.to_string())
+ .collect::>(),
+ &mut streams,
+ )
+ .await;
+
+ match result {
+ EntryCheck::Exit(0) => (),
+ x => panic!("we expected Leave with exit code 0 but got {:?}", x),
+ };
+ handles.assert_empty_stderr();
+ let stdout = handles.stdout_all_in_one();
+ assert_eq!(
+ stdout, "masq 1.0.0\n",
+ "We expected to see the MASQ's version but got: {}",
+ stdout
+ );
+ }
+
+ #[tokio::test]
+ async fn initial_args_parser_catches_unintelligible_args() {
+ let inputs = vec![
+ (
+ vec!["masq", "command"],
+ "error: unrecognized subcommand 'command'",
+ ),
+ (
+ vec!["masq", "--ui-port"],
+ "a value is required for '--ui-port ' but none",
+ ),
+ (
+ vec!["masq", "--display-cartoons"],
+ "error: unexpected argument '--display-cartoons'",
+ ),
+ ];
+ for (args, expected_msg_fragment) in inputs {
+ let (mut streams, handles) = make_async_std_streams(vec![]);
+
+ let result = InitialArgsParserReal::default()
+ .parse_initialization_args(
+ &args
+ .iter()
+ .map(|str| str.to_string())
+ .collect::>(),
+ &mut streams,
+ )
+ .await;
+
+ allow_flushed_writings_to_finish(None, None).await;
+ match result {
+ EntryCheck::Exit(1) => (),
+ x => panic!("we expected Leave with exit code 1 but got {:?}", x),
+ };
+ handles.assert_empty_stdout();
+ let stderr = handles.stderr_all_in_one();
+ assert!(
+ stderr.contains(expected_msg_fragment),
+ "We expected to see this fragment of \
+ an error message from Clap: '{}', but this was invoked instead: '{}'",
+ expected_msg_fragment,
+ stderr
+ );
+ }
+ }
+}
diff --git a/masq/src/command_context.rs b/masq/src/command_context.rs
index de30503bb..dd314488d 100644
--- a/masq/src/command_context.rs
+++ b/masq/src/command_context.rs
@@ -1,15 +1,18 @@
// Copyright (c) 2019, MASQ (https://masq.ai) and/or its affiliates. All rights reserved.
use crate::command_context::ContextError::ConnectionRefused;
-use crate::communications::broadcast_handler::BroadcastHandle;
-use crate::communications::connection_manager::{ConnectionManager, REDIRECT_TIMEOUT_MILLIS};
+use crate::communications::connection_manager::{CMBootstrapper, ConnectionManager};
use crate::communications::node_conversation::ClientError;
-use crate::terminal::terminal_interface::TerminalWrapper;
+use crate::terminal::WTermInterfaceDupAndSend;
+use async_trait::async_trait;
+use masq_lib::arbitrary_id_stamp_in_trait;
use masq_lib::constants::{TIMEOUT_ERROR, UNMARSHAL_ERROR};
+#[cfg(test)]
+use masq_lib::intentionally_blank;
+#[cfg(test)]
+use masq_lib::test_utils::arbitrary_id_stamp::ArbitraryIdStamp;
use masq_lib::ui_gateway::MessageBody;
use std::fmt::{Debug, Formatter};
-use std::io;
-use std::io::{Read, Write};
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum ContextError {
@@ -24,6 +27,9 @@ impl From for ContextError {
fn from(client_error: ClientError) -> Self {
match client_error {
ClientError::ConnectionDropped => ContextError::ConnectionDropped(String::new()),
+ ClientError::ClosingStage => {
+ ContextError::ConnectionDropped("Close being executed".to_string())
+ }
ClientError::Deserialization(_) => ContextError::PayloadError(
UNMARSHAL_ERROR,
"Node or Daemon sent corrupted packet".to_string(),
@@ -45,26 +51,21 @@ impl From for ContextError {
}
}
+#[async_trait(?Send)]
pub trait CommandContext {
- fn active_port(&self) -> Option;
- fn send(&mut self, message: MessageBody) -> Result<(), ContextError>;
- fn transact(
- &mut self,
+ async fn active_port(&self) -> Option;
+ async fn send_one_way(&self, message: MessageBody) -> Result<(), ContextError>;
+ async fn transact(
+ &self,
message: MessageBody,
timeout_millis: u64,
) -> Result;
- fn stdin(&mut self) -> &mut dyn Read;
- fn stdout(&mut self) -> &mut dyn Write;
- fn stderr(&mut self) -> &mut dyn Write;
- fn close(&mut self);
+ fn close(&self);
+ arbitrary_id_stamp_in_trait!();
}
pub struct CommandContextReal {
connection: ConnectionManager,
- pub stdin: Box,
- pub stdout: Box,
- pub stderr: Box,
- pub terminal_interface: Option,
}
impl Debug for CommandContextReal {
@@ -73,26 +74,29 @@ impl Debug for CommandContextReal {
}
}
+#[async_trait(?Send)]
impl CommandContext for CommandContextReal {
- fn active_port(&self) -> Option {
- self.connection.active_ui_port()
+ async fn active_port(&self) -> Option {
+ self.connection.active_ui_port().await
}
- fn send(&mut self, outgoing_message: MessageBody) -> Result<(), ContextError> {
- let conversation = self.connection.start_conversation();
- match conversation.send(outgoing_message) {
+ async fn send_one_way(&self, outgoing_message: MessageBody) -> Result<(), ContextError> {
+ let conversation = self.connection.start_conversation().await;
+ match conversation.send(outgoing_message).await {
Ok(_) => Ok(()),
Err(e) => Err(e.into()),
}
}
- fn transact(
- &mut self,
+ async fn transact(
+ &self,
outgoing_message: MessageBody,
timeout_millis: u64,
) -> Result {
- let conversation = self.connection.start_conversation();
- let incoming_message_result = conversation.transact(outgoing_message, timeout_millis);
+ let conversation = self.connection.start_conversation().await;
+ let incoming_message_result = conversation
+ .transact(outgoing_message, timeout_millis)
+ .await;
let incoming_message = match incoming_message_result {
Err(e) => return Err(e.into()),
Ok(message) => match message.payload {
@@ -103,44 +107,27 @@ impl CommandContext for CommandContextReal {
Ok(incoming_message)
}
- fn stdin(&mut self) -> &mut dyn Read {
- &mut self.stdin
- }
-
- fn stdout(&mut self) -> &mut dyn Write {
- &mut self.stdout
- }
-
- fn stderr(&mut self) -> &mut dyn Write {
- &mut self.stderr
- }
-
- fn close(&mut self) {
+ fn close(&self) {
self.connection.close();
}
}
impl CommandContextReal {
- pub fn new(
+ pub async fn new(
daemon_ui_port: u16,
- foreground_terminal_interface: Option,
- generic_broadcast_handle: Box,
+ terminal_interface_opt: Option>,
+ bootstrapper: CMBootstrapper,
) -> Result {
- let mut connection = ConnectionManager::new();
- match connection.connect(
- daemon_ui_port,
- generic_broadcast_handle,
- REDIRECT_TIMEOUT_MILLIS,
- ) {
- Ok(_) => Ok(Self {
- connection,
- stdin: Box::new(io::stdin()),
- stdout: Box::new(io::stdout()),
- stderr: Box::new(io::stderr()),
- terminal_interface: foreground_terminal_interface,
- }),
- Err(e) => Err(ConnectionRefused(format!("{:?}", e))),
- }
+ let result = bootstrapper
+ .establish_connection_manager(daemon_ui_port, terminal_interface_opt)
+ .await;
+
+ let connection = match result {
+ Ok(c) => c,
+ Err(e) => return Err(ConnectionRefused(format!("{:?}", e))),
+ };
+
+ Ok(Self { connection })
}
}
@@ -150,14 +137,17 @@ mod tests {
use crate::command_context::ContextError::{
ConnectionDropped, ConnectionRefused, PayloadError,
};
- use crate::communications::broadcast_handler::BroadcastHandleInactive;
- use masq_lib::messages::{FromMessageBody, UiCrashRequest, UiSetupRequest};
- use masq_lib::messages::{ToMessageBody, UiShutdownRequest, UiShutdownResponse};
- use masq_lib::test_utils::fake_stream_holder::{ByteArrayReader, ByteArrayWriter};
- use masq_lib::test_utils::mock_websockets_server::MockWebSocketsServer;
+ use crate::test_utils::websockets_utils::simulate_server_ws_handshake;
+ use masq_lib::messages::{
+ FromMessageBody, ToMessageBody, UiShutdownRequest, UiShutdownResponse, NODE_UI_PROTOCOL,
+ };
+ use masq_lib::messages::{UiCrashRequest, UiSetupRequest};
+ use masq_lib::test_utils::mock_websockets_server::{MWSSMessage, MockWebSocketsServer};
use masq_lib::ui_gateway::MessageBody;
use masq_lib::ui_gateway::MessagePath::Conversation;
- use masq_lib::ui_traffic_converter::{TrafficConversionError, UnmarshalError};
+ use masq_lib::ui_traffic_converter::{
+ TrafficConversionError, UiTrafficConverter, UnmarshalError,
+ };
use masq_lib::utils::{find_free_port, running_test};
#[test]
@@ -165,6 +155,7 @@ mod tests {
running_test();
let result: Vec = vec![
ClientError::FallbackFailed("fallback reason".to_string()),
+ ClientError::ClosingStage,
ClientError::ConnectionDropped,
ClientError::NoServer(1234, "blah".to_string()),
ClientError::Timeout(1234),
@@ -181,6 +172,7 @@ mod tests {
result,
vec![
ContextError::ConnectionDropped("fallback reason".to_string()),
+ ContextError::ConnectionDropped("Close being executed".to_string()),
ContextError::ConnectionDropped("".to_string()),
ContextError::ConnectionDropped(
"No server listening on port 1234 where it's supposed to be".to_string()
@@ -201,67 +193,29 @@ mod tests {
);
}
- #[test]
- fn sets_active_port_correctly_initially() {
+ #[tokio::test]
+ async fn is_created_correctly_initially() {
running_test();
let port = find_free_port();
let server = MockWebSocketsServer::new(port);
- let handle = server.start();
- let broadcast_handle = BroadcastHandleInactive;
-
- let subject = CommandContextReal::new(port, None, Box::new(broadcast_handle)).unwrap();
+ let _server_stop_handle = server.start().await;
+ let bootstrapper = CMBootstrapper::default();
- assert_eq!(subject.active_port(), Some(port));
- handle.stop();
- }
-
- #[test]
- fn transact_works_when_everythings_fine() {
- running_test();
- let port = find_free_port();
- let stdin = ByteArrayReader::new(b"This is stdin.");
- let stdout = ByteArrayWriter::new();
- let stdout_arc = stdout.inner_arc();
- let stderr = ByteArrayWriter::new();
- let stderr_arc = stderr.inner_arc();
- let server = MockWebSocketsServer::new(port).queue_response(UiShutdownResponse {}.tmb(1));
- let stop_handle = server.start();
- let broadcast_handle = BroadcastHandleInactive;
-
- let mut subject = CommandContextReal::new(port, None, Box::new(broadcast_handle)).unwrap();
- subject.stdin = Box::new(stdin);
- subject.stdout = Box::new(stdout);
- subject.stderr = Box::new(stderr);
-
- let response = subject.transact(UiShutdownRequest {}.tmb(1), 1000).unwrap();
- let mut input = String::new();
- subject.stdin().read_to_string(&mut input).unwrap();
- write!(subject.stdout(), "This is stdout.").unwrap();
- write!(subject.stderr(), "This is stderr.").unwrap();
+ let subject = CommandContextReal::new(port, None, bootstrapper)
+ .await
+ .unwrap();
- assert_eq!(
- UiShutdownResponse::fmb(response).unwrap(),
- (UiShutdownResponse {}, 1)
- );
- assert_eq!(input, "This is stdin.".to_string());
- assert_eq!(
- stdout_arc.lock().unwrap().get_string(),
- "This is stdout.".to_string()
- );
- assert_eq!(
- stderr_arc.lock().unwrap().get_string(),
- "This is stderr.".to_string()
- );
- stop_handle.stop();
+ assert_eq!(subject.active_port().await, Some(port));
+ assert_eq!(subject.connection.is_closing(), false)
}
- #[test]
- fn works_when_server_isnt_present() {
+ #[tokio::test]
+ async fn works_when_server_isnt_present() {
running_test();
let port = find_free_port();
- let broadcast_handle = BroadcastHandleInactive;
+ let bootstrapper = CMBootstrapper::default();
- let result = CommandContextReal::new(port, None, Box::new(broadcast_handle));
+ let result = CommandContextReal::new(port, None, bootstrapper).await;
match result {
Err(ConnectionRefused(_)) => (),
@@ -270,8 +224,31 @@ mod tests {
}
}
- #[test]
- fn transact_works_when_server_sends_payload_error() {
+ #[tokio::test]
+ async fn transact_works_when_everything_is_fine() {
+ running_test();
+ let port = find_free_port();
+ let request = UiShutdownRequest {}.tmb(1);
+ let expected_response = UiShutdownResponse {}.tmb(1);
+ let server = MockWebSocketsServer::new(port).queue_response(expected_response.clone());
+ let server_stop_handle = server.start().await;
+ let bootstrapper = CMBootstrapper::default();
+ let subject = CommandContextReal::new(port, None, bootstrapper)
+ .await
+ .unwrap();
+
+ let result = subject.transact(request.clone(), 1000).await;
+
+ assert_eq!(result, Ok(expected_response));
+ let mut recorded = server_stop_handle.stop().await;
+ let request = recorded.requests.remove(0);
+ UiShutdownRequest::fmb(request.message_body()).unwrap();
+ assert!(recorded.requests.is_empty());
+ assert_eq!(recorded.proposed_protocols, vec![NODE_UI_PROTOCOL])
+ }
+
+ #[tokio::test]
+ async fn transact_works_when_server_sends_payload_error() {
running_test();
let port = find_free_port();
let server = MockWebSocketsServer::new(port).queue_response(MessageBody {
@@ -279,74 +256,70 @@ mod tests {
path: Conversation(1),
payload: Err((101, "booga".to_string())),
});
- let stop_handle = server.start();
- let broadcast_handle = BroadcastHandleInactive;
- let mut subject = CommandContextReal::new(port, None, Box::new(broadcast_handle)).unwrap();
+ let _stop_handle = server.start().await;
+ let bootstrapper = CMBootstrapper::default();
+ let subject = CommandContextReal::new(port, None, bootstrapper)
+ .await
+ .unwrap();
- let response = subject.transact(UiSetupRequest { values: vec![] }.tmb(1), 1000);
+ let response = subject
+ .transact(UiSetupRequest { values: vec![] }.tmb(1), 1000)
+ .await;
assert_eq!(response, Err(PayloadError(101, "booga".to_string())));
- stop_handle.stop();
}
- #[test]
- fn transact_works_when_server_sends_connection_error() {
+ #[tokio::test]
+ async fn transact_works_when_server_sends_connection_error() {
running_test();
let port = find_free_port();
- let server = MockWebSocketsServer::new(port).queue_string("disconnect");
- let stop_handle = server.start();
- let broadcast_handle = BroadcastHandleInactive;
- let mut subject = CommandContextReal::new(port, None, Box::new(broadcast_handle)).unwrap();
+ let (background_task_ready_tx, background_task_ready_rx) = tokio::sync::oneshot::channel();
+ let server_side_join_handle = tokio::task::spawn(async move {
+ background_task_ready_tx.send(()).unwrap();
+ let (_sender, mut receiver) = simulate_server_ws_handshake(port).await;
+ let mut incoming_msg = Vec::new();
+ let _ = receiver.receive_data(&mut incoming_msg).await.unwrap();
+ let txt = std::str::from_utf8(&incoming_msg).expect("Error converting data to text");
+ let msg = UiTrafficConverter::new_unmarshal_from_ui(txt, 0).unwrap();
+ msg.body
+ });
+ let bootstrapper = CMBootstrapper::default();
+ let request = UiSetupRequest { values: vec![] }.tmb(1);
+ background_task_ready_rx.await.unwrap();
+ let subject = CommandContextReal::new(port, None, bootstrapper)
+ .await
+ .unwrap();
- let response = subject.transact(UiSetupRequest { values: vec![] }.tmb(1), 1000);
+ let response = subject.transact(request.clone(), 1000).await;
match response {
Err(ConnectionDropped(_)) => (),
x => panic!("Expected ConnectionDropped; got {:?} instead", x),
}
- stop_handle.stop();
+ let recorded_msg_body = server_side_join_handle.await.unwrap();
+ assert_eq!(recorded_msg_body, request)
}
- #[test]
- fn send_works_when_everythings_fine() {
+ #[tokio::test]
+ async fn send_works_when_everything_fine() {
running_test();
let port = find_free_port();
- let stdin = ByteArrayReader::new(b"This is stdin.");
- let stdout = ByteArrayWriter::new();
- let stdout_arc = stdout.inner_arc();
- let stderr = ByteArrayWriter::new();
- let stderr_arc = stderr.inner_arc();
- let server = MockWebSocketsServer::new(port);
- let stop_handle = server.start();
- let broadcast_handle = BroadcastHandleInactive;
- let subject_result = CommandContextReal::new(port, None, Box::new(broadcast_handle));
- let mut subject = subject_result.unwrap();
- subject.stdin = Box::new(stdin);
- subject.stdout = Box::new(stdout);
- subject.stderr = Box::new(stderr);
+ let server_stop_handle = MockWebSocketsServer::new(port).start().await;
+ let bootstrapper = CMBootstrapper::default();
+ let subject = CommandContextReal::new(port, None, bootstrapper)
+ .await
+ .unwrap();
let msg = UiCrashRequest {
actor: "Dispatcher".to_string(),
panic_message: "Message".to_string(),
}
.tmb(0);
- let result = subject.send(msg);
+ let result = subject.send_one_way(msg.clone()).await;
assert_eq!(result, Ok(()));
- let mut input = String::new();
- subject.stdin().read_to_string(&mut input).unwrap();
- write!(subject.stdout(), "This is stdout.").unwrap();
- write!(subject.stderr(), "This is stderr.").unwrap();
-
- assert_eq!(input, "This is stdin.".to_string());
- assert_eq!(
- stdout_arc.lock().unwrap().get_string(),
- "This is stdout.".to_string()
- );
- assert_eq!(
- stderr_arc.lock().unwrap().get_string(),
- "This is stderr.".to_string()
- );
- stop_handle.stop();
+ let recorded = server_stop_handle.stop().await;
+ assert_eq!(recorded.requests, vec![MWSSMessage::MessageBody(msg)]);
+ assert_eq!(recorded.proposed_protocols, vec![NODE_UI_PROTOCOL])
}
}
diff --git a/masq/src/command_context_factory.rs b/masq/src/command_context_factory.rs
new file mode 100644
index 000000000..84822833f
--- /dev/null
+++ b/masq/src/command_context_factory.rs
@@ -0,0 +1,34 @@
+// Copyright (c) 2024, MASQ (https://masq.ai) and/or its affiliates. All rights reserved.
+
+use crate::command_context::{CommandContext, CommandContextReal};
+use crate::commands::commands_common::CommandError;
+use crate::communications::connection_manager::CMBootstrapper;
+use crate::terminal::WTermInterfaceDupAndSend;
+use async_trait::async_trait;
+
+#[async_trait(?Send)]
+pub trait CommandContextFactory {
+ async fn make(
+ &self,
+ ui_port: u16,
+ term_interface_opt: Option>,
+ ) -> Result, CommandError>;
+}
+
+#[derive(Default)]
+pub struct CommandContextFactoryReal {}
+
+#[async_trait(?Send)]
+impl CommandContextFactory for CommandContextFactoryReal {
+ async fn make(
+ &self,
+ ui_port: u16,
+ term_interface_opt: Option>,
+ ) -> Result, CommandError> {
+ match CommandContextReal::new(ui_port, term_interface_opt, CMBootstrapper::default()).await
+ {
+ Ok(cc) => Ok(Box::new(cc) as Box),
+ Err(e) => Err(e.into()),
+ }
+ }
+}
diff --git a/masq/src/command_factory.rs b/masq/src/command_factory.rs
index 21222c454..5602238aa 100644
--- a/masq/src/command_factory.rs
+++ b/masq/src/command_factory.rs
@@ -17,19 +17,31 @@ use crate::commands::setup_command::SetupCommand;
use crate::commands::shutdown_command::ShutdownCommand;
use crate::commands::start_command::StartCommand;
use crate::commands::wallet_addresses_command::WalletAddressesCommand;
+use std::fmt::{Display, Formatter};
#[derive(Debug, PartialEq, Eq)]
pub enum CommandFactoryError {
- UnrecognizedSubcommand(String),
+ UnrecognizedSubcommand { from_cml: String },
CommandSyntax(String),
}
+impl Display for CommandFactoryError {
+ fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ match self {
+ CommandFactoryError::CommandSyntax(msg) => write!(f, "Command syntax error: {}", msg),
+ CommandFactoryError::UnrecognizedSubcommand { from_cml } => {
+ write!(f, "Unrecognized command: \"{}\"", from_cml)
+ }
+ }
+ }
+}
+
pub trait CommandFactory {
fn make(&self, pieces: &[String]) -> Result, CommandFactoryError>;
}
#[derive(Default)]
-pub struct CommandFactoryReal;
+pub struct CommandFactoryReal {}
impl CommandFactory for CommandFactoryReal {
fn make(&self, pieces: &[String]) -> Result, CommandFactoryError> {
@@ -86,14 +98,17 @@ impl CommandFactory for CommandFactoryReal {
Ok(command) => Box::new(command),
Err(msg) => return Err(CommandSyntax(msg)),
},
- unrecognized => return Err(UnrecognizedSubcommand(unrecognized.to_string())),
+ unrecognized => {
+ return Err(UnrecognizedSubcommand {
+ from_cml: unrecognized.to_string(),
+ })
+ }
};
Ok(boxed_command)
}
}
impl CommandFactoryReal {
- #[allow(dead_code)]
pub fn new() -> Self {
Self::default()
}
@@ -113,7 +128,12 @@ mod tests {
.err()
.unwrap();
- assert_eq!(result, UnrecognizedSubcommand("booga".to_string()));
+ assert_eq!(
+ result,
+ UnrecognizedSubcommand {
+ from_cml: "booga".to_string()
+ }
+ );
}
#[test]
@@ -153,7 +173,7 @@ mod tests {
x => panic!("Expected CommandSyntax error; got {:?}", x),
};
assert_eq!(
- err.contains("The following required arguments were not provided"),
+ err.contains("the following required arguments were not provided"),
true,
"{}",
err
@@ -188,14 +208,9 @@ mod tests {
]);
match result {
- Err(CommandFactoryError::CommandSyntax(msg)) => {
+ Err(CommandSyntax(msg)) => {
// Note: when run with MASQ/Node/ci/all.sh, msg contains escape sequences for color.
- assert_eq!(
- msg.contains("which wasn't expected, or isn't valid in this context"),
- true,
- "{}",
- msg
- )
+ assert_eq!(msg.contains("unexpected argument"), true, "{}", msg)
}
x => panic!("Expected CommandSyntax error, got {:?}", x),
}
@@ -272,7 +287,7 @@ mod tests {
x => panic!("Expected syntax error, got {:?}", x),
};
assert!(
- msg.contains("The following required arguments were not provided:"),
+ msg.contains("the following required arguments were not provided:"),
"{}",
msg
);
@@ -291,14 +306,15 @@ mod tests {
CommandSyntax(msg) => msg,
x => panic!("Expected syntax error, got {:?}", x),
};
- assert_eq!(msg.contains("Found argument '"), true, "{}", msg);
- assert_eq!(msg.contains("--booga"), true, "{}", msg);
+ assert_eq!(msg.contains("error:"), true, "{}", msg);
assert_eq!(
- msg.contains("which wasn't expected, or isn't valid in this context"),
+ msg.contains("unexpected argument '"),
true,
"{}",
msg
);
+ assert_eq!(msg.contains("--booga"), true, "{}", msg);
+ assert_eq!(msg.contains("For more information, try"), true, "{}", msg);
}
#[test]
@@ -318,14 +334,8 @@ mod tests {
CommandSyntax(msg) => msg,
x => panic!("Expected syntax error, got {:?}", x),
};
- assert_eq!(msg.contains("Found argument"), true, "{}", msg);
assert_eq!(msg.contains("--invalid"), true, "{}", msg);
- assert_eq!(
- msg.contains("which wasn't expected, or isn't valid in this context"),
- true,
- "{}",
- msg
- );
+ assert_eq!(msg.contains("unexpected argument"), true, "{}", msg);
}
#[test]
@@ -360,14 +370,8 @@ mod tests {
CommandSyntax(msg) => msg,
x => panic!("Expected syntax error, got {:?}", x),
};
- assert_eq!(msg.contains("Found argument"), true, "{}", msg);
assert_eq!(msg.contains("--invalid"), true, "{}", msg);
- assert_eq!(
- msg.contains("which wasn't expected, or isn't valid in this context"),
- true,
- "{}",
- msg
- );
+ assert_eq!(msg.contains("unexpected argument"), true, "{}", msg);
}
#[test]
@@ -387,14 +391,8 @@ mod tests {
CommandSyntax(msg) => msg,
x => panic!("Expected syntax error, got {:?}", x),
};
- assert_eq!(msg.contains("Found argument"), true, "{}", msg);
assert_eq!(msg.contains("--make-me-rich"), true, "{}", msg);
- assert_eq!(
- msg.contains("which wasn't expected, or isn't valid in this context"),
- true,
- "{}",
- msg
- );
+ assert_eq!(msg.contains("unexpected argument"), true, "{}", msg);
}
#[test]
@@ -425,7 +423,7 @@ mod tests {
Err(CommandFactoryError::CommandSyntax(msg)) => {
// Note: when run with MASQ/Node/ci/all.sh, msg contains escape sequences for color.
assert_eq!(
- msg.contains("The following required arguments were not provided:"),
+ msg.contains("the following required arguments were not provided:"),
true,
"{}",
msg
@@ -434,4 +432,19 @@ mod tests {
x => panic!("Expected CommandSyntax error, got {:?}", x),
}
}
+
+ #[test]
+ fn command_factory_error_implements_display() {
+ assert_eq!(
+ CommandFactoryError::CommandSyntax("This is a mess".to_string()).to_string(),
+ "Command syntax error: This is a mess"
+ );
+ assert_eq!(
+ CommandFactoryError::UnrecognizedSubcommand {
+ from_cml: "Can you spell it for me?".to_string()
+ }
+ .to_string(),
+ "Unrecognized command: \"Can you spell it for me?\""
+ )
+ }
}
diff --git a/masq/src/command_processor.rs b/masq/src/command_processor.rs
index ade770c61..eed800314 100644
--- a/masq/src/command_processor.rs
+++ b/masq/src/command_processor.rs
@@ -1,113 +1,413 @@
// Copyright (c) 2019, MASQ (https://masq.ai) and/or its affiliates. All rights reserved.
-use crate::command_context::CommandContextReal;
-use crate::command_context::{CommandContext, ContextError};
+use crate::command_context::CommandContext;
+use crate::command_context_factory::CommandContextFactory;
+use crate::command_factory::CommandFactory;
use crate::commands::commands_common::{Command, CommandError};
-use crate::communications::broadcast_handler::BroadcastHandle;
-use crate::terminal::terminal_interface::TerminalWrapper;
-use masq_lib::utils::ExpectValue;
+use crate::masq_short_writeln;
+use crate::terminal::{FlushHandle, RWTermInterface, ReadInput, TerminalWriter, WTermInterface};
+use async_trait::async_trait;
+use itertools::Either;
+use liso::History;
+use masq_lib::utils::exit_process;
+use std::sync::Arc;
-pub trait CommandProcessorFactory {
- fn make(
- &self,
- terminal_interface: Option,
- generic_broadcast_handle: Box,
- ui_port: u16,
- ) -> Result, CommandError>;
-}
+pub struct CommandProcessorFactory {}
-#[derive(Default)]
-pub struct CommandProcessorFactoryReal;
-
-impl CommandProcessorFactory for CommandProcessorFactoryReal {
- fn make(
+impl CommandProcessorFactory {
+ pub async fn make(
&self,
- terminal_interface: Option,
- generic_broadcast_handle: Box,
+ term_interface: Either, Box>,
+ command_context_factory: &dyn CommandContextFactory,
+ command_execution_helper_factory: &dyn CommandExecutionHelperFactory,
+ command_factory: Arc,
ui_port: u16,
) -> Result, CommandError> {
- match CommandContextReal::new(ui_port, terminal_interface, generic_broadcast_handle) {
- Ok(context) => Ok(Box::new(CommandProcessorReal { context })),
- Err(ContextError::ConnectionRefused(s)) => Err(CommandError::ConnectionProblem(s)),
- Err(e) => panic!("Unexpected error: {:?}", e),
+ let background_term_interface_opt = match &term_interface {
+ Either::Left(_) => None,
+ Either::Right(read_write) => Some(read_write.write_only_clone()),
+ };
+
+ let command_context = command_context_factory
+ .make(ui_port, background_term_interface_opt)
+ .await?;
+
+ let command_execution_helper = command_execution_helper_factory.make();
+
+ let command_processor_common =
+ CommandProcessorCommon::new(command_context, command_factory, command_execution_helper);
+ match term_interface {
+ Either::Left(write_only_ti) => Ok(Box::new(CommandProcessorNonInteractive::new(
+ command_processor_common,
+ write_only_ti,
+ ))),
+ Either::Right(read_write_ti) => Ok(Box::new(CommandProcessorInteractive::new(
+ command_processor_common,
+ read_write_ti,
+ ))),
}
}
}
-impl CommandProcessorFactoryReal {
+impl Default for CommandProcessorFactory {
+ fn default() -> Self {
+ Self::new()
+ }
+}
+
+impl CommandProcessorFactory {
pub fn new() -> Self {
- Self::default()
+ Self {}
+ }
+}
+
+#[async_trait(?Send)]
+pub trait CommandProcessor: ProcessorProvidingCommonComponents {
+ async fn process_command_line(
+ &mut self,
+ initial_subcommand_opt: Option<&[String]>,
+ ) -> Result<(), ()>;
+
+ async fn handle_command_common(&mut self, command_parts: &[String]) -> Result<(), ()> {
+ let components = self.components();
+ let terminal_interface = self.write_only_term_interface();
+ let command_factory = components.command_factory.as_ref();
+ let command_execution_helper = components.command_execution_helper.as_ref();
+ let command_context = components.command_context.as_ref();
+ let (stderr, _flush_handle) = terminal_interface.stderr();
+
+ let command = match command_factory.make(command_parts) {
+ Ok(c) => c,
+ Err(e) => {
+ masq_short_writeln!(stderr, "{}", e);
+ return Err(());
+ }
+ };
+
+ let res = command_execution_helper
+ .execute_command(command, command_context, terminal_interface)
+ .await;
+
+ match res {
+ Ok(_) => Ok(()),
+ Err(e) => {
+ masq_short_writeln!(stderr, "{}", e);
+ Err(())
+ }
+ }
+ }
+
+ fn write_only_term_interface(&self) -> &dyn WTermInterface;
+
+ fn stdout(&self) -> (TerminalWriter, FlushHandle);
+
+ fn stderr(&self) -> (TerminalWriter, FlushHandle);
+
+ async fn close(&mut self);
+}
+
+pub trait ProcessorProvidingCommonComponents {
+ fn components(&self) -> &CommandProcessorCommon;
+}
+
+pub struct CommandProcessorCommon {
+ command_context: Box,
+ command_factory: Arc,
+ command_execution_helper: Box,
+}
+
+impl CommandProcessorCommon {
+ fn new(
+ command_context: Box,
+ command_factory: Arc,
+ command_execution_helper: Box,
+ ) -> Self {
+ Self {
+ command_context,
+ command_factory,
+ command_execution_helper,
+ }
+ }
+}
+
+pub struct CommandProcessorNonInteractive {
+ command_processor_common: CommandProcessorCommon,
+ terminal_interface: Box,
+}
+
+#[async_trait(?Send)]
+impl CommandProcessor for CommandProcessorNonInteractive {
+ async fn process_command_line(
+ &mut self,
+ initial_subcommand_opt: Option<&[String]>,
+ ) -> Result<(), ()> {
+ let command_args = initial_subcommand_opt.expect("Missing args in non-interactive mode");
+ self.handle_command_common(command_args).await
+ }
+
+ fn write_only_term_interface(&self) -> &dyn WTermInterface {
+ self.terminal_interface.as_ref()
+ }
+
+ fn stdout(&self) -> (TerminalWriter, FlushHandle) {
+ self.terminal_interface.stdout()
+ }
+
+ fn stderr(&self) -> (TerminalWriter, FlushHandle) {
+ self.terminal_interface.stderr()
+ }
+
+ async fn close(&mut self) {
+ self.command_processor_common.command_context.close();
+ }
+}
+
+impl ProcessorProvidingCommonComponents for CommandProcessorNonInteractive {
+ fn components(&self) -> &CommandProcessorCommon {
+ &self.command_processor_common
}
}
-pub trait CommandProcessor {
- fn process(&mut self, command: Box) -> Result<(), CommandError>;
- fn close(&mut self);
- fn terminal_wrapper_ref(&self) -> &TerminalWrapper;
+impl CommandProcessorNonInteractive {
+ fn new(
+ command_processor_common: CommandProcessorCommon,
+ terminal_interface: Box,
+ ) -> Self {
+ Self {
+ command_processor_common,
+ terminal_interface,
+ }
+ }
}
-pub struct CommandProcessorReal {
- context: CommandContextReal,
+pub struct CommandProcessorInteractive {
+ command_processor_common: CommandProcessorCommon,
+ terminal_interface: Box,
+ command_history: History,
}
-impl CommandProcessor for CommandProcessorReal {
- #[allow(clippy::branches_sharing_code)]
- fn process(&mut self, command: Box) -> Result<(), CommandError> {
- if let Some(synchronizer) = self.context.terminal_interface.clone() {
- let _lock = synchronizer.lock();
- return command.execute(&mut self.context);
+#[async_trait(?Send)]
+impl CommandProcessor for CommandProcessorInteractive {
+ async fn process_command_line(
+ &mut self,
+ _initial_subcommand_opt: Option<&[String]>,
+ ) -> Result<(), ()> {
+ loop {
+ let args = if let Some(args) = self.handle_new_read().await? {
+ args
+ } else {
+ continue;
+ };
+
+ if let [single_arg] = args[..].as_ref() {
+ if single_arg == "exit" {
+ return Ok(());
+ }
+ }
+
+ if self.handle_command_common(&args).await.is_err() {
+ return Err(());
+ }
}
- command.execute(&mut self.context)
}
- fn close(&mut self) {
- self.context.close();
+ fn write_only_term_interface(&self) -> &dyn WTermInterface {
+ self.terminal_interface.write_only_ref()
+ }
+
+ fn stdout(&self) -> (TerminalWriter, FlushHandle) {
+ self.write_only_term_interface().stdout()
+ }
+
+ fn stderr(&self) -> (TerminalWriter, FlushHandle) {
+ self.write_only_term_interface().stderr()
+ }
+
+ async fn close(&mut self) {
+ let (writer, _flush_handle) = self.terminal_interface.write_only_ref().stdout();
+
+ masq_short_writeln!(writer, "MASQ is terminating...");
+
+ self.command_processor_common.command_context.close();
+ }
+}
+
+impl CommandProcessorInteractive {
+ fn new(
+ command_processor_common: CommandProcessorCommon,
+ terminal_interface: Box,
+ ) -> CommandProcessorInteractive {
+ Self {
+ command_processor_common,
+ terminal_interface,
+ command_history: Default::default(),
+ }
+ }
+
+ async fn handle_new_read(&mut self) -> Result