use bech32::Hrp;
pub const NPUB: &str = "npub";
pub const NSEC: &str = "nsec";
pub const NOTE: &str = "note";
pub const NPROFILE: &str = "nprofile";
pub const NEVENT: &str = "nevent";
pub const NADDR: &str = "naddr";
#[must_use]
pub fn hrp_unchecked(value: &'static str) -> Hrp {
debug_assert!(
Hrp::parse(value).is_ok(),
"internal NIP-19 HRP must be valid"
);
Hrp::parse_unchecked(value)
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn known_hrps_are_valid() {
for value in [NPUB, NSEC, NOTE, NPROFILE, NEVENT, NADDR] {
let hrp = Hrp::parse(value).unwrap();
assert_eq!(hrp.as_str(), value);
}
}
#[test]
fn hrp_unchecked_round_trip() {
let hrp = hrp_unchecked(NPUB);
assert_eq!(hrp.as_str(), NPUB);
}
}