use super::*;
impl<A: Aleo, Private: Visibility<A>> Record<A, Private> {
pub(crate) fn num_randomizers(&self) -> u16 {
let mut num_randomizers: u16 = 0;
if self.owner.is_private().eject_value() {
num_randomizers += 1;
}
for (_, entry) in self.data.iter() {
num_randomizers = match num_randomizers.checked_add(entry.num_randomizers()) {
Some(num_randomizers) => num_randomizers,
None => A::halt("Number of randomizers exceeds the maximum allowed size."),
};
}
match num_randomizers as u32 <= A::MAX_DATA_SIZE_IN_FIELDS {
true => num_randomizers,
false => A::halt("Number of randomizers exceeds the maximum allowed size."),
}
}
}