Commit Graph

1082 Commits

Author SHA1 Message Date
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
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 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 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
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 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
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 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
Daira-Emma Hopwood 7c5ac7b151 Fix warnings when "transparent-inputs" is disabled.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-07-27 04:44:26 +01:00
Jack Grigg 4f95bd22d4
Merge pull request #1462 from nuttycom/1434-store_decrypted_tx
zcash_client_sqlite: Store received UTXOs in `store_decrypted_tx`
2024-07-26 23:11:47 +01:00
Jack Grigg 8e2b360db0
Merge pull request #1425 from nerdcash/ufvk_import_support
Add support for importing accounts by UFVK
2024-07-26 23:11:30 +01:00
Kris Nuttycombe 3cec9ee4a7 zcash_client_sqlite: Store received UTXOs in `store_decrypted_tx`.
This fixes an issue wherein transparent outputs of transactions added to
the wallet via `decrypt_and_store_transaction` would not be properly
recorded as UTXOs belonging to the wallet.

Part of #1434
2024-07-26 15:47:16 -06:00
Kris Nuttycombe 5ad3205e58 zcash_client_sqlite: Demonstrate the failure of store_decrypted_tx to persist transparent outputs.
Related to #1434
2024-07-26 15:46:57 -06:00
Kris Nuttycombe 31f8e64483 Fix clippy lint. 2024-07-26 08:55:16 -06:00
Jack Grigg 7c6bf5c9a5 zcash_client_sqlite: Fix `--no-default-features` compilation
Closes zcash/librustzcash#1273.
2024-07-26 00:15:26 +00:00
Kris Nuttycombe 5bee983e6c zcash_client_sqlite: Make `ephemeral_addresses` migration forward-compatible 2024-07-25 16:52:07 -06:00
Kris Nuttycombe e555854f87 Merge remote-tracking branch 'upstream/main' into ufvk_import_support 2024-07-25 16:31:34 -06:00
Andrew Arnott c9ecc1196a
Record whether imported accounts have a spending key 2024-07-23 23:02:33 -06:00
Andrew Arnott 664526f74a
Fixes for nearly all PR comments 2024-07-23 19:47:37 -06:00
Jack Grigg bbb73b0495 Fix clippy lint 2024-07-23 17:09:59 +00:00
Jack Grigg 1a562fb208 zcash_client_sqlite: Fix bug in `utxos_to_txos` migration
zcash/librustzcash@72d8df8e68 altered the
`v_received_notes` view to include transparent coins (renaming it to
`v_received_outputs`), and updated `v_transactions` to not separately
query transparent coins. The latter queried `v_received_notes` twice,
once to fetch notes received in a transaction, and again to fetch notes
spent in a transaction. The spent notes were obtained by joining on
the junction table `v_received_note_spends` to get the spent-in
transaction's ID. The commit retained the junction table join, but
didn't use it due to a typo, leading to notes being "spent-in" the
transaction they were received in. This bug had several effects:

- `account_balance_delta` showed `+change` for transactions in which a
  change note was received that had not yet been spent.
- `account_balance_delta` showed `0` for transactions in which all
  received notes had been subsequently spent.
- Transactions that spent funds with no change were omitted.
2024-07-23 17:09:59 +00:00
Jack Grigg e29622e972 zcash_client_sqlite: Check that ZIP 320 spend creates expected history 2024-07-23 17:09:59 +00:00
Kris Nuttycombe eceb8c7ff5
Merge pull request #1442 from hattizai/patch001
chore: remove duplicate words
2024-07-22 11:49:24 -06:00
Andrew Arnott fa5248def0
Fix clippy error 2024-07-18 18:10:04 -06:00
Andrew Arnott 36b3fc866a
Drop the check on the error message 2024-07-18 13:00:18 -06:00
Andrew Arnott 2ee56f77f2
Merge remote-tracking branch 'upstream/main' into ufvk_import_support 2024-07-17 23:31:08 -06:00
Jack Grigg 4cefa92c28 Move SQLite dependency definitions from `zcash_client_sqlite` to root 2024-07-17 18:39:48 +00:00
Jack Grigg eaa43b4e25
Merge pull request #1257 from daira/implement-transparent-source-only
Add support for transparent-source-only (TEX) addresses
2024-07-17 19:27:36 +01:00
Kris Nuttycombe f8bedd89e7 Make ephemeral_addresses.address unique
This also provides additional documentation for why it's necessary
to store ephemeral_addresses table entries at indicies that do not
correspond to valid addresses.
2024-07-17 11:14:44 -06:00
Kris Nuttycombe 24b6d50d77 Apply suggestions from code review
Co-authored-by: Jack Grigg <thestr4d@gmail.com>
2024-07-17 07:51:58 -06:00
Daira-Emma Hopwood 615f6254f8 Add utility methods on `TestState` to dump the contents of a database
table, or to run an sqlite3 command. The latter is marked `unsafe`.
The name of the table must be a static string containing only `[a-ZA-Z_]`
characters. These are only usable if both `#[cfg(test)]` and the
"unstable" feature are enabled.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-07-07 02:12:12 +01:00
Daira-Emma Hopwood 56aa348a41 Extend the `send_multi_step_proposed_transfer` test to check the behaviour
when another wallet creates a transaction with an output to one of our
ephemeral addresses, and repair the implementation to pass this test.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-07-07 01:16:49 +01:00
Daira-Emma Hopwood 9856a70840 Simpler handling of a potential overflow.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-07-04 22:58:10 +01:00
Daira-Emma Hopwood 22b8cff6d1 The `TxId` argument to `EphemeralAddressReuse` does not need to be optional.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-07-04 20:37:07 +01:00
Daira-Emma Hopwood bda6451273 Change `unwrap`s to `expect`s when constructing `NonHardenedChildIndex`.
Also change the return type of `find_index_for_ephemeral_address_str` to
`Result<Option<NonHardenedChildIndex>, SqliteClientError>` so that the
`expect` is in the right place.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-07-04 20:13:35 +01:00
Daira-Emma Hopwood 6bc22f411e Documentation fixes and improvements.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-07-04 20:13:35 +01:00
Daira-Emma Hopwood b48f6272f0 Minor simplification in a test.
Co-authored-by: Jack Grigg <jack@electriccoin.co>
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-07-04 19:48:54 +01:00
Daira-Emma Hopwood 86428c4afe Refactor `find_account_for_transparent_output` (now called
`find_account_for_transparent_address`) to take a `TransparentAddress`
rather than a `WalletTransparentOutput`.

