Commit Graph

926 Commits

Author SHA1 Message Date
Daira-Emma Hopwood 6c90219817 Prefer the `PoolType::{SAPLING, ORCHARD, TRANSPARENT}` constants to
`PoolType::{Shielded(_), Transparent}`.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-18 21:03:22 +01:00
Daira-Emma Hopwood 3582f84686 Allow `ChangeValue::output_pool` to reference the transparent pool by
changing its type from `ShieldedProtocol` to `PoolType`.

Also fix compilation errors when the "orchard" feature is used without
the "transparent-inputs" feature.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-18 21:03:22 +01:00
Jack Grigg cf1922cdee zcash_client_sqlite: Move pinned views to `wallet::db` module 2024-06-18 19:21:03 +00:00
Jack Grigg 39bf4caa20 zcash_client_sqlite: Initial pass at documenting table structures
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
2024-06-18 16:48:05 +00:00
Jack Grigg 3599c6afe7 zcash_client_sqlite: Move pinned indices to `wallet::db` module 2024-06-18 14:24:33 +00:00
Jack Grigg 9c98a649ee zcash_client_sqlite: Move pinned table structures to `wallet::db` module 2024-06-18 14:24:33 +00:00
Kris Nuttycombe 87e23081d0
Merge pull request #1421 from zcash/dep-bip32
Migrate from `hdwallet` to `bip32`
2024-06-17 17:04:14 -06:00
str4d 03fc64cfd0
Merge pull request #1396 from nuttycom/test/block_spanning_shards
`zcash_client_sqlite` Fix error related to commitment tree frontier insertions.
2024-06-17 19:29:44 +01:00
Kris Nuttycombe 3e090dca66 Apply suggestions from code review
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-17 11:40:47 -06:00
Jack Grigg f54ee4abde Migrate from `hdwallet` to `bip32`
As part of this, we migrate to `secp256k1 0.27`. This version does not
bump `secp256k1-sys`, so remains compatible with the `libsecp256k1`
revision used in `zcashd`.

The `zcash_primitives::legacy::keys::AccountPrivKey` encoding also
changes to preserve the transparent extended key metadata. Previously
the type was documented as such, but only encoded the private key and
chain code; the new encoding now matches the documentation. As a side
effect, the unstable encoding of `zcash_keys::keys::UnifiedSpendingKey`
also changes.

Closes zcash/librustzcash#1407.
Closes zcash/librustzcash#1408.
2024-06-15 00:04:37 +00:00
Kris Nuttycombe 3bc74b254b zcash_client_sqlite: Improve documentation for test setup functions. 2024-06-13 18:43:55 -06:00
Kris Nuttycombe e3956c3251 zcash_client_sqlite: Fix clippy complaint. 2024-06-13 18:09:52 -06:00
Kris Nuttycombe ecea9ca196 zcash_client_sqlite: Fix shardtree error caused by pruning after frontier insertion.
Fixes #1398
2024-06-13 18:09:46 -06:00
Kris Nuttycombe de66c5b154 zcash_client_sqlite: Add test to reproduce incomplete penultimate subtree error. 2024-06-13 18:09:39 -06:00
Kris Nuttycombe 3db515e347 zcash_client_sqlite: Allow multi-output fake blocks to send to multiple keys. 2024-06-12 16:36:20 -06:00
Kris Nuttycombe c88cd17929 zcash_client_sqlite: Add multiple output capability to fake compact block construction.
Many important test scenarios for note commitment tree structure require
the use of blocks that contain multiple notes.
2024-06-12 16:34:37 -06:00
Daira-Emma Hopwood db7ae25d7e Allow compiling with "orchard" and without "transparent-inputs".
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-12 14:51:29 +01:00
Daira-Emma Hopwood 4cd96f30a1 Fix clippy lints exposed by the MSRV bump to 1.70.0.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-12 14:51:29 +01:00
Jack Grigg bffe6a4a10 Bump MSRV to 1.70 2024-06-12 10:58:17 +00:00
Daira-Emma Hopwood aa77be8830 Update dependencies (including to avoid a vulnerability warning for atty), bump MSRV to 1.66,
and fix new clippy lints for MSRV 1.66.

* tonic 0.10 -> 0.11
* tonic-build 0.10 -> 0.11
* cargo update
* cargo update -p home@0.5.9 --precise 0.5.5
* cargo update -p prost-build@0.12.4 --precise 0.12.3
* cargo update -p prost-types@0.12.4 --precise 0.12.3
* cargo update -p prost@0.12.4 --precise 0.12.3
* cargo update -p prost-derive@0.12.5 --precise 0.12.3
* cargo update -p half@2.4.1 --precise 2.2.1

(The precise updates avoid a further MSRV bump to 1.70.)

