summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntoine A <>2023-11-21 00:47:30 +0100
committerAntoine A <>2023-11-21 00:47:30 +0100
commit42ba478f5dc26e0e2654112d3dba33e61ffdc1fa (patch)
treebf1779667ccffbdc396a7029c7c700de2a7e76ad
parentc3f80619983e4eb80897c87add51bc70594e4b54 (diff)
downloaddepolymerization-42ba478f5dc26e0e2654112d3dba33e61ffdc1fa.tar.gz
depolymerization-42ba478f5dc26e0e2654112d3dba33e61ffdc1fa.tar.bz2
depolymerization-42ba478f5dc26e0e2654112d3dba33e61ffdc1fa.zip
Support ethereum 1.13.5
Use POA ethereum network for tests Improve test runner Update dependencies
-rw-r--r--Cargo.lock505
-rw-r--r--README.md4
-rw-r--r--btc-wire/Cargo.toml8
-rw-r--r--btc-wire/src/bin/segwit-demo.rs2
-rw-r--r--btc-wire/src/lib.rs6
-rw-r--r--common/Cargo.toml4
-rw-r--r--common/src/currency.rs8
-rw-r--r--eth-wire/Cargo.toml4
-rw-r--r--eth-wire/src/rpc.rs73
-rw-r--r--instrumentation/Cargo.toml8
-rw-r--r--instrumentation/src/btc.rs12
-rw-r--r--instrumentation/src/eth.rs33
-rw-r--r--instrumentation/src/main.rs18
-rw-r--r--instrumentation/src/utils.rs17
-rw-r--r--makefile2
-rwxr-xr-xscript/prepare.sh6
-rw-r--r--wire-gateway/Cargo.toml6
17 files changed, 381 insertions, 335 deletions
diff --git a/Cargo.lock b/Cargo.lock
index efe2b0c..0f18a97 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -19,9 +19,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]]
name = "aho-corasick"
-version = "1.1.1"
+version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
dependencies = [
"memchr",
]
@@ -97,13 +97,13 @@ dependencies = [
[[package]]
name = "async-trait"
-version = "0.1.73"
+version = "0.1.74"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
+checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -135,9 +135,9 @@ checksum = "23ce669cd6c8588f79e15cf450314f9638f967fc5770ff1c7c1deb0925ea7cfa"
[[package]]
name = "base64"
-version = "0.21.4"
+version = "0.21.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2"
+checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
[[package]]
name = "bech32"
@@ -146,32 +146,43 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445"
[[package]]
+name = "bech32"
+version = "0.10.0-beta"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98f7eed2b2781a6f0b5c903471d48e15f56fb4e1165df8a9a2337fd1a59d45ea"
+
+[[package]]
name = "bitcoin"
-version = "0.30.1"
+version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e99ff7289b20a7385f66a0feda78af2fc119d28fb56aea8886a9cd0a4abdd75"
+checksum = "5973a027b341b462105675962214dfe3c938ad9afd395d84b28602608bdcec7b"
dependencies = [
- "bech32",
- "bitcoin-private",
+ "bech32 0.10.0-beta",
+ "bitcoin-internals",
"bitcoin_hashes",
+ "hex-conservative",
"hex_lit",
"secp256k1",
"serde",
]
[[package]]
-name = "bitcoin-private"
-version = "0.1.0"
+name = "bitcoin-internals"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73290177011694f38ec25e165d0387ab7ea749a4b81cd4c80dae5988229f7a57"
+checksum = "9425c3bf7089c983facbae04de54513cce73b41c7f9ff8c845b54e7bc64ebbfb"
+dependencies = [
+ "serde",
+]
[[package]]
name = "bitcoin_hashes"
-version = "0.12.0"
+version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d7066118b13d4b20b23645932dfb3a81ce7e29f95726c2036fa33cd7b092501"
+checksum = "1930a4dabfebb8d7d9992db18ebe3ae2876f0a305fab206fd168df931ede293b"
dependencies = [
- "bitcoin-private",
+ "bitcoin-internals",
+ "hex-conservative",
"serde",
]
@@ -183,9 +194,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "2.4.0"
+version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
[[package]]
name = "block-buffer"
@@ -200,7 +211,7 @@ dependencies = [
name = "btc-wire"
version = "0.1.0"
dependencies = [
- "bech32",
+ "bech32 0.9.1",
"bitcoin",
"clap",
"clap_lex",
@@ -296,9 +307,9 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.4.6"
+version = "4.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956"
+checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64"
dependencies = [
"clap_builder",
"clap_derive",
@@ -306,9 +317,9 @@ dependencies = [
[[package]]
name = "clap_builder"
-version = "4.4.6"
+version = "4.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45"
+checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc"
dependencies = [
"anstream",
"anstyle",
@@ -318,27 +329,27 @@ dependencies = [
[[package]]
name = "clap_derive"
-version = "4.4.2"
+version = "4.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873"
+checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
name = "clap_lex"
-version = "0.5.1"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961"
+checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
[[package]]
name = "clap_mangen"
-version = "0.2.14"
+version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b44f35c514163027542f7147797ff930523eea288e03642727348ef1a9666f6b"
+checksum = "d3be86020147691e1d2ef58f75346a3d4d94807bfc473e377d52f09f0f7d77f7"
dependencies = [
"clap",
"roff",
@@ -346,9 +357,9 @@ dependencies = [
[[package]]
name = "color-backtrace"
-version = "0.6.0"
+version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6fcd4d200ae702628e8d54bafff5f7e7397b031a5849656a6f5bfe2c5fb780d"
+checksum = "150fd80a270c0671379f388c8204deb6a746bb4eac8a6c03fe2460b2c0127ea0"
dependencies = [
"backtrace",
"termcolor",
@@ -395,35 +406,34 @@ dependencies = [
[[package]]
name = "const-hex"
-version = "1.9.1"
+version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c37be52ef5e3b394db27a2341010685ad5103c72ac15ce2e9420a7e8f93f342c"
+checksum = "a5104de16b218eddf8e34ffe2f86f74bfa4e61e95a1b89732fccf6325efd0557"
dependencies = [
"cfg-if",
"cpufeatures",
"hex",
+ "proptest",
"serde",
]
[[package]]
name = "const-random"
-version = "0.1.15"
+version = "0.1.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "368a7a772ead6ce7e1de82bfb04c485f3db8ec744f72925af5735e29a22cc18e"
+checksum = "5aaf16c9c2c612020bcfd042e170f6e32de9b9d75adb5277cdbbd2e2c8c8299a"
dependencies = [
"const-random-macro",
- "proc-macro-hack",
]
[[package]]
name = "const-random-macro"
-version = "0.1.15"
+version = "0.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d7d6ab3c3a2282db210df5f02c4dab6e0a7057af0fb7ebd4070f30fe05c0ddb"
+checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e"
dependencies = [
"getrandom",
"once_cell",
- "proc-macro-hack",
"tiny-keccak",
]
@@ -435,9 +445,9 @@ checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
[[package]]
name = "cpufeatures"
-version = "0.2.9"
+version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
dependencies = [
"libc",
]
@@ -578,7 +588,7 @@ dependencies = [
"proc-macro2",
"quote",
"strsim",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -589,7 +599,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
dependencies = [
"darling_core",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -633,10 +643,11 @@ dependencies = [
[[package]]
name = "deranged"
-version = "0.3.8"
+version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946"
+checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3"
dependencies = [
+ "powerfmt",
"serde",
]
@@ -653,9 +664,9 @@ dependencies = [
[[package]]
name = "dlv-list"
-version = "0.5.1"
+version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8aead04dc46b5f263c25721cf25c9e595951d15055f8063f92392fa0d7f64cf4"
+checksum = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f"
dependencies = [
"const-random",
]
@@ -690,26 +701,15 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
[[package]]
name = "errno"
-version = "0.3.4"
+version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "add4f07d43996f76ef320709726a556a9d4f965d9410d8d0271132d2f8293480"
+checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8"
dependencies = [
- "errno-dragonfly",
"libc",
"windows-sys 0.48.0",
]
[[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
-dependencies = [
- "cc",
- "libc",
-]
-
-[[package]]
name = "eth-wire"
version = "0.1.0"
dependencies = [
@@ -789,9 +789,9 @@ dependencies = [
[[package]]
name = "flate2"
-version = "1.0.27"
+version = "1.0.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
dependencies = [
"crc32fast",
"miniz_oxide",
@@ -799,9 +799,9 @@ dependencies = [
[[package]]
name = "flexi_logger"
-version = "0.27.2"
+version = "0.27.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64d1984eeb4ccb9a6f3fa5f2a1850d34afed6fd4ffcd1513b691eef9dda0f057"
+checksum = "2ac35b454b60e1836602173e2eb7ef531173388c0212e02ec7f9fac086159ee5"
dependencies = [
"chrono",
"glob",
@@ -827,9 +827,9 @@ dependencies = [
[[package]]
name = "futures-channel"
-version = "0.3.28"
+version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
+checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb"
dependencies = [
"futures-core",
"futures-sink",
@@ -837,38 +837,38 @@ dependencies = [
[[package]]
name = "futures-core"
-version = "0.3.28"
+version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
[[package]]
name = "futures-macro"
-version = "0.3.28"
+version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
name = "futures-sink"
-version = "0.3.28"
+version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
+checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817"
[[package]]
name = "futures-task"
-version = "0.3.28"
+version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
+checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
[[package]]
name = "futures-util"
-version = "0.3.28"
+version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104"
dependencies = [
"futures-core",
"futures-macro",
@@ -891,9 +891,9 @@ dependencies = [
[[package]]
name = "getrandom"
-version = "0.2.10"
+version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
dependencies = [
"cfg-if",
"libc",
@@ -926,15 +926,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
[[package]]
name = "hashbrown"
-version = "0.13.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
-
-[[package]]
-name = "hashbrown"
-version = "0.14.1"
+version = "0.14.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12"
+checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
[[package]]
name = "heck"
@@ -955,6 +949,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
+name = "hex-conservative"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30ed443af458ccb6d81c1e7e661545f94d3176752fb1df2f543b902a1e0f51e2"
+
+[[package]]
name = "hex_lit"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -971,9 +971,9 @@ dependencies = [
[[package]]
name = "http"
-version = "0.2.9"
+version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
+checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
dependencies = [
"bytes",
"fnv",
@@ -1019,7 +1019,7 @@ dependencies = [
"httpdate",
"itoa",
"pin-project-lite",
- "socket2 0.4.9",
+ "socket2 0.4.10",
"tokio",
"tower-service",
"tracing",
@@ -1041,16 +1041,16 @@ dependencies = [
[[package]]
name = "iana-time-zone"
-version = "0.1.57"
+version = "0.1.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
+checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
dependencies = [
"android_system_properties",
"core-foundation-sys",
"iana-time-zone-haiku",
"js-sys",
"wasm-bindgen",
- "windows",
+ "windows-core",
]
[[package]]
@@ -1100,12 +1100,12 @@ dependencies = [
[[package]]
name = "indexmap"
-version = "2.0.2"
+version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897"
+checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
dependencies = [
"equivalent",
- "hashbrown 0.14.1",
+ "hashbrown 0.14.2",
"serde",
]
@@ -1184,9 +1184,9 @@ checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
[[package]]
name = "js-sys"
-version = "0.3.64"
+version = "0.3.65"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8"
dependencies = [
"wasm-bindgen",
]
@@ -1199,9 +1199,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
-version = "0.2.148"
+version = "0.2.150"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
[[package]]
name = "libdeflate-sys"
@@ -1222,10 +1222,16 @@ dependencies = [
]
[[package]]
+name = "libm"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
+
+[[package]]
name = "linux-raw-sys"
-version = "0.4.8"
+version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3852614a3bd9ca9804678ba6be5e3b8ce76dfc902cae004e3e0c44051b6e88db"
+checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
[[package]]
name = "listenfd"
@@ -1240,9 +1246,9 @@ dependencies = [
[[package]]
name = "lock_api"
-version = "0.4.10"
+version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
dependencies = [
"autocfg",
"scopeguard",
@@ -1290,9 +1296,9 @@ dependencies = [
[[package]]
name = "mio"
-version = "0.8.8"
+version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
dependencies = [
"libc",
"wasi",
@@ -1301,11 +1307,12 @@ dependencies = [
[[package]]
name = "num-traits"
-version = "0.2.16"
+version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
dependencies = [
"autocfg",
+ "libm",
]
[[package]]
@@ -1347,12 +1354,12 @@ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
[[package]]
name = "ordered-multimap"
-version = "0.6.0"
+version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ed8acf08e98e744e5384c8bc63ceb0364e68a6854187221c18df61c4797690e"
+checksum = "a4d6a8c22fc714f0c2373e6091bf6f5e9b37b1bc0b1184874b7e0a4e303d318f"
dependencies = [
"dlv-list",
- "hashbrown 0.13.2",
+ "hashbrown 0.14.2",
]
[[package]]
@@ -1373,9 +1380,9 @@ dependencies = [
[[package]]
name = "parking_lot_core"
-version = "0.9.8"
+version = "0.9.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
dependencies = [
"cfg-if",
"libc",
@@ -1425,7 +1432,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -1470,9 +1477,9 @@ dependencies = [
[[package]]
name = "portable-atomic"
-version = "1.4.3"
+version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31114a898e107c51bb1609ffaf55a0e011cf6a4d7f1170d0015a165082c0338b"
+checksum = "3bccab0e7fd7cc19f820a1c8c91720af652d0c88dc9664dd72aef2614f04af3b"
[[package]]
name = "postgres"
@@ -1518,6 +1525,12 @@ dependencies = [
]
[[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"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1525,9 +1538,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
[[package]]
name = "primitive-types"
-version = "0.12.1"
+version = "0.12.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66"
+checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2"
dependencies = [
"fixed-hash",
"impl-serde",
@@ -1535,18 +1548,28 @@ dependencies = [
]
[[package]]
-name = "proc-macro-hack"
-version = "0.5.20+deprecated"
+name = "proc-macro2"
+version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
+checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
+dependencies = [
+ "unicode-ident",
+]
[[package]]
-name = "proc-macro2"
-version = "1.0.67"
+name = "proptest"
+version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328"
+checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf"
dependencies = [
- "unicode-ident",
+ "bitflags 2.4.1",
+ "lazy_static",
+ "num-traits",
+ "rand",
+ "rand_chacha",
+ "rand_xorshift",
+ "regex-syntax",
+ "unarray",
]
[[package]]
@@ -1611,6 +1634,15 @@ dependencies = [
]
[[package]]
+name = "rand_xorshift"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f"
+dependencies = [
+ "rand_core",
+]
+
+[[package]]
name = "rayon"
version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1632,18 +1664,18 @@ dependencies = [
[[package]]
name = "redox_syscall"
-version = "0.3.5"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
dependencies = [
"bitflags 1.3.2",
]
[[package]]
name = "regex"
-version = "1.9.6"
+version = "1.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebee201405406dbf528b8b672104ae6d6d63e6d118cb10e4d51abbc7b58044ff"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
dependencies = [
"aho-corasick",
"memchr",
@@ -1653,9 +1685,9 @@ dependencies = [
[[package]]
name = "regex-automata"
-version = "0.3.9"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
dependencies = [
"aho-corasick",
"memchr",
@@ -1664,23 +1696,22 @@ dependencies = [
[[package]]
name = "regex-syntax"
-version = "0.7.5"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]]
name = "ring"
-version = "0.16.20"
+version = "0.17.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b"
dependencies = [
"cc",
+ "getrandom",
"libc",
- "once_cell",
"spin",
"untrusted",
- "web-sys",
- "winapi",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -1691,9 +1722,9 @@ checksum = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316"
[[package]]
name = "rust-ini"
-version = "0.19.0"
+version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e2a3bcec1f113553ef1c88aae6c020a369d03d55b58de9869a0908930385091"
+checksum = "3e0698206bcb8882bf2a9ecb4c1e7785db57ff052297085a6efd4fe42302068a"
dependencies = [
"cfg-if",
"ordered-multimap",
@@ -1713,11 +1744,11 @@ checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6"
[[package]]
name = "rustix"
-version = "0.38.17"
+version = "0.38.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f25469e9ae0f3d0047ca8b93fc56843f38e6774f0914a107ff8b41be8be8e0b7"
+checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e"
dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.4.1",
"errno",
"libc",
"linux-raw-sys",
@@ -1726,9 +1757,9 @@ dependencies = [
[[package]]
name = "rustls"
-version = "0.21.7"
+version = "0.21.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8"
+checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9"
dependencies = [
"log",
"ring",
@@ -1738,9 +1769,9 @@ dependencies = [
[[package]]
name = "rustls-webpki"
-version = "0.101.6"
+version = "0.101.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe"
+checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
dependencies = [
"ring",
"untrusted",
@@ -1769,9 +1800,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]]
name = "sct"
-version = "0.7.0"
+version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
+checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
dependencies = [
"ring",
"untrusted",
@@ -1779,9 +1810,9 @@ dependencies = [
[[package]]
name = "secp256k1"
-version = "0.27.0"
+version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f"
+checksum = "2acea373acb8c21ecb5a23741452acd2593ed44ee3d343e72baaa143bc89d0d5"
dependencies = [
"bitcoin_hashes",
"secp256k1-sys",
@@ -1790,38 +1821,38 @@ dependencies = [
[[package]]
name = "secp256k1-sys"
-version = "0.8.1"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e"
+checksum = "09e67c467c38fd24bd5499dc9a18183b31575c12ee549197e3e20d57aa4fe3b7"
dependencies = [
"cc",
]
[[package]]
name = "serde"
-version = "1.0.188"
+version = "1.0.192"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
+checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.188"
+version = "1.0.192"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
+checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
name = "serde_json"
-version = "1.0.107"
+version = "1.0.108"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
dependencies = [
"itoa",
"ryu",
@@ -1830,13 +1861,13 @@ dependencies = [
[[package]]
name = "serde_repr"
-version = "0.1.16"
+version = "0.1.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00"
+checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -1853,15 +1884,15 @@ dependencies = [
[[package]]
name = "serde_with"
-version = "3.3.0"
+version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ca3b16a3d82c4088f343b7480a93550b3eabe1a358569c2dfe38bbcead07237"
+checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23"
dependencies = [
"base64",
"chrono",
"hex",
"indexmap 1.9.3",
- "indexmap 2.0.2",
+ "indexmap 2.1.0",
"serde",
"serde_json",
"serde_with_macros",
@@ -1870,14 +1901,14 @@ dependencies = [
[[package]]
name = "serde_with_macros"
-version = "3.3.0"
+version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e6be15c453eb305019bfa438b1593c731f36a289a7853f7707ee29e870b3b3c"
+checksum = "93634eb5f75a2323b16de4748022ac4297f9e76b6dced2be287a099f41b5e788"
dependencies = [
"darling",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -1914,15 +1945,15 @@ dependencies = [
[[package]]
name = "smallvec"
-version = "1.11.1"
+version = "1.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
+checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
[[package]]
name = "socket2"
-version = "0.4.9"
+version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
dependencies = [
"libc",
"winapi",
@@ -1930,9 +1961,9 @@ dependencies = [
[[package]]
name = "socket2"
-version = "0.5.4"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
dependencies = [
"libc",
"windows-sys 0.48.0",
@@ -1940,9 +1971,9 @@ dependencies = [
[[package]]
name = "spin"
-version = "0.5.2"
+version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
[[package]]
name = "static_assertions"
@@ -1986,9 +2017,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.38"
+version = "2.0.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
dependencies = [
"proc-macro2",
"quote",
@@ -1997,9 +2028,9 @@ dependencies = [
[[package]]
name = "tempfile"
-version = "3.8.0"
+version = "3.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
+checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
dependencies = [
"cfg-if",
"fastrand",
@@ -2010,31 +2041,31 @@ dependencies = [
[[package]]
name = "termcolor"
-version = "1.3.0"
+version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64"
+checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
dependencies = [
"winapi-util",
]
[[package]]
name = "thiserror"
-version = "1.0.49"
+version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.49"
+version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -2045,12 +2076,13 @@ checksum = "e70399498abd3ec85f99a2f2d765c8638588e20361678af93a9f47de96719743"
[[package]]
name = "time"
-version = "0.3.29"
+version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe"
+checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5"
dependencies = [
"deranged",
"itoa",
+ "powerfmt",
"serde",
"time-core",
"time-macros",
@@ -2107,9 +2139,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "1.32.0"
+version = "1.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
+checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
dependencies = [
"backtrace",
"bytes",
@@ -2117,20 +2149,20 @@ dependencies = [
"mio",
"num_cpus",
"pin-project-lite",
- "socket2 0.5.4",
+ "socket2 0.5.5",
"tokio-macros",
"windows-sys 0.48.0",
]
[[package]]
name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -2153,7 +2185,7 @@ dependencies = [
"postgres-protocol",
"postgres-types",
"rand",
- "socket2 0.5.4",
+ "socket2 0.5.5",
"tokio",
"tokio-util",
"whoami",
@@ -2161,9 +2193,9 @@ dependencies = [
[[package]]
name = "tokio-util"
-version = "0.7.9"
+version = "0.7.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d"
+checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
dependencies = [
"bytes",
"futures-core",
@@ -2181,11 +2213,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
[[package]]
name = "tracing"
-version = "0.1.37"
+version = "0.1.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
dependencies = [
- "cfg-if",
"pin-project-lite",
"tracing-attributes",
"tracing-core",
@@ -2193,20 +2224,20 @@ dependencies = [
[[package]]
name = "tracing-attributes"
-version = "0.1.26"
+version = "0.1.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
name = "tracing-core"
-version = "0.1.31"
+version = "0.1.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
dependencies = [
"once_cell",
]
@@ -2236,6 +2267,12 @@ dependencies = [
]
[[package]]
+name = "unarray"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
+
+[[package]]
name = "unicode-bidi"
version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2264,15 +2301,15 @@ checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
[[package]]
name = "untrusted"
-version = "0.7.1"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
[[package]]
name = "ureq"
-version = "2.8.0"
+version = "2.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5ccd538d4a604753ebc2f17cd9946e89b77bf87f6a8e2309667c6f2e87855e3"
+checksum = "7830e33f6e25723d41a63f77e434159dad02919f18f55a512b5f16f3b1d77138"
dependencies = [
"base64",
"flate2",
@@ -2320,9 +2357,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
[[package]]
name = "uuid"
-version = "1.4.1"
+version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d"
+checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
[[package]]
name = "version_check"
@@ -2357,9 +2394,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.88"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
@@ -2367,24 +2404,24 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.88"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217"
dependencies = [
"bumpalo",
"log",
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.88"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -2392,28 +2429,28 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.88"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.88"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b"
[[package]]
name = "web-sys"
-version = "0.3.64"
+version = "0.3.65"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
+checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -2467,10 +2504,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
-name = "windows"
-version = "0.48.0"
+name = "windows-core"
+version = "0.51.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
dependencies = [
"windows-targets 0.48.5",
]
@@ -2632,6 +2669,6 @@ dependencies = [
[[package]]
name = "zeroize"
-version = "1.6.0"
+version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
+checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
diff --git a/README.md b/README.md
index 1de3ec5..d9aa59d 100644
--- a/README.md
+++ b/README.md
@@ -17,7 +17,7 @@
## Install from source
-Cargo version 1.70.0 or above is required. You can get cargo from your
+Cargo version 1.72.1 or above is required. You can get rustup from your
distribution package manager or from [rustup.rs](https://rustup.rs/).
```
@@ -41,7 +41,7 @@ Depolymerizer require:
#### Ethereum
-[Geth](https://geth.ethereum.org/) version 1.10.26 is expected
+[Geth](https://geth.ethereum.org/) version 1.13.5 is expected
### Initialization
diff --git a/btc-wire/Cargo.toml b/btc-wire/Cargo.toml
index d6a120c..5955a66 100644
--- a/btc-wire/Cargo.toml
+++ b/btc-wire/Cargo.toml
@@ -3,7 +3,7 @@ name = "btc-wire"
version = "0.1.0"
edition = "2021"
license = "AGPL-3.0-or-later"
-rust-version = "1.63.0"
+rust-version = "1.72.1"
[features]
# Enable random failures
@@ -11,13 +11,13 @@ fail = []
[dependencies]
# Typed bitcoin rpc types
-bitcoin = { version = "0.30.1", features = [
+bitcoin = { version = "0.31.0", features = [
"std",
"serde",
], default-features = false }
# Cli args parser
clap = { version = "4.4.6", features = ["derive"] }
-clap_lex = "0.5.1"
+clap_lex = "0.6.0"
# Bech32 encoding and decoding
bech32 = "0.9.1"
# Serialization library
@@ -30,7 +30,7 @@ data-encoding = "2.4.0"
# Common lib
common = { path = "../common" }
# Ini parser
-rust-ini = "0.19.0"
+rust-ini = "0.20.0"
# Hexadecimal encoding
hex = { package = "const-hex", version = "1.9.1" }
diff --git a/btc-wire/src/bin/segwit-demo.rs b/btc-wire/src/bin/segwit-demo.rs
index 26f95f0..579f0da 100644
--- a/btc-wire/src/bin/segwit-demo.rs
+++ b/btc-wire/src/bin/segwit-demo.rs
@@ -54,7 +54,7 @@ pub fn main() {
hex::encode(&second_half)
);
// bech32: https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki
- let hrp = match address.network {
+ let hrp = match address.network() {
Network::Bitcoin => "bc",
Network::Testnet | Network::Signet => "tb",
Network::Regtest => "bcrt",
diff --git a/btc-wire/src/lib.rs b/btc-wire/src/lib.rs
index 750e4d4..05842b1 100644
--- a/btc-wire/src/lib.rs
+++ b/btc-wire/src/lib.rs
@@ -60,7 +60,7 @@ impl Rpc {
amount: &Amount,
metadata: &[u8; 32],
) -> rpc::Result<Txid> {
- let hrp = match to.network {
+ let hrp = match to.network() {
Network::Bitcoin => "bc",
Network::Testnet | Network::Signet => "tb",
Network::Regtest => "bcrt",
@@ -70,11 +70,11 @@ impl Rpc {
let addresses = [
Address::from_str(&addresses[0])
.unwrap()
- .require_network(to.network)
+ .require_network(*to.network())
.unwrap(),
Address::from_str(&addresses[1])
.unwrap()
- .require_network(to.network)
+ .require_network(*to.network())
.unwrap(),
];
let mut recipients = vec![(to, amount)];
diff --git a/common/Cargo.toml b/common/Cargo.toml
index 0c165de..e602bd0 100644
--- a/common/Cargo.toml
+++ b/common/Cargo.toml
@@ -3,7 +3,7 @@ name = "common"
version = "0.1.0"
edition = "2021"
license = "AGPL-3.0-or-later"
-rust-version = "1.63.0"
+rust-version = "1.72.1"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@@ -21,7 +21,7 @@ base32 = "0.4.0"
# Error macros
thiserror = "1.0.49"
# Ini files
-rust-ini = "0.19.0"
+rust-ini = "0.20.0"
# Logging
flexi_logger = { version = "0.27.2", default-features = false }
log = "0.4.20"
diff --git a/common/src/currency.rs b/common/src/currency.rs
index f2596ba..5db056d 100644
--- a/common/src/currency.rs
+++ b/common/src/currency.rs
@@ -20,7 +20,7 @@ pub const MAIN_BTC: &str = "BITCOINBTC";
pub const REGTEST_BTC: &str = "TESTBTC";
pub const TESTNET_BTC: &str = "DEVBTC";
pub const MAIN_ETH: &str = "ETHEREUMETH";
-pub const ROPSTEN_ETH: &str = "ROPSTENETH";
+pub const GOERLI_ETH: &str = "GOERLIETH";
pub const DEV_ETH: &str = "DEVETH";
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
@@ -47,7 +47,7 @@ impl FromStr for Currency {
REGTEST_BTC => Currency::BTC(CurrencyBtc::Test),
TESTNET_BTC => Currency::BTC(CurrencyBtc::Dev),
MAIN_ETH => Currency::ETH(CurrencyEth::Main),
- ROPSTEN_ETH => Currency::ETH(CurrencyEth::Ropsten),
+ GOERLI_ETH => Currency::ETH(CurrencyEth::Goerli),
DEV_ETH => Currency::ETH(CurrencyEth::Dev),
_ => return Err(()),
})
@@ -75,14 +75,14 @@ impl CurrencyBtc {
pub enum CurrencyEth {
Main,
Dev,
- Ropsten,
+ Goerli,
}
impl CurrencyEth {
pub const fn to_str(&self) -> &'static str {
match self {
CurrencyEth::Main => MAIN_ETH,
- CurrencyEth::Ropsten => ROPSTEN_ETH,
+ CurrencyEth::Goerli => GOERLI_ETH,
CurrencyEth::Dev => DEV_ETH,
}
}
diff --git a/eth-wire/Cargo.toml b/eth-wire/Cargo.toml
index 72d9afe..71e1cdc 100644
--- a/eth-wire/Cargo.toml
+++ b/eth-wire/Cargo.toml
@@ -3,7 +3,7 @@ name = "eth-wire"
version = "0.1.0"
edition = "2021"
license = "AGPL-3.0-or-later"
-rust-version = "1.63.0"
+rust-version = "1.72.1"
[features]
# Enable random failures
@@ -12,7 +12,7 @@ fail = []
[dependencies]
# Cli args
clap = { version = "4.4.6", features = ["derive"] }
-clap_lex = "0.5.1"
+clap_lex = "0.6.0"
# Serialization library
serde = { version = "1.0.188", features = ["derive"] }
serde_json = "1.0.107"
diff --git a/eth-wire/src/rpc.rs b/eth-wire/src/rpc.rs
index f5f3cc6..95d3428 100644
--- a/eth-wire/src/rpc.rs
+++ b/eth-wire/src/rpc.rs
@@ -20,9 +20,8 @@
//! make our code more compatible with future deprecation
use common::{log::log::error, password, reconnect::AutoReconnect, url::Url};
-use ethereum_types::{Address, H256, U256, U64};
+use ethereum_types::{Address, H160, H256, U256, U64};
use serde::de::DeserializeOwned;
-use serde_json::error::Category;
use std::{
fmt::Debug,
io::{self, BufWriter, ErrorKind, Read, Write},
@@ -67,6 +66,7 @@ pub fn auto_rpc_common(ipc_path: PathBuf) -> AutoRpcCommon {
}
#[derive(Debug, serde::Serialize)]
struct RpcRequest<'a, T: serde::Serialize> {
+ jsonrpc: &'static str,
method: &'a str,
id: u64,
params: &'a T,
@@ -133,6 +133,7 @@ impl Rpc {
method,
id: self.id,
params,
+ jsonrpc: "2.0",
};
// Send request
@@ -146,6 +147,22 @@ impl Rpc {
T: serde::de::DeserializeOwned + Debug,
{
loop {
+ // Read one
+ let pos = self.read_buf[..self.cursor]
+ .iter()
+ .position(|c| *c == b'\n')
+ .map(|pos| pos + 1); // Move after newline
+ if let Some(pos) = pos {
+ match serde_json::from_slice(&self.read_buf[..pos]) {
+ Ok(response) => {
+ self.read_buf.copy_within(pos..self.cursor, 0);
+ self.cursor -= pos;
+ return Ok(response);
+ }
+ Err(err) => return Err(err)?,
+ }
+ } // Or read more
+
// Double buffer size if full
if self.cursor == self.read_buf.len() {
self.read_buf.resize(self.cursor * 2, 0);
@@ -155,32 +172,7 @@ impl Rpc {
ErrorKind::UnexpectedEof,
"RPC EOF".to_string(),
))?,
- Ok(nb) => {
- self.cursor += nb;
- let mut de: serde_json::StreamDeserializer<_, T> =
- serde_json::Deserializer::from_slice(&self.read_buf[..self.cursor])
- .into_iter();
-
- if let Some(result) = de.next() {
- match result {
- Ok(response) => {
- let read = de.byte_offset();
- self.read_buf.copy_within(read..self.cursor, 0);
- self.cursor -= read;
- return Ok(response);
- }
- Err(err) if err.classify() == Category::Eof => {
- if nb == 0 {
- Err(std::io::Error::new(
- ErrorKind::UnexpectedEof,
- "Stream EOF",
- ))?;
- }
- }
- Err(e) => Err(e)?,
- }
- }
- }
+ Ok(nb) => self.cursor += nb,
Err(e) if e.kind() == ErrorKind::Interrupted => {}
Err(e) => Err(e)?,
}
@@ -188,7 +180,14 @@ impl Rpc {
}
pub fn subscribe_new_head(&mut self) -> Result<RpcStream<Nothing>> {
- let id: String = self.call("eth_subscribe", &["newHeads"])?;
+ self.send("eth_subscribe", &["newHeads"])?;
+ let id = loop {
+ match self.receive::<SubscribeDirtyFix>()? {
+ SubscribeDirtyFix::Fix(_) => { /* TODO debug */ }
+ SubscribeDirtyFix::Id(id) => break id,
+ }
+ };
+ let id = self.handle_response(id)?;
Ok(RpcStream::new(self, id))
}
@@ -238,6 +237,12 @@ enum NotificationOrResponse<T, N> {
Notification(Notification<N>),
Response(RpcResponse<T>),
}
+#[derive(Debug, serde::Deserialize)]
+#[serde(untagged)]
+enum SubscribeDirtyFix {
+ Fix(RpcResponse<bool>),
+ Id(RpcResponse<String>),
+}
/// A notification stream wrapping an rpc client
pub struct RpcStream<'a, N: Debug + DeserializeOwned> {
@@ -283,6 +288,7 @@ impl<N: Debug + DeserializeOwned> Drop for RpcStream<'_, N> {
NotificationOrResponse::Response(_) => return,
}
}
+ println!("has unusubsriced")
}
}
@@ -401,9 +407,16 @@ pub trait RpcClient {
/* ----- Miner ----- */
+ fn miner_set_etherbase(&mut self, addr: &H160) -> Result<()> {
+ match self.call("miner_setEtherbase", &[addr]) {
+ Err(Error::Null) => Ok(()),
+ i => i,
+ }
+ }
+
/// Start mining
fn miner_start(&mut self) -> Result<()> {
- match self.call("miner_start", &[8]) {
+ match self.call("miner_start", &EMPTY) {
Err(Error::Null) => Ok(()),
i => i,
}
diff --git a/instrumentation/Cargo.toml b/instrumentation/Cargo.toml
index 984650a..8ec2fe0 100644
--- a/instrumentation/Cargo.toml
+++ b/instrumentation/Cargo.toml
@@ -3,16 +3,16 @@ name = "instrumentation"
version = "0.1.0"
edition = "2021"
license = "AGPL-3.0-or-later"
-rust-version = "1.70.0"
+rust-version = "1.72.1"
[dependencies]
# Cli args parser
clap = { version = "4.4.6", features = ["derive"] }
-clap_lex = "0.5.1"
+clap_lex = "0.6.0"
common = { path = "../common" }
# Bitcoin
btc-wire = { path = "../btc-wire" }
-bitcoin = { version = "0.30.1", default-features = false, features = ["std"] }
+bitcoin = { version = "0.31.0", default-features = false, features = ["std"] }
# Ethereum
eth-wire = { path = "../eth-wire" }
ethereum-types = { version = "0.14.1", default-features = false }
@@ -32,7 +32,7 @@ color-backtrace = "0.6.0"
# Send signal to child processes
signal-child = "1.0.5"
# Edit toml files
-rust-ini = "0.19.0"
+rust-ini = "0.20.0"
# Progress reporting
indicatif = "0.17.7"
thread-local-panic-hook = "0.1.0"
diff --git a/instrumentation/src/btc.rs b/instrumentation/src/btc.rs
index 964f302..1495d08 100644
--- a/instrumentation/src/btc.rs
+++ b/instrumentation/src/btc.rs
@@ -31,6 +31,7 @@ use btc_wire::{
WireState,
};
use common::{currency::CurrencyBtc, metadata::OutMetadata, postgres::NoTls, rand_slice};
+use indicatif::ProgressBar;
use tempfile::TempDir;
use crate::utils::{
@@ -248,9 +249,7 @@ impl DerefMut for BtcCtx {
}
impl BtcCtx {
- pub fn config(test_name: &str, config: &str) {
- // Generate temporary dirs
- let ctx = TestCtx::new(test_name);
+ pub fn config(ctx: TestCtx, config: &str) {
// Bitcoin config
let config = PathBuf::from_str("instrumentation/conf")
.unwrap()
@@ -323,7 +322,7 @@ impl BtcCtx {
ctx.init_db();
// Generate wallet
cmd_redirect_ok(
- "btc-wire",
+ &ctx.wire_bin_path,
&["-c", ctx.conf.to_str().unwrap(), "initwallet"],
&ctx.log("cmd"),
"wire initwallet",
@@ -1119,6 +1118,9 @@ pub fn config(ctx: TestCtx) {
for n in 0..5 {
let config_name = format!("bitcoin_auth{}.conf", n);
ctx.step(format!("Config {}", config_name));
- BtcCtx::config(&format!("config/{config_name}"), &config_name);
+ BtcCtx::config(
+ TestCtx::new(&format!("config/{config_name}"), ProgressBar::hidden()),
+ &config_name,
+ );
}
}
diff --git a/instrumentation/src/eth.rs b/instrumentation/src/eth.rs
index f6aa719..f215fd3 100644
--- a/instrumentation/src/eth.rs
+++ b/instrumentation/src/eth.rs
@@ -247,19 +247,6 @@ impl EthCtx {
"create account",
)
}
- cmd_redirect_ok(
- "geth",
- &[
- "--datadir",
- ctx.wire2_dir.to_str().unwrap(),
- "account",
- "new",
- "--password",
- pswd_path.to_str().unwrap(),
- ],
- &ctx.log("geth2"),
- "create account",
- );
let list = cmd_out(
"geth",
&[
@@ -269,7 +256,8 @@ impl EthCtx {
"list",
],
);
- let addr = &list.lines().nth(1).unwrap()[13..][..40];
+ let reserve = &list[13..][..40];
+ let client = &list.lines().nth(1).unwrap()[13..][..40];
let genesis = format!(
"{{
\"config\": {{
@@ -284,16 +272,19 @@ impl EthCtx {
\"istanbulBlock\": 0,
\"berlinBlock\": 0,
\"londonBlock:\": 0,
- \"ethash\": {{}}
+ \"clique\": {{
+ \"period\": 1
+ }}
}},
\"difficulty\": \"1\",
\"gasLimit\": \"0\",
\"baseFeePerGas\": null,
+ \"extraData\": \"0x0000000000000000000000000000000000000000000000000000000000000000{}0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",
\"alloc\": {{
\"{}\": {{ \"balance\": \"10000000000000000000\" }}
}}
}}",
- addr
+ reserve, client
);
std::fs::write(ctx.wire_dir.join("genesis.json"), genesis.as_bytes()).unwrap();
@@ -330,6 +321,7 @@ impl EthCtx {
&unused_port().to_string(),
"--port",
&unused_port().to_string(),
+ "--rpc.enabledeprecatedpersonal"
],
&ctx.log("geth"),
);
@@ -338,7 +330,7 @@ impl EthCtx {
// Generate wallet
let out = cmd_out(
- "eth-wire",
+ &ctx.wire_bin_path,
&["-c", ctx.conf.to_str().unwrap(), "initwallet"],
);
@@ -426,6 +418,8 @@ impl EthCtx {
&[
"--datadir",
self.ctx.wire2_dir.to_str().unwrap(),
+ "--keystore",
+ self.ctx.wire_dir.join("keystore").to_str().unwrap(),
"import",
path,
],
@@ -440,12 +434,15 @@ impl EthCtx {
&[
"--datadir",
self.ctx.wire2_dir.to_str().unwrap(),
+ "--keystore",
+ self.ctx.wire_dir.join("keystore").to_str().unwrap(),
"--miner.gasprice",
"10",
"--authrpc.port",
&unused_port().to_string(),
"--port",
&unused_port().to_string(),
+ "--rpc.enabledeprecatedpersonal"
],
&self.ctx.log("geth2"),
);
@@ -488,6 +485,7 @@ impl EthCtx {
&unused_port().to_string(),
"--port",
&unused_port().to_string(),
+ "--rpc.enabledeprecatedpersonal"
],
&self.ctx.log("geth"),
);
@@ -556,6 +554,7 @@ impl EthCtx {
fn _mine(rpc: &mut Rpc, addr: &H160, mut amount: u16, passwd: &str) {
rpc.unlock_account(addr, passwd).ok();
+ rpc.miner_set_etherbase(addr).ok();
let mut rpc = rpc.subscribe_new_head().unwrap();
rpc.miner_start().unwrap();
diff --git a/instrumentation/src/main.rs b/instrumentation/src/main.rs
index f196d7d..12971ad 100644
--- a/instrumentation/src/main.rs
+++ b/instrumentation/src/main.rs
@@ -17,7 +17,7 @@
use std::{
panic::catch_unwind,
path::PathBuf,
- time::{Duration, Instant},
+ time::{Duration, Instant}, sync::{Arc, Mutex},
};
use clap::Parser;
@@ -110,34 +110,34 @@ pub fn main() {
let pb = m.add(ProgressBar::new_spinner());
pb.set_style(start_style.clone());
pb.set_prefix(*name);
- pb.set_message("RUN");
+ pb.set_message("Init");
pb.enable_steady_tick(Duration::from_millis(1000));
let join = s.spawn(move || {
let start = Instant::now();
- let ctx = TestCtx::new(name);
- let tmp = ctx.clone();
+ let ctx: TestCtx = TestCtx::new(name, pb.clone());
+ let out = Arc::new(Mutex::new(String::new()));
+ let tmp = out.clone();
set_hook(Box::new(move |info| {
let mut buf = Vec::new();
color_backtrace::BacktracePrinter::new()
.print_panic_info(info, &mut NoColor::new(&mut buf))
.ok();
let str = String::from_utf8(buf).unwrap_or_default();
- tmp.out.lock().unwrap().push_str(&str);
+ tmp.lock().unwrap().push_str(&str);
}));
let tmp = ctx.clone();
let result = catch_unwind(|| {
action(tmp);
});
- let lock = ctx.out.lock().unwrap();
if result.is_ok() {
pb.set_style(ok_style.clone());
pb.finish_with_message("OK");
} else {
pb.set_style(err_style.clone());
- pb.finish_with_message("ERR");
+ pb.finish();
}
-
- (result, start.elapsed(), lock.clone())
+ let out: String = out.lock().unwrap().clone();
+ (result, start.elapsed(), out)
});
(join, name)
})
diff --git a/instrumentation/src/utils.rs b/instrumentation/src/utils.rs
index 835764a..5509754 100644
--- a/instrumentation/src/utils.rs
+++ b/instrumentation/src/utils.rs
@@ -16,14 +16,12 @@
use std::{
fmt::Display,
- fmt::Write as _,
io::Write as _,
net::{Ipv4Addr, SocketAddrV4, TcpListener, TcpStream},
ops::{Deref, DerefMut},
path::{Path, PathBuf},
process::{Child, Command, Stdio},
str::FromStr,
- sync::{Arc, Mutex},
thread::sleep,
time::{Duration, Instant},
};
@@ -35,6 +33,7 @@ use common::{
rand_slice,
url::Url,
};
+use indicatif::ProgressBar;
use signal_child::{signal::Signal, Signalable};
use tempfile::TempDir;
@@ -200,11 +199,11 @@ pub fn retry(mut lambda: impl FnMut() -> bool) {
#[derive(Clone)]
pub struct TestCtx {
pub log_dir: String,
- pub out: Arc<Mutex<String>>,
+ pub pb: ProgressBar,
}
impl TestCtx {
- pub fn new(name: &str) -> Self {
+ pub fn new(name: &str, pb: ProgressBar) -> Self {
// Create log dir
let log_dir = format!("log/{name}");
std::fs::remove_dir_all(&log_dir).ok();
@@ -213,10 +212,7 @@ impl TestCtx {
let pwd: String = (0..30).map(|_| fastrand::alphanumeric()).collect();
std::env::set_var("PASSWORD", pwd);
- Self {
- log_dir,
- out: Arc::new(Mutex::new(String::new())),
- }
+ Self { log_dir, pb }
}
pub fn log(&self, name: &str) -> String {
@@ -224,8 +220,7 @@ impl TestCtx {
}
pub fn step(&self, disp: impl Display) {
- let it: &mut String = &mut self.out.lock().unwrap();
- writeln!(it, "{disp}").unwrap();
+ self.pb.set_message(format!("{disp}"))
}
}
@@ -238,7 +233,7 @@ pub struct TalerCtx {
pub taler_conf: TalerConfig,
ctx: TestCtx,
db: ChildGuard,
- wire_bin_path: String,
+ pub wire_bin_path: String,
stressed: bool,
gateway: Option<ChildGuard>,
pub gateway_url: String,
diff --git a/makefile b/makefile
index 96970e0..b48838b 100644
--- a/makefile
+++ b/makefile
@@ -10,4 +10,4 @@ test:
RUST_BACKTRACE=full cargo run --profile dev --bin instrumentation -- offline
msrv:
- cargo msrv --min 1.70.0 --max 1.70.0 --linear \ No newline at end of file
+ cargo msrv --min 1.70.0 \ No newline at end of file
diff --git a/script/prepare.sh b/script/prepare.sh
index 72adb5d..8c6a63b 100755
--- a/script/prepare.sh
+++ b/script/prepare.sh
@@ -28,13 +28,13 @@ rm -rfv ~/bitcoin
mkdir -pv ~/bitcoin
mv -v bitcoin-24.1/* ~/bitcoin
-echo "Ⅲ - Install Go Ethereum (Geth) v1.10.26"
+echo "Ⅲ - Install Go Ethereum (Geth) v1.13.5"
cd $DIR
-curl -L https://gethstore.blob.core.windows.net/builds/geth-alltools-linux-amd64-1.10.26-e5eb32ac.tar.gz -o geth.tar.gz
+curl -L https://gethstore.blob.core.windows.net/builds/geth-alltools-linux-amd64-1.13.5-916d6a44.tar.gz -o geth.tar.gz
tar xvzf geth.tar.gz
rm -rfv ~/geth
mkdir -pv ~/geth
-mv -v geth-alltools-linux-amd64-1.10.26-e5eb32ac/* ~/geth
+mv -v geth-alltools-linux-amd64-1.13.5-916d6a44/* ~/geth
echo "Ⅳ - Install Lightning Network Daemon v0.15.5-beta"
cd $DIR
diff --git a/wire-gateway/Cargo.toml b/wire-gateway/Cargo.toml
index 652e52e..4f44c02 100644
--- a/wire-gateway/Cargo.toml
+++ b/wire-gateway/Cargo.toml
@@ -3,7 +3,7 @@ name = "wire-gateway"
version = "0.1.0"
edition = "2021"
license = "AGPL-3.0-or-later"
-rust-version = "1.70.0"
+rust-version = "1.72.1"
[dependencies]
# Http library
@@ -32,12 +32,12 @@ listenfd = "1.0.0"
# Common lib
common = { path = "../common" }
# Bitcoin types
-bitcoin = { version = "0.30.1" }
+bitcoin = { version = "0.31.0" }
# Ethereum types
ethereum-types = { version = "0.14.1", default-features = false }
# Cli args parser
clap = { version = "4.4.6", features = ["derive"] }
-clap_lex = "0.5.1"
+clap_lex = "0.6.0"
[features]
# Enable test admin endpoint