refactor: assert that Iroh node addresses have home relay URL

With newer Iroh it is possible to obtain
own node address before home relay is selected
and accidentally send own address without relay URL.

It took me some time to debug why Iroh 0.92.0
did not work with iroh-relay 0.92.0
so I'm adding these assertions even
while we still use Iroh 0.35.0.
This commit is contained in:
link2xt
2025-10-03 19:01:16 +00:00
committed by l
parent 209a8026fb
commit 080ddde68d
3 changed files with 21 additions and 8 deletions

View File

@@ -185,9 +185,14 @@ impl Iroh {
}
/// Get the iroh [NodeAddr] without direct IP addresses.
///
/// The address is guaranteed to have home relay URL set
/// as it is the only way to reach the node
/// without global discovery mechanisms.
pub(crate) async fn get_node_addr(&self) -> Result<NodeAddr> {
let mut addr = self.router.endpoint().node_addr().await?;
addr.direct_addresses = BTreeSet::new();
debug_assert!(addr.relay_url().is_some());
Ok(addr)
}