Commit Graph

4203 Commits

Author SHA1 Message Date
Kris Nuttycombe 68788e4f2e zcash_primitives release version 0.16.0 2024-08-19 18:44:36 -06:00
Kris Nuttycombe 6f6af4138a
Merge pull request #1501 from zcash/release/zcash_address-0.4.0
zcash_address: release version 0.4.0
2024-08-19 18:44:02 -06:00
Kris Nuttycombe e6663e5d0a Update `cargo vet` for zcash_address-0.4.0 release 2024-08-19 18:40:40 -06:00
Kris Nuttycombe 0e803a73c9 release zcash_address version 0.4.0 2024-08-19 16:24:03 -06:00
Kris Nuttycombe 38972e9013
Merge pull request #1500 from zcash/release/zcash_encoding-0.2.1
release zcash_encoding version 0.2.1
2024-08-19 16:16:37 -06:00
Kris Nuttycombe bd4542b3cf release zcash_encoding version 0.2.1 2024-08-19 15:08:37 -06:00
Kris Nuttycombe abb241cd65
Merge pull request #1499 from nuttycom/release/zcash_protocol-0.2.0
zcash_protocol release version 0.2.0
2024-08-19 14:59:05 -06:00
Kris Nuttycombe d3ab6fb1ae zcash_protocol release version 0.2.0 2024-08-19 14:36:11 -06:00
Kris Nuttycombe b59d027987
Merge pull request #1496 from nuttycom/fix/transparent_spend_recording
zcash_client_sqlite: Track all transparent spends.
2024-08-19 14:26:17 -06:00
Kris Nuttycombe 5a32d3b9bd zcash_client_sqlite: Ensure the end heights of `SpendsFromAddress` requests do not exceed the chain tip.
`lightwalletd` will return an error in the case that the requested end
height exceeds the chain tip. This should be considered a bug in
lightwalletd, but for now we will work around it in the wallet.
2024-08-19 12:10:14 -06:00
Kris Nuttycombe 484659dddb zcash_client_sqlite: Reprocess wallet transactions on upgrade to restore additional transparent history. 2024-08-16 16:55:03 -06:00
Kris Nuttycombe c22a2a4c92 zcash_client_sqlite: Move `store_decrypted_tx` to the `wallet` module.
This permits this method to be used in a migration.
2024-08-16 16:42:18 -06:00
Daira-Emma Hopwood ff47005024
Merge pull request #1483 from zcash/dependabot/github_actions/EmbarkStudios/cargo-deny-action-2
build(deps): bump EmbarkStudios/cargo-deny-action from 1 to 2
2024-08-16 23:42:10 +01:00
Kris Nuttycombe 4059bfeca2 zcash_client_sqlite: Ensure we will query for status of unmined transactions in `store_decrypted_tx` 2024-08-16 14:24:15 -06:00
Kris Nuttycombe 3089e3b29d zcash_client_sqlite: Do not overwrite address on update in `put_sent_output` 2024-08-16 13:07:12 -06:00
Kris Nuttycombe 7a00ff0c2a zcash_client_backend: Add `Ord` and `Hash` impls for `TransactionDataRequest` 2024-08-16 11:06:14 -06:00
Kris Nuttycombe 895d92b66b zcash_client_sqlite: Ensure we set mined-ness information in `store_decrypted_tx` 2024-08-16 10:49:59 -06:00
Kris Nuttycombe 54f59a8778 zcash_client_sqlite: Track all transparent spends.
Prior to this change, the `mark_transparent_utxo_spent` method assumed
that the UTXO information for outputs belonging to the wallet would be
known to exist before their spends could be detected. However, this is
not true in transparent history recovery: the spends are detected first.
We now cache the information about those spends so that we can then
correctly record the spend when the output being spent is eventually
detected.

