diff --git a/zcash_client_backend/CHANGELOG.md b/zcash_client_backend/CHANGELOG.md index 147f529aa..55be59da2 100644 --- a/zcash_client_backend/CHANGELOG.md +++ b/zcash_client_backend/CHANGELOG.md @@ -8,35 +8,24 @@ and this library adheres to Rust's notion of ## [Unreleased] ### Added - -- `zcash_client_backend::data_api::ShieldedProtocol` has a new variant for `Orchard`, - allowing for better reporting to callers trying to perform actions using `Orchard` - before it is fully supported. -- `zcash_client_backend::data_api::error::Error` has new error variant: - - `Error::UnsupportedPoolType(zcash_client_backend::data_api::PoolType)` -- Added module `zcash_client_backend::fees::standard` -- Added `zcash_client_backend::wallet::input_selection::Proposal::min_confirmations` -- Added methods to `zcash_client_backend::wallet::ReceivedSaplingNote`: - `{from_parts, txid, output_index, diversifier, rseed, note_commitment_tree_position}`. +- `zcash_client_backend::fees::standard` +- `zcash_client_backend::wallet`: + - `input_selection::Proposal::min_confirmations` + - `ReceivedSaplingNote::from_parts` + - `ReceivedSaplingNote::{txid, output_index, diversifier, rseed, note_commitment_tree_position}` ### Changed -- `zcash_client_backend::data_api::chain::scan_cached_blocks` now returns - a `ScanSummary` containing metadata about the scanned blocks on success. -- The fields of `zcash_client_backend::wallet::ReceivedSaplingNote` are now - private. Use `ReceivedSaplingNote::from_parts` for construction instead. - Accessor methods are provided for each previously-public field. -- `zcash_client_backend::data_api` changes: - - The `NoteMismatch` variant of `data_api::error::Error` now wraps a - `data_api::NoteId` instead of a backend-specific note identifier. The - related `NoteRef` type parameter has been removed from `data_api::error::Error`. - - `SentTransactionOutput::value` is now represented as `NonNegativeAmount` instead of - `Amount`, and constructors and accessors have been updated accordingly. - - The `available` and `required` fields of `data_api::error::Error::InsufficientFunds` - are now represented as `NonNegativeAmount` instead of `Amount`. - - `data_api::wallet::create_spend_to_address` now takes its `amount` argument as - as `NonNegativeAmount` instead of `Amount`. - - All uses of `Amount` in `data_api::wallet::input_selection` have been replaced - with `NonNegativeAmount`. +- `zcash_client_backend::data_api`: + - `ShieldedProtocol` has a new variant for `Orchard`, allowing for better + reporting to callers trying to perform actions using `Orchard` before it is + fully supported. + - `chain::scan_cached_blocks` now returns a `ScanSummary` containing metadata + about the scanned blocks on success. + - `error::Error` enum changes: + - The `NoteMismatch` variant now wraps a `NoteId` instead of a + backend-specific note identifier. The related `NoteRef` type parameter has + been removed from `error::Error`. + - A new variant `UnsupportedPoolType` has been added. - `wallet::shield_transparent_funds` no longer takes a `memo` argument; instead, memos to be associated with the shielded outputs should be specified in the construction of the value of the @@ -52,22 +41,44 @@ and this library adheres to Rust's notion of argument. Instead, `min_confirmations` is stored in the `Proposal` - `wallet::create_spend_to_address` now takes an additional `change_memo` argument. -- `zcash_client_backend::fees::ChangeValue::Sapling` is now a structured variant. - In addition to the existing change value, it now also carries an optional memo - to be associated with the change output. -- `zcash_client_backend::fees::fixed::SingleOutputChangeStrategy::new` and - `zcash_client_backend::fees::zip317::SingleOutputChangeStrategy::new` each now - accept an additional `change_memo` argument. -- All uses of `Amount` in `zcash_client_backend::fees` have been replaced - with `NonNegativeAmount`. -- `zcash_client_backend::wallet::WalletTransparentOutput::value` is now represented - as `NonNegativeAmount` instead of `Amount`, and constructors and accessors have been - updated accordingly. -- `zcash_client_backend::wallet::ReceivedSaplingNote::value` is now represented - as `NonNegativeAmount` instead of `Amount`, and constructors and accessors have been - updated accordingly. -- Almost all uses of `Amount` in `zcash_client_backend::zip321` have been replaced - with `NonNegativeAmount`. +- `zcash_client_backend::fees`: + - `ChangeValue::Sapling` is now a structured variant. In addition to the + existing change value, it now also carries an optional memo to be associated + with the change output. + - `fixed::SingleOutputChangeStrategy::new` and + `zip317::SingleOutputChangeStrategy::new` each now accept an additional + `change_memo` argument. +- `zcash_client_backend::wallet`: + - The fields of `ReceivedSaplingNote` are now private. Use + `ReceivedSaplingNote::from_parts` for construction instead. Accessor methods + are provided for each previously public field. +- The following fields now have type `NonNegativeAmount` instead of `Amount`: + - `zcash_client_backend::data_api`: + - `error::Error::InsufficientFunds.{available, required}` + - `wallet::input_selection::InputSelectorError::InsufficientFunds.{available, required}` + - `zcash_client_backend::fees`: + - `ChangeValue::Sapling.value` + - `ChangeError::InsufficientFunds.{available, required}` + - `zcash_client_backend::zip321::Payment.amount` +- The following methods now take `NonNegativeAmount` instead of `Amount`: + - `zcash_client_backend::data_api`: + - `SentTransactionOutput::from_parts` + - `wallet::create_spend_to_address` + - `wallet::input_selection::InputSelector::propose_shielding` + - `zcash_client_backend::fees`: + - `ChangeValue::sapling` + - `DustOutputPolicy::new` + - `TransactionBalance::new` + - `zcash_client_backend::wallet::ReceivedSaplingNote::from_parts` +- The following methods now return `NonNegativeAmount` instead of `Amount`: + - `zcash_client_backend::data_api::SentTransactionOutput::value` + - `zcash_client_backend::fees`: + - `ChangeValue::value` + - `DustOutputPolicy::dust_threshold` + - `TransactionBalance::{fee_required, total}` + - `zcash_client_backend::wallet`: + - `ReceivedSaplingNote::value` + - `WalletTransparentOutput::value` ### Removed - `zcash_client_backend::data_api::WalletRead::is_valid_account_extfvk` has been diff --git a/zcash_client_sqlite/CHANGELOG.md b/zcash_client_sqlite/CHANGELOG.md index 80dafe87b..eb577b7c7 100644 --- a/zcash_client_sqlite/CHANGELOG.md +++ b/zcash_client_sqlite/CHANGELOG.md @@ -5,21 +5,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this library adheres to Rust's notion of [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [Unreleased] + +### Changed +- `zcash_client_sqlite::error::SqliteClientError` has new error variant: + - `SqliteClientError::UnsupportedPoolType` + ## [0.8.1] - 2023-10-18 ### Fixed - Fixed a bug in `v_transactions` that was omitting value from identically-valued notes -## [Unreleased] - -### Added -- `zcash_client_sqlite::error::SqliteClientError` has new error variant: - - `SqliteClientError::UnsupportedPoolType(zcash_client_backend::data_api::PoolType)` - -## [0.8.1] - 2023-10-18 - -- Fixed a bug in `v_transactions` that was omitting value from identically-valued notes - ## [0.8.0] - 2023-09-25 ### Notable Changes diff --git a/zcash_primitives/CHANGELOG.md b/zcash_primitives/CHANGELOG.md index c13fd259c..708e2c5c1 100644 --- a/zcash_primitives/CHANGELOG.md +++ b/zcash_primitives/CHANGELOG.md @@ -13,22 +13,24 @@ and this library adheres to Rust's notion of - `constants` module. - `prover::{SpendProver, OutputProver}` - `impl Debug for keys::{ExpandedSpendingKey, ProofGenerationKey}` -- `zcash_primitives::transaction::components::sapling`: - - `Bundle::try_map_authorization` - - `TryMapAuth` - - `impl {MapAuth, TryMapAuth} for (FnMut, FnMut, FnMut, FnMut)` helpers to - enable calling `Bundle::{map_authorization, try_map_authorization}` with a - set of closures. +- `zcash_primitives::transaction`: + - `builder::get_fee` + - `components::sapling`: + - `Bundle::try_map_authorization` + - `TryMapAuth` + - `impl {MapAuth, TryMapAuth} for (FnMut, FnMut, FnMut, FnMut)` helpers to + enable calling `Bundle::{map_authorization, try_map_authorization}` with a + set of closures. + - `fees::StandardFeeRule` + - Constants in `fees::zip317`: + - `MARGINAL_FEE` + - `GRACE_ACTIONS` + - `P2PKH_STANDARD_INPUT_SIZE` + - `P2PKH_STANDARD_OUTPUT_SIZE` - Test helpers, behind the `test-dependencies` feature flag: - `zcash_primitives::prover::mock::{MockSpendProver, MockOutputProver}` -- Constants in `zcash_primitives::transaction::fees::zip317`: - - `MARGINAL_FEE` - - `GRACE_ACTIONS` - - `P2PKH_STANDARD_INPUT_SIZE` - - `P2PKH_STANDARD_OUTPUT_SIZE` -- `zcash_primitives::transaction::builder::get_fee` -- Additions related to `zcash_primitive::components::transaction::Amount` - and `zcash_primitive::components::transaction::NonNegativeAmount` +- Additions related to `zcash_primitive::components::amount::Amount` + and `zcash_primitive::components::amount::NonNegativeAmount`: - `impl TryFrom for u64` - `Amount::const_from_u64` - `NonNegativeAmount::const_from_u64` @@ -39,48 +41,41 @@ and this library adheres to Rust's notion of - `impl From for zcash_primitives::sapling::value::NoteValue` - `impl Sum for Option` - `impl<'a> Sum<&'a NonNegativeAmount> for Option` -- `zcash_primitives::sapling::circuit::ValueCommitmentOpening::value` is - now represented as a `NoteValue` instead of as a bare `u64`. -- `zcash_primitives::sapling::address::PaymentAddress::create_note` now - takes its `value` argument as a `NoteValue` instead of as a bare `u64`. ### Changed -- `zcash_primitives::transaction::fees`: - - `FeeRule::fee_required` now returns the required fee as a `NonNegativeAmount` instead - of as an `Amount`. - - When using the `zfuture` feature flag, `FutureFeeRule::fee_required_zfuture` now returns - the required fee as a `NonNegativeAmount` instead of as an `Amount`. - - `fees::fixed::FeeRule::fixed_fee` now wraps a `NonNegativeAmount` instead of an `Amount` - - `fees::zip317::FeeRule::marginal_fee` is now represented and exposed as a - `NonNegativeAmount` instead of an `Amount` -- `zcash_primitives::transaction::sighash::TransparentAuthorizingContext::input_amounts` now - returns the input values as `NonNegativeAmount` instead of as `Amount` -- `zcash_primitives::transaction::components::sapling`: - - `MapAuth` trait methods now take `&mut self` instead of `&self`. - - `sapling::fees::InputView::value` now returns a `NonNegativeAmount` instead of an `Amount` - - `sapling::fees::OutputView::value` now returns a `NonNegativeAmount` instead of an `Amount` -- `zcash_primitives::transaction::components::transparent`: - - `transparent::TxOut::value` now has type `NonNegativeAmount` instead of `Amount` - - `transparent::builder::TransparentBuilder::add_output` now takes its `value` - parameter as a `NonNegativeAmount` instead of as an `Amount`. - - `transparent::fees::InputView::value` now returns a `NonNegativeAmount` instead of an `Amount` - - `transparent::fees::OutputView::value` now returns a `NonNegativeAmount` instead of an `Amount` -- The following `zcash_primitives::transaction::builder::Builder` methods - have changed to take a `NonNegativeAmount` for their `value` arguments, - instead of an `Amount`. - - `Builder::add_sapling_output` - - `Builder::add_transparent_output` -- `zcash_primitives::transaction::components::amount::testing::arb_nonnegative_amount` - now returns a `NonNegativeAmount` instead of an `Amount` +- `zcash_primitives::sapling`: + - `address::PaymentAddress::create_note` now takes its `value` argument as a + `NoteValue` instead of as a bare `u64`. + - `circuit::ValueCommitmentOpening::value` is now represented as a `NoteValue` + instead of as a bare `u64`. +- `zcash_primitives::transaction`: + - `components::sapling::MapAuth` trait methods now take `&mut self` instead of + `&self`. + - `components::transparent::TxOut.value` now has type `NonNegativeAmount` + instead of `Amount`. + - The following methods now take `NonNegativeAmount` instead of `Amount`: + - `builder::Builder::{add_sapling_output, add_transparent_output}` + - `components::transparent::builder::TransparentBuilder::add_output` + - `fees::fixed::FeeRule::non_standard` + - `fees::zip317::FeeRule::non_standard` + - The following methods now return `NonNegativeAmount` instead of `Amount`: + - `components::amount::testing::arb_nonnegative_amount` + - `components::sapling`: + - `fees::InputView::value` + - `fees::OutputView::value` + - `components::transparent`: + - `fees::InputView::value` + - `fees::OutputView::value` + - `fees::FeeRule::{fee_required, fee_required_zfuture}` + - `fees::fixed::FeeRule::fixed_fee` + - `fees::zip317::FeeRule::marginal_fee` + - `sighash::TransparentAuthorizingContext::input_amounts` ### Removed - `zcash_primitives::constants`: - All `const` values (moved to `zcash_primitives::sapling::constants`). - `impl From for u64` -### Added -- `transaction::fees::StandardFeeRule` - ## [0.13.0] - 2023-09-25 ### Added - `zcash_primitives::consensus::BlockHeight::saturating_sub`