Kris Nuttycombe
8955cfc559
Add missing CHANGELOG entries.
2024-03-05 14:37:26 -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
51d4464472
Remove `network_type` calls that are obviated by the blanket impl.
2024-03-05 13:36:15 -07:00
Kris Nuttycombe
b8aa5132c2
Apply suggestions from code review
...
Co-authored-by: str4d <thestr4d@gmail.com>
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-03-05 13:36:15 -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
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
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
dbdc88e4d7
Revert "Hide unstable `orchard` feature flag in rustdoc"
...
Now that the release commits are created, we can unhide this ahead of
the subsequent Orchard-supporting releases.
This reverts commit zcash/librustzcash@6161709441 .
2024-03-01 01:17:15 +00:00
Jack Grigg
891ab1ca6d
zcash_client_sqlite 0.9.0
...
Closes zcash/librustzcash#961 .
2024-03-01 01:17:02 +00:00
Jack Grigg
6161709441
Hide unstable `orchard` feature flag in rustdoc
...
It is not part of the public API for `zcash_client_backend 0.11.0` and
`zcash_client_sqlite 0.9.0`.
2024-03-01 01:12:07 +00:00
Kris Nuttycombe
9ea027150a
zcash_client_sqlite: Allow use of `zcash_client_backend::data_api::wallet::spend` in tests
2024-02-29 17:57:24 -07: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
939cfcce70
zcash_client_sqlite: Temporarily hardcode an empty response for `get_orchard_nullifiers`
2024-02-29 12:06:25 -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
688c36166a
Address comments from code review.
2024-02-29 07:50:31 -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
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
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
6aabe60d21
zcash_client_backend: Add validation to the `Proposal::multi_step` constructor.
2024-02-15 13:09:52 -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
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
9f221f869d
Fail instead of swallow on database corruption
2024-02-13 11:39:06 -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
7c0b9da9b7
zcash_client_sqlite: Do not request transparent UA components if "transparent-inputs" feature is disabled.
2024-02-07 14:49:48 -07:00
Kris Nuttycombe
2360609f1a
zcash_primitives: Rename `TransparentAddress` variants.
...
This resolves an old TODO.
2024-02-02 10:52:17 -07:00
Kris Nuttycombe
11f5589595
zcash_client_backend: Allow serialization of empty transaction requests.
2024-01-30 16:42:31 -08:00
Kris Nuttycombe
ea1d3a35db
zcash_keys: Remove `UnifiedAddressRequest::DEFAULT`
...
This default only made sense in the context of what was supported by
`zcash_client_sqlite`, and not in any other context. Unified address
requests no longer have their parts conditioned by what feature flags
are available; instead, if a request is constructed for which the
required key parts are not supported under a particular selection of
feature flags, address generation will raise a runtime error.
2024-01-27 07:59:55 -07:00
str4d
961f902795
Merge pull request #1127 from nuttycom/fix/migrate_scope_without_raw_tx
...
receiving_key_scopes migration: Fall back to note commitment matching for scope determination
2024-01-26 03:31:27 +00:00
Jack Grigg
d0a27eda90
zcash_client_sqlite: Add test for `receiving_key_scopes` migration
2024-01-26 03:10:36 +00:00
Kris Nuttycombe
0aebaf1345
receiving_key_scopes migration: Fall back to note commitment matching for scope determination.
...
Fixes #1117
2024-01-26 03:10:31 +00:00
str4d
14408e4eed
Merge pull request #1132 from zcash/rusqlite-dependency-warning
...
zcash_client_sqlite: Add warning about `rusqlite` version constraint
2024-01-25 19:27:42 +00: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
Jack Grigg
e85aac82b6
zcash_client_sqlite: Add warning about `rusqlite` version constraint
2024-01-25 19:06:08 +00:00
str4d
fe902f74bc
Add documentation about the `None` fully scanned height case
...
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
2024-01-25 17:43:52 +00:00
Kris Nuttycombe
184e3c741f
Add `zcash_unstable` compiler flag to fully gate `orchard` functionality
2024-01-24 17:48:10 -07:00
Jack Grigg
d07f6d4336
zcash_client_sqlite: Make `get_wallet_summary` entirely transactional
2024-01-24 20:33:55 +00: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