From a872c65af92350a5828f55588c999a91faacffb2 Mon Sep 17 00:00:00 2001 From: Sander Pick Date: Wed, 28 May 2025 12:55:39 -0700 Subject: [PATCH 1/2] fix: iroh relays Signed-off-by: Sander Pick --- Cargo.lock | 2 + Cargo.toml | 1 + fendermint/actors/blobs/src/actor/user.rs | 17 +++--- recall/iroh_manager/Cargo.toml | 10 ++-- recall/iroh_manager/src/node.rs | 72 +++++++++++++++++++++-- 5 files changed, 82 insertions(+), 20 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 144c20f11..c0d015a84 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6927,6 +6927,7 @@ dependencies = [ "iroh", "iroh-blobs", "iroh-quinn", + "iroh-relay", "n0-future", "num-traits", "quic-rpc", @@ -6934,6 +6935,7 @@ dependencies = [ "tokio", "tracing", "tracing-subscriber", + "url", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index ffef00ce8..024eb9723 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -111,6 +111,7 @@ integer-encoding = { version = "3.0.3", default-features = false } iroh = "0.34" iroh-base = "0.34" iroh-blobs = { version = "0.34", features = ["rpc"] } +iroh-relay = "0.34" jsonrpc-v2 = { version = "0.11", default-features = false, features = [ "bytes-v10", ] } diff --git a/fendermint/actors/blobs/src/actor/user.rs b/fendermint/actors/blobs/src/actor/user.rs index 3aefa288e..f2eb891ff 100644 --- a/fendermint/actors/blobs/src/actor/user.rs +++ b/fendermint/actors/blobs/src/actor/user.rs @@ -840,7 +840,6 @@ mod tests { let f4_eth_addr = Address::new_delegated(10, ð_addr.0).unwrap(); rt.set_delegated_address(id_addr.id().unwrap(), f4_eth_addr); - let code_cid = ETHACCOUNT_ACTOR_CODE_ID.clone(); rt.set_caller(*ETHACCOUNT_ACTOR_CODE_ID, id_addr); rt.set_origin(id_addr); rt.set_epoch(ChainEpoch::from(0)); @@ -858,7 +857,7 @@ mod tests { size: hash.1, ttl: Some(3600), }; - expect_retrieve_bucket_code_cid(&rt, code_cid); + expect_retrieve_bucket_code_cid(&rt, *ETHACCOUNT_ACTOR_CODE_ID); expect_get_config(&rt); let result = rt.call::( Method::AddBlob as u64, @@ -888,7 +887,7 @@ mod tests { rt.set_received(TokenAmount::zero()); rt.set_epoch(ChainEpoch::from(5)); rt.expect_validate_caller_any(); - expect_retrieve_bucket_code_cid(&rt, code_cid); + expect_retrieve_bucket_code_cid(&rt, *ETHACCOUNT_ACTOR_CODE_ID); expect_get_config(&rt); expect_emitted_add_event(&rt, 5, &add_params, f4_eth_addr, add_params.size); let subscription = rt @@ -937,7 +936,6 @@ mod tests { let f4_eth_addr = Address::new_delegated(10, ð_addr.0).unwrap(); rt.set_delegated_address(id_addr.id().unwrap(), f4_eth_addr); - let code_cid = ETHACCOUNT_ACTOR_CODE_ID.clone(); rt.set_caller(*ETHACCOUNT_ACTOR_CODE_ID, id_addr); rt.set_origin(id_addr); rt.set_epoch(ChainEpoch::from(0)); @@ -960,7 +958,7 @@ mod tests { rt.set_balance(tokens_sent.clone()); let tokens_required_atto = add_params.size * add_params.ttl.unwrap() as u64; let expected_tokens_unspent = tokens_sent.atto() - tokens_required_atto; - expect_retrieve_bucket_code_cid(&rt, code_cid); + expect_retrieve_bucket_code_cid(&rt, *ETHACCOUNT_ACTOR_CODE_ID); expect_get_config(&rt); expect_emitted_add_event(&rt, 0, &add_params, f4_eth_addr, add_params.size); rt.expect_send_simple( @@ -992,7 +990,7 @@ mod tests { size: hash.1, ttl: Some(3600), }; - expect_retrieve_bucket_code_cid(&rt, code_cid); + expect_retrieve_bucket_code_cid(&rt, *ETHACCOUNT_ACTOR_CODE_ID); expect_get_config(&rt); let response = rt.call::( Method::AddBlob as u64, @@ -1017,7 +1015,7 @@ mod tests { size: hash.1, ttl: Some(3600), }; - expect_retrieve_bucket_code_cid(&rt, code_cid); + expect_retrieve_bucket_code_cid(&rt, *ETHACCOUNT_ACTOR_CODE_ID); expect_get_config(&rt); expect_emitted_add_event(&rt, 0, &add_params, f4_eth_addr, add_params.size); let result = rt.call::( @@ -1032,7 +1030,6 @@ mod tests { fn test_add_blob_with_sponsor() { setup_logs(); let rt = construct_and_verify(); - let code_cid = ETHACCOUNT_ACTOR_CODE_ID.clone(); let token_credit_rate = BigInt::from(1000000000000000000u64); @@ -1114,7 +1111,7 @@ mod tests { size: hash.1, ttl: Some(3600), }; - expect_retrieve_bucket_code_cid(&rt, code_cid); + expect_retrieve_bucket_code_cid(&rt, *ETHACCOUNT_ACTOR_CODE_ID); expect_get_config(&rt); expect_emitted_add_event(&rt, 0, &add_params, sponsor_f4_eth_addr, add_params.size); let response = rt.call::( @@ -1142,7 +1139,7 @@ mod tests { size: hash.1, ttl: Some(3600), }; - expect_retrieve_bucket_code_cid(&rt, code_cid); + expect_retrieve_bucket_code_cid(&rt, *ETHACCOUNT_ACTOR_CODE_ID); expect_get_config(&rt); expect_emitted_add_event(&rt, 0, &add_params, sponsor_f4_eth_addr, add_params.size); rt.expect_send_simple( diff --git a/recall/iroh_manager/Cargo.toml b/recall/iroh_manager/Cargo.toml index 9b23f1412..623d4ed6e 100644 --- a/recall/iroh_manager/Cargo.toml +++ b/recall/iroh_manager/Cargo.toml @@ -7,14 +7,16 @@ license.workspace = true [dependencies] anyhow = { workspace = true } -num-traits = { workspace = true } iroh = { workspace = true } iroh-blobs = { workspace = true } +iroh-quinn = { workspace = true } +iroh-relay = { workspace = true } +n0-future = { workspace = true } +num-traits = { workspace = true } +quic-rpc = { workspace = true, features = ["quinn-transport", "test-utils"] } tokio = { workspace = true } tracing = { workspace = true } -n0-future = { workspace = true} -quic-rpc= { workspace = true, features = ["quinn-transport", "test-utils"] } -iroh-quinn = { workspace = true } +url = { workspace = true } [dev-dependencies] tempfile = { workspace = true } diff --git a/recall/iroh_manager/src/node.rs b/recall/iroh_manager/src/node.rs index 51395528e..22918e1c3 100644 --- a/recall/iroh_manager/src/node.rs +++ b/recall/iroh_manager/src/node.rs @@ -7,14 +7,16 @@ use std::path::Path; use std::time::Duration; use anyhow::Result; -use iroh::protocol::Router; -use iroh::Endpoint; -use iroh_blobs::net_protocol::Blobs; -use iroh_blobs::rpc::proto::RpcService; -use iroh_blobs::store::GcConfig; -use iroh_blobs::util::fs::load_secret_key; +use iroh::{ + defaults::DEFAULT_STUN_PORT, protocol::Router, Endpoint, RelayMap, RelayMode, RelayNode, +}; +use iroh_blobs::{ + net_protocol::Blobs, rpc::proto::RpcService, store::GcConfig, util::fs::load_secret_key, +}; +use iroh_relay::RelayQuicConfig; use quic_rpc::server::{ChannelTypes, RpcChannel, RpcServerError}; use tracing::info; +use url::Url; use crate::BlobsClient; @@ -67,6 +69,63 @@ const GC_DURATION: Duration = Duration::from_secs(300); const DEFAULT_PORT_V4: u16 = 11204; const DEFAULT_PORT_V6: u16 = 11205; +/// Hostname of the default USE relay. +pub const USE_RELAY_HOSTNAME: &str = "use1-1.relay.recallnet.recall.iroh.link."; +/// Hostname of the default USW relay. +pub const USW_RELAY_HOSTNAME: &str = "usw1-1.relay.recallnet.recall.iroh.link."; +/// Hostname of the default EUC relay. +pub const EUC_RELAY_HOSTNAME: &str = "euc1-1.relay.recallnet.recall.iroh.link."; + +/// Get the default [`RelayMap`]. +pub fn default_relay_map() -> RelayMap { + RelayMap::from_nodes([ + default_use_relay_node(), + default_usw_relay_node(), + default_euc_relay_node(), + ]) + .expect("failed to create default relay map") +} + +/// Get the default [`RelayNode`] for USE. +pub fn default_use_relay_node() -> RelayNode { + let url: Url = format!("https://{USE_RELAY_HOSTNAME}") + .parse() + .expect("default url"); + RelayNode { + url: url.into(), + stun_only: false, + stun_port: DEFAULT_STUN_PORT, + quic: Some(RelayQuicConfig::default()), + } +} + +/// Get the default [`RelayNode`] for USW. +pub fn default_usw_relay_node() -> RelayNode { + let url: Url = format!("https://{USW_RELAY_HOSTNAME}") + .parse() + .expect("default_url"); + RelayNode { + url: url.into(), + stun_only: false, + stun_port: DEFAULT_STUN_PORT, + quic: Some(RelayQuicConfig::default()), + } +} + +/// Get the default [`RelayNode`] for EUC +pub fn default_euc_relay_node() -> RelayNode { + // The default Asia-Pacific relay server run by number0. + let url: Url = format!("https://{EUC_RELAY_HOSTNAME}") + .parse() + .expect("default_url"); + RelayNode { + url: url.into(), + stun_only: false, + stun_port: DEFAULT_STUN_PORT, + quic: Some(RelayQuicConfig::default()), + } +} + impl IrohNode { /// Creates a new persistent iroh node in the specified location. /// @@ -95,6 +154,7 @@ impl IrohNode { let endpoint = Endpoint::builder() .discovery_n0() + .relay_mode(RelayMode::Custom(default_relay_map())) .secret_key(secret_key) .bind_addr_v4(v4) .bind_addr_v6(v6) From cf1923450ab23909d44048ba94d835b599b88cbb Mon Sep 17 00:00:00 2001 From: Brendan O'Brien Date: Fri, 30 May 2025 21:36:42 +0200 Subject: [PATCH 2/2] chore: upgrade to iroh v0.35, update entangler dep (#626) depends on [entangler #45](https://github.com/recallnet/entanglement/pull/45), after merging I'll update version deps to match the new version on engangler/main. targets #625, this updates iroh to version 0.35, which will match the version of the deployed relays. This PR also incorporates the streaming updates & config constant change that drops the `ENTANGLER_P` param, which should be reviewed. --- Cargo.lock | 781 ++++++++++++++++-------------- Cargo.toml | 18 +- fendermint/app/src/cmd/objects.rs | 4 +- recall/iroh_manager/src/node.rs | 9 +- 4 files changed, 435 insertions(+), 377 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c0d015a84..d35e86868 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -595,6 +595,19 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "async-compat" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bab94bde396a3f7b4962e396fdad640e241ed797d4d8d77fc8c237d14c58fc0" +dependencies = [ + "futures-core", + "futures-io", + "once_cell", + "pin-project-lite", + "tokio", +] + [[package]] name = "async-executor" version = "1.13.1" @@ -604,7 +617,7 @@ dependencies = [ "async-task", "concurrent-queue", "fastrand 2.2.0", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "slab", ] @@ -616,7 +629,7 @@ checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" dependencies = [ "async-lock 3.4.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -630,7 +643,7 @@ dependencies = [ "async-io 2.4.0", "async-lock 3.4.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "once_cell", ] @@ -664,7 +677,7 @@ dependencies = [ "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "parking", "polling 3.7.4", "rustix 0.38.41", @@ -701,7 +714,7 @@ checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" dependencies = [ "async-io 2.4.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -718,7 +731,7 @@ dependencies = [ "blocking", "cfg-if", "event-listener 5.3.1", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "rustix 0.38.41", "tracing", ] @@ -768,7 +781,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "gloo-timers 0.3.0", "kv-log-macro", "log", @@ -792,7 +805,7 @@ dependencies = [ "futures-util", "hickory-resolver 0.24.1", "pin-utils", - "socket2 0.5.8", + "socket2 0.5.10", ] [[package]] @@ -968,7 +981,7 @@ dependencies = [ "sync_wrapper 0.1.2", "tokio", "tokio-tungstenite 0.20.1", - "tower", + "tower 0.4.13", "tower-layer", "tower-service", ] @@ -1018,13 +1031,13 @@ dependencies = [ [[package]] name = "bao-tree" -version = "0.15.0" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed75ed308ae4f69cf727de0068b967c97f2d62b5430408849ecda8ca06620bd9" +checksum = "ff16d65e48353db458be63ee395c03028f24564fd48668389bd65fd945f5ac36" dependencies = [ "blake3", "bytes", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "genawaiter", "iroh-io", "positioned-io", @@ -1051,6 +1064,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" +[[package]] +name = "base32" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "022dfe9eb35f19ebbcb51e0b40a5ab759f46ad60cadf7297e0bd085afb50e076" + [[package]] name = "base64" version = "0.13.1" @@ -1318,7 +1337,7 @@ dependencies = [ "async-channel 2.3.1", "async-task", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "piper", ] @@ -1432,7 +1451,7 @@ dependencies = [ "serde_urlencoded", "thiserror 1.0.69", "tokio", - "tokio-util 0.7.13", + "tokio-util 0.7.15", "url", "winapi", ] @@ -1450,9 +1469,9 @@ dependencies = [ [[package]] name = "bounded-integer" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78a6932c88f1d2c29533a3b8a5f5a2f84cc19c3339b431677c3160c5c2e6ca85" +checksum = "102dbef1187b1893e6dfe05a774e79fd52265f49f214f6879c8ff49f52c8188b" [[package]] name = "bs58" @@ -1484,9 +1503,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.9.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" dependencies = [ "serde", ] @@ -2643,6 +2662,12 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" +[[package]] +name = "dyn-clone" +version = "1.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" + [[package]] name = "ec-gpu" version = "0.2.0" @@ -2912,12 +2937,6 @@ dependencies = [ "serde", ] -[[package]] -name = "erased_set" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a02a5d186d7bf1cb21f1f95e1a9cfa5c1f2dcd803a47aad454423ceec13525c5" - [[package]] name = "errno" version = "0.3.10" @@ -3399,7 +3418,7 @@ dependencies = [ "structopt", "tendermint 0.31.1", "tokio", - "tower", + "tower 0.4.13", "tower-abci", "tracing", "tracing-subscriber", @@ -3786,8 +3805,8 @@ dependencies = [ "tendermint-rpc", "thiserror 1.0.69", "tokio", - "tokio-util 0.7.13", - "tower", + "tokio-util 0.7.15", + "tower 0.4.13", "tower-abci", "tracing", "tracing-appender", @@ -3845,7 +3864,7 @@ dependencies = [ "serde_with 2.3.3", "serial_test", "tendermint-rpc", - "tower-http", + "tower-http 0.4.4", "tracing", ] @@ -3934,7 +3953,7 @@ dependencies = [ "tendermint-rpc", "thiserror 1.0.69", "tokio", - "tower-http", + "tower-http 0.4.4", "tracing", "tracing-subscriber", ] @@ -4270,7 +4289,7 @@ dependencies = [ "thiserror 1.0.69", "tokio", "tokio-stream", - "tokio-util 0.7.13", + "tokio-util 0.7.15", "tracing", ] @@ -4374,7 +4393,7 @@ dependencies = [ "tendermint-rpc", "thiserror 1.0.69", "tokio", - "tokio-util 0.7.13", + "tokio-util 0.7.15", "tracing", ] @@ -4820,14 +4839,15 @@ dependencies = [ [[package]] name = "futures-buffered" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34acda8ae8b63fbe0b2195c998b180cff89a8212fb2622a78b572a9f1c6f7684" +checksum = "fe940397c8b744b9c2c974791c2c08bca2c3242ce0290393249e98f215a00472" dependencies = [ "cordyceps", "diatomic-waker", "futures-core", "pin-project-lite", + "spin 0.9.8", ] [[package]] @@ -4881,9 +4901,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" +checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" dependencies = [ "fastrand 2.2.0", "futures-core", @@ -5272,14 +5292,16 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if", + "js-sys", "libc", - "wasi 0.13.3+wasi-0.2.2", - "windows-targets 0.52.6", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", + "wasm-bindgen", ] [[package]] @@ -5380,7 +5402,7 @@ dependencies = [ "indexmap 2.7.0", "slab", "tokio", - "tokio-util 0.7.13", + "tokio-util 0.7.15", "tracing", ] @@ -5399,7 +5421,7 @@ dependencies = [ "indexmap 2.7.0", "slab", "tokio", - "tokio-util 0.7.13", + "tokio-util 0.7.15", "tracing", ] @@ -5597,7 +5619,7 @@ dependencies = [ "ipnet", "once_cell", "rand 0.8.5", - "socket2 0.5.8", + "socket2 0.5.10", "thiserror 1.0.69", "tinyvec", "tokio", @@ -5725,9 +5747,9 @@ dependencies = [ [[package]] name = "hmac-sha256" -version = "1.1.7" +version = "1.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3688e69b38018fec1557254f64c8dc2cc8ec502890182f395dbb0aa997aa5735" +checksum = "ad6880c8d4a9ebf39c6e8b77007ce223f646a4d21ce29d99f70cb16420545425" [[package]] name = "home" @@ -5861,7 +5883,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.8", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -5870,9 +5892,9 @@ dependencies = [ [[package]] name = "hyper" -version = "1.5.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", @@ -5948,7 +5970,7 @@ checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" dependencies = [ "futures-util", "http 1.2.0", - "hyper 1.5.1", + "hyper 1.6.0", "hyper-util", "rustls 0.23.25", "rustls-pki-types", @@ -5973,18 +5995,23 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.10" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" +checksum = "b1c293b6b3d21eca78250dc7dbebd6b9210ec5530e038cbfe0661b5c47ab06e8" dependencies = [ + "base64 0.22.1", "bytes", "futures-channel", + "futures-core", "futures-util", "http 1.2.0", "http-body 1.0.1", - "hyper 1.5.1", + "hyper 1.6.0", + "ipnet", + "libc", + "percent-encoding", "pin-project-lite", - "socket2 0.5.8", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -6208,7 +6235,7 @@ dependencies = [ "netlink-packet-route 0.17.1", "netlink-proto", "netlink-sys", - "rtnetlink 0.13.1", + "rtnetlink", "smol", "system-configuration 0.6.1", "tokio", @@ -6236,9 +6263,9 @@ dependencies = [ [[package]] name = "igd-next" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76b0d7d4541def58a37bf8efc559683f21edce7c82f0d866c93ac21f7e098f93" +checksum = "d06464e726471718db9ad3fefc020529fabcde03313a0fc3967510e2db5add12" dependencies = [ "async-trait", "attohttpc", @@ -6246,10 +6273,10 @@ dependencies = [ "futures", "http 1.2.0", "http-body-util", - "hyper 1.5.1", + "hyper 1.6.0", "hyper-util", "log", - "rand 0.8.5", + "rand 0.9.0", "tokio", "url", "xmltree", @@ -6534,7 +6561,7 @@ dependencies = [ "tokio", "tokio-tungstenite 0.18.0", "toml 0.8.19", - "tower-http", + "tower-http 0.4.4", "tracing", "url", "zeroize", @@ -6653,7 +6680,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2 0.5.8", + "socket2 0.5.10", "widestring", "windows-sys 0.48.0", "winreg", @@ -6665,11 +6692,21 @@ version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" +[[package]] +name = "iri-string" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "iroh" -version = "0.34.1" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37432887a6836e7a832fccb121b5f0ee6cd953c506f99b0278bdbedf8dee0e88" +checksum = "6ca758f4ce39ae3f07de922be6c73de6a48a07f39554e78b5745585652ce38f5" dependencies = [ "aead", "anyhow", @@ -6683,10 +6720,12 @@ dependencies = [ "der 0.7.9", "derive_more 1.0.0", "ed25519-dalek", + "futures-buffered", "futures-util", + "getrandom 0.3.3", "hickory-resolver 0.25.1", "http 1.2.0", - "igd-next 0.15.1", + "igd-next 0.16.1", "instant", "iroh-base", "iroh-metrics", @@ -6702,12 +6741,13 @@ dependencies = [ "portmapper", "rand 0.8.5", "rcgen 0.13.2", - "reqwest 0.12.9", + "reqwest 0.12.18", "ring 0.17.8", "rustls 0.23.25", "rustls-webpki 0.102.8", "serde", "smallvec", + "spki 0.7.3", "strum", "stun-rs", "surge-ping", @@ -6715,7 +6755,7 @@ dependencies = [ "time", "tokio", "tokio-stream", - "tokio-util 0.7.13", + "tokio-util 0.7.15", "tracing", "url", "wasm-bindgen-futures", @@ -6726,9 +6766,9 @@ dependencies = [ [[package]] name = "iroh-base" -version = "0.34.1" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cd952d9e25e521d6aeb5b79f2fe32a0245da36aae3569e50f6010b38a5f0923" +checksum = "f91ac4aaab68153d726c4e6b39c30f9f9253743f0e25664e52f4caeb46f48d11" dependencies = [ "curve25519-dalek", "data-encoding", @@ -6743,9 +6783,9 @@ dependencies = [ [[package]] name = "iroh-blobs" -version = "0.34.1" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fa596a999c2df0269942918ec51abc64766433872f3c64ba9e9be8d9d2c7200" +checksum = "817b785193b73c34ef1f2dcb5ddf8729ecef9b72a8fc0e706ee6d7a9bf8766a6" dependencies = [ "anyhow", "async-channel 2.3.1", @@ -6756,7 +6796,7 @@ dependencies = [ "data-encoding", "derive_more 1.0.0", "futures-buffered", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "futures-util", "genawaiter", "hashlink", @@ -6765,7 +6805,7 @@ dependencies = [ "iroh-base", "iroh-io", "iroh-metrics", - "nested_enum_utils", + "nested_enum_utils 0.1.0", "num_cpus", "oneshot", "parking_lot", @@ -6786,7 +6826,7 @@ dependencies = [ "tempfile", "thiserror 2.0.11", "tokio", - "tokio-util 0.7.13", + "tokio-util 0.7.15", "tracing", "tracing-futures", "tracing-test", @@ -6795,12 +6835,12 @@ dependencies = [ [[package]] name = "iroh-io" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17e302c5ad649c6a7aa9ae8468e1c4dc2469321af0c6de7341c1be1bdaab434b" +checksum = "e0a5feb781017b983ff1b155cd1faf8174da2acafd807aa482876da2d7e6577a" dependencies = [ "bytes", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "pin-project", "smallvec", "tokio", @@ -6808,18 +6848,29 @@ dependencies = [ [[package]] name = "iroh-metrics" -version = "0.32.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0f7cd1ffe3b152a5f4f4c1880e01e07d96001f20e02cc143cb7842987c616b3" +checksum = "f70466f14caff7420a14373676947e25e2917af6a5b1bec45825beb2bf1eb6a7" dependencies = [ - "erased_set", - "prometheus-client", + "iroh-metrics-derive", + "itoa", "serde", - "struct_iterable", - "thiserror 2.0.11", + "snafu", "tracing", ] +[[package]] +name = "iroh-metrics-derive" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d12f5c45c4ed2436302a4e03cad9a0ad34b2962ad0c5791e1019c0ee30eeb09" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.98", +] + [[package]] name = "iroh-quinn" version = "0.13.0" @@ -6833,7 +6884,7 @@ dependencies = [ "pin-project-lite", "rustc-hash 2.1.0", "rustls 0.23.25", - "socket2 0.5.8", + "socket2 0.5.10", "thiserror 2.0.11", "tokio", "tracing", @@ -6870,52 +6921,55 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.5.8", + "socket2 0.5.10", "tracing", "windows-sys 0.59.0", ] [[package]] name = "iroh-relay" -version = "0.34.1" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40d2d7b50d999922791c6c14c25e13f55711e182618cb387bafa0896ffe0b930" +checksum = "c63f122cdfaa4b4e0e7d6d3921d2b878f42a0c6d3ee5a29456dc3f5ab5ec931f" dependencies = [ "anyhow", "bytes", "cfg_aliases", "data-encoding", "derive_more 1.0.0", + "getrandom 0.3.3", "hickory-resolver 0.25.1", "http 1.2.0", "http-body-util", - "hyper 1.5.1", + "hyper 1.6.0", "hyper-util", "iroh-base", "iroh-metrics", "iroh-quinn", "iroh-quinn-proto", - "lru", + "lru 0.12.5", "n0-future", "num_enum", "pin-project", "pkarr", "postcard", "rand 0.8.5", - "reqwest 0.12.9", + "reqwest 0.12.18", "rustls 0.23.25", "rustls-webpki 0.102.8", "serde", + "sha1", "strum", "stun-rs", "thiserror 2.0.11", "tokio", "tokio-rustls 0.26.1", - "tokio-tungstenite-wasm", - "tokio-util 0.7.13", + "tokio-util 0.7.15", + "tokio-websockets", "tracing", "url", "webpki-roots 0.26.7", + "ws_stream_wasm", "z32", ] @@ -7039,9 +7093,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.74" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a865e038f7f6ed956f788f0d7d60c541fff74c7bd74272c5d4cf15c63743e705" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", @@ -7204,9 +7258,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.167" +version = "0.2.172" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" [[package]] name = "libipld" @@ -7265,7 +7319,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -7449,7 +7503,7 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "lru", + "lru 0.12.5", "quick-protobuf", "quick-protobuf-codec 0.3.1", "smallvec", @@ -7527,7 +7581,7 @@ dependencies = [ "libp2p-swarm", "rand 0.8.5", "smallvec", - "socket2 0.5.8", + "socket2 0.5.10", "tokio", "tracing", "void", @@ -7650,7 +7704,7 @@ dependencies = [ "rand 0.8.5", "ring 0.17.8", "rustls 0.23.25", - "socket2 0.5.8", + "socket2 0.5.10", "thiserror 1.0.69", "tokio", "tracing", @@ -7691,7 +7745,7 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm-derive", - "lru", + "lru 0.12.5", "multistream-select", "once_cell", "rand 0.8.5", @@ -7726,7 +7780,7 @@ dependencies = [ "libc", "libp2p-core", "libp2p-identity", - "socket2 0.5.8", + "socket2 0.5.10", "tokio", "tracing", ] @@ -7956,6 +8010,12 @@ dependencies = [ "hashbrown 0.15.2", ] +[[package]] +name = "lru" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465" + [[package]] name = "lru-cache" version = "0.1.2" @@ -8277,20 +8337,20 @@ dependencies = [ [[package]] name = "n0-future" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "399e11dc3b0e8d9d65b27170d22f5d779d52d9bed888db70d7e0c2c7ce3dfc52" +checksum = "7bb0e5d99e681ab3c938842b96fcb41bf8a7bb4bfdb11ccbd653a7e83e06c794" dependencies = [ "cfg_aliases", "derive_more 1.0.0", "futures-buffered", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "futures-util", "js-sys", "pin-project", "send_wrapper 0.6.0", "tokio", - "tokio-util 0.7.13", + "tokio-util 0.7.15", "wasm-bindgen", "wasm-bindgen-futures", "web-time", @@ -8354,6 +8414,18 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "nested_enum_utils" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43fa9161ed44d30e9702fe42bd78693bceac0fed02f647da749f36109023d3a3" +dependencies = [ + "proc-macro-crate 3.2.0", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "netdev" version = "0.31.0" @@ -8398,11 +8470,12 @@ dependencies = [ [[package]] name = "netlink-packet-route" -version = "0.19.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74c171cd77b4ee8c7708da746ce392440cb7bcf618d122ec9ecc607b12938bf4" +checksum = "0800eae8638a299eaa67476e1c6b6692922273e0f7939fd188fc861c837b9cd2" dependencies = [ "anyhow", + "bitflags 2.6.0", "byteorder", "libc", "log", @@ -8424,26 +8497,25 @@ dependencies = [ [[package]] name = "netlink-proto" -version = "0.11.3" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b33524dc0968bfad349684447bfce6db937a9ac3332a1fe60c0c5a5ce63f21" +checksum = "72452e012c2f8d612410d89eea01e2d9b56205274abb35d53f60200b2ec41d60" dependencies = [ "bytes", "futures", "log", "netlink-packet-core", "netlink-sys", - "thiserror 1.0.69", - "tokio", + "thiserror 2.0.11", ] [[package]] name = "netlink-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416060d346fbaf1f23f9512963e3e878f1a78e707cb699ba9215761754244307" +checksum = "16c903aa70590cb93691bf97a767c8d1d6122d2cc9070433deb3bbf36ce8bd23" dependencies = [ - "async-io 1.13.0", + "async-io 2.4.0", "bytes", "futures", "libc", @@ -8453,9 +8525,9 @@ dependencies = [ [[package]] name = "netwatch" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7879c2cfdf30d92f2be89efa3169b3d78107e3ab7f7b9a37157782569314e1" +checksum = "67eeaa5f7505c93c5a9b35ba84fd21fb8aa3f24678c76acfe8716af7862fb07a" dependencies = [ "atomic-waker", "bytes", @@ -8465,18 +8537,18 @@ dependencies = [ "js-sys", "libc", "n0-future", + "nested_enum_utils 0.2.2", "netdev", "netlink-packet-core", - "netlink-packet-route 0.19.0", + "netlink-packet-route 0.23.0", + "netlink-proto", "netlink-sys", - "rtnetlink 0.13.1", - "rtnetlink 0.14.1", "serde", - "socket2 0.5.8", - "thiserror 2.0.11", + "snafu", + "socket2 0.5.10", "time", "tokio", - "tokio-util 0.7.13", + "tokio-util 0.7.15", "tracing", "web-sys", "windows 0.59.0", @@ -8501,17 +8573,6 @@ dependencies = [ "libc", ] -[[package]] -name = "nix" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" -dependencies = [ - "bitflags 2.6.0", - "cfg-if", - "libc", -] - [[package]] name = "no-std-net" version = "0.6.0" @@ -8534,6 +8595,21 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "ntimestamp" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c50f94c405726d3e0095e89e72f75ce7f6587b94a8bd8dc8054b73f65c0fd68c" +dependencies = [ + "base32", + "document-features", + "getrandom 0.2.15", + "httpdate", + "js-sys", + "once_cell", + "serde", +] + [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -8731,9 +8807,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.2" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" dependencies = [ "critical-section", "portable-atomic", @@ -9270,26 +9346,33 @@ dependencies = [ [[package]] name = "pkarr" -version = "2.2.0" +version = "3.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7945a08031b7e14de57e8385cea3bcc7e10a88701595dc11d82551ba07bae13e" +checksum = "3f552a2c2f80b6f3415e1722032ea92f24cc3f83f71b5b9de5600121c4a49fdd" dependencies = [ + "async-compat", + "base32", "bytes", + "cfg_aliases", "document-features", + "dyn-clone", "ed25519-dalek", - "flume 0.11.1", - "futures", - "js-sys", - "lru", + "futures-buffered", + "futures-lite 2.6.0", + "getrandom 0.2.15", + "log", + "lru 0.13.0", + "ntimestamp", + "reqwest 0.12.18", "self_cell", + "serde", + "sha1_smol", "simple-dns", - "thiserror 1.0.69", + "thiserror 2.0.11", + "tokio", "tracing", - "ureq", - "wasm-bindgen", + "url", "wasm-bindgen-futures", - "web-sys", - "z32", ] [[package]] @@ -9433,28 +9516,31 @@ checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" [[package]] name = "portmapper" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "247dcb75747c53cc433d6d8963a064187eec4a676ba13ea33143f1c9100e754f" +checksum = "7d6db66007eac4a0ec8331d0d20c734bd64f6445d64bbaf0d0a27fea7a054e36" dependencies = [ "base64 0.22.1", "bytes", "derive_more 1.0.0", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "futures-util", - "igd-next 0.15.1", + "hyper-util", + "igd-next 0.16.1", "iroh-metrics", "libc", + "nested_enum_utils 0.2.2", "netwatch", "num_enum", "rand 0.8.5", "serde", "smallvec", - "socket2 0.5.8", - "thiserror 2.0.11", + "snafu", + "socket2 0.5.10", "time", "tokio", - "tokio-util 0.7.13", + "tokio-util 0.7.15", + "tower-layer", "tracing", "url", ] @@ -9512,9 +9598,9 @@ dependencies = [ [[package]] name = "precis-core" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25a414cabc93f5f45d53463e73b3d89d3c5c0dc4a34dbf6901f0c6358f017203" +checksum = "9c2e7b31f132e0c6f8682cfb7bf4a5340dbe925b7986618d0826a56dfe0c8e56" dependencies = [ "precis-tools", "ucd-parse", @@ -9523,9 +9609,9 @@ dependencies = [ [[package]] name = "precis-profiles" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f58e2841ef58164e2626464d4fde67fa301d5e2c78a10300c1756312a03b169f" +checksum = "dc4f67f78f50388f03494794766ba824a704db16fb5d400fe8d545fa7bc0d3f1" dependencies = [ "lazy_static", "precis-core", @@ -9535,9 +9621,9 @@ dependencies = [ [[package]] name = "precis-tools" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "016da884bc4c2c4670211641abef402d15fa2b06c6e9088ff270dac93675aee2" +checksum = "6cc1eb2d5887ac7bfd2c0b745764db89edb84b856e4214e204ef48ef96d10c4a" dependencies = [ "lazy_static", "regex", @@ -9908,15 +9994,15 @@ dependencies = [ [[package]] name = "quic-rpc" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89561e5343bcad1c9f84321d9d9bd1619128ad44293faad55a0001b0e52d312b" +checksum = "18bad98bd048264ceb1361ff9d77a031535d8c1e3fe8f12c6966ec825bf68eb7" dependencies = [ "anyhow", "bytes", "document-features", "flume 0.11.1", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "futures-sink", "futures-util", "iroh-quinn", @@ -9930,15 +10016,15 @@ dependencies = [ "time", "tokio", "tokio-serde", - "tokio-util 0.7.13", + "tokio-util 0.7.15", "tracing", ] [[package]] name = "quic-rpc-derive" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a99f334af6f23b3de91f6df9ac17237e8b533b676f596c69dcb3b58c3cf8dea" +checksum = "abf13f1bced5f2f2642d9d89a29d75f2d81ab34c4acfcb434c209d6094b9b2b7" dependencies = [ "proc-macro2", "quic-rpc", @@ -10034,7 +10120,7 @@ dependencies = [ "quinn-udp", "rustc-hash 2.1.0", "rustls 0.23.25", - "socket2 0.5.8", + "socket2 0.5.10", "thiserror 2.0.11", "tokio", "tracing", @@ -10069,7 +10155,7 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.5.8", + "socket2 0.5.10", "tracing", "windows-sys 0.59.0", ] @@ -10093,6 +10179,12 @@ dependencies = [ "pest_derive", ] +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + [[package]] name = "radium" version = "0.7.0" @@ -10157,7 +10249,7 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ - "getrandom 0.3.1", + "getrandom 0.3.3", ] [[package]] @@ -10253,7 +10345,7 @@ dependencies = [ [[package]] name = "recall_entangler" version = "0.1.0" -source = "git+https://github.com/recallnet/entanglement.git?rev=6a61ea31dd2486ca6d1e96367d1f83d6d82602d4#6a61ea31dd2486ca6d1e96367d1f83d6d82602d4" +source = "git+https://github.com/recallnet/entanglement.git?rev=aee1c675ff05e5cde4771a2e2eb3ac4dab8476bc#aee1c675ff05e5cde4771a2e2eb3ac4dab8476bc" dependencies = [ "anyhow", "async-trait", @@ -10267,19 +10359,20 @@ dependencies = [ "serde_json", "thiserror 2.0.11", "tokio", + "tokio-stream", ] [[package]] name = "recall_entangler_storage" version = "0.1.0" -source = "git+https://github.com/recallnet/entanglement.git?rev=6a61ea31dd2486ca6d1e96367d1f83d6d82602d4#6a61ea31dd2486ca6d1e96367d1f83d6d82602d4" +source = "git+https://github.com/recallnet/entanglement.git?rev=aee1c675ff05e5cde4771a2e2eb3ac4dab8476bc#aee1c675ff05e5cde4771a2e2eb3ac4dab8476bc" dependencies = [ "anyhow", "async-trait", "bytes", "cid", "futures", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "iroh", "iroh-blobs", "serde", @@ -10381,9 +10474,9 @@ dependencies = [ [[package]] name = "redb" -version = "2.2.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84b1de48a7cf7ba193e81e078d17ee2b786236eed1d3f7c60f8a09545efc4925" +checksum = "ea0a72cd7140de9fc3e318823b883abf819c20d478ec89ce880466dc2ef263c6" dependencies = [ "libc", ] @@ -10545,7 +10638,7 @@ dependencies = [ "percent-encoding", "pin-project-lite", "rustls 0.21.12", - "rustls-pemfile 1.0.4", + "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", @@ -10565,9 +10658,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.9" +version = "0.12.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" +checksum = "e98ff6b0dbbe4d5a37318f433d4fc82babd21631f194d370409ceb2e40b2f0b5" dependencies = [ "base64 0.22.1", "bytes", @@ -10576,7 +10669,7 @@ dependencies = [ "http 1.2.0", "http-body 1.0.1", "http-body-util", - "hyper 1.5.1", + "hyper 1.6.0", "hyper-rustls 0.27.3", "hyper-util", "ipnet", @@ -10588,7 +10681,6 @@ dependencies = [ "pin-project-lite", "quinn", "rustls 0.23.25", - "rustls-pemfile 2.2.0", "rustls-pki-types", "serde", "serde_json", @@ -10596,15 +10688,16 @@ dependencies = [ "sync_wrapper 1.0.2", "tokio", "tokio-rustls 0.26.1", - "tokio-util 0.7.13", + "tokio-util 0.7.15", + "tower 0.5.2", + "tower-http 0.6.4", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 0.26.7", - "windows-registry", + "webpki-roots 1.0.0", ] [[package]] @@ -10755,25 +10848,7 @@ dependencies = [ "netlink-packet-utils", "netlink-proto", "netlink-sys", - "nix 0.26.4", - "thiserror 1.0.69", - "tokio", -] - -[[package]] -name = "rtnetlink" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b684475344d8df1859ddb2d395dd3dac4f8f3422a1aa0725993cb375fc5caba5" -dependencies = [ - "futures", - "log", - "netlink-packet-core", - "netlink-packet-route 0.19.0", - "netlink-packet-utils", - "netlink-proto", - "netlink-sys", - "nix 0.27.1", + "nix", "thiserror 1.0.69", "tokio", ] @@ -10969,7 +11044,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ "openssl-probe", - "rustls-pemfile 1.0.4", + "rustls-pemfile", "schannel", "security-framework 2.11.1", ] @@ -10995,15 +11070,6 @@ 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", -] - [[package]] name = "rustls-pki-types" version = "1.11.0" @@ -11328,9 +11394,9 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.217" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] @@ -11364,9 +11430,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.217" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", @@ -11564,6 +11630,12 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "sha1_smol" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" + [[package]] name = "sha2" version = "0.9.9" @@ -11677,11 +11749,17 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "simdutf8" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" + [[package]] name = "simple-dns" -version = "0.6.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01607fe2e61894468c6dc0b26103abb073fb08b79a3d9e4b6d76a1a341549958" +checksum = "dee851d0e5e7af3721faea1843e8015e820a234f81fda3dea9247e15bac9a86a" dependencies = [ "bitflags 2.6.0", ] @@ -11752,7 +11830,28 @@ dependencies = [ "async-net", "async-process", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", +] + +[[package]] +name = "snafu" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320b01e011bf8d5d7a4a4a4be966d9160968935849c83b918827f6a435e7f627" +dependencies = [ + "snafu-derive", +] + +[[package]] +name = "snafu-derive" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1961e2ef424c1424204d3a5d6975f934f56b6d50ff5732382d84ebf460e147f7" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.98", ] [[package]] @@ -11790,9 +11889,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.8" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", "windows-sys 0.52.0", @@ -12053,35 +12152,6 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "struct_iterable" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "849a064c6470a650b72e41fa6c057879b68f804d113af92900f27574828e7712" -dependencies = [ - "struct_iterable_derive", - "struct_iterable_internal", -] - -[[package]] -name = "struct_iterable_derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bb939ce88a43ea4e9d012f2f6b4cc789deb2db9d47bad697952a85d6978662c" -dependencies = [ - "erased-serde", - "proc-macro2", - "quote", - "struct_iterable_internal", - "syn 2.0.98", -] - -[[package]] -name = "struct_iterable_internal" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9426b2a0c03e6cc2ea8dbc0168dbbf943f88755e409fb91bcb8f6a268305f4a" - [[package]] name = "structopt" version = "0.3.26" @@ -12130,9 +12200,9 @@ dependencies = [ [[package]] name = "stun-rs" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b79cc624c9a747353810310af44f1f03f71eb4561284a894acc0396e6d0de76e" +checksum = "fb921f10397d5669e1af6455e9e2d367bf1f9cebcd6b1dd1dc50e19f6a9ac2ac" dependencies = [ "base64 0.22.1", "bounded-integer", @@ -12149,7 +12219,7 @@ dependencies = [ "precis-core", "precis-profiles", "quoted-string-parser", - "rand 0.8.5", + "rand 0.9.0", ] [[package]] @@ -12183,7 +12253,7 @@ dependencies = [ "parking_lot", "pnet_packet", "rand 0.8.5", - "socket2 0.5.8", + "socket2 0.5.10", "thiserror 1.0.69", "tokio", "tracing", @@ -12699,9 +12769,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.42.0" +version = "1.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" +checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" dependencies = [ "backtrace", "bytes", @@ -12710,16 +12780,16 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.8", + "socket2 0.5.10", "tokio-macros", "windows-sys 0.52.0", ] [[package]] name = "tokio-macros" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", @@ -12792,14 +12862,14 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ "futures-core", "pin-project-lite", "tokio", - "tokio-util 0.7.13", + "tokio-util 0.7.15", ] [[package]] @@ -12843,36 +12913,6 @@ dependencies = [ "tungstenite 0.21.0", ] -[[package]] -name = "tokio-tungstenite" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9" -dependencies = [ - "futures-util", - "log", - "tokio", - "tungstenite 0.24.0", -] - -[[package]] -name = "tokio-tungstenite-wasm" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e21a5c399399c3db9f08d8297ac12b500e86bca82e930253fdc62eaf9c0de6ae" -dependencies = [ - "futures-channel", - "futures-util", - "http 1.2.0", - "httparse", - "js-sys", - "thiserror 1.0.69", - "tokio", - "tokio-tungstenite 0.24.0", - "wasm-bindgen", - "web-sys", -] - [[package]] name = "tokio-util" version = "0.6.10" @@ -12889,21 +12929,43 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.13" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" +checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" dependencies = [ "bytes", "futures-core", "futures-io", "futures-sink", "futures-util", - "hashbrown 0.14.5", + "hashbrown 0.15.2", "pin-project-lite", "slab", "tokio", ] +[[package]] +name = "tokio-websockets" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fcaf159b4e7a376b05b5bfd77bfd38f3324f5fce751b4213bfc7eaa47affb4e" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-core", + "futures-sink", + "getrandom 0.3.3", + "http 1.2.0", + "httparse", + "rand 0.9.0", + "ring 0.17.8", + "rustls-pki-types", + "simdutf8", + "tokio", + "tokio-rustls 0.26.1", + "tokio-util 0.7.15", +] + [[package]] name = "toml" version = "0.5.11" @@ -12987,12 +13049,27 @@ dependencies = [ "rand 0.8.5", "slab", "tokio", - "tokio-util 0.7.13", + "tokio-util 0.7.15", "tower-layer", "tower-service", "tracing", ] +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper 1.0.2", + "tokio", + "tower-layer", + "tower-service", +] + [[package]] name = "tower-abci" version = "0.7.0" @@ -13008,7 +13085,7 @@ dependencies = [ "tokio", "tokio-stream", "tokio-util 0.6.10", - "tower", + "tower 0.4.13", "tracing", ] @@ -13030,6 +13107,24 @@ dependencies = [ "tower-service", ] +[[package]] +name = "tower-http" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fdb0c213ca27a9f57ab69ddb290fd80d970922355b83ae380b395d3986b8a2e" +dependencies = [ + "bitflags 2.6.0", + "bytes", + "futures-util", + "http 1.2.0", + "http-body 1.0.1", + "iri-string", + "pin-project-lite", + "tower 0.5.2", + "tower-layer", + "tower-service", +] + [[package]] name = "tower-layer" version = "0.3.3" @@ -13253,24 +13348,6 @@ dependencies = [ "utf-8", ] -[[package]] -name = "tungstenite" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" -dependencies = [ - "byteorder", - "bytes", - "data-encoding", - "http 1.2.0", - "httparse", - "log", - "rand 0.8.5", - "sha1", - "thiserror 1.0.69", - "utf-8", -] - [[package]] name = "typenum" version = "1.17.0" @@ -13401,21 +13478,6 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" -[[package]] -name = "ureq" -version = "2.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02d1a66277ed75f640d608235660df48c8e3c19f3b4edb6a263315626cc3c01d" -dependencies = [ - "base64 0.22.1", - "log", - "once_cell", - "rustls 0.23.25", - "rustls-pki-types", - "url", - "webpki-roots 0.26.7", -] - [[package]] name = "url" version = "2.5.4" @@ -13474,7 +13536,7 @@ version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0f540e3240398cce6128b64ba83fdbdd86129c16a3aa1a3a252efd66eb3d587" dependencies = [ - "getrandom 0.3.1", + "getrandom 0.3.3", ] [[package]] @@ -13588,7 +13650,7 @@ dependencies = [ "serde_urlencoded", "tokio", "tokio-tungstenite 0.21.0", - "tokio-util 0.7.13", + "tokio-util 0.7.15", "tower-service", "tracing", ] @@ -13601,33 +13663,33 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasi" -version = "0.13.3+wasi-0.2.2" +version = "0.14.2+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" dependencies = [ "wit-bindgen-rt", ] [[package]] name = "wasm-bindgen" -version = "0.2.97" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d15e63b4482863c109d70a7b8706c1e364eb6ea449b201a76c5b89cedcec2d5c" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.97" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d36ef12e3aaca16ddd3f67922bc63e48e953f126de60bd33ccc0101ef9998cd" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", "syn 2.0.98", @@ -13636,9 +13698,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.47" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dfaf8f50e5f293737ee323940c7d8b08a66a95a419223d9f41610ca08b0833d" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", @@ -13649,9 +13711,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.97" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "705440e08b42d3e4b36de7d66c944be628d579796b8090bfa3471478a2260051" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -13659,9 +13721,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.97" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98c9ae5a76e46f4deecd0f0255cc223cfa18dc9b261213b8aa0c7b36f61b3f1d" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", @@ -13672,9 +13734,12 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.97" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ee99da9c5ba11bd675621338ef6fa52296b76b83305e9b6e5c77d4c286d6d49" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "wasm-encoder" @@ -13928,9 +13993,9 @@ checksum = "c9a8c62e9df8322b2166d2a6f096fbec195ddb093748fd74170dcf25ef596769" [[package]] name = "web-sys" -version = "0.3.74" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a98bc3c33f0fe7e59ad7cd041b89034fa82a7c2d4365ca538dda6cdaf513863c" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -13999,6 +14064,15 @@ dependencies = [ "rustls-pki-types", ] +[[package]] +name = "webpki-roots" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "which" version = "4.4.2" @@ -14039,7 +14113,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] @@ -14182,17 +14256,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" -[[package]] -name = "windows-registry" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" -dependencies = [ - "windows-result 0.2.0", - "windows-strings 0.1.0", - "windows-targets 0.52.6", -] - [[package]] name = "windows-result" version = "0.1.2" @@ -14556,9 +14619,9 @@ dependencies = [ [[package]] name = "wit-bindgen-rt" -version = "0.33.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" dependencies = [ "bitflags 2.6.0", ] diff --git a/Cargo.toml b/Cargo.toml index 024eb9723..6101ce33d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -90,8 +90,8 @@ data-encoding = { version = "2.3.3" } dirs = "5.0" dircpy = "0.3.19" either = "1.10" -entangler = { package = "recall_entangler", git = "https://github.com/recallnet/entanglement.git", rev = "6a61ea31dd2486ca6d1e96367d1f83d6d82602d4" } -entangler_storage = { package = "recall_entangler_storage", git = "https://github.com/recallnet/entanglement.git", rev = "6a61ea31dd2486ca6d1e96367d1f83d6d82602d4" } +entangler = { package = "recall_entangler", git = "https://github.com/recallnet/entanglement.git", rev = "aee1c675ff05e5cde4771a2e2eb3ac4dab8476bc" } +entangler_storage = { package = "recall_entangler_storage", git = "https://github.com/recallnet/entanglement.git", rev = "aee1c675ff05e5cde4771a2e2eb3ac4dab8476bc" } env_logger = "0.10" erased-serde = "0.3" ethers = { version = "2.0.13", features = ["abigen", "ws"] } @@ -108,10 +108,10 @@ hex-literal = "0.4.1" http = "0.2.12" im = "15.1.0" integer-encoding = { version = "3.0.3", default-features = false } -iroh = "0.34" -iroh-base = "0.34" -iroh-blobs = { version = "0.34", features = ["rpc"] } -iroh-relay = "0.34" +iroh = "0.35" +iroh-base = "0.35" +iroh-blobs = { version = "0.35", features = ["rpc"] } +iroh-relay = "0.35" jsonrpc-v2 = { version = "0.11", default-features = false, features = [ "bytes-v10", ] } @@ -163,7 +163,7 @@ prost = { version = "0.11" } quickcheck = "1" quickcheck_async = "0.1" quickcheck_macros = "1" -quic-rpc = { version = "0.19", features = ["quinn-transport"] } +quic-rpc = { version = "0.20", features = ["quinn-transport"] } iroh-quinn = { version = "0.13" } rand = "0.8" rand_chacha = "0.3" @@ -190,7 +190,7 @@ tokio = { version = "1", features = [ "io-std", "sync", ] } -tokio-stream = "0.1.14" +tokio-stream = "0.1.17" tokio-util = { version = "0.7.8", features = ["compat"] } tokio-tungstenite = { version = "0.18.0", features = ["native-tls"] } toml = "0.8" @@ -252,7 +252,7 @@ fil_actor_adm = { path = "builtin-actors/actors/adm" } fil_actors_runtime = { path = "builtin-actors/runtime" } # Recall Solidity bindings -recall_sol_facade = { git = "https://github.com/recallnet/contracts", package = "recall_sol_facade", rev = "8dbfadfce7e306936a65fb955a83bc06b023007d" } +recall_sol_facade = { git = "https://github.com/recallnet/contracts", rev = "8dbfadfce7e306936a65fb955a83bc06b023007d" } # Using the same tendermint-rs dependency as tower-abci. From both we are interested in v037 modules. tower-abci = { version = "0.7" } diff --git a/fendermint/app/src/cmd/objects.rs b/fendermint/app/src/cmd/objects.rs index d56ccaf8e..184ab3e35 100644 --- a/fendermint/app/src/cmd/objects.rs +++ b/fendermint/app/src/cmd/objects.rs @@ -47,8 +47,6 @@ use crate::options::objects::{ObjectsArgs, ObjectsCommands}; const ENTANGLER_ALPHA: u8 = 3; /// The s parameter for alpha entanglement determines the number of horizontal strands in the grid. const ENTANGLER_S: u8 = 5; -/// The p parameter for alpha entanglement determines the number of helical strands in the grid. -const ENTANGLER_P: u8 = 5; /// Chunk size used by the entangler. const CHUNK_SIZE: u64 = 1024; @@ -531,7 +529,7 @@ async fn tag_entangled_data( fn new_entangler(iroh: &BlobsClient) -> Result, entangler::Error> { Entangler::new( EntanglerIrohStorage::from_client(iroh.clone()), - Config::new(ENTANGLER_ALPHA, ENTANGLER_S, ENTANGLER_P), + Config::new(ENTANGLER_ALPHA, ENTANGLER_S), ) } diff --git a/recall/iroh_manager/src/node.rs b/recall/iroh_manager/src/node.rs index 22918e1c3..56775a757 100644 --- a/recall/iroh_manager/src/node.rs +++ b/recall/iroh_manager/src/node.rs @@ -78,12 +78,11 @@ pub const EUC_RELAY_HOSTNAME: &str = "euc1-1.relay.recallnet.recall.iroh.link."; /// Get the default [`RelayMap`]. pub fn default_relay_map() -> RelayMap { - RelayMap::from_nodes([ + RelayMap::from_iter([ default_use_relay_node(), default_usw_relay_node(), default_euc_relay_node(), ]) - .expect("failed to create default relay map") } /// Get the default [`RelayNode`] for USE. @@ -168,8 +167,7 @@ impl IrohNode { let router = Router::builder(endpoint) .accept(iroh_blobs::ALPN, blobs.clone()) - .spawn() - .await?; + .spawn(); let client = blobs.client().boxed(); Ok(Self { @@ -190,8 +188,7 @@ impl IrohNode { let router = Router::builder(endpoint) .accept(iroh_blobs::ALPN, blobs.clone()) - .spawn() - .await?; + .spawn(); let client = blobs.client().boxed(); Ok(Self { router,