Commit Graph

4173 Commits

Author SHA1 Message Date
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
Alfredo Garcia 5a4a3e06dc
Make `nu6` rust feature stable (#1454) 2024-08-06 00:01:03 +01:00
Daira-Emma Hopwood 29dbff1342
Merge pull request #1482 from zancas/doc_tweak
Doc tweak
2024-08-05 14:49:00 +01:00
dependabot[bot] 6ad68ee0ef
build(deps): bump EmbarkStudios/cargo-deny-action from 1 to 2
Bumps [EmbarkStudios/cargo-deny-action](https://github.com/embarkstudios/cargo-deny-action) from 1 to 2.
- [Release notes](https://github.com/embarkstudios/cargo-deny-action/releases)
- [Commits](https://github.com/embarkstudios/cargo-deny-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: EmbarkStudios/cargo-deny-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 05:37:53 +00:00
zancas 694f884a9d
apply derivative change as well 2024-08-02 08:24:00 -06:00
zancas 44e36a365e
fix incorrect doc-comment 2024-08-02 08:23:15 -06:00
zancas a05741f103
copied during build of .proto bindings 2024-08-01 18:58:33 -06:00
zancas cc9ec1de72
update CompactBlock doc-comment, to cover non-Sapling shielded notes, and addresses 2024-08-01 18:57:01 -06:00
Kris Nuttycombe 908d49d047
Merge pull request #1475 from Oscar-Pepper/fix_pool_type_in_batch_runner_add_block
corrected pool type for scan error
2024-08-01 12:51:56 -06:00
Francisco Gindre 22dd30f9c9
[#1477] Allow Orchard-only UFVK be created from an Orchard FVK
closes #1477
closes #1476
2024-07-31 09:51:36 -03:00
Oscar Pepper 2929273ef1
corrected pool type for scan error 2024-07-31 12:07:30 +01:00
Jack Grigg 68b883dad4 zcash_client_backend: Add `tor::Client::isolated_client`
This enables a single Tor client to create independent connections to
multiple `lightwalletd` instances (or the same instance several times).
2024-07-29 23:37:22 +00:00
Jack Grigg 6449e5c54f zcash_client_backend: Add `tor::Client::connect_to_lightwalletd`
Closes zcash/librustzcash#1471.
2024-07-29 23:32:06 +00:00
Kris Nuttycombe 301e8b497c zcash_client_sqlite: Add an internal newtype for transaction primary key values. 2024-07-29 15:08:40 -06:00
Kris Nuttycombe 7f7b685b99
Merge pull request #1465 from zcash/post-1425-fixes
Post #1425 fixes
2024-07-29 14:42:13 -06:00
Jack Grigg 5b3c87db46 zcash_client_backend: Rewrite `WalletWrite` documentation 2024-07-29 19:53:06 +00:00
Jack Grigg 5d5768b65a zcash_client_backend: Revert redefinition of `WalletWrite::create_account` 2024-07-29 19:53:06 +00:00
Jack Grigg 4b3a8cf5d1 zcash_client_backend: Doc comment fixes left over from zcash/librustzcash#1425 2024-07-29 19:53:06 +00:00
Jack Grigg ed688138a7 zcash_client_backend: Remove extra spaces added by auto-wrapping 2024-07-29 19:53:06 +00:00
Jack Grigg ec3d5604bc zcash_client_sqlite: Move imports out of test function
After zcash/librustzcash@7c5ac7b151 we now
need to conditionally import some of them at the module level anyway.
2024-07-29 19:53:06 +00:00
Jack Grigg fa80ef0e14
Merge pull request #1468 from daira/transactional-create_proposed_transactions
Use a single database transaction when storing transactions to be sent
2024-07-29 19:20:22 +01:00
Daira-Emma Hopwood f54ecbd285 Use a single database transaction when storing transactions to be sent.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-07-29 18:57:31 +01:00
Daira-Emma Hopwood e856430c8e [move only] Move the body of `store_sent_tx` to `zcash_client_sqlite::wallet`.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-07-29 18:48:11 +01:00
Jack Grigg 52de338e16
Merge pull request #1461 from zcash/1046-zcs-identify-shielding
zcash_client_sqlite: Add `is_shielding` to `v_transactions` view
2024-07-29 18:16:55 +01:00
Jack Grigg b42deab857 zcash_client_sqlite: Fix transparent input size in `shield_transparent`
The test was previously shielding a 10,000 zatoshi transparent input,
which was precisely enough to pay the ZIP 317 fee, and resulted in a
"shielding" transaction that had one transparent input, and no outputs
of any kind. Under our new `is_shielding` definition in `v_transactions`
this would not be a shielding transaction (it is effectively a "donate
coin to miners" transaction).
2024-07-29 16:50:05 +00:00
Jack Grigg 04e8d0bad7 zcash_client_sqlite: Add `is_shielding` to `v_transactions` view
Closes zcash/librustzcash#1046.
2024-07-29 16:44:04 +00:00
Jack Grigg 77936f247d
Merge pull request #1469 from daira/fix-rust-analyzer
Tell rust-analyzer to compile using stable
2024-07-29 04:39:45 +01:00
Daira-Emma Hopwood 3e5e4f30cd Tell rust-analyzer to compile using stable, because the Rust version from
`rust-toolchain.toml` is too old for the current proc-macros protocol
(specifically, the `--keep-going` flag was not stable in Rust 1.70, as
can be verified by `cargo +1.70.0 check --keep-going`).

This works around https://github.com/rust-lang/rust-analyzer/issues/17662 ,
and very likely future problems, because the rust-analyzer devs are quite
aggressive in depending on recent versions: "by policy we don't make any
attempts at supporting more than the last couple of stable releases"
according to https://github.com/rust-lang/rust-analyzer/issues/17662#issuecomment-2242265513 .
The toolchain we select in `rust-toolchain.toml` often lags behind that
intentionally, because we want to verify that we build with our MSRV.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-07-28 23:25:55 +01:00
Kris Nuttycombe f35a894103
Merge pull request #1466 from daira/transactional-create_proposed_transactions 2024-07-27 11:17:05 -06:00
Kris Nuttycombe 5b8c334ad2
Merge pull request #1464 from zcash/improve-outpoint-debug
zcash_primitives: Use `TxId` type inside `transparent::OutPoint`
2024-07-27 07:56:19 -06:00
Daira-Emma Hopwood 163425add6 In `create_proposed_transactions`, store the transactions only after
creating all of them. This avoids undesired retransmissions in case a
transaction is stored and the creation of a subsequent transaction fails.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-07-27 05:32:48 +01:00