Skip to content

zcash_client_backend-0.16.0

@nuttycom nuttycom tagged this 17 Dec 14:42
[0.16.0] - 2024-12-16
=====================

Added
-----
- `zcash_client_backend::data_api`
  - `AccountSource::key_derivation`
  - `error::PcztError`
  - `wallet::ExtractErrT`
  - `wallet::create_pczt_from_proposal`
  - `wallet::extract_and_store_transaction_from_pczt`

Changed
-------
- Migrated to `sapling-crypto 0.4`, `zcash_keys 0.6`, `zcash_primitives 0.21`,
  `zcash_proofs 0.21`.
- `zcash_client_backend::data_api::AccountBalance`: Refactored to use `Balance`
  for transparent funds (issue #1411). It now has an `unshielded_balance()`
  method that returns `Balance`, allowing the unshielded spendable, unshielded
  pending change, and unshielded pending non-change values to be tracked
  separately.
- `zcash_client_backend::data_api::WalletRead`:
  - The `create_account`, `import_account_hd`, and `import_account_ufvk`
    methods now each take additional `account_name` and `key_source` arguments.
    These allow the wallet backend to store additional metadata that is useful
    to applications managing these accounts.
- `zcash_client_backend::data_api::AccountSource`:
  - Both `Derived` and `Imported` alternatives of `AccountSource` now have an
    additional `key_source` field that is used to convey application-specific
    key source metadata.
  - The `Copy` impl for this type has been removed.
  - The `request` argument to `WalletRead::get_next_available_address` is now optional.
- `zcash_client_backend::data_api::Account` has an additional `name` method
  that returns the human-readable name of the account, if any.
- `zcash_client_backend::data_api::error::Error` has new variants:
    - `AccountIdNotRecognized`
    - `AccountCannotSpend`
    - `Pczt`

Deprecated
----------
- `AccountBalance::unshielded`. Instead use `unshielded_balance` which
  provides a `Balance` value. Its `total()` method can be used to obtain the
  total of transparent funds.

Removed
-------
- `zcash_client_backend::AccountBalance::add_unshielded_value`. Instead use
  `AccountBalance::with_unshielded_balance_mut` with a closure that calls
  the appropriate `add_*_value` method(s) of `Balance` on its argument.
  Note that the appropriate method(s) depend on whether the funds are
  spendable, pending change, or pending non-change (previously, only the
  total unshielded value was tracked).
Assets 2
Loading