Commit Graph

620 Commits

Author SHA1 Message Date
Kris Nuttycombe 8dfa836a03 zcash_client_sqlite: Use correct offsets for Orchard commitment positions. 2024-03-11 17:42:23 +00:00
Kris Nuttycombe 374ed8cf94 zcash_client_sqlite: Add backend impl for the Orchard note commitment tree 2024-03-11 16:35:01 +00:00
Kris Nuttycombe de58b5a5b1 zcash_client_sqlite: Add a failing test of cross-pool transfer 2024-03-11 11:36:35 +00:00
Jack Grigg c4abcba343 zcash_client_backend: Add Orchard change output support to proposals 2024-03-10 21:47:40 +00:00
Kris Nuttycombe e24d93ccfd
Merge pull request #1228 from Oscar-Pepper/fix_cargo_doc_build_failure
Fixed cargo doc build failure
2024-03-08 15:44:09 -07:00
Kris Nuttycombe 78e4916899 zcash_client_backend: Generalize `DecryptedOutput` to support Orchard 2024-03-08 13:48:30 -07:00
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
Oscar Pepper ab701118f3
zcash_client_backend: Fixed cargo doc build failure when transparent-inputs feature is not specified 2024-03-07 11:33:10 +00:00
Kris Nuttycombe 376db4684b Fix incorrect zip321 amount parsing. 2024-03-05 21:50:25 -07:00
Kris Nuttycombe 6b4942f8eb Add failing test for incorrect zip321 amount parsing. 2024-03-05 21:48:05 -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 5675a76f0d zcash_protocol: Use `BalanceError` instead of `()` for monetary range violations. 2024-03-05 13:59:26 -07:00
Kris Nuttycombe a823ed776f Expose address generation errors when constructing default addresses 2024-03-05 13:36:15 -07:00
Kris Nuttycombe 4b18426fcd zcash_address: Use `zcash_protocol::consensus::NetworkType`
This inverts the dependency relationship between `zcash_protocol` and
`zcash_address`, permitting the network constants (primarily the HRPs)
defined in `zcash_protocol` to be used directly in `zcash_address`
instead of being duplicated.
2024-03-05 13:36:15 -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 a35ccfc10b Fix broken intra-doc links after `zcash_protocol` crate extraction. 2024-03-05 09:45:24 -07:00
Kris Nuttycombe eb3c7b479e zcash_protocol: Modify `Zatoshis` to directly wrap a u64 2024-03-05 09:45:24 -07:00
Kris Nuttycombe 5e4d9abbce Move `Amount` and `NonNegativeAmount` types to the `zcash_protocol` crate. 2024-03-05 09:45:24 -07:00
Kris Nuttycombe bacfe3cb9d Move `zcash_primitives::{consensus, constants}` to the `zcash_protocol` crate 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
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 a63d5e51d1 zcash_client_backend: Return decoding errors from `BatchRunners::add_block` 2024-02-29 12:04:55 -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 ba568f47ad zcash_client_backend: Factor out nullifier checks from `scan_block_with_runner` 2024-02-29 11:54:20 -07:00
Kris Nuttycombe dd8c6dee12 zcash_client_backend: Generalize `ScanningKey`
This change allows the `ScanningKey` type to represent Orchard
keys as well as Sapling keys.

No CHANGELOG entry is added for this, as the `ScanningKey` type
is further reworked in a later commit.
2024-02-29 11:54:02 -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
Kris Nuttycombe 5ed788dc79
Merge pull request #1168 from nuttycom/zcash_keys_sapling_feature
zcash_keys: Add `sapling` and `transparent` feature flags.
2024-02-26 19:16:07 -07:00
Kris Nuttycombe 1892e0cc39 zcash_client_backend: Fix incorrect handling of zip321 test dependencies. 2024-02-23 22:09:22 -07:00
Kris Nuttycombe 2a6330f2ea Apply suggestions from code review
Co-authored-by: str4d <thestr4d@gmail.com>
2024-02-23 09:16:26 -07:00
Kris Nuttycombe 9b98f46bf6 zcash_keys: Add `sapling` and `transparent-inputs` feature flags.
Fixes #1160
2024-02-23 09:16:25 -07: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 8c78d7f2a0 Fix incorrect documentation link. 2024-02-19 10:34:07 -07:00
Kris Nuttycombe 27defb8711 Address comments from code review. 2024-02-16 10:59:29 -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