Compare commits

..

No commits in common. "5805178fc73777e497a63fb55d515e7b7721d312" and "916145e6ffa511abee8b1d19bd5178fa23980212" have entirely different histories.

4 changed files with 2 additions and 33 deletions

View File

@ -7,12 +7,5 @@ and this library adheres to Rust's notion of
## [Unreleased]
## [0.1.1] - 2024-03-14
### Added
- `impl {Clone, Copy, Debug, PartialOrd, Ord, PartialEq, Eq, Hash}` for
`zip32::fingerprint::SeedFingerprint`
- `zip32::fingerprint::SeedFingerprint::from_bytes`
## [0.1.0] - 2023-12-06
Initial release.

2
Cargo.lock generated
View File

@ -51,7 +51,7 @@ checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
[[package]]
name = "zip32"
version = "0.1.1"
version = "0.1.0"
dependencies = [
"assert_matches",
"blake2b_simd",

View File

@ -1,6 +1,6 @@
[package]
name = "zip32"
version = "0.1.1"
version = "0.1.0"
authors = [
"Jack Grigg <jack@electriccoin.co>",
"Kris Nuttycombe <kris@electriccoin.co>",

View File

@ -10,21 +10,8 @@ const ZIP32_SEED_FP_PERSONALIZATION: &[u8; 16] = b"Zcash_HD_Seed_FP";
/// The fingerprint for a wallet's seed bytes, as defined in [ZIP 32].
///
/// [ZIP 32]: https://zips.z.cash/zip-0032#seed-fingerprints
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct SeedFingerprint([u8; 32]);
impl ::core::fmt::Debug for SeedFingerprint {
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
write!(f, "SeedFingerprint(")?;
for i in self.0 {
write!(f, "{:02x}", i)?;
}
write!(f, ")")?;
Ok(())
}
}
impl SeedFingerprint {
/// Derives the fingerprint of the given seed bytes.
///
@ -51,11 +38,6 @@ impl SeedFingerprint {
}
}
/// Reconstructs the fingerprint from a buffer containing a previously computed fingerprint.
pub fn from_bytes(hash: [u8; 32]) -> Self {
Self(hash)
}
/// Returns the fingerprint as a byte array.
pub fn to_bytes(&self) -> [u8; 32] {
self.0
@ -67,7 +49,6 @@ fn test_seed_fingerprint() {
struct TestVector {
root_seed: [u8; 32],
fingerprint: [u8; 32],
fingerprint_str: &'static str,
}
let test_vectors = [TestVector {
@ -81,16 +62,11 @@ fn test_seed_fingerprint() {
0x46, 0xf2, 0xfd, 0x8d, 0x53, 0x89, 0xf7, 0x7, 0x25, 0x56, 0xdc, 0xb5, 0x55, 0xfd,
0xbe, 0x5e, 0x3a, 0xe3,
],
fingerprint_str: "deff604c246710f7176dead02aa746f2fd8d5389f7072556dcb555fdbe5e3ae3",
}];
for tv in test_vectors {
let fp = SeedFingerprint::from_seed(&tv.root_seed).expect("root_seed has valid length");
assert_eq!(&fp.to_bytes(), &tv.fingerprint[..]);
assert_eq!(
std::format!("{:?}", fp),
std::format!("SeedFingerprint({})", tv.fingerprint_str)
);
}
}
#[test]