At present, data from this spend cache is never deleted. This is because
such deletions could undermine history recovery in some narrow cases
related to chain reorgs.
2024-08-15 16:37:37 -06:00
Kris Nuttycombe 3b742843ab
Merge pull request #1478 from pacu/ufvk-from-orchard-fvk
[#1477] Allow Orchard-only UFVK be created from an Orchard FVK
2024-08-13 20:54:37 -06:00
Kris Nuttycombe d829d3c4a9
Merge pull request #1493 from zcash/dependency_updates
zcash_primitivies: Update zcash-specific dependencies.
2024-08-13 20:54:04 -06:00
Kris Nuttycombe 12752cbcd6 zcash_primitivies: Update zcash-specific dependencies.
* sapling-crypto 0.2
* orchard 0.9
* incrementalmerketree 0.6
* shardtree 0.4
2024-08-13 16:58:58 -06:00
Kris Nuttycombe 05887be962
Merge pull request #1487 from daira/improve-doc-for-send-multi-test
Improve the accuracy of a comment in `send_multi_step_proposed_transfer`
2024-08-12 08:15:38 -06:00
Kris Nuttycombe c6ff58c042
Merge pull request #1491 from daira/consistent-orchard-enabling
Ensure that `zcash_client_sqlite` only enables "orchard" for `zcash_keys` when its own "orchard" feature is enabled
2024-08-11 19:14:56 -06:00
Daira-Emma Hopwood a021b9f277 Ensure that `zcash_client_sqlite` only enables "orchard" for `zcash_keys` when
its own "orchard" feature is enabled.

fixes #1488

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-08-11 18:34:52 +01:00
Kris Nuttycombe b0a3ad3c25
Merge pull request #1489 from daira/check-for-colliding-component-fvks
Check for colliding component FVKs
2024-08-11 10:24:09 -06:00
Daira-Emma Hopwood bd38645da5 When adding an account, check whether any component of its UFVK
(if available) collides with an existing imported or derived FVK.

This does not check for collisions on IVK for `Incoming` accounts.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-08-11 00:24:05 +01:00
Daira-Emma Hopwood 130b23c92f Address review comments on `WalletWrite` documentation for colliding accounts.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-08-10 20:39:13 +01:00
Jack Grigg 15bc35cd32 Make `WalletWrite` documentation for colliding accounts more precise 2024-08-10 20:39:13 +01:00
Daira-Emma Hopwood 03c2e538ca Improve the accuracy of a comment in `send_multi_step_proposed_transfer`.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-08-10 10:40:36 +01:00
Kris Nuttycombe 9cfce187f0
Merge pull request #1486 from nuttycom/wallet/account_types
Add the ability to obtain the account type (spending vs view-only) from `AccountSource`
2024-08-09 19:07:20 -06:00
Kris Nuttycombe ac7cbf9a41 zcash_client_backend: Add a `purpose` modifier for imported accounts.
This moves the tracking of whether or not a spending key is expected to
be available for an imported account into the `AccountSource::Imported`
variant.
2024-08-09 18:38:39 -06:00
Jack Grigg 52abb1f057
Merge pull request #1473 from nuttycom/wallet/enrichment_queue
Add queues to track the need for transaction enhancement and/or verification of mined status.
2024-08-10 00:37:23 +01:00
Kris Nuttycombe b47c7bfe8d zcash_client_sqlite: Improve the internal documentation of `set_transaction_status` 2024-08-09 17:30:37 -06:00
Kris Nuttycombe 5a1645ac76 zcash_client_sqlite: Make transaction retrieval depend upon presence of raw tx data. 2024-08-09 16:55:35 -06:00
Kris Nuttycombe 0bfa3d35bc Merge remote-tracking branch 'daira/1485-improve-multi-step-test' into wallet/enrichment_queue 2024-08-09 15:57:36 -06:00
Daira-Emma Hopwood 1023ce7f99 Replace the `put_tx_meta` workaround in `send_multi_step_proposed_transfer`.
fixes #1485

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-08-09 22:34:36 +01:00
Daira-Emma Hopwood 56e42336c4 Minor simplifications.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-08-09 22:33:00 +01:00
Daira-Emma Hopwood 239f7ff404 Improve the accuracy of a comment in `set_transaction_status`.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-08-09 22:32:40 +01:00
Kris Nuttycombe 171cc3d185 Address review comments in `transaction_data_requests` 2024-08-09 15:10:53 -06:00
Kris Nuttycombe 8752ad7e19 zcash_client_backend: Add `target_height` to `SentTransaction` 2024-08-09 14:09:51 -06:00
Daira-Emma Hopwood d96bc11055 Add a comment explaining why it is safe to unconditionally delete the
request in `set_transaction_status`.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-08-09 19:03:30 +01:00
Kris Nuttycombe dada980473 zcash_client_sqlite: Add testing for transaction data request generation. 2024-08-09 11:36:34 -06:00
Kris Nuttycombe 366a3e3323 Apply suggestions from code review
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-08-09 10:45:28 -06:00
Kris Nuttycombe 52f7a77cae Apply suggestions from code review
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-08-07 12:25:06 -06:00
Kris Nuttycombe a3109cfb78 zcash_client_sqlite: Add queue for transparent spend detection by address/outpoint. 2024-08-06 12:25:44 -06:00
Kris Nuttycombe 69828bc0d0 zcash_client_sqlite: Add `target_height` column to `transactions` table. 2024-08-06 12:25:44 -06:00
Kris Nuttycombe 3da29d2506 zcash_client_backend: Add transaction data requests.
This adds a mechanism that can be used by the backend to request
additional transaction data or status information from the client,
for the purpose of being to explore transparent transaction history
that is otherwise currently unavailable.
2024-08-06 12:25:44 -06:00
Kris Nuttycombe 7fbc6568aa zcash_client_sqlite: Ensure that max_observed_unspent height is set correctly. 2024-08-06 12:25:44 -06:00
Kris Nuttycombe 18207883ea zcash_client_backend: Add `block_height` argument to `decrypt_and_store_transaction`
In the case that `decrypt_and_store_transaction` is being used to add
data for fully-transparent transactions to the database, it may be the
case that there is no existing relationship between a transaction and
the block height at which it was mined (unlike for transactions being
enhanced after discovery via block scanning.) This change makes it
possible to set the mined height for transactions that do not have any
shielded components that involve the wallet.
2024-08-06 12:25:44 -06:00
Kris Nuttycombe 1057ddb516 zcash_client_sqlite: Add a table to track transaction status and enrichment requests. 2024-08-06 12:25:44 -06:00