Jack Grigg
d332aacf98
Merge branch 'main' into 1044-extract-zip32
2023-12-06 18:04:36 +00:00
Jack Grigg
3dfd478141
Migrate to published `zip32` crate outside this repository
2023-12-06 18:04:09 +00:00
Kris Nuttycombe
ca54b3489d
Apply suggestions from code review
...
Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2023-12-05 15:55:52 -07:00
Kris Nuttycombe
cad4f25b75
zcash_client_backend: Replace `ReceivedSaplingNote` with `ReceivedNote`
...
`ReceivedNote` now allows Orchard notes to be represented as received
notes. As part of this change, received notes now track whether they
were received using internally- or externally-scoped viewing keys.
This eliminates the need to trial-regenerate notes using the wallet's
IVKs to determine scope at spend time.
2023-12-05 10:55:06 -07:00
Kris Nuttycombe
6b10a6dc86
zcash_client_backend: Move essential wallet types into the `wallet` module.
2023-12-05 10:55:04 -07:00
Kris Nuttycombe
8c1480304e
zcash_client_backend: Wrap entire Sapling note in `SaplingReceivedNote`
2023-12-05 10:49:35 -07:00
Jack Grigg
54e8dd35c1
zcash_primitives: Remove old Sapling re-exports from `zip32` module
2023-12-05 17:31:17 +00:00
Kris Nuttycombe
214a3750c5
zcash_client_backend: Make `Balance` and `AccountBalance` fields private.
...
Public methods for mutation of these fields have been provided that
perform checking for overflow of the valid monetary range as part
of their operation.
2023-12-04 13:53:27 -07:00
Kris Nuttycombe
9aec53eec9
zcash_client_backend: Add Orchard components to `ScannedBlock`
2023-11-30 13:08:17 -07:00
Kris Nuttycombe
c0babd54cd
zcash_client_backend: Expose Orchard value in balance API
2023-11-30 12:17:19 -07:00
Kris Nuttycombe
1e5d253c9c
Fix dependencies to repair `cargo -p` subproject builds.
2023-11-29 12:37:18 -07:00
Kris Nuttycombe
28174e1ba3
zcash_client_backend: refactor select_key_for_note to avoid needing the extsk
...
This is in preparation for generalizing how we choose the spending key
for a note to serve `Orchard`.
2023-11-28 10:54:06 -07:00
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
0d06e561bb
Update Sapling imports to migrate off re-exports at old paths
2023-11-28 03:40:41 +00: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
61bb18d97f
zcash_primitives: Refactor `zip32::ChildIndex` to be an opaque struct
2023-11-28 01:38:53 +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
Jack Grigg
c6263d2470
Fix generated protobuf file to match source
...
A comment change to the source file was made in zcash/librustzcash#891
before merging, but the generated file was not updated to match.
2023-11-21 02:15:12 +00:00
Kris Nuttycombe
c5f48f50e1
Apply suggestions from code review
...
Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
Co-authored-by: str4d <thestr4d@gmail.com>
2023-11-15 10:53:23 -07:00
Kris Nuttycombe
7aab6fd7a7
zcash_client_backend: add `Display` and `Error` impls for proposal parsing errors.
2023-11-14 12:59:40 -07:00
Kris Nuttycombe
aeb405ef5d
Apply suggestions from code review
...
Co-authored-by: str4d <thestr4d@gmail.com>
Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-11-14 12:58:22 -07:00
Kris Nuttycombe
33169719ce
zcash_client_backend: Add serialization & parsing for protobuf Proposal representation.
2023-11-09 20:07:16 -07:00
sasha
572563338b
Add a protobuf representation for transaction proposals.
...
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
2023-11-09 20:02:36 -07:00
Kris Nuttycombe
2d6a02eb2d
Merge pull request #1039 from zcash/736-refactor-sapling-components
...
Refactor Sapling components and builder into `zcash_primitives::sapling`
2023-11-09 20:00:32 -07:00
Kris Nuttycombe
7720a4fc58
zcash_client_backend::scanning: Use `checked_sub` instead of manual check.
...
Co-authored-by: str4d <thestr4d@gmail.com>
2023-11-09 15:09:54 -07:00
Kris Nuttycombe
09e37bcc8d
Fix comment in zcash_client_backend::scanning
...
Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-11-09 14:00:50 -07:00
Kris Nuttycombe
b9ac7c5eda
zcash_client_backend: Fix off-by-one in tree heights at NU activation.
2023-11-09 09:44:57 -07: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
Kris Nuttycombe
8ce8cc8145
zcash_client_backend: Remove duplicative continuity checks.
2023-11-08 16:46:44 -07:00
Kris Nuttycombe
ae4cb53c49
Apply suggestions from code review
...
Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-11-08 16:46:44 -07:00
Kris Nuttycombe
27f78d1894
zcash_client_backend: Add Orchard note commitment tree size to block metadata.
2023-11-08 16:46:44 -07:00
Kris Nuttycombe
aa063ae3fd
zcash_client_backend: Factor out input source traits from `WalletRead`
...
Prior to this change, it's necessary to implement the entirety of the
`WalletRead` trait in order to be able to use the input selection
functionality provided by `zcash_client_backend::data_api::input_selection`.
This change factors out the minimal operations required for transaction
proposal construction to better reflect the principle of least authority
and make the input selection code reusable in more contexts.
In order to minimize the operations of the newly-created `InputSource`
and `ShieldingSource` traits, this change also removes the
`min_confirmations` field from transaction proposals, in favor of
storing explicit target and anchor heights. This has the effect of
limiting the lifetime of transaction proposals to `PRUNING_DEPTH -
min_confirmations` blocks.
2023-11-08 12:41:49 -07: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
8e0e77b0a0
zcash_client_backend: Remove `fees::ChangeError::map` from the public API
...
It is undocumented, unused outside of this crate, and unreleased, so we
make it crate-private for now.
2023-11-03 00:56:56 +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
Jack Grigg
b2ff29db78
Refactor Sapling builder to separate out proof generation
...
Closes zcash/librustzcash#741 .
2023-10-31 22:01:34 +00:00
Kris Nuttycombe
13fb0a4819
Merge pull request #1019 from nuttycom/wallet/proposals_with_minconf
...
zcash_client_backend: Move `min_confirmations` into `Proposal`
2023-10-31 12:59:40 -06:00
Kris Nuttycombe
4cd26b7ea9
zcash_client_backend: Move `min_confirmations` into `Proposal`
...
This fixes an API issue whereby it was possible to execute a `Proposal`
with a different value of `min_confirmations` than that with which the
`Proposal` was constructed.
2023-10-31 10:38:52 -06:00
Kris Nuttycombe
a0935b5ecd
zcash_client_backend: remove `WalletRead::is_valid_account_extfvk`
2023-10-27 15:01:26 -06:00
Kris Nuttycombe
9627c806e4
zcash_client_backend: Pass `Proposal` values by reference.
2023-10-26 16:11:10 -06: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
f1c08693a5
zcash_client_backend: Add propose_standard_transfer.
2023-10-25 08:08:49 -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
f7527e14c9
Use `NonNegativeAmount` for note and utxo value fields
2023-10-23 12:59:26 -06:00
Kris Nuttycombe
29c676ff12
Merge pull request #1009 from tw0po1nt/fix_txn_builder_panic
...
Gracefully handle when given an Orchard-only UA
2023-10-12 18:15:36 -06:00
Matthew Watt
a788cc4c4d
Fix merge conflicts
2023-10-12 06:16:22 -05:00
Kris Nuttycombe
bcea060c86
Apply suggestions from code review
...
Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-10-11 14:15:19 -06:00