diff --git a/crates/core/asset/src/asset/denom_metadata.rs b/crates/core/asset/src/asset/denom_metadata.rs index 4e059468dc..9ec45b1b1d 100644 --- a/crates/core/asset/src/asset/denom_metadata.rs +++ b/crates/core/asset/src/asset/denom_metadata.rs @@ -371,7 +371,8 @@ impl Metadata { /// if this is an IBC transferred asset, `None` otherwise. pub fn ibc_transfer_path(&self) -> anyhow::Result> { let base_denom = self.base_denom().denom; - let re = Regex::new(r"^(?transfer/channel-[0-9]+)/(?\w+)$") + // The base denom portion of an IBC asset path may contain slashes: https://github.com/cosmos/ibc/issues/737 + let re = Regex::new(r"^(?transfer/channel-[0-9]+)/(?[\w\/]+)$") .context("error instantiating denom matching regex")?; let Some(caps) = re.captures(&base_denom) else {