Browse Source

Address Eirik's review comments

master
Jack Grigg 5 years ago
parent
commit
07dbfbef59
No known key found for this signature in database
GPG Key ID: 9E8255172BBF9898
  1. 8
      zcash_primitives/src/merkle_tree.rs
  2. 1
      zcash_primitives/src/serialize.rs

8
zcash_primitives/src/merkle_tree.rs

@ -90,10 +90,10 @@ impl<Node: Hashable> CommitmentTree<Node> {
/// Returns the number of notes in the tree.
pub fn size(&self) -> usize {
self.parents.iter().enumerate().fold(
match (self.left.is_some(), self.right.is_some()) {
(false, false) => 0,
(true, false) | (false, true) => 1,
(true, true) => 2,
match (self.left, self.right) {
(None, None) => 0,
(Some(_), None) | (None, Some(_)) => 1,
(Some(_), Some(_)) => 2,
},
|acc, (i, p)| {
// Treat occupation of parents array as a binary number

1
zcash_primitives/src/serialize.rs

@ -221,6 +221,7 @@ mod tests {
eval_u8!(Some(1), [1, 1]);
eval_u8!(Some(5), [1, 5]);
eval_vec!(None as Option<Vec<_>>, [0]);
eval_vec!(Some(vec![]), [1, 0]);
eval_vec!(Some(vec![0]), [1, 1, 0]);
eval_vec!(Some(vec![1]), [1, 1, 1]);

Loading…
Cancel
Save