impl From<&NullifierDerivingKey>, use that to derive Sapling Nullifier

This commit is contained in:
Deirdre Connolly 2020-08-05 23:03:09 -04:00 committed by Deirdre Connolly
parent a8625b7b84
commit 40b5a73a15
2 changed files with 8 additions and 2 deletions

View File

@ -455,6 +455,12 @@ impl From<NullifierDerivingKey> for [u8; 32] {
} }
} }
impl From<&NullifierDerivingKey> for [u8; 32] {
fn from(nk: &NullifierDerivingKey) -> [u8; 32] {
nk.0.to_bytes()
}
}
impl From<ProofAuthorizingKey> for NullifierDerivingKey { impl From<ProofAuthorizingKey> for NullifierDerivingKey {
/// Requires JubJub's _FindGroupHash^J("Zcash_H_", "")_, then uses /// Requires JubJub's _FindGroupHash^J("Zcash_H_", "")_, then uses
/// the resulting generator point to scalar multiply the /// the resulting generator point to scalar multiply the

View File

@ -39,8 +39,8 @@ impl From<[u8; 32]> for Nullifier {
} }
} }
impl From<(NoteCommitment, Position, NullifierDerivingKey)> for Nullifier { impl<'a> From<&'a (NoteCommitment, Position, NullifierDerivingKey)> for Nullifier {
fn from((cm, pos, nk): (NoteCommitment, Position, NullifierDerivingKey)) -> Self { fn from((cm, pos, nk): &'a (NoteCommitment, Position, NullifierDerivingKey)) -> Self {
let rho = jubjub::AffinePoint::from(mixing_pedersen_hash(cm.0.into(), pos.0.into())); let rho = jubjub::AffinePoint::from(mixing_pedersen_hash(cm.0.into(), pos.0.into()));
Nullifier(prf_nf(nk.into(), rho.to_bytes())) Nullifier(prf_nf(nk.into(), rho.to_bytes()))