diff --git a/waku/src/general/mod.rs b/waku/src/general/mod.rs index 1eb1368..64074ea 100644 --- a/waku/src/general/mod.rs +++ b/waku/src/general/mod.rs @@ -395,7 +395,7 @@ impl FromStr for WakuPubSubTopic { type Err = String; fn from_str(s: &str) -> std::result::Result { - if let Ok((topic_name, encoding)) = scanf!(s, "/waku/v2/{}/{}", String, Encoding) { + if let Ok((topic_name, encoding)) = scanf!(s, "/waku/2/{}/{:/.+?/}", String, Encoding) { Ok(WakuPubSubTopic { topic_name, encoding, @@ -487,3 +487,15 @@ where }) .transpose() } + +#[cfg(test)] +mod tests { + use super::*; + use crate::WakuPubSubTopic; + use sscanf::scanf; + #[test] + fn parse_waku_topic() { + let s = "/waku/2/default-waku/proto"; + let _: WakuPubSubTopic = s.parse().unwrap(); + } +}