From 60202d01d85c518aa3cfad6dbda170972c45fcd3 Mon Sep 17 00:00:00 2001 From: Ash Manning Date: Wed, 13 May 2026 14:21:53 +0800 Subject: [PATCH 1/2] List all deps in [workspace.dependencies] --- Cargo.toml | 51 ++++++++++++++++++++++++-- app/Cargo.toml | 29 ++++++++------- cli/Cargo.toml | 6 ++-- integration_tests/Cargo.toml | 8 ++--- lib/Cargo.toml | 70 ++++++++++++++++-------------------- rpc-api/Cargo.toml | 4 +-- 6 files changed, 105 insertions(+), 63 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 84648eea..a463607c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,26 +14,73 @@ version = "0.14.0" [workspace.dependencies] anyhow = "1.0.72" +async-lock = "3.4.0" bincode = "1.3.3" bitcoin = "0.32.5" -clap = { version = "4.5.4" } +blake3 = "1.4.1" +borsh = "1.3.1" +byteorder = "1.4.3" +bytes = "1.4.0" +clap = "4.5.4" +dirs = "5.0.1" +dotenvy = "0.15.7" +ed25519-dalek = "2.1.1" +ed25519-dalek-bip32 = "0.3.0" +educe = { version = "0.6.0", default-features = false } +eframe = "0.31.0" +fatality = "0.1.1" fallible-iterator = "0.3.0" futures = { version = "0.3.30", default-features = false } +governor = { version = "0.8.1", default-features = false } +hashlink = "0.10.0" +heed = "0.21.0" +hex = "0.4.3" http = "1.2.0" +human-size = "0.4.3" +include_path = "0.1.1" jsonrpsee = { version = "0.25.1", features = ["tracing"] } +libtest-mimic = "0.8.1" +merkle-cbt = "0.3.2" +mimalloc = "0.1.48" +nonempty = "0.11.0" parking_lot = "0.12.1" +poll-promise = "0.3.0" prost = "0.14.1" +prost-build = "0.14.1" +prost-types = "0.14.1" +protox = "0.9.0" +quinn = "0.11.6" +rayon = "1.7.0" +rcgen = "0.13.2" +reserve-port = "2.0.1" +rustls = { version = "0.23.21", default-features = false } +semver = "1.0.25" serde = "1.0.179" serde_json = "1.0.113" +serde_with = "3.4.0" +shlex = "1.3.0" +smallvec = "1.13.2" +sneed = "0.0.11" strum = { version = "0.27.2", features = ["derive"] } thiserror = "2.0.11" tiny-bip39 = "2.0.0" -tokio = { version = "1.48.0", default-features = false, features = ["signal"] } +tokio = { version = "1.48.0", default-features = false } +tokio-stream = "0.1.15" tokio-util = "0.7.18" tonic = "0.14.2" +tonic-health = "0.14.2" +tonic-prost = "0.14.2" +tonic-prost-build = "0.14.2" +# needs to line up with jsonrpsee tower version... +tower = "0.5.2" +tower-http = "0.6.2" tracing = "0.1.40" +tracing-appender = "0.2.3" +tracing-indicatif = "0.3.8" tracing-subscriber = "0.3.20" +transitive = "1.0.1" utoipa = { version = "5.2.0", default-features = false } +url = "2.5.4" uuid = "1.13.1" [workspace.dependencies.bip300301_enforcer_lib] diff --git a/app/Cargo.toml b/app/Cargo.toml index 0a7e1e8e..ea3c5623 100644 --- a/app/Cargo.toml +++ b/app/Cargo.toml @@ -11,40 +11,43 @@ anyhow = { workspace = true } bincode = { workspace = true } bitcoin = { workspace = true, features = ["serde"] } clap = { workspace = true, features = ["derive"] } -dirs = "5.0.1" -eframe = "0.31.0" +dirs = { workspace = true } +eframe = { workspace = true } fallible-iterator = { workspace = true } futures = { workspace = true } http = { workspace = true } -human-size = "0.4.3" -include_path = "0.1.1" +human-size = { workspace = true } +include_path = { workspace = true } jsonrpsee = { workspace = true, features = ["server"] } -mimalloc = { version = "0.1.48", features = ["v3"] } +mimalloc = { workspace = true, features = ["v3"] } parking_lot = { workspace = true } -poll-promise = { version = "0.3.0", features = ["tokio"] } +poll-promise = { workspace = true, features = ["tokio"] } rustreexo = { workspace = true } serde = { workspace = true, features = ["derive"] } -shlex = "1.3.0" +shlex = { workspace = true } strum = { workspace = true } thiserror = { workspace = true } thunder = { path = "../lib", features = ["clap"] } thunder_app_cli = { path = "../cli" } thunder_app_rpc_api = { path = "../rpc-api" } tiny-bip39 = { workspace = true } -tokio = { workspace = true, features = ["macros", "rt-multi-thread"] } tokio-util = { workspace = true, features = ["rt"] } tonic = { workspace = true } -tonic-health = "0.14.2" +tonic-health = { workspace = true } # needs to line up with jsonrpsee tower version... -tower = "0.5.2" -tower-http = { version = "0.6.2", features = ["request-id", "trace"] } +tower = { workspace = true } +tower-http = { workspace = true, features = ["request-id", "trace"] } tracing = { workspace = true } -tracing-appender = "0.2.3" +tracing-appender = { workspace = true } tracing-subscriber = { workspace = true, features = ["env-filter", "json"] } -url = "2.5.4" +url = { workspace = true } utoipa = { workspace = true } uuid = { workspace = true } +[dependencies.tokio] +workspace = true +features = ["macros", "rt-multi-thread", "signal"] + [lints] workspace = true diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 279dda73..623fec82 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -9,7 +9,7 @@ version.workspace = true [dependencies] anyhow = { workspace = true } bitcoin = { workspace = true, features = ["serde"] } -clap = { version = "4.5.4", features = ["derive"] } +clap = { workspace = true, features = ["derive"] } http = { workspace = true } jsonrpsee = { workspace = true, features = ["http-client"] } serde_json = { workspace = true } @@ -18,9 +18,9 @@ thunder_app_rpc_api = { path = "../rpc-api" } tokio = { workspace = true } tracing = { workspace = true } tracing-subscriber = { workspace = true } -url = "2.5.4" +url = { workspace = true } utoipa = { workspace = true } -uuid = { workspace = true } +uuid = { workspace = true, features = ["v4"] } [lints] workspace = true diff --git a/integration_tests/Cargo.toml b/integration_tests/Cargo.toml index d009b670..f15ff2ff 100644 --- a/integration_tests/Cargo.toml +++ b/integration_tests/Cargo.toml @@ -12,16 +12,16 @@ bip300301_enforcer_lib = { workspace = true } bip300301_enforcer_integration_tests = { workspace = true } bitcoin = { workspace = true } clap = { workspace = true } -dotenvy = "0.15.7" +dotenvy = { workspace = true } futures = { workspace = true } jsonrpsee = { workspace = true } -libtest-mimic = "0.8.1" -reserve-port = "2.0.1" +libtest-mimic = { workspace = true } +reserve-port = { workspace = true } thiserror = { workspace = true } thunder = { path = "../lib", features = ["clap"] } thunder_app_rpc_api = { path = "../rpc-api" } tracing = { workspace = true } -tracing-indicatif = "0.3.8" +tracing-indicatif = { workspace = true } tracing-subscriber = { workspace = true, features = ["env-filter"] } tokio = { workspace = true, features = ["rt-multi-thread"] } diff --git a/lib/Cargo.toml b/lib/Cargo.toml index b4d9303a..867e83fc 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -8,67 +8,59 @@ version.workspace = true [build-dependencies] prost = { workspace = true } -prost-build = "0.14.1" -protox = "0.9.0" -tonic-prost-build = "0.14.2" +prost-build = { workspace = true } +protox = { workspace = true } +tonic-prost-build = { workspace = true } [dependencies] anyhow = { workspace = true, features = ["backtrace"] } -async-lock = "3.4.0" +async-lock = { workspace = true } bincode = { workspace = true } bitcoin = { workspace = true, features = ["serde"] } -blake3 = "1.4.1" -borsh = { version = "1.3.1", features = ["derive"] } -byteorder = "1.4.3" -bytes = "1.4.0" +blake3 = { workspace = true } +borsh = { workspace = true, features = ["derive"] } +byteorder = { workspace = true } +bytes = { workspace = true } clap = { workspace = true, features = ["derive"], optional = true } -ed25519-dalek = { version = "2.1.1", features = ["batch", "serde"] } -ed25519-dalek-bip32 = "0.3.0" +ed25519-dalek = { workspace = true, features = ["batch", "serde"] } +ed25519-dalek-bip32 = { workspace = true } +educe = { workspace = true, features = ["Clone", "Debug"] } fallible-iterator = { workspace = true } -fatality = "0.1.1" -futures = "0.3.30" -hashlink = { version = "0.10.0", features = ["serde_impl"] } -heed = "0.21.0" -hex = { version = "0.4.3", features = ["serde"] } +fatality = { workspace = true } +futures = { workspace = true, features = ["alloc"] } +governor = { workspace = true, features = ["quanta", "std"] } +hashlink = { workspace = true, features = ["serde_impl"] } +heed = { workspace = true } +hex = { workspace = true, features = ["serde"] } jsonrpsee = { workspace = true } -merkle-cbt = "0.3.2" -nonempty = { version = "0.11.0", features = ["serialize"] } +merkle-cbt = { workspace = true } +nonempty = { workspace = true, features = ["serialize"] } parking_lot = { workspace = true } prost = { workspace = true } -prost-types = "0.14.1" -quinn = "0.11.6" -rayon = "1.7.0" -rcgen = "0.13.2" -rustls = { version = "0.23.21", default-features = false, features = ["ring"] } +prost-types = { workspace = true } +quinn = { workspace = true } +rayon = { workspace = true } +rcgen = { workspace = true } +rustls = { workspace = true, features = ["ring"] } rustreexo = { workspace = true, features = ["with-serde"] } -smallvec = { version = "1.13.2", features = ["write"] } -semver = { version = "1.0.25", features = ["serde"] } +smallvec = { workspace = true, features = ["write"] } +semver = { workspace = true, features = ["serde"] } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } -serde_with = { version = "3.4.0" } -sneed = { version = "0.0.11", features = ["observe"] } +serde_with = { workspace = true } +sneed = { workspace = true, features = ["observe"] } strum = { workspace = true } thiserror = { workspace = true } tiny-bip39 = { workspace = true } tokio = { workspace = true, features = ["rt-multi-thread", "sync"] } -tokio-stream = { version = "0.1.15", features = ["sync"] } +tokio-stream = { workspace = true, features = ["sync"] } tokio-util = { workspace = true, features = ["rt"] } tonic = { workspace = true } -tonic-prost = "0.14.2" +tonic-prost = { workspace = true } tracing = { workspace = true } -transitive = "1.0.1" +transitive = { workspace = true } utoipa = { workspace = true, features = ["macros", "non_strict_integers"] } -[dependencies.educe] -version = "0.6.0" -default-features = false -features = ["Clone", "Debug"] - -[dependencies.governor] -version = "0.8.1" -default-features = false -features = ["quanta", "std"] - [features] clap = ["dep:clap"] diff --git a/rpc-api/Cargo.toml b/rpc-api/Cargo.toml index 8da25ac9..28893492 100644 --- a/rpc-api/Cargo.toml +++ b/rpc-api/Cargo.toml @@ -10,10 +10,10 @@ version.workspace = true bitcoin = { workspace = true, features = ["serde"] } jsonrpsee = { workspace = true, features = ["client", "macros", "server"] } l2l-openapi = { workspace = true } -thunder = { path = "../lib" } +serde = {workspace = true } serde_json = { workspace = true } +thunder = { path = "../lib" } utoipa = { workspace = true } -serde.workspace = true [lints] workspace = true From df3238da20262ec9020d5324ad5bcdbc44f2cf52 Mon Sep 17 00:00:00 2001 From: Ash Manning Date: Thu, 14 May 2026 18:49:34 +0800 Subject: [PATCH 2/2] Update to latest bip300301_enforcer --- Cargo.lock | 1184 ++++++++++++++++------- Cargo.toml | 8 +- deny.toml | 3 +- integration_tests/ibd.rs | 6 +- integration_tests/integration_test.rs | 4 +- integration_tests/main.rs | 2 +- integration_tests/unknown_withdrawal.rs | 8 +- integration_tests/util.rs | 22 +- lib/Cargo.toml | 2 +- lib/net/error.rs | 14 +- lib/node/net_task.rs | 8 +- 11 files changed, 849 insertions(+), 412 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a49634ab..3572a8d0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -110,15 +110,6 @@ dependencies = [ "winit", ] -[[package]] -name = "addr2line" -version = "0.25.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" -dependencies = [ - "gimli", -] - [[package]] name = "adler2" version = "2.0.1" @@ -143,7 +134,7 @@ checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", "cipher", - "cpufeatures", + "cpufeatures 0.2.17", ] [[package]] @@ -226,9 +217,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.21" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" +checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" dependencies = [ "anstyle", "anstyle-parse", @@ -247,9 +238,9 @@ checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" [[package]] name = "anstyle-parse" -version = "0.2.7" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" +checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" dependencies = [ "utf8parse", ] @@ -276,12 +267,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.100" +version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" -dependencies = [ - "backtrace", -] +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "arboard" @@ -303,6 +291,12 @@ dependencies = [ "x11rb", ] +[[package]] +name = "archery" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70e0a5f99dfebb87bb342d0f53bb92c81842e100bbb915223e38349580e5441d" + [[package]] name = "argon2" version = "0.5.3" @@ -311,7 +305,7 @@ checksum = "3c3610892ee6e0cbce8ae2700349fcf8f98adb0dbfbee85aec3c9179d29cc072" dependencies = [ "base64ct", "blake2", - "cpufeatures", + "cpufeatures 0.2.17", "password-hash", ] @@ -446,7 +440,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -481,7 +475,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -625,21 +619,6 @@ dependencies = [ "tower-service", ] -[[package]] -name = "backtrace" -version = "0.3.76" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" -dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", - "windows-link", -] - [[package]] name = "base58ck" version = "0.1.0" @@ -670,9 +649,9 @@ checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" [[package]] name = "bdk_chain" -version = "0.23.2" +version = "0.23.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b5d691fd092aacec7e05046b7d04897d58d6d65ed3152cb6cf65dababcfabed" +checksum = "c290eff038799a8ac0c5a82b6160a9ca456baa299a6f22b262c771342d2846c0" dependencies = [ "bdk_core", "bitcoin", @@ -683,9 +662,9 @@ dependencies = [ [[package]] name = "bdk_core" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dbbe4aad0c898bfeb5253c222be3ea3dccfb380a07e72c87e3e4ed6664a6753" +checksum = "cb3028782f6bf14a6df987244333d34e6b272b5a40a53e4879ec2dfd82275a3a" dependencies = [ "bitcoin", "hashbrown 0.14.5", @@ -704,9 +683,9 @@ dependencies = [ [[package]] name = "bdk_esplora" -version = "0.22.1" +version = "0.22.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c9f5961444b5f51b9c3937e729a212363d0e4cde6390ded6e01e16292078df4" +checksum = "83986307ea92997c3d051e8c306af8115a05add601e22acb7c1903008e6b614e" dependencies = [ "async-trait", "bdk_core", @@ -716,9 +695,9 @@ dependencies = [ [[package]] name = "bdk_wallet" -version = "2.3.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03f1e31ccc562f600981f747d2262b84428cbff52c9c9cdf14d15fb15bd2286" +checksum = "67f3c4f9526d22374fca5b7ff1d6bf8d921ab56db2dac8df66a2c5561b31d4ef" dependencies = [ "bdk_chain", "bip39", @@ -753,7 +732,7 @@ dependencies = [ [[package]] name = "bip300301_enforcer_integration_tests" version = "0.3.4" -source = "git+https://github.com/LayerTwo-Labs/bip300301_enforcer?rev=9c3eb0bdcb5b9a458e6f92cafb8bdbf76a860f74#9c3eb0bdcb5b9a458e6f92cafb8bdbf76a860f74" +source = "git+https://github.com/LayerTwo-Labs/bip300301_enforcer?rev=57bf4f8ace4454eddaec83dbc634dc706fc71516#57bf4f8ace4454eddaec83dbc634dc706fc71516" dependencies = [ "anyhow", "bdk_wallet", @@ -767,15 +746,15 @@ dependencies = [ "futures", "hex 0.4.3", "indicatif", - "jsonrpsee", + "jsonrpsee 0.26.0", "libtest-mimic", - "miniscript", "parking_lot", "reserve-port", + "serde", "serde_json", - "strum 0.27.2", + "strum 0.28.0", "temp-dir", - "thiserror 2.0.16", + "thiserror 2.0.18", "tokio", "tokio-stream", "tonic", @@ -786,7 +765,7 @@ dependencies = [ [[package]] name = "bip300301_enforcer_lib" version = "0.3.4" -source = "git+https://github.com/LayerTwo-Labs/bip300301_enforcer?rev=9c3eb0bdcb5b9a458e6f92cafb8bdbf76a860f74#9c3eb0bdcb5b9a458e6f92cafb8bdbf76a860f74" +source = "git+https://github.com/LayerTwo-Labs/bip300301_enforcer?rev=57bf4f8ace4454eddaec83dbc634dc706fc71516#57bf4f8ace4454eddaec83dbc634dc706fc71516" dependencies = [ "aes-gcm", "argon2", @@ -796,28 +775,26 @@ dependencies = [ "bdk_electrum", "bdk_esplora", "bdk_wallet", - "bincode", "bitcoin", "bitcoin-jsonrpsee", "bitcoin-send-tx-p2p", - "blake3", "byteorder", "clap", "cusf-enforcer-mempool", "derive_more", - "educe", "either", + "error-fatality", "fallible-iterator", - "fatality", "futures", - "hashlink 0.10.0", + "hashlink 0.11.0", + "heed 0.22.0", "heed-types", "hex 0.4.3", "jiff", - "jsonrpsee", + "jsonrpsee 0.26.0", "miette", "nom", - "nonempty", + "nonempty 0.12.0", "ordermap", "ouroboros", "parking_lot", @@ -825,17 +802,15 @@ dependencies = [ "prost-build", "prost-types", "protox", - "rand 0.8.6", - "regex", - "reqwest", + "rand 0.10.1", + "reqwest 0.13.3", "rusqlite", "rusqlite_migration", "rusty-leveldb", "serde", "serde_json", - "serde_path_to_error", - "sneed 0.0.19", - "thiserror 2.0.16", + "sneed 0.0.22", + "thiserror 2.0.18", "tokio", "tokio-rusqlite", "tokio-stream", @@ -915,20 +890,20 @@ checksum = "2dee39a0ee5b4095224a0cfc6bf4cc1baf0f9624b96b367e53b66d974e51d953" [[package]] name = "bitcoin-jsonrpsee" version = "0.1.1" -source = "git+https://github.com/LayerTwo-Labs/bitcoin-jsonrpsee.git?rev=b21948fb434b8fd76bc6a2deeeb2133e7bd78a63#b21948fb434b8fd76bc6a2deeeb2133e7bd78a63" +source = "git+https://github.com/LayerTwo-Labs/bitcoin-jsonrpsee.git?rev=db1fdfd5ecddfc7855cd872546b47429cb29a0bf#db1fdfd5ecddfc7855cd872546b47429cb29a0bf" dependencies = [ "base64 0.22.1", "bitcoin", "educe", - "hashlink 0.10.0", + "hashlink 0.11.0", "hex 0.4.3", "http", - "jsonrpsee", + "jsonrpsee 0.26.0", "monostate", "serde", "serde_json", "serde_with", - "thiserror 2.0.16", + "thiserror 2.0.18", "tracing", ] @@ -1007,7 +982,7 @@ dependencies = [ "cc", "cfg-if", "constant_time_eq", - "cpufeatures", + "cpufeatures 0.2.17", ] [[package]] @@ -1067,7 +1042,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -1093,7 +1068,7 @@ checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -1204,11 +1179,22 @@ dependencies = [ "libc", ] +[[package]] +name = "chacha20" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", + "rand_core 0.10.1", +] + [[package]] name = "chrono" -version = "0.4.43" +version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" +checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" dependencies = [ "iana-time-zone", "js-sys", @@ -1230,9 +1216,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.55" +version = "4.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e34525d5bbbd55da2bb745d34b36121baac88d07619a9a09cfcf4a6c0832785" +checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51" dependencies = [ "clap_builder", "clap_derive", @@ -1240,9 +1226,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.55" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59a20016a20a3da95bef50ec7238dbd09baeef4311dcdd38ec15aba69812fb61" +checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" dependencies = [ "anstream", "anstyle", @@ -1252,21 +1238,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.55" +version = "4.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92793da1a46a5f2a02a6f4c46c6496b28c43638adea8306fcb0caa1634f24e5" +checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] name = "clap_lex" -version = "0.7.7" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32" +checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" [[package]] name = "clipboard-win" @@ -1414,6 +1400,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +dependencies = [ + "libc", +] + [[package]] name = "crc32c" version = "0.6.8" @@ -1514,7 +1509,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "curve25519-dalek-derive", "digest", "fiat-crypto", @@ -1531,37 +1526,34 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] name = "cusf-enforcer-mempool" -version = "0.2.0" -source = "git+https://github.com/LayerTwo-Labs/cusf-enforcer-mempool.git?rev=d9aeeb7d38de278061521945f34c7eac767be953#d9aeeb7d38de278061521945f34c7eac767be953" +version = "0.3.0" +source = "git+https://github.com/LayerTwo-Labs/cusf-enforcer-mempool.git?rev=b2efa1a916c4d71ea5f3437e3aa3d5e6c6fc2df8#b2efa1a916c4d71ea5f3437e3aa3d5e6c6fc2df8" dependencies = [ "anyhow", "async-trait", "bitcoin", "bitcoin-jsonrpsee", - "blake3", - "borsh", "chrono", "educe", "either", "futures", - "hashlink 0.10.0", + "hashlink 0.11.0", "imbl", - "indexmap 2.13.0", - "jsonrpsee", + "indexmap 2.14.0", + "jsonrpsee 0.26.0", "lending-iterator", - "nonempty", - "num-traits", + "nonempty 0.12.0", "parking_lot", - "serde", - "thiserror 1.0.69", + "thiserror 2.0.18", "tokio", "tracing", "typewit", + "ulid", "zeromq", ] @@ -1586,7 +1578,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -1597,20 +1589,7 @@ checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ "darling_core", "quote", - "syn 2.0.114", -] - -[[package]] -name = "dashmap" -version = "5.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" -dependencies = [ - "cfg-if", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", + "syn 2.0.117", ] [[package]] @@ -1658,7 +1637,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.114", + "syn 2.0.117", "unicode-xid", ] @@ -1718,7 +1697,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -1836,7 +1815,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -2011,7 +1990,7 @@ checksum = "8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -2032,7 +2011,7 @@ checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -2102,6 +2081,29 @@ version = "3.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dea2df4cf52843e0452895c455a1a2cfbb842a1e7329671acf418fdc53ed4c59" +[[package]] +name = "error-fatality" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99b78eb9ee8e254c354f891236faf9d7c9d3487d1b0812e5ac43771a6cc961ba" +dependencies = [ + "error-fatality-proc-macro", +] + +[[package]] +name = "error-fatality-proc-macro" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b54fffc4f227e5930422d75cbc04a00a3fb22c7289d0872f705a24d56c6d3a3" +dependencies = [ + "expander", + "indexmap 2.14.0", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "escape8259" version = "0.5.3" @@ -2110,14 +2112,14 @@ checksum = "5692dd7b5a1978a5aeb0ce83b7655c58ca8efdcb79d21036ea249da95afec2c6" [[package]] name = "esplora-client" -version = "0.12.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4aac1895e7d91053ecc4c4955832b6f904f4321ec59d07b120736103bf06f7a5" +checksum = "f19e3ea99dbfbef0c1ec26d83e69de0c579f6aa6aaac4f44597805fcc27e97af" dependencies = [ "bitcoin", "hex-conservative", "log", - "reqwest", + "reqwest 0.12.28", "serde", "serde_json", "tokio", @@ -2156,7 +2158,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -2218,30 +2220,6 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" -[[package]] -name = "fatality" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec6f82451ff7f0568c6181287189126d492b5654e30a788add08027b6363d019" -dependencies = [ - "fatality-proc-macro", - "thiserror 1.0.69", -] - -[[package]] -name = "fatality-proc-macro" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb42427514b063d97ce21d5199f36c0c307d981434a6be32582bc79fe5bd2303" -dependencies = [ - "expander", - "indexmap 2.13.0", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.114", -] - [[package]] name = "fax" version = "0.2.6" @@ -2259,7 +2237,7 @@ checksum = "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -2321,6 +2299,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + [[package]] name = "foreign-types" version = "0.3.2" @@ -2348,7 +2332,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -2399,9 +2383,9 @@ checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" [[package]] name = "futures" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" dependencies = [ "futures-channel", "futures-core", @@ -2414,9 +2398,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" dependencies = [ "futures-core", "futures-sink", @@ -2424,15 +2408,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" [[package]] name = "futures-executor" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" dependencies = [ "futures-core", "futures-task", @@ -2441,9 +2425,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" [[package]] name = "futures-lite" @@ -2460,26 +2444,26 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] name = "futures-sink" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" [[package]] name = "futures-task" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" [[package]] name = "futures-timer" @@ -2493,9 +2477,9 @@ dependencies = [ [[package]] name = "futures-util" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" dependencies = [ "futures-channel", "futures-core", @@ -2505,7 +2489,6 @@ dependencies = [ "futures-task", "memchr", "pin-project-lite", - "pin-utils", "slab", ] @@ -2551,11 +2534,25 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "r-efi", + "r-efi 5.3.0", "wasip2", "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +dependencies = [ + "cfg-if", + "libc", + "r-efi 6.0.0", + "rand_core 0.10.1", + "wasip2", + "wasip3", +] + [[package]] name = "ghash" version = "0.5.1" @@ -2566,12 +2563,6 @@ dependencies = [ "polyval", ] -[[package]] -name = "gimli" -version = "0.32.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" - [[package]] name = "gl_generator" version = "0.14.0" @@ -2779,7 +2770,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.13.0", + "indexmap 2.14.0", "slab", "tokio", "tokio-util", @@ -2819,7 +2810,7 @@ version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ - "foldhash", + "foldhash 0.1.5", ] [[package]] @@ -2827,6 +2818,15 @@ name = "hashbrown" version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +dependencies = [ + "foldhash 0.2.0", +] + +[[package]] +name = "hashbrown" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" [[package]] name = "hashlink" @@ -2847,6 +2847,16 @@ dependencies = [ "serde", ] +[[package]] +name = "hashlink" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea0b22561a9c04a7cb1a302c013e0259cd3b4bb619f145b32f72b8b4bcbed230" +dependencies = [ + "hashbrown 0.16.1", + "serde", +] + [[package]] name = "heck" version = "0.3.3" @@ -2887,6 +2897,25 @@ dependencies = [ "url", ] +[[package]] +name = "heed" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a56c94661ddfb51aa9cdfbf102cfcc340aa69267f95ebccc4af08d7c530d393" +dependencies = [ + "bitflags 2.10.0", + "byteorder", + "heed-traits", + "heed-types", + "libc", + "lmdb-master-sys", + "once_cell", + "page_size", + "serde", + "synchronoise", + "url", +] + [[package]] name = "heed-traits" version = "0.20.0" @@ -3191,6 +3220,12 @@ dependencies = [ "zerovec", ] +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + [[package]] name = "ident_case" version = "1.0.1" @@ -3234,15 +3269,17 @@ dependencies = [ [[package]] name = "imbl" -version = "3.0.0" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc3be8d8cd36f33a46b1849f31f837c44d9fa87223baee3b4bd96b8f11df81eb" +checksum = "e525189e5f603908d0c6e0d402cb5de9c4b2c8866151fabc4ebd771ed2630a2e" dependencies = [ + "archery", "bitmaps", "imbl-sized-chunks", - "rand_core 0.6.4", + "rand_core 0.9.5", "rand_xoshiro", "version_check", + "wide", ] [[package]] @@ -3285,21 +3322,21 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.13.0" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" dependencies = [ "equivalent", - "hashbrown 0.16.1", + "hashbrown 0.17.1", "serde", "serde_core", ] [[package]] name = "indicatif" -version = "0.18.3" +version = "0.18.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9375e112e4b463ec1b1c6c011953545c65a30164fbab5b581df32b3abf0dcb88" +checksum = "25470f23803092da7d239834776d653104d551bc4d7eacaf31e6837854b8e9eb" dependencies = [ "console", "futures-core", @@ -3373,9 +3410,9 @@ checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[package]] name = "jiff" -version = "0.2.18" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e67e8da4c49d6d9909fe03361f9b620f58898859f5c7aded68351e85e71ecf50" +checksum = "f00b5dbd620d61dfdcb6007c9c1f6054ebd75319f163d886a9055cec1155073d" dependencies = [ "jiff-static", "portable-atomic", @@ -3384,13 +3421,13 @@ dependencies = [ [[package]] name = "jiff-static" -version = "0.2.18" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c84ee7f197eca9a86c6fd6cb771e55eb991632f15f2bc3ca6ec838929e6e78" +checksum = "e000de030ff8022ea1da3f466fbb0f3a809f5e51ed31f6dd931c35181ad8e6d7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -3441,14 +3478,32 @@ version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fba77a59c4c644fd48732367624d1bcf6f409f9c9a286fbc71d2f1fc0b2ea16" dependencies = [ - "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-http-client", - "jsonrpsee-proc-macros", - "jsonrpsee-server", - "jsonrpsee-types", - "jsonrpsee-wasm-client", - "jsonrpsee-ws-client", + "jsonrpsee-client-transport 0.25.1", + "jsonrpsee-core 0.25.1", + "jsonrpsee-http-client 0.25.1", + "jsonrpsee-proc-macros 0.25.1", + "jsonrpsee-server 0.25.1", + "jsonrpsee-types 0.25.1", + "jsonrpsee-wasm-client 0.25.1", + "jsonrpsee-ws-client 0.25.1", + "tokio", + "tracing", +] + +[[package]] +name = "jsonrpsee" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f3f48dc3e6b8bd21e15436c1ddd0bc22a6a54e8ec46fedd6adf3425f396ec6a" +dependencies = [ + "jsonrpsee-client-transport 0.26.0", + "jsonrpsee-core 0.26.0", + "jsonrpsee-http-client 0.26.0", + "jsonrpsee-proc-macros 0.26.0", + "jsonrpsee-server 0.26.0", + "jsonrpsee-types 0.26.0", + "jsonrpsee-wasm-client 0.26.0", + "jsonrpsee-ws-client 0.26.0", "tokio", "tracing", ] @@ -3464,13 +3519,38 @@ dependencies = [ "futures-util", "gloo-net", "http", - "jsonrpsee-core", + "jsonrpsee-core 0.25.1", "pin-project", "rustls", "rustls-pki-types", "rustls-platform-verifier 0.5.3", "soketto", - "thiserror 2.0.16", + "thiserror 2.0.18", + "tokio", + "tokio-rustls", + "tokio-util", + "tracing", + "url", +] + +[[package]] +name = "jsonrpsee-client-transport" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf36eb27f8e13fa93dcb50ccb44c417e25b818cfa1a481b5470cd07b19c60b98" +dependencies = [ + "base64 0.22.1", + "futures-channel", + "futures-util", + "gloo-net", + "http", + "jsonrpsee-core 0.26.0", + "pin-project", + "rustls", + "rustls-pki-types", + "rustls-platform-verifier 0.5.3", + "soketto", + "thiserror 2.0.18", "tokio", "tokio-rustls", "tokio-util", @@ -3491,14 +3571,42 @@ dependencies = [ "http", "http-body", "http-body-util", - "jsonrpsee-types", + "jsonrpsee-types 0.25.1", "parking_lot", "pin-project", "rand 0.9.4", "rustc-hash 2.1.1", "serde", "serde_json", - "thiserror 2.0.16", + "thiserror 2.0.18", + "tokio", + "tokio-stream", + "tower", + "tracing", + "wasm-bindgen-futures", +] + +[[package]] +name = "jsonrpsee-core" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "316c96719901f05d1137f19ba598b5fe9c9bc39f4335f67f6be8613921946480" +dependencies = [ + "async-trait", + "bytes", + "futures-timer", + "futures-util", + "http", + "http-body", + "http-body-util", + "jsonrpsee-types 0.26.0", + "parking_lot", + "pin-project", + "rand 0.9.4", + "rustc-hash 2.1.1", + "serde", + "serde_json", + "thiserror 2.0.18", "tokio", "tokio-stream", "tower", @@ -3517,13 +3625,36 @@ dependencies = [ "hyper", "hyper-rustls", "hyper-util", - "jsonrpsee-core", - "jsonrpsee-types", + "jsonrpsee-core 0.25.1", + "jsonrpsee-types 0.25.1", "rustls", "rustls-platform-verifier 0.5.3", "serde", "serde_json", - "thiserror 2.0.16", + "thiserror 2.0.18", + "tokio", + "tower", + "url", +] + +[[package]] +name = "jsonrpsee-http-client" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "790bedefcec85321e007ff3af84b4e417540d5c87b3c9779b9e247d1bcc3dab8" +dependencies = [ + "base64 0.22.1", + "http-body", + "hyper", + "hyper-rustls", + "hyper-util", + "jsonrpsee-core 0.26.0", + "jsonrpsee-types 0.26.0", + "rustls", + "rustls-platform-verifier 0.5.3", + "serde", + "serde_json", + "thiserror 2.0.18", "tokio", "tower", "url", @@ -3539,7 +3670,20 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", +] + +[[package]] +name = "jsonrpsee-proc-macros" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2da3f8ab5ce1bb124b6d082e62dffe997578ceaf0aeb9f3174a214589dc00f07" +dependencies = [ + "heck 0.5.0", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] @@ -3554,14 +3698,14 @@ dependencies = [ "http-body-util", "hyper", "hyper-util", - "jsonrpsee-core", - "jsonrpsee-types", + "jsonrpsee-core 0.25.1", + "jsonrpsee-types 0.25.1", "pin-project", "route-recognizer", "serde", "serde_json", "soketto", - "thiserror 2.0.16", + "thiserror 2.0.18", "tokio", "tokio-stream", "tokio-util", @@ -3569,16 +3713,55 @@ dependencies = [ "tracing", ] +[[package]] +name = "jsonrpsee-server" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c51b7c290bb68ce3af2d029648148403863b982f138484a73f02a9dd52dbd7f" +dependencies = [ + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "jsonrpsee-core 0.26.0", + "jsonrpsee-types 0.26.0", + "pin-project", + "route-recognizer", + "serde", + "serde_json", + "soketto", + "thiserror 2.0.18", + "tokio", + "tokio-stream", + "tokio-util", + "tower", + "tracing", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66df7256371c45621b3b7d2fb23aea923d577616b9c0e9c0b950a6ea5c2be0ca" +dependencies = [ + "http", + "serde", + "serde_json", + "thiserror 2.0.18", +] + [[package]] name = "jsonrpsee-types" -version = "0.25.1" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66df7256371c45621b3b7d2fb23aea923d577616b9c0e9c0b950a6ea5c2be0ca" +checksum = "bc88ff4688e43cc3fa9883a8a95c6fa27aa2e76c96e610b737b6554d650d7fd5" dependencies = [ "http", "serde", "serde_json", - "thiserror 2.0.16", + "thiserror 2.0.18", ] [[package]] @@ -3587,9 +3770,21 @@ version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b67695cbcf4653f39f8f8738925547e0e23fd9fe315bccf951097b9f6a38781" dependencies = [ - "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-types", + "jsonrpsee-client-transport 0.25.1", + "jsonrpsee-core 0.25.1", + "jsonrpsee-types 0.25.1", + "tower", +] + +[[package]] +name = "jsonrpsee-wasm-client" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7902885de4779f711a95d82c8da2d7e5f9f3a7c7cfa44d51c067fd1c29d72a3c" +dependencies = [ + "jsonrpsee-client-transport 0.26.0", + "jsonrpsee-core 0.26.0", + "jsonrpsee-types 0.26.0", "tower", ] @@ -3600,9 +3795,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2da2694c9ff271a9d3ebfe520f6b36820e85133a51be77a3cb549fd615095261" dependencies = [ "http", - "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-types", + "jsonrpsee-client-transport 0.25.1", + "jsonrpsee-core 0.25.1", + "jsonrpsee-types 0.25.1", + "tower", + "url", +] + +[[package]] +name = "jsonrpsee-ws-client" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b6fceceeb05301cc4c065ab3bd2fa990d41ff4eb44e4ca1b30fa99c057c3e79" +dependencies = [ + "http", + "jsonrpsee-client-transport 0.26.0", + "jsonrpsee-core 0.26.0", + "jsonrpsee-types 0.26.0", "tower", "url", ] @@ -3613,7 +3822,7 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653" dependencies = [ - "cpufeatures", + "cpufeatures 0.2.17", ] [[package]] @@ -3638,7 +3847,7 @@ name = "l2l-openapi" version = "0.1.0" source = "git+https://github.com/Ash-L2L/l2l-openapi?rev=5f8fb2237c95725731d5fb10542098303d82e215#5f8fb2237c95725731d5fb10542098303d82e215" dependencies = [ - "jsonrpsee", + "jsonrpsee 0.25.1", "l2l-openapi-macros", "utoipa", ] @@ -3651,7 +3860,7 @@ dependencies = [ "proc-macro2", "proc_macro_roids", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -3660,6 +3869,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + [[package]] name = "lending-iterator" version = "0.1.7" @@ -3741,9 +3956,9 @@ dependencies = [ [[package]] name = "libtest-mimic" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5297962ef19edda4ce33aaa484386e0a5b3d7f2f4e037cbeee00503ef6b29d33" +checksum = "14e6ba06f0ade6e504aff834d7c34298e5155c6baca353cc6a4aaff2f9fd7f33" dependencies = [ "anstream", "anstyle", @@ -3832,7 +4047,7 @@ dependencies = [ "quote", "regex-syntax", "rustc_version", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -3969,7 +4184,7 @@ checksum = "db5b29714e950dbb20d5e6f74f9dcec4edbcc1067bb7f8ed198c097b8c1a818b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -4021,9 +4236,9 @@ dependencies = [ [[package]] name = "monostate" -version = "0.1.18" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3341a273f6c9d5bef1908f17b7267bbab0e95c9bf69a0d4dcf8e9e1b2c76ef67" +checksum = "bb4cc965c89dd0615a9e822ff8002f7633d2466143d51bd58693e4b2c75aabad" dependencies = [ "monostate-impl", "serde", @@ -4032,13 +4247,13 @@ dependencies = [ [[package]] name = "monostate-impl" -version = "0.1.18" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4db6d5580af57bf992f59068d4ea26fd518574ff48d7639b255a36f9de6e7e9" +checksum = "23f5b99488110875b5904839d396c2cdfaf241ff6622638acb879cc7effad5de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -4069,13 +4284,13 @@ dependencies = [ "cfg_aliases", "codespan-reporting", "hexf-parse", - "indexmap 2.13.0", + "indexmap 2.14.0", "log", "rustc-hash 1.1.0", "spirv", "strum 0.26.3", "termcolor", - "thiserror 2.0.16", + "thiserror 2.0.18", "unicode-xid", ] @@ -4167,6 +4382,12 @@ dependencies = [ "serde", ] +[[package]] +name = "nonempty" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9737e026353e5cd0736f98eddae28665118eb6f6600902a7f50db585621fecb6" + [[package]] name = "nonzero_ext" version = "0.3.0" @@ -4237,7 +4458,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -4520,15 +4741,6 @@ dependencies = [ "objc2-foundation 0.2.2", ] -[[package]] -name = "object" -version = "0.37.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" -dependencies = [ - "memchr", -] - [[package]] name = "once_cell" version = "1.21.3" @@ -4570,7 +4782,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -4628,11 +4840,11 @@ dependencies = [ [[package]] name = "ordermap" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfa78c92071bbd3628c22b1a964f7e0eb201dc1456555db072beb1662ecd6715" +checksum = "7f7476a5b122ff1fce7208e7ee9dccd0a516e835f5b8b19b8f3c98a34cf757c1" dependencies = [ - "indexmap 2.13.0", + "indexmap 2.14.0", "serde", "serde_core", ] @@ -4657,7 +4869,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -4759,7 +4971,7 @@ checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" dependencies = [ "fixedbitset", "hashbrown 0.15.5", - "indexmap 2.13.0", + "indexmap 2.14.0", ] [[package]] @@ -4792,7 +5004,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -4821,7 +5033,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -4914,7 +5126,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "opaque-debug", "universal-hash", ] @@ -4965,7 +5177,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -5018,7 +5230,7 @@ checksum = "d0c2a098cd8aaa29f66da27a684ad19f4b7bc886f576abf12f7df4a7391071c7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -5054,7 +5266,7 @@ dependencies = [ "pulldown-cmark", "pulldown-cmark-to-cmark", "regex", - "syn 2.0.114", + "syn 2.0.117", "tempfile", ] @@ -5068,7 +5280,7 @@ dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -5104,7 +5316,7 @@ dependencies = [ "prost-reflect", "prost-types", "protox-parse", - "thiserror 2.0.16", + "thiserror 2.0.18", ] [[package]] @@ -5116,7 +5328,7 @@ dependencies = [ "logos", "miette", "prost-types", - "thiserror 2.0.16", + "thiserror 2.0.18", ] [[package]] @@ -5202,7 +5414,7 @@ dependencies = [ "rustc-hash 2.1.1", "rustls", "socket2", - "thiserror 2.0.16", + "thiserror 2.0.18", "tokio", "tracing", "web-time", @@ -5225,7 +5437,7 @@ dependencies = [ "rustls-pki-types", "rustls-platform-verifier 0.6.2", "slab", - "thiserror 2.0.16", + "thiserror 2.0.18", "tinyvec", "tracing", "web-time", @@ -5247,9 +5459,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.44" +version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ "proc-macro2", ] @@ -5260,6 +5472,12 @@ version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + [[package]] name = "rand" version = "0.8.6" @@ -5281,6 +5499,17 @@ dependencies = [ "rand_core 0.9.5", ] +[[package]] +name = "rand" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" +dependencies = [ + "chacha20", + "getrandom 0.4.2", + "rand_core 0.10.1", +] + [[package]] name = "rand_chacha" version = "0.3.1" @@ -5319,13 +5548,19 @@ dependencies = [ "getrandom 0.3.4", ] +[[package]] +name = "rand_core" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" + [[package]] name = "rand_xoshiro" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" +checksum = "f703f4665700daf5512dcca5f43afa6af89f09db47fb56be587f80636bda2d41" dependencies = [ - "rand_core 0.6.4", + "rand_core 0.9.5", ] [[package]] @@ -5431,7 +5666,7 @@ checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -5507,13 +5742,44 @@ dependencies = [ "webpki-roots 1.0.5", ] +[[package]] +name = "reqwest" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62e0021ea2c22aed41653bc7e1419abb2c97e038ff2c33d0e1309e49a97deec0" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-core", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "sync_wrapper", + "tokio", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + [[package]] name = "reserve-port" version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21918d6644020c6f6ef1993242989bf6d4952d2e025617744f184c02df51c356" dependencies = [ - "thiserror 2.0.16", + "thiserror 2.0.18", ] [[package]] @@ -5560,12 +5826,6 @@ dependencies = [ "rusqlite", ] -[[package]] -name = "rustc-demangle" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" - [[package]] name = "rustc-hash" version = "1.1.0" @@ -5747,6 +6007,21 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" +[[package]] +name = "saa" +version = "5.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f5acb362a0e75c2a963532fa7fabf13dff81626dc494df16488d30befcbea0" + +[[package]] +name = "safe_arch" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96b02de82ddbe1b636e6170c21be622223aea188ef2e139be0a5b219ec215323" +dependencies = [ + "bytemuck", +] + [[package]] name = "same-file" version = "1.0.6" @@ -5756,6 +6031,16 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "scc" +version = "3.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bcd12b6caff5213cc3c03123cde8c3db5e413008a63b0c0ba35e6275825ea92" +dependencies = [ + "saa", + "sdd", +] + [[package]] name = "schannel" version = "0.1.28" @@ -5814,6 +6099,15 @@ dependencies = [ "tiny-skia", ] +[[package]] +name = "sdd" +version = "4.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5f0e40a01b94e35d1dacbcfbe5bfd3d31e37d9590b2e6d86a82b0e87bd4f551" +dependencies = [ + "saa", +] + [[package]] name = "secp256k1" version = "0.29.1" @@ -5901,7 +6195,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -5917,17 +6211,6 @@ dependencies = [ "zmij", ] -[[package]] -name = "serde_path_to_error" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" -dependencies = [ - "itoa", - "serde", - "serde_core", -] - [[package]] name = "serde_repr" version = "0.1.20" @@ -5936,7 +6219,7 @@ checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -5961,7 +6244,7 @@ dependencies = [ "chrono", "hex 0.4.3", "indexmap 1.9.3", - "indexmap 2.13.0", + "indexmap 2.14.0", "schemars 0.9.0", "schemars 1.2.0", "serde_core", @@ -5979,7 +6262,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -5989,7 +6272,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest", ] @@ -6000,7 +6283,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest", ] @@ -6025,7 +6308,7 @@ version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" dependencies = [ - "errno 0.2.8", + "errno 0.3.14", "libc", ] @@ -6110,7 +6393,7 @@ dependencies = [ "log", "memmap2", "rustix 1.1.3", - "thiserror 2.0.16", + "thiserror 2.0.18", "wayland-backend", "wayland-client", "wayland-csd-frame", @@ -6158,7 +6441,7 @@ dependencies = [ "educe", "enum-ordinalize", "fallible-iterator", - "heed", + "heed 0.21.0", "hex 0.3.2", "strum 0.20.0", "syn 1.0.109", @@ -6168,18 +6451,18 @@ dependencies = [ [[package]] name = "sneed" -version = "0.0.19" +version = "0.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f611ea5d3b6bc4669514cd971708fed12c89c1689f5f6d1a240cc2cb84be00a" +checksum = "ee7a0c2e3943d649a50f22cd21198aac5355b3eee046277f0f000c465efd6d78" dependencies = [ "educe", "enum-ordinalize", "fallible-iterator", - "heed", - "hex 0.3.2", - "strum 0.20.0", + "heed 0.22.0", + "hex 0.4.3", + "strum 0.27.2", "syn 1.0.109", - "thiserror 1.0.69", + "thiserror 2.0.18", "tokio", ] @@ -6288,6 +6571,15 @@ dependencies = [ "strum_macros 0.27.2", ] +[[package]] +name = "strum" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9628de9b8791db39ceda2b119bbe13134770b56c138ec1d3af810d045c04f9bd" +dependencies = [ + "strum_macros 0.28.0", +] + [[package]] name = "strum_macros" version = "0.20.1" @@ -6310,7 +6602,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -6322,7 +6614,19 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", +] + +[[package]] +name = "strum_macros" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab85eea0270ee17587ed4156089e10b9e6880ee688791d45a905f5b1ca36f664" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] @@ -6344,9 +6648,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.114" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -6379,7 +6683,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -6420,11 +6724,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.16" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ - "thiserror-impl 2.0.16", + "thiserror-impl 2.0.18", ] [[package]] @@ -6435,18 +6739,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] name = "thiserror-impl" -version = "2.0.16" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -6474,16 +6778,16 @@ dependencies = [ "ed25519-dalek", "ed25519-dalek-bip32", "educe", + "error-fatality", "fallible-iterator", - "fatality", "futures", "governor", "hashlink 0.10.0", - "heed", + "heed 0.21.0", "hex 0.4.3", - "jsonrpsee", + "jsonrpsee 0.25.1", "merkle-cbt", - "nonempty", + "nonempty 0.11.0", "parking_lot", "prost", "prost-build", @@ -6501,7 +6805,7 @@ dependencies = [ "smallvec", "sneed 0.0.11", "strum 0.27.2", - "thiserror 2.0.16", + "thiserror 2.0.18", "tiny-bip39", "tokio", "tokio-stream", @@ -6529,7 +6833,7 @@ dependencies = [ "http", "human-size", "include_path", - "jsonrpsee", + "jsonrpsee 0.25.1", "mimalloc", "parking_lot", "poll-promise", @@ -6537,7 +6841,7 @@ dependencies = [ "serde", "shlex", "strum 0.27.2", - "thiserror 2.0.16", + "thiserror 2.0.18", "thunder", "thunder_app_cli", "thunder_app_rpc_api", @@ -6564,7 +6868,7 @@ dependencies = [ "bitcoin", "clap", "http", - "jsonrpsee", + "jsonrpsee 0.25.1", "serde_json", "thunder", "thunder_app_rpc_api", @@ -6581,7 +6885,7 @@ name = "thunder_app_rpc_api" version = "0.14.0" dependencies = [ "bitcoin", - "jsonrpsee", + "jsonrpsee 0.25.1", "l2l-openapi", "serde", "serde_json", @@ -6600,10 +6904,10 @@ dependencies = [ "clap", "dotenvy", "futures", - "jsonrpsee", + "jsonrpsee 0.25.1", "libtest-mimic", "reserve-port", - "thiserror 2.0.16", + "thiserror 2.0.18", "thunder", "thunder_app_rpc_api", "tokio", @@ -6726,9 +7030,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.49.0" +version = "1.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" +checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d" dependencies = [ "bytes", "libc", @@ -6749,7 +7053,7 @@ checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -6815,7 +7119,7 @@ version = "0.23.10+spec-1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" dependencies = [ - "indexmap 2.13.0", + "indexmap 2.14.0", "toml_datetime", "toml_parser", "winnow", @@ -6832,9 +7136,9 @@ dependencies = [ [[package]] name = "tonic" -version = "0.14.3" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a286e33f82f8a1ee2df63f4fa35c0becf4a85a0cb03091a15fd7bf0b402dc94a" +checksum = "ac2a5518c70fa84342385732db33fb3f44bc4cc748936eb5833d2df34d6445ef" dependencies = [ "async-trait", "axum", @@ -6861,14 +7165,14 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.14.3" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27aac809edf60b741e2d7db6367214d078856b8a5bff0087e94ff330fb97b6fc" +checksum = "c68f61875ac5293cf72e6c8cf0158086428c82c37229e98c840878f1706b0322" dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -6886,9 +7190,9 @@ dependencies = [ [[package]] name = "tonic-prost" -version = "0.14.3" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6c55a2d6a14174563de34409c9f92ff981d006f56da9c6ecd40d9d4a31500b0" +checksum = "50849f68853be452acf590cde0b146665b8d507b3b8af17261df47e02c209ea0" dependencies = [ "bytes", "prost", @@ -6897,16 +7201,16 @@ dependencies = [ [[package]] name = "tonic-prost-build" -version = "0.14.3" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4556786613791cfef4ed134aa670b61a85cfcacf71543ef33e8d801abae988f" +checksum = "654e5643eff75d7f8c99197ce1440ed19a3474eada74c12bbac488b2cafdae27" dependencies = [ "prettyplease", "proc-macro2", "prost-build", "prost-types", "quote", - "syn 2.0.114", + "syn 2.0.117", "tempfile", "tonic-build", ] @@ -6919,7 +7223,7 @@ checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" dependencies = [ "futures-core", "futures-util", - "indexmap 2.13.0", + "indexmap 2.14.0", "pin-project-lite", "slab", "sync_wrapper", @@ -6993,7 +7297,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -7041,9 +7345,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.22" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" +checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319" dependencies = [ "matchers", "nu-ansi-term", @@ -7068,7 +7372,7 @@ checksum = "baf33f1e1fefdc7c6539d9bd9313296b58618e683606e8df7bd4e3a6758cc6dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -7100,9 +7404,9 @@ checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] name = "typewit" -version = "1.14.2" +version = "1.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8c1ae7cc0fdb8b842d65d127cb981574b0d2b249b74d1c7a2986863dc134f71" +checksum = "214ca0b2191785cbc06209b9ca1861e048e39b5ba33574b3cedd58363d5bb5f6" dependencies = [ "typewit_proc_macros", ] @@ -7124,6 +7428,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "ulid" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "470dbf6591da1b39d43c14523b2b469c86879a53e8b758c8e090a470fe7b1fbe" +dependencies = [ + "rand 0.9.4", + "web-time", +] + [[package]] name = "unicase" version = "2.9.0" @@ -7221,7 +7535,7 @@ version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2fcc29c80c21c31608227e0912b2d7fddba57ad76b606890627ba8ee7964e993" dependencies = [ - "indexmap 2.13.0", + "indexmap 2.14.0", "serde", "serde_json", "utoipa-gen", @@ -7235,16 +7549,16 @@ checksum = "6d79d08d92ab8af4c5e8a6da20c47ae3f61a0f1dabc1997cdf2d082b757ca08b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] name = "uuid" -version = "1.20.0" +version = "1.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f" +checksum = "ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76" dependencies = [ - "getrandom 0.3.4", + "getrandom 0.4.2", "js-sys", "wasm-bindgen", ] @@ -7322,6 +7636,15 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +dependencies = [ + "wit-bindgen", +] + [[package]] name = "wasm-bindgen" version = "0.2.108" @@ -7368,7 +7691,7 @@ dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", "wasm-bindgen-shared", ] @@ -7381,6 +7704,40 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap 2.14.0", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags 2.10.0", + "hashbrown 0.15.5", + "indexmap 2.14.0", + "semver", +] + [[package]] name = "wayland-backend" version = "0.3.12" @@ -7627,7 +7984,7 @@ dependencies = [ "bitflags 2.10.0", "cfg_aliases", "document-features", - "indexmap 2.13.0", + "indexmap 2.14.0", "log", "naga", "once_cell", @@ -7636,7 +7993,7 @@ dependencies = [ "raw-window-handle", "rustc-hash 1.1.0", "smallvec", - "thiserror 2.0.16", + "thiserror 2.0.18", "wgpu-hal", "wgpu-types", ] @@ -7675,7 +8032,7 @@ dependencies = [ "renderdoc-sys", "rustc-hash 1.1.0", "smallvec", - "thiserror 2.0.16", + "thiserror 2.0.18", "wasm-bindgen", "web-sys", "wgpu-types", @@ -7694,6 +8051,16 @@ dependencies = [ "web-sys", ] +[[package]] +name = "wide" +version = "0.7.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce5da8ecb62bcd8ec8b7ea19f69a51275e91299be594ea5cc6ef7819e16cd03" +dependencies = [ + "bytemuck", + "safe_arch", +] + [[package]] name = "winapi" version = "0.3.9" @@ -7769,7 +8136,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -7780,7 +8147,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -7791,7 +8158,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -7802,7 +8169,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -8211,6 +8578,88 @@ name = "wit-bindgen" version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck 0.5.0", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck 0.5.0", + "indexmap 2.14.0", + "prettyplease", + "syn 2.0.117", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn 2.0.117", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags 2.10.0", + "indexmap 2.14.0", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap 2.14.0", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", +] [[package]] name = "writeable" @@ -8319,7 +8768,7 @@ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", "synstructure", ] @@ -8379,7 +8828,7 @@ checksum = "709ab20fc57cb22af85be7b360239563209258430bccf38d8b979c5a2ae3ecce" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", "zbus-lockstep", "zbus_xml", "zvariant", @@ -8394,7 +8843,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", "zvariant_utils", ] @@ -8439,7 +8888,7 @@ checksum = "0c15e1b46eff7c6c91195752e0eeed8ef040e391cdece7c25376957d5f15df22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -8459,7 +8908,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", "synstructure", ] @@ -8480,30 +8929,27 @@ checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] name = "zeromq" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a4528179201f6eecf211961a7d3276faa61554c82651ecc66387f68fc3004bd" +checksum = "b32e1e46c4e278efd0c1153f2db0113924b9bc5fff9f9221853d035e2d26fadf" dependencies = [ "async-trait", "asynchronous-codec", "bytes", "crossbeam-queue", - "dashmap", - "futures-channel", - "futures-io", - "futures-task", - "futures-util", + "futures", "log", "num-traits", "once_cell", "parking_lot", - "rand 0.8.6", + "rand 0.9.4", "regex", + "scc", "thiserror 1.0.69", "tokio", "tokio-util", @@ -8540,7 +8986,7 @@ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -8586,7 +9032,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", "zvariant_utils", ] @@ -8598,5 +9044,5 @@ checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] diff --git a/Cargo.toml b/Cargo.toml index a463607c..b4a1ac5a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -28,7 +28,7 @@ ed25519-dalek = "2.1.1" ed25519-dalek-bip32 = "0.3.0" educe = { version = "0.6.0", default-features = false } eframe = "0.31.0" -fatality = "0.1.1" +error-fatality = "0.1.2" fallible-iterator = "0.3.0" futures = { version = "0.3.30", default-features = false } governor = { version = "0.8.1", default-features = false } @@ -64,7 +64,7 @@ sneed = "0.0.11" strum = { version = "0.27.2", features = ["derive"] } thiserror = "2.0.11" tiny-bip39 = "2.0.0" -tokio = { version = "1.48.0", default-features = false } +tokio = { version = "1.50.0", default-features = false } tokio-stream = "0.1.15" tokio-util = "0.7.18" tonic = "0.14.2" @@ -86,12 +86,12 @@ uuid = "1.13.1" [workspace.dependencies.bip300301_enforcer_lib] default-features = false git = "https://github.com/LayerTwo-Labs/bip300301_enforcer" -rev = "9c3eb0bdcb5b9a458e6f92cafb8bdbf76a860f74" +rev = "57bf4f8ace4454eddaec83dbc634dc706fc71516" [workspace.dependencies.bip300301_enforcer_integration_tests] default-features = false git = "https://github.com/LayerTwo-Labs/bip300301_enforcer" -rev = "9c3eb0bdcb5b9a458e6f92cafb8bdbf76a860f74" +rev = "57bf4f8ace4454eddaec83dbc634dc706fc71516" [workspace.dependencies.l2l-openapi] git = "https://github.com/Ash-L2L/l2l-openapi" diff --git a/deny.toml b/deny.toml index 9807385a..69c75acb 100644 --- a/deny.toml +++ b/deny.toml @@ -102,7 +102,6 @@ allow = [ "ISC", "MIT", "MITNFA", - "OpenSSL", "Unicode-3.0", "Unlicense", ] @@ -121,7 +120,7 @@ exceptions = [ { allow = ["CDLA-Permissive-2.0"], name = "webpki-roots", version = "1.0.5" }, { allow = ["LicenseRef-UFL-1.0", "OFL-1.1", "Ubuntu-font-1.0"], name = "epaint_default_fonts", version = "0.31.0" }, { allow = ["MPL-2.0"], name = "bitmaps", version = "3.2.1" }, - { allow = ["MPL-2.0"], name = "imbl", version = "3.0.0" }, + { allow = ["MPL-2.0"], name = "imbl", version = "7.0.0" }, { allow = ["MPL-2.0"], name = "imbl-sized-chunks", version = "0.1.3" }, { allow = ["MPL-2.0"], name = "option-ext", version = "0.2.0" }, { allow = ["MPL-2.0"], name = "webpki-roots", version = "0.25.4" }, diff --git a/integration_tests/ibd.rs b/integration_tests/ibd.rs index f9f51516..201ab8c1 100644 --- a/integration_tests/ibd.rs +++ b/integration_tests/ibd.rs @@ -35,7 +35,7 @@ async fn setup( res_tx: mpsc::UnboundedSender>, ) -> anyhow::Result<(EnforcerPostSetup, ThunderNodes)> { let enforcer_pre_setup = - EnforcerPreSetup::new(bin_paths.others, Network::Regtest)?; + EnforcerPreSetup::new(&bin_paths.others, Network::Regtest)?; let mut enforcer_post_setup = { let setup_opts: EnforcerSetupOpts = Default::default(); enforcer_pre_setup @@ -44,7 +44,7 @@ async fn setup( }; let sidechain_sender = PostSetup::setup( Init { - thunder_app: bin_paths.thunder.clone(), + thunder_app: bin_paths.thunder()?.clone(), data_dir_suffix: Some("sender".to_owned()), }, &enforcer_post_setup, @@ -54,7 +54,7 @@ async fn setup( tracing::info!("Setup thunder send node successfully"); let sidechain_syncer = PostSetup::setup( Init { - thunder_app: bin_paths.thunder.clone(), + thunder_app: bin_paths.thunder()?.clone(), data_dir_suffix: Some("syncer".to_owned()), }, &enforcer_post_setup, diff --git a/integration_tests/integration_test.rs b/integration_tests/integration_test.rs index f1fd83ce..16acd6ff 100644 --- a/integration_tests/integration_test.rs +++ b/integration_tests/integration_test.rs @@ -133,7 +133,7 @@ fn deposit_withdraw_roundtrip_trial( async move { let (res_tx, _) = futures::channel::mpsc::unbounded(); let pre_setup = - EnforcerPreSetup::new(bin_paths.others, Network::Regtest)?; + EnforcerPreSetup::new(&bin_paths.others, Network::Regtest)?; let post_setup = { let setup_opts: EnforcerSetupOpts = Default::default(); pre_setup @@ -143,7 +143,7 @@ fn deposit_withdraw_roundtrip_trial( deposit_withdraw_roundtrip( post_setup, Init { - thunder_app: bin_paths.thunder, + thunder_app: bin_paths.thunder()?.clone(), data_dir_suffix: None, }, res_tx, diff --git a/integration_tests/main.rs b/integration_tests/main.rs index c66bb8cc..15dcd867 100644 --- a/integration_tests/main.rs +++ b/integration_tests/main.rs @@ -99,7 +99,7 @@ async fn main() -> anyhow::Result { let failure_collector = TestFailureCollector::new(); tests.extend( integration_test::tests( - util::BinPaths::from_env()?, + util::BinPaths::default(), file_registry, failure_collector, ) diff --git a/integration_tests/unknown_withdrawal.rs b/integration_tests/unknown_withdrawal.rs index c9a62f18..91d1bb6b 100644 --- a/integration_tests/unknown_withdrawal.rs +++ b/integration_tests/unknown_withdrawal.rs @@ -30,7 +30,7 @@ use crate::{ /// Initial setup for the test async fn setup( - enforcer_bin_paths: EnforcerBinPaths, + enforcer_bin_paths: &EnforcerBinPaths, res_tx: mpsc::UnboundedSender>, ) -> anyhow::Result { let enforcer_pre_setup = @@ -59,10 +59,10 @@ async fn unknown_withdrawal_task( res_tx: mpsc::UnboundedSender>, ) -> anyhow::Result<()> { let mut enforcer_post_setup = - setup(bin_paths.others, res_tx.clone()).await?; + setup(&bin_paths.others, res_tx.clone()).await?; let mut sidechain_withdrawer = PostSetup::setup( Init { - thunder_app: bin_paths.thunder.clone(), + thunder_app: bin_paths.thunder()?.clone(), data_dir_suffix: Some("withdrawer".to_owned()), }, &enforcer_post_setup, @@ -93,7 +93,7 @@ async fn unknown_withdrawal_task( // New sidechain node, starting from scratch let mut sidechain_successor = PostSetup::setup( Init { - thunder_app: bin_paths.thunder, + thunder_app: bin_paths.thunder()?.clone(), data_dir_suffix: Some("successor".to_owned()), }, &enforcer_post_setup, diff --git a/integration_tests/util.rs b/integration_tests/util.rs index 48f8e0e1..a3dedd02 100644 --- a/integration_tests/util.rs +++ b/integration_tests/util.rs @@ -1,34 +1,24 @@ use std::{ ffi::{OsStr, OsString}, path::PathBuf, + sync::OnceLock, }; use bip300301_enforcer_integration_tests::util::{ - AbortOnDrop, BinPaths as EnforcerBinPaths, VarError, get_env_var, + AbortOnDrop, BinPaths as EnforcerBinPaths, OnceLockExt as _, VarError, spawn_command_with_args, }; use thunder::types::Network; -fn load_env_var_from_string(s: &str) -> Result<(), VarError> { - dotenvy::from_read_override(s.as_bytes()) - .map_err(|err| VarError::new(s, err)) -} - -#[derive(Clone, Debug)] +#[derive(Clone, Debug, Default)] pub struct BinPaths { - pub thunder: PathBuf, + thunder: OnceLock, pub others: EnforcerBinPaths, } impl BinPaths { - /// Read from environment variables - pub fn from_env() -> Result { - let () = load_env_var_from_string("BITCOIN_UTIL=''")?; - let () = load_env_var_from_string("SIGNET_MINER=''")?; - Ok(Self { - thunder: get_env_var("THUNDER_APP")?.into(), - others: EnforcerBinPaths::from_env()?, - }) + pub fn thunder(&self) -> Result<&PathBuf, VarError> { + self.thunder.get_or_try_init_from_env("THUNDER_APP") } } diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 867e83fc..492d1ffe 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -25,8 +25,8 @@ clap = { workspace = true, features = ["derive"], optional = true } ed25519-dalek = { workspace = true, features = ["batch", "serde"] } ed25519-dalek-bip32 = { workspace = true } educe = { workspace = true, features = ["Clone", "Debug"] } +error-fatality = { workspace = true } fallible-iterator = { workspace = true } -fatality = { workspace = true } futures = { workspace = true, features = ["alloc"] } governor = { workspace = true, features = ["quanta", "std"] } hashlink = { workspace = true, features = ["serde_impl"] } diff --git a/lib/net/error.rs b/lib/net/error.rs index 98a73d07..5710f067 100644 --- a/lib/net/error.rs +++ b/lib/net/error.rs @@ -1,6 +1,6 @@ use std::net::{IpAddr, SocketAddr}; -use fatality::fatality; +use error_fatality::{Fatality, Split}; use sneed::{db, env, rwtxn}; use thiserror::Error; use transitive::Transitive; @@ -13,8 +13,8 @@ pub struct AlreadyConnected(pub SocketAddr); /// Another connection can be accepted after a non-fatal error #[allow(clippy::duplicated_attributes)] -#[derive(transitive::Transitive)] -#[fatality(splitable)] +#[derive(Debug, Error, Fatality, Split, Transitive)] +#[split(attrs(derive(Debug, Error)))] #[transitive( from(sneed::db::error::Put, sneed::DbError), from(sneed::DbError, sneed::Error), @@ -24,18 +24,20 @@ pub struct AlreadyConnected(pub SocketAddr); )] pub enum AcceptConnection { #[error(transparent)] + #[fatal(false)] AlreadyConnected(#[from] AlreadyConnected), #[error("connection error (remote address: {remote_address})")] + #[fatal(false)] Connection { #[source] error: quinn::ConnectionError, remote_address: SocketAddr, }, #[error(transparent)] - #[fatal] + #[fatal(true)] Db(#[from] sneed::Error), #[error("server endpoint closed")] - #[fatal] + #[fatal(true)] ServerEndpointClosed, } @@ -49,7 +51,7 @@ pub enum AcceptConnection { #[transitive(from(rwtxn::error::Commit, rwtxn::Error))] pub enum Error { #[error(transparent)] - AcceptConnection(#[from] ::Fatal), + AcceptConnection(#[from] ::Fatal), #[error("accept error")] AcceptError, #[error(transparent)] diff --git a/lib/node/net_task.rs b/lib/node/net_task.rs index f6953318..21dc9e75 100644 --- a/lib/node/net_task.rs +++ b/lib/node/net_task.rs @@ -8,6 +8,7 @@ use std::{ time::Duration, }; +use error_fatality::{Nested as _, Split}; use fallible_iterator::{FallibleIterator, IteratorExt}; use futures::{ StreamExt, @@ -833,7 +834,7 @@ impl NetTask { AcceptConnection( Result< Option, - ::Fatal, + ::Fatal, >, ), // Forward a mainchain task request, along with the peer that @@ -857,7 +858,6 @@ impl NetTask { let env = self.ctxt.env.clone(); let net = self.ctxt.net.clone(); let fut = async move { - use fatality::Nested as _; let maybe_socket_addr = net.accept_incoming(env).await.into_nested()?; @@ -874,7 +874,7 @@ impl NetTask { Ok(Err(non_fatal_err)) => { // type the error explicitly let non_fatal_err: - ::Jfyi = + ::Jfyi = non_fatal_err; let non_fatal_err = anyhow::Error::from(non_fatal_err); tracing::error!( @@ -941,7 +941,7 @@ impl NetTask { } Err(fatal_err) => { // explicitly type error - let fatal_err: ::Fatal = + let fatal_err: ::Fatal = fatal_err; let fatal_err = anyhow::Error::from(fatal_err); tracing::error!(