#[cfg(feature = "nostd")]
use alloc::format;
#[cfg(feature = "nostd")]
use alloc::string::String;
pub type Digest = [u8; DIGEST_BYTES];
pub const EMPTY_DIGEST: [u8; DIGEST_BYTES] = [0u8; DIGEST_BYTES];
pub const DIGEST_BYTES: usize = 32;
#[cfg(test)]
mod tests;
pub fn try_parse_digest(value: &[u8]) -> Result<Digest, String> {
if value.len() != DIGEST_BYTES {
Err(format!(
"Failed to parse Digest. Expected {} bytes but the value has {} bytes",
DIGEST_BYTES,
value.len()
))
} else {
let mut arr = EMPTY_DIGEST;
arr.copy_from_slice(value);
Ok(arr)
}
}