Kris Nuttycombe
4c5ce32dee
zcash_client_backend: Use `NonNegativeAmount` for `select_spendable_notes`
2024-03-08 13:48:30 -07:00
Kris Nuttycombe
8f4de9b235
Merge pull request #1235 from zcash/diverse_accounts
...
zcash_client_sqlite: Rework accounts to support imported viewing keys
2024-03-08 13:39:08 -07:00
Andrew Arnott
0c80893ce0
zcash_client_sqlite: Rework accounts to support imported viewing keys
2024-03-08 18:55:18 +00:00
Kris Nuttycombe
4532520670
zcash_client_backend: Add Orchard frontier to `AccountBirthday`
2024-03-07 14:45:23 -07:00
Kris Nuttycombe
376db4684b
Fix incorrect zip321 amount parsing.
2024-03-05 21:50:25 -07:00
Kris Nuttycombe
eaabc0f514
Apply suggestions from code review
...
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-03-05 20:03:46 -07:00
Kris Nuttycombe
64454100c5
zcash_client_backend: Move the `ShieldedProtocol` and `PoolType` types to `zcash_protocol`
2024-03-05 09:46:03 -07:00
Kris Nuttycombe
eb3c7b479e
zcash_protocol: Modify `Zatoshis` to directly wrap a u64
2024-03-05 09:45:24 -07:00
Kris Nuttycombe
0d430ba62c
Apply documentation suggestions from code review.
...
Co-authored-by: str4d <thestr4d@gmail.com>
2024-03-04 13:32:26 -07:00
Kris Nuttycombe
e4c0b0e63f
zcash_client_backend: Add `WalletRead::validate_seed`
...
This adds a mechanism that allows a caller to verify that a given seed
generates the viewing key that is stored in the wallet for a specified
account.
Fixes #1189
2024-03-04 10:59:56 -07:00
Jack Grigg
dfb6c65edd
zcash_client_backend 0.11.0
...
Closes zcash/librustzcash#962 .
2024-03-01 01:16:04 +00:00
Kris Nuttycombe
e44ddee8ad
zcash_client_backend: Add documentation for the `data_api` module.
...
Fixes #1209
2024-03-01 00:47:15 +00:00
Kris Nuttycombe
a4b951d193
Apply suggestions from code review
...
Co-authored-by: str4d <thestr4d@gmail.com>
2024-02-29 15:19:07 -07:00
Kris Nuttycombe
27f6207a7c
zcash_client_backend: Pass nullifiers separately from scanning keys.
2024-02-29 12:06:22 -07:00
Kris Nuttycombe
7e8723bea9
zcash_client_backend: Add Orchard support to batch scanning.
2024-02-29 12:04:53 -07:00
Kris Nuttycombe
880c24c45d
zcash_client_backend: Generalize key source metadata.
2024-02-29 11:55:44 -07:00
Kris Nuttycombe
802c01002a
zcash_client_backend: Rework scanning key identifiers.
...
In the process of making the internals of `scan_block_with_runner`
reusable across Sapling and Orchard, it became evident that key
identifier abstraction along the lines of #1175 is needed more
generally. This commit refactors the use of ZIP 32 account identifiers
and key scopes to better separate scanning concerns from ZIP 32 key
derivation. In the process, this removes a fair amount of unnecessary
polymorphism from `zcash_client_backend::wallet::WalletTx` and related
types.
2024-02-29 11:55:25 -07:00
Kris Nuttycombe
c7df76f7d1
zcash_client_backend: Factor out common note decryption from `scan_block_with_runner`
2024-02-29 11:55:23 -07:00
Kris Nuttycombe
e2331dbd6f
Merge pull request #1202 from nuttycom/generic_account_id
...
zcash_client_backend: Make `AccountId` an associated type of `WalletRead`
2024-02-29 11:53:26 -07:00
Kris Nuttycombe
688c36166a
Address comments from code review.
2024-02-29 07:50:31 -07:00
Kris Nuttycombe
9c3467e941
zcash_client_backend: Implement `TreeState::orchard_tree`
2024-02-29 07:21:51 -07:00
Kris Nuttycombe
41b050f1e9
zcash_client_backend: Make `AccountId` an associated type of `WalletRead`
...
This PR was extracted from https://github.com/zcash/librustzcash/pull/1175
in order to make the changes to `zcash_client_backend` usable without
the additional generalizations to `zcash_client_sqlite` made by that PR.
Co-authored-by: Andrew Arnott <andrewarnott@live.com>
2024-02-28 21:06:14 -07:00
Jack Grigg
b6ab9b5311
Clean up zcash_client_backend changelog
2024-02-22 23:38:15 +00:00
Kris Nuttycombe
184286c430
Apply suggestions from code review
...
Co-authored-by: str4d <thestr4d@gmail.com>
2024-02-21 17:36:08 -07:00
Kris Nuttycombe
050a124cb6
Address comments from code review.
2024-02-21 11:55:00 -07:00
Kris Nuttycombe
4e3d99f1d0
zcash_client_backend: Allow proposer to specify fallback change pool.
...
In the event that the pool to which change should be sent cannot
automatically be determined based upon the inputs and outputs of a
transaction, it is up to the caller to specify where change should
be sent.
2024-02-15 21:44:59 -07:00
Kris Nuttycombe
daf88a12e5
zcash_client_backend: Add support for creation of Orchard outputs.
2024-02-15 21:30:07 -07:00
Kris Nuttycombe
f27f601b7d
zcash_client_backend: Add Orchard spends to `create_proposed_transaction`
2024-02-15 21:29:15 -07:00
Kris Nuttycombe
74b487e4c9
Apply suggestions from code review
...
Co-authored-by: str4d <thestr4d@gmail.com>
2024-02-15 20:51:24 -07:00
Kris Nuttycombe
dd6711aec1
zcash_client_backend: Address comments from code review & fix incorrect `data_api::wallet` documentation.
2024-02-14 20:24:12 -07:00
Kris Nuttycombe
beeea7b44e
zcash_client_backend: Modify `Proposal` to make multi-step transactions representable.
2024-02-14 19:30:52 -07:00
Kris Nuttycombe
1db3109cb4
zcash_client_backend: Move the `Proposal` types to a `proposal` module.
...
This separation is in preparation for modifying the `Proposal` type
to wrap a vector of proposal steps.
2024-02-14 19:04:47 -07:00
Kris Nuttycombe
6e0d9a9420
zcash_client_backend: Add selected output pools to transaction proposals.
...
Fixes #1174
2024-02-14 18:58:48 -07:00
Kris Nuttycombe
7a5852598e
zcash_keys, zcash_client_backend: feature-flag off transparent-input WalletRead methods.
...
This also moves the `TransparentAddressMetadata` type behind the
`transparent-inputs` feature flag and performs associated cleanup.
2024-02-14 17:38:52 -07:00
Andrew Arnott
f1b6dd0636
Switch out `AddressMetadata` for new struct
2024-02-13 18:34:33 -07:00
Andrew Arnott
8f6afb2182
Update changelogs
2024-02-13 18:02:24 -07:00
Andrew Arnott
918f5cc812
Change `WalletRead::get_transparent_receivers` signature
...
It needn't return the account id that was given as an input, and it shouldn't return an 11-byte diversifier index when a 31-bit child index is more appropriate.
2024-02-13 11:39:06 -07:00
Kris Nuttycombe
11f5589595
zcash_client_backend: Allow serialization of empty transaction requests.
2024-01-30 16:42:31 -08:00
str4d
610b19bcd2
Merge pull request #1129 from zcash/wallet/orchard_compiler_flag
...
Add `zcash_unstable` compiler flag to fully gate `orchard` functionality
2024-01-25 19:15:53 +00:00
Kris Nuttycombe
0ae986cad0
zcash_client_backend: Move features guarded by the `orchard` flag to a separate Unreleased section of the CHANGELOG
2024-01-24 20:19:14 -07:00
Kris Nuttycombe
ea4d00a12d
Add CHANGELOG entries.
2024-01-24 18:00:55 -07:00
Jack Grigg
db071f2e1f
zcash_client_backend: Add desired Sapling shard index to `WalletSummary`
...
Closes zcash/librustzcash#1124 .
2024-01-24 18:06:31 +00:00
Kris Nuttycombe
0ca955336d
Split `zcash_keys` crate out from `zcash_client_backend`
...
This change makes it easier for third parties to make use of the Unified
key infrastructure without incurring a dependency upon the rest of the
`zcash_client_backend` interfaces.
2024-01-16 13:49:42 -07:00
Andrew Arnott
28ed048c7e
Add punctuation to changelog
...
Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
2024-01-11 12:02:24 -07:00
Andrew Arnott
69d92808f3
Add `WalletRead::get_account_ids` function
2024-01-10 13:01:01 -07:00
Kris Nuttycombe
6cbdd494cf
zcash_client_backend: Add receiver type selection to unified address derivation.
2024-01-09 10:48:13 -07:00
Kris Nuttycombe
24ebe4c643
Address comments from code review.
...
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2024-01-05 17:00:46 -07:00
Kris Nuttycombe
adc75566a0
zcash_client_backend: Add Orchard support to transaction proposals.
2024-01-05 16:59:54 -07:00
Kris Nuttycombe
56f2ac573c
zcash_client_backend: Add Orchard support to change strategies.
...
This modifies the `compute_balance` method to operate in a
bundle-oriented fashion, which simplifies the API and makes it easier to
elide Orchard functionality in the case that the `orchard` feature is
not enabled.
2024-01-05 16:59:54 -07:00
Kris Nuttycombe
1b036f1e0d
zcash_client_backend: rename `WalletNote` to `Note`
2024-01-05 09:13:53 -07:00