Update zcash_primitives/CHANGELOG.md with change key derivation methods.

This commit is contained in:
Kris Nuttycombe 2022-01-22 19:35:01 -07:00
parent eb80138cf9
commit 54cca8081b
1 changed files with 20 additions and 3 deletions

View File

@ -31,8 +31,8 @@ and this library adheres to Rust's notion of
Orchard). This type makes it possible to encode a type-safe state machine
for the application of authorizing data to a transaction; implementations of
this trait represent different states of the authorization process.
- New bundle types under the `zcash_primitives::transaction` submodules, one for
each Zcash sub-protocol. These are now used instead of bare fields
- New bundle types under the `zcash_primitives::transaction` submodules, one for
each Zcash sub-protocol. These are now used instead of bare fields
within the `TransactionData` type.
- `components::sapling::Bundle` bundle of
Sapling transaction elements. This new struct is parameterized by a
@ -58,7 +58,7 @@ and this library adheres to Rust's notion of
diversifier index space, whereas `sapling_diversifier` just attempts to use the
provided diversifier index and returns `None` if it does not produce a valid
diversifier.
- `zcash_primitives::zip32::DiversifierKey::diversifier` has been renamed to
- `zcash_primitives::zip32::DiversifierKey::diversifier` has been renamed to
`find_diversifier` and the `diversifier` method has new semantics.
`find_diversifier` searches the diversifier index space to find a diversifier
index which produces a valid diversifier, whereas `diversifier` just attempts
@ -71,6 +71,23 @@ and this library adheres to Rust's notion of
just attempts to create an address corresponding to the diversifier derived
from the provided diversifier index and returns `None` if the provided index
does not produce a valid diversifier.
- `zcash_primitives::zip32::ExtendedSpendingKey.derive_internal` has been
added to facilitate the derivation of an internal (change) spending key.
This spending key can be used to spend change sent to an internal address
corresponding to the associated full viewing key as specified in
[ZIP 316](https://zips.z.cash/zip-0316#encoding-of-unified-full-incoming-viewing-keys)..
- `zcash_primitives::zip32::ExtendedFullViewingKey.derive_internal` has been
added to facilitate the derivation of an internal (change) spending key.
This spending key can be used to spend change sent to an internal address
corresponding to the associated full viewing key as specified in
[ZIP 32](https://zips.z.cash/zip-0032#deriving-a-sapling-internal-spending-key).
- `zcash_primitives::zip32::sapling_derive_internal_fvk` provides the
internal implementation of `ExtendedFullViewingKey.derive_internal`
but does not require a complete extended full viewing key, just
the full viewing key and the diversifier key. In the future, this
function will likely be refactored to become a member function of
a new `DiversifiableFullViewingKey` type, which represents the ability
to derive IVKs, OVKs, and addresses, but not child viewing keys.
### Changed
- MSRV is now 1.51.0.