diff --git a/ubisync-lib/src/types/peer_id.rs b/ubisync-lib/src/types/peer_id.rs index 71fb01b..bff3923 100644 --- a/ubisync-lib/src/types/peer_id.rs +++ b/ubisync-lib/src/types/peer_id.rs @@ -1,7 +1,7 @@ use std::hash::Hash; -use anyhow::{anyhow, bail, Error}; -use i2p::net::{I2pAddr, I2pSocketAddr, ToI2pSocketAddrs}; +use anyhow::{anyhow, Error}; +use i2p::net::{I2pAddr, I2pSocketAddr}; use regex::Regex; use serde::{Deserialize, Serialize}; @@ -52,7 +52,11 @@ impl From for I2pSocketAddr { impl From for PeerId { fn from(value: I2pSocketAddr) -> Self { - PeerId { addr: value } + Self::try_from_b32(&value.dest().string(), Some(value.port())).unwrap_or( + Self::try_from_dest(&value.dest().string(), Some(value.port())).expect(&format!( + "I2pSocketAddr was neither in b32 nor in b64 format: {value:?}" + )), + ) } }