Merge pull request #129 from zcash/release-0.1.2

Release 0.1.2
This commit is contained in:
str4d 2024-03-08 20:07:09 +00:00 committed by GitHub
commit 2122dbed71
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 33 additions and 3 deletions

View File

@ -7,7 +7,8 @@ and this library adheres to Rust's notion of
## [Unreleased]
## Added
## [0.1.2] - 2024-03-08
### Added
- `sapling_crypto::zip32::IncomingViewingKey`
- `sapling_crypto::zip32::DiversifiableFullViewingKey::to_external_ivk`

2
Cargo.lock generated
View File

@ -1271,7 +1271,7 @@ dependencies = [
[[package]]
name = "sapling-crypto"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"aes",
"bellman",

View File

@ -1,6 +1,6 @@
[package]
name = "sapling-crypto"
version = "0.1.1"
version = "0.1.2"
authors = [
"Sean Bowe <sean@electriccoin.co>",
"Jack Grigg <jack@electriccoin.co>",

View File

@ -1050,6 +1050,25 @@ mod tests {
assert_eq!(dfvk_parsed.to_bytes(), dfvk_bytes);
}
#[test]
fn ivk_round_trip() {
let ivk = {
let extsk = ExtendedSpendingKey::master(&[]);
#[allow(deprecated)]
let extfvk = extsk.to_extended_full_viewing_key();
DiversifiableFullViewingKey::from(extfvk).to_external_ivk()
};
// Check value -> bytes -> parsed round trip.
let ivk_bytes = ivk.to_bytes();
let ivk_parsed = IncomingViewingKey::from_bytes(&ivk_bytes).unwrap();
assert_eq!(ivk_parsed.dk, ivk.dk);
assert_eq!(ivk_parsed.ivk.0, ivk.ivk.0);
// Check bytes -> parsed -> bytes round trip.
assert_eq!(ivk_parsed.to_bytes(), ivk_bytes);
}
#[test]
fn address() {
let seed = [0; 32];
@ -1818,6 +1837,16 @@ mod tests {
internal_xfvk.write(&mut ser).unwrap();
assert_eq!(&ser[..], &tv.internal_xfvk[..]);
assert_eq!(FvkFingerprint::from(&internal_xfvk.fvk).0, tv.internal_fp);
let dfvk = xfvk.to_diversifiable_full_viewing_key();
let ivk = dfvk.to_external_ivk();
let ivk_bytes = ivk.to_bytes();
assert_eq!(&ivk_bytes[..32], tv.dk);
assert_eq!(&ivk_bytes[32..], tv.ivk);
let ivk_rt = IncomingViewingKey::from_bytes(&ivk_bytes).unwrap();
assert_eq!(ivk.dk, ivk_rt.dk);
assert_eq!(ivk.ivk.0, ivk_rt.ivk.0);
}
}
}