Support nullifier derivation from borrowed Spending, NullifierDeriving keys
This commit is contained in:
parent
40b5a73a15
commit
e024e43896
|
@ -130,6 +130,12 @@ impl From<SpendingKey> 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 {
|
impl std::str::FromStr for SpendingKey {
|
||||||
type Err = SerializationError;
|
type Err = SerializationError;
|
||||||
|
|
||||||
|
|
|
@ -39,8 +39,8 @@ impl From<[u8; 32]> for Nullifier {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> From<&'a (NoteCommitment, Position, NullifierDerivingKey)> for Nullifier {
|
impl<'a> From<(NoteCommitment, Position, &'a NullifierDerivingKey)> for Nullifier {
|
||||||
fn from((cm, pos, nk): &'a (NoteCommitment, Position, NullifierDerivingKey)) -> Self {
|
fn from((cm, pos, nk): (NoteCommitment, Position, &'a 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()))
|
||||||
|
|
|
@ -73,8 +73,8 @@ impl From<[u8; 32]> for Nullifier {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<(SpendingKey, NullifierSeed)> for Nullifier {
|
impl<'a> From<(&'a SpendingKey, NullifierSeed)> for Nullifier {
|
||||||
fn from((a_sk, rho): (SpendingKey, NullifierSeed)) -> Self {
|
fn from((a_sk, rho): (&'a SpendingKey, NullifierSeed)) -> Self {
|
||||||
Self(prf_nf(a_sk.into(), rho.into()))
|
Self(prf_nf(a_sk.into(), rho.into()))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue