Skip to content

Commit 19bcfa0

Browse files
Remove use of unwrap() in sinsemilla::merkle test
1 parent ffee0c4 commit 19bcfa0

File tree

1 file changed

+21
-23
lines changed

1 file changed

+21
-23
lines changed

src/circuit/gadget/sinsemilla/merkle.rs

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -452,32 +452,30 @@ impl<C: CurveAffine, const PATH_LENGTH: usize, const K: usize, const MAX_WORDS:
452452
use crate::constants::{L_ORCHARD_BASE, MERKLE_CRH_PERSONALIZATION};
453453
use crate::primitives::sinsemilla::HashDomain;
454454

455-
let l_star = i2lebsp::<10>(l_star as u32);
456-
let left: Vec<_> = left
457-
.value()
458-
.unwrap()
459-
.to_le_bits()
460-
.iter()
461-
.by_val()
462-
.take(L_ORCHARD_BASE)
463-
.collect();
464-
let right: Vec<_> = right
465-
.value()
466-
.unwrap()
467-
.to_le_bits()
468-
.iter()
469-
.by_val()
470-
.take(L_ORCHARD_BASE)
471-
.collect();
472-
let merkle_crh = HashDomain::new(MERKLE_CRH_PERSONALIZATION);
455+
if let (Some(left), Some(right)) = (left.value(), right.value()) {
456+
let l_star = i2lebsp::<10>(l_star as u32);
457+
let left: Vec<_> = left
458+
.to_le_bits()
459+
.iter()
460+
.by_val()
461+
.take(L_ORCHARD_BASE)
462+
.collect();
463+
let right: Vec<_> = right
464+
.to_le_bits()
465+
.iter()
466+
.by_val()
467+
.take(L_ORCHARD_BASE)
468+
.collect();
469+
let merkle_crh = HashDomain::new(MERKLE_CRH_PERSONALIZATION);
473470

474-
let mut message = l_star.to_vec();
475-
message.extend_from_slice(&left);
476-
message.extend_from_slice(&right);
471+
let mut message = l_star.to_vec();
472+
message.extend_from_slice(&left);
473+
message.extend_from_slice(&right);
477474

478-
let expected = merkle_crh.hash(message.into_iter()).unwrap();
475+
let expected = merkle_crh.hash(message.into_iter()).unwrap();
479476

480-
assert_eq!(expected.to_bytes(), result.value().unwrap().to_bytes());
477+
assert_eq!(expected.to_bytes(), result.value().unwrap().to_bytes());
478+
}
481479
}
482480

483481
Ok(result)

0 commit comments

Comments
 (0)