Remaining duplicates are currently unavoidable.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-05-20 13:35:27 +01:00
str4d 5c6a6a4c86
Merge pull request #1143 from nuttycom/crate_zip321
Extract `zip321` crate from `zcash_client_backend`
2024-04-22 22:46:09 +01:00
Kris Nuttycombe d2aa6cfc7f Apply suggestions from code review
Co-authored-by: str4d <thestr4d@gmail.com>
2024-04-22 14:41:50 -06:00
Kris Nuttycombe aeac544aed Address comments from code review. 2024-04-22 10:55:25 -06:00
Kris Nuttycombe a7de8a3dba Release zcash_client_sqlite version 0.10.3 2024-04-08 13:24:42 -06:00
Kris Nuttycombe f7c29f0111 zcash_client_sqlite: Fix the broken `account_birthday` query. 2024-04-05 18:21:11 -06:00
Kris Nuttycombe 20e8bca8d9 zcash_client_sqlite: Add a test demonstrating the broken `account_birthday` query. 2024-04-05 16:56:54 -06:00
Kris Nuttycombe b60600a4c3 zcash_client_sqlite: Use `ZcashAddress` for persistence of sent note addresses
Prior to this change, the recipient of a sent transaction would always
be shown as the protocol-level address, instead of any unified address
intended as the recipient. Now, instead of reencoding the recipient
address, we use the original `ZcashAddress` value from the payment
request.
2024-04-05 16:48:13 -06:00
Kris Nuttycombe 86e1181259 zip321: Make `Payment` fields private. 2024-04-05 16:30:31 -06:00
Kris Nuttycombe 3ea7d84183 zcash_client_backend: Update to use extracted `zip321` crate 2024-04-05 16:25:21 -06:00
str4d 023e3cad4c
Merge pull request #1337 from nuttycom/fix_suspicious_account_query
zcash_client_sqlite: Fix sloppy named-parameter reference.
2024-04-01 21:48:09 +01:00
Kris Nuttycombe bdd0990db2 zcash_client_sqlite: Use named column accessors for `to_spendable_note` 2024-04-01 13:49:40 -06:00
Kris Nuttycombe 9bd97814db zcash_client_sqlite: Use named column references in `to_unspent_transparent_output` 2024-04-01 12:19:54 -06:00
Kris Nuttycombe e618d80cde zcash_client_sqlite: Fix sloppy named-parameter reference. 2024-04-01 12:19:49 -06:00
Kris Nuttycombe 55895b85b5 zcash_client_sqlite: Add a test for multiple-account retrieval. 2024-04-01 12:19:48 -06:00
Kris Nuttycombe c34b68204d zcash_client_sqlite: Add a migration to ensure that default addresses have an Orchard receiver. 2024-03-29 11:53:28 -06:00
Kris Nuttycombe a58355f697 zcash_client_backend: Add a failing test for note selection error. 2024-03-27 14:58:12 -06:00
Jack Grigg bea4097ded zcash_client_sqlite 0.10.2 2024-03-27 11:05:26 -04:00
Jack Grigg 5462f84676 zcash_client_sqlite: Fix column name in UTXO query
Closes zcash/librustzcash#1326.
2024-03-27 13:49:20 +00:00
Jack Grigg 020305fd20 zcash_client_sqlite: Add tests that hit zcash/librustzcash#1326. 2024-03-27 13:49:15 +00:00
Kris Nuttycombe da3869a576 Release zcash_client_sqlite 0.10.1 2024-03-25 20:00:48 -06:00
Kris Nuttycombe 4464e06616 zcash_client_sqlite: Permit either sent note recipient address or recipient account to be null, but not both. 2024-03-25 20:00:48 -06:00
Kris Nuttycombe 366d5d7434 Release zcash_client_sqlite version 0.10.0
Closes #1126
2024-03-25 14:11:11 -06:00
Kris Nuttycombe 777adb871d Release zcash_client_backend version 0.12.0
Closes #1079
2024-03-25 14:03:42 -06:00
Kris Nuttycombe 304e5659fc
Merge pull request #1312 from zcash/avoid_dust_note_selection
zcash_client_sqlite: Disallow selection of dust notes.
2024-03-25 13:45:17 -06:00
Kris Nuttycombe bda72e36eb Put expensive tests behind an additional `expensive-tests` feature flag. 2024-03-25 13:27:42 -06:00
Kris Nuttycombe 0d8f5692df zcash_client_sqlite: Disallow selection of dust notes.
At present, we don't take builder padding rules into account in the
determination of whether or not we can include spends of dust notes in
grace actions. It's too complex to attempt a complete fix for Zashi 1.0,
but we can have a tolerable workaround for launch by just never
selecting dust-valued notes.

This is a temporary solution; opened #1316 to track the resolution.
2024-03-25 13:01:45 -06:00
Kris Nuttycombe 1719b0186c zcash_client_sqlite: Don't overwrite `account_id` with nulls in `put_sent_output`. 2024-03-25 12:42:43 -06:00
Kris Nuttycombe 4ba7fbd977 zcash_client_sqlite: Clarify `TransferType` matches in `store_decrypted_tx` 2024-03-25 11:55:06 -06:00
Kris Nuttycombe 151e6e526e zcash_client_backend: Track external addresses in inter-account transactions.
Previously, if the funding account for a received transaction output was
determined to be an account known to the wallet, the output was recorded
as though it were sent to an internal (change) address of the wallet.
2024-03-25 07:59:21 -06:00
Kris Nuttycombe 404132bce5 zcash_client_sqlite: Use `get_funding_account` to determine whether an output is recorded as sent. 2024-03-25 07:59:21 -06:00