Kris Nuttycombe
7f3d057a1b
zcash_primitives: Avoid passing duplicate diversifier information to Sapling builder.
...
The note provided to `add_sapling_spend` contains the recipient address,
and we can extract the diversifier from this address, so we should not
pass it separately.
2023-11-28 10:54:06 -07:00
Jack Grigg
106f5a353a
Remove `MemoBytes` usage from `zcash_primitives::sapling`
2023-11-28 03:25:14 +00:00
Jack Grigg
7badba29ea
zcash_primitives: Move `zip32::sapling` to `sapling::zip32`
2023-11-28 01:38:53 +00:00
Jack Grigg
45ef8b1604
zcash_primitives: Add constructor and getter to `zip32::ChainCode`
2023-11-28 01:38:53 +00:00
Jack Grigg
61bb18d97f
zcash_primitives: Refactor `zip32::ChildIndex` to be an opaque struct
2023-11-28 01:38:53 +00:00
Jack Grigg
a9310e3969
zcash_primitives: Remove non-hardened Sapling ZIP 32 derivation
2023-11-28 01:34:31 +00:00
Jack Grigg
cdd20e8583
zcash_primitives: Make `value_balance` generic in `sapling::Bundle`
...
This removes the dependency on `Amount`, and matches how we handle this
in the `orchard` crate.
Part of zcash/librustzcash#1044 .
2023-11-23 07:08:13 +00:00
Jack Grigg
eb0b5a1b24
zcash_primitives: Remove `consensus::Parameters` from `sapling` module
...
Part of zcash/librustzcash#1044 .
2023-11-22 04:29:36 +00:00
Kris Nuttycombe
33169719ce
zcash_client_backend: Add serialization & parsing for protobuf Proposal representation.
2023-11-09 20:07:16 -07:00
Jack Grigg
c6dd9ad858
zcash_primitives: Expose Sapling bundle component parsers needed by zcashd
...
These can be removed after future zcashd refactors.
2023-11-10 02:09:22 +00:00
Jack Grigg
e1a5539094
zcash_primitives: Rework Sapling parsers to be plain functions
...
Once `zcash_primitives::sapling` is extracted to `sapling-crypto`, these
would have become orphan impls.
2023-11-10 01:06:18 +00:00
Jack Grigg
54eb03e34e
zcash_primitives: Move Sapling bundle types into `sapling` module
2023-11-09 04:04:07 +00:00
Jack Grigg
f5595122f9
zcash_primitives: Move `builder` module to `zcash_primitives::sapling`
2023-11-09 04:02:19 +00:00
Jack Grigg
82535112c2
zcash_primitives: Add Sapling verification key newtypes
2023-11-07 03:11:15 +00:00
Jack Grigg
1b9f26c984
Move `{Spend,Output}Parameters` from `zcash_proofs` to `zcash_primitives`
2023-11-07 03:09:25 +00:00
Jack Grigg
8bb9c4e7ba
Move Sapling proof verifiers from `zcash_proofs` to `zcash_primitives`
2023-11-07 03:08:43 +00:00
Jack Grigg
b20641ae58
zcash_primitives: Remove `sapling::prover::TxProver`
...
Removed
-------
- `zcash_primitives::sapling`:
- `prover::TxProver` (use `SpendProver` and `OutputProver` instead).
- `prover::mock::MockTxProver` (use `MockSpendProver` and `MockOutputProver`
instead).
2023-11-03 21:08:37 +00:00
Jack Grigg
a77b6c631c
Add missing unreleased changelog entries
2023-11-03 00:56:56 +00:00
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