Commit Graph

900 Commits

Author SHA1 Message Date
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
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
Kris Nuttycombe 7e7dba8020 zcash_client_sqlite: Add `get_funding_accounts` method. 2024-03-25 07:59:20 -06:00
Kris Nuttycombe e22cf68a4a zcash_client_sqlite: Fix `birthday_in_anchor_shard` tests. 2024-03-24 17:02:23 -06:00
Kris Nuttycombe 81954e2a65 zcash_client_sqlite: Fix `invalid_chain_cache_disconnected` tests. 2024-03-24 17:02:23 -06:00
Kris Nuttycombe e67a978ff9 zcash_client_sqlite: Use account birthday subtree sizes for progress.
This also fixes the `update_chain_tip_stable_max_scanned` tests.
2024-03-24 17:02:23 -06:00
Kris Nuttycombe 9c9bd40549 zcash_client_sqlite: Fix balance in expired unmined transaction history.
Fixes #1292
Fixes #1299
2024-03-24 17:02:23 -06:00
Kris Nuttycombe 874d6b608b zcash_client_backend: Ensure checkpoint at the end of each block.
This fixes an error wherein a note commitment in the last note
commitment position in a block was not being correctly marked as a
checkpoint.

This would occur when a block contained both Sapling and Orchard note
commitments, but the final transaction in the block contained only
either Sapling or Orchard note commitments, but not both.

Fixes #1302
2024-03-24 11:50:12 -06:00
Kris Nuttycombe 635057d86f zcash_client_sqlite: Avoid attempting to re-create already-pruned checkpoints. 2024-03-23 08:37:59 -06:00
Kris Nuttycombe 5d3ddabe24 zcash_client_sqlite: Add a test to attempt to simulate the checkpoint conflict bug (not failing.) 2024-03-23 08:37:59 -06:00
Kris Nuttycombe f3c8b58784 Minor internal variable renaming for clarity. 2024-03-22 09:14:08 -06:00
Kris Nuttycombe 6f1e4aff1a zcash_client_sqlite: Fix tests that broke with the addition of Orchard UA receivers. 2024-03-21 21:15:28 -06:00
Kris Nuttycombe cb218ad5ac
Merge pull request #1297 from nuttycom/sqlite_wallet/branching_chain_test_fixes
Fix update_chain_tip_unstable_max_scanned tests.
2024-03-21 12:08:37 -06:00
Kris Nuttycombe 5298ae22d2 zcash_client_sqlite: Fix update_chain_tip_unstable_max_scanned tests. 2024-03-21 09:27:15 -06:00
Kris Nuttycombe dc4fccf566 zcash_client_sqlite: Modify `TestState` to allow initialization with chain state. 2024-03-20 20:43:49 -06:00
Kris Nuttycombe 978f838aae zcash_client_sqlite: Add `testing::TestAccount` struct. 2024-03-20 10:08:36 -06:00
Jack Grigg 7bcf10b44b zcash_client_sqlite: Include Orchard receiver in default UA for new accounts 2024-03-20 00:28:40 +00:00
Kris Nuttycombe 4f7c5bd722 zcash_client_sqlite: Fix `scan_complete` tests. 2024-03-19 16:11:57 -06:00
Jack Grigg 3c1e82a0c8 zcash_client_sqlite: Add missing feature flags to error helper fn 2024-03-19 17:53:41 +00:00
Jack Grigg 3090aff87f Distinguish seed relevance when no derived accounts are present
During wallet migration in particular, the absence of _any_ accounts is
expected, and all seeds should be treated as relevant (because accounts
cannot be added before a wallet is initialized).
2024-03-19 17:53:41 +00:00
Jack Grigg 4fa0547b84 zcash_client_sqlite: Always check for seed relevance in `init_wallet_db`
Closes zcash/librustzcash#1283.
2024-03-19 00:34:28 +00:00
Jack Grigg e6bc21b461 Add `WalletRead::is_seed_relevant_to_any_derived_accounts` 2024-03-19 00:34:28 +00:00
Jack Grigg 8c7f8d07ba zcash_client_sqlite: Fix bug in `WalletDb::validate_seed`
The previous implementation was mixing the caller-provided seed with the
wallet-provided ZIP 32 account index, and throwing an error if the USK
derivation failed. We instead need to count that as a mismatch, because
the wallet account's actual seed would derive a USK fine (because wallet
accounts are required to have a known UIVK).
2024-03-19 00:34:28 +00:00
Jack Grigg 2d8a7dc4af zcash_client_sqlite: Remove `SqliteClientError::InvalidNoteId` 2024-03-19 00:34:28 +00:00
Jack Grigg c67b17dc96 zcash_client_sqlite: Extract `seed_matches_derived_account` helper 2024-03-19 00:34:28 +00:00
Jack Grigg 703e50ae03 Add `Account::uivk`
The blanket `impl Account<A> for (A, Option<UnifiedFullViewingKey>)` is
removed because we cannot know the UIVK for `(A, None)`. We instead
provide a blanket impl for `(A, UnifiedIncomingViewingKey)`. We also
move both of them behind `test-dependencies` because they are only
intended for testing purposes.
2024-03-19 00:34:28 +00:00
Jack Grigg 85d79fbb8a zcash_client_sqlite: Distinguish "seed not relevant" in migration errors 2024-03-19 00:32:35 +00:00
str4d da64e8aa5d
Merge pull request #1272 from nuttycom/account_source
zcash_client_backend: Rename `AccountKind` to `AccountSource`
2024-03-18 17:59:17 +00:00