Commit Graph

146 Commits

Author SHA1 Message Date
Jack Grigg bed5bc6cf6 Clean up unreleased changelog entries 2023-11-03 00:56:26 +00:00
Kris Nuttycombe 570ea48588 Apply suggestions from code review
Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-10-26 15:24:45 -06:00
Kris Nuttycombe cc0cc2de84 zcash_primitives: add StandardFeeRule
`StandardFeeRule` is an enumeration of the standard fees that have
existed in the history of Zcash zips. It is provided to simplify
transition to new fee strategies; legacy elements of this enumeration
are introduced already-deprecated.
2023-10-25 08:08:49 -06:00
Kris Nuttycombe caee90dce9 `zcash_primitives`: Use sapling::NoteValue instead of bare u64 2023-10-24 16:36:56 -06:00
Kris Nuttycombe f7527e14c9 Use `NonNegativeAmount` for note and utxo value fields 2023-10-23 12:59:26 -06:00
Kris Nuttycombe a2b5c2c784 zcash_client_backend: Use `NonNegativeAmount` for fee and change amounts.
In order to use `uint64` for amounts that must be nonnegative in the
`proposal.proto` file, it is useful to update fee and change computation
to use `NonNegativeAmount` where possible.
2023-10-10 16:12:47 -06:00
zancas 4bd3259ad0
Add a MARGINAL_FEE constant for the ZIP 317 marginal fee 2023-10-09 15:23:55 -06:00
Jack Grigg e1a4238a71 zcash_primitives: Add helper impls of `{Try}MapAuth` for closures 2023-10-06 23:48:27 +00:00
Jack Grigg 65efee1a16 zcash_primitives: Add `sapling::Bundle::try_map_authorization` 2023-10-06 23:46:02 +00:00
Jack Grigg b09b435135 zcash_primitives: Change `sapling::MapAuth` to take `&mut self` 2023-10-06 23:43:43 +00:00
Jack Grigg 241a1a3660 zcash_primitives: Add some more `Clone` and `Debug` impls 2023-10-06 22:05:49 +00:00
Jack Grigg 04aa5a044b zcash_primitives: Add `MockSpendProver` and `MockOutputProver`
These are analogues of `MockTxProver` in that they implement the
corresponding Sapling prover traits.
2023-10-06 20:31:31 +00:00
Jack Grigg 0d46fe72cc zcash_primitives: Introduce an `OutputProver` trait 2023-10-02 16:59:01 +00:00
Jack Grigg 290bfa8b31 zcash_primitives: Introduce a `SpendProver` trait 2023-10-02 16:59:01 +00:00
Jack Grigg db31105067 Move Sapling circuits from `zcash_proofs` to `zcash_primitives::sapling`
Closes zcash/librustzcash#737.
2023-09-29 18:36:54 +00:00
Jack Grigg 0ddcccdbac zcash_primitives: Move Sapling constants into `sapling` module 2023-09-29 17:39:43 +00:00
Jack Grigg d35d0961ab zcash_primitives 0.13.0 2023-09-25 15:06:57 +00:00
Daira Emma Hopwood 401af23484 Improve wallet tests.
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-09-12 01:33:12 +01:00
Jack Grigg 67b84c25e0 zcash_primitives 0.13.0-rc.1 2023-09-08 19:45:54 +00:00
Kris Nuttycombe 46cc6666df Address comments from code review.
Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-09-08 13:03:53 -06:00
Jack Grigg 94c1f2413d Migrate to `incrementalmerkletree 0.5`, `orchard 0.6` 2023-09-08 18:57:25 +00:00
Kris Nuttycombe 0ea2290670 zcash_primitives: update CHANGELOG.md in preparation for the 0.13.0 release 2023-09-08 08:54:39 -06:00
Kris Nuttycombe f53ea2d778 Add `get_wallet_summary` to `WalletRead`
The intent of this API is to provide a single API which returns in a
single call:

* per-account balances, including pending values
* wallet sync progress

