diff --git a/crates/bdk/src/descriptor/checksum.rs b/crates/bdk/src/descriptor/checksum.rs index bce27ef9..243376bc 100644 --- a/crates/bdk/src/descriptor/checksum.rs +++ b/crates/bdk/src/descriptor/checksum.rs @@ -42,22 +42,16 @@ fn poly_mod(mut c: u64, val: u64) -> u64 { c } -/// Computes the checksum bytes of a descriptor. -/// `exclude_hash = true` ignores all data after the first '#' (inclusive). -pub(crate) fn calc_checksum_bytes_internal( - mut desc: &str, - exclude_hash: bool, -) -> Result<[u8; 8], DescriptorError> { +/// Compute the checksum bytes of a descriptor, excludes any existing checksum in the descriptor string from the calculation +pub fn calc_checksum_bytes(mut desc: &str) -> Result<[u8; 8], DescriptorError> { let mut c = 1; let mut cls = 0; let mut clscount = 0; let mut original_checksum = None; - if exclude_hash { - if let Some(split) = desc.split_once('#') { - desc = split.0; - original_checksum = Some(split.1); - } + if let Some(split) = desc.split_once('#') { + desc = split.0; + original_checksum = Some(split.1); } for ch in desc.as_bytes() { @@ -95,20 +89,12 @@ pub(crate) fn calc_checksum_bytes_internal( Ok(checksum) } -/// Compute the checksum bytes of a descriptor, excludes any existing checksum in the descriptor string from the calculation -pub fn calc_checksum_bytes(desc: &str) -> Result<[u8; 8], DescriptorError> { - calc_checksum_bytes_internal(desc, true) -} - /// Compute the checksum of a descriptor, excludes any existing checksum in the descriptor string from the calculation pub fn calc_checksum(desc: &str) -> Result { // unsafe is okay here as the checksum only uses bytes in `CHECKSUM_CHARSET` - calc_checksum_bytes_internal(desc, true) - .map(|b| unsafe { String::from_utf8_unchecked(b.to_vec()) }) + calc_checksum_bytes(desc).map(|b| unsafe { String::from_utf8_unchecked(b.to_vec()) }) } -// TODO in release 0.25.0, consolidate calc_checksum_bytes_internal into calc_checksum_bytes - #[cfg(test)] mod test { use super::*;