diff --git a/src/dnssec_utils.rs b/src/dnssec_utils.rs index 3c85139..6245c35 100644 --- a/src/dnssec_utils.rs +++ b/src/dnssec_utils.rs @@ -27,17 +27,34 @@ pub fn resolve_proof(dns_name: &Name, proof: Vec) -> Result bool { + const URI_PREFIX: &[u8] = b"bitcoin:"; + text.len() >= URI_PREFIX.len() && text[..URI_PREFIX.len()].eq_ignore_ascii_case(URI_PREFIX) +} + +#[cfg(test)] +mod tests { + use super::has_bitcoin_prefix; + + #[test] + fn detects_expected_prefix() { + assert!(has_bitcoin_prefix(b"bitcoin:bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kg3g4ty")); + assert!(has_bitcoin_prefix(b"BiTcOiN:pay?amount=1000")); + assert!(!has_bitcoin_prefix(b"lightning:lnurl")); + assert!(!has_bitcoin_prefix(b"bitco")); } }