Co-authored-by: Kris Nuttycombe <kris@nutty.land>
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-07-04 19:48:54 +01:00
Daira-Emma Hopwood a01588bc65 Ensure that `mark_ephemeral_address_as_mined` correctly handles indices
within the gap. Also support paging for `get_known_ephemeral_addresses`.

Co-authored-by: Jack Grigg <jack@electriccoin.co>
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-07-04 19:48:54 +01:00
Daira-Emma Hopwood e97da43409 Refactoring to address review comments.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-07-04 05:24:32 +01:00
Daira-Emma Hopwood b63ff5bfcd Rename `get_reserved_ephemeral_addresses` to `get_known_ephemeral_addresses`
and change the `TransparentAddressMetadata` in its result map to not be
optional.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-07-04 05:24:32 +01:00
Daira-Emma Hopwood 01ff201ffb Minor changes responding to review comments.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-07-04 05:24:32 +01:00
hattizai 2244e0ff77 remove duplicate words 2024-07-03 11:01:40 +08:00
Daira-Emma Hopwood 3922d71ade Change the type of `n` in `reserve_next_n_ephemeral_addresses` back to `u32`.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-28 20:59:12 +01:00
Daira-Emma Hopwood 38296634d9 Change note selection query to select notes > 5000 zats, not >= 5000 zats.
Also the issue reference was wrong.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-28 19:03:11 +01:00
Daira-Emma Hopwood f0e5aab692 Improve discrimination of proposal errors.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-28 17:47:08 +01:00
Daira-Emma Hopwood ec4a6d0cad Documentation improvements.
Co-authored-by: Jack Grigg <thestr4d@gmail.com>
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-28 17:47:08 +01:00
Daira-Emma Hopwood 6471d4c27a Don't assume that prior step outputs are ephemeral iff they are
`StepOutputIndex::Change`.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-28 17:47:08 +01:00
Daira-Emma Hopwood 0735390546 Rename `amount` to `transfer_amount` in `send_multi_step_proposed_transfer`.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-27 01:43:09 +01:00
Daira-Emma Hopwood bd6c9f3599 Apply documentation suggestions from code review.
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-27 01:43:09 +01:00
Daira-Emma Hopwood 7fb355739e Implement `WalletRead::get_transparent_address_metadata` for
`zcash_client_sqlite` using direct database queries.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-27 01:43:09 +01:00
Daira-Emma Hopwood 5a90fffed4 Factor out the conversion of the `diversifier_index_be` field in the
`addresses` table to a `NonHardenedChildIndex`.

