diff --git a/zebra-chain/src/keys/sprout.rs b/zebra-chain/src/keys/sprout.rs index 2335b4a66..75cefd619 100644 --- a/zebra-chain/src/keys/sprout.rs +++ b/zebra-chain/src/keys/sprout.rs @@ -130,6 +130,12 @@ impl From for [u8; 32] { } } +impl<'a> From<&'a SpendingKey> for [u8; 32] { + fn from(spending_key: &'a SpendingKey) -> [u8; 32] { + spending_key.bytes + } +} + impl std::str::FromStr for SpendingKey { type Err = SerializationError; diff --git a/zebra-chain/src/notes/sapling/nullifiers.rs b/zebra-chain/src/notes/sapling/nullifiers.rs index 836ec712c..37f2590a3 100644 --- a/zebra-chain/src/notes/sapling/nullifiers.rs +++ b/zebra-chain/src/notes/sapling/nullifiers.rs @@ -39,8 +39,8 @@ impl From<[u8; 32]> for Nullifier { } } -impl<'a> From<&'a (NoteCommitment, Position, NullifierDerivingKey)> for Nullifier { - fn from((cm, pos, nk): &'a (NoteCommitment, Position, NullifierDerivingKey)) -> Self { +impl<'a> From<(NoteCommitment, Position, &'a NullifierDerivingKey)> for Nullifier { + fn from((cm, pos, nk): (NoteCommitment, Position, &'a NullifierDerivingKey)) -> Self { let rho = jubjub::AffinePoint::from(mixing_pedersen_hash(cm.0.into(), pos.0.into())); Nullifier(prf_nf(nk.into(), rho.to_bytes())) diff --git a/zebra-chain/src/notes/sprout/nullifiers.rs b/zebra-chain/src/notes/sprout/nullifiers.rs index 54e647950..8609a8638 100644 --- a/zebra-chain/src/notes/sprout/nullifiers.rs +++ b/zebra-chain/src/notes/sprout/nullifiers.rs @@ -73,8 +73,8 @@ impl From<[u8; 32]> for Nullifier { } } -impl From<(SpendingKey, NullifierSeed)> for Nullifier { - fn from((a_sk, rho): (SpendingKey, NullifierSeed)) -> Self { +impl<'a> From<(&'a SpendingKey, NullifierSeed)> for Nullifier { + fn from((a_sk, rho): (&'a SpendingKey, NullifierSeed)) -> Self { Self(prf_nf(a_sk.into(), rho.into())) } }