From c7533c2546f8095b2369549ed100452313bd7f5f Mon Sep 17 00:00:00 2001 From: Mykhailo Kremniov Date: Fri, 27 Feb 2026 19:08:51 +0200 Subject: [PATCH 1/4] Update lmdb-rs-mintlayer version to include the fix for the `off_t` overflow on Windows when the db reaches 2GB. --- Cargo.lock | 4 ++-- storage/lmdb/Cargo.toml | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d31a16d8a4..afc51af96d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4347,7 +4347,7 @@ checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "lmdb-mintlayer" version = "0.16.2" -source = "git+https://github.com/mintlayer/lmdb-rs-mintlayer.git?tag=v0.16.2#fb33e56a76697dd6f484c6d21f89a99ef9145e93" +source = "git+https://github.com/mintlayer/lmdb-rs-mintlayer.git?rev=88d9f2bd49399f75ca1baa1537b2387252f9b5db#88d9f2bd49399f75ca1baa1537b2387252f9b5db" dependencies = [ "bitflags 1.3.2", "byteorder", @@ -4360,7 +4360,7 @@ dependencies = [ [[package]] name = "lmdb-rkv-sys" version = "0.11.3" -source = "git+https://github.com/mintlayer/lmdb-rs-mintlayer.git?tag=v0.16.2#fb33e56a76697dd6f484c6d21f89a99ef9145e93" +source = "git+https://github.com/mintlayer/lmdb-rs-mintlayer.git?rev=88d9f2bd49399f75ca1baa1537b2387252f9b5db#88d9f2bd49399f75ca1baa1537b2387252f9b5db" dependencies = [ "cc", "libc", diff --git a/storage/lmdb/Cargo.toml b/storage/lmdb/Cargo.toml index 2a7762d990..dc1b91289a 100644 --- a/storage/lmdb/Cargo.toml +++ b/storage/lmdb/Cargo.toml @@ -10,7 +10,8 @@ logging = { path = '../../logging' } storage-core = { path = '../core' } utils = { path = '../../utils' } -lmdb-mintlayer = { git = 'https://github.com/mintlayer/lmdb-rs-mintlayer.git', tag = 'v0.16.2' } +# Commit "Fix off_t overflow on Windows" +lmdb-mintlayer = { git = 'https://github.com/mintlayer/lmdb-rs-mintlayer.git', rev = '88d9f2bd49399f75ca1baa1537b2387252f9b5db' } [dev-dependencies] rstest.workspace = true From 51b1be372b6b8041c4892e3fbc14c2cc9b7aba34 Mon Sep 17 00:00:00 2001 From: Mykhailo Kremniov Date: Mon, 8 Dec 2025 14:53:19 +0200 Subject: [PATCH 2/4] Fix CI: update crates that depend on the now deprecated crate `rustls-pemfile`. Some other crates had to be updated as well (cherry-picked from master) --- Cargo.toml | 9 ++++++--- api-server/stack-test-suite/Cargo.toml | 2 +- api-server/web-server/Cargo.toml | 2 +- api-server/web-server/src/api/mod.rs | 2 +- deny.toml | 1 + rpc/Cargo.toml | 8 +++----- rpc/src/lib.rs | 16 ++++++++++++---- rpc/src/rpc_auth/mod.rs | 5 +++-- rpc/src/subscription.rs | 2 +- 9 files changed, 29 insertions(+), 18 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 6f35856449..043afa51c1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -173,6 +173,8 @@ heck = "0.5" hex = "0.4" hex-literal = "0.4" hmac = "0.12" +http = "1.3" +hyper = "1.7" iced = "0.13" # Note: we need this fix - https://github.com/iced-rs/iced_aw/pull/329 # TODO: switch back to a released version of iced_aw once the fix is released (need version > 0.12) @@ -180,7 +182,7 @@ iced_aw = { git = "https://github.com/iced-rs/iced_aw", branch = "main" } iced_fonts = "0.1" indoc = "2.0" itertools = "0.14" -jsonrpsee = { version = "0.22", default-features = false } +jsonrpsee = { version = "0.26", default-features = false } lazy_static = "1.4" libtest-mimic = "0.8" log = "0.4" @@ -207,6 +209,7 @@ reedline = "0.38" ref-cast = "1.0" regex = "1.10" replace_with = "0.1" +reqwest = "0.12" rfd = { version = "0.15", default-features = false } ripemd = "0.1" rlimit = "0.10" @@ -243,8 +246,8 @@ tokio-socks = "0.5" tokio-stream = "0.1" tokio-util = { version = "0.7", default-features = false } toml = "0.8" -tower = "0.4" -tower-http-axum = { package = "tower-http", version = "0.5" } +tower = "0.5" +tower-http = "0.5" hickory-client = "0.24" hickory-server = "0.24" zeroize = "1.5" diff --git a/api-server/stack-test-suite/Cargo.toml b/api-server/stack-test-suite/Cargo.toml index 0d120a968d..e0ac101438 100644 --- a/api-server/stack-test-suite/Cargo.toml +++ b/api-server/stack-test-suite/Cargo.toml @@ -25,7 +25,7 @@ async-trait.workspace = true axum.workspace = true hex.workspace = true libtest-mimic.workspace = true -reqwest = "0.11" +reqwest.workspace = true serde.workspace = true serde_json.workspace = true tokio = { workspace = true, features = ["full"] } diff --git a/api-server/web-server/Cargo.toml b/api-server/web-server/Cargo.toml index ea5089cc75..ad0972d7a7 100644 --- a/api-server/web-server/Cargo.toml +++ b/api-server/web-server/Cargo.toml @@ -29,4 +29,4 @@ serde = { workspace = true, features = ["derive"] } serde_json.workspace = true thiserror.workspace = true tokio = { workspace = true } -tower-http-axum = { workspace = true, features = ["cors"] } +tower-http = { workspace = true, features = ["cors"] } diff --git a/api-server/web-server/src/api/mod.rs b/api-server/web-server/src/api/mod.rs index 1de64af5d3..c46df36a2d 100644 --- a/api-server/web-server/src/api/mod.rs +++ b/api-server/web-server/src/api/mod.rs @@ -27,7 +27,7 @@ use axum::{http::Method, response::IntoResponse, routing::get, Json, Router}; use serde_json::json; use std::sync::Arc; use tokio::net::TcpListener; -use tower_http_axum::cors::{AllowMethods, Any, CorsLayer}; +use tower_http::cors::{AllowMethods, Any, CorsLayer}; #[allow(clippy::unused_async)] async fn bad_request() -> Result<(), ApiServerWebServerError> { diff --git a/deny.toml b/deny.toml index dd2da22429..dd034f6d76 100644 --- a/deny.toml +++ b/deny.toml @@ -18,6 +18,7 @@ allow = [ "BSD-3-Clause", "BSL-1.0", "CC0-1.0", + "CDLA-Permissive-2.0", "ISC", "MIT", "MPL-2.0", diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml index e4e3a90e64..9706eb6274 100644 --- a/rpc/Cargo.toml +++ b/rpc/Cargo.toml @@ -22,16 +22,14 @@ utils-networking = { path = "../utils/networking" } anyhow.workspace = true async-trait.workspace = true base64.workspace = true +http.workspace = true +hyper.workspace = true jsonrpsee = { workspace = true, features = ["server", "server-core", "http-client", "ws-client", "macros"] } serde.workspace = true serde_json.workspace = true thiserror.workspace = true tower = { workspace = true, features = ["util"] } - -# This we keep here, and not in the workspace, because it comes from jsonrpsee and requires an older version -tower-http = { version = "0.4", features = ["auth", "set-header"] } -http = "0.2" -hyper = "0.14" +tower-http = { workspace = true, features = ["auth", "set-header"] } [dev-dependencies] test-utils = { path = "../test-utils" } diff --git a/rpc/src/lib.rs b/rpc/src/lib.rs index b96cfc1911..a7dc7cc2f6 100644 --- a/rpc/src/lib.rs +++ b/rpc/src/lib.rs @@ -31,7 +31,8 @@ use std::{net::SocketAddr, path::PathBuf}; use base64::Engine; use http::{header, HeaderValue}; use jsonrpsee::{ - http_client::{transport::HttpBackend, HttpClient, HttpClientBuilder}, + core::middleware::RpcServiceBuilder, + http_client::{transport::HttpBackend, HttpClient, HttpClientBuilder, RpcService}, server::{ServerBuilder, ServerHandle}, }; @@ -109,7 +110,9 @@ impl Builder { }; let mut module = jsonrpsee::RpcModule::new(()); - module.register_method(method_list_name, move |_params, &()| method_names.clone())?; + module.register_method(method_list_name, move |_params, &(), _extensions| { + method_names.clone() + })?; Ok(module) } } @@ -223,7 +226,7 @@ impl MakeHeaderValue for RpcAuthData { } } -pub type RpcHttpClient = HttpClient>; +pub type RpcHttpClient = HttpClient>>; pub fn new_http_client( host: impl AsRef, @@ -234,7 +237,12 @@ pub fn new_http_client( rpc_auth, )); - HttpClientBuilder::default().set_http_middleware(middleware).build(host) + HttpClientBuilder::default() + // Note: by default (i.e. without calling `set_rpc_middleware`) `HttpClientBuilder` wraps + // the produced `RpcService` into `RpcLogger`, which we don't need. + .set_rpc_middleware(RpcServiceBuilder::default()) + .set_http_middleware(middleware) + .build(host) } pub type RpcWsClient = jsonrpsee::ws_client::WsClient; diff --git a/rpc/src/rpc_auth/mod.rs b/rpc/src/rpc_auth/mod.rs index b999d6e54d..f93989124e 100644 --- a/rpc/src/rpc_auth/mod.rs +++ b/rpc/src/rpc_auth/mod.rs @@ -18,7 +18,8 @@ use crypto::{ kdf::{argon2::Argon2Config, hash_password, verify_password, KdfConfig, KdfResult}, util::eq::SliceEqualityCheckMethod, }; -use hyper::{Body, Request, Response}; +use hyper::{Request, Response}; +use jsonrpsee::server::HttpBody; use logging::log; use randomness::make_true_rng; use tower_http::validate_request::ValidateRequest; @@ -102,7 +103,7 @@ impl RpcAuth { } impl ValidateRequest for RpcAuth { - type ResponseBody = Body; + type ResponseBody = HttpBody; fn validate(&mut self, request: &mut Request) -> Result<(), Response> { use jsonrpsee::types; diff --git a/rpc/src/subscription.rs b/rpc/src/subscription.rs index 6eedaf5c1a..a387a06a31 100644 --- a/rpc/src/subscription.rs +++ b/rpc/src/subscription.rs @@ -121,4 +121,4 @@ pub enum Error { } /// Subscription method reply type -pub type Reply = Result<(), jsonrpsee::core::StringError>; +pub type Reply = Result<(), jsonrpsee::core::SubscriptionError>; From 33c90064e47719c66bedbe5c904f0a617706110e Mon Sep 17 00:00:00 2001 From: Mykhailo Kremniov Date: Fri, 27 Feb 2026 20:13:41 +0200 Subject: [PATCH 3/4] Update crates to fix vulnerabilities: oneshot, keccak, bytes --- Cargo.lock | 650 ++++++++++++++++++++++++----------------------------- 1 file changed, 295 insertions(+), 355 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index afc51af96d..21e3b0ebbe 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -645,10 +645,10 @@ dependencies = [ "axum-core", "bytes", "futures-util", - "http 1.3.1", - "http-body 1.0.1", + "http", + "http-body", "http-body-util", - "hyper 1.6.0", + "hyper", "hyper-util", "itoa", "matchit", @@ -661,9 +661,9 @@ dependencies = [ "serde_json", "serde_path_to_error", "serde_urlencoded", - "sync_wrapper 1.0.2", + "sync_wrapper", "tokio", - "tower 0.5.2", + "tower", "tower-layer", "tower-service", "tracing", @@ -678,13 +678,13 @@ dependencies = [ "async-trait", "bytes", "futures-util", - "http 1.3.1", - "http-body 1.0.1", + "http", + "http-body", "http-body-util", "mime", "pin-project-lite", "rustversion", - "sync_wrapper 1.0.2", + "sync_wrapper", "tower-layer", "tower-service", "tracing", @@ -715,12 +715,6 @@ dependencies = [ "bitcoin_hashes 0.14.0", ] -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "base64" version = "0.21.7" @@ -775,15 +769,6 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d965446196e3b7decd44aa7ee49e31d630118f90ef12f97900f262eb915c951d" -[[package]] -name = "beef" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" -dependencies = [ - "serde", -] - [[package]] name = "bincode" version = "1.3.3" @@ -941,7 +926,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ - "digest 0.10.7", + "digest", ] [[package]] @@ -950,15 +935,6 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "generic-array", -] - [[package]] name = "block-buffer" version = "0.10.4" @@ -1151,9 +1127,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.10.1" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" [[package]] name = "calloop" @@ -1990,7 +1966,7 @@ dependencies = [ "secp256k1", "serde", "serialization", - "sha-1 0.10.1", + "sha-1", "sha2", "sha3", "test-utils", @@ -2071,7 +2047,7 @@ dependencies = [ "cfg-if", "cpufeatures", "curve25519-dalek-derive", - "digest 0.10.7", + "digest", "fiat-crypto", "rustc_version", "subtle", @@ -2112,7 +2088,7 @@ dependencies = [ "objc", "rust-ini", "web-sys", - "winreg 0.10.1", + "winreg", "zbus 4.4.0", ] @@ -2207,22 +2183,13 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array", -] - [[package]] name = "digest" version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.4", + "block-buffer", "crypto-common", "subtle", ] @@ -3181,16 +3148,16 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.26" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" dependencies = [ + "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "futures-util", - "http 0.2.12", + "http", "indexmap 2.9.0", "slab", "tokio", @@ -3386,18 +3353,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes", - "fnv", - "itoa", + "digest", ] [[package]] @@ -3411,17 +3367,6 @@ dependencies = [ "itoa", ] -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http 0.2.12", - "pin-project-lite", -] - [[package]] name = "http-body" version = "1.0.1" @@ -3429,7 +3374,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.3.1", + "http", ] [[package]] @@ -3440,17 +3385,11 @@ checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", "futures-core", - "http 1.3.1", - "http-body 1.0.1", + "http", + "http-body", "pin-project-lite", ] -[[package]] -name = "http-range-header" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" - [[package]] name = "httparse" version = "1.10.1" @@ -3471,74 +3410,58 @@ checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" [[package]] name = "hyper" -version = "0.14.32" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" dependencies = [ + "atomic-waker", "bytes", "futures-channel", "futures-core", - "futures-util", "h2", - "http 0.2.12", - "http-body 0.4.6", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "http 1.3.1", - "http-body 1.0.1", + "http", + "http-body", "httparse", "httpdate", "itoa", "pin-project-lite", + "pin-utils", "smallvec", "tokio", + "want", ] [[package]] name = "hyper-rustls" -version = "0.24.2" +version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "futures-util", - "http 0.2.12", - "hyper 0.14.32", + "http", + "hyper", + "hyper-util", "log", - "rustls 0.21.12", - "rustls-native-certs 0.6.3", + "rustls", + "rustls-pki-types", "tokio", - "tokio-rustls 0.24.1", + "tokio-rustls", + "tower-service", ] [[package]] name = "hyper-tls" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", - "hyper 0.14.32", + "http-body-util", + "hyper", + "hyper-util", "native-tls", "tokio", "tokio-native-tls", + "tower-service", ] [[package]] @@ -3547,14 +3470,24 @@ version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1c293b6b3d21eca78250dc7dbebd6b9210ec5530e038cbfe0661b5c47ab06e8" dependencies = [ + "base64 0.22.1", "bytes", + "futures-channel", "futures-core", - "http 1.3.1", - "http-body 1.0.1", - "hyper 1.6.0", + "futures-util", + "http", + "http-body", + "hyper", + "ipnet", + "libc", + "percent-encoding", "pin-project-lite", + "socket2", + "system-configuration", "tokio", "tower-service", + "tracing", + "windows-registry", ] [[package]] @@ -3963,6 +3896,16 @@ version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" +[[package]] +name = "iri-string" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "is-terminal" version = "0.4.16" @@ -4057,9 +4000,9 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.22.5" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfdb12a2381ea5b2e68c3469ec604a007b367778cdb14d09612c8069ebd616ad" +checksum = "3f3f48dc3e6b8bd21e15436c1ddd0bc22a6a54e8ec46fedd6adf3425f396ec6a" dependencies = [ "jsonrpsee-core", "jsonrpsee-http-client", @@ -4073,20 +4016,22 @@ dependencies = [ [[package]] name = "jsonrpsee-client-transport" -version = "0.22.5" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4978087a58c3ab02efc5b07c5e5e2803024536106fd5506f558db172c889b3aa" +checksum = "cf36eb27f8e13fa93dcb50ccb44c417e25b818cfa1a481b5470cd07b19c60b98" dependencies = [ + "base64 0.22.1", "futures-util", - "http 0.2.12", + "http", "jsonrpsee-core", "pin-project", - "rustls-native-certs 0.7.3", + "rustls", "rustls-pki-types", + "rustls-platform-verifier", "soketto", - "thiserror 1.0.69", + "thiserror 2.0.12", "tokio", - "tokio-rustls 0.25.0", + "tokio-rustls", "tokio-util", "tracing", "url", @@ -4094,56 +4039,61 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.22.5" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4b257e1ec385e07b0255dde0b933f948b5c8b8c28d42afda9587c3a967b896d" +checksum = "316c96719901f05d1137f19ba598b5fe9c9bc39f4335f67f6be8613921946480" dependencies = [ - "anyhow", "async-trait", - "beef", + "bytes", "futures-timer", "futures-util", - "hyper 0.14.32", + "http", + "http-body", + "http-body-util", "jsonrpsee-types", "parking_lot 0.12.4", "pin-project", - "rand 0.8.5", - "rustc-hash 1.1.0", + "rand 0.9.1", + "rustc-hash 2.1.1", "serde", "serde_json", - "thiserror 1.0.69", + "thiserror 2.0.12", "tokio", "tokio-stream", + "tower", "tracing", ] [[package]] name = "jsonrpsee-http-client" -version = "0.22.5" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ccf93fc4a0bfe05d851d37d7c32b7f370fe94336b52a2f0efc5f1981895c2e5" +checksum = "790bedefcec85321e007ff3af84b4e417540d5c87b3c9779b9e247d1bcc3dab8" dependencies = [ - "async-trait", - "hyper 0.14.32", + "base64 0.22.1", + "http-body", + "hyper", "hyper-rustls", + "hyper-util", "jsonrpsee-core", "jsonrpsee-types", + "rustls", + "rustls-platform-verifier", "serde", "serde_json", - "thiserror 1.0.69", + "thiserror 2.0.12", "tokio", - "tower 0.4.13", - "tracing", + "tower", "url", ] [[package]] name = "jsonrpsee-proc-macros" -version = "0.22.5" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d0bb047e79a143b32ea03974a6bf59b62c2a4c5f5d42a381c907a8bbb3f75c0" +checksum = "2da3f8ab5ce1bb124b6d082e62dffe997578ceaf0aeb9f3174a214589dc00f07" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro-crate", "proc-macro2", "quote", @@ -4152,13 +4102,16 @@ dependencies = [ [[package]] name = "jsonrpsee-server" -version = "0.22.5" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12d8b6a9674422a8572e0b0abb12feeb3f2aeda86528c80d0350c2bd0923ab41" +checksum = "4c51b7c290bb68ce3af2d029648148403863b982f138484a73f02a9dd52dbd7f" dependencies = [ "futures-util", - "http 0.2.12", - "hyper 0.14.32", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", "jsonrpsee-core", "jsonrpsee-types", "pin-project", @@ -4166,45 +4119,45 @@ dependencies = [ "serde", "serde_json", "soketto", - "thiserror 1.0.69", + "thiserror 2.0.12", "tokio", "tokio-stream", "tokio-util", - "tower 0.4.13", + "tower", "tracing", ] [[package]] name = "jsonrpsee-types" -version = "0.22.5" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "150d6168405890a7a3231a3c74843f58b8959471f6df76078db2619ddee1d07d" +checksum = "bc88ff4688e43cc3fa9883a8a95c6fa27aa2e76c96e610b737b6554d650d7fd5" dependencies = [ - "anyhow", - "beef", + "http", "serde", "serde_json", - "thiserror 1.0.69", + "thiserror 2.0.12", ] [[package]] name = "jsonrpsee-ws-client" -version = "0.22.5" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58b9db2dfd5bb1194b0ce921504df9ceae210a345bc2f6c5a61432089bbab070" +checksum = "9b6fceceeb05301cc4c065ab3bd2fa990d41ff4eb44e4ca1b30fa99c057c3e79" dependencies = [ - "http 0.2.12", + "http", "jsonrpsee-client-transport", "jsonrpsee-core", "jsonrpsee-types", + "tower", "url", ] [[package]] name = "keccak" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +checksum = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653" dependencies = [ "cpufeatures", ] @@ -4509,7 +4462,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ "cfg-if", - "digest 0.10.7", + "digest", ] [[package]] @@ -4790,10 +4743,10 @@ dependencies = [ "libc", "log", "openssl", - "openssl-probe", + "openssl-probe 0.1.6", "openssl-sys", "schannel", - "security-framework", + "security-framework 2.11.1", "security-framework-sys", "tempfile", ] @@ -4921,7 +4874,7 @@ dependencies = [ "subsystem", "thiserror 1.0.69", "tokio", - "tower 0.4.13", + "tower", "utils-networking", "wallet-types", ] @@ -5469,9 +5422,9 @@ checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" [[package]] name = "oneshot" -version = "0.1.11" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ce411919553d3f9fa53a0880544cda985a112117a0444d5ff1e870a893d6ea" +checksum = "269bca4c2591a28585d6bf10d9ed0332b7d76900a1b02bec41bdc3a2cdcda107" [[package]] name = "oorandom" @@ -5517,6 +5470,12 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" +[[package]] +name = "openssl-probe" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" + [[package]] name = "openssl-sys" version = "0.9.109" @@ -6624,42 +6583,42 @@ checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" [[package]] name = "reqwest" -version = "0.11.27" +version = "0.12.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "bytes", "encoding_rs", "futures-core", - "futures-util", "h2", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.32", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", "hyper-tls", - "ipnet", + "hyper-util", "js-sys", "log", "mime", "native-tls", - "once_cell", "percent-encoding", "pin-project-lite", - "rustls-pemfile 1.0.4", + "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper 0.1.2", - "system-configuration", + "sync_wrapper", "tokio", "tokio-native-tls", + "tower", + "tower-http 0.6.8", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg 0.50.0", ] [[package]] @@ -6706,7 +6665,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" dependencies = [ - "digest 0.10.7", + "digest", ] [[package]] @@ -6768,8 +6727,8 @@ dependencies = [ "base64 0.22.1", "crypto", "expect-test", - "http 0.2.12", - "hyper 0.14.32", + "http", + "hyper", "jsonrpsee", "logging", "randomness", @@ -6783,8 +6742,8 @@ dependencies = [ "test-utils", "thiserror 1.0.69", "tokio", - "tower 0.4.13", - "tower-http 0.4.4", + "tower", + "tower-http 0.5.2", "utils", "utils-networking", ] @@ -6960,71 +6919,29 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" -dependencies = [ - "log", - "ring", - "rustls-webpki 0.101.7", - "sct", -] - -[[package]] -name = "rustls" -version = "0.22.4" +version = "0.23.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" +checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4" dependencies = [ "log", + "once_cell", "ring", "rustls-pki-types", - "rustls-webpki 0.102.8", + "rustls-webpki", "subtle", "zeroize", ] [[package]] name = "rustls-native-certs" -version = "0.6.3" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" +checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" dependencies = [ - "openssl-probe", - "rustls-pemfile 1.0.4", - "schannel", - "security-framework", -] - -[[package]] -name = "rustls-native-certs" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" -dependencies = [ - "openssl-probe", - "rustls-pemfile 2.2.0", + "openssl-probe 0.2.1", "rustls-pki-types", "schannel", - "security-framework", -] - -[[package]] -name = "rustls-pemfile" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" -dependencies = [ - "base64 0.21.7", -] - -[[package]] -name = "rustls-pemfile" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" -dependencies = [ - "rustls-pki-types", + "security-framework 3.6.0", ] [[package]] @@ -7037,20 +6954,37 @@ dependencies = [ ] [[package]] -name = "rustls-webpki" -version = "0.101.7" +name = "rustls-platform-verifier" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +checksum = "19787cda76408ec5404443dc8b31795c87cd8fec49762dc75fa727740d34acc1" dependencies = [ - "ring", - "untrusted", + "core-foundation 0.10.1", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls", + "rustls-native-certs", + "rustls-platform-verifier-android", + "rustls-webpki", + "security-framework 3.6.0", + "security-framework-sys", + "webpki-root-certs 0.26.11", + "windows-sys 0.59.0", ] +[[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.102.8" +version = "0.103.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +checksum = "d7df23109aa6c1567d1c575b9952556388da57401e4ace1d15f79eedad0d8f53" dependencies = [ "ring", "rustls-pki-types", @@ -7175,16 +7109,6 @@ dependencies = [ "utils", ] -[[package]] -name = "sct" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "sctk-adwaita" version = "0.10.1" @@ -7216,7 +7140,7 @@ version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9465315bc9d4566e1724f0fffcbcc446268cb522e60f9a27bcded6b19c108113" dependencies = [ - "bitcoin_hashes 0.13.0", + "bitcoin_hashes 0.14.0", "rand 0.8.5", "secp256k1-sys", ] @@ -7243,11 +7167,24 @@ dependencies = [ "security-framework-sys", ] +[[package]] +name = "security-framework" +version = "3.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d17b898a6d6948c3a8ee4372c17cb384f90d2e6e912ef00895b14fd7ab54ec38" +dependencies = [ + "bitflags 2.9.1", + "core-foundation 0.10.1", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + [[package]] name = "security-framework-sys" -version = "2.14.0" +version = "2.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" +checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" dependencies = [ "core-foundation-sys", "libc", @@ -7267,10 +7204,11 @@ checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" [[package]] name = "serde" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ + "serde_core", "serde_derive", ] @@ -7294,11 +7232,20 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", @@ -7318,14 +7265,15 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.140" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", "memchr", - "ryu", "serde", + "serde_core", + "zmij", ] [[package]] @@ -7479,19 +7427,6 @@ dependencies = [ "syn 2.0.101", ] -[[package]] -name = "sha-1" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if", - "cpufeatures", - "digest 0.9.0", - "opaque-debug", -] - [[package]] name = "sha-1" version = "0.10.1" @@ -7500,7 +7435,7 @@ checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.7", + "digest", ] [[package]] @@ -7511,7 +7446,7 @@ checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.7", + "digest", ] [[package]] @@ -7522,7 +7457,7 @@ checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.7", + "digest", ] [[package]] @@ -7531,7 +7466,7 @@ version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" dependencies = [ - "digest 0.10.7", + "digest", "keccak", ] @@ -7768,18 +7703,18 @@ dependencies = [ [[package]] name = "soketto" -version = "0.7.1" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" +checksum = "2e859df029d160cb88608f5d7df7fb4753fd20fdfb4de5644f3d8b8440841721" dependencies = [ - "base64 0.13.1", + "base64 0.22.1", "bytes", "futures", - "http 0.2.12", + "http", "httparse", "log", "rand 0.8.5", - "sha-1 0.9.8", + "sha1", ] [[package]] @@ -8008,17 +7943,14 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "sync_wrapper" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - [[package]] name = "sync_wrapper" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] [[package]] name = "synstructure" @@ -8042,20 +7974,20 @@ dependencies = [ [[package]] name = "system-configuration" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.9.1", "core-foundation 0.9.4", "system-configuration-sys", ] [[package]] name = "system-configuration-sys" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" dependencies = [ "core-foundation-sys", "libc", @@ -8399,22 +8331,11 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" -dependencies = [ - "rustls 0.21.12", - "tokio", -] - -[[package]] -name = "tokio-rustls" -version = "0.25.0" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" +checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" dependencies = [ - "rustls 0.22.4", - "rustls-pki-types", + "rustls", "tokio", ] @@ -8506,21 +8427,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "pin-project", - "pin-project-lite", - "tower-layer", - "tower-service", - "tracing", -] - [[package]] name = "tower" version = "0.5.2" @@ -8530,7 +8436,7 @@ dependencies = [ "futures-core", "futures-util", "pin-project-lite", - "sync_wrapper 1.0.2", + "sync_wrapper", "tokio", "tower-layer", "tower-service", @@ -8539,18 +8445,16 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.4.4" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" +checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ "base64 0.21.7", "bitflags 2.9.1", "bytes", - "futures-core", - "futures-util", - "http 0.2.12", - "http-body 0.4.6", - "http-range-header", + "http", + "http-body", + "http-body-util", "mime", "pin-project-lite", "tower-layer", @@ -8559,16 +8463,18 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.5.2" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ "bitflags 2.9.1", "bytes", - "http 1.3.1", - "http-body 1.0.1", - "http-body-util", + "futures-util", + "http", + "http-body", + "iri-string", "pin-project-lite", + "tower", "tower-layer", "tower-service", ] @@ -9292,7 +9198,7 @@ dependencies = [ "subsystem", "thiserror 1.0.69", "tokio", - "tower 0.4.13", + "tower", "utils", "utils-networking", "wallet", @@ -9711,6 +9617,24 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webpki-root-certs" +version = "0.26.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75c7f0ef91146ebfb530314f5f1d24528d7f0767efbfd31dce919275413e393e" +dependencies = [ + "webpki-root-certs 1.0.6", +] + +[[package]] +name = "webpki-root-certs" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "804f18a4ac2676ffb4e8b5b5fa9ae38af06df08162314f96a68d2a363e21a8ca" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "wgpu" version = "0.19.4" @@ -9931,7 +9855,7 @@ dependencies = [ "windows-interface", "windows-link", "windows-result", - "windows-strings", + "windows-strings 0.4.2", ] [[package]] @@ -9983,6 +9907,17 @@ dependencies = [ "windows-link", ] +[[package]] +name = "windows-registry" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" +dependencies = [ + "windows-result", + "windows-strings 0.3.1", + "windows-targets 0.53.0", +] + [[package]] name = "windows-result" version = "0.3.4" @@ -9992,6 +9927,15 @@ dependencies = [ "windows-link", ] +[[package]] +name = "windows-strings" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" +dependencies = [ + "windows-link", +] + [[package]] name = "windows-strings" version = "0.4.2" @@ -10358,16 +10302,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - [[package]] name = "winres" version = "0.1.12" @@ -10739,6 +10673,12 @@ dependencies = [ "syn 2.0.101", ] +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" + [[package]] name = "zvariant" version = "4.2.0" From 6cedbf5985611362abffebb4f32e0c33c4ad5637 Mon Sep 17 00:00:00 2001 From: Mykhailo Kremniov Date: Mon, 12 Jan 2026 11:53:00 +0200 Subject: [PATCH 4/4] Update deny.toml to ignore "RUSTSEC-2025-0141" (bincode no longer maintained); appease clippy 1.92 (cherry-picked from master) --- chainstate/launcher/src/config.rs | 10 +++------- chainstate/test-framework/src/random_tx_maker.rs | 4 ++-- common/src/address/dehexify.rs | 12 ++++++------ common/src/chain/transaction/output/mod.rs | 2 +- crypto/src/key/hdkd/child_number.rs | 6 +++--- deny.toml | 1 + mempool/src/pool/tests/orphans.rs | 2 +- node-gui/src/main.rs | 2 +- p2p/src/peer_manager/tests/connections.rs | 11 ++++++++--- p2p/src/peer_manager/tests/mod.rs | 11 ++++++++--- .../signer/tests/generic_fixed_signature_tests.rs | 2 +- .../wallet-cli-commands/src/command_handler/mod.rs | 2 +- 12 files changed, 36 insertions(+), 29 deletions(-) diff --git a/chainstate/launcher/src/config.rs b/chainstate/launcher/src/config.rs index 0fb8d244c2..b295f2c158 100644 --- a/chainstate/launcher/src/config.rs +++ b/chainstate/launcher/src/config.rs @@ -19,16 +19,12 @@ use chainstate::ChainstateConfig; /// Storage type to use #[must_use] -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Debug, Clone, PartialEq, Eq, Default)] pub enum StorageBackendConfig { + #[default] Lmdb, - InMemory, -} -impl Default for StorageBackendConfig { - fn default() -> Self { - Self::Lmdb - } + InMemory, } impl StorageBackendConfig { diff --git a/chainstate/test-framework/src/random_tx_maker.rs b/chainstate/test-framework/src/random_tx_maker.rs index 58e5cefb8b..322f54f9ff 100644 --- a/chainstate/test-framework/src/random_tx_maker.rs +++ b/chainstate/test-framework/src/random_tx_maker.rs @@ -1379,14 +1379,14 @@ impl<'a> RandomTxMaker<'a> { PrivateKey::new_from_rng(rng, KeyKind::Secp256k1Schnorr); *dummy_pool_id = pool_id; - *pool_data = Box::new(StakePoolData::new( + **pool_data = StakePoolData::new( pool_data.pledge(), Destination::PublicKey(staker_pk), vrf_pk, Destination::AnyoneCanSpend, pool_data.margin_ratio_per_thousand(), pool_data.cost_per_block(), - )); + ); let _ = pos_accounting_cache .create_pool(pool_id, pool_data.as_ref().clone().into()) .unwrap(); diff --git a/common/src/address/dehexify.rs b/common/src/address/dehexify.rs index a0885ae08c..3012442edc 100644 --- a/common/src/address/dehexify.rs +++ b/common/src/address/dehexify.rs @@ -22,12 +22,12 @@ use super::hexified::HexifiedAddress; #[allow(clippy::let_and_return)] pub fn dehexify_all_addresses(conf: &ChainConfig, input: &str) -> String { - let result = HexifiedAddress::::replace_with_address(conf, input).to_string(); - let result = HexifiedAddress::::replace_with_address(conf, &result).to_string(); - let result = HexifiedAddress::::replace_with_address(conf, &result).to_string(); - let result = HexifiedAddress::::replace_with_address(conf, &result).to_string(); - let result = HexifiedAddress::::replace_with_address(conf, &result).to_string(); - let result = HexifiedAddress::::replace_with_address(conf, &result).to_string(); + let result = HexifiedAddress::::replace_with_address(conf, input).clone(); + let result = HexifiedAddress::::replace_with_address(conf, &result).clone(); + let result = HexifiedAddress::::replace_with_address(conf, &result).clone(); + let result = HexifiedAddress::::replace_with_address(conf, &result).clone(); + let result = HexifiedAddress::::replace_with_address(conf, &result).clone(); + let result = HexifiedAddress::::replace_with_address(conf, &result).clone(); result } diff --git a/common/src/chain/transaction/output/mod.rs b/common/src/chain/transaction/output/mod.rs index 2617a411b0..558f343bda 100644 --- a/common/src/chain/transaction/output/mod.rs +++ b/common/src/chain/transaction/output/mod.rs @@ -268,7 +268,7 @@ impl TextSummary for TxOutput { NftIssuance::V0(iss1) => { let md = &iss1.metadata; let creator = match &md.creator { - Some(c) => hex::encode(c.public_key.encode()).to_string(), + Some(c) => hex::encode(c.public_key.encode()).clone(), None => "Unspecified".to_string(), }; format!( diff --git a/crypto/src/key/hdkd/child_number.rs b/crypto/src/key/hdkd/child_number.rs index 42311e0221..5a96a81c76 100644 --- a/crypto/src/key/hdkd/child_number.rs +++ b/crypto/src/key/hdkd/child_number.rs @@ -145,9 +145,9 @@ mod test { #[case(0, false)] #[case(1, false)] #[case(1234567, false)] - #[case(u32::MAX & (!0x80000000 - 1), false)] - #[case(u32::MAX & !0x80000000, false)] - #[case(u32::MAX & (!0x80000000 + 1), true)] + #[case(!0x80000000 - 1, false)] + #[case(!0x80000000, false)] + #[case(!0x80000000 + 1, true)] #[case(u32::MAX - 1, true)] #[case(u32::MAX, true)] fn create_child_number(#[case] encoded_num: u32, #[case] is_hardened: bool) { diff --git a/deny.toml b/deny.toml index dd034f6d76..a2869ed63f 100644 --- a/deny.toml +++ b/deny.toml @@ -48,4 +48,5 @@ db-urls = [ "https://github.com/RustSec/advisory-db" ] yanked = "warn" ignore = [ "RUSTSEC-2024-0436", # "paste" is no longer maintained + "RUSTSEC-2025-0141", # "bincode" is no longer maintained ] diff --git a/mempool/src/pool/tests/orphans.rs b/mempool/src/pool/tests/orphans.rs index b7902432da..83f9ee6ba8 100644 --- a/mempool/src/pool/tests/orphans.rs +++ b/mempool/src/pool/tests/orphans.rs @@ -153,7 +153,7 @@ async fn diamond_graph(#[case] seed: Seed, #[case] insertion_plan: Vec<(usize, u let tx3 = make_tx(&mut rng, &[(tx1_outpt, 0), (tx2_outpt, 0)], &[90_000_000]); - let txs = vec![tx0, tx1, tx2, tx3]; + let txs = [tx0, tx1, tx2, tx3]; let tx_ids: Vec<_> = txs.iter().map(|tx| tx.transaction().get_id()).collect(); // Set up mempool and execute the insertion plan diff --git a/node-gui/src/main.rs b/node-gui/src/main.rs index e860f4315d..fffddee4ac 100644 --- a/node-gui/src/main.rs +++ b/node-gui/src/main.rs @@ -497,7 +497,7 @@ fn view(state: &GuiState) -> Element<'_, Message> { column![ iced::widget::text("Mintlayer-core node initialization failed".to_string()) .size(header_font_size), - iced::widget::text(message.to_string()).size(text_font_size) + iced::widget::text(message.clone()).size(text_font_size) ] } InitializationInterruptionReason::DataDirCleanedUp => { diff --git a/p2p/src/peer_manager/tests/connections.rs b/p2p/src/peer_manager/tests/connections.rs index 41134ee649..cc8230d64e 100644 --- a/p2p/src/peer_manager/tests/connections.rs +++ b/p2p/src/peer_manager/tests/connections.rs @@ -887,9 +887,14 @@ async fn connection_timeout_rpc_notified( ) .unwrap(); - logging::spawn_in_current_span(async move { - peer_manager.run().await.unwrap(); - }); + logging::spawn_in_current_span( + // Rust 1.92 thinks that the unwrap call here is unreachable, even though the function + // returns a normal error. + #[allow(unreachable_code)] + async move { + peer_manager.run().await.unwrap(); + }, + ); let (response_sender, response_receiver) = oneshot_nofail::channel(); peer_mgr_event_sender diff --git a/p2p/src/peer_manager/tests/mod.rs b/p2p/src/peer_manager/tests/mod.rs index d06812f242..5711f79a1b 100644 --- a/p2p/src/peer_manager/tests/mod.rs +++ b/p2p/src/peer_manager/tests/mod.rs @@ -209,9 +209,14 @@ where { let (peer_manager, peer_mgr_event_sender, shutdown_sender, subscribers_sender) = make_peer_manager_custom::(transport, addr, chain_config, p2p_config, time_getter).await; - logging::spawn_in_current_span(async move { - peer_manager.run().await.unwrap(); - }); + logging::spawn_in_current_span( + // Rust 1.92 thinks that the unwrap call here is unreachable, even though the function + // returns a normal error. + #[allow(unreachable_code)] + async move { + peer_manager.run().await.unwrap(); + }, + ); (peer_mgr_event_sender, shutdown_sender, subscribers_sender) } diff --git a/wallet/src/signer/tests/generic_fixed_signature_tests.rs b/wallet/src/signer/tests/generic_fixed_signature_tests.rs index 2353fa6f38..aa5b8a015a 100644 --- a/wallet/src/signer/tests/generic_fixed_signature_tests.rs +++ b/wallet/src/signer/tests/generic_fixed_signature_tests.rs @@ -519,7 +519,7 @@ pub fn test_fixed_signatures_generic2( let account2_dest2 = new_dest_from_account(&mut account2, &mut db_tx, KeyPurpose::Change); let account2_pk2 = find_pub_key_for_pkh_dest(&account2_dest2, &account2).clone(); - let utxos = vec![ + let utxos = [ TxOutput::Transfer( OutputValue::Coin(Amount::from_atoms(1000)), account1_dest4.clone(), diff --git a/wallet/wallet-cli-commands/src/command_handler/mod.rs b/wallet/wallet-cli-commands/src/command_handler/mod.rs index d7b333cca0..782d95e3b7 100644 --- a/wallet/wallet-cli-commands/src/command_handler/mod.rs +++ b/wallet/wallet-cli-commands/src/command_handler/mod.rs @@ -1856,7 +1856,7 @@ where ) }) .collect(); - Ok(ConsoleCommand::Print(delegations.join("\n").to_string())) + Ok(ConsoleCommand::Print(delegations.join("\n").clone())) } WalletCommand::ListCreatedBlocksIds => {