Skip to content

Commit 6aefa65

Browse files
committed
refactor: added canonical method
1 parent 8de087b commit 6aefa65

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

bech32-addr-converter-cli/Cargo.toml

-2
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,7 @@ keywords = ["bech32", "cli", "address-conversion"]
1010
categories = ["command-line-utilities", "cryptography", "utilities"]
1111

1212
[dependencies]
13-
bech32 = "0.9.1"
1413
clap = { version = "4.4.7", features = ["derive"] }
15-
cosmwasm-std = "1.3.0"
1614
csv = "1.3.0"
1715
bech32-addr-converter = { path = "../bech32-addr-converter" }
1816

bech32-addr-converter/src/converter.rs

+13-3
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,25 @@ impl From<bech32::primitives::hrp::Error> for Bech32Error {
2828
2929
pub fn any_addr_to_prefix_addr(addr: String, prefix: &str) -> Result<String, Bech32Error> {
3030
let (_hrp, data) = bech32::decode(&addr)?;
31-
let neutron_addr = bech32::encode::<Bech32>(bech32::Hrp::parse(prefix)?, &data)?;
32-
Ok(neutron_addr)
31+
let address = canonical_addr_to_prefix_addr(data, prefix)?;
32+
Ok(address)
33+
}
34+
35+
pub fn canonical_addr_to_prefix_addr(
36+
canonical_addr: impl Into<Vec<u8>>,
37+
prefix: &str,
38+
) -> Result<String, Bech32Error> {
39+
Ok(bech32::encode::<Bech32>(
40+
bech32::Hrp::parse(prefix)?,
41+
&canonical_addr.into(),
42+
)?)
3343
}
3444

3545
#[cfg(test)]
3646
mod tests {
3747
use super::*;
3848

39-
const JUNO_BECH32_PREFIX: &str = "juno";
49+
// const JUNO_BECH32_PREFIX: &str = "juno";
4050
const NEUTRON_BECH32_PREFIX: &str = "neutron";
4151
const OSMOSIS_BECH32_PREFIX: &str = "osmo";
4252
const TERRA_BECH32_PREFIX: &str = "terra";

0 commit comments

Comments
 (0)