(This moves where a `diversifier_index_be` field of the wrong length would
be detected and so is not quite a no-op, but that shouldn't matter.)

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-27 01:43:09 +01:00
Daira-Emma Hopwood 4f43a01f83 Refactor transparent address metadata lookups. This is correct as-is but
will be simplified and made more efficient in subsequent commmits.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-27 01:43:09 +01:00
Daira-Emma Hopwood 745054ba69 `find_account_for_transparent_output` now searches unreserved ephemeral
addresses within the gap limit. This should make recording TXOs found at
these addresses via `WalletWrite::put_received_transparent_utxo` work
correctly.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-25 08:40:08 +01:00
Daira-Emma Hopwood 914acb57ce Move most remaining code for wallet support of ephemeral addresses into
`zcash_client_sqlite::wallet::transparent::ephemeral`.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-25 08:40:08 +01:00
Daira-Emma Hopwood e164b59329 Move most ephemeral address index handling into helper functions in
`zcash_client_sqlite::wallet::transparent::ephemeral`. Also report the
account id and index for `SqliteClientError::ReachedGapLimit`.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-25 08:40:08 +01:00
Daira-Emma Hopwood 25f07da47d Add a constraint on the range of `ephemeral_addresses(address_index)`.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-25 08:40:08 +01:00
Daira-Emma Hopwood 994f6ff387 Change type of `n` in `reserve_next_n_ephemeral_addresses`.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-25 08:40:08 +01:00
Daira-Emma Hopwood 637ae925da Add a migration test for the `ephemeral_addresses` migration.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-25 08:40:08 +01:00
Daira-Emma Hopwood 0f49daed5f `mark_ephemeral_address_as_mined` now prefers setting `mined_in_tx` to
the transaction mined at an earlier height, out of the newly observed
transaction and any already referenced one. This slightly reduces the
chance of unnecessarily reaching the gap limit too early in some corner
cases.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-25 08:40:08 +01:00
Daira-Emma Hopwood 2f521d7873 If a change memo is supplied, it should not be used in the second step
of a ZIP 320 proposal.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-25 08:40:08 +01:00
Daira-Emma Hopwood c6520cf6a6 Change the protobuf schema to explicitly specify whether a `ChangeValue`
is ephemeral.

This also fixes `try_into_standard_proposal` to allow decoding from the
protobuf representation into a proposal that uses references to prior
ephemeral transparent outputs, provided that the "transparent-inputs"
feature is enabled.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-25 08:40:08 +01:00
Daira-Emma Hopwood eb8846162c Address review comment: `EphemeralIvk` should not implement `IncomingViewingKey`.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-25 08:40:08 +01:00
Daira-Emma Hopwood 549fe0b652 In `reserve_next_n_ephemeral_addresses`, exclude addresses observed in
unmined transactions from consideration when calculating the end of the
gap.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-25 08:40:08 +01:00
Daira-Emma Hopwood 0f3de63ae1 Apply documentation suggestions from code review.
Co-authored-by: str4d <thestr4d@gmail.com>
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-25 08:40:08 +01:00
Daira-Emma Hopwood 2fae4bb244 ZIP 320 implementation.
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
Co-authored-by: Jack Grigg <str4d@electriccoin.co>
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-25 08:40:08 +01:00
Kris Nuttycombe 9716617b55 Apply suggestions from code review
Co-authored-by: Jack Grigg <thestr4d@gmail.com>
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-24 14:50:29 -06:00
Kris Nuttycombe 10258b8443 zcash_client_sqlite: Address comments from code review. 2024-06-21 19:13:18 -06:00
Kris Nuttycombe 72d8df8e68 zcash_client_sqlite: Align handling of transparent UTXOs with that of shielded notes.
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2024-06-21 19:13:18 -06:00
Kris Nuttycombe d92bf27bfc zcash_client_sqlite: Move transparent-inputs wallet methods into the `wallet::transparent` module. 2024-06-21 19:13:17 -06:00
str4d 5e4c4a03e5
Merge pull request #1433 from nuttycom/fix_migration_pragmas
zcash_client_sqlite: Fix handling of PRAGMA directives.
2024-06-20 00:56:02 +01:00
Andrew Arnott b075636e86
Add several tests 2024-06-19 17:41:45 -06:00
Andrew Arnott d27bf4fc12
Fix importing of UFVKs with fewer keys than possible 2024-06-19 17:41:37 -06:00
Kris Nuttycombe 1110f5d8fb
Apply suggestions from code review
Co-authored-by: str4d <thestr4d@gmail.com>
2024-06-19 16:50:20 -06:00
Kris Nuttycombe a452cf9669 zcash_client_sqlite: Fix handling of PRAGMA directives.
The `foreign_keys` pragma has no effect when used within a transaction,
so it should only be set at the top level. The `legacy_alter_table`
pragma should only be used in cases where its effect is explicitly
intended.
2024-06-19 15:16:18 -06:00
Daira-Emma Hopwood f0cf40543a Update tests in testing/pool.rs to use ZIP 317 fees.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-19 16:38:12 +01:00
Daira-Emma Hopwood 21d573122c `zcash_client_backend::{fixed,standard,zip317}::SingleOutputChangeStrategy`
now implement a different strategy for choosing whether there will be any
change, and its value. The aims are:

* Ensure that it is possible to create fully transparent transactions with
  no change (this will be needed for ZIP 320). The `InsufficientFunds`
  error in this case should have a `required` field that reflects the
  additional amount needed, according to the fee calculated without an
  extra change output.
* Avoid leaking information about note amounts in some cases: an adversary
  that knew the number of external recipients and the sum of their outputs
  was able to learn the sum of the inputs if no change output was present.
* Defend against losing money by using `DustAction::AddDustToFee` with a
  too-high dust threshold.
* Ensure that if a "change memo" is requested, there will always be a
  shielded change output in which to put it. Previously, this would not
  be the case when using `DustAction::AddDustToFee`.

Co-authored-by: Jack Grigg <jack@electriccoin.co>
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-19 13:12:17 +01:00