use super::*;
impl<N: Network, Private: Visibility> Record<N, Private> {
pub(crate) fn num_randomizers(&self) -> Result<u16> {
let mut num_randomizers: u16 = 0;
if self.owner.is_private() {
num_randomizers += 1;
}
for (_, entry) in self.data.iter() {
num_randomizers = num_randomizers
.checked_add(entry.num_randomizers()?)
.ok_or_else(|| anyhow!("Number of randomizers exceeds maximum allowed size."))?;
}
match num_randomizers as u32 <= N::MAX_DATA_SIZE_IN_FIELDS {
true => Ok(num_randomizers),
false => bail!("Number of randomizers exceeds the maximum allowed size."),
}
}
}