From ea00780db3c72a3f9b5f617f60abdd420e3e96b1 Mon Sep 17 00:00:00 2001 From: Anton Yemelyanov Date: Fri, 26 Jun 2026 22:18:01 +0300 Subject: [PATCH 01/16] wrs19 wip --- Cargo.lock | 135 ++++++++++++++++++++--------------------------------- Cargo.toml | 50 ++++++++++---------- 2 files changed, 75 insertions(+), 110 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5531af1516..37423964da 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2088,7 +2088,14 @@ name = "faster-hex" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183" + +[[package]] +name = "faster-hex" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7223ae2d2f179b803433d9c830478527e92b8117eab39460edae7f1614d9fb73" dependencies = [ + "heapless", "serde", ] @@ -2532,11 +2539,11 @@ dependencies = [ [[package]] name = "home" -version = "0.5.9" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -5465,18 +5472,18 @@ dependencies = [ [[package]] name = "parse-variants" -version = "1.0.3" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99088a2b0695df5940d7b5a3b4c4460b765053cf5ecd6d46da43812d3fad7f13" +checksum = "84b4d1bb0b90012ce8056bd6bb5168d8de026d633dd592a732da5a25d3f6c74c" dependencies = [ "parse-variants-derive", ] [[package]] name = "parse-variants-derive" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70df726c43c645ef1dde24c7ae14692036ebe5457c92c5f0ec4cfceb99634ff6" +checksum = "70d80829147ec6f1b27109c7daaea62fc3a21a0348cdddf22b4093f0c35ab25a" dependencies = [ "proc-macro2", "quote", @@ -8550,14 +8557,12 @@ dependencies = [ [[package]] name = "workflow-chrome" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e0c0dfbc178cb7c3a47bd2aabf6902364d2db7e4c4f5b0dad57b75d78c6fe1f" +version = "0.18.1" dependencies = [ "cfg-if 1.0.0", "chrome-sys", "js-sys", - "thiserror 1.0.64", + "thiserror 2.0.18", "wasm-bindgen", "workflow-core", "workflow-log", @@ -8565,9 +8570,7 @@ dependencies = [ [[package]] name = "workflow-core" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d67bbe225ea90aa6979167f28935275506696ac867661e218893d3a42e1666" +version = "0.18.1" dependencies = [ "async-channel 2.3.1", "async-std", @@ -8576,7 +8579,7 @@ dependencies = [ "cfg-if 1.0.0", "chrono", "dirs", - "faster-hex 0.9.0", + "faster-hex 0.10.0", "futures", "getrandom 0.2.15", "instant", @@ -8585,7 +8588,7 @@ dependencies = [ "rlimit", "serde", "serde-wasm-bindgen", - "thiserror 1.0.64", + "thiserror 2.0.18", "tokio", "triggered", "vergen", @@ -8598,9 +8601,7 @@ dependencies = [ [[package]] name = "workflow-core-macros" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65659ed208b0066a9344142218abda353eb6c6cc1fc3ae4808b750c560de004b" +version = "0.18.1" dependencies = [ "convert_case 0.6.0", "parse-variants", @@ -8615,14 +8616,12 @@ dependencies = [ [[package]] name = "workflow-dom" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "503bba85907753c960ddfd73b4e79bffadf521cc3c992ef2b2a29fd3af09a957" +version = "0.18.1" dependencies = [ "futures", "js-sys", "regex", - "thiserror 1.0.64", + "thiserror 2.0.18", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -8633,15 +8632,13 @@ dependencies = [ [[package]] name = "workflow-http" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3c654c7395e448001c658309377a44a8c3d7c28c7acb30e9babbaeacb575bb0" +version = "0.18.1" dependencies = [ "cfg-if 1.0.0", "reqwest", "serde", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.18", "tokio", "wasm-bindgen", "workflow-core", @@ -8649,9 +8646,7 @@ dependencies = [ [[package]] name = "workflow-log" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64bf52c539193f219b7a79eb0c7c5f6c222ccf9b95c5e0bd59e924feb762256f" +version = "0.18.1" dependencies = [ "cfg-if 1.0.0", "console", @@ -8665,9 +8660,7 @@ dependencies = [ [[package]] name = "workflow-macro-tools" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "085d3045d5ca780fb589d230030e34fec962b3638d6c69806a72a7d7d1affea4" +version = "0.18.1" dependencies = [ "convert_case 0.6.0", "parse-variants", @@ -8678,9 +8671,7 @@ dependencies = [ [[package]] name = "workflow-node" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b85c9add43b5da3bed3d0d6d92eb3a2c5986c0ae65c7c3f5189876c19648154" +version = "0.18.1" dependencies = [ "borsh", "futures", @@ -8688,7 +8679,7 @@ dependencies = [ "lazy_static", "node-sys", "serde", - "thiserror 1.0.64", + "thiserror 2.0.18", "wasm-bindgen", "wasm-bindgen-futures", "workflow-core", @@ -8699,9 +8690,7 @@ dependencies = [ [[package]] name = "workflow-nw" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2dd8c77686e6456be8e92237daaa88ad31546974e04514a09b1a38f812530ef" +version = "0.18.1" dependencies = [ "ahash", "async-trait", @@ -8712,7 +8701,7 @@ dependencies = [ "rand 0.8.6", "serde", "serde-wasm-bindgen", - "thiserror 1.0.64", + "thiserror 2.0.18", "wasm-bindgen", "web-sys", "workflow-core", @@ -8723,9 +8712,7 @@ dependencies = [ [[package]] name = "workflow-panic-hook" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74c76ca8b459e4f0c949f06ce2d45565a6769748e83ca7064d36671bbd67b4da" +version = "0.18.1" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen", @@ -8747,9 +8734,7 @@ dependencies = [ [[package]] name = "workflow-rpc" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec4235eb167f0bef3bcbdf0c578823a0105ab5303115e3b2afb4d526e2498b08" +version = "0.18.1" dependencies = [ "ahash", "async-std", @@ -8763,7 +8748,7 @@ dependencies = [ "rand 0.8.6", "serde", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.18", "tokio", "tungstenite", "wasm-bindgen", @@ -8777,9 +8762,7 @@ dependencies = [ [[package]] name = "workflow-rpc-macros" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f048ca6b1c551f468c3c0c829f958e83dd15b20138b5466bb617ffde500e8cf4" +version = "0.18.1" dependencies = [ "parse-variants", "proc-macro-error", @@ -8790,9 +8773,7 @@ dependencies = [ [[package]] name = "workflow-serializer" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64679db6856852a472caff4ce869e3ecebe291fbccc9406e9643eb5951a0904a" +version = "0.18.1" dependencies = [ "ahash", "borsh", @@ -8801,22 +8782,20 @@ dependencies = [ [[package]] name = "workflow-store" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d161c4b844eee479f81306f2526266f9608a663e0a679d9fc0572ee15c144e06" +version = "0.18.1" dependencies = [ "async-std", "base64", "cfg-if 1.0.0", "chrome-sys", - "faster-hex 0.9.0", + "faster-hex 0.10.0", "filetime", "home", "js-sys", "lazy_static", "serde", "serde_json", - "thiserror 1.0.64", + "thiserror 2.0.18", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -8829,21 +8808,17 @@ dependencies = [ [[package]] name = "workflow-task" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1a90743bb4d3f68606cb4e9a78551a53399ebc35ddba981cbb56bf2b31940a" +version = "0.18.1" dependencies = [ "futures", - "thiserror 1.0.64", + "thiserror 2.0.18", "workflow-core", "workflow-task-macros", ] [[package]] name = "workflow-task-macros" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ecf6be36b52dc1e16d11b55f717d9ec2fec5804aff7f392af591933ba4af45e" +version = "0.18.1" dependencies = [ "convert_case 0.6.0", "parse-variants", @@ -8857,9 +8832,7 @@ dependencies = [ [[package]] name = "workflow-terminal" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b64a2ecf68442edf844c3138f0b78e1398cfe4279540f94cc51b4afb885e5b" +version = "0.18.1" dependencies = [ "async-std", "async-trait", @@ -8873,7 +8846,7 @@ dependencies = [ "pad", "regex", "textwrap", - "thiserror 1.0.64", + "thiserror 2.0.18", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -8886,9 +8859,7 @@ dependencies = [ [[package]] name = "workflow-terminal-macros" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bf96dca7d1847a74d7566c5620610d1accc854032308489105b80c08ebf525f" +version = "0.18.1" dependencies = [ "convert_case 0.6.0", "parse-variants", @@ -8902,17 +8873,15 @@ dependencies = [ [[package]] name = "workflow-wasm" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "799e5fbf266e0fffb5c24d6103735eb2b94bb31f93b664b91eaaf63b4f959804" +version = "0.18.1" dependencies = [ "cfg-if 1.0.0", - "faster-hex 0.9.0", + "faster-hex 0.10.0", "futures", "js-sys", "serde", "serde-wasm-bindgen", - "thiserror 1.0.64", + "thiserror 2.0.18", "wasm-bindgen", "wasm-bindgen-futures", "workflow-core", @@ -8923,9 +8892,7 @@ dependencies = [ [[package]] name = "workflow-wasm-macros" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40237c65ecff78dbfedb13985e33f802a31f6f7de72dff12a6674fcdcf601822" +version = "0.18.1" dependencies = [ "js-sys", "proc-macro-error", @@ -8937,9 +8904,7 @@ dependencies = [ [[package]] name = "workflow-websocket" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "515483a047477c91b5142e1090cce0afc21a0139d9c0c06ea42f0d3dbf3a6fcd" +version = "0.18.1" dependencies = [ "ahash", "async-channel 2.3.1", @@ -8950,7 +8915,7 @@ dependencies = [ "futures", "futures-util", "js-sys", - "thiserror 1.0.64", + "thiserror 2.0.18", "tokio", "tokio-tungstenite", "triggered", diff --git a/Cargo.toml b/Cargo.toml index 41c91c7c10..7d222d77e7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -317,35 +317,35 @@ nw-sys = "0.1.6" rustls = { version = "0.23.18", default-features = false, features = ["ring"] } # workflow dependencies -workflow-core = { version = "0.18.0" } -workflow-d3 = { version = "0.18.0" } -workflow-dom = { version = "0.18.0" } -workflow-http = { version = "0.18.0", default-features = false, features = ["rustls-tls-webpki-roots", "http2", "charset", "macos-system-configuration"] } -workflow-log = { version = "0.18.0" } -workflow-node = { version = "0.18.0" } -workflow-nw = { version = "0.18.0" } -workflow-rpc = { version = "0.18.0", default-features = false, features = ["rustls-tls-webpki-roots"] } -workflow-serializer = { version = "0.18.0" } -workflow-store = { version = "0.18.0" } -workflow-terminal = { version = "0.18.0" } -workflow-wasm = { version = "0.18.0" } +# workflow-core = { version = "0.18.0" } +# workflow-d3 = { version = "0.18.0" } +# workflow-dom = { version = "0.18.0" } +# workflow-http = { version = "0.18.0", default-features = false, features = ["rustls-tls-webpki-roots", "http2", "charset", "macos-system-configuration"] } +# workflow-log = { version = "0.18.0" } +# workflow-node = { version = "0.18.0" } +# workflow-nw = { version = "0.18.0" } +# workflow-rpc = { version = "0.18.0", default-features = false, features = ["rustls-tls-webpki-roots"] } +# workflow-serializer = { version = "0.18.0" } +# workflow-store = { version = "0.18.0" } +# workflow-terminal = { version = "0.18.0" } +# workflow-wasm = { version = "0.18.0" } # if below is enabled, this means that there is an ongoing work # on the workflow-rs crate. This requires that you clone workflow-rs # into a sibling folder from https://github.com/workflow-rs/workflow-rs -# workflow-core = { path = "../workflow-rs/core" } -# workflow-d3 = { path = "../workflow-rs/d3" } -# workflow-dom = { path = "../workflow-rs/dom" } -# # Same features as default but with rustls-tls-webpki-roots instead of native-tls -# workflow-http = { path = "../workflow-rs/http", default-features = false, features = ["rustls-tls-webpki-roots", "http2", "charset", "macos-system-configuration"] } -# workflow-log = { path = "../workflow-rs/log" } -# workflow-node = { path = "../workflow-rs/node" } -# workflow-nw = { path = "../workflow-rs/nw" } -# workflow-rpc = { path = "../workflow-rs/rpc", default-features = false, features = ["rustls-tls-webpki-roots"] } -# workflow-serializer = { path = "../workflow-rs/serializer" } -# workflow-store = { path = "../workflow-rs/store" } -# workflow-terminal = { path = "../workflow-rs/terminal" } -# workflow-wasm = { path = "../workflow-rs/wasm" } +workflow-core = { path = "../workflow-rs/core" } +workflow-d3 = { path = "../workflow-rs/d3" } +workflow-dom = { path = "../workflow-rs/dom" } +# Same features as default but with rustls-tls-webpki-roots instead of native-tls +workflow-http = { path = "../workflow-rs/http", default-features = false, features = ["rustls-tls-webpki-roots", "http2", "charset", "macos-system-configuration"] } +workflow-log = { path = "../workflow-rs/log" } +workflow-node = { path = "../workflow-rs/node" } +workflow-nw = { path = "../workflow-rs/nw" } +workflow-rpc = { path = "../workflow-rs/rpc", default-features = false, features = ["rustls-tls-webpki-roots"] } +workflow-serializer = { path = "../workflow-rs/serializer" } +workflow-store = { path = "../workflow-rs/store" } +workflow-terminal = { path = "../workflow-rs/terminal" } +workflow-wasm = { path = "../workflow-rs/wasm" } # --- From 41f6f1fcc5b026e37ba6fc4563fdbca2916b931c Mon Sep 17 00:00:00 2001 From: Anton Yemelyanov Date: Fri, 26 Jun 2026 22:56:08 +0300 Subject: [PATCH 02/16] fix(wrs19): integrate with workflow-rs v19 / wasm-bindgen 0.2.126 - bump wasm pins: wasm-bindgen =0.2.126, js-sys =0.3.103, wasm-bindgen-futures =0.4.76, web-sys =0.3.103 - workflow-http features: rustls-tls-webpki-roots/macos-system-configuration -> rustls/system-proxy (reqwest 0.13 / workflow-http 0.19 rename) - wasm-bindgen 0.2.126 ABI: wrap ref_from_abi() u32 args with WasmPtr::from_usize() in crypto/addresses and consensus/core script_public_key - tungstenite 0.29: WebSocketConfig is non_exhaustive; use builder in wrpc server service.rs and proxy main.rs - js-sys 0.3.103: drop Eq derive on PrivateKeyArrayT wasm extern type Co-Authored-By: Claude Opus 4.8 (1M context) --- Cargo.lock | 934 +++++++++++---------- Cargo.toml | 13 +- consensus/core/src/tx/script_public_key.rs | 2 +- crypto/addresses/src/lib.rs | 2 +- rpc/wrpc/proxy/src/main.rs | 2 +- rpc/wrpc/server/src/service.rs | 2 +- wallet/core/src/wasm/signer.rs | 2 +- 7 files changed, 510 insertions(+), 447 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 37423964da..476ed8f8d6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -614,27 +614,6 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" -[[package]] -name = "async-attributes" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "async-channel" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" -dependencies = [ - "concurrent-queue", - "event-listener 2.5.3", - "futures-core", -] - [[package]] name = "async-channel" version = "2.3.1" @@ -647,53 +626,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "async-executor" -version = "1.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" -dependencies = [ - "async-task", - "concurrent-queue", - "fastrand", - "futures-lite", - "slab", -] - -[[package]] -name = "async-global-executor" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" -dependencies = [ - "async-channel 2.3.1", - "async-executor", - "async-io", - "async-lock", - "blocking", - "futures-lite", - "once_cell", -] - -[[package]] -name = "async-io" -version = "2.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444b0228950ee6501b3568d3c93bf1176a1fdbc3b758dcd9475046d30f4dc7e8" -dependencies = [ - "async-lock", - "cfg-if 1.0.0", - "concurrent-queue", - "futures-io", - "futures-lite", - "parking", - "polling", - "rustix 0.38.37", - "slab", - "tracing", - "windows-sys 0.59.0", -] - [[package]] name = "async-lock" version = "3.4.2" @@ -705,33 +637,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "async-std" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c634475f29802fde2b8f0b505b1bd00dfe4df7d4a000f0b36f7671197d5c3615" -dependencies = [ - "async-attributes", - "async-channel 1.9.0", - "async-global-executor", - "async-io", - "async-lock", - "crossbeam-utils", - "futures-channel", - "futures-core", - "futures-io", - "futures-lite", - "gloo-timers", - "kv-log-macro", - "log", - "memchr", - "once_cell", - "pin-project-lite", - "pin-utils", - "slab", - "wasm-bindgen-futures", -] - [[package]] name = "async-stream" version = "0.3.6" @@ -754,12 +659,6 @@ dependencies = [ "syn 2.0.110", ] -[[package]] -name = "async-task" -version = "4.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" - [[package]] name = "async-trait" version = "0.1.89" @@ -806,6 +705,28 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +[[package]] +name = "aws-lc-rs" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ec2f1fc3ec205783a5da9a7e6c1509cc69dedf09a1949e412c1e18469326d00" +dependencies = [ + "aws-lc-sys", + "zeroize", +] + +[[package]] +name = "aws-lc-sys" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a2f9779ce85b93ab6170dd940ad0169b5766ff848247aff13bb788b832fe3f4" +dependencies = [ + "cc", + "cmake", + "dunce", + "fs_extra", +] + [[package]] name = "axum" version = "0.8.9" @@ -891,7 +812,7 @@ version = "0.72.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.13.0", "cexpr", "clang-sys", "itertools 0.13.0", @@ -919,9 +840,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.4" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" +checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8" [[package]] name = "blake2" @@ -972,41 +893,28 @@ dependencies = [ "generic-array", ] -[[package]] -name = "blocking" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" -dependencies = [ - "async-channel 2.3.1", - "async-task", - "futures-io", - "futures-lite", - "piper", -] - [[package]] name = "borsh" -version = "1.5.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed" +checksum = "2f3f6da4992df95bbcd9af42a6c7dcb994498fc9048230405f3b36ff7cd3f145" dependencies = [ "borsh-derive", + "bytes", "cfg_aliases 0.2.1", ] [[package]] name = "borsh-derive" -version = "1.5.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" +checksum = "3ae8fb4fb5740e4b2c4884ff95f5f32f5e8479db1e8fd8eb49ddbe09eb09bb7c" dependencies = [ "once_cell", "proc-macro-crate", "proc-macro2", "quote", "syn 2.0.110", - "syn_derive", ] [[package]] @@ -1311,6 +1219,15 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" +[[package]] +name = "cmake" +version = "0.1.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678" +dependencies = [ + "cc", +] + [[package]] name = "cobs" version = "0.3.0" @@ -1326,6 +1243,16 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + [[package]] name = "concurrent-queue" version = "2.5.0" @@ -1387,6 +1314,24 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "convert_case" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "convert_case" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "affbf0190ed2caf063e3def54ff444b449371d55c58e513a95ab98eca50adb49" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "core-foundation" version = "0.9.4" @@ -1397,6 +1342,16 @@ dependencies = [ "libc", ] +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation-sys" version = "0.8.7" @@ -1410,7 +1365,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" dependencies = [ "bitflags 1.3.2", - "core-foundation", + "core-foundation 0.9.4", "libc", ] @@ -1511,15 +1466,17 @@ checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crossterm" -version = "0.27.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" +checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.13.0", "crossterm_winapi", - "libc", - "mio 0.8.11", + "derive_more 2.1.1", + "document-features", + "mio", "parking_lot", + "rustix", "signal-hook", "signal-hook-mio", "winapi", @@ -1799,6 +1756,7 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" dependencies = [ + "convert_case 0.10.0", "proc-macro2", "quote", "rustc_version", @@ -1852,7 +1810,16 @@ version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" dependencies = [ - "dirs-sys", + "dirs-sys 0.4.1", +] + +[[package]] +name = "dirs" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" +dependencies = [ + "dirs-sys 0.5.0", ] [[package]] @@ -1863,10 +1830,22 @@ checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" dependencies = [ "libc", "option-ext", - "redox_users", + "redox_users 0.4.6", "windows-sys 0.48.0", ] +[[package]] +name = "dirs-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" +dependencies = [ + "libc", + "option-ext", + "redox_users 0.5.2", + "windows-sys 0.61.2", +] + [[package]] name = "displaydoc" version = "0.2.5" @@ -1884,6 +1863,15 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" +[[package]] +name = "document-features" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" +dependencies = [ + "litrs", +] + [[package]] name = "downcast" version = "0.11.0" @@ -1908,6 +1896,12 @@ dependencies = [ "shared_child", ] +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + [[package]] name = "duration-string" version = "0.4.0" @@ -2208,6 +2202,12 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "fs_extra" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" + [[package]] name = "futures" version = "0.3.31" @@ -2256,19 +2256,6 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" -[[package]] -name = "futures-lite" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" -dependencies = [ - "fastrand", - "futures-core", - "futures-io", - "parking", - "pin-project-lite", -] - [[package]] name = "futures-macro" version = "0.3.31" @@ -2355,11 +2342,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" dependencies = [ "cfg-if 1.0.0", + "js-sys", "libc", "r-efi 6.0.0", "rand_core 0.10.1", "wasip2", "wasip3", + "wasm-bindgen", ] [[package]] @@ -2374,18 +2363,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" -[[package]] -name = "gloo-timers" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", -] - [[package]] name = "h2" version = "0.4.6" @@ -2635,7 +2612,6 @@ dependencies = [ "tokio", "tokio-rustls", "tower-service", - "webpki-roots 0.26.6", ] [[package]] @@ -2657,18 +2633,23 @@ version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" dependencies = [ + "base64", "bytes", "futures-channel", "futures-util", "http", "http-body", "hyper", + "ipnet", "libc", + "percent-encoding", "pin-project-lite", "socket2 0.6.3", + "system-configuration", "tokio", "tower-service", "tracing", + "windows-registry", ] [[package]] @@ -2902,18 +2883,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "instant" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" -dependencies = [ - "cfg-if 1.0.0", - "js-sys", - "wasm-bindgen", - "web-sys", -] - [[package]] name = "ipnet" version = "2.11.0" @@ -2970,6 +2939,55 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +[[package]] +name = "jni" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498" +dependencies = [ + "cfg-if 1.0.0", + "combine", + "jni-macros", + "jni-sys", + "log", + "simd_cesu8", + "thiserror 2.0.18", + "walkdir", + "windows-link", +] + +[[package]] +name = "jni-macros" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3" +dependencies = [ + "proc-macro2", + "quote", + "rustc_version", + "simd_cesu8", + "syn 2.0.110", +] + +[[package]] +name = "jni-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" +dependencies = [ + "jni-sys-macros", +] + +[[package]] +name = "jni-sys-macros" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" +dependencies = [ + "quote", + "syn 2.0.110", +] + [[package]] name = "jobserver" version = "0.1.32" @@ -2981,11 +2999,12 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.77" +version = "0.3.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +checksum = "53b44bfcdb3f8d5837a46dae1ca9660a837176eee74a28b229bc626816589102" dependencies = [ - "once_cell", + "cfg-if 1.0.0", + "futures-util", "wasm-bindgen", ] @@ -3139,7 +3158,7 @@ name = "kaspa-consensus" version = "2.0.1" dependencies = [ "arc-swap", - "async-channel 2.3.1", + "async-channel", "bincode", "criterion", "crossbeam-channel", @@ -3218,7 +3237,7 @@ dependencies = [ "arc-swap", "async-trait", "bincode", - "bitflags 2.9.4", + "bitflags 2.13.0", "borsh", "cfg-if 1.0.0", "criterion", @@ -3259,7 +3278,7 @@ dependencies = [ name = "kaspa-consensus-notify" version = "2.0.1" dependencies = [ - "async-channel 2.3.1", + "async-channel", "cfg-if 1.0.0", "derive_more 0.99.18", "futures", @@ -3384,7 +3403,7 @@ dependencies = [ name = "kaspa-grpc-client" version = "2.0.1" dependencies = [ - "async-channel 2.3.1", + "async-channel", "async-stream", "async-trait", "faster-hex 0.9.0", @@ -3416,7 +3435,7 @@ dependencies = [ name = "kaspa-grpc-core" version = "2.0.1" dependencies = [ - "async-channel 2.3.1", + "async-channel", "async-stream", "async-trait", "faster-hex 0.9.0", @@ -3448,7 +3467,7 @@ dependencies = [ name = "kaspa-grpc-server" version = "2.0.1" dependencies = [ - "async-channel 2.3.1", + "async-channel", "async-stream", "async-trait", "faster-hex 0.9.0", @@ -3517,7 +3536,7 @@ dependencies = [ name = "kaspa-index-core" version = "2.0.1" dependencies = [ - "async-channel 2.3.1", + "async-channel", "async-trait", "bincode", "derive_more 0.99.18", @@ -3539,7 +3558,7 @@ dependencies = [ name = "kaspa-index-processor" version = "2.0.1" dependencies = [ - "async-channel 2.3.1", + "async-channel", "async-trait", "derive_more 0.99.18", "futures", @@ -3659,7 +3678,7 @@ dependencies = [ name = "kaspa-notify" version = "2.0.1" dependencies = [ - "async-channel 2.3.1", + "async-channel", "async-trait", "borsh", "criterion", @@ -3822,7 +3841,7 @@ dependencies = [ name = "kaspa-rpc-core" version = "2.0.1" dependencies = [ - "async-channel 2.3.1", + "async-channel", "async-trait", "borsh", "cfg-if 1.0.0", @@ -3954,7 +3973,7 @@ dependencies = [ "blake2", "chrono", "clap", - "dirs", + "dirs 5.0.1", "faster-hex 0.1.1", "futures-util", "hex", @@ -4008,7 +4027,7 @@ dependencies = [ name = "kaspa-testing-integration" version = "2.0.1" dependencies = [ - "async-channel 2.3.1", + "async-channel", "async-trait", "bincode", "chrono", @@ -4156,7 +4175,7 @@ name = "kaspa-utils" version = "2.0.1" dependencies = [ "arc-swap", - "async-channel 2.3.1", + "async-channel", "async-trait", "bincode", "borsh", @@ -4196,7 +4215,7 @@ dependencies = [ "pin-project-lite", "tokio", "tower", - "tower-http", + "tower-http 0.5.2", ] [[package]] @@ -4253,7 +4272,7 @@ dependencies = [ "aes", "ahash", "argon2", - "async-channel 2.3.1", + "async-channel", "async-lock", "async-trait", "base64", @@ -4597,11 +4616,11 @@ dependencies = [ name = "kaspad" version = "2.0.1" dependencies = [ - "async-channel 2.3.1", + "async-channel", "cfg-if 1.0.0", "clap", "dhat", - "dirs", + "dirs 5.0.1", "futures-util", "itertools 0.13.0", "kaspa-addresses", @@ -4655,15 +4674,6 @@ dependencies = [ "cpufeatures 0.2.17", ] -[[package]] -name = "kv-log-macro" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" -dependencies = [ - "log", -] - [[package]] name = "lambert_w" version = "1.2.34" @@ -4727,7 +4737,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.13.0", "libc", "redox_syscall", ] @@ -4758,12 +4768,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "linux-raw-sys" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" - [[package]] name = "linux-raw-sys" version = "0.12.1" @@ -4776,6 +4780,12 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" +[[package]] +name = "litrs" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" + [[package]] name = "local-ip-address" version = "0.6.3" @@ -5035,7 +5045,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.13.0", "block", "core-graphics-types", "foreign-types", @@ -5061,9 +5071,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "minicov" -version = "0.3.5" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c71e683cd655513b99affab7d317deb690528255a0d5f717f1024093c12b169" +checksum = "4869b6a491569605d66d3952bcdf03df789e5b536e5f0cf7758a7f08a55ae24d" dependencies = [ "cc", "walkdir", @@ -5092,26 +5102,15 @@ checksum = "9bec4598fddb13cc7b528819e697852653252b760f1228b7642679bf2ff2cd07" [[package]] name = "mio" -version = "0.8.11" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ + "hermit-abi 0.3.9", "libc", "log", "wasi", - "windows-sys 0.48.0", -] - -[[package]] -name = "mio" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" -dependencies = [ - "hermit-abi 0.3.9", - "libc", - "wasi", - "windows-sys 0.52.0", + "windows-sys 0.52.0", ] [[package]] @@ -5166,7 +5165,7 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.13.0", "cfg-if 1.0.0", "cfg_aliases 0.1.1", "libc", @@ -5179,7 +5178,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.13.0", "cfg-if 1.0.0", "cfg_aliases 0.2.1", "libc", @@ -5397,9 +5396,9 @@ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" [[package]] name = "oorandom" -version = "11.1.4" +version = "11.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "opaque-debug" @@ -5407,6 +5406,12 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" +[[package]] +name = "openssl-probe" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" + [[package]] name = "option-ext" version = "0.2.0" @@ -5566,38 +5571,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "piper" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" -dependencies = [ - "atomic-waker", - "fastrand", - "futures-io", -] - [[package]] name = "pkg-config" version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" -[[package]] -name = "polling" -version = "3.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2790cd301dec6cd3b7a025e4815cf825724a51c98dccfe6a3e55f05ffb6511" -dependencies = [ - "cfg-if 1.0.0", - "concurrent-queue", - "hermit-abi 0.4.0", - "pin-project-lite", - "rustix 0.38.37", - "tracing", - "windows-sys 0.59.0", -] - [[package]] name = "poly1305" version = "0.8.0" @@ -5693,6 +5672,27 @@ dependencies = [ "version_check", ] +[[package]] +name = "proc-macro-error-attr3" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34e4dd828515431dd6c4a030d26f7eaed7dd4778226e9d2bb968d65ca4ec3d4d" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "proc-macro-error3" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee475e440453418ff1335189eddf7101ba502cd818ab7ae04209bc83aa925aa" +dependencies = [ + "proc-macro-error-attr3", + "proc-macro2", + "quote", +] + [[package]] name = "proc-macro2" version = "1.0.103" @@ -5723,7 +5723,7 @@ version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bee689443a2bd0a16ab0348b52ee43e3b2d1b1f931c8aa5c9f8de4c86fbe8c40" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.13.0", "num-traits", "rand 0.9.4", "rand_chacha 0.9.0", @@ -5810,7 +5810,7 @@ version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c3a14896dfa883796f1cb410461aef38810ea05f2b2c33c5aded3649095fdad" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.13.0", "memchr", "unicase", ] @@ -5826,28 +5826,31 @@ dependencies = [ [[package]] name = "quinn" -version = "0.11.5" +version = "0.11.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684" +checksum = "0c1a41e437b6bbd489372cd4971de128e85c855f56c57f283d20ff016cf7c0a8" dependencies = [ "bytes", + "cfg_aliases 0.2.1", "pin-project-lite", "quinn-proto", "quinn-udp", "rustc-hash 2.1.1", "rustls", - "socket2 0.5.7", - "thiserror 1.0.64", + "socket2 0.6.3", + "thiserror 2.0.18", "tokio", "tracing", + "web-time", ] [[package]] name = "quinn-proto" -version = "0.11.14" +version = "0.11.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" +checksum = "4fcb935c5bec503c2f0e306bdd3e58bb9029dcb14fa8d9ac76e3a5256ac0763e" dependencies = [ + "aws-lc-rs", "bytes", "getrandom 0.3.4", "lru-slab", @@ -6037,7 +6040,7 @@ version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.13.0", ] [[package]] @@ -6051,6 +6054,17 @@ dependencies = [ "thiserror 1.0.64", ] +[[package]] +name = "redox_users" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" +dependencies = [ + "getrandom 0.2.15", + "libredox", + "thiserror 2.0.18", +] + [[package]] name = "ref-cast" version = "1.0.25" @@ -6102,15 +6116,14 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" -version = "0.12.8" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f713147fbe92361e52392c73b8c9e48c04c6625bce969ef54dc901e58e042a7b" +checksum = "219c5811de6525e5416c7d5d53bb656d3afdbc6c5af816e0802bcfa42dbdc1c3" dependencies = [ "base64", "bytes", "encoding_rs", "futures-core", - "futures-util", "h2", "http", "http-body", @@ -6118,31 +6131,25 @@ dependencies = [ "hyper", "hyper-rustls", "hyper-util", - "ipnet", "js-sys", "log", "mime", - "once_cell", "percent-encoding", "pin-project-lite", "quinn", "rustls", - "rustls-pemfile", "rustls-pki-types", - "serde", - "serde_json", - "serde_urlencoded", + "rustls-platform-verifier", "sync_wrapper", - "system-configuration", "tokio", "tokio-rustls", + "tower", + "tower-http 0.6.11", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots 0.26.6", - "windows-registry", ] [[package]] @@ -6373,7 +6380,7 @@ dependencies = [ name = "rothschild" version = "2.0.1" dependencies = [ - "async-channel 2.3.1", + "async-channel", "clap", "criterion", "faster-hex 0.9.0", @@ -6454,29 +6461,16 @@ dependencies = [ "semver", ] -[[package]] -name = "rustix" -version = "0.38.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" -dependencies = [ - "bitflags 2.9.4", - "errno", - "libc", - "linux-raw-sys 0.4.14", - "windows-sys 0.52.0", -] - [[package]] name = "rustix" version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.13.0", "errno", "libc", - "linux-raw-sys 0.12.1", + "linux-raw-sys", "windows-sys 0.61.2", ] @@ -6486,6 +6480,7 @@ version = "0.23.39" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c2c118cb077cca2822033836dfb1b975355dfb784b5e8da48f7b6c5db74e60e" dependencies = [ + "aws-lc-rs", "log", "once_cell", "ring", @@ -6496,12 +6491,15 @@ dependencies = [ ] [[package]] -name = "rustls-pemfile" -version = "2.2.0" +name = "rustls-native-certs" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +checksum = "dab5152771c58876a2146916e53e35057e1a4dfa2b9df0f0305b07f611fdea4d" dependencies = [ + "openssl-probe", "rustls-pki-types", + "schannel", + "security-framework", ] [[package]] @@ -6514,12 +6512,40 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rustls-platform-verifier" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d1e2536ce4f35f4846aa13bff16bd0ff40157cdb14cc056c7b14ba41233ba0" +dependencies = [ + "core-foundation 0.10.1", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls", + "rustls-native-certs", + "rustls-platform-verifier-android", + "rustls-webpki", + "security-framework", + "security-framework-sys", + "webpki-root-certs", + "windows-sys 0.61.2", +] + +[[package]] +name = "rustls-platform-verifier-android" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" + [[package]] name = "rustls-webpki" version = "0.103.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" dependencies = [ + "aws-lc-rs", "ring", "rustls-pki-types", "untrusted", @@ -6582,6 +6608,15 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "schannel" +version = "0.1.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939" +dependencies = [ + "windows-sys 0.61.2", +] + [[package]] name = "schemars" version = "0.9.0" @@ -6632,6 +6667,29 @@ dependencies = [ "cc", ] +[[package]] +name = "security-framework" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" +dependencies = [ + "bitflags 2.13.0", + "core-foundation 0.10.1", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "self_cell" version = "1.2.2" @@ -6756,18 +6814,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - [[package]] name = "serde_with" version = "3.18.0" @@ -6892,7 +6938,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" dependencies = [ "libc", - "mio 0.8.11", + "mio", "signal-hook", ] @@ -6905,11 +6951,27 @@ dependencies = [ "libc", ] +[[package]] +name = "simd_cesu8" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94f90157bb87cddf702797c5dadfa0be7d266cdf49e22da2fcaa32eff75b2c33" +dependencies = [ + "rustc_version", + "simdutf8", +] + +[[package]] +name = "simdutf8" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" + [[package]] name = "simpa" version = "2.0.1" dependencies = [ - "async-channel 2.3.1", + "async-channel", "cfg-if 1.0.0", "clap", "dhat", @@ -7151,18 +7213,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "syn_derive" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.110", -] - [[package]] name = "sync_wrapper" version = "1.0.2" @@ -7199,12 +7249,12 @@ dependencies = [ [[package]] name = "system-configuration" -version = "0.6.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" +checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" dependencies = [ - "bitflags 2.9.4", - "core-foundation", + "bitflags 2.13.0", + "core-foundation 0.9.4", "system-configuration-sys", ] @@ -7227,7 +7277,7 @@ dependencies = [ "fastrand", "getrandom 0.4.2", "once_cell", - "rustix 1.1.4", + "rustix", "windows-sys 0.61.2", ] @@ -7393,7 +7443,7 @@ dependencies = [ "backtrace", "bytes", "libc", - "mio 1.0.2", + "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", @@ -7447,9 +7497,9 @@ dependencies = [ [[package]] name = "tokio-tungstenite" -version = "0.23.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6989540ced10490aaf14e6bad2e3d33728a2813310a0c71d1574304c49631cd" +checksum = "8f72a05e828585856dacd553fba484c242c46e391fb0e58917c942ee9202915c" dependencies = [ "futures-util", "log", @@ -7604,7 +7654,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.13.0", "bytes", "http", "http-body", @@ -7614,6 +7664,24 @@ dependencies = [ "tower-service", ] +[[package]] +name = "tower-http" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cfcf7e2740e6fc6d4d688b4ef00650406bb94adf4731e43c096c3a19fe40840" +dependencies = [ + "bitflags 2.13.0", + "bytes", + "futures-util", + "http", + "http-body", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", + "url", +] + [[package]] name = "tower-layer" version = "0.3.3" @@ -7723,22 +7791,20 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tungstenite" -version = "0.23.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e2ce1e47ed2994fd43b04c8f618008d4cabdd5ee34027cf14f9d918edd9c8" +checksum = "6c01152af293afb9c7c2a57e4b559c5620b421f6d133261c60dd2d0cdb38e6b8" dependencies = [ - "byteorder", "bytes", "data-encoding", "http", "httparse", "log", - "rand 0.8.6", + "rand 0.9.4", "rustls", "rustls-pki-types", "sha1", - "thiserror 1.0.64", - "utf-8", + "thiserror 2.0.18", ] [[package]] @@ -7846,12 +7912,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -7991,48 +8051,32 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.100" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +checksum = "4b067c0c11094aef6b7a801c1e34a26affafdf3d051dba08456b868789aaf9a4" dependencies = [ "cfg-if 1.0.0", "once_cell", "rustversion", "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn 2.0.110", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.50" +version = "0.4.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" +checksum = "c62df1340f32221cb9c54d6a27b030e3dba64361d4a95bed55f9aacb44da291d" dependencies = [ - "cfg-if 1.0.0", "js-sys", - "once_cell", "wasm-bindgen", - "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.100" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +checksum = "167ce5e579f6bcf889c4f7175a8a5a585de84e8ff93976ce393efa5f2837aab1" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -8040,50 +8084,65 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.100" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +checksum = "f3997c7839262f4ef12cf90b818d6340c18e80f263f1a94bf157d0ec4420380e" dependencies = [ + "bumpalo", "proc-macro2", "quote", "syn 2.0.110", - "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.100" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +checksum = "dc1b4cb0cc549fcf58d7dfc081778139b3d283a081644e833e84682ad71cea24" dependencies = [ "unicode-ident", ] [[package]] name = "wasm-bindgen-test" -version = "0.3.50" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66c8d5e33ca3b6d9fa3b4676d774c5778031d27a578c2b007f905acf816152c3" +checksum = "2a0d555ca874445df8d314f94f5c948a4e74e5418f332c89f660a3d8310a96f4" dependencies = [ + "async-trait", + "cast", "js-sys", + "libm", "minicov", + "nu-ansi-term", + "num-traits", + "oorandom", + "serde", + "serde_json", "wasm-bindgen", "wasm-bindgen-futures", "wasm-bindgen-test-macro", + "wasm-bindgen-test-shared", ] [[package]] name = "wasm-bindgen-test-macro" -version = "0.3.50" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17d5042cc5fa009658f9a7333ef24291b1291a25b6382dd68862a7f3b969f69b" +checksum = "94eb68555b95bcea5e8cf4abe280b529049479fa995bfc23734af96a6aedc120" dependencies = [ "proc-macro2", "quote", "syn 2.0.110", ] +[[package]] +name = "wasm-bindgen-test-shared" +version = "0.2.126" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31d56021e873866c968588ed85ccdf56db5c426e44afdb4618c39895104b920" + [[package]] name = "wasm-encoder" version = "0.244.0" @@ -8112,7 +8171,7 @@ version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.13.0", "hashbrown 0.15.5", "indexmap 2.14.0", "semver", @@ -8120,9 +8179,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.77" +version = "0.3.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +checksum = "8622dcb61c0bcc9fffa6938bed81210af2da9a7e4a1a834b2e37a59b6dfb6141" dependencies = [ "js-sys", "wasm-bindgen", @@ -8138,6 +8197,15 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webpki-root-certs" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d46a5a140e6f7afeccd8eae97eff335163939eac8b929834875168b29b3d267" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "webpki-roots" version = "0.26.6" @@ -8258,13 +8326,13 @@ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" [[package]] name = "windows-registry" -version = "0.2.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" dependencies = [ - "windows-result 0.2.0", + "windows-link", + "windows-result 0.4.1", "windows-strings", - "windows-targets 0.52.6", ] [[package]] @@ -8278,21 +8346,20 @@ dependencies = [ [[package]] name = "windows-result" -version = "0.2.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ - "windows-targets 0.52.6", + "windows-link", ] [[package]] name = "windows-strings" -version = "0.1.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ - "windows-result 0.2.0", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -8525,7 +8592,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" dependencies = [ "anyhow", - "bitflags 2.9.4", + "bitflags 2.13.0", "indexmap 2.14.0", "log", "serde", @@ -8557,7 +8624,7 @@ dependencies = [ [[package]] name = "workflow-chrome" -version = "0.18.1" +version = "0.19.0" dependencies = [ "cfg-if 1.0.0", "chrome-sys", @@ -8570,21 +8637,19 @@ dependencies = [ [[package]] name = "workflow-core" -version = "0.18.1" +version = "0.19.0" dependencies = [ - "async-channel 2.3.1", - "async-std", + "async-channel", "borsh", "bs58", "cfg-if 1.0.0", "chrono", - "dirs", + "dirs 6.0.0", "faster-hex 0.10.0", "futures", - "getrandom 0.2.15", - "instant", + "getrandom 0.4.2", "js-sys", - "rand 0.8.6", + "rand 0.10.1", "rlimit", "serde", "serde-wasm-bindgen", @@ -8595,28 +8660,29 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", + "web-time", "workflow-core-macros", "workflow-log", ] [[package]] name = "workflow-core-macros" -version = "0.18.1" +version = "0.19.0" dependencies = [ - "convert_case 0.6.0", + "convert_case 0.11.0", "parse-variants", - "proc-macro-error", + "proc-macro-error3", "proc-macro2", "quote", "regex", "sha2", - "syn 1.0.109", + "syn 2.0.110", "workflow-macro-tools", ] [[package]] name = "workflow-dom" -version = "0.18.1" +version = "0.19.0" dependencies = [ "futures", "js-sys", @@ -8632,7 +8698,7 @@ dependencies = [ [[package]] name = "workflow-http" -version = "0.18.1" +version = "0.19.0" dependencies = [ "cfg-if 1.0.0", "reqwest", @@ -8646,12 +8712,11 @@ dependencies = [ [[package]] name = "workflow-log" -version = "0.18.1" +version = "0.19.0" dependencies = [ "cfg-if 1.0.0", "console", "downcast", - "hexplay", "lazy_static", "log", "termcolor", @@ -8660,18 +8725,18 @@ dependencies = [ [[package]] name = "workflow-macro-tools" -version = "0.18.1" +version = "0.19.0" dependencies = [ - "convert_case 0.6.0", + "convert_case 0.11.0", "parse-variants", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.110", ] [[package]] name = "workflow-node" -version = "0.18.1" +version = "0.19.0" dependencies = [ "borsh", "futures", @@ -8690,7 +8755,7 @@ dependencies = [ [[package]] name = "workflow-nw" -version = "0.18.1" +version = "0.19.0" dependencies = [ "ahash", "async-trait", @@ -8698,7 +8763,7 @@ dependencies = [ "futures", "js-sys", "nw-sys", - "rand 0.8.6", + "rand 0.10.1", "serde", "serde-wasm-bindgen", "thiserror 2.0.18", @@ -8712,7 +8777,7 @@ dependencies = [ [[package]] name = "workflow-panic-hook" -version = "0.18.1" +version = "0.19.0" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen", @@ -8734,18 +8799,17 @@ dependencies = [ [[package]] name = "workflow-rpc" -version = "0.18.1" +version = "0.19.0" dependencies = [ "ahash", - "async-std", "async-trait", "borsh", "downcast-rs", "futures", "futures-util", - "getrandom 0.2.15", + "getrandom 0.4.2", "manual_future", - "rand 0.8.6", + "rand 0.10.1", "serde", "serde_json", "thiserror 2.0.18", @@ -8762,18 +8826,18 @@ dependencies = [ [[package]] name = "workflow-rpc-macros" -version = "0.18.1" +version = "0.19.0" dependencies = [ "parse-variants", - "proc-macro-error", + "proc-macro-error3", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.110", ] [[package]] name = "workflow-serializer" -version = "0.18.1" +version = "0.19.0" dependencies = [ "ahash", "borsh", @@ -8782,9 +8846,8 @@ dependencies = [ [[package]] name = "workflow-store" -version = "0.18.1" +version = "0.19.0" dependencies = [ - "async-std", "base64", "cfg-if 1.0.0", "chrome-sys", @@ -8796,6 +8859,7 @@ dependencies = [ "serde", "serde_json", "thiserror 2.0.18", + "tokio", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -8808,7 +8872,7 @@ dependencies = [ [[package]] name = "workflow-task" -version = "0.18.1" +version = "0.19.0" dependencies = [ "futures", "thiserror 2.0.18", @@ -8818,23 +8882,22 @@ dependencies = [ [[package]] name = "workflow-task-macros" -version = "0.18.1" +version = "0.19.0" dependencies = [ - "convert_case 0.6.0", + "convert_case 0.11.0", "parse-variants", - "proc-macro-error", + "proc-macro-error3", "proc-macro2", "quote", "sha2", - "syn 1.0.109", + "syn 2.0.110", "workflow-macro-tools", ] [[package]] name = "workflow-terminal" -version = "0.18.1" +version = "0.19.0" dependencies = [ - "async-std", "async-trait", "cfg-if 1.0.0", "crossterm", @@ -8859,21 +8922,21 @@ dependencies = [ [[package]] name = "workflow-terminal-macros" -version = "0.18.1" +version = "0.19.0" dependencies = [ - "convert_case 0.6.0", + "convert_case 0.11.0", "parse-variants", - "proc-macro-error", + "proc-macro-error3", "proc-macro2", "quote", "sha2", - "syn 1.0.109", + "syn 2.0.110", "workflow-macro-tools", ] [[package]] name = "workflow-wasm" -version = "0.18.1" +version = "0.19.0" dependencies = [ "cfg-if 1.0.0", "faster-hex 0.10.0", @@ -8892,23 +8955,22 @@ dependencies = [ [[package]] name = "workflow-wasm-macros" -version = "0.18.1" +version = "0.19.0" dependencies = [ "js-sys", - "proc-macro-error", + "proc-macro-error3", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.110", "wasm-bindgen", ] [[package]] name = "workflow-websocket" -version = "0.18.1" +version = "0.19.0" dependencies = [ "ahash", - "async-channel 2.3.1", - "async-std", + "async-channel", "async-trait", "cfg-if 1.0.0", "downcast-rs", diff --git a/Cargo.toml b/Cargo.toml index 7d222d77e7..23fba74578 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -214,7 +214,7 @@ igd-next = { version = "0.17.0", features = ["aio_tokio"] } indexmap = "2.1.0" ipnet = { version = "2.11.0", default-features = false } itertools = { version = "0.13.0", default-features = false } -js-sys = { version = "=0.3.77", default-features = false } +js-sys = { version = "=0.3.103", default-features = false } keccak = "0.1.4" local-ip-address = "0.6.1" log = { version = "0.4.20", default-features = false } @@ -278,10 +278,10 @@ tonic-prost = "0.14.5" tonic-prost-build = { version = "0.14.5" } triggered = "0.1.2" uuid = { version = "1.16.0", default-features = false } -wasm-bindgen = { version = "=0.2.100", default-features = false } -wasm-bindgen-futures = "=0.4.50" +wasm-bindgen = { version = "=0.2.126", default-features = false } +wasm-bindgen-futures = "=0.4.76" wasm-bindgen-test = "0.3.50" -web-sys = "=0.3.77" +web-sys = "=0.3.103" xxhash-rust = { version = "0.8.7", features = ["xxh3"] } zerocopy = { version = "0.8", features = ["derive"] } zeroize = { version = "1.6.0", default-features = false, features = ["alloc"] } @@ -336,8 +336,9 @@ rustls = { version = "0.23.18", default-features = false, features = ["ring"] } workflow-core = { path = "../workflow-rs/core" } workflow-d3 = { path = "../workflow-rs/d3" } workflow-dom = { path = "../workflow-rs/dom" } -# Same features as default but with rustls-tls-webpki-roots instead of native-tls -workflow-http = { path = "../workflow-rs/http", default-features = false, features = ["rustls-tls-webpki-roots", "http2", "charset", "macos-system-configuration"] } +# rustls-based TLS via the OS platform verifier; cross-platform system proxy +# (workflow-http 0.19 / reqwest 0.13 renamed these features) +workflow-http = { path = "../workflow-rs/http", default-features = false, features = ["rustls", "http2", "charset", "system-proxy"] } workflow-log = { path = "../workflow-rs/log" } workflow-node = { path = "../workflow-rs/node" } workflow-nw = { path = "../workflow-rs/nw" } diff --git a/consensus/core/src/tx/script_public_key.rs b/consensus/core/src/tx/script_public_key.rs index 500f15608c..049e01ae1b 100644 --- a/consensus/core/src/tx/script_public_key.rs +++ b/consensus/core/src/tx/script_public_key.rs @@ -162,7 +162,7 @@ impl<'de> Deserialize<'de> for ScriptPublicKey { E: serde::de::Error, { use wasm_bindgen::convert::RefFromWasmAbi; - let instance_ref = unsafe { Self::Value::ref_from_abi(v) }; // todo add checks for safecast + let instance_ref = unsafe { Self::Value::ref_from_abi(wasm_bindgen::__rt::WasmPtr::from_usize(v as usize)) }; // todo add checks for safecast Ok(instance_ref.clone()) } #[cfg(target_arch = "wasm32")] diff --git a/crypto/addresses/src/lib.rs b/crypto/addresses/src/lib.rs index 3de29638dd..f5b2f45623 100644 --- a/crypto/addresses/src/lib.rs +++ b/crypto/addresses/src/lib.rs @@ -369,7 +369,7 @@ impl<'de> Deserialize<'de> for Address { { use wasm_bindgen::convert::RefFromWasmAbi; - let instance_ref = unsafe { Self::Value::ref_from_abi(v) }; // TODO: add checks for safecast + let instance_ref = unsafe { Self::Value::ref_from_abi(wasm_bindgen::__rt::WasmPtr::from_usize(v as usize)) }; // TODO: add checks for safecast Ok(instance_ref.clone()) } diff --git a/rpc/wrpc/proxy/src/main.rs b/rpc/wrpc/proxy/src/main.rs index ceb8bb32d6..e15d019b15 100644 --- a/rpc/wrpc/proxy/src/main.rs +++ b/rpc/wrpc/proxy/src/main.rs @@ -96,7 +96,7 @@ async fn main() -> Result<()> { log_info!("Kaspa wRPC server is listening on {}", options.listen_address); log_info!("Using `{encoding}` protocol encoding"); - let config = WebSocketConfig { max_message_size: Some(1024 * 1024 * 1024), ..Default::default() }; + let config = WebSocketConfig::default().max_message_size(Some(1024 * 1024 * 1024)); let listener = server.bind(&options.listen_address).await?; server.listen(listener, Some(config)).await?; diff --git a/rpc/wrpc/server/src/service.rs b/rpc/wrpc/server/src/service.rs index 10d210294b..c6b90aa8b0 100644 --- a/rpc/wrpc/server/src/service.rs +++ b/rpc/wrpc/server/src/service.rs @@ -146,7 +146,7 @@ impl WrpcService { // Spawn a task running the server info!("WRPC Server starting on: {}", listen_address); tokio::spawn(async move { - let config = WebSocketConfig { max_message_size: Some(MAX_WRPC_MESSAGE_SIZE), ..Default::default() }; + let config = WebSocketConfig::default().max_message_size(Some(MAX_WRPC_MESSAGE_SIZE)); match self.server.bind(&listen_address).await { Ok(listener) => { let serve_result = self.server.listen(listener, Some(config)).await; diff --git a/wallet/core/src/wasm/signer.rs b/wallet/core/src/wasm/signer.rs index bcafefdd9b..718614a0fe 100644 --- a/wallet/core/src/wasm/signer.rs +++ b/wallet/core/src/wasm/signer.rs @@ -14,7 +14,7 @@ use serde_wasm_bindgen::from_value; #[wasm_bindgen] extern "C" { #[wasm_bindgen(extends = js_sys::Array, is_type_of = Array::is_array, typescript_type = "(PrivateKey | HexString | Uint8Array)[]")] - #[derive(Clone, Debug, PartialEq, Eq)] + #[derive(Clone, Debug, PartialEq)] pub type PrivateKeyArrayT; } From 18835117a024343a6eb325ea46f5ae95f178d6d2 Mon Sep 17 00:00:00 2001 From: Anton Yemelyanov Date: Sat, 27 Jun 2026 10:15:40 +0300 Subject: [PATCH 03/16] deps: support getrandom 0.3 on wasm32 (survives lock regeneration) A full `cargo` lock regeneration bumps `ahash` to a version that pulls getrandom 0.3 (via ark-crypto -> kaspa-txscript), which on wasm32 needs both the `wasm_js` feature and the `getrandom_backend="wasm_js"` cfg (the feature alone is insufficient). Previously this broke `./check` after any lock regen. - .cargo/config.toml: set `getrandom_backend="wasm_js"` for wasm32-unknown-unknown - kaspa-utils + kaspa-wasm: declare a `getrandom_03` (wasm_js) alias so the feature unifies across every wasm32 build root getrandom 0.2 is retained (required transitively by `ring` and `rand_core 0.6`, and selected via the manifest-based `js` feature, so it needs no cfg). Co-Authored-By: Claude Opus 4.8 (1M context) --- .cargo/config.toml | 6 + Cargo.lock | 1958 ++++++++++++++++++++++---------------------- utils/Cargo.toml | 8 + wasm/Cargo.toml | 7 + 4 files changed, 1005 insertions(+), 974 deletions(-) diff --git a/.cargo/config.toml b/.cargo/config.toml index e7433e4780..67f5050779 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -13,3 +13,9 @@ rustflags = [ # (similar to how we use musl on Linux for portable binaries) [target.x86_64-pc-windows-msvc] rustflags = ["-C", "target-feature=+crt-static"] + +# getrandom 0.3+ (pulled in transitively, e.g. via newer ahash) requires an +# explicit backend on wasm32-unknown-unknown; the `wasm_js` feature alone is no +# longer sufficient. Select the wasm_js (browser crypto) backend. +[target.wasm32-unknown-unknown] +rustflags = ["--cfg", 'getrandom_backend="wasm_js"'] diff --git a/Cargo.lock b/Cargo.lock index 476ed8f8d6..c30f4a5bcb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -11,23 +11,23 @@ dependencies = [ "macroific", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "addr2line" -version = "0.24.2" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" dependencies = [ "gimli", ] [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aead" @@ -45,29 +45,29 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cipher", "cpufeatures 0.2.17", ] [[package]] name = "ahash" -version = "0.8.11" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ - "cfg-if 1.0.0", - "getrandom 0.2.15", + "cfg-if", + "getrandom 0.3.4", "once_cell", "version_check", - "zerocopy 0.7.35", + "zerocopy", ] [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] @@ -78,12 +78,6 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - [[package]] name = "android_system_properties" version = "0.1.5" @@ -101,9 +95,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstream" -version = "0.6.15" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" dependencies = [ "anstyle", "anstyle-parse", @@ -116,49 +110,53 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.8" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" [[package]] name = "anstyle-parse" -version = "0.2.5" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.1" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.4" +version = "3.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "once_cell_polyfill", + "windows-sys 0.61.2", ] [[package]] name = "anyhow" -version = "1.0.97" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" +checksum = "2a4385e2e34eb35d6b3efe798b9eb88096925d87726c0798709bf56d9ed84af3" [[package]] name = "arc-swap" -version = "1.7.1" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" +checksum = "6a3a1fd6f75306b68087b831f025c712524bcb19aad54e557b1129cfa0a2b207" +dependencies = [ + "rustversion", +] [[package]] name = "argon2" @@ -251,7 +249,7 @@ checksum = "e7e89fe77d1f0f4fe5b96dfc940923d88d17b6a773808124f21e764dfb063c6a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -288,7 +286,7 @@ dependencies = [ "ark-std 0.6.0", "educe", "fnv", - "hashbrown 0.17.0", + "hashbrown 0.17.1", "itertools 0.14.0", "num-bigint", "num-integer", @@ -342,7 +340,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -352,7 +350,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1479009684adc073dff49a1025d3a7065b317a9ead25aaaca38cdc70058ba8a2" dependencies = [ "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -365,7 +363,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -378,7 +376,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -440,7 +438,7 @@ dependencies = [ "ark-std 0.6.0", "educe", "fnv", - "hashbrown 0.17.0", + "hashbrown 0.17.1", "rayon", ] @@ -505,7 +503,7 @@ dependencies = [ "indexmap 2.14.0", "rayon", "tracing", - "tracing-subscriber 0.3.22", + "tracing-subscriber 0.3.23", ] [[package]] @@ -543,7 +541,7 @@ checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -554,7 +552,7 @@ checksum = "4f153690697a2b91e5e1251ff98411ee5371500a111a0fd317a70e588eb300f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -610,15 +608,15 @@ checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +checksum = "f02882884d3e1bc524fb12c79f107f6ad0e1cfd498c536ffb494301740995dfe" [[package]] name = "async-channel" -version = "2.3.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" +checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" dependencies = [ "concurrent-queue", "event-listener-strategy", @@ -632,7 +630,7 @@ version = "3.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" dependencies = [ - "event-listener 5.3.1", + "event-listener 5.4.1", "event-listener-strategy", "pin-project-lite", ] @@ -656,7 +654,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -667,7 +665,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -701,9 +699,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.4.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" [[package]] name = "aws-lc-rs" @@ -772,17 +770,17 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" dependencies = [ "addr2line", - "cfg-if 1.0.0", + "cfg-if", "libc", "miniz_oxide", "object", "rustc-demangle", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -793,9 +791,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.6.0" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" [[package]] name = "bincode" @@ -821,9 +819,9 @@ dependencies = [ "proc-macro2", "quote", "regex", - "rustc-hash 2.1.1", - "shlex", - "syn 2.0.110", + "rustc-hash 2.1.2", + "shlex 1.3.0", + "syn 2.0.118", ] [[package]] @@ -855,27 +853,27 @@ dependencies = [ [[package]] name = "blake2b_simd" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" +checksum = "b79834656f71332577234b50bfc009996f7449e0c056884e6a02492ded0ca2f3" dependencies = [ "arrayref", "arrayvec", - "constant_time_eq 0.3.1", + "constant_time_eq", ] [[package]] name = "blake3" -version = "1.8.3" +version = "1.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d" +checksum = "0aa83c34e62843d924f905e0f5c866eb1dd6545fc4d719e803d9ba6030371fce" dependencies = [ "arrayref", "arrayvec", "cc", - "cfg-if 1.0.0", - "constant_time_eq 0.4.2", - "cpufeatures 0.2.17", + "cfg-if", + "constant_time_eq", + "cpufeatures 0.3.0", ] [[package]] @@ -893,6 +891,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2", +] + [[package]] name = "borsh" version = "1.7.0" @@ -901,7 +908,7 @@ checksum = "2f3f6da4992df95bbcd9af42a6c7dcb994498fc9048230405f3b36ff7cd3f145" dependencies = [ "borsh-derive", "bytes", - "cfg_aliases 0.2.1", + "cfg_aliases", ] [[package]] @@ -914,7 +921,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -929,15 +936,15 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" [[package]] name = "bytemuck" -version = "1.24.0" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" +checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" dependencies = [ "bytemuck_derive", ] @@ -950,7 +957,7 @@ checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -961,35 +968,34 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.11.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" +checksum = "8ae3f5d315924270530207e2a68396c3cc547f6dca3fbdca317cfb1a51edb593" [[package]] name = "bzip2-sys" -version = "0.1.11+1.0.8" +version = "0.1.13+1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +checksum = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14" dependencies = [ "cc", - "libc", "pkg-config", ] [[package]] name = "camino" -version = "1.1.9" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +checksum = "b4ce8d3bd5823c7504d3f579f13e7b2f3da252fcb938c594d5680ee508bf846f" dependencies = [ - "serde", + "serde_core", ] [[package]] name = "cargo-platform" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" dependencies = [ "serde", ] @@ -1005,7 +1011,7 @@ dependencies = [ "semver", "serde", "serde_json", - "thiserror 1.0.64", + "thiserror 1.0.69", ] [[package]] @@ -1016,14 +1022,14 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.2.61" +version = "1.2.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16d90359e986641506914ba71350897565610e87ce0ad9e6f28569db3dd5c6d" +checksum = "e228eec9be7c17ccb640b59b36a5cd805ea2a564a4c5e162c2f659fea30d3b96" dependencies = [ "find-msvc-tools", "jobserver", "libc", - "shlex", + "shlex 2.0.1", ] [[package]] @@ -1046,21 +1052,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "cfg_aliases" -version = "0.1.1" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "cfg_aliases" @@ -1074,18 +1068,18 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cipher", "cpufeatures 0.2.17", ] [[package]] name = "chacha20" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" +checksum = "d524456ba66e72eb8b115ff89e01e497f8e6d11d78b70b1aa13c0fbd97540a81" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures 0.3.0", "rand_core 0.10.1", ] @@ -1110,24 +1104,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "01c631c2cf4b95746cf065f732219ec0f2eb1497cd4c7fe07cb336ddf0d7c503" dependencies = [ "js-sys", - "thiserror 1.0.64", + "thiserror 1.0.69", "wasm-bindgen", "wasm-bindgen-futures", ] [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327" dependencies = [ - "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -1181,9 +1174,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.51" +version = "4.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c26d721170e0295f191a69bd9a1f93efcdb0aff38684b61ab5750468972e5f5" +checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51" dependencies = [ "clap_builder", "clap_derive", @@ -1191,9 +1184,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.51" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75835f0c7bf681bfd05abe44e965760fea999a5286c6eb2d59883634fd02011a" +checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" dependencies = [ "anstream", "anstyle", @@ -1203,21 +1196,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.49" +version = "4.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671" +checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "clap_lex" -version = "0.7.6" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" +checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" [[package]] name = "cmake" @@ -1239,9 +1232,9 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.2" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" +checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" [[package]] name = "combine" @@ -1264,15 +1257,15 @@ dependencies = [ [[package]] name = "console" -version = "0.15.8" +version = "0.15.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" dependencies = [ "encode_unicode", - "lazy_static", "libc", - "unicode-width", - "windows-sys 0.52.0", + "once_cell", + "unicode-width 0.2.2", + "windows-sys 0.59.0", ] [[package]] @@ -1281,12 +1274,6 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" -[[package]] -name = "constant_time_eq" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" - [[package]] name = "constant_time_eq" version = "0.4.2" @@ -1389,11 +1376,11 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.4.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -1441,9 +1428,9 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -1460,9 +1447,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crossterm" @@ -1493,15 +1480,15 @@ dependencies = [ [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto-common" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" dependencies = [ "generic-array", "rand_core 0.6.4", @@ -1541,12 +1528,13 @@ dependencies = [ [[package]] name = "ctrlc" -version = "3.4.5" +version = "3.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3" +checksum = "e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162" dependencies = [ - "nix 0.29.0", - "windows-sys 0.59.0", + "dispatch2", + "nix 0.31.3", + "windows-sys 0.61.2", ] [[package]] @@ -1555,7 +1543,7 @@ version = "4.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures 0.2.17", "curve25519-dalek-derive", "fiat-crypto", @@ -1572,17 +1560,17 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "darling" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ - "darling_core 0.20.10", - "darling_macro 0.20.10", + "darling_core 0.20.11", + "darling_macro 0.20.11", ] [[package]] @@ -1597,16 +1585,16 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -1619,18 +1607,18 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "darling_macro" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ - "darling_core 0.20.10", + "darling_core 0.20.11", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -1641,16 +1629,16 @@ checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" dependencies = [ "darling_core 0.23.0", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "dashmap" -version = "6.1.0" +version = "6.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" +checksum = "e6361d5c062261c78a176addb82d4c821ae42bed6089de0e12603cd25de2059c" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "crossbeam-utils", "hashbrown 0.14.5", "lock_api", @@ -1660,9 +1648,9 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.6.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" +checksum = "a4ae5f15dda3c708c0ade84bfee31ccab44a3da4f88015ed22f63732abe300c8" [[package]] name = "delegate-display" @@ -1673,7 +1661,7 @@ dependencies = [ "macroific", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -1682,7 +1670,6 @@ version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" dependencies = [ - "powerfmt", "serde_core", ] @@ -1712,10 +1699,10 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" dependencies = [ - "darling 0.20.10", + "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -1725,20 +1712,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "derive_more" -version = "0.99.18" +version = "0.99.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f" dependencies = [ "convert_case 0.4.0", "proc-macro2", "quote", "rustc_version", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -1760,7 +1747,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.110", + "syn 2.0.118", "unicode-xid", ] @@ -1772,9 +1759,9 @@ checksum = "3c877555693c14d2f84191cfd3ad8582790fc52b5e2274b40b59cf5f5cea25c7" [[package]] name = "deunicode" -version = "1.6.0" +version = "1.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "339544cc9e2c4dc3fc7149fd630c5f22263a4fdf18a98afd0075784968b5cf00" +checksum = "abd57806937c9cc163efc8ea3910e00a62e2aeb0b8119f1793a978088f8f6b04" [[package]] name = "dhat" @@ -1846,22 +1833,34 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "dispatch2" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +dependencies = [ + "bitflags 2.13.0", + "block2", + "libc", + "objc2", +] + [[package]] name = "displaydoc" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "doc-comment" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" +checksum = "780955b8b195a21ab8e4ac6b60dd1dbdcec1dc6c51c0617964b08c81785e12c9" [[package]] name = "document-features" @@ -1923,14 +1922,14 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "either" -version = "1.13.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e" [[package]] name = "elf" @@ -1952,17 +1951,17 @@ checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" [[package]] name = "encode_unicode" -version = "0.3.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "encoding_rs" -version = "0.8.34" +version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -1982,7 +1981,7 @@ checksum = "8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -1993,14 +1992,14 @@ checksum = "ba7795da175654fe16979af73f81f26a8ea27638d8d9823d317016888a63dc4c" dependencies = [ "num-traits", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "erased-serde" @@ -2031,9 +2030,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "event-listener" -version = "5.3.1" +version = "5.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" +checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" dependencies = [ "concurrent-queue", "parking", @@ -2042,11 +2041,11 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" dependencies = [ - "event-listener 5.3.1", + "event-listener 5.4.1", "pin-project-lite", ] @@ -2068,7 +2067,7 @@ dependencies = [ "macroific", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -2095,9 +2094,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.1.1" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" +checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" [[package]] name = "fiat-crypto" @@ -2107,14 +2106,12 @@ checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] name = "filetime" -version = "0.2.25" +version = "0.2.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" +checksum = "5c287a33c7f0a620c38e641e7f60827713987b3c0f26e8ddc9462cc69cf75759" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", - "libredox", - "windows-sys 0.59.0", ] [[package]] @@ -2131,18 +2128,18 @@ checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "fixedstr" -version = "0.5.8" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60aba7afd9b1b9e1950c2b7e8bcac3cc44a273c62a02717dedca2d0a1aee694d" +checksum = "651755bc34f44f4fef9edc525a2a88d913303b83a75de6de855cce6ef9180188" dependencies = [ "serde", ] [[package]] name = "flate2" -version = "1.0.34" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" dependencies = [ "crc32fast", "miniz_oxide", @@ -2184,7 +2181,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -2195,9 +2192,9 @@ checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] @@ -2210,9 +2207,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", @@ -2225,9 +2222,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", @@ -2235,15 +2232,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", @@ -2252,38 +2249,38 @@ 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-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.110", + "syn 2.0.118", ] [[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-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", @@ -2293,7 +2290,6 @@ dependencies = [ "futures-task", "memchr", "pin-project-lite", - "pin-utils", "slab", ] @@ -2310,11 +2306,11 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "js-sys", "libc", "wasi", @@ -2327,7 +2323,7 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "js-sys", "libc", "r-efi 5.3.0", @@ -2337,37 +2333,46 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "js-sys", "libc", "r-efi 6.0.0", "rand_core 0.10.1", - "wasip2", - "wasip3", "wasm-bindgen", ] +[[package]] +name = "getset" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cf442baaabe4213ce7d1239afc26c039180b6456da2cededa316ae2c8a77a77" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.118", +] + [[package]] name = "gimli" -version = "0.31.1" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" +checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" [[package]] name = "glob" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "h2" -version = "0.4.6" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" +checksum = "6cb093c84e8bd9b188d4c4a8cb6579fc016968d14c99882163cd3ff402a4f155" dependencies = [ "atomic-waker", "bytes", @@ -2384,12 +2389,13 @@ dependencies = [ [[package]] name = "half" -version = "2.4.1" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "crunchy", + "zerocopy", ] [[package]] @@ -2436,9 +2442,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.17.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" dependencies = [ "allocator-api2", ] @@ -2470,15 +2476,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "hermit-abi" -version = "0.4.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" @@ -2525,12 +2525,11 @@ dependencies = [ [[package]] name = "http" -version = "1.1.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "6970f50e31d6fc17d3fa27329444bfa74e196cf62e95052a3f6fee181dba6425" dependencies = [ "bytes", - "fnv", "itoa", ] @@ -2546,12 +2545,12 @@ dependencies = [ [[package]] name = "http-body-util" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", - "futures-util", + "futures-core", "http", "http-body", "pin-project-lite", @@ -2559,9 +2558,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.5" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "httpdate" @@ -2571,15 +2570,15 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humantime" -version = "2.1.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" [[package]] name = "hyper" -version = "1.9.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca" +checksum = "55281c53a1894c864990125767da440a4e630446785086f52523b20033b74498" dependencies = [ "atomic-waker", "bytes", @@ -2599,16 +2598,14 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.3" +version = "0.27.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f" dependencies = [ - "futures-util", "http", "hyper", "hyper-util", "rustls", - "rustls-pki-types", "tokio", "tokio-rustls", "tower-service", @@ -2616,9 +2613,9 @@ dependencies = [ [[package]] name = "hyper-timeout" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3203a961e5c83b6f5498933e78b6b263e208c197b63e9c6c53cc82ffd3f63793" +checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" dependencies = [ "hyper", "hyper-util", @@ -2644,7 +2641,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.6.3", + "socket2", "system-configuration", "tokio", "tower-service", @@ -2654,16 +2651,17 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.61" +version = "0.1.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", + "log", "wasm-bindgen", - "windows-core 0.52.0", + "windows-core 0.62.2", ] [[package]] @@ -2677,12 +2675,13 @@ dependencies = [ [[package]] name = "icu_collections" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" dependencies = [ "displaydoc", "potential_utf", + "utf8_iter", "yoke", "zerofrom", "zerovec", @@ -2690,9 +2689,9 @@ dependencies = [ [[package]] name = "icu_locale_core" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" dependencies = [ "displaydoc", "litemap", @@ -2703,9 +2702,9 @@ dependencies = [ [[package]] name = "icu_normalizer" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" dependencies = [ "icu_collections", "icu_normalizer_data", @@ -2717,15 +2716,15 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" +checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" [[package]] name = "icu_properties" -version = "2.1.2" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" +checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" dependencies = [ "icu_collections", "icu_locale_core", @@ -2737,15 +2736,15 @@ dependencies = [ [[package]] name = "icu_properties_data" -version = "2.1.2" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" +checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" [[package]] name = "icu_provider" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" dependencies = [ "displaydoc", "icu_locale_core", @@ -2756,12 +2755,6 @@ 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" @@ -2781,9 +2774,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714" dependencies = [ "icu_normalizer", "icu_properties", @@ -2791,9 +2784,9 @@ dependencies = [ [[package]] name = "igd-next" -version = "0.17.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bac9a3c8278f43b4cd8463380f4a25653ac843e5b177e1d3eaf849cc9ba10d4d" +checksum = "de7238d487a9aff61f81b5ab41c0a841532a115a398b5fa92a2fadd0885e2581" dependencies = [ "attohttpc", "bytes", @@ -2841,7 +2834,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43315957678a70eb21fb0d2384fe86dde0d6c859a01e24ce127eb65a0143d28c" dependencies = [ "accessory", - "cfg-if 1.0.0", + "cfg-if", "delegate-display", "fancy_constructor", "js-sys", @@ -2869,42 +2862,42 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" dependencies = [ "equivalent", - "hashbrown 0.17.0", + "hashbrown 0.17.1", "serde", "serde_core", ] [[package]] name = "inout" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" dependencies = [ "generic-array", ] [[package]] name = "ipnet" -version = "2.11.0" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" +checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" [[package]] name = "is-terminal" -version = "0.4.13" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ - "hermit-abi 0.4.0", + "hermit-abi 0.5.2", "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "is_terminal_polyfill" -version = "1.70.1" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" [[package]] name = "itertools" @@ -2935,9 +2928,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "jni" @@ -2945,7 +2938,7 @@ version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "combine", "jni-macros", "jni-sys", @@ -2966,7 +2959,7 @@ dependencies = [ "quote", "rustc_version", "simd_cesu8", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -2985,15 +2978,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" dependencies = [ "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "jobserver" -version = "0.1.32" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ + "getrandom 0.3.4", "libc", ] @@ -3003,7 +2997,7 @@ version = "0.3.103" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53b44bfcdb3f8d5837a46dae1ca9660a837176eee74a28b229bc626816589102" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "futures-util", "wasm-bindgen", ] @@ -3061,7 +3055,7 @@ dependencies = [ "borsh", "bs58", "faster-hex 0.9.0", - "getrandom 0.2.15", + "getrandom 0.2.17", "hmac", "js-sys", "kaspa-consensus-core", @@ -3095,7 +3089,7 @@ version = "2.0.1" dependencies = [ "async-trait", "borsh", - "cfg-if 1.0.0", + "cfg-if", "convert_case 0.6.0", "dashmap", "downcast", @@ -3206,7 +3200,7 @@ version = "2.0.1" dependencies = [ "ahash", "borsh", - "cfg-if 1.0.0", + "cfg-if", "faster-hex 0.9.0", "hex", "itertools 0.13.0", @@ -3239,11 +3233,11 @@ dependencies = [ "bincode", "bitflags 2.13.0", "borsh", - "cfg-if 1.0.0", + "cfg-if", "criterion", "faster-hex 0.9.0", "futures-util", - "getrandom 0.2.15", + "getrandom 0.2.17", "itertools 0.13.0", "js-sys", "kaspa-addresses", @@ -3279,8 +3273,8 @@ name = "kaspa-consensus-notify" version = "2.0.1" dependencies = [ "async-channel", - "cfg-if 1.0.0", - "derive_more 0.99.18", + "cfg-if", + "derive_more 0.99.20", "futures", "kaspa-consensus-core", "kaspa-core", @@ -3297,7 +3291,7 @@ dependencies = [ name = "kaspa-consensus-wasm" version = "2.0.1" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "faster-hex 0.9.0", "js-sys", "kaspa-addresses", @@ -3341,7 +3335,7 @@ name = "kaspa-core" version = "2.0.1" dependencies = [ "anyhow", - "cfg-if 1.0.0", + "cfg-if", "ctrlc", "downcast", "futures-util", @@ -3361,7 +3355,7 @@ version = "2.0.1" dependencies = [ "async-trait", "borsh", - "cfg-if 1.0.0", + "cfg-if", "downcast-rs", "futures", "kaspa-addresses", @@ -3529,7 +3523,7 @@ dependencies = [ "sha3", "wasm-bindgen", "workflow-wasm", - "zerocopy 0.8.42", + "zerocopy", ] [[package]] @@ -3539,7 +3533,7 @@ dependencies = [ "async-channel", "async-trait", "bincode", - "derive_more 0.99.18", + "derive_more 0.99.20", "faster-hex 0.9.0", "futures", "kaspa-consensus-core", @@ -3560,7 +3554,7 @@ version = "2.0.1" dependencies = [ "async-channel", "async-trait", - "derive_more 0.99.18", + "derive_more 0.99.20", "futures", "kaspa-consensus", "kaspa-consensus-core", @@ -3682,7 +3676,7 @@ dependencies = [ "async-trait", "borsh", "criterion", - "derive_more 0.99.18", + "derive_more 0.99.20", "futures", "futures-util", "indexmap 2.14.0", @@ -3844,8 +3838,8 @@ dependencies = [ "async-channel", "async-trait", "borsh", - "cfg-if 1.0.0", - "derive_more 0.99.18", + "cfg-if", + "derive_more 0.99.20", "downcast", "faster-hex 0.9.0", "hex", @@ -3941,7 +3935,7 @@ dependencies = [ "kaspa-hashes", "rand 0.8.6", "thiserror 2.0.18", - "zerocopy 0.8.42", + "zerocopy", ] [[package]] @@ -3961,7 +3955,7 @@ dependencies = [ "rayon", "rocksdb", "self_cell", - "zerocopy 0.8.42", + "zerocopy", ] [[package]] @@ -4007,7 +4001,7 @@ dependencies = [ "tracing", "tracing-appender", "tracing-log", - "tracing-subscriber 0.3.22", + "tracing-subscriber 0.3.23", "uuid", "windows-sys 0.52.0", ] @@ -4101,7 +4095,7 @@ dependencies = [ "blake3", "borsh", "bytemuck", - "cfg-if 1.0.0", + "cfg-if", "criterion", "faster-hex 0.9.0", "hexplay", @@ -4179,11 +4173,12 @@ dependencies = [ "async-trait", "bincode", "borsh", - "cfg-if 1.0.0", + "cfg-if", "criterion", "event-listener 2.5.3", "faster-hex 0.9.0", "futures-util", + "getrandom 0.3.4", "ipnet", "itertools 0.13.0", "log", @@ -4207,7 +4202,7 @@ name = "kaspa-utils-tower" version = "2.0.1" dependencies = [ "bytes", - "cfg-if 1.0.0", + "cfg-if", "futures", "http-body", "http-body-util", @@ -4278,7 +4273,7 @@ dependencies = [ "base64", "borsh", "cfb-mode", - "cfg-if 1.0.0", + "cfg-if", "chacha20poly1305", "convert_case 0.6.0", "crypto_box", @@ -4426,7 +4421,8 @@ dependencies = [ name = "kaspa-wasm" version = "2.0.1" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", + "getrandom 0.3.4", "js-sys", "kaspa-addresses", "kaspa-bip32", @@ -4469,7 +4465,7 @@ dependencies = [ "async-lock", "async-trait", "borsh", - "cfg-if 1.0.0", + "cfg-if", "futures", "js-sys", "kaspa-addresses", @@ -4588,7 +4584,7 @@ version = "2.0.1" dependencies = [ "ahash", "async-lock", - "cfg-if 1.0.0", + "cfg-if", "futures", "js-sys", "kaspa-addresses", @@ -4617,7 +4613,7 @@ name = "kaspad" version = "2.0.1" dependencies = [ "async-channel", - "cfg-if 1.0.0", + "cfg-if", "clap", "dhat", "dirs 5.0.1", @@ -4693,12 +4689,6 @@ dependencies = [ "spin", ] -[[package]] -name = "leb128fmt" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" - [[package]] name = "libc" version = "0.2.186" @@ -4707,12 +4697,12 @@ checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" [[package]] name = "libloading" -version = "0.8.5" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" +checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ - "cfg-if 1.0.0", - "windows-targets 0.52.6", + "cfg-if", + "windows-link", ] [[package]] @@ -4723,23 +4713,20 @@ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "libmimalloc-sys" -version = "0.1.44" +version = "0.1.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "667f4fec20f29dfc6bc7357c582d91796c169ad7e2fce709468aefeb2c099870" +checksum = "6a45a52f43e1c16f667ccfe4dd8c85b7f7c204fd5e3bf46c5b0db9a5c3c0b8e9" dependencies = [ "cc", - "libc", ] [[package]] name = "libredox" -version = "0.1.3" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +checksum = "f02ab6bace2054fb888a3c16f990117b579d14a3088e472d63c6011fa185c9d3" dependencies = [ - "bitflags 2.13.0", "libc", - "redox_syscall", ] [[package]] @@ -4759,9 +4746,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.20" +version = "1.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" +checksum = "85bc9657773828b90eeb625adff10eeac83cc21bbfd8e23a03eaa8a33c9e28d9" dependencies = [ "cc", "pkg-config", @@ -4788,33 +4775,31 @@ checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" [[package]] name = "local-ip-address" -version = "0.6.3" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3669cf5561f8d27e8fc84cc15e58350e70f557d4d65f70e3154e54cd2f8e1782" +checksum = "aa08fb2b1ec3ea84575e94b489d06d4ce0cbf052d12acd515838f50e3c3d63e3" dependencies = [ "libc", "neli", - "thiserror 1.0.64", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" dependencies = [ - "autocfg", "scopeguard", ] [[package]] name = "log" -version = "0.4.22" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad" dependencies = [ - "serde", + "serde_core", "value-bag", ] @@ -4881,11 +4866,11 @@ dependencies = [ [[package]] name = "mac_address" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8836fae9d0d4be2c8b4efcdd79e828a2faa058a90d005abf42f91cac5493a08e" +checksum = "c0aeb26bf5e836cc1c341c8106051b573f1766dfa05aa87f0b98be5e51b02303" dependencies = [ - "nix 0.28.0", + "nix 0.29.0", "winapi", ] @@ -4915,10 +4900,10 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd94d5da95b30ae6e10621ad02340909346ad91661f3f8c0f2b62345e46a2f67" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -4929,7 +4914,7 @@ checksum = "13198c120864097a565ccb3ff947672d969932b7975ebd4085732c9f09435e55" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -4942,14 +4927,14 @@ dependencies = [ "macroific_core", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "malachite-base" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8b6f86fdbb1eb9955946be91775239dfcb0acdb1a51bb07d5fc9b8c854f5ccd" +checksum = "a4f44099731f17094b07825c88ccb5fbd1bfa1f82fafff7daa33e8b8652db16e" dependencies = [ "hashbrown 0.16.1", "itertools 0.14.0", @@ -4959,9 +4944,9 @@ dependencies = [ [[package]] name = "malachite-nz" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0197a2f5cfee19d59178e282985c6ca79a9233e26a2adcf40acb693896aa09f6" +checksum = "a137660cdba20f136c8a223125f08088adb4e0b72fbb8466f08c43e31cc0427d" dependencies = [ "itertools 0.14.0", "libm", @@ -4980,11 +4965,11 @@ dependencies = [ [[package]] name = "manual_future" -version = "0.1.1" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "943968aefb9b0fdf36cccc03f6cd9d6698b23574ab49eccc185ae6c5cb6ad43e" +checksum = "b0c72f11f1d8e0c453cbd8042dfb83c2b50384f78a5a5d41019627c5f2062ece" dependencies = [ - "futures", + "futures-util", ] [[package]] @@ -5008,15 +4993,15 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "digest", ] [[package]] name = "memchr" -version = "2.7.4" +version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "88904434abc2901f197fe8cc55f0445e7ded921dba5911dad2e2b39b48e663c4" [[package]] name = "memoffset" @@ -5056,9 +5041,9 @@ dependencies = [ [[package]] name = "mimalloc" -version = "0.1.48" +version = "0.1.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1ee66a4b64c74f4ef288bcbb9192ad9c3feaad75193129ac8509af543894fd8" +checksum = "2d4139bb28d14ad1facf21d5eb8825051b326e172d216b39f6d31df53cc97862" dependencies = [ "libmimalloc-sys", ] @@ -5087,37 +5072,37 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.0" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", + "simd-adler32", ] [[package]] name = "mintex" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bec4598fddb13cc7b528819e697852653252b760f1228b7642679bf2ff2cd07" +checksum = "c505b3e17ed6b70a7ed2e67fbb2c560ee327353556120d6e72f5232b6880d536" [[package]] name = "mio" -version = "1.0.2" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +checksum = "02bd0af71c67b473010cbbc60715ee815645a4dc942899111f494b4b737d6fda" dependencies = [ - "hermit-abi 0.3.9", "libc", "log", "wasi", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "mock_instant" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce6dd36094cac388f119d2e9dc82dc730ef91c32a6222170d630e5414b956e6" +checksum = "9bb517913cfcfb9eeda59f36020269075a152701a01606c612f547e4890be399" [[package]] name = "multimap" @@ -5136,51 +5121,55 @@ dependencies = [ [[package]] name = "neli" -version = "0.6.4" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1100229e06604150b3becd61a4965d5c70f3be1759544ea7274166f4be41ef43" +checksum = "22f9786d56d972959e1408b6a93be6af13b9c1392036c5c1fafa08a1b0c6ee87" dependencies = [ + "bitflags 2.13.0", "byteorder", + "derive_builder", + "getset", "libc", "log", "neli-proc-macros", + "parking_lot", ] [[package]] name = "neli-proc-macros" -version = "0.1.3" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c168194d373b1e134786274020dae7fc5513d565ea2ebb9bc9ff17ffb69106d4" +checksum = "05d8d08c6e98f20a62417478ebf7be8e1425ec9acecc6f63e22da633f6b71609" dependencies = [ "either", "proc-macro2", "quote", "serde", - "syn 1.0.109", + "syn 2.0.118", ] [[package]] name = "nix" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ "bitflags 2.13.0", - "cfg-if 1.0.0", - "cfg_aliases 0.1.1", + "cfg-if", + "cfg_aliases", "libc", "memoffset", ] [[package]] name = "nix" -version = "0.29.0" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +checksum = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d" dependencies = [ "bitflags 2.13.0", - "cfg-if 1.0.0", - "cfg_aliases 0.2.1", + "cfg-if", + "cfg_aliases", "libc", ] @@ -5190,19 +5179,6 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5b0c77c1b780822bc749a33e39aeb2c07584ab93332303babeabb645298a76e" -[[package]] -name = "node-sys" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d75eee6e8b159228449706773f9f2af60720250308124e9c3d38bd8070844a" -dependencies = [ - "cfg-if 0.1.10", - "js-sys", - "serde", - "wasm-bindgen", - "web-sys", -] - [[package]] name = "nom" version = "7.1.3" @@ -5215,9 +5191,9 @@ dependencies = [ [[package]] name = "ntapi" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" +checksum = "c3b335231dfd352ffb0f8017f3b6027a4917f7df785ea2143d8af2adc66980ae" dependencies = [ "winapi", ] @@ -5266,9 +5242,9 @@ dependencies = [ [[package]] name = "num-conv" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967" +checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441" [[package]] name = "num-integer" @@ -5313,19 +5289,19 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi 0.5.2", "libc", ] [[package]] name = "num_enum" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" +checksum = "5d0bca838442ec211fa11de3a8b0e0e8f3a4522575b5c4c06ed722e005036f26" dependencies = [ "num_enum_derive", "rustversion", @@ -5333,13 +5309,13 @@ dependencies = [ [[package]] name = "num_enum_derive" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" +checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -5363,9 +5339,9 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ebcbbf8ce75f465eea419ed8396efaf9ad9da87ad83fe9fce9c8789de00ca79" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "js-sys", - "thiserror 1.0.64", + "thiserror 1.0.69", "wasm-bindgen", "web-sys", ] @@ -5380,19 +5356,40 @@ dependencies = [ ] [[package]] -name = "object" -version = "0.36.5" +name = "objc2" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" +checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" dependencies = [ - "memchr", + "objc2-encode", ] [[package]] -name = "once_cell" -version = "1.21.4" +name = "objc2-encode" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[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.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" + +[[package]] +name = "once_cell_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "oorandom" @@ -5429,12 +5426,12 @@ dependencies = [ [[package]] name = "os_pipe" -version = "1.2.1" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982" +checksum = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -5443,7 +5440,7 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2ad9b889f1b12e0b9ee24db044b5129150d5eada288edc800f789928dc8c0e3" dependencies = [ - "unicode-width", + "unicode-width 0.1.14", ] [[package]] @@ -5454,9 +5451,9 @@ checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" dependencies = [ "lock_api", "parking_lot_core", @@ -5464,15 +5461,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -5492,7 +5489,7 @@ checksum = "70d80829147ec6f1b27109c7daaea62fc3a21a0348cdddf22b4093f0c35ab25a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -5524,9 +5521,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "petgraph" @@ -5541,41 +5538,35 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.6" +version = "1.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf123a161dde1e524adf36f90bc5d8d3462824a9c43553ad07a8183161189ec" +checksum = "2466b2336ed02bcdca6b294417127b90ec92038d1d5c4fbeac971a922e0e0924" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.6" +version = "1.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4502d8515ca9f32f1fb543d987f63d95a14934883db45bdb48060b6b69257f8" +checksum = "c96395f0a926bc13b1c17622aaddda1ecb55d49c8f1bf9777e4d877800a43f8b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "pin-project-lite" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" - -[[package]] -name = "pin-utils" -version = "0.1.0" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" [[package]] name = "pkg-config" -version = "0.3.31" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" +checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" [[package]] name = "poly1305" @@ -5590,9 +5581,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.9.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" +checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" [[package]] name = "postcard" @@ -5608,9 +5599,9 @@ dependencies = [ [[package]] name = "potential_utf" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564" dependencies = [ "zerovec", ] @@ -5623,30 +5614,30 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "zerocopy 0.7.35", + "zerocopy", ] [[package]] name = "prettyplease" -version = "0.2.22" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "proc-macro-crate" -version = "3.2.0" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" dependencies = [ - "toml_edit", + "toml_edit 0.25.12+spec-1.1.0", ] [[package]] @@ -5695,9 +5686,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.103" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] @@ -5708,7 +5699,7 @@ version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ca5326d8d0b950a9acd87e6a3f94745394f62e4dae1b1ee22b2bc0c394af43a" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "fnv", "lazy_static", "memchr", @@ -5719,9 +5710,9 @@ dependencies = [ [[package]] name = "proptest" -version = "1.9.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bee689443a2bd0a16ab0348b52ee43e3b2d1b1f931c8aa5c9f8de4c86fbe8c40" +checksum = "4b45fcc2344c680f5025fe57779faef368840d0bd1f42f216291f0dc4ace4744" dependencies = [ "bitflags 2.13.0", "num-traits", @@ -5733,9 +5724,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568" +checksum = "528ac67416ff8646872a3c02cad9cc4ee5dc9f9540c9b10771855c95cb2e5ae1" dependencies = [ "bytes", "prost-derive", @@ -5743,9 +5734,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "343d3bd7056eda839b03204e68deff7d1b13aba7af2b2fd16890697274262ee7" +checksum = "03da047801ff44bb6a4d407d4860c05fd70bb81714e6b2f3812603d5b145b042" dependencies = [ "heck", "itertools 0.14.0", @@ -5758,28 +5749,28 @@ dependencies = [ "pulldown-cmark", "pulldown-cmark-to-cmark", "regex", - "syn 2.0.110", + "syn 2.0.118", "tempfile", ] [[package]] name = "prost-derive" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" +checksum = "b570b25f7617e43d59005d0990ccb79e950a423952cea19671b7a876da390adf" dependencies = [ "anyhow", "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "prost-types" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8991c4cbdb8bc5b11f0b074ffe286c30e523de90fee5ba8132f1399f23cb3dd7" +checksum = "f94967dc7688f3054c7fac87473ffae4cc4c3904800e2d9f5b857246d8963b0a" dependencies = [ "prost", ] @@ -5792,7 +5783,7 @@ checksum = "d65a1d4ddae7d8b5de68153b48f6aa3bba8cb002b243dbdbc55a5afbc98f99f4" dependencies = [ "once_cell", "protobuf-support", - "thiserror 1.0.64", + "thiserror 1.0.69", ] [[package]] @@ -5801,14 +5792,14 @@ version = "3.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e36c2f31e0a47f9280fb347ef5e461ffcd2c52dd520d8e216b52f93b0b0d7d6" dependencies = [ - "thiserror 1.0.64", + "thiserror 1.0.69", ] [[package]] name = "pulldown-cmark" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c3a14896dfa883796f1cb410461aef38810ea05f2b2c33c5aded3649095fdad" +checksum = "e9f068eba8e7071c5f9511831b44f32c740d5adf574e990f946ddb53db2f314e" dependencies = [ "bitflags 2.13.0", "memchr", @@ -5831,13 +5822,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c1a41e437b6bbd489372cd4971de128e85c855f56c57f283d20ff016cf7c0a8" dependencies = [ "bytes", - "cfg_aliases 0.2.1", + "cfg_aliases", "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 2.1.1", + "rustc-hash 2.1.2", "rustls", - "socket2 0.6.3", + "socket2", "thiserror 2.0.18", "tokio", "tracing", @@ -5856,7 +5847,7 @@ dependencies = [ "lru-slab", "rand 0.9.4", "ring", - "rustc-hash 2.1.1", + "rustc-hash 2.1.2", "rustls", "rustls-pki-types", "slab", @@ -5868,22 +5859,23 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.5" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fe68c2e9e1a1234e218683dbdf9f9dfcb094113c5ac2b938dfcb9bab4c4140b" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" dependencies = [ + "cfg_aliases", "libc", "once_cell", - "socket2 0.5.7", + "socket2", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] name = "quote" -version = "1.0.42" +version = "1.0.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" +checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368" dependencies = [ "proc-macro2", ] @@ -5918,7 +5910,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" dependencies = [ "rand_chacha 0.9.0", - "rand_core 0.9.3", + "rand_core 0.9.5", ] [[package]] @@ -5927,8 +5919,8 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" dependencies = [ - "chacha20 0.10.0", - "getrandom 0.4.2", + "chacha20 0.10.1", + "getrandom 0.4.3", "rand_core 0.10.1", ] @@ -5949,7 +5941,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core 0.9.3", + "rand_core 0.9.5", ] [[package]] @@ -5958,14 +5950,14 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.17", ] [[package]] name = "rand_core" -version = "0.9.3" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" dependencies = [ "getrandom 0.3.4", ] @@ -6002,7 +5994,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" dependencies = [ - "rand_core 0.9.3", + "rand_core 0.9.5", ] [[package]] @@ -6011,14 +6003,14 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f703f4665700daf5512dcca5f43afa6af89f09db47fb56be587f80636bda2d41" dependencies = [ - "rand_core 0.9.3", + "rand_core 0.9.5", ] [[package]] name = "rayon" -version = "1.10.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d" dependencies = [ "either", "rayon-core", @@ -6026,9 +6018,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" dependencies = [ "crossbeam-deque", "crossbeam-utils", @@ -6036,9 +6028,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.7" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ "bitflags 2.13.0", ] @@ -6049,9 +6041,9 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.17", "libredox", - "thiserror 1.0.64", + "thiserror 1.0.69", ] [[package]] @@ -6060,7 +6052,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.17", "libredox", "thiserror 2.0.18", ] @@ -6082,14 +6074,14 @@ checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "regex" -version = "1.12.3" +version = "1.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" +checksum = "f1292b7759ae1cb9ec195452d1390a074f0cd8541ab7a5a8c31cd6db45d4a6ba" dependencies = [ "aho-corasick", "memchr", @@ -6110,9 +6102,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.5" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" [[package]] name = "reqwest" @@ -6159,8 +6151,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", - "cfg-if 1.0.0", - "getrandom 0.2.15", + "cfg-if", + "getrandom 0.2.17", "libc", "untrusted", "windows-sys 0.52.0", @@ -6253,7 +6245,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5b956a976b8ce4713694dcc6c370b522a42ccef4ba45da5b6e57dbf26cdb7b1" dependencies = [ "bytemuck", - "rand_core 0.9.3", + "rand_core 0.9.5", ] [[package]] @@ -6298,13 +6290,13 @@ dependencies = [ "blake2", "borsh", "bytemuck", - "cfg-if 1.0.0", + "cfg-if", "digest", "hex", "hex-literal", "metal", "paste", - "rand_core 0.9.3", + "rand_core 0.9.5", "risc0-core", "risc0-zkvm-platform", "serde", @@ -6348,8 +6340,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4db893788c416287e2e1a87e6b8f5302511a04a45329e699d6a32a16874fd24f" dependencies = [ "bytemuck", - "cfg-if 1.0.0", - "getrandom 0.2.15", + "cfg-if", + "getrandom 0.2.17", "getrandom 0.3.4", "libm", "num_enum", @@ -6414,9 +6406,9 @@ dependencies = [ [[package]] name = "ruint" -version = "1.17.2" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c141e807189ad38a07276942c6623032d3753c8859c146104ac2e4d68865945a" +checksum = "0298da754d1395046b0afdc2f20ee76d29a8ae310cd30ffa84ed42acba9cb12a" dependencies = [ "borsh", "proptest", @@ -6436,9 +6428,9 @@ checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" [[package]] name = "rustc-hash" @@ -6448,9 +6440,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.1.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" +checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" [[package]] name = "rustc_version" @@ -6476,9 +6468,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.39" +version = "0.23.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c2c118cb077cca2822033836dfb1b975355dfb784b5e8da48f7b6c5db74e60e" +checksum = "6b92b125634d9b795e7beca796cc790df15a7fb38323bf3196fda83292d06b1f" dependencies = [ "aws-lc-rs", "log", @@ -6553,9 +6545,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "rv" @@ -6769,23 +6761,23 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "serde_fmt" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d4ddca14104cd60529e8c7f7ba71a2c8acd8f7f5cfcdc2faf97eeb7c3010a4" +checksum = "6e497af288b3b95d067a23a4f749f2861121ffcb2f6d8379310dcda040c345ed" dependencies = [ - "serde", + "serde_core", ] [[package]] name = "serde_json" -version = "1.0.149" +version = "1.0.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9" dependencies = [ "itoa", "memchr", @@ -6796,31 +6788,32 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "serde_spanned" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" dependencies = [ "serde", ] [[package]] name = "serde_with" -version = "3.18.0" +version = "3.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd5414fad8e6907dbdd5bc441a50ae8d6e26151a03b1de04d89a5576de61d01f" +checksum = "76a5c54c7310e7b8b9577c286d7e399ddd876c3e12b3ed917a8aabc4b96e9e8c" dependencies = [ "base64", + "bs58", "chrono", "hex", "indexmap 1.9.3", @@ -6835,14 +6828,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.18.0" +version = "3.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3db8978e608f1fe7357e211969fd9abdcae80bac1ba7a3369bb7eb6b404eb65" +checksum = "84d57bc0c8b9a17920c178daa6bb924850d54a9c97ab45194bb8c17ad66bb660" dependencies = [ "darling 0.23.0", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -6864,18 +6857,18 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures 0.2.17", "digest", ] [[package]] name = "sha2" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures 0.2.17", "digest", ] @@ -6888,9 +6881,9 @@ checksum = "5f179d4e11094a893b82fff208f74d448a7512f99f5a0acbd5c679b705f83ed9" [[package]] name = "sha3" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +checksum = "77fd7028345d415a4034cf8777cd4f8ab1851274233b45f84e3d955502d93874" dependencies = [ "digest", "keccak", @@ -6907,12 +6900,13 @@ dependencies = [ [[package]] name = "shared_child" -version = "1.0.1" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fa9338aed9a1df411814a5b2252f7cd206c55ae9bf2fa763f8de84603aa60c" +checksum = "1e362d9935bc50f019969e2f9ecd66786612daae13e8f277be7bfb66e8bed3f7" dependencies = [ "libc", - "windows-sys 0.59.0", + "sigchld", + "windows-sys 0.60.2", ] [[package]] @@ -6921,11 +6915,28 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "sigchld" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47106eded3c154e70176fc83df9737335c94ce22f821c32d17ed1db1f83badb1" +dependencies = [ + "libc", + "os_pipe", + "signal-hook", +] + [[package]] name = "signal-hook" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" +checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" dependencies = [ "libc", "signal-hook-registry", @@ -6933,9 +6944,9 @@ dependencies = [ [[package]] name = "signal-hook-mio" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" +checksum = "b75a19a7a740b25bc7944bdee6172368f988763b744e3d4dfe753f6b4ece40cc" dependencies = [ "libc", "mio", @@ -6944,13 +6955,20 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" dependencies = [ + "errno", "libc", ] +[[package]] +name = "simd-adler32" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214" + [[package]] name = "simd_cesu8" version = "1.1.1" @@ -6972,7 +6990,7 @@ name = "simpa" version = "2.0.1" dependencies = [ "async-channel", - "cfg-if 1.0.0", + "cfg-if", "clap", "dhat", "faster-hex 0.9.0", @@ -7005,12 +7023,9 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.9" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "slugify-rs" @@ -7024,34 +7039,24 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.2" +version = "1.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" dependencies = [ "serde", ] [[package]] name = "smawk" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" +checksum = "e8e2fb0f499abb4d162f2bedad68f5ef91a1682b5a03596ddb67efd37768d100" [[package]] name = "socket2" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "socket2" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" +checksum = "52d1cfed4120b4d927bf7c0f86d2087a4a7d6027c906d9f9d525a80573b9be51" dependencies = [ "libc", "windows-sys 0.61.2", @@ -7059,9 +7064,9 @@ dependencies = [ [[package]] name = "sorted-insert" -version = "0.2.3" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dd62203d74a728ae353b4d716fc2a80e8da881dfdf8bbc0c012d877a58c4030" +checksum = "eec75fe132d95908f1c030f93630bc20b76f3ebaeca789a6180553b770ddcd39" [[package]] name = "special" @@ -7086,14 +7091,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" dependencies = [ "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "stable_deref_trait" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "strsim" @@ -7109,15 +7114,15 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "sval" -version = "2.14.1" +version = "2.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cc9739f56c5d0c44a5ed45473ec868af02eb896af8c05f616673a31e1d1bb09" +checksum = "5fb9efbae90f97301f4d25f3be63dfd99d6b7af9d088228a52ec960d649b2e7d" [[package]] name = "sval_buffer" -version = "2.14.1" +version = "2.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f39b07436a8c271b34dad5070c634d1d3d76d6776e938ee97b4a66a5e8003d0b" +checksum = "ff5c0280ea0af40b3a1fd0b532680b5067482ffb81412ee66ec04b1d9952b49a" dependencies = [ "sval", "sval_ref", @@ -7125,18 +7130,18 @@ dependencies = [ [[package]] name = "sval_dynamic" -version = "2.14.1" +version = "2.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffcb072d857431bf885580dacecf05ed987bac931230736739a79051dbf3499b" +checksum = "59b9067f2e68f58e110cf8019a268057e3791cf74b0fdb1b3c7c6e49104f44e6" dependencies = [ "sval", ] [[package]] name = "sval_fmt" -version = "2.14.1" +version = "2.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f214f427ad94a553e5ca5514c95c6be84667cbc5568cce957f03f3477d03d5c" +checksum = "96ebdbf0e4b175884aa587fcf551c16dabe245ea04235abdd8cbbd160b27ed5a" dependencies = [ "itoa", "ryu", @@ -7145,9 +7150,9 @@ dependencies = [ [[package]] name = "sval_json" -version = "2.14.1" +version = "2.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389ed34b32e638dec9a99c8ac92d0aa1220d40041026b625474c2b6a4d6f4feb" +checksum = "1e448d9fa216a6c16670b28d624fbbcf5c04e41eb187bd7c52e01222ffa72a12" dependencies = [ "itoa", "ryu", @@ -7156,9 +7161,9 @@ dependencies = [ [[package]] name = "sval_nested" -version = "2.14.1" +version = "2.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14bae8fcb2f24fee2c42c1f19037707f7c9a29a0cda936d2188d48a961c4bb2a" +checksum = "021de5b5c26efd544c694cef9b8a9abe8633481bf3be1ea145a18a740818b291" dependencies = [ "sval", "sval_buffer", @@ -7167,20 +7172,20 @@ dependencies = [ [[package]] name = "sval_ref" -version = "2.14.1" +version = "2.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a4eaea3821d3046dcba81d4b8489421da42961889902342691fb7eab491d79e" +checksum = "54ef5ffec8bc52ded04ee424ab8d959e25e64fd40a48a16d21f8991ce824c1bb" dependencies = [ "sval", ] [[package]] name = "sval_serde" -version = "2.14.1" +version = "2.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "172dd4aa8cb3b45c8ac8f3b4111d644cd26938b0643ede8f93070812b87fb339" +checksum = "b983833a8a2390f89ebcf9b9acd06883017014b4ffd72ee28e0c9de6852039f5" dependencies = [ - "serde", + "serde_core", "sval", "sval_nested", ] @@ -7191,6 +7196,12 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bea7b1b7c5eaabc40bab84ec98b2f12523d97e91c9bfc430fe5d2a1ea15c9960" +[[package]] +name = "symlink" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7973cce6668464ea31f176d85b13c7ab3bba2cb3b77a2ed26abd7801688010a" + [[package]] name = "syn" version = "1.0.109" @@ -7204,9 +7215,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.110" +version = "2.0.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a99801b5bd34ede4cf3fc688c5919368fea4e4814a4664359503e6015b280aea" +checksum = "1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422" dependencies = [ "proc-macro2", "quote", @@ -7230,7 +7241,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -7275,7 +7286,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.4.2", + "getrandom 0.4.3", "once_cell", "rustix", "windows-sys 0.61.2", @@ -7292,22 +7303,22 @@ dependencies = [ [[package]] name = "textwrap" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" +checksum = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057" dependencies = [ "smawk", "unicode-linebreak", - "unicode-width", + "unicode-width 0.2.2", ] [[package]] name = "thiserror" -version = "1.0.64" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl 1.0.64", + "thiserror-impl 1.0.69", ] [[package]] @@ -7321,13 +7332,13 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "1.0.64" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -7338,7 +7349,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -7363,17 +7374,16 @@ version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] name = "time" -version = "0.3.47" +version = "0.3.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" +checksum = "85c17d80feb7334b40c484e45ed1a5273dfd8bfda537c3be2e74a06a6686f327" dependencies = [ "deranged", - "itoa", "libc", "num-conv", "num_threads", @@ -7385,15 +7395,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" +checksum = "9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109" [[package]] name = "time-macros" -version = "0.2.27" +version = "0.2.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" +checksum = "dcef1a61bdb119096e153208ec5cbec23944ce8bca13be5c7f60c634f7403935" dependencies = [ "num-conv", "time-core", @@ -7401,9 +7411,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" dependencies = [ "displaydoc", "zerovec", @@ -7421,9 +7431,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.8.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +checksum = "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3" dependencies = [ "tinyvec_macros", ] @@ -7436,31 +7446,30 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.42.1" +version = "1.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2209a14885b74764cce87ffa777ffa1b8ce81a3f3166c6f886b83337fe7e077f" +checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe" dependencies = [ - "backtrace", "bytes", "libc", "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.7", + "socket2", "tokio-macros", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "tokio-macros" -version = "2.4.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -7475,9 +7484,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.16" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" dependencies = [ "futures-core", "pin-project-lite", @@ -7508,14 +7517,14 @@ dependencies = [ "tokio", "tokio-rustls", "tungstenite", - "webpki-roots 0.26.6", + "webpki-roots 0.26.11", ] [[package]] name = "tokio-util" -version = "0.7.12" +version = "0.7.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" dependencies = [ "bytes", "futures-core", @@ -7526,43 +7535,80 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.19" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" dependencies = [ "serde", "serde_spanned", - "toml_datetime", - "toml_edit", + "toml_datetime 0.6.11", + "toml_edit 0.22.27", ] [[package]] name = "toml_datetime" -version = "0.6.8" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" dependencies = [ "serde", ] +[[package]] +name = "toml_datetime" +version = "1.1.1+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" +dependencies = [ + "serde_core", +] + [[package]] name = "toml_edit" -version = "0.22.22" +version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" +checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ "indexmap 2.14.0", "serde", "serde_spanned", - "toml_datetime", - "winnow", + "toml_datetime 0.6.11", + "toml_write", + "winnow 0.7.15", +] + +[[package]] +name = "toml_edit" +version = "0.25.12+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2153edc6955a6c354fad8f5efd38b6a8769bdccf9fe50f8e1329f81b0baa5d7" +dependencies = [ + "indexmap 2.14.0", + "toml_datetime 1.1.1+spec-1.1.0", + "toml_parser", + "winnow 1.0.3", +] + +[[package]] +name = "toml_parser" +version = "1.1.2+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" +dependencies = [ + "winnow 1.0.3", ] +[[package]] +name = "toml_write" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" + [[package]] name = "tonic" -version = "0.14.5" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fec7c61a0695dc1887c1b53952990f3ad2e3a31453e1f49f10e75424943a93ec" +checksum = "ac2a5518c70fa84342385732db33fb3f44bc4cc748936eb5833d2df34d6445ef" dependencies = [ "async-trait", "axum", @@ -7578,7 +7624,7 @@ dependencies = [ "hyper-util", "percent-encoding", "pin-project", - "socket2 0.6.3", + "socket2", "sync_wrapper", "tokio", "tokio-rustls", @@ -7587,26 +7633,26 @@ dependencies = [ "tower-layer", "tower-service", "tracing", - "webpki-roots 1.0.7", + "webpki-roots 1.0.8", ] [[package]] name = "tonic-build" -version = "0.14.5" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1882ac3bf5ef12877d7ed57aad87e75154c11931c2ba7e6cde5e22d63522c734" +checksum = "c68f61875ac5293cf72e6c8cf0158086428c82c37229e98c840878f1706b0322" dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "tonic-prost" -version = "0.14.5" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55376a0bbaa4975a3f10d009ad763d8f4108f067c7c2e74f3001fb49778d309" +checksum = "50849f68853be452acf590cde0b146665b8d507b3b8af17261df47e02c209ea0" dependencies = [ "bytes", "prost", @@ -7615,16 +7661,16 @@ dependencies = [ [[package]] name = "tonic-prost-build" -version = "0.14.5" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3144df636917574672e93d0f56d7edec49f90305749c668df5101751bb8f95a" +checksum = "654e5643eff75d7f8c99197ce1440ed19a3474eada74c12bbac488b2cafdae27" dependencies = [ "prettyplease", "proc-macro2", "prost-build", "prost-types", "quote", - "syn 2.0.110", + "syn 2.0.118", "tempfile", "tonic-build", ] @@ -7708,14 +7754,15 @@ dependencies = [ [[package]] name = "tracing-appender" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "786d480bce6247ab75f005b14ae1624ad978d3029d9113f0a22fa1ac773faeaf" +checksum = "050686193eb999b4bb3bc2acfa891a13da00f79734704c4b8b4ef1a10b368a3c" dependencies = [ "crossbeam-channel", + "symlink", "thiserror 2.0.18", "time", - "tracing-subscriber 0.3.22", + "tracing-subscriber 0.3.23", ] [[package]] @@ -7726,7 +7773,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -7761,9 +7808,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", @@ -7779,9 +7826,9 @@ dependencies = [ [[package]] name = "triggered" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce148eae0d1a376c1b94ae651fc3261d9cb8294788b962b7382066376503a2d1" +checksum = "593eddbc8a11f3e099e942c8c065fe376b9d1776741430888f2796682e08ab43" [[package]] name = "try-lock" @@ -7824,9 +7871,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.17.0" +version = "1.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" [[package]] name = "unarray" @@ -7842,9 +7889,9 @@ checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142" [[package]] name = "unicode-ident" -version = "1.0.13" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "unicode-linebreak" @@ -7854,9 +7901,9 @@ checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" [[package]] name = "unicode-segmentation" -version = "1.12.0" +version = "1.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" +checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8" [[package]] name = "unicode-width" @@ -7864,6 +7911,12 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" +[[package]] +name = "unicode-width" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" + [[package]] name = "unicode-xid" version = "0.2.6" @@ -7903,13 +7956,14 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.4" +version = "2.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] [[package]] @@ -7926,14 +7980,14 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.18.1" +version = "1.23.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" +checksum = "bf80a72845275afea99e7f2b434723d3bc7e38470fcd1c7ed39a599c73319a53" dependencies = [ - "getrandom 0.3.4", + "getrandom 0.4.3", "js-sys", - "rand 0.9.4", - "serde", + "rand 0.10.1", + "serde_core", "wasm-bindgen", ] @@ -7945,9 +7999,9 @@ checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "value-bag" -version = "1.9.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a84c137d37ab0142f0f2ddfe332651fdbf252e7b7dbb4e67b6c1f1b2e925101" +checksum = "7ba6f5989077681266825251a52748b8c1d8a4ad098cc37e440103d0ea717fc0" dependencies = [ "value-bag-serde1", "value-bag-sval2", @@ -7955,20 +8009,20 @@ dependencies = [ [[package]] name = "value-bag-serde1" -version = "1.11.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35540706617d373b118d550d41f5dfe0b78a0c195dc13c6815e92e2638432306" +checksum = "16530907bfe2999a1773ca5900a65101e092c70f642f25cc23ca0c43573262c5" dependencies = [ "erased-serde", - "serde", + "serde_core", "serde_fmt", ] [[package]] name = "value-bag-sval2" -version = "1.11.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe7e140a2658cc16f7ee7a86e413e803fc8f9b5127adc8755c19f9fefa63a52" +checksum = "d00ae130edd690eaa877e4f40605d534790d1cf1d651e7685bd6a144521b251f" dependencies = [ "sval", "sval_buffer", @@ -7993,7 +8047,7 @@ checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566" dependencies = [ "anyhow", "cargo_metadata", - "cfg-if 1.0.0", + "cfg-if", "regex", "rustc_version", "rustversion", @@ -8027,26 +8081,17 @@ dependencies = [ [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasip2" -version = "1.0.1+wasi-0.2.4" +version = "1.0.4+wasi-0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +checksum = "b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487" dependencies = [ - "wit-bindgen 0.46.0", -] - -[[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 0.51.0", + "wit-bindgen", ] [[package]] @@ -8055,7 +8100,7 @@ version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b067c0c11094aef6b7a801c1e34a26affafdf3d051dba08456b868789aaf9a4" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "once_cell", "rustversion", "wasm-bindgen-macro", @@ -8091,7 +8136,7 @@ dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", "wasm-bindgen-shared", ] @@ -8134,7 +8179,7 @@ checksum = "94eb68555b95bcea5e8cf4abe280b529049479fa995bfc23734af96a6aedc120" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -8143,40 +8188,6 @@ version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c31d56021e873866c968588ed85ccdf56db5c426e44afdb4618c39895104b920" -[[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.13.0", - "hashbrown 0.15.5", - "indexmap 2.14.0", - "semver", -] - [[package]] name = "web-sys" version = "0.3.103" @@ -8208,27 +8219,27 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.6" +version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" +checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ - "rustls-pki-types", + "webpki-roots 1.0.8", ] [[package]] name = "webpki-roots" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52f5ee44c96cf55f1b349600768e3ece3a8f26010c05265ab73f945bb1a2eb9d" +checksum = "bf85cb06032201fa7c6f829d7db5a7e5aa45bcc0655327713065f6f0576731bf" dependencies = [ "rustls-pki-types", ] [[package]] name = "wide" -version = "1.3.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9479f84a757f819cfab37295955906479181395de83add28f74975fde083141" +checksum = "dfdfe6a32973f2d1b268b8895845a8a96cac2f0191e72c27cc929036060dbf89" dependencies = [ "bytemuck", "safe_arch", @@ -8252,11 +8263,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -8277,23 +8288,27 @@ dependencies = [ [[package]] name = "windows-core" -version = "0.52.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" dependencies = [ + "windows-implement 0.57.0", + "windows-interface 0.57.0", + "windows-result 0.1.2", "windows-targets 0.52.6", ] [[package]] name = "windows-core" -version = "0.57.0" +version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ - "windows-implement", - "windows-interface", - "windows-result 0.1.2", - "windows-targets 0.52.6", + "windows-implement 0.60.2", + "windows-interface 0.59.3", + "windows-link", + "windows-result 0.4.1", + "windows-strings", ] [[package]] @@ -8304,7 +8319,18 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.118", ] [[package]] @@ -8315,7 +8341,18 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.118", ] [[package]] @@ -8389,6 +8426,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.5", +] + [[package]] name = "windows-sys" version = "0.61.2" @@ -8422,13 +8468,30 @@ dependencies = [ "windows_aarch64_gnullvm 0.52.6", "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", + "windows_i686_gnullvm 0.52.6", "windows_i686_msvc 0.52.6", "windows_x86_64_gnu 0.52.6", "windows_x86_64_gnullvm 0.52.6", "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows-targets" +version = "0.53.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +dependencies = [ + "windows-link", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -8441,6 +8504,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -8453,6 +8522,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -8465,12 +8540,24 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +[[package]] +name = "windows_i686_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" + [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -8483,6 +8570,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_i686_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -8495,6 +8588,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -8507,6 +8606,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -8520,113 +8625,40 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] -name = "winnow" -version = "0.6.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" -dependencies = [ - "memchr", -] - -[[package]] -name = "wit-bindgen" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" - -[[package]] -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", - "wit-parser", -] - -[[package]] -name = "wit-bindgen-rust" -version = "0.51.0" +name = "windows_x86_64_msvc" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" -dependencies = [ - "anyhow", - "heck", - "indexmap 2.14.0", - "prettyplease", - "syn 2.0.110", - "wasm-metadata", - "wit-bindgen-core", - "wit-component", -] +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] -name = "wit-bindgen-rust-macro" -version = "0.51.0" +name = "winnow" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" dependencies = [ - "anyhow", - "prettyplease", - "proc-macro2", - "quote", - "syn 2.0.110", - "wit-bindgen-core", - "wit-bindgen-rust", + "memchr", ] [[package]] -name = "wit-component" -version = "0.244.0" +name = "winnow" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +checksum = "0592e1c9d151f854e6fd382574c3a0855250e1d9b2f99d9281c6e6391af352f1" dependencies = [ - "anyhow", - "bitflags 2.13.0", - "indexmap 2.14.0", - "log", - "serde", - "serde_derive", - "serde_json", - "wasm-encoder", - "wasm-metadata", - "wasmparser", - "wit-parser", + "memchr", ] [[package]] -name = "wit-parser" -version = "0.244.0" +name = "wit-bindgen" +version = "0.57.1" 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", -] +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" [[package]] name = "workflow-chrome" version = "0.19.0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "chrome-sys", "js-sys", "thiserror 2.0.18", @@ -8642,12 +8674,12 @@ dependencies = [ "async-channel", "borsh", "bs58", - "cfg-if 1.0.0", + "cfg-if", "chrono", "dirs 6.0.0", "faster-hex 0.10.0", "futures", - "getrandom 0.4.2", + "getrandom 0.4.3", "js-sys", "rand 0.10.1", "rlimit", @@ -8676,7 +8708,7 @@ dependencies = [ "quote", "regex", "sha2", - "syn 2.0.110", + "syn 2.0.118", "workflow-macro-tools", ] @@ -8700,7 +8732,7 @@ dependencies = [ name = "workflow-http" version = "0.19.0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "reqwest", "serde", "serde_json", @@ -8714,7 +8746,7 @@ dependencies = [ name = "workflow-log" version = "0.19.0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "console", "downcast", "lazy_static", @@ -8731,7 +8763,7 @@ dependencies = [ "parse-variants", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -8742,7 +8774,6 @@ dependencies = [ "futures", "js-sys", "lazy_static", - "node-sys", "serde", "thiserror 2.0.18", "wasm-bindgen", @@ -8779,7 +8810,7 @@ dependencies = [ name = "workflow-panic-hook" version = "0.19.0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "wasm-bindgen", "web-sys", ] @@ -8793,7 +8824,7 @@ dependencies = [ "cc", "libc", "mach", - "thiserror 1.0.64", + "thiserror 1.0.69", "windows-sys 0.48.0", ] @@ -8807,7 +8838,7 @@ dependencies = [ "downcast-rs", "futures", "futures-util", - "getrandom 0.4.2", + "getrandom 0.4.3", "manual_future", "rand 0.10.1", "serde", @@ -8832,7 +8863,7 @@ dependencies = [ "proc-macro-error3", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -8849,7 +8880,7 @@ name = "workflow-store" version = "0.19.0" dependencies = [ "base64", - "cfg-if 1.0.0", + "cfg-if", "chrome-sys", "faster-hex 0.10.0", "filetime", @@ -8890,7 +8921,7 @@ dependencies = [ "proc-macro2", "quote", "sha2", - "syn 2.0.110", + "syn 2.0.118", "workflow-macro-tools", ] @@ -8899,7 +8930,7 @@ name = "workflow-terminal" version = "0.19.0" dependencies = [ "async-trait", - "cfg-if 1.0.0", + "cfg-if", "crossterm", "downcast", "futures", @@ -8930,7 +8961,7 @@ dependencies = [ "proc-macro2", "quote", "sha2", - "syn 2.0.110", + "syn 2.0.118", "workflow-macro-tools", ] @@ -8938,7 +8969,7 @@ dependencies = [ name = "workflow-wasm" version = "0.19.0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "faster-hex 0.10.0", "futures", "js-sys", @@ -8961,7 +8992,7 @@ dependencies = [ "proc-macro-error3", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", "wasm-bindgen", ] @@ -8972,7 +9003,7 @@ dependencies = [ "ahash", "async-channel", "async-trait", - "cfg-if 1.0.0", + "cfg-if", "downcast-rs", "futures", "futures-util", @@ -8999,9 +9030,9 @@ checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" [[package]] name = "xml-rs" -version = "0.8.22" +version = "0.8.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af4e2e2f7cba5a093896c1e150fbfe177d1883e7448200efb81d40b9d339ef26" +checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f" [[package]] name = "xmltree" @@ -9014,15 +9045,15 @@ dependencies = [ [[package]] name = "xxhash-rust" -version = "0.8.12" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a5cbf750400958819fb6178eaa83bee5cd9c29a26a40cc241df8c70fdd46984" +checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" [[package]] name = "yoke" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +checksum = "709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5" dependencies = [ "stable_deref_trait", "yoke-derive", @@ -9031,103 +9062,82 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", "synstructure", ] [[package]] name = "zerocopy" -version = "0.7.35" +version = "0.8.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +checksum = "ce1022995ff5ff5d841ad7d994facc23098cd40152f2c1d11cd607c6f530653f" dependencies = [ - "byteorder", - "zerocopy-derive 0.7.35", -] - -[[package]] -name = "zerocopy" -version = "0.8.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2578b716f8a7a858b7f02d5bd870c14bf4ddbbcf3a4c05414ba6503640505e3" -dependencies = [ - "zerocopy-derive 0.8.42", + "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.35" +version = "0.8.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "1ae7f38b72ec2a254e2b87ef277cf2cd4fb97cbebf944faa6f33354da0867930" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", -] - -[[package]] -name = "zerocopy-derive" -version = "0.8.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e6cc098ea4d3bd6246687de65af3f920c430e236bee1e3bf2e441463f08a02f" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "zerofrom" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4df" +checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", "synstructure", ] [[package]] name = "zeroize" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +checksum = "e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e" dependencies = [ "zeroize_derive", ] [[package]] name = "zeroize_derive" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" +checksum = "3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] name = "zerotrie" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" dependencies = [ "displaydoc", "yoke", @@ -9136,9 +9146,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.5" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" dependencies = [ "yoke", "zerofrom", @@ -9147,13 +9157,13 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.118", ] [[package]] @@ -9164,9 +9174,9 @@ checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" [[package]] name = "zstd-sys" -version = "2.0.13+zstd.1.5.6" +version = "2.0.16+zstd.1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" +checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" dependencies = [ "cc", "pkg-config", diff --git a/utils/Cargo.toml b/utils/Cargo.toml index 732d037dc6..949073fac7 100644 --- a/utils/Cargo.toml +++ b/utils/Cargo.toml @@ -32,6 +32,14 @@ wasm-bindgen.workspace = true [target.'cfg(not(target_arch = "wasm32"))'.dependencies] rlimit = { workspace = true, optional = true } +# getrandom 0.3 is pulled in transitively (ahash -> ark-crypto -> kaspa-txscript) +# and needs its `wasm_js` feature enabled on wasm32; the feature alone is no +# longer sufficient (it also needs the getrandom_backend cfg in .cargo/config.toml). +# kaspa-utils is in every wasm32 build root, so declaring the alias here unifies +# the feature across the whole workspace's wasm builds. +[target.'cfg(target_arch = "wasm32")'.dependencies] +getrandom_03 = { package = "getrandom", version = "0.3", features = ["wasm_js"] } + [dev-dependencies] bincode.workspace = true serde_json.workspace = true diff --git a/wasm/Cargo.toml b/wasm/Cargo.toml index a70be8f73b..2e76a3071d 100644 --- a/wasm/Cargo.toml +++ b/wasm/Cargo.toml @@ -39,6 +39,13 @@ workflow-log.workspace = true workflow-core.workspace = true workflow-wasm.workspace = true +# getrandom 0.3 is pulled in transitively (ahash -> ark-crypto -> kaspa-txscript) +# and needs its `wasm_js` feature enabled on wasm32 (plus the getrandom_backend +# cfg in .cargo/config.toml). Declared in kaspa-utils too; also pinned here at the +# SDK build root so the feature unifies regardless of how the lock is regenerated. +[target.'cfg(target_arch = "wasm32")'.dependencies] +getrandom_03 = { package = "getrandom", version = "0.3", features = ["wasm_js"] } + [features] wasm32-sdk = [ "kaspa-wallet-core/wasm32-sdk", From e6adbc52d5d078493b8030cc88fb854c9696866c Mon Sep 17 00:00:00 2001 From: Anton Yemelyanov Date: Sat, 27 Jun 2026 10:18:06 +0300 Subject: [PATCH 04/16] deps: bump wasm-bindgen-test floor to 0.3.76 (matches wasm-bindgen 0.2.126) The wasm-bindgen ecosystem is already at latest (wasm-bindgen 0.2.126, js-sys/ web-sys 0.3.103, wasm-bindgen-futures 0.4.76); align the wasm-bindgen-test floor so the manifest reflects the resolved version. Verified a full Cargo.lock regeneration (`rm Cargo.lock && ./check`) builds clean on native and wasm32, with node-sys gone and getrandom 0.3 handled by the wasm_js alias + backend cfg. Co-Authored-By: Claude Opus 4.8 (1M context) --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 23fba74578..c5e7547c62 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -280,7 +280,7 @@ triggered = "0.1.2" uuid = { version = "1.16.0", default-features = false } wasm-bindgen = { version = "=0.2.126", default-features = false } wasm-bindgen-futures = "=0.4.76" -wasm-bindgen-test = "0.3.50" +wasm-bindgen-test = "0.3.76" web-sys = "=0.3.103" xxhash-rust = { version = "0.8.7", features = ["xxh3"] } zerocopy = { version = "0.8", features = ["derive"] } From 5b41acbd565eac75d88af28ed58be5292a354b5e Mon Sep 17 00:00:00 2001 From: Anton Yemelyanov Date: Sat, 27 Jun 2026 10:24:40 +0300 Subject: [PATCH 05/16] docs(wasm): note the getrandom wasm_js backend cfg for Rust consumers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a section to the kaspa-wasm module rustdoc explaining that Rust crates depending on kaspa-wasm and building for wasm32-unknown-unknown must set `getrandom_backend="wasm_js"` in their own .cargo/config.toml — the cfg is required by transitive getrandom 0.3 and cannot be propagated from a library. Co-Authored-By: Claude Opus 4.8 (1M context) --- wasm/src/lib.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/wasm/src/lib.rs b/wasm/src/lib.rs index 4416ef4fcf..fd6170e307 100644 --- a/wasm/src/lib.rs +++ b/wasm/src/lib.rs @@ -47,6 +47,28 @@ the W3C WebSocket and due to this supports RPC. NOTE: for security reasons it is always recommended to build WASM SDK from source or download pre-built redistributables from releases or development builds. +## Building as a Rust dependency (`wasm32-unknown-unknown`) + +If you depend on `kaspa-wasm` (or the other Kaspa wasm crates) **from Rust** and +build for the `wasm32-unknown-unknown` target, you must select a `getrandom` +backend in **your own** build configuration. Some transitive dependencies use +`getrandom` 0.3, whose web backend cannot be chosen by a library — it has to be +selected by the final build. Add the following to your crate's +`.cargo/config.toml`: + +```toml +[target.wasm32-unknown-unknown] +rustflags = ["--cfg", 'getrandom_backend="wasm_js"'] +``` + +(equivalently, export `RUSTFLAGS='--cfg getrandom_backend="wasm_js"'`). Without +this, the build fails with *"the wasm32-unknown-unknown targets are not supported +by default … you may need to enable the `wasm_js` configuration flag"*. This +crate applies the setting for its own builds, but a `.cargo/config.toml` does not +propagate to downstream crates, so each consuming project must set it. This only +applies to `wasm32-unknown-unknown`; native and `wasm32-wasi` targets are +unaffected. + ## Examples JavaScript examples for using this framework can be found at: From 775a733a79c1ea92f805e73bbd84503846d1451e Mon Sep 17 00:00:00 2001 From: Anton Yemelyanov Date: Sat, 27 Jun 2026 12:37:02 +0300 Subject: [PATCH 06/16] fix(wrpc): use ring crypto provider; drop aws-lc-rs (no C, zero-config SDK) reqwest 0.13 pulls the `aws-lc-rs` rustls provider (needs a C/cmake toolchain) and only auto-selects that provider, while the wRPC/websocket stack uses `ring`. Two providers make rustls 0.23 unable to auto-select one, panicking at runtime ("Could not automatically determine the process-level CryptoProvider"). Switch workflow-http to reqwest's `rustls-no-provider`, removing aws-lc-rs (and its C build) so the only provider is the pure-Rust `ring`. Since reqwest no-provider requires an installed provider, install `ring` from the SDK itself (`ensure_crypto_provider`, called on Resolver/KaspaRpcClient construction) so downstream Rust SDK consumers remain zero-config. The call is idempotent and a no-op if a provider was already installed, and native-only (wasm uses host TLS). Co-Authored-By: Claude Opus 4.8 (1M context) --- Cargo.lock | 109 -------------------------------- Cargo.toml | 8 ++- rpc/wrpc/client/src/client.rs | 1 + rpc/wrpc/client/src/lib.rs | 21 ++++++ rpc/wrpc/client/src/resolver.rs | 1 + 5 files changed, 28 insertions(+), 112 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c30f4a5bcb..592237a16e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -703,28 +703,6 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" -[[package]] -name = "aws-lc-rs" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ec2f1fc3ec205783a5da9a7e6c1509cc69dedf09a1949e412c1e18469326d00" -dependencies = [ - "aws-lc-sys", - "zeroize", -] - -[[package]] -name = "aws-lc-sys" -version = "0.41.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a2f9779ce85b93ab6170dd940ad0169b5766ff848247aff13bb788b832fe3f4" -dependencies = [ - "cc", - "cmake", - "dunce", - "fs_extra", -] - [[package]] name = "axum" version = "0.8.9" @@ -1212,15 +1190,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" -[[package]] -name = "cmake" -version = "0.1.58" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678" -dependencies = [ - "cc", -] - [[package]] name = "cobs" version = "0.3.0" @@ -1895,12 +1864,6 @@ dependencies = [ "shared_child", ] -[[package]] -name = "dunce" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" - [[package]] name = "duration-string" version = "0.4.0" @@ -2199,12 +2162,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "fs_extra" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" - [[package]] name = "futures" version = "0.3.32" @@ -4848,12 +4805,6 @@ dependencies = [ "hashbrown 0.16.1", ] -[[package]] -name = "lru-slab" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" - [[package]] name = "lz4-sys" version = "1.11.1+lz4-1.10.0" @@ -5815,62 +5766,6 @@ dependencies = [ "pulldown-cmark", ] -[[package]] -name = "quinn" -version = "0.11.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c1a41e437b6bbd489372cd4971de128e85c855f56c57f283d20ff016cf7c0a8" -dependencies = [ - "bytes", - "cfg_aliases", - "pin-project-lite", - "quinn-proto", - "quinn-udp", - "rustc-hash 2.1.2", - "rustls", - "socket2", - "thiserror 2.0.18", - "tokio", - "tracing", - "web-time", -] - -[[package]] -name = "quinn-proto" -version = "0.11.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fcb935c5bec503c2f0e306bdd3e58bb9029dcb14fa8d9ac76e3a5256ac0763e" -dependencies = [ - "aws-lc-rs", - "bytes", - "getrandom 0.3.4", - "lru-slab", - "rand 0.9.4", - "ring", - "rustc-hash 2.1.2", - "rustls", - "rustls-pki-types", - "slab", - "thiserror 2.0.18", - "tinyvec", - "tracing", - "web-time", -] - -[[package]] -name = "quinn-udp" -version = "0.5.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" -dependencies = [ - "cfg_aliases", - "libc", - "once_cell", - "socket2", - "tracing", - "windows-sys 0.60.2", -] - [[package]] name = "quote" version = "1.0.46" @@ -6128,7 +6023,6 @@ dependencies = [ "mime", "percent-encoding", "pin-project-lite", - "quinn", "rustls", "rustls-pki-types", "rustls-platform-verifier", @@ -6472,7 +6366,6 @@ version = "0.23.41" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b92b125634d9b795e7beca796cc790df15a7fb38323bf3196fda83292d06b1f" dependencies = [ - "aws-lc-rs", "log", "once_cell", "ring", @@ -6500,7 +6393,6 @@ version = "1.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30a7197ae7eb376e574fe940d068c30fe0462554a3ddbe4eca7838e049c937a9" dependencies = [ - "web-time", "zeroize", ] @@ -6537,7 +6429,6 @@ version = "0.103.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" dependencies = [ - "aws-lc-rs", "ring", "rustls-pki-types", "untrusted", diff --git a/Cargo.toml b/Cargo.toml index c5e7547c62..661439110f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -336,9 +336,11 @@ rustls = { version = "0.23.18", default-features = false, features = ["ring"] } workflow-core = { path = "../workflow-rs/core" } workflow-d3 = { path = "../workflow-rs/d3" } workflow-dom = { path = "../workflow-rs/dom" } -# rustls-based TLS via the OS platform verifier; cross-platform system proxy -# (workflow-http 0.19 / reqwest 0.13 renamed these features) -workflow-http = { path = "../workflow-rs/http", default-features = false, features = ["rustls", "http2", "charset", "system-proxy"] } +# rustls-based TLS via the OS platform verifier; cross-platform system proxy. +# `rustls-no-provider` keeps reqwest from pulling the aws-lc-rs crypto provider +# (which needs a C/cmake toolchain); the wRPC client installs the pure-Rust +# `ring` provider at startup (see kaspa-wrpc-client::ensure_crypto_provider). +workflow-http = { path = "../workflow-rs/http", default-features = false, features = ["rustls-no-provider", "http2", "charset", "system-proxy"] } workflow-log = { path = "../workflow-rs/log" } workflow-node = { path = "../workflow-rs/node" } workflow-nw = { path = "../workflow-rs/nw" } diff --git a/rpc/wrpc/client/src/client.rs b/rpc/wrpc/client/src/client.rs index 160006aa52..00b21184e9 100644 --- a/rpc/wrpc/client/src/client.rs +++ b/rpc/wrpc/client/src/client.rs @@ -298,6 +298,7 @@ impl KaspaRpcClient { network_id: Option, subscription_context: Option, ) -> Result { + crate::ensure_crypto_provider(); let inner = Arc::new(Inner::new(encoding, url, resolver, network_id)?); inner.build_notifier(subscription_context)?; let client = KaspaRpcClient { inner }; diff --git a/rpc/wrpc/client/src/lib.rs b/rpc/wrpc/client/src/lib.rs index ac004eccb4..d4a3580ab8 100644 --- a/rpc/wrpc/client/src/lib.rs +++ b/rpc/wrpc/client/src/lib.rs @@ -23,3 +23,24 @@ pub mod node; pub mod parse; pub mod prelude; pub mod resolver; + +/// Ensures a process-level rustls [`CryptoProvider`](rustls::crypto::CryptoProvider) +/// is installed before the client establishes any TLS connection. +/// +/// reqwest 0.13 (used by the [`Resolver`] over HTTPS) only auto-selects the +/// `aws-lc-rs` provider, which requires a C/cmake toolchain. To keep the build +/// pure-Rust (`ring`) while staying zero-config for SDK consumers, we install +/// the `ring` provider on first client/resolver construction. This is +/// idempotent and a no-op if a provider was already installed — so a consumer +/// can override it by installing their own provider before constructing a +/// client. wasm targets use the host's TLS and need no provider. +#[cfg(not(target_arch = "wasm32"))] +pub(crate) fn ensure_crypto_provider() { + static ONCE: std::sync::Once = std::sync::Once::new(); + ONCE.call_once(|| { + let _ = rustls::crypto::ring::default_provider().install_default(); + }); +} + +#[cfg(target_arch = "wasm32")] +pub(crate) fn ensure_crypto_provider() {} diff --git a/rpc/wrpc/client/src/resolver.rs b/rpc/wrpc/client/src/resolver.rs index 741ec93f91..fde3587d7a 100644 --- a/rpc/wrpc/client/src/resolver.rs +++ b/rpc/wrpc/client/src/resolver.rs @@ -104,6 +104,7 @@ impl Resolver { /// Create a new [`Resolver`] client with the specified list of resolver URLs and an optional `tls` flag. /// The `tls` flag can be used to enforce secure connection to the node. pub fn new(urls: Option>>, tls: bool) -> Self { + crate::ensure_crypto_provider(); Self { inner: Arc::new(Inner::new(urls, tls)) } } From 54032916514fb2e8239030d78eea71be69e8b36a Mon Sep 17 00:00:00 2001 From: Anton Yemelyanov Date: Sat, 27 Jun 2026 12:58:27 +0300 Subject: [PATCH 07/16] docs(wrpc): document the TLS crypto provider behavior; make ensure_crypto_provider public Add a "TLS crypto provider" section to the kaspa-wrpc-client crate docs explaining that it installs the pure-Rust `ring` provider automatically on first client/Resolver construction (zero-config), how to override it with another provider, and that wasm needs none. Expose `ensure_crypto_provider` so consumers can invoke it explicitly. Co-Authored-By: Claude Opus 4.8 (1M context) --- rpc/wrpc/client/src/lib.rs | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/rpc/wrpc/client/src/lib.rs b/rpc/wrpc/client/src/lib.rs index d4a3580ab8..0a511f7a17 100644 --- a/rpc/wrpc/client/src/lib.rs +++ b/rpc/wrpc/client/src/lib.rs @@ -13,6 +13,26 @@ //! //! The main struct managing Kaspa RPC client connections is the [`KaspaRpcClient`]. //! +//! ## TLS crypto provider (native) +//! +//! On native targets the client opens secure (`wss://`) connections and, when a +//! [`Resolver`] is used, fetches the public node list over HTTPS — both go +//! through [`rustls`](https://docs.rs/rustls), which (since 0.23) requires a +//! process-level crypto provider to be installed. +//! +//! For zero-config use, this crate installs the pure-Rust `ring` provider +//! automatically the first time a [`KaspaRpcClient`] or [`Resolver`] is +//! constructed (see [`ensure_crypto_provider`]). The install is idempotent and a +//! no-op if a provider has already been installed, so to use a different +//! provider (e.g. `aws-lc-rs`) install it yourself *before* constructing a +//! client: +//! +//! ```ignore +//! rustls::crypto::aws_lc_rs::default_provider().install_default().unwrap(); +//! ``` +//! +//! On `wasm32` the host environment handles TLS, so no provider is required. +//! pub mod client; pub mod error; @@ -35,7 +55,7 @@ pub mod resolver; /// can override it by installing their own provider before constructing a /// client. wasm targets use the host's TLS and need no provider. #[cfg(not(target_arch = "wasm32"))] -pub(crate) fn ensure_crypto_provider() { +pub fn ensure_crypto_provider() { static ONCE: std::sync::Once = std::sync::Once::new(); ONCE.call_once(|| { let _ = rustls::crypto::ring::default_provider().install_default(); @@ -43,4 +63,4 @@ pub(crate) fn ensure_crypto_provider() { } #[cfg(target_arch = "wasm32")] -pub(crate) fn ensure_crypto_provider() {} +pub fn ensure_crypto_provider() {} From 7bc305c08fb3406920c9f9e65df0c208258a0a9c Mon Sep 17 00:00:00 2001 From: Anton Yemelyanov Date: Sat, 27 Jun 2026 13:00:45 +0300 Subject: [PATCH 08/16] docs: note TLS crypto provider in kaspa-wrpc-wasm and kaspa-rpc-core - kaspa-wrpc-wasm: clarify that WASM/JS environments need no rustls crypto provider (the browser/Node.js host handles TLS), unlike the native client. - kaspa-rpc-core: note that native clients built on it (wrpc/grpc) require a rustls provider, which kaspa-wrpc-client installs automatically. Co-Authored-By: Claude Opus 4.8 (1M context) --- rpc/core/src/lib.rs | 10 ++++++++++ rpc/wrpc/wasm/src/lib.rs | 7 +++++++ 2 files changed, 17 insertions(+) diff --git a/rpc/core/src/lib.rs b/rpc/core/src/lib.rs index a2ece77d4d..f5ff75b7ef 100644 --- a/rpc/core/src/lib.rs +++ b/rpc/core/src/lib.rs @@ -10,6 +10,16 @@ //! implementation](https://docs.rs/kaspa-wrpc-client/latest/kaspa_wrpc_client/wasm/struct.RpcClient.html) //! (based on wRPC). //! +//! ## TLS crypto provider (native clients) +//! +//! `kaspa-rpc-core` is transport-agnostic, but the native client implementations +//! built on it — [`kaspa_wrpc_client`](https://docs.rs/kaspa-wrpc-client) and +//! [`kaspa_grpc_client`](https://docs.rs/kaspa-grpc-client) — use `rustls`, which +//! since 0.23 requires a process-level crypto provider to be installed before the +//! first secure connection. `kaspa-wrpc-client` installs a pure-Rust `ring` +//! provider automatically (see its docs for how to override). WASM clients are +//! unaffected — the host handles TLS. +//! // This attribute is required by BorshSerialize/Deserialize #![recursion_limit = "256"] diff --git a/rpc/wrpc/wasm/src/lib.rs b/rpc/wrpc/wasm/src/lib.rs index 61d0de19b1..f090cca220 100644 --- a/rpc/wrpc/wasm/src/lib.rs +++ b/rpc/wrpc/wasm/src/lib.rs @@ -1,6 +1,13 @@ //! //! WASM bindings for the [Rusty Kaspa p2p Node wRPC Client](kaspa-wrpc-client) //! +//! ## TLS crypto provider +//! +//! In WASM/JavaScript environments, TLS for `wss://` connections (and HTTPS via +//! the resolver) is handled by the host — the browser or Node.js — so, unlike +//! the native [`kaspa-wrpc-client`](https://docs.rs/kaspa-wrpc-client), **no +//! rustls crypto provider needs to be installed**. +//! #![allow(unused_imports)] From 85232773f12adb70ca8ffe5019307d076cb41843 Mon Sep 17 00:00:00 2001 From: Anton Yemelyanov Date: Sat, 27 Jun 2026 17:32:54 +0300 Subject: [PATCH 09/16] deps: target published workflow-rs 0.19.0 from crates.io Switch all workflow-* dependencies from local ../workflow-rs paths to the published crates.io 0.19.0 release and regenerate Cargo.lock. TLS stack resolves to pure-Rust ring (no aws-lc-rs/C): wRPC via tokio-tungstenite rustls-tls-webpki-roots, HTTP via reqwest rustls-no-provider with the SDK installing ring at runtime. Co-Authored-By: Claude Opus 4.8 (1M context) --- Cargo.lock | 42 ++++++++++++++++++++++++++++++++++++++++ Cargo.toml | 56 +++++++++++++++++++++++++++--------------------------- 2 files changed, 70 insertions(+), 28 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 592237a16e..6376db716d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8548,6 +8548,8 @@ checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" [[package]] name = "workflow-chrome" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a7280a8644c19859ebc8e7a5ded49271d384559666dad69d030fd987aa0bec5" dependencies = [ "cfg-if", "chrome-sys", @@ -8561,6 +8563,8 @@ dependencies = [ [[package]] name = "workflow-core" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eea7fc4bb4beaf42de4a5006b6703d73071718d3a775d01024edef7738f7aff" dependencies = [ "async-channel", "borsh", @@ -8591,6 +8595,8 @@ dependencies = [ [[package]] name = "workflow-core-macros" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "507803e56296229d19d96ea4cf0331b3118d61e7c5f720b63c0e1f71eb2c59c2" dependencies = [ "convert_case 0.11.0", "parse-variants", @@ -8606,6 +8612,8 @@ dependencies = [ [[package]] name = "workflow-dom" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d120b481ea09ae05b27a2de47c25464d11ed835c3fda2581aa06cd282db935be" dependencies = [ "futures", "js-sys", @@ -8622,6 +8630,8 @@ dependencies = [ [[package]] name = "workflow-http" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1edc9c5b7806feca7e838f3a20368d313166e3772ef069db32ee781d9a69ddd4" dependencies = [ "cfg-if", "reqwest", @@ -8636,6 +8646,8 @@ dependencies = [ [[package]] name = "workflow-log" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94a38c07ae1754948b31702c91a5a024c75a656f623aa2f51e1511eb40ed5596" dependencies = [ "cfg-if", "console", @@ -8649,6 +8661,8 @@ dependencies = [ [[package]] name = "workflow-macro-tools" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f8800f0868560acf8ab075d59c72f73336ce1381a2d91361d5fbde494737545" dependencies = [ "convert_case 0.11.0", "parse-variants", @@ -8660,6 +8674,8 @@ dependencies = [ [[package]] name = "workflow-node" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "312223b4e028e65855ab52992325c310e92ecf920d517c8c0d8b364e47f33bbb" dependencies = [ "borsh", "futures", @@ -8678,6 +8694,8 @@ dependencies = [ [[package]] name = "workflow-nw" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "306ba4de759d9456ffd0c65f6d41ac828367d23a2263e5e1fd7c24015275c2f9" dependencies = [ "ahash", "async-trait", @@ -8700,6 +8718,8 @@ dependencies = [ [[package]] name = "workflow-panic-hook" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f678bf2eca36006393d5e293a042f4eeaff8dfcef82d5d4a5f9a7616879806d" dependencies = [ "cfg-if", "wasm-bindgen", @@ -8722,6 +8742,8 @@ dependencies = [ [[package]] name = "workflow-rpc" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d5b40e6ed39309cb29f85d6d2bfb7f57b49385d6cf93cb02cdb3dc7d02a05be" dependencies = [ "ahash", "async-trait", @@ -8749,6 +8771,8 @@ dependencies = [ [[package]] name = "workflow-rpc-macros" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db45b63c706ae8b789bf28f22c0485c907b846977862063fa2e37b783266efcf" dependencies = [ "parse-variants", "proc-macro-error3", @@ -8760,6 +8784,8 @@ dependencies = [ [[package]] name = "workflow-serializer" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "659a3729afffa37343e7b2cd6ed8e398adb54fdf9fa578eeebd017a6f0fcf56b" dependencies = [ "ahash", "borsh", @@ -8769,6 +8795,8 @@ dependencies = [ [[package]] name = "workflow-store" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8d7b2027b97ae99a527e59a09af97d37492fe01f5f7f5b08105d819bf83dcb2" dependencies = [ "base64", "cfg-if", @@ -8795,6 +8823,8 @@ dependencies = [ [[package]] name = "workflow-task" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b5e093d6e1987069abdeba6b8e88e2b05da0b4b554e8014260084f70b0a8ecb" dependencies = [ "futures", "thiserror 2.0.18", @@ -8805,6 +8835,8 @@ dependencies = [ [[package]] name = "workflow-task-macros" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5358781d91f4ac011190992cfa9a51d955cd9b9ccfa8ad15baff10b98d266cb4" dependencies = [ "convert_case 0.11.0", "parse-variants", @@ -8819,6 +8851,8 @@ dependencies = [ [[package]] name = "workflow-terminal" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87b5837f7e0d20d202fe7a5e04e92047ee7d6ba965fc09bd8d25ee69ddb4d2d8" dependencies = [ "async-trait", "cfg-if", @@ -8845,6 +8879,8 @@ dependencies = [ [[package]] name = "workflow-terminal-macros" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ac6840679f4948703cb1a6462bb5f0a7fa7cdbfa0ad01b5f5181945ff1715df" dependencies = [ "convert_case 0.11.0", "parse-variants", @@ -8859,6 +8895,8 @@ dependencies = [ [[package]] name = "workflow-wasm" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b444ca68619e8bdb85117f41a57352cf0449e5459bcdebbc91b28bf6cfe1409" dependencies = [ "cfg-if", "faster-hex 0.10.0", @@ -8878,6 +8916,8 @@ dependencies = [ [[package]] name = "workflow-wasm-macros" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0de48d3adb2a77455cd0d1fbff160c890e030a0a69c34a94e3da1836690b933" dependencies = [ "js-sys", "proc-macro-error3", @@ -8890,6 +8930,8 @@ dependencies = [ [[package]] name = "workflow-websocket" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e38328bcabc456c355ac5cd92a061bd7af68e16eb60405d87e719836a471ac37" dependencies = [ "ahash", "async-channel", diff --git a/Cargo.toml b/Cargo.toml index 661439110f..5a8ce5bec7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -317,38 +317,38 @@ nw-sys = "0.1.6" rustls = { version = "0.23.18", default-features = false, features = ["ring"] } # workflow dependencies -# workflow-core = { version = "0.18.0" } -# workflow-d3 = { version = "0.18.0" } -# workflow-dom = { version = "0.18.0" } -# workflow-http = { version = "0.18.0", default-features = false, features = ["rustls-tls-webpki-roots", "http2", "charset", "macos-system-configuration"] } -# workflow-log = { version = "0.18.0" } -# workflow-node = { version = "0.18.0" } -# workflow-nw = { version = "0.18.0" } -# workflow-rpc = { version = "0.18.0", default-features = false, features = ["rustls-tls-webpki-roots"] } -# workflow-serializer = { version = "0.18.0" } -# workflow-store = { version = "0.18.0" } -# workflow-terminal = { version = "0.18.0" } -# workflow-wasm = { version = "0.18.0" } - -# if below is enabled, this means that there is an ongoing work -# on the workflow-rs crate. This requires that you clone workflow-rs -# into a sibling folder from https://github.com/workflow-rs/workflow-rs -workflow-core = { path = "../workflow-rs/core" } -workflow-d3 = { path = "../workflow-rs/d3" } -workflow-dom = { path = "../workflow-rs/dom" } +workflow-core = { version = "0.19.0" } +workflow-d3 = { version = "0.19.0" } +workflow-dom = { version = "0.19.0" } +workflow-log = { version = "0.19.0" } +workflow-node = { version = "0.19.0" } +workflow-nw = { version = "0.19.0" } +workflow-rpc = { version = "0.19.0", default-features = false, features = ["rustls-tls-webpki-roots"] } +workflow-serializer = { version = "0.19.0" } +workflow-store = { version = "0.19.0" } +workflow-terminal = { version = "0.19.0" } +workflow-wasm = { version = "0.19.0" } # rustls-based TLS via the OS platform verifier; cross-platform system proxy. # `rustls-no-provider` keeps reqwest from pulling the aws-lc-rs crypto provider # (which needs a C/cmake toolchain); the wRPC client installs the pure-Rust # `ring` provider at startup (see kaspa-wrpc-client::ensure_crypto_provider). -workflow-http = { path = "../workflow-rs/http", default-features = false, features = ["rustls-no-provider", "http2", "charset", "system-proxy"] } -workflow-log = { path = "../workflow-rs/log" } -workflow-node = { path = "../workflow-rs/node" } -workflow-nw = { path = "../workflow-rs/nw" } -workflow-rpc = { path = "../workflow-rs/rpc", default-features = false, features = ["rustls-tls-webpki-roots"] } -workflow-serializer = { path = "../workflow-rs/serializer" } -workflow-store = { path = "../workflow-rs/store" } -workflow-terminal = { path = "../workflow-rs/terminal" } -workflow-wasm = { path = "../workflow-rs/wasm" } +workflow-http = { version = "0.19.0", default-features = false, features = ["rustls-no-provider", "http2", "charset", "system-proxy"] } + +# if below is enabled, this means that there is an ongoing work +# on the workflow-rs crate. This requires that you clone workflow-rs +# into a sibling folder from https://github.com/workflow-rs/workflow-rs +# workflow-core = { path = "../workflow-rs/core" } +# workflow-d3 = { path = "../workflow-rs/d3" } +# workflow-dom = { path = "../workflow-rs/dom" } +# workflow-http = { path = "../workflow-rs/http", default-features = false, features = ["rustls-no-provider", "http2", "charset", "system-proxy"] } +# workflow-log = { path = "../workflow-rs/log" } +# workflow-node = { path = "../workflow-rs/node" } +# workflow-nw = { path = "../workflow-rs/nw" } +# workflow-rpc = { path = "../workflow-rs/rpc", default-features = false, features = ["rustls-tls-webpki-roots"] } +# workflow-serializer = { path = "../workflow-rs/serializer" } +# workflow-store = { path = "../workflow-rs/store" } +# workflow-terminal = { path = "../workflow-rs/terminal" } +# workflow-wasm = { path = "../workflow-rs/wasm" } # --- From 95de42919c9aa702be8fd112d302cc92b493369c Mon Sep 17 00:00:00 2001 From: Anton Yemelyanov Date: Sat, 27 Jun 2026 18:15:00 +0300 Subject: [PATCH 10/16] fix(wasm): wasm-bindgen 0.2.126 externref table + SDK reference-types Two CI failures after the wasm-bindgen 0.2.100 -> 0.2.126 bump: 1. consensus-core wasm test no longer compiled: with 0.2.126 a #[wasm_bindgen] struct's IntoWasmAbi::Abi is WasmPtr> (not u32), so `into_abi().into::()` no longer resolves. Use to_value(&spk) for the serde round-trip, matching the sibling tests. 2. WASM32 SDK build failed in the wasm-bindgen CLI with `failed to find the __wbindgen_externref_table_alloc function`. wasm-bindgen now manages JS object handles through a reference-types externref table that --weak-refs relies on, but the `-Ctarget-cpu=mvp` workaround (added for Rust 1.87, issue 141048) strips reference-types. Keep the MVP baseline for maximum runtime compatibility but add reference-types back on its own: - workspace .cargo/config.toml wasm32 rustflags: -Ctarget-cpu=mvp -Ctarget-feature=+reference-types (alongside the getrandom backend cfg), as the single source of truth. - drop the per-script `export RUSTFLAGS=-Ctarget-cpu=mvp` from wasm/build-{release,node,web} (env RUSTFLAGS also clobbered the getrandom cfg) and the now-shadowed wasm/.cargo/config.toml rustflags. - wasm-opt profile.release: allow --enable-reference-types so the release optimizer accepts the feature. Verified: consensus-core wasm tests build; dev + release keygen and full wasm32-sdk wasm-pack builds succeed with wasm-opt and --weak-refs. Co-Authored-By: Claude Opus 4.8 (1M context) --- .cargo/config.toml | 15 +++++++++++---- consensus/core/src/tx/script_public_key.rs | 4 +--- wasm/.cargo/config.toml | 15 +++++++++++++-- wasm/Cargo.toml | 12 ++++++------ wasm/build-node | 4 ---- wasm/build-release | 4 ---- wasm/build-web | 4 ---- 7 files changed, 31 insertions(+), 27 deletions(-) diff --git a/.cargo/config.toml b/.cargo/config.toml index 67f5050779..c3ae38cc30 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -14,8 +14,15 @@ rustflags = [ [target.x86_64-pc-windows-msvc] rustflags = ["-C", "target-feature=+crt-static"] -# getrandom 0.3+ (pulled in transitively, e.g. via newer ahash) requires an -# explicit backend on wasm32-unknown-unknown; the `wasm_js` feature alone is no -# longer sufficient. Select the wasm_js (browser crypto) backend. +# wasm32-unknown-unknown rustflags: +# * getrandom 0.3+ (pulled in transitively, e.g. via newer ahash) requires an +# explicit backend; the `wasm_js` feature alone is no longer sufficient. +# Select the wasm_js (browser crypto) backend. +# * -Ctarget-cpu=mvp pins the W3C MVP feature set for maximum runtime +# compatibility (rustc >= 1.87 otherwise enables reference-types, multivalue, +# sign-ext, nontrapping-fptoint, ... by default, which old consumers and the +# MVP wasm-opt allow-list reject). +reference-types is then added back on its +# own because wasm-bindgen's externref table -- used by `--weak-refs` (see the +# __wbindgen_externref_table_alloc function) -- requires it. [target.wasm32-unknown-unknown] -rustflags = ["--cfg", 'getrandom_backend="wasm_js"'] +rustflags = ["--cfg", 'getrandom_backend="wasm_js"', "-Ctarget-cpu=mvp", "-Ctarget-feature=+reference-types"] diff --git a/consensus/core/src/tx/script_public_key.rs b/consensus/core/src/tx/script_public_key.rs index 049e01ae1b..dc28bfc306 100644 --- a/consensus/core/src/tx/script_public_key.rs +++ b/consensus/core/src/tx/script_public_key.rs @@ -440,8 +440,6 @@ mod tests { assert_eq!(spk, spk2); } - #[cfg(target_arch = "wasm32")] - use wasm_bindgen::convert::IntoWasmAbi; #[cfg(target_arch = "wasm32")] use wasm_bindgen_test::wasm_bindgen_test; #[cfg(target_arch = "wasm32")] @@ -496,7 +494,7 @@ mod tests { let script_hex_js: JsValue = JsValue::from_str(&script_hex); let expected = ScriptPublicKey::constructor(version, script_hex_js).map_err(|_| ()).unwrap(); - let wasm_js_value: JsValue = expected.clone().into_abi().into(); + let wasm_js_value: JsValue = to_value(&expected).unwrap(); let actual = from_value(wasm_js_value).unwrap(); assert_eq!(expected, actual); diff --git a/wasm/.cargo/config.toml b/wasm/.cargo/config.toml index eaf564aead..7c25579ac3 100644 --- a/wasm/.cargo/config.toml +++ b/wasm/.cargo/config.toml @@ -1,2 +1,13 @@ -[build] -rustflags = ["-Ctarget-cpu=mvp"] +# Intentionally no rustflags here. +# +# The wasm32 rustflags (getrandom backend + `-Ctarget-cpu=mvp` +# `-Ctarget-feature=+reference-types`) are defined once in the workspace +# `.cargo/config.toml` under [target.wasm32-unknown-unknown]. A `[build]` or +# `[target.*]` rustflags entry here would shadow/override that single source +# (cargo does not merge rustflags across config files), so we deliberately keep +# this empty. +# +# In particular do NOT re-add `-Ctarget-cpu=mvp` alone: wasm-bindgen manages JS +# object handles via a reference-types externref table that `--weak-refs` needs, +# and dropping reference-types makes the wasm-bindgen CLI fail with +# `failed to find the __wbindgen_externref_table_alloc function`. diff --git a/wasm/Cargo.toml b/wasm/Cargo.toml index 2e76a3071d..5ad2c5117f 100644 --- a/wasm/Cargo.toml +++ b/wasm/Cargo.toml @@ -78,13 +78,13 @@ targets = [ ] folder = "setup" -# Workaround for Rust 1.87.0 -# https://github.com/rust-lang/rust/issues/141048 [package.metadata.wasm-pack.profile.release] -# This optimization configuration requires "-Ctarget-cpu=mvp" Rustflag (only enable W3C MVP feature set) -# This flag is automatically used either via (release optimized) build script at root -# or via .cargo/config.toml when executing the build from /wasm -wasm-opt = ["-O","--enable-bulk-memory"] +# The wasm is built as W3C MVP + reference-types (see the workspace +# .cargo/config.toml wasm32 rustflags); reference-types is required by +# wasm-bindgen's externref table, which `--weak-refs` relies on. wasm-opt must +# be told to allow reference-types (and bulk-memory, which -O may introduce) +# rather than validating against the MVP-only feature set. +wasm-opt = ["-O","--enable-bulk-memory","--enable-reference-types"] [lints] workspace = true diff --git a/wasm/build-node b/wasm/build-node index ba078dbd49..8fdf93e3c6 100755 --- a/wasm/build-node +++ b/wasm/build-node @@ -1,8 +1,4 @@ #!/bin/bash set -e -# Workaround for Rust 1.87.0 -# https://github.com/rust-lang/rust/issues/141048 -export RUSTFLAGS=-Ctarget-cpu=mvp - wasm-pack build --weak-refs --target nodejs --out-name kaspa --out-dir nodejs/kaspa --features wasm32-sdk diff --git a/wasm/build-release b/wasm/build-release index 1777d64fff..26efe3c9b9 100755 --- a/wasm/build-release +++ b/wasm/build-release @@ -4,10 +4,6 @@ # make the script fail for any failed command set -e -# Workaround for Rust 1.87.0 -# https://github.com/rust-lang/rust/issues/141048 -export RUSTFLAGS=-Ctarget-cpu=mvp - rm -rf release/* rm -rf web/* rm -rf nodejs/* diff --git a/wasm/build-web b/wasm/build-web index 24a7da64d1..f7b13c4421 100755 --- a/wasm/build-web +++ b/wasm/build-web @@ -1,10 +1,6 @@ #!/bin/bash set -e -# Workaround for Rust 1.87.0 -# https://github.com/rust-lang/rust/issues/141048 -export RUSTFLAGS=-Ctarget-cpu=mvp - if [ "$1" == "--keygen" ]; then echo "building wasm32-keygen" wasm-pack build --weak-refs --target web --out-name kaspa --out-dir web/kaspa-keygen --features wasm32-keygen From 4b5300c795a75f4b13c3e350fdd11faa4e968b37 Mon Sep 17 00:00:00 2001 From: Anton Yemelyanov Date: Sat, 27 Jun 2026 18:39:08 +0300 Subject: [PATCH 11/16] feat(wrpc-client): consumer-selectable TLS backend; rustls native-only The wRPC client TLS backend was forced workspace-wide via the `workflow-rpc = { features = ["rustls-tls-webpki-roots"] }` dependency, so an SDK consumer of kaspa-wrpc-client could not opt out of ring at compile time. Move the selection into kaspa-wrpc-client's own features, forwarded to workflow-rpc: default = ["rustls-tls-webpki-roots"] rustls-tls-webpki-roots = ["rustls-ring", "workflow-rpc/rustls-tls-webpki-roots"] rustls-tls-native-roots = ["rustls-ring", "workflow-rpc/rustls-tls-native-roots"] native-tls = ["workflow-rpc/native-tls"] native-tls-vendored = ["workflow-rpc/native-tls-vendored"] rustls-ring (internal) = ["dep:rustls"] # ring provider for the Resolver A consumer can now `default-features = false` to drop ring entirely (then pick another backend or install their own rustls CryptoProvider), while the default preserves the previous zero-config ring behaviour. The workspace workflow-rpc dep no longer selects a TLS backend (it stays default-features = false because workflow-rpc itself defaults to native-tls). rustls (and ring) is also made native-only via a `cfg(not(target_arch = "wasm32"))` target table: on wasm32 the host terminates TLS, so it must not be in the wasm graph. Previously rustls was an unconditional dep that only compiled on wasm32 by accident (ring/getrandom `js` feature unified in from other crates); now wasm32 is cleanly TLS-free and ensure_crypto_provider() is a no-op there. Verified: full ./check (native + wasm32) passes; ring present by default and absent with default-features = false; wasm32 graph contains no rustls. Co-Authored-By: Claude Opus 4.8 (1M context) --- Cargo.lock | 97 +++++++++++++++++++++++++++++++++++++- Cargo.toml | 7 ++- rpc/wrpc/client/Cargo.toml | 25 +++++++++- rpc/wrpc/client/src/lib.rs | 26 +++++++--- 4 files changed, 143 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6376db716d..a324477953 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2126,6 +2126,15 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared 0.1.1", +] + [[package]] name = "foreign-types" version = "0.5.0" @@ -2133,7 +2142,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" dependencies = [ "foreign-types-macros", - "foreign-types-shared", + "foreign-types-shared 0.3.1", ] [[package]] @@ -2147,6 +2156,12 @@ dependencies = [ "syn 2.0.118", ] +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + [[package]] name = "foreign-types-shared" version = "0.3.1" @@ -4984,7 +4999,7 @@ dependencies = [ "bitflags 2.13.0", "block", "core-graphics-types", - "foreign-types", + "foreign-types 0.5.0", "log", "objc", "paste", @@ -5070,6 +5085,23 @@ dependencies = [ "rand 0.8.6", ] +[[package]] +name = "native-tls" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "465500e14ea162429d264d44189adc38b199b62b1c21eea9f69e4b73cb03bbf2" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + [[package]] name = "neli" version = "0.7.4" @@ -5354,12 +5386,59 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" +[[package]] +name = "openssl" +version = "0.10.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77823a27f0babb03091cb9ed9ef80af3b39dbc82f97e8fa530374b7dafd87a45" +dependencies = [ + "bitflags 2.13.0", + "cfg-if", + "foreign-types 0.3.2", + "libc", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.118", +] + [[package]] name = "openssl-probe" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" +[[package]] +name = "openssl-src" +version = "300.6.1+3.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46eb8fb9fb3b61ce1c0f8a026c4c1a0714d3a9e138e7fbde78753ce2babc3846" +dependencies = [ + "cc", +] + +[[package]] +name = "openssl-sys" +version = "0.9.117" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b47e7e6bb2c38cd930d25a23b40fa52e068c10e85f3e03a7f5ba5aaca5713695" +dependencies = [ + "cc", + "libc", + "openssl-src", + "pkg-config", + "vcpkg", +] + [[package]] name = "option-ext" version = "0.2.0" @@ -7363,6 +7442,16 @@ dependencies = [ "syn 2.0.118", ] +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + [[package]] name = "tokio-rustls" version = "0.26.4" @@ -7403,9 +7492,12 @@ checksum = "8f72a05e828585856dacd553fba484c242c46e391fb0e58917c942ee9202915c" dependencies = [ "futures-util", "log", + "native-tls", "rustls", + "rustls-native-certs", "rustls-pki-types", "tokio", + "tokio-native-tls", "tokio-rustls", "tungstenite", "webpki-roots 0.26.11", @@ -7738,6 +7830,7 @@ dependencies = [ "http", "httparse", "log", + "native-tls", "rand 0.9.4", "rustls", "rustls-pki-types", diff --git a/Cargo.toml b/Cargo.toml index 5a8ce5bec7..97166e0ee9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -323,7 +323,12 @@ workflow-dom = { version = "0.19.0" } workflow-log = { version = "0.19.0" } workflow-node = { version = "0.19.0" } workflow-nw = { version = "0.19.0" } -workflow-rpc = { version = "0.19.0", default-features = false, features = ["rustls-tls-webpki-roots"] } +# TLS provider/roots are NOT selected here (workspace-wide) so they cannot be +# forced on SDK consumers. The selection is forwarded by kaspa-wrpc-client's own +# `rustls-tls-*` / `native-tls*` features (default: rustls-tls-webpki-roots), +# letting a consumer pass `default-features = false` to drop ring. `workflow-rpc` +# itself defaults to `native-tls`, so default-features must stay disabled here. +workflow-rpc = { version = "0.19.0", default-features = false } workflow-serializer = { version = "0.19.0" } workflow-store = { version = "0.19.0" } workflow-terminal = { version = "0.19.0" } diff --git a/rpc/wrpc/client/Cargo.toml b/rpc/wrpc/client/Cargo.toml index 1c7a0ad62f..bfcc0fd2c0 100644 --- a/rpc/wrpc/client/Cargo.toml +++ b/rpc/wrpc/client/Cargo.toml @@ -17,8 +17,24 @@ include = [ ] [features] +# The wRPC client owns the native TLS selection and forwards it to workflow-rpc +# (-> workflow-websocket -> tokio-tungstenite). This lets an SDK consumer pass +# `default-features = false` to drop ring entirely (and then either pick another +# backend below or install their own rustls CryptoProvider in `main`). +# +# The two `rustls-tls-*` backends also pull in the pure-Rust `ring` provider that +# `ensure_crypto_provider()` installs for the Resolver's HTTPS (reqwest), via the +# internal `rustls-ring` feature. `native-tls*` do not — a consumer combining +# `native-tls` with the Resolver must install a rustls provider themselves. +default = ["rustls-tls-webpki-roots"] +rustls-tls-webpki-roots = ["rustls-ring", "workflow-rpc/rustls-tls-webpki-roots"] +rustls-tls-native-roots = ["rustls-ring", "workflow-rpc/rustls-tls-native-roots"] +native-tls = ["workflow-rpc/native-tls"] +native-tls-vendored = ["workflow-rpc/native-tls-vendored"] +# internal: pull rustls(ring) and let ensure_crypto_provider() install it as the +# process-default provider. Not meant to be enabled directly. +rustls-ring = ["dep:rustls"] wasm32-sdk = ["kaspa-consensus-wasm/wasm32-sdk","kaspa-rpc-core/wasm32-sdk","workflow-rpc/wasm32-sdk"] -default = [] [lib] crate-type = ["cdylib", "lib"] @@ -53,6 +69,11 @@ workflow-log.workspace = true workflow-rpc.workspace = true workflow-serializer.workspace = true workflow-wasm.workspace = true -rustls.workspace = true + +# TLS / crypto provider is native-only: on wasm32 the host (browser/runtime) +# terminates TLS, so rustls and the ring provider must not be in the wasm graph. +[target.'cfg(not(target_arch = "wasm32"))'.dependencies] +rustls = { workspace = true, optional = true } + [lints] workspace = true diff --git a/rpc/wrpc/client/src/lib.rs b/rpc/wrpc/client/src/lib.rs index 0a511f7a17..2598eff4a0 100644 --- a/rpc/wrpc/client/src/lib.rs +++ b/rpc/wrpc/client/src/lib.rs @@ -20,17 +20,22 @@ //! through [`rustls`](https://docs.rs/rustls), which (since 0.23) requires a //! process-level crypto provider to be installed. //! -//! For zero-config use, this crate installs the pure-Rust `ring` provider -//! automatically the first time a [`KaspaRpcClient`] or [`Resolver`] is -//! constructed (see [`ensure_crypto_provider`]). The install is idempotent and a -//! no-op if a provider has already been installed, so to use a different -//! provider (e.g. `aws-lc-rs`) install it yourself *before* constructing a -//! client: +//! For zero-config use, the default `rustls-tls-webpki-roots` feature installs +//! the pure-Rust `ring` provider automatically the first time a +//! [`KaspaRpcClient`] or [`Resolver`] is constructed (see +//! [`ensure_crypto_provider`]). The install is idempotent and a no-op if a +//! provider has already been installed, so to use a different provider (e.g. +//! `aws-lc-rs`) install it yourself *before* constructing a client: //! //! ```ignore //! rustls::crypto::aws_lc_rs::default_provider().install_default().unwrap(); //! ``` //! +//! Building this crate with `default-features = false` (or selecting a +//! `native-tls*` backend) drops the bundled `ring` provider; if you then use the +//! [`Resolver`] (HTTPS) you must install a rustls [`CryptoProvider`] yourself — +//! [`ensure_crypto_provider`] becomes a no-op in that configuration. +//! //! On `wasm32` the host environment handles TLS, so no provider is required. //! @@ -54,7 +59,11 @@ pub mod resolver; /// idempotent and a no-op if a provider was already installed — so a consumer /// can override it by installing their own provider before constructing a /// client. wasm targets use the host's TLS and need no provider. -#[cfg(not(target_arch = "wasm32"))] +/// +/// When built without a `rustls-tls-*` backend (e.g. `default-features = false` +/// or a `native-tls*` backend) the `ring` provider is not compiled in and this +/// function is a no-op; such consumers must install their own provider. +#[cfg(all(not(target_arch = "wasm32"), feature = "rustls-ring"))] pub fn ensure_crypto_provider() { static ONCE: std::sync::Once = std::sync::Once::new(); ONCE.call_once(|| { @@ -62,5 +71,8 @@ pub fn ensure_crypto_provider() { }); } +#[cfg(all(not(target_arch = "wasm32"), not(feature = "rustls-ring")))] +pub fn ensure_crypto_provider() {} + #[cfg(target_arch = "wasm32")] pub fn ensure_crypto_provider() {} From e654efa1bc2ea3e01c970e9652e1a684f572fd99 Mon Sep 17 00:00:00 2001 From: Anton Yemelyanov Date: Sat, 27 Jun 2026 18:54:59 +0300 Subject: [PATCH 12/16] fix(addresses): wasm-bindgen 0.2.126 into_abi() in wasm serde test Same ABI break already fixed in consensus-core: with wasm-bindgen 0.2.126 a #[wasm_bindgen] struct's IntoWasmAbi::Abi is WasmPtr> (not u32), so `into_abi().into::()` no longer resolves. Use to_value(&expected) for the serde round-trip and drop the now-unused IntoWasmAbi import. Also wire the wasm32 test suites into ./check. These #[cfg(target_arch = "wasm32")] #[wasm_bindgen_test] modules are only compiled by CI's test-wasm32 job, never by the native `--tests` clippy or the existing wasm32 clippy passes (which don't pass --tests for these crates) -- which is why this and the prior consensus-core break both reached CI. ./check now compiles --tests for wasm32 on kaspa-consensus-core, kaspa-addresses, kaspa-wallet-pskt, kaspa-txscript and kaspa-consensus-client (the CI test-wasm32 set). Co-Authored-By: Claude Opus 4.8 (1M context) --- check | 43 ++++++++++++++++++++++++++++++++++++ crypto/addresses/src/wasm.rs | 4 ++-- 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/check b/check index 1ed39bdd72..a03e4afe72 100755 --- a/check +++ b/check @@ -64,3 +64,46 @@ do exit $status fi done + +# Compile the wasm32 test suites. These crates contain `#[cfg(target_arch = +# "wasm32")] #[wasm_bindgen_test]` modules that are NOT built by the native +# `cargo clippy --workspace --tests` above, nor by the wasm32 clippy passes +# (which don't enable `--tests` for these crates). They are only exercised by +# CI's `test-wasm32` job (`wasm-pack test --node`), so without this section a +# wasm-only test break (e.g. the wasm-bindgen 0.2.x `into_abi()` ABI change) +# reaches CI undetected. Keep this list in sync with the CI test-wasm32 job. +declare -a wasm_test_crates=( + "kaspa-consensus-core" + "kaspa-addresses" + "kaspa-wallet-pskt" +) + +for crate in "${wasm_test_crates[@]}" +do + cargo clippy -p $crate --target wasm32-unknown-unknown --tests + status=$? + if [ $status -ne 0 ]; then + echo + echo "--> wasm32 test-suite check of $crate failed" + echo + exit $status + fi +done + +# Same as above, for the wasm32 test suites that require the wasm32-sdk feature. +declare -a wasm_test_crates_sdk=( + "kaspa-txscript" + "kaspa-consensus-client" +) + +for crate in "${wasm_test_crates_sdk[@]}" +do + cargo clippy -p $crate --target wasm32-unknown-unknown --tests --features wasm32-sdk + status=$? + if [ $status -ne 0 ]; then + echo + echo "--> wasm32 test-suite check of $crate (wasm32-sdk) failed" + echo + exit $status + fi +done diff --git a/crypto/addresses/src/wasm.rs b/crypto/addresses/src/wasm.rs index f14b5af041..bf154a2026 100644 --- a/crypto/addresses/src/wasm.rs +++ b/crypto/addresses/src/wasm.rs @@ -119,7 +119,7 @@ mod tests { use crate::Address; use js_sys::Object; - use wasm_bindgen::{__rt::IntoJsResult, JsValue, convert::IntoWasmAbi}; + use wasm_bindgen::{__rt::IntoJsResult, JsValue}; use wasm_bindgen_test::wasm_bindgen_test; use workflow_wasm::{extensions::ObjectExtension, serde::from_value, serde::to_value}; @@ -153,7 +153,7 @@ mod tests { #[wasm_bindgen_test] fn test_wasm_serde_object() { let expected = Address::constructor("kaspa:qpauqsvk7yf9unexwmxsnmg547mhyga37csh0kj53q6xxgl24ydxjsgzthw5j"); - let wasm_js_value: JsValue = expected.clone().into_abi().into(); + let wasm_js_value: JsValue = to_value(&expected).unwrap(); let actual = from_value(wasm_js_value).unwrap(); assert_eq!(expected, actual); From 5422f9af203b5c11f2408b412a0fb9b128108e7c Mon Sep 17 00:00:00 2001 From: Anton Yemelyanov Date: Sat, 27 Jun 2026 20:07:10 +0300 Subject: [PATCH 13/16] Revert "fix(windows/zk): remove syscall symbol def (#1064)" #1064 deleted the Windows stub that defines risc0-zkvm-platform's `sys_alloc_aligned`, but the symbol is still undefined on the host: with `export-syscalls` off, risc0-zkvm-platform declares it `extern "C"` (provided by the zkVM runtime only). Unix .so/.dylib linking tolerates the undefined symbol (it is never called in verification-only use), but MSVC link.exe refuses to build a DLL with it -> LNK2019/LNK1120 for every cdylib transitively depending on kaspa-txscript (kaspa-wrpc-client, kaspa-wallet-pskt, ...), breaking Windows. Restore the prior workaround verbatim: a Windows-only build.rs (cc) compiling a C stub that defines sys_alloc_aligned via _aligned_malloc. The stub is #[cfg(windows)] only, so macOS/Linux builds are unaffected (build.rs main() is a no-op there). Co-Authored-By: Claude Opus 4.8 (1M context) --- Cargo.lock | 1 + crypto/txscript/Cargo.toml | 4 + crypto/txscript/build.rs | 24 ++++++ .../risc0/windows_stub/sys_alloc.c | 73 +++++++++++++++++++ 4 files changed, 102 insertions(+) create mode 100644 crypto/txscript/build.rs create mode 100644 crypto/txscript/src/zk_precompiles/risc0/windows_stub/sys_alloc.c diff --git a/Cargo.lock b/Cargo.lock index a324477953..8185b36472 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4067,6 +4067,7 @@ dependencies = [ "blake3", "borsh", "bytemuck", + "cc", "cfg-if", "criterion", "faster-hex 0.9.0", diff --git a/crypto/txscript/Cargo.toml b/crypto/txscript/Cargo.toml index c776e8fa42..be8955ff31 100644 --- a/crypto/txscript/Cargo.toml +++ b/crypto/txscript/Cargo.toml @@ -8,6 +8,7 @@ authors.workspace = true include.workspace = true license.workspace = true repository.workspace = true +build = "build.rs" [[example]] name = "kip-10" @@ -55,6 +56,9 @@ thiserror.workspace = true wasm-bindgen.workspace = true workflow-wasm.workspace = true +[build-dependencies] +cc = { workspace = true } + [dev-dependencies] bytemuck.workspace = true criterion.workspace = true diff --git a/crypto/txscript/build.rs b/crypto/txscript/build.rs new file mode 100644 index 0000000000..f83dd891c0 --- /dev/null +++ b/crypto/txscript/build.rs @@ -0,0 +1,24 @@ +#[cfg(windows)] +fn main() { + // WORKAROUND: Compile Windows stub for risc0-zkvm-platform's sys_alloc_aligned + // + // This build script compiles a C stub that provides the missing sys_alloc_aligned() + // and sys_free_aligned() symbols required by risc0-zkvm-platform on Windows. + // + // The stub is only compiled on Windows platforms and links against the MSVC runtime + // to provide aligned memory allocation functions. This allows the crate to build + // successfully on Windows while risc0-zkvm-platform lacks native Windows support. + // + // See src/zk_precompiles/risc0/windows_stub/sys_alloc.c for implementation details. + // + // The compiled stub is automatically linked into the final binary, providing the + // required symbols at link time. This approach was chosen over conditional compilation + // because risc0-zkvm-platform is a required dependency (transitively via risc0-* crates) + // and cannot be disabled on Windows without breaking the build entirely. + // + // TODO: Remove when risc0-zkvm-platform adds proper Windows support. + cc::Build::new().file("src/zk_precompiles/risc0/windows_stub/sys_alloc.c").compile("risc0_zkvm_platform_stub"); +} + +#[cfg(not(windows))] +fn main() {} diff --git a/crypto/txscript/src/zk_precompiles/risc0/windows_stub/sys_alloc.c b/crypto/txscript/src/zk_precompiles/risc0/windows_stub/sys_alloc.c new file mode 100644 index 0000000000..b371d07247 --- /dev/null +++ b/crypto/txscript/src/zk_precompiles/risc0/windows_stub/sys_alloc.c @@ -0,0 +1,73 @@ +// Windows stub implementation for risc0-zkvm-platform's sys_alloc_aligned +// +// WORKAROUND: Temporary workaround for Windows linking errors with risc0-zkvm-platform +// +// ERROR ENCOUNTERED: +// ================== +// When building on Windows (tn12 branch) with MSVC toolchain, the linker fails with: +// +// error LNK2019: unresolved external symbol sys_alloc_aligned referenced in function +// _ZN19risc0_zkvm_platform7syscall15sys_alloc_words17hd3ca7735ddf0b22bE +// +// This affects multiple crates that transitively depend on kaspa-txscript: +// - kaspa-wallet-pskt +// - kaspa-wrpc-client +// - kaspa-grpc-simple-client-example +// - rothschild +// +// WHY THIS SOLUTION: +// ================== +// We provide a Windows-specific implementation of sys_alloc_aligned() +// using MSVC's native _aligned_malloc() functions. This satisfies the +// linker's requirement for these symbols while maintaining the same functionality. +// +// IMPORTANT NOTES: +// ================ +// - This function is called by risc0-zkvm-platform but is only used during ZK proof execution, +// not during verification-only use cases (which is how Kaspa uses it). +// - The implementation uses Windows-specific functions (_aligned_malloc) which +// are part of the MSVC runtime library, so no additional dependencies are required. +// - This is a temporary workaround until risc0-zkvm-platform adds proper Windows support. +// +// TESTING/VERIFICATION: +// ===================== +// To verify this workaround works correctly, build the project on Windows: +// cargo build --release +// +// Successful builds of affected crates (kaspa-wallet-pskt, kaspa-wrpc-client, etc.) +// indicate the workaround is functioning properly. The functions are only called during +// ZK proof operations, so runtime testing of ZK verification functionality should also +// be performed to ensure end-to-end correctness. +// +// COMPATIBILITY: +// ============== +// This workaround requires: +// - Windows OS with MSVC toolchain (x86_64-pc-windows-msvc) +// - MSVC runtime library (included with Visual Studio or Windows SDK) +// - The `cc` crate (already listed in build-dependencies) +// +// The implementation uses standard MSVC runtime functions available in all modern +// MSVC versions, so no specific version requirements beyond standard Rust/MSVC setup. +// +// TODO: Remove this workaround when risc0-zkvm-platform adds proper Windows support. +// Issue tracking: https://github.com/kaspanet/rusty-kaspa/issues/ +// Upstream risc0-zkvm-platform issue: (if applicable) +// +// NOTE: IDE linter errors about missing headers are FALSE POSITIVES. +// This file only compiles on Windows with MSVC, where exists. +// The code compiles successfully - verify with: cargo build --release + +#ifdef _WIN32 +#include + +// Explicitly declare Windows-specific functions (provided by MSVC runtime) +// These declarations satisfy the compiler even if the linter can't find the headers +void* _aligned_malloc(size_t size, size_t alignment); + +__declspec(dllexport) void* sys_alloc_aligned(size_t size, size_t alignment) { + // Use _aligned_malloc on Windows (provided by MSVC runtime) + return _aligned_malloc(size, alignment); +} + +#endif // _WIN32 + From 696b477d055df4bb3ee07857116b6c11911309aa Mon Sep 17 00:00:00 2001 From: Anton Yemelyanov Date: Sat, 27 Jun 2026 20:27:08 +0300 Subject: [PATCH 14/16] delete wasm/.cargo/config.toml --- wasm/.cargo/config.toml | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 wasm/.cargo/config.toml diff --git a/wasm/.cargo/config.toml b/wasm/.cargo/config.toml deleted file mode 100644 index 7c25579ac3..0000000000 --- a/wasm/.cargo/config.toml +++ /dev/null @@ -1,13 +0,0 @@ -# Intentionally no rustflags here. -# -# The wasm32 rustflags (getrandom backend + `-Ctarget-cpu=mvp` -# `-Ctarget-feature=+reference-types`) are defined once in the workspace -# `.cargo/config.toml` under [target.wasm32-unknown-unknown]. A `[build]` or -# `[target.*]` rustflags entry here would shadow/override that single source -# (cargo does not merge rustflags across config files), so we deliberately keep -# this empty. -# -# In particular do NOT re-add `-Ctarget-cpu=mvp` alone: wasm-bindgen manages JS -# object handles via a reference-types externref table that `--weak-refs` needs, -# and dropping reference-types makes the wasm-bindgen CLI fail with -# `failed to find the __wbindgen_externref_table_alloc function`. From 35616f7bfa10be97ad94891c328ca5b569a6adcb Mon Sep 17 00:00:00 2001 From: Anton Yemelyanov Date: Sat, 27 Jun 2026 20:48:19 +0300 Subject: [PATCH 15/16] fix(windows/zk): define risc0 syscall stubs via export-syscalls feature Replace the Windows C-stub workaround (build.rs + cc + sys_alloc.c) with risc0-zkvm-platform's own `export-syscalls` feature. Without it the crate declares `sys_alloc_aligned` as `extern "C"` (provided only by the zkVM runtime), leaving it undefined on the host: Unix linkers tolerate the undefined symbol (it is never called in verification-only use) but MSVC link.exe rejects it when emitting a cdylib (LNK2019/LNK1120), breaking every Windows cdylib that transitively depends on kaspa-txscript (kaspa-wrpc-client, kaspa-wallet-pskt). `export-syscalls` makes risc0-zkvm-platform define the host stubs itself (sys_alloc_aligned -> `unimplemented!()` under not(target_os = "zkvm")), so the symbol is defined on every target. Verified: nm shows `T _sys_alloc_aligned` in the native rlib and the kaspa-wrpc-client cdylib; ./check (native + wasm32) passes. This drops the C toolchain / build.rs entirely and is platform-uniform rather than a Windows-only special case. Co-Authored-By: Claude Opus 4.8 (1M context) --- Cargo.lock | 2 +- Cargo.toml | 1 + crypto/txscript/Cargo.toml | 11 ++- crypto/txscript/build.rs | 24 ------ .../risc0/windows_stub/sys_alloc.c | 73 ------------------- 5 files changed, 9 insertions(+), 102 deletions(-) delete mode 100644 crypto/txscript/build.rs delete mode 100644 crypto/txscript/src/zk_precompiles/risc0/windows_stub/sys_alloc.c diff --git a/Cargo.lock b/Cargo.lock index 8185b36472..b5b33c211f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4067,7 +4067,6 @@ dependencies = [ "blake3", "borsh", "bytemuck", - "cc", "cfg-if", "criterion", "faster-hex 0.9.0", @@ -4090,6 +4089,7 @@ dependencies = [ "risc0-circuit-recursion", "risc0-core", "risc0-zkp", + "risc0-zkvm-platform", "secp256k1", "serde", "serde-wasm-bindgen", diff --git a/Cargo.toml b/Cargo.toml index 97166e0ee9..bc0e7566bf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -309,6 +309,7 @@ risc0-core = "=3.0.1" risc0-zkp = "=3.0.4" risc0-groth16 = "=3.0.4" risc0-zkvm = { version="=3.0.4", default-features = false } +risc0-zkvm-platform = "=2.2.2" # workflow dependencies that are not a part of core libraries # workflow-perf-monitor = { path = "../../../workflow-perf-monitor-rs" } diff --git a/crypto/txscript/Cargo.toml b/crypto/txscript/Cargo.toml index be8955ff31..9229f9526b 100644 --- a/crypto/txscript/Cargo.toml +++ b/crypto/txscript/Cargo.toml @@ -8,7 +8,6 @@ authors.workspace = true include.workspace = true license.workspace = true repository.workspace = true -build = "build.rs" [[example]] name = "kip-10" @@ -46,6 +45,13 @@ risc0-binfmt.workspace = true risc0-circuit-recursion.workspace = true risc0-core.workspace = true risc0-zkp.workspace = true +# Pull risc0-zkvm-platform directly with `export-syscalls` so it defines its +# host stubs (e.g. sys_alloc_aligned as `unimplemented!()`); otherwise the symbol +# is left `extern "C"` (provided only by the zkVM runtime) and undefined on the +# host. Unix linkers tolerate that, but MSVC link.exe rejects it when building a +# cdylib (LNK2019), breaking every Windows cdylib that depends on kaspa-txscript. +# Kaspa only verifies on the host, so the stub is never actually called. +risc0-zkvm-platform = { workspace = true, features = ["export-syscalls"] } secp256k1.workspace = true serde-wasm-bindgen.workspace = true serde.workspace = true @@ -56,9 +62,6 @@ thiserror.workspace = true wasm-bindgen.workspace = true workflow-wasm.workspace = true -[build-dependencies] -cc = { workspace = true } - [dev-dependencies] bytemuck.workspace = true criterion.workspace = true diff --git a/crypto/txscript/build.rs b/crypto/txscript/build.rs deleted file mode 100644 index f83dd891c0..0000000000 --- a/crypto/txscript/build.rs +++ /dev/null @@ -1,24 +0,0 @@ -#[cfg(windows)] -fn main() { - // WORKAROUND: Compile Windows stub for risc0-zkvm-platform's sys_alloc_aligned - // - // This build script compiles a C stub that provides the missing sys_alloc_aligned() - // and sys_free_aligned() symbols required by risc0-zkvm-platform on Windows. - // - // The stub is only compiled on Windows platforms and links against the MSVC runtime - // to provide aligned memory allocation functions. This allows the crate to build - // successfully on Windows while risc0-zkvm-platform lacks native Windows support. - // - // See src/zk_precompiles/risc0/windows_stub/sys_alloc.c for implementation details. - // - // The compiled stub is automatically linked into the final binary, providing the - // required symbols at link time. This approach was chosen over conditional compilation - // because risc0-zkvm-platform is a required dependency (transitively via risc0-* crates) - // and cannot be disabled on Windows without breaking the build entirely. - // - // TODO: Remove when risc0-zkvm-platform adds proper Windows support. - cc::Build::new().file("src/zk_precompiles/risc0/windows_stub/sys_alloc.c").compile("risc0_zkvm_platform_stub"); -} - -#[cfg(not(windows))] -fn main() {} diff --git a/crypto/txscript/src/zk_precompiles/risc0/windows_stub/sys_alloc.c b/crypto/txscript/src/zk_precompiles/risc0/windows_stub/sys_alloc.c deleted file mode 100644 index b371d07247..0000000000 --- a/crypto/txscript/src/zk_precompiles/risc0/windows_stub/sys_alloc.c +++ /dev/null @@ -1,73 +0,0 @@ -// Windows stub implementation for risc0-zkvm-platform's sys_alloc_aligned -// -// WORKAROUND: Temporary workaround for Windows linking errors with risc0-zkvm-platform -// -// ERROR ENCOUNTERED: -// ================== -// When building on Windows (tn12 branch) with MSVC toolchain, the linker fails with: -// -// error LNK2019: unresolved external symbol sys_alloc_aligned referenced in function -// _ZN19risc0_zkvm_platform7syscall15sys_alloc_words17hd3ca7735ddf0b22bE -// -// This affects multiple crates that transitively depend on kaspa-txscript: -// - kaspa-wallet-pskt -// - kaspa-wrpc-client -// - kaspa-grpc-simple-client-example -// - rothschild -// -// WHY THIS SOLUTION: -// ================== -// We provide a Windows-specific implementation of sys_alloc_aligned() -// using MSVC's native _aligned_malloc() functions. This satisfies the -// linker's requirement for these symbols while maintaining the same functionality. -// -// IMPORTANT NOTES: -// ================ -// - This function is called by risc0-zkvm-platform but is only used during ZK proof execution, -// not during verification-only use cases (which is how Kaspa uses it). -// - The implementation uses Windows-specific functions (_aligned_malloc) which -// are part of the MSVC runtime library, so no additional dependencies are required. -// - This is a temporary workaround until risc0-zkvm-platform adds proper Windows support. -// -// TESTING/VERIFICATION: -// ===================== -// To verify this workaround works correctly, build the project on Windows: -// cargo build --release -// -// Successful builds of affected crates (kaspa-wallet-pskt, kaspa-wrpc-client, etc.) -// indicate the workaround is functioning properly. The functions are only called during -// ZK proof operations, so runtime testing of ZK verification functionality should also -// be performed to ensure end-to-end correctness. -// -// COMPATIBILITY: -// ============== -// This workaround requires: -// - Windows OS with MSVC toolchain (x86_64-pc-windows-msvc) -// - MSVC runtime library (included with Visual Studio or Windows SDK) -// - The `cc` crate (already listed in build-dependencies) -// -// The implementation uses standard MSVC runtime functions available in all modern -// MSVC versions, so no specific version requirements beyond standard Rust/MSVC setup. -// -// TODO: Remove this workaround when risc0-zkvm-platform adds proper Windows support. -// Issue tracking: https://github.com/kaspanet/rusty-kaspa/issues/ -// Upstream risc0-zkvm-platform issue: (if applicable) -// -// NOTE: IDE linter errors about missing headers are FALSE POSITIVES. -// This file only compiles on Windows with MSVC, where exists. -// The code compiles successfully - verify with: cargo build --release - -#ifdef _WIN32 -#include - -// Explicitly declare Windows-specific functions (provided by MSVC runtime) -// These declarations satisfy the compiler even if the linter can't find the headers -void* _aligned_malloc(size_t size, size_t alignment); - -__declspec(dllexport) void* sys_alloc_aligned(size_t size, size_t alignment) { - // Use _aligned_malloc on Windows (provided by MSVC runtime) - return _aligned_malloc(size, alignment); -} - -#endif // _WIN32 - From 066102aa017e210f24b51e2906bc92d33b3eabd4 Mon Sep 17 00:00:00 2001 From: Anton Yemelyanov Date: Sat, 27 Jun 2026 23:31:43 +0300 Subject: [PATCH 16/16] cleanup ensure_crypto_provider cfg wrapper --- rpc/wrpc/client/src/lib.rs | 51 +++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/rpc/wrpc/client/src/lib.rs b/rpc/wrpc/client/src/lib.rs index 2598eff4a0..eac03ce410 100644 --- a/rpc/wrpc/client/src/lib.rs +++ b/rpc/wrpc/client/src/lib.rs @@ -49,30 +49,29 @@ pub mod parse; pub mod prelude; pub mod resolver; -/// Ensures a process-level rustls [`CryptoProvider`](rustls::crypto::CryptoProvider) -/// is installed before the client establishes any TLS connection. -/// -/// reqwest 0.13 (used by the [`Resolver`] over HTTPS) only auto-selects the -/// `aws-lc-rs` provider, which requires a C/cmake toolchain. To keep the build -/// pure-Rust (`ring`) while staying zero-config for SDK consumers, we install -/// the `ring` provider on first client/resolver construction. This is -/// idempotent and a no-op if a provider was already installed — so a consumer -/// can override it by installing their own provider before constructing a -/// client. wasm targets use the host's TLS and need no provider. -/// -/// When built without a `rustls-tls-*` backend (e.g. `default-features = false` -/// or a `native-tls*` backend) the `ring` provider is not compiled in and this -/// function is a no-op; such consumers must install their own provider. -#[cfg(all(not(target_arch = "wasm32"), feature = "rustls-ring"))] -pub fn ensure_crypto_provider() { - static ONCE: std::sync::Once = std::sync::Once::new(); - ONCE.call_once(|| { - let _ = rustls::crypto::ring::default_provider().install_default(); - }); +cfg_if::cfg_if! { + if #[cfg(all(not(target_arch = "wasm32"), feature = "rustls-ring"))] { + /// Ensures a process-level rustls [`CryptoProvider`](rustls::crypto::CryptoProvider) + /// is installed before the client establishes any TLS connection. + /// + /// reqwest 0.13 (used by the [`Resolver`] over HTTPS) only auto-selects the + /// `aws-lc-rs` provider, which requires a C/cmake toolchain. To keep the build + /// pure-Rust (`ring`) while staying zero-config for SDK consumers, we install + /// the `ring` provider on first client/resolver construction. This is + /// idempotent and a no-op if a provider was already installed — so a consumer + /// can override it by installing their own provider before constructing a + /// client. wasm targets use the host's TLS and need no provider. + /// + /// When built without a `rustls-tls-*` backend (e.g. `default-features = false` + /// or a `native-tls*` backend) the `ring` provider is not compiled in and this + /// function is a no-op; such consumers must install their own provider. + pub fn ensure_crypto_provider() { + static ONCE: std::sync::Once = std::sync::Once::new(); + ONCE.call_once(|| { + let _ = rustls::crypto::ring::default_provider().install_default(); + }); + } + } else { + pub fn ensure_crypto_provider() {} + } } - -#[cfg(all(not(target_arch = "wasm32"), not(feature = "rustls-ring")))] -pub fn ensure_crypto_provider() {} - -#[cfg(target_arch = "wasm32")] -pub fn ensure_crypto_provider() {}