diff --git a/common/clients/directory-client/src/presence.rs b/common/clients/directory-client/src/presence.rs index 19a4e5da01..958acde8b6 100644 --- a/common/clients/directory-client/src/presence.rs +++ b/common/clients/directory-client/src/presence.rs @@ -1,6 +1,7 @@ use crate::requests::presence_topology_get::PresenceTopologyGetRequester; use crate::{Client, Config, DirectoryClient}; use serde::{Deserialize, Serialize}; +use std::net::ToSocketAddrs; use topology::{CocoNode, MixNode, MixProviderNode, NymTopology}; #[derive(Clone, Debug, Deserialize, Serialize)] @@ -47,7 +48,15 @@ pub struct MixNodePresence { impl Into for MixNodePresence { fn into(self) -> topology::MixNode { topology::MixNode { - host: self.host.parse().unwrap(), + host: self + .host + .to_socket_addrs() + .expect(&format!( + "failed to parse topology host ({:?}) into a SocketAddr", + self.host + )) + .next() + .unwrap(), pub_key: self.pub_key, layer: self.layer, last_seen: self.last_seen,