Fixes #865
Fixes #900
2023-09-05 16:06:55 -06:00
Kris Nuttycombe 14d61a2e98 zcash_primitives: Remove the deprecated 1000-ZAT DEFAULT_FEE constant 2023-09-01 12:46:13 -06:00
Kris Nuttycombe 6fa0b46d8e Implement `suggest_scan_ranges` and `update_chain_tip`
This implements a priority queue backed by the wallet database for scan
range ordering. The scan queue is updated on each call to `put_blocks`
or to `update_chain_tip`.
2023-07-07 20:13:45 -06:00
Kris Nuttycombe d65b129b43 Apply changelog, documentation & style suggestions from code review
Co-authored-by: str4d <thestr4d@gmail.com>
2023-06-30 09:30:24 -06:00
Kris Nuttycombe 1b4017e0d1
Apply suggestions from code review
Co-authored-by: str4d <thestr4d@gmail.com>
2023-06-23 15:16:10 -06:00
Hazel OHearn 4fbdd64c89 Add Orchard support to `zcash_primitives::transaction::builder::Builder`
Co-authored-by: Jack Grigg <jack@electriccoin.co>
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
2023-06-23 14:09:59 -06:00
Hazel OHearn dce8676974 Remove impls of `{PartialEq, Eq}` for `zcash_primitives::transaction::builder::Error`
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2023-06-23 14:07:15 -06:00
Kris Nuttycombe f9cacc5b21 Release zcash_primitives 0.12.0 2023-06-06 15:56:28 -06:00
Kris Nuttycombe 3dd0c63095 Update to `incrementalmerkletree 0.4`, `orchard 0.5` 2023-06-06 14:27:39 -06:00
Kris Nuttycombe 36d7222685
Merge pull request #844 from zcash/temporary-zcashd-parse-sapling
zcash_primitives: Changes needed for `zcashd` Sapling oxidation
2023-05-30 17:30:47 -06:00
Jack Grigg 8db7a071a0 zcash_primitives: `impl DynamicUsage for sapling::Bundle<Authorized>` 2023-05-17 03:44:24 +00:00
Jack Grigg 26d95b4a0e zcash_primitives: Temporarily expose v5 Sapling bundle parsing
This is currently exposed via `Transaction` for usage in `zcashd`, but
may be removed in future (if `zcashd` moves transaction parsing entirely
into Rust), or renamed and stabilised.
2023-05-17 03:44:24 +00:00
Jack Grigg 8681b56d52 Bump MSRV for `zcash_primitives` and dependents to 1.65 2023-05-16 15:37:07 +00:00
Daira Emma Hopwood 3903935234 Deprecate `transaction::components::amount::DEFAULT_FEE` and
`zcash_primitives::transaction::fees::fixed::FeeRule::standard()`.

Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-05-09 17:18:34 +01:00
Daira Emma Hopwood 736d11b45b Change `transaction::fees::fixed::FeeRule::standard()` to use the ZIP 317
minimum fee (10000 zatoshis rather than 1000 zatoshis) as the fixed fee.

Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-05-09 16:42:41 +01:00
Daira Emma Hopwood 043cc59c76 Add `transaction::fees::zip317::MINIMUM_FEE` constant and
`transaction::components::amount::Amount::const_from_i64`.

Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-05-09 16:42:19 +01:00
Daira Emma Hopwood 4cf27126e5 Revert "Update DEFAULT_FEE to 10_000 from 1000"
This reverts commit 2a6dc59c5d.

Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-05-09 13:15:52 +01:00
Kris Nuttycombe d37e6adee5
Merge pull request #783 from nuttycom/upgrade_bridgetree
Upgrade `zcash_primitives` to use updated `incrementalmerkletree` types.
2023-05-08 12:00:00 -06:00
str4d 579ab92b93
Merge branch 'main' into 823-secp256k1-0.26 2023-05-08 18:53:33 +01:00
Kris Nuttycombe c9f53ddde5 Apply suggestions from code review
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2023-05-04 14:46:34 -06:00
Kris Nuttycombe 4d32a8ac20 Remove serialization version constants. 2023-05-04 12:46:15 -06:00
Kris Nuttycombe 71f74d4ac1 Remove the `merkle_tree::incremental` module.
This consolidates all the seralization code for frontiers and
incremental witnesses in the `merkle_tree` module.
2023-05-04 12:46:15 -06:00
Kris Nuttycombe 6aaa96d377 Remove zcashd-specific `bridgetree` serialization. 2023-05-04 12:46:15 -06:00
Kris Nuttycombe 1f9747e15f Move merkle tree types to the `incrementalmerkletree` crate.
This removes the `CommitmentTree`, `IncrementalWitness`, and
`MerklePath` types in favor of equivalent versions available
from the `incrementalmerkletree` crate.
2023-05-04 12:30:56 -06:00
Kris Nuttycombe 6f2cbfc7de Factor serialization out from merkle tree data structures. 2023-05-04 12:21:47 -06:00
Kris Nuttycombe ec57d23115 Use const generics to set commitment tree & incremental witness depths.
This is in preparation for extraction into the `incrementalmerkletree`
crate, which is not Sapling-specific and therefore cannot hard-code
the depths of these data structures.
2023-05-04 12:16:09 -06:00
Kris Nuttycombe 69430c3da2 Upgrade incrementalmerkletree and use bridgetree crate for `Bridgetree`. 2023-05-04 12:08:38 -06:00
Hazel OHearn 2a6dc59c5d
Update DEFAULT_FEE to 10_000 from 1000 2023-05-03 16:42:01 -03:00