diff --git a/zcash_primitives/src/note_encryption.rs b/zcash_primitives/src/note_encryption.rs index cf0b446e0..e6a64f061 100644 --- a/zcash_primitives/src/note_encryption.rs +++ b/zcash_primitives/src/note_encryption.rs @@ -381,8 +381,7 @@ fn parse_note_plaintext_without_memo( 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( /// /// 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( height: u32, ivk: &Fs, @@ -580,8 +579,8 @@ pub fn try_sapling_output_recovery( 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; } } diff --git a/zcash_primitives/src/primitives.rs b/zcash_primitives/src/primitives.rs index bb5b2e1c9..e475bd7ce 100644 --- a/zcash_primitives/src/primitives.rs +++ b/zcash_primitives/src/primitives.rs @@ -337,8 +337,8 @@ impl Note { } pub fn generate_or_derive_esk(&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 Note { // reduce to uniform value E::Fs::to_uniform(&buffer[..]) } - Rseed::AfterZip212(_) => self.derive_esk().unwrap(), + Some(esk) => esk, } }