From eacf42e79412ffdcc1b9cf9769b8fa7ba4d0681f Mon Sep 17 00:00:00 2001 From: Warm Beer Date: Sun, 12 Apr 2026 19:57:26 +0200 Subject: [PATCH 1/8] fix: use relay-sorted addresses in find_closest_peers find_closest_peers returned raw DHTNode::addresses where relay addresses were last. All downstream consumers (chunk store, quote collection) then tried unreachable NATted addresses first. Switch to addresses_by_priority() so relay addresses are tried first. Co-Authored-By: Claude Opus 4.6 (1M context) --- ant-core/src/data/network.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ant-core/src/data/network.rs b/ant-core/src/data/network.rs index da0835a..6bb5bbb 100644 --- a/ant-core/src/data/network.rs +++ b/ant-core/src/data/network.rs @@ -105,7 +105,10 @@ impl Network { .into_iter() .filter(|n| n.peer_id != *local_peer_id) .take(count) - .map(|n| (n.peer_id, n.addresses)) + .map(|n| { + let addrs = n.addresses_by_priority(); + (n.peer_id, addrs) + }) .collect()) } From 2f968c9f44491059c521bd8f65e48cf899f1c384 Mon Sep 17 00:00:00 2001 From: Warm Beer Date: Tue, 14 Apr 2026 10:16:56 +0200 Subject: [PATCH 2/8] refactor: enhance quote collection logging with detailed response breakdown Upgraded log messages to include breakdown of response types (successful, already stored, and failed), improving debugging and analysis of quote collection behavior. Updated `debug` to `info` for consistent logging level. --- Cargo.lock | 91 +++++++++++-------------------- ant-core/src/data/client/quote.rs | 18 +++--- 2 files changed, 41 insertions(+), 68 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index eb3ed33..4111541 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -152,7 +152,7 @@ dependencies = [ "either", "k256", "once_cell", - "rand 0.8.6", + "rand 0.8.5", "secp256k1", "serde", "serde_json", @@ -407,7 +407,7 @@ dependencies = [ "alloy-signer-local", "k256", "libc", - "rand 0.8.6", + "rand 0.8.5", "serde_json", "tempfile", "thiserror 2.0.18", @@ -622,7 +622,7 @@ dependencies = [ "alloy-signer", "async-trait", "k256", - "rand 0.8.6", + "rand 0.8.5", "thiserror 2.0.18", ] @@ -827,7 +827,7 @@ dependencies = [ [[package]] name = "ant-cli" -version = "0.1.6" +version = "0.1.5" dependencies = [ "ant-core", "anyhow", @@ -866,7 +866,7 @@ dependencies = [ "lru", "openssl", "postcard", - "rand 0.8.6", + "rand 0.8.5", "reqwest 0.12.28", "rmp-serde", "saorsa-pqc 0.5.1", @@ -903,9 +903,7 @@ dependencies = [ [[package]] name = "ant-node" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dac042e69f7dff2136deee542d66fceb5631474869ea4da9875185a9ad3329cc" +version = "0.10.0-rc.16" dependencies = [ "aes-gcm-siv", "blake3", @@ -927,7 +925,7 @@ dependencies = [ "page_size", "parking_lot", "postcard", - "rand 0.8.6", + "rand 0.8.5", "reqwest 0.13.2", "rmp-serde", "saorsa-core", @@ -1132,7 +1130,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" dependencies = [ "num-traits", - "rand 0.8.6", + "rand 0.8.5", ] [[package]] @@ -1142,7 +1140,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand 0.8.6", + "rand 0.8.5", ] [[package]] @@ -1152,7 +1150,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" dependencies = [ "num-traits", - "rand 0.8.6", + "rand 0.8.5", ] [[package]] @@ -1840,12 +1838,11 @@ checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "const_format" -version = "0.2.36" +version = "0.2.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4481a617ad9a412be3b97c5d403fef8ed023103368908b9c50af598ff467cc1e" +checksum = "7faa7469a93a566e9ccc1c73fe783b4a65c274c5ace346038dca9c39fe0030ad" dependencies = [ "const_format_proc_macros", - "konst", ] [[package]] @@ -2471,7 +2468,7 @@ dependencies = [ "ant-merkle", "exponential-backoff", "hex", - "rand 0.8.6", + "rand 0.8.5", "rmp-serde", "serde", "serde_with", @@ -2605,7 +2602,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand 0.8.6", + "rand 0.8.5", "rustc-hex", "static_assertions", ] @@ -3566,21 +3563,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "konst" -version = "0.2.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "128133ed7824fcd73d6e7b17957c5eb7bacb885649bd8c69708b2331a10bcefb" -dependencies = [ - "konst_macro_rules", -] - -[[package]] -name = "konst_macro_rules" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4933f3f57a8e9d9da04db23fb153356ecaf00cbd14aee46279c33dc80925c37" - [[package]] name = "lazy_static" version = "1.5.0" @@ -4193,7 +4175,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ "phf_shared", - "rand 0.8.6", + "rand 0.8.5", ] [[package]] @@ -4531,9 +4513,9 @@ checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] name = "rand" -version = "0.8.6" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha 0.3.1", @@ -4901,7 +4883,7 @@ dependencies = [ "parity-scale-codec", "primitive-types", "proptest", - "rand 0.8.6", + "rand 0.8.5", "rand 0.9.4", "rlp", "ruint-macro", @@ -5114,9 +5096,7 @@ dependencies = [ [[package]] name = "saorsa-core" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d459ba0e4f1a3ac918a1d6b17db392cccde2ee74569545d171d7644fc6463cc7" +version = "0.22.0" dependencies = [ "anyhow", "async-trait", @@ -5130,7 +5110,7 @@ dependencies = [ "once_cell", "parking_lot", "postcard", - "rand 0.8.6", + "rand 0.8.5", "saorsa-pqc 0.5.1", "saorsa-transport", "serde", @@ -5169,7 +5149,7 @@ dependencies = [ "log", "pbkdf2", "postcard", - "rand 0.8.6", + "rand 0.8.5", "rand_chacha 0.3.1", "rand_core 0.6.4", "rayon", @@ -5210,7 +5190,7 @@ dependencies = [ "log", "pbkdf2", "postcard", - "rand 0.8.6", + "rand 0.8.5", "rand_chacha 0.3.1", "rand_core 0.6.4", "rayon", @@ -5229,9 +5209,7 @@ dependencies = [ [[package]] name = "saorsa-transport" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "250826f52ac60992947359218d83c21f658aa85407e3980a5dbb258eff4c0cc3" +version = "0.31.0" dependencies = [ "anyhow", "async-trait", @@ -5255,7 +5233,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "quinn-udp 0.6.1", - "rand 0.8.6", + "rand 0.8.5", "rcgen", "regex", "reqwest 0.13.2", @@ -5362,7 +5340,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b50c5943d326858130af85e049f2661ba3c78b26589b8ab98e65e80ae44a1252" dependencies = [ "bitcoin_hashes", - "rand 0.8.6", + "rand 0.8.5", "secp256k1-sys", "serde", ] @@ -5422,7 +5400,7 @@ dependencies = [ "bytes", "chacha20poly1305", "hex", - "rand 0.8.6", + "rand 0.8.5", "rand_chacha 0.3.1", "rayon", "serde", @@ -5808,12 +5786,6 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[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" @@ -6066,9 +6038,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.52.1" +version = "1.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67dee974fe86fd92cc45b7a95fdd2f99a36a6d7b0d431a231178d3d670bbcc6" +checksum = "a91135f59b1cbf38c91e73cf3386fca9bb77915c45ce2771460c9d92f0f3d776" dependencies = [ "bytes", "libc", @@ -6280,12 +6252,11 @@ dependencies = [ [[package]] name = "tracing-appender" -version = "0.2.5" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "050686193eb999b4bb3bc2acfa891a13da00f79734704c4b8b4ef1a10b368a3c" +checksum = "786d480bce6247ab75f005b14ae1624ad978d3029d9113f0a22fa1ac773faeaf" dependencies = [ "crossbeam-channel", - "symlink", "thiserror 2.0.18", "time", "tracing-subscriber", @@ -7378,7 +7349,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fd9dddecfdbc7c17ae93da6d28a5a9c4f5564abe7b735d2530c7a159b6b55e8" dependencies = [ "hex", - "rand 0.8.6", + "rand 0.8.5", "rand_core 0.6.4", "serde", "serde_test", diff --git a/ant-core/src/data/client/quote.rs b/ant-core/src/data/client/quote.rs index 3e13626..8da0115 100644 --- a/ant-core/src/data/client/quote.rs +++ b/ant-core/src/data/client/quote.rs @@ -15,7 +15,7 @@ use evmlib::common::Amount; use evmlib::PaymentQuote; use futures::stream::{FuturesUnordered, StreamExt}; use std::time::Duration; -use tracing::{debug, warn}; +use tracing::{debug, info, warn}; /// Compute XOR distance between a peer's ID bytes and a target address. /// @@ -167,7 +167,7 @@ impl Client { quotes.push((peer_id, addrs, quote, price)); } Err(Error::AlreadyStored) => { - debug!("Peer {peer_id} reports chunk already stored"); + info!("Peer {peer_id} reports chunk already stored"); let dist = xor_distance(&peer_id, address); already_stored_peers.push((peer_id, dist)); } @@ -221,9 +221,12 @@ impl Client { } } - if quotes.len() >= CLOSE_GROUP_SIZE { - let total_responses = quotes.len() + failures.len() + already_stored_peers.len(); + let already_stored_count = already_stored_peers.len(); + let failure_count = failures.len(); + let quote_count = quotes.len(); + let total_responses = quote_count + failure_count + already_stored_count; + if quotes.len() >= CLOSE_GROUP_SIZE { // Sort by XOR distance to target, keep the closest CLOSE_GROUP_SIZE. quotes.sort_by(|a, b| { let dist_a = xor_distance(&a.0, address); @@ -232,8 +235,8 @@ impl Client { }); quotes.truncate(CLOSE_GROUP_SIZE); - debug!( - "Collected {} quotes for address {} (from {total_responses} responses)", + info!( + "Collected {} quotes for address {} ({total_responses} responses: {quote_count} ok, {already_stored_count} already_stored, {failure_count} failed)", quotes.len(), hex::encode(address), ); @@ -241,8 +244,7 @@ impl Client { } Err(Error::InsufficientPeers(format!( - "Got {} quotes, need {CLOSE_GROUP_SIZE}. Failures: [{}]", - quotes.len(), + "Got {quote_count} quotes, need {CLOSE_GROUP_SIZE} ({total_responses} responses: {already_stored_count} already_stored, {failure_count} failed). Failures: [{}]", failures.join("; ") ))) } From bf2f57db43dff0f49708d366d98f11d3a5d435f8 Mon Sep 17 00:00:00 2001 From: Warm Beer Date: Fri, 17 Apr 2026 23:03:00 +0200 Subject: [PATCH 3/8] fix: refine tracing initialization with optional RUST_LOG support Enhanced tracing setup to respect RUST_LOG environment variable when verbose flags are not provided, ensuring more flexible logging configuration. Simplified conditional checks to streamline logic. --- ant-cli/src/main.rs | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/ant-cli/src/main.rs b/ant-cli/src/main.rs index 69e7267..667aa4e 100644 --- a/ant-cli/src/main.rs +++ b/ant-cli/src/main.rs @@ -9,6 +9,7 @@ use std::time::Duration; use clap::Parser; use indicatif::{ProgressBar, ProgressStyle}; use tracing::info; +use tracing_subscriber::{fmt, layer::SubscriberExt, util::SubscriberInitExt, EnvFilter}; use ant_core::data::{ Client, ClientConfig, CoreNodeConfig, CustomNetwork, DevnetManifest, EvmAddress, EvmNetwork, @@ -46,21 +47,24 @@ async fn main() { async fn run() -> anyhow::Result<()> { let cli = Cli::parse(); - // Privacy by design: no logs unless the user explicitly opts in with -v. - // A decentralized network client must not emit metadata by default. + // Privacy by design: no logs unless the user explicitly opts in with -v + // or by setting RUST_LOG. A decentralized network client must not emit + // metadata by default. let needs_tracing = !matches!(cli.command, Commands::Node { .. }); - if needs_tracing && cli.verbose > 0 { - use tracing_subscriber::{fmt, prelude::*, EnvFilter}; - - let filter = match cli.verbose { - 1 => EnvFilter::new("ant_core=info,ant_cli=info"), - 2 => EnvFilter::new("ant_core=debug,ant_cli=debug"), - _ => EnvFilter::new("trace"), + if needs_tracing { + let filter = match (EnvFilter::try_from_default_env().ok(), cli.verbose) { + (Some(f), _) => Some(f), + (None, 0) => None, + (None, 1) => Some(EnvFilter::new("ant_core=info,ant_cli=info")), + (None, 2) => Some(EnvFilter::new("ant_core=debug,ant_cli=debug")), + (None, _) => Some(EnvFilter::new("trace")), }; - tracing_subscriber::registry() - .with(fmt::layer().with_writer(std::io::stderr)) - .with(filter) - .init(); + if let Some(filter) = filter { + tracing_subscriber::registry() + .with(fmt::layer().with_writer(std::io::stderr)) + .with(filter) + .init(); + } } // Separate the command from the rest of the CLI args to avoid partial-move issues. From abddeec3f3d15fb1713f792b48a7092f91d87fdc Mon Sep 17 00:00:00 2001 From: Warm Beer Date: Sun, 19 Apr 2026 13:09:00 +0200 Subject: [PATCH 4/8] feat: never enforce IP-diversity limits on client P2P nodes Clients don't host data and their routing table exists only to find peers. Strict per-IP / per-subnet diversity caps would silently drop legitimate testnet peers that share an IP or /24, with no benefit since clients aren't a Sybil target. Apply IPDiversityConfig::permissive unconditionally in both ant-cli's create_client_node_raw and ant-core's Network::new. Co-Authored-By: Claude Opus 4.7 (1M context) --- Cargo.lock | 13 +++++++++++++ ant-cli/src/main.rs | 8 +++++++- ant-core/src/data/mod.rs | 2 +- ant-core/src/data/network.rs | 8 +++++++- 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4111541..821b406 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2442,6 +2442,18 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "enum_dispatch" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd" +dependencies = [ + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "equivalent" version = "1.0.2" @@ -5221,6 +5233,7 @@ dependencies = [ "core-foundation 0.9.4", "dashmap", "dirs 5.0.1", + "enum_dispatch", "futures-util", "hex", "igd-next", diff --git a/ant-cli/src/main.rs b/ant-cli/src/main.rs index 667aa4e..04739d3 100644 --- a/ant-cli/src/main.rs +++ b/ant-cli/src/main.rs @@ -13,7 +13,7 @@ use tracing_subscriber::{fmt, layer::SubscriberExt, util::SubscriberInitExt, Env use ant_core::data::{ Client, ClientConfig, CoreNodeConfig, CustomNetwork, DevnetManifest, EvmAddress, EvmNetwork, - MultiAddr, NodeMode, P2PNode, Wallet, MAX_WIRE_MESSAGE_SIZE, + IPDiversityConfig, MultiAddr, NodeMode, P2PNode, Wallet, MAX_WIRE_MESSAGE_SIZE, }; use cli::{Cli, Commands}; @@ -403,6 +403,12 @@ async fn create_client_node_raw( .build() .map_err(|e| anyhow::anyhow!("Failed to create core config: {e}"))?; + // Clients never enforce IP-diversity limits: they don't host data and + // their routing table exists only to find peers, not to be defended + // against Sybil clustering. Strict per-IP / per-subnet caps would + // silently drop legitimate testnet peers that share an IP or /24. + core_config.diversity_config = Some(IPDiversityConfig::permissive()); + core_config.bootstrap_peers = bootstrap .iter() .map(|addr| MultiAddr::quic(*addr)) diff --git a/ant-core/src/data/mod.rs b/ant-core/src/data/mod.rs index 7d5c676..38cc7da 100644 --- a/ant-core/src/data/mod.rs +++ b/ant-core/src/data/mod.rs @@ -34,7 +34,7 @@ pub use self_encryption::DataMap; // Re-export networking types needed by CLI for P2P node creation pub use ant_node::ant_protocol::{MAX_CHUNK_SIZE, MAX_WIRE_MESSAGE_SIZE}; -pub use ant_node::core::{CoreNodeConfig, MultiAddr, NodeMode, P2PNode}; +pub use ant_node::core::{CoreNodeConfig, IPDiversityConfig, MultiAddr, NodeMode, P2PNode}; pub use ant_node::devnet::DevnetManifest; // Re-export EVM types needed by CLI for wallet and network setup diff --git a/ant-core/src/data/network.rs b/ant-core/src/data/network.rs index 6bb5bbb..9d6ff45 100644 --- a/ant-core/src/data/network.rs +++ b/ant-core/src/data/network.rs @@ -5,7 +5,7 @@ use crate::data::error::{Error, Result}; use ant_node::ant_protocol::MAX_WIRE_MESSAGE_SIZE; -use ant_node::core::{CoreNodeConfig, MultiAddr, NodeMode, P2PNode, PeerId}; +use ant_node::core::{CoreNodeConfig, IPDiversityConfig, MultiAddr, NodeMode, P2PNode, PeerId}; use std::net::SocketAddr; use std::sync::Arc; @@ -41,6 +41,12 @@ impl Network { .build() .map_err(|e| Error::Network(format!("Failed to create core config: {e}")))?; + // Clients never enforce IP-diversity limits: they don't host data and + // their routing table exists only to find peers, not to be defended + // against Sybil clustering. Strict per-IP / per-subnet caps would + // silently drop legitimate testnet peers that share an IP or /24. + core_config.diversity_config = Some(IPDiversityConfig::permissive()); + core_config.bootstrap_peers = bootstrap_peers .iter() .map(|addr| MultiAddr::quic(*addr)) From 4ee298a2c95af81076e260cf564e220d12e7dbe0 Mon Sep 17 00:00:00 2001 From: Warm Beer Date: Tue, 21 Apr 2026 14:31:11 +0200 Subject: [PATCH 5/8] chore: update Cargo.toml and Cargo.lock for ant-node and saorsa dependencies Switched `ant-node` to track a Git branch and rebased versions for `saorsa-core` and `saorsa-transport`. Incremented relevant package versions to maintain compatibility. --- Cargo.lock | 9 ++++++--- ant-core/Cargo.toml | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 821b406..830e67f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -827,7 +827,7 @@ dependencies = [ [[package]] name = "ant-cli" -version = "0.1.5" +version = "0.1.6" dependencies = [ "ant-core", "anyhow", @@ -903,7 +903,8 @@ dependencies = [ [[package]] name = "ant-node" -version = "0.10.0-rc.16" +version = "0.10.1" +source = "git+https://github.com/withAutonomi/ant-node.git?branch=mick%2Falways-masque-relay-rebased#197c31dc110ed94dd9bbb47aa4a45e67d2d907b6" dependencies = [ "aes-gcm-siv", "blake3", @@ -5109,6 +5110,7 @@ dependencies = [ [[package]] name = "saorsa-core" version = "0.22.0" +source = "git+https://github.com/saorsa-labs/saorsa-core.git?branch=mick%2Falways-masque-relay-rebased#007e06c8759da23cfc5eeb942093a59578bb238e" dependencies = [ "anyhow", "async-trait", @@ -5221,7 +5223,8 @@ dependencies = [ [[package]] name = "saorsa-transport" -version = "0.31.0" +version = "0.32.0" +source = "git+https://github.com/saorsa-labs/saorsa-transport.git?branch=mick%2Falways-masque-relay-rebased#87f92d022d10d00d874fc69e3fb4b268e84719b0" dependencies = [ "anyhow", "async-trait", diff --git a/ant-core/Cargo.toml b/ant-core/Cargo.toml index e15abd7..9b2ac3f 100644 --- a/ant-core/Cargo.toml +++ b/ant-core/Cargo.toml @@ -38,7 +38,7 @@ tracing = "0.1" bytes = "1" lru = "0.16" rand = "0.8" -ant-node = "0.10.1" +ant-node = { git = "https://github.com/withAutonomi/ant-node.git", branch = "mick/always-masque-relay-rebased" } saorsa-pqc = "0.5" tracing-subscriber = { version = "0.3", features = ["env-filter"] } From a4227b34898d8021730008755cd92e3ae8820ad6 Mon Sep 17 00:00:00 2001 From: Warm Beer Date: Tue, 21 Apr 2026 23:04:30 +0200 Subject: [PATCH 6/8] chore: update Cargo.lock dependencies and package versions Upgraded multiple dependencies for compatibility, including `rand` to 0.8.6, `tokio` to 1.52.1, `openssl` to 0.10.78, and more. Added new packages (`konst`, `symlink`, and `wit-bindgen`), and updated Git source revisions for `ant-node`, `saorsa-core`, and `saorsa-transport`. --- Cargo.lock | 132 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 81 insertions(+), 51 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 830e67f..ac31944 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -152,7 +152,7 @@ dependencies = [ "either", "k256", "once_cell", - "rand 0.8.5", + "rand 0.8.6", "secp256k1", "serde", "serde_json", @@ -266,13 +266,14 @@ dependencies = [ [[package]] name = "alloy-eip7928" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8222b1d88f9a6d03be84b0f5e76bb60cd83991b43ad8ab6477f0e4a7809b98d" +checksum = "407510740da514b694fecb44d8b3cebdc60d448f70cc5d24743e8ba273448a6e" dependencies = [ "alloy-primitives", "alloy-rlp", "borsh", + "once_cell", "serde", ] @@ -407,7 +408,7 @@ dependencies = [ "alloy-signer-local", "k256", "libc", - "rand 0.8.5", + "rand 0.8.6", "serde_json", "tempfile", "thiserror 2.0.18", @@ -622,7 +623,7 @@ dependencies = [ "alloy-signer", "async-trait", "k256", - "rand 0.8.5", + "rand 0.8.6", "thiserror 2.0.18", ] @@ -866,7 +867,7 @@ dependencies = [ "lru", "openssl", "postcard", - "rand 0.8.5", + "rand 0.8.6", "reqwest 0.12.28", "rmp-serde", "saorsa-pqc 0.5.1", @@ -904,7 +905,7 @@ dependencies = [ [[package]] name = "ant-node" version = "0.10.1" -source = "git+https://github.com/withAutonomi/ant-node.git?branch=mick%2Falways-masque-relay-rebased#197c31dc110ed94dd9bbb47aa4a45e67d2d907b6" +source = "git+https://github.com/withAutonomi/ant-node.git?branch=mick%2Falways-masque-relay-rebased#eda757f316f24a67e01b4a5816900b605c065487" dependencies = [ "aes-gcm-siv", "blake3", @@ -926,7 +927,7 @@ dependencies = [ "page_size", "parking_lot", "postcard", - "rand 0.8.5", + "rand 0.8.6", "reqwest 0.13.2", "rmp-serde", "saorsa-core", @@ -1131,7 +1132,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" dependencies = [ "num-traits", - "rand 0.8.5", + "rand 0.8.6", ] [[package]] @@ -1141,7 +1142,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand 0.8.5", + "rand 0.8.6", ] [[package]] @@ -1151,7 +1152,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" dependencies = [ "num-traits", - "rand 0.8.5", + "rand 0.8.6", ] [[package]] @@ -1839,11 +1840,12 @@ checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "const_format" -version = "0.2.35" +version = "0.2.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7faa7469a93a566e9ccc1c73fe783b4a65c274c5ace346038dca9c39fe0030ad" +checksum = "4481a617ad9a412be3b97c5d403fef8ed023103368908b9c50af598ff467cc1e" dependencies = [ "const_format_proc_macros", + "konst", ] [[package]] @@ -2481,7 +2483,7 @@ dependencies = [ "ant-merkle", "exponential-backoff", "hex", - "rand 0.8.5", + "rand 0.8.6", "rmp-serde", "serde", "serde_with", @@ -2615,7 +2617,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand 0.8.5", + "rand 0.8.6", "rustc-hex", "static_assertions", ] @@ -3576,6 +3578,21 @@ dependencies = [ "zeroize", ] +[[package]] +name = "konst" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "128133ed7824fcd73d6e7b17957c5eb7bacb885649bd8c69708b2331a10bcefb" +dependencies = [ + "konst_macro_rules", +] + +[[package]] +name = "konst_macro_rules" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4933f3f57a8e9d9da04db23fb153356ecaf00cbd14aee46279c33dc80925c37" + [[package]] name = "lazy_static" version = "1.5.0" @@ -3981,9 +3998,9 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "openssl" -version = "0.10.77" +version = "0.10.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfe4646e360ec77dff7dde40ed3d6c5fee52d156ef4a62f53973d38294dad87f" +checksum = "f38c4372413cdaaf3cc79dd92d29d7d9f5ab09b51b10dded508fb90bb70b9222" dependencies = [ "bitflags", "cfg-if", @@ -4022,9 +4039,9 @@ dependencies = [ [[package]] name = "openssl-sys" -version = "0.9.113" +version = "0.9.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad2f2c0eba47118757e4c6d2bff2838f3e0523380021356e7875e858372ce644" +checksum = "13ce1245cd07fcc4cfdb438f7507b0c7e4f3849a69fd84d52374c66d83741bb6" dependencies = [ "cc", "libc", @@ -4188,7 +4205,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ "phf_shared", - "rand 0.8.5", + "rand 0.8.6", ] [[package]] @@ -4526,9 +4543,9 @@ checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] name = "rand" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" dependencies = [ "libc", "rand_chacha 0.3.1", @@ -4896,7 +4913,7 @@ dependencies = [ "parity-scale-codec", "primitive-types", "proptest", - "rand 0.8.5", + "rand 0.8.6", "rand 0.9.4", "rlp", "ruint-macro", @@ -5055,9 +5072,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.12" +version = "0.103.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8279bb85272c9f10811ae6a6c547ff594d6a7f3c6c6b02ee9726d1d0dcfcdd06" +checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" dependencies = [ "aws-lc-rs", "ring", @@ -5110,7 +5127,7 @@ dependencies = [ [[package]] name = "saorsa-core" version = "0.22.0" -source = "git+https://github.com/saorsa-labs/saorsa-core.git?branch=mick%2Falways-masque-relay-rebased#007e06c8759da23cfc5eeb942093a59578bb238e" +source = "git+https://github.com/saorsa-labs/saorsa-core.git?branch=mick%2Falways-masque-relay-rebased#7e2fb8433ba1a4328a90a7ba853ed1137a41aef0" dependencies = [ "anyhow", "async-trait", @@ -5124,7 +5141,7 @@ dependencies = [ "once_cell", "parking_lot", "postcard", - "rand 0.8.5", + "rand 0.8.6", "saorsa-pqc 0.5.1", "saorsa-transport", "serde", @@ -5163,7 +5180,7 @@ dependencies = [ "log", "pbkdf2", "postcard", - "rand 0.8.5", + "rand 0.8.6", "rand_chacha 0.3.1", "rand_core 0.6.4", "rayon", @@ -5204,7 +5221,7 @@ dependencies = [ "log", "pbkdf2", "postcard", - "rand 0.8.5", + "rand 0.8.6", "rand_chacha 0.3.1", "rand_core 0.6.4", "rayon", @@ -5223,8 +5240,8 @@ dependencies = [ [[package]] name = "saorsa-transport" -version = "0.32.0" -source = "git+https://github.com/saorsa-labs/saorsa-transport.git?branch=mick%2Falways-masque-relay-rebased#87f92d022d10d00d874fc69e3fb4b268e84719b0" +version = "0.31.0" +source = "git+https://github.com/saorsa-labs/saorsa-transport.git?branch=mick%2Falways-masque-relay-rebased#ec163406f526f42667f12a1ed4f5b6ec0ed4e02e" dependencies = [ "anyhow", "async-trait", @@ -5249,7 +5266,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "quinn-udp 0.6.1", - "rand 0.8.5", + "rand 0.8.6", "rcgen", "regex", "reqwest 0.13.2", @@ -5356,7 +5373,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b50c5943d326858130af85e049f2661ba3c78b26589b8ab98e65e80ae44a1252" dependencies = [ "bitcoin_hashes", - "rand 0.8.5", + "rand 0.8.6", "secp256k1-sys", "serde", ] @@ -5416,7 +5433,7 @@ dependencies = [ "bytes", "chacha20poly1305", "hex", - "rand 0.8.5", + "rand 0.8.6", "rand_chacha 0.3.1", "rayon", "serde", @@ -5638,9 +5655,9 @@ dependencies = [ [[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 0.10.7", "keccak", @@ -5802,6 +5819,12 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +[[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" @@ -6054,9 +6077,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.52.0" +version = "1.52.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a91135f59b1cbf38c91e73cf3386fca9bb77915c45ce2771460c9d92f0f3d776" +checksum = "b67dee974fe86fd92cc45b7a95fdd2f99a36a6d7b0d431a231178d3d670bbcc6" dependencies = [ "bytes", "libc", @@ -6190,7 +6213,7 @@ dependencies = [ "indexmap 2.14.0", "toml_datetime 1.1.1+spec-1.1.0", "toml_parser", - "winnow 1.0.1", + "winnow 1.0.2", ] [[package]] @@ -6199,7 +6222,7 @@ version = "1.1.2+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" dependencies = [ - "winnow 1.0.1", + "winnow 1.0.2", ] [[package]] @@ -6268,11 +6291,12 @@ 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", @@ -6360,9 +6384,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "typenum" -version = "1.19.0" +version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" +checksum = "40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de" [[package]] name = "ucd-trie" @@ -6549,11 +6573,11 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasip2" -version = "1.0.2+wasi-0.2.9" +version = "1.0.3+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" dependencies = [ - "wit-bindgen", + "wit-bindgen 0.57.1", ] [[package]] @@ -6562,7 +6586,7 @@ 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", + "wit-bindgen 0.51.0", ] [[package]] @@ -7193,9 +7217,9 @@ dependencies = [ [[package]] name = "winnow" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09dac053f1cd375980747450bfc7250c264eaae0583872e845c0c7cd578872b5" +checksum = "2ee1708bef14716a11bae175f579062d4554d95be2c6829f518df847b7b3fdd0" dependencies = [ "memchr", ] @@ -7209,6 +7233,12 @@ dependencies = [ "wit-bindgen-rust-macro", ] +[[package]] +name = "wit-bindgen" +version = "0.57.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" + [[package]] name = "wit-bindgen-core" version = "0.51.0" @@ -7365,7 +7395,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fd9dddecfdbc7c17ae93da6d28a5a9c4f5564abe7b735d2530c7a159b6b55e8" dependencies = [ "hex", - "rand 0.8.5", + "rand 0.8.6", "rand_core 0.6.4", "serde", "serde_test", From 6efe201e08f8a562bea13565f0ca75c0f9f69e12 Mon Sep 17 00:00:00 2001 From: Warm Beer Date: Wed, 22 Apr 2026 16:00:40 +0200 Subject: [PATCH 7/8] chore: update Git source revisions for ant-node and saorsa-core, and upgrade ruint to 1.18.0 --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ac31944..88daa37 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -905,7 +905,7 @@ dependencies = [ [[package]] name = "ant-node" version = "0.10.1" -source = "git+https://github.com/withAutonomi/ant-node.git?branch=mick%2Falways-masque-relay-rebased#eda757f316f24a67e01b4a5816900b605c065487" +source = "git+https://github.com/withAutonomi/ant-node.git?branch=mick%2Falways-masque-relay-rebased#5ba564a665c41147d5c993eaf9939f13bd4a6a57" dependencies = [ "aes-gcm-siv", "blake3", @@ -4896,9 +4896,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 = [ "alloy-rlp", "ark-ff 0.3.0", @@ -5127,7 +5127,7 @@ dependencies = [ [[package]] name = "saorsa-core" version = "0.22.0" -source = "git+https://github.com/saorsa-labs/saorsa-core.git?branch=mick%2Falways-masque-relay-rebased#7e2fb8433ba1a4328a90a7ba853ed1137a41aef0" +source = "git+https://github.com/saorsa-labs/saorsa-core.git?branch=mick%2Falways-masque-relay-rebased#65583ed9cbdf79b185f315b13d8c1463ca60e309" dependencies = [ "anyhow", "async-trait", From a55f32de0c712eff670c46ae7f7af304a837bf3b Mon Sep 17 00:00:00 2001 From: Warm Beer Date: Wed, 22 Apr 2026 21:53:33 +0200 Subject: [PATCH 8/8] chore: update Git source revisions for ant-node and saorsa-core in Cargo.lock --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 88daa37..4ea03ec 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -905,7 +905,7 @@ dependencies = [ [[package]] name = "ant-node" version = "0.10.1" -source = "git+https://github.com/withAutonomi/ant-node.git?branch=mick%2Falways-masque-relay-rebased#5ba564a665c41147d5c993eaf9939f13bd4a6a57" +source = "git+https://github.com/withAutonomi/ant-node.git?branch=mick%2Falways-masque-relay-rebased#5d25e1f1ac91cd82d24116a085dfc1c26d0096ae" dependencies = [ "aes-gcm-siv", "blake3", @@ -5127,7 +5127,7 @@ dependencies = [ [[package]] name = "saorsa-core" version = "0.22.0" -source = "git+https://github.com/saorsa-labs/saorsa-core.git?branch=mick%2Falways-masque-relay-rebased#65583ed9cbdf79b185f315b13d8c1463ca60e309" +source = "git+https://github.com/saorsa-labs/saorsa-core.git?branch=mick%2Falways-masque-relay-rebased#d37491fd2ead4b2e81f85a8d3c43e707bbafacc7" dependencies = [ "anyhow", "async-trait",