Avoid using unwrap() when calling derive_esk()
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
parent
d54fd09c5f
commit
13f4d0844e
|
@ -381,8 +381,7 @@ fn parse_note_plaintext_without_memo<P: consensus::Parameters>(
|
|||
return None;
|
||||
}
|
||||
|
||||
if let Rseed::AfterZip212(_) = note.rseed {
|
||||
let derived_esk = note.derive_esk().unwrap();
|
||||
if let Some(derived_esk) = note.derive_esk() {
|
||||
if note.g_d.mul(derived_esk, &JUBJUB) != *epk {
|
||||
return None;
|
||||
}
|
||||
|
@ -461,7 +460,7 @@ pub fn try_sapling_note_decryption<P: consensus::Parameters>(
|
|||
///
|
||||
/// Implements the procedure specified in [`ZIP 307`].
|
||||
///
|
||||
/// [`ZIP 307`]: https://github.com/zcash/zips/pull/226
|
||||
/// [`ZIP 307`]: https://zips.z.cash/zip-0307
|
||||
pub fn try_sapling_compact_note_decryption<P: consensus::Parameters>(
|
||||
height: u32,
|
||||
ivk: &Fs,
|
||||
|
@ -580,8 +579,8 @@ pub fn try_sapling_output_recovery<P: consensus::Parameters>(
|
|||
return None;
|
||||
}
|
||||
|
||||
if let Rseed::AfterZip212(_) = note.rseed {
|
||||
if note.derive_esk().unwrap() != esk {
|
||||
if let Some(derived_esk) = note.derive_esk() {
|
||||
if derived_esk != esk {
|
||||
return None;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -337,8 +337,8 @@ impl<E: JubjubEngine> Note<E> {
|
|||
}
|
||||
|
||||
pub fn generate_or_derive_esk<R: RngCore + CryptoRng>(&self, rng: &mut R) -> E::Fs {
|
||||
match self.rseed {
|
||||
Rseed::BeforeZip212(_) => {
|
||||
match self.derive_esk() {
|
||||
None => {
|
||||
// create random 64 byte buffer
|
||||
let mut buffer = [0u8; 64];
|
||||
&rng.fill_bytes(&mut buffer);
|
||||
|
@ -346,7 +346,7 @@ impl<E: JubjubEngine> Note<E> {
|
|||
// reduce to uniform value
|
||||
E::Fs::to_uniform(&buffer[..])
|
||||
}
|
||||
Rseed::AfterZip212(_) => self.derive_esk().unwrap(),
|
||||
Some(esk) => esk,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue