Daira-Emma Hopwood
17af8e32e8
Refactor `FeeRule::fee_required` to take the sizes of transparent
...
inputs and outputs.
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-18 21:05:49 +01:00
Daira-Emma Hopwood
cefbaf59d5
Add `zcash_client_backend::fees::{sapling,orchard}::EmptyBundleView`.
...
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-18 21:03:22 +01:00
Daira-Emma Hopwood
2337f79484
Add `zcash_keys::Address::Tex`.
...
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-18 21:03:22 +01:00
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
c3e532f29b
The return type of `ChangeValue::new` is now optional; it returns `None`
...
if a memo is given for the transparent pool. Use `ChangeValue::shielded`
to avoid this error case when creating a `ChangeValue` known to be for a
shielded pool.
Co-authored-by: Jack Grigg <jack@electriccoin.co>
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
Daira-Emma Hopwood
1d9fede906
Cosmetic fixes to changelog.
...
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-18 21:03:22 +01: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
Andrew Arnott
ce40387511
Add `import_account_hd` and `import_account_ufvk` methods
2024-06-17 08:57:39 -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
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
Jack Grigg
0f4b7463d8
Remove `time` pin now that its MSRV is compatible with ours
2024-06-12 11:20:40 +00:00
Jack Grigg
bffe6a4a10
Bump MSRV to 1.70
2024-06-12 10:58:17 +00:00
str4d
851e20347f
Fix changelogs to reflect actual MSRVs
2024-05-24 15:46:40 +01: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
jimmycathy
3510384f10
chore: remove repetitive words
...
Signed-off-by: jimmycathy <clonecode@outlook.com>
2024-05-04 20:54:15 +08:00
Kris Nuttycombe
f28aa6b304
`zcash_{keys, client_backend}`: Fix no-default-features build.
2024-04-11 18:00:59 -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
Kris Nuttycombe
d982d7826a
zip321: Replace dependencies on `zcash_keys` types with `zcash_address`
2024-04-05 16:10:22 -06:00
Kris Nuttycombe
fdf86ad740
Move `zcash_client_backend::zip321` to the `zip321` crate.
2024-04-03 12:14:20 -06:00
Jack Grigg
24277a6ba4
zcash_client_backend: Implement async wallet synchronization function
...
This implements the necessary state machine for taking a wallet in some
arbitrary synchronization status, and fully scanning (the remainder of)
the chain.
Closes zcash/librustzcash#1169 .
2024-04-02 00:26:08 +00:00
oscar-pepper
25b8404e2d
Add block cache trait ( #1192 )
2024-04-01 21:55:16 +01:00
Kris Nuttycombe
1cb33c8b06
zcash_client_backend release version 0.12.1
2024-03-27 14:58:12 -06:00
Kris Nuttycombe
d431889560
zcash_client_sqlite: Fix incorrect input selection filtering when sending to transparent.
...
The "avoid pool crossing" conditions in not selection were erroneously
not taking into account the need to pay transparent outputs.
2024-03-27 14:58:12 -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
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
7e7dba8020
zcash_client_sqlite: Add `get_funding_accounts` method.
2024-03-25 07:59:20 -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
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
dc4fccf566
zcash_client_sqlite: Modify `TestState` to allow initialization with chain state.
2024-03-20 20:43:49 -06:00
Kris Nuttycombe
5f1d75937b
zcash_client_backend: Treat protobuf default as the empty tree.
...
Fixes #1280
2024-03-19 17:26:45 -06:00
str4d
97651a6d4b
Merge pull request #1289 from nuttycom/sqlite_wallet/branching_chain_test_fixes
...
zcash_client_sqlite: Fix `scan_complete` tests.
2024-03-19 22:47:30 +00:00
Kris Nuttycombe
4f7c5bd722
zcash_client_sqlite: Fix `scan_complete` tests.
2024-03-19 16:11:57 -06:00
Jack Grigg
b189fe7a36
Remove `orchard` feature flag from behind `zcash_unstable` cfg flag
2024-03-19 18:24:39 +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
e6bc21b461
Add `WalletRead::is_seed_relevant_to_any_derived_accounts`
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
Kris Nuttycombe
ab3e790bfc
zcash_client_backend: Rename `AccountKind` to `AccountSource`
2024-03-15 09:28:35 -06:00
Willem Olding
1775f6525b
Add WASM support to `lightwalletd-tonic` feature flag ( #1270 )
...
The transport-specific code is moved behind a new `lightwalletd-tonic-transport` feature flag.
2024-03-15 11:58:13 +00:00
Kris Nuttycombe
46fd6ab0fe
zcash_client_backend: Make `WalletRead::get_transaction` return `Result<Option<Transaction>, _>`
...
This should never have had the behavior of returning an error on a
missing txid in the first place; doing so conflates database corruption
or connectivity errors with the ordinary case where data may not be
available.
2024-03-14 17:38:51 -06:00
Kris Nuttycombe
cc990b60e0
zcash_keys: Remove HdSeedFingerprint as it duplicates `zip32::fingerprint::SeedFingerprint`
2024-03-14 17:09:03 -06:00
Kris Nuttycombe
0bae47b05b
zcash_client_backend: Improve API ergonomics for input selection.
2024-03-13 19:33:06 -06:00
Kris Nuttycombe
22f341888f
zcash_client_backend: Add `SpendableNotes` type and `NoteRetention` trait.
2024-03-13 19:32:16 -06:00
str4d
2e0a3005de
Merge pull request #1268 from nuttycom/sqlite_wallet/cross_pool_note_selection
...
zcash_client_backend: Fix note selection & add more multi-pool tests.
2024-03-14 01:12:42 +00:00
Kris Nuttycombe
a81e7ff306
zcash_client_backend: Fix note selection & add more cross-pool tests.
2024-03-13 18:44:36 -06:00
Jack Grigg
bbb7f36e55
zcash_client_backend: Add `WalletRead::get_account`
2024-03-13 21:00:59 +00:00
Jack Grigg
64aabdc54a
Rename `WalletRead::get_seed_account` to `WalletRead::get_derived_account`
2024-03-13 21:00:59 +00:00
Jack Grigg
5f3d5e9f4a
zcash_client_sqlite: Use `wallet::Account` for `WalletRead::Account`
2024-03-13 21:00:59 +00:00
Jack Grigg
65093487c3
zcash_client_backend: Expose the kind of an `Account`
2024-03-13 21:00:59 +00:00
Kris Nuttycombe
dd63a6e3dd
zcash_client_backend: Remove unnecessary `ReceivedNote::traverse_opt`
2024-03-13 14:19:26 -06:00
Kris Nuttycombe
b2597aa952
zcash_client_backend: Add a test for ZIP 317 cross-pool payments.
2024-03-13 13:54:53 -06:00
Jack Grigg
634ebf51ef
Reorder `WalletRead` and `WalletWrite` trait methods for clarity
2024-03-13 16:00:32 +00:00
Jack Grigg
7d603b8c59
zcash_client_backend: Add `proto::service::TreeState::to_chain_state`
2024-03-13 12:54:58 +00:00
Kris Nuttycombe
a0460886f4
Fix stray clippy complaint.
2024-03-12 18:27:02 -06:00
Kris Nuttycombe
2ba89a6d16
zcash_client_backend: Fix `scan_cached_blocks` example doc compilation errors.
2024-03-12 18:27:02 -06:00
Kris Nuttycombe
f58263e211
zcash_client_backend: Require the tree state for the start of each scanned range.
...
In order to support constructing the anchor for multiple pools with a
common anchor height, we must be able to checkpoint each note commitment
tree (and consequently compute the root) at that height. Since we may
not have the information in the tree needed to do so, we require that it
be provided.
As a bonus, this change makes it possible to improve the UX around
spendability, because we will no longer require subtree ranges below
received notes to be fully scanned; the inserted frontier provides
sufficient information to make them spendable.
2024-03-12 18:14:11 -06:00
Kris Nuttycombe
0c5a365c60
zcash_client_sqlite: Update to make use of `orchard::note::Rho`
2024-03-12 17:28:10 -06:00
Kris Nuttycombe
33e943d14a
zcash_client_backend: Add `WalletRead::get_seed_account`
2024-03-12 11:21:04 -06:00
Kris Nuttycombe
5e810d3689
Merge pull request #1258 from nuttycom/sqlite_wallet/fuzzy_key_matching
...
Return partial matches when using `WalletRead::get_account_for_ufvk`.
2024-03-12 11:12:34 -06:00
Kris Nuttycombe
09181f458c
zcash_client_sqlite: Return a backend-specific `Account` type from get_account_by_ufvk.
2024-03-12 08:59:53 -06:00
Jack Grigg
5a6057b8fb
zcash_client_backend: Detect Orchard dust in `zip317::SingleOutputChangeStrategy`
2024-03-11 18:58:09 +00:00
Kris Nuttycombe
1028894324
zcash_client_sqlite: Minor refactoring for improved debuggability & future Sapling flagging.
2024-03-11 18:58:09 +00:00
Kris Nuttycombe
8dfa836a03
zcash_client_sqlite: Use correct offsets for Orchard commitment positions.
2024-03-11 17:42:23 +00:00
Kris Nuttycombe
374ed8cf94
zcash_client_sqlite: Add backend impl for the Orchard note commitment tree
2024-03-11 16:35:01 +00:00
Kris Nuttycombe
de58b5a5b1
zcash_client_sqlite: Add a failing test of cross-pool transfer
2024-03-11 11:36:35 +00:00
Jack Grigg
c4abcba343
zcash_client_backend: Add Orchard change output support to proposals
2024-03-10 21:47:40 +00:00
Kris Nuttycombe
19868af84a
Merge pull request #1246 from zcash/zcb-0.11-zcs-0.9-doc-fixes
...
`zcash_client_backend 0.11.1`, `zcash_client_sqlite 0.9.1` with doc fixes
2024-03-09 08:19:41 -07:00
Jack Grigg
7f38b79c3c
zcash_client_backend 0.11.1
2024-03-09 11:38:33 +00:00
Jack Grigg
075a155a29
Remove `orchard` feature flag from docs.rs builds while not public
2024-03-09 11:37:25 +00:00
Oscar Pepper
a63cf37c7b
zcash_client_backend: Fixed cargo doc build failure when transparent-inputs feature is not specified
...
(cherry picked from commit ab701118f3
)
2024-03-09 11:37:25 +00:00
Kris Nuttycombe
e24d93ccfd
Merge pull request #1228 from Oscar-Pepper/fix_cargo_doc_build_failure
...
Fixed cargo doc build failure
2024-03-08 15:44:09 -07:00
Kris Nuttycombe
78e4916899
zcash_client_backend: Generalize `DecryptedOutput` to support Orchard
2024-03-08 13:48:30 -07:00
Kris Nuttycombe
4c5ce32dee
zcash_client_backend: Use `NonNegativeAmount` for `select_spendable_notes`
2024-03-08 13:48:30 -07:00
Kris Nuttycombe
8f4de9b235
Merge pull request #1235 from zcash/diverse_accounts
...
zcash_client_sqlite: Rework accounts to support imported viewing keys
2024-03-08 13:39:08 -07:00
Andrew Arnott
0c80893ce0
zcash_client_sqlite: Rework accounts to support imported viewing keys
2024-03-08 18:55:18 +00:00
Kris Nuttycombe
4532520670
zcash_client_backend: Add Orchard frontier to `AccountBirthday`
2024-03-07 14:45:23 -07:00
Oscar Pepper
ab701118f3
zcash_client_backend: Fixed cargo doc build failure when transparent-inputs feature is not specified
2024-03-07 11:33:10 +00:00
Kris Nuttycombe
376db4684b
Fix incorrect zip321 amount parsing.
2024-03-05 21:50:25 -07:00
Kris Nuttycombe
6b4942f8eb
Add failing test for incorrect zip321 amount parsing.
2024-03-05 21:48:05 -07:00
Kris Nuttycombe
eaabc0f514
Apply suggestions from code review
...
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-03-05 20:03:46 -07:00
Kris Nuttycombe
5675a76f0d
zcash_protocol: Use `BalanceError` instead of `()` for monetary range violations.
2024-03-05 13:59:26 -07:00
Kris Nuttycombe
a823ed776f
Expose address generation errors when constructing default addresses
2024-03-05 13:36:15 -07:00
Kris Nuttycombe
4b18426fcd
zcash_address: Use `zcash_protocol::consensus::NetworkType`
...
This inverts the dependency relationship between `zcash_protocol` and
`zcash_address`, permitting the network constants (primarily the HRPs)
defined in `zcash_protocol` to be used directly in `zcash_address`
instead of being duplicated.
2024-03-05 13:36:15 -07:00
Kris Nuttycombe
64454100c5
zcash_client_backend: Move the `ShieldedProtocol` and `PoolType` types to `zcash_protocol`
2024-03-05 09:46:03 -07:00
Kris Nuttycombe
a35ccfc10b
Fix broken intra-doc links after `zcash_protocol` crate extraction.
2024-03-05 09:45:24 -07:00
Kris Nuttycombe
eb3c7b479e
zcash_protocol: Modify `Zatoshis` to directly wrap a u64
2024-03-05 09:45:24 -07:00
Kris Nuttycombe
5e4d9abbce
Move `Amount` and `NonNegativeAmount` types to the `zcash_protocol` crate.
2024-03-05 09:45:24 -07:00
Kris Nuttycombe
bacfe3cb9d
Move `zcash_primitives::{consensus, constants}` to the `zcash_protocol` crate
2024-03-05 09:45:24 -07:00
Kris Nuttycombe
0d430ba62c
Apply documentation suggestions from code review.
...
Co-authored-by: str4d <thestr4d@gmail.com>
2024-03-04 13:32:26 -07:00
Kris Nuttycombe
e4c0b0e63f
zcash_client_backend: Add `WalletRead::validate_seed`
...
This adds a mechanism that allows a caller to verify that a given seed
generates the viewing key that is stored in the wallet for a specified
account.
Fixes #1189
2024-03-04 10:59:56 -07:00
Jack Grigg
dbdc88e4d7
Revert "Hide unstable `orchard` feature flag in rustdoc"
...
Now that the release commits are created, we can unhide this ahead of
the subsequent Orchard-supporting releases.
This reverts commit zcash/librustzcash@6161709441 .
2024-03-01 01:17:15 +00:00
Jack Grigg
dfb6c65edd
zcash_client_backend 0.11.0
...
Closes zcash/librustzcash#962 .
2024-03-01 01:16:04 +00:00
Jack Grigg
6161709441
Hide unstable `orchard` feature flag in rustdoc
...
It is not part of the public API for `zcash_client_backend 0.11.0` and
`zcash_client_sqlite 0.9.0`.
2024-03-01 01:12:07 +00:00
Kris Nuttycombe
e44ddee8ad
zcash_client_backend: Add documentation for the `data_api` module.
...
Fixes #1209
2024-03-01 00:47:15 +00:00
Kris Nuttycombe
a4b951d193
Apply suggestions from code review
...
Co-authored-by: str4d <thestr4d@gmail.com>
2024-02-29 15:19:07 -07:00
Kris Nuttycombe
27f6207a7c
zcash_client_backend: Pass nullifiers separately from scanning keys.
2024-02-29 12:06:22 -07:00
Kris Nuttycombe
a63d5e51d1
zcash_client_backend: Return decoding errors from `BatchRunners::add_block`
2024-02-29 12:04:55 -07:00
Kris Nuttycombe
7e8723bea9
zcash_client_backend: Add Orchard support to batch scanning.
2024-02-29 12:04:53 -07:00
Kris Nuttycombe
880c24c45d
zcash_client_backend: Generalize key source metadata.
2024-02-29 11:55:44 -07:00
Kris Nuttycombe
802c01002a
zcash_client_backend: Rework scanning key identifiers.
...
In the process of making the internals of `scan_block_with_runner`
reusable across Sapling and Orchard, it became evident that key
identifier abstraction along the lines of #1175 is needed more
generally. This commit refactors the use of ZIP 32 account identifiers
and key scopes to better separate scanning concerns from ZIP 32 key
derivation. In the process, this removes a fair amount of unnecessary
polymorphism from `zcash_client_backend::wallet::WalletTx` and related
types.
2024-02-29 11:55:25 -07:00
Kris Nuttycombe
c7df76f7d1
zcash_client_backend: Factor out common note decryption from `scan_block_with_runner`
2024-02-29 11:55:23 -07:00
Kris Nuttycombe
ba568f47ad
zcash_client_backend: Factor out nullifier checks from `scan_block_with_runner`
2024-02-29 11:54:20 -07:00
Kris Nuttycombe
dd8c6dee12
zcash_client_backend: Generalize `ScanningKey`
...
This change allows the `ScanningKey` type to represent Orchard
keys as well as Sapling keys.
No CHANGELOG entry is added for this, as the `ScanningKey` type
is further reworked in a later commit.
2024-02-29 11:54:02 -07:00
Kris Nuttycombe
e2331dbd6f
Merge pull request #1202 from nuttycom/generic_account_id
...
zcash_client_backend: Make `AccountId` an associated type of `WalletRead`
2024-02-29 11:53:26 -07:00
Kris Nuttycombe
688c36166a
Address comments from code review.
2024-02-29 07:50:31 -07:00
Kris Nuttycombe
9c3467e941
zcash_client_backend: Implement `TreeState::orchard_tree`
2024-02-29 07:21:51 -07:00
Kris Nuttycombe
41b050f1e9
zcash_client_backend: Make `AccountId` an associated type of `WalletRead`
...
This PR was extracted from https://github.com/zcash/librustzcash/pull/1175
in order to make the changes to `zcash_client_backend` usable without
the additional generalizations to `zcash_client_sqlite` made by that PR.
Co-authored-by: Andrew Arnott <andrewarnott@live.com>
2024-02-28 21:06:14 -07:00
Kris Nuttycombe
5ed788dc79
Merge pull request #1168 from nuttycom/zcash_keys_sapling_feature
...
zcash_keys: Add `sapling` and `transparent` feature flags.
2024-02-26 19:16:07 -07:00
Kris Nuttycombe
f50deb47a0
Merge pull request #1194 from zcash/changelog-cleanups
...
Changelog cleanups
2024-02-26 12:52:35 -07:00
Kris Nuttycombe
1892e0cc39
zcash_client_backend: Fix incorrect handling of zip321 test dependencies.
2024-02-23 22:09:22 -07:00
Kris Nuttycombe
2a6330f2ea
Apply suggestions from code review
...
Co-authored-by: str4d <thestr4d@gmail.com>
2024-02-23 09:16:26 -07:00
Kris Nuttycombe
9b98f46bf6
zcash_keys: Add `sapling` and `transparent-inputs` feature flags.
...
Fixes #1160
2024-02-23 09:16:25 -07:00
Jack Grigg
b6ab9b5311
Clean up zcash_client_backend changelog
2024-02-22 23:38:15 +00:00
Kris Nuttycombe
184286c430
Apply suggestions from code review
...
Co-authored-by: str4d <thestr4d@gmail.com>
2024-02-21 17:36:08 -07:00
Kris Nuttycombe
050a124cb6
Address comments from code review.
2024-02-21 11:55:00 -07:00
Kris Nuttycombe
8c78d7f2a0
Fix incorrect documentation link.
2024-02-19 10:34:07 -07:00
Kris Nuttycombe
27defb8711
Address comments from code review.
2024-02-16 10:59:29 -07:00
Kris Nuttycombe
4e3d99f1d0
zcash_client_backend: Allow proposer to specify fallback change pool.
...
In the event that the pool to which change should be sent cannot
automatically be determined based upon the inputs and outputs of a
transaction, it is up to the caller to specify where change should
be sent.
2024-02-15 21:44:59 -07:00
Kris Nuttycombe
daf88a12e5
zcash_client_backend: Add support for creation of Orchard outputs.
2024-02-15 21:30:07 -07:00
Kris Nuttycombe
f27f601b7d
zcash_client_backend: Add Orchard spends to `create_proposed_transaction`
2024-02-15 21:29:15 -07:00
Kris Nuttycombe
74b487e4c9
Apply suggestions from code review
...
Co-authored-by: str4d <thestr4d@gmail.com>
2024-02-15 20:51:24 -07:00
Kris Nuttycombe
6aabe60d21
zcash_client_backend: Add validation to the `Proposal::multi_step` constructor.
2024-02-15 13:09:52 -07:00
Kris Nuttycombe
dd6711aec1
zcash_client_backend: Address comments from code review & fix incorrect `data_api::wallet` documentation.
2024-02-14 20:24:12 -07:00
Kris Nuttycombe
4f206e415a
zcash_client_backend: Implement multi-step transparent transaction support
2024-02-14 19:33:18 -07:00
Kris Nuttycombe
beeea7b44e
zcash_client_backend: Modify `Proposal` to make multi-step transactions representable.
2024-02-14 19:30:52 -07:00
Kris Nuttycombe
1db3109cb4
zcash_client_backend: Move the `Proposal` types to a `proposal` module.
...
This separation is in preparation for modifying the `Proposal` type
to wrap a vector of proposal steps.
2024-02-14 19:04:47 -07:00
Kris Nuttycombe
6e0d9a9420
zcash_client_backend: Add selected output pools to transaction proposals.
...
Fixes #1174
2024-02-14 18:58:48 -07:00
Kris Nuttycombe
0ef5cad2ff
zcash_client_backend: Ensure we use the correct scope for transparent secret key derivation.
2024-02-14 17:38:55 -07:00
Kris Nuttycombe
7a5852598e
zcash_keys, zcash_client_backend: feature-flag off transparent-input WalletRead methods.
...
This also moves the `TransparentAddressMetadata` type behind the
`transparent-inputs` feature flag and performs associated cleanup.
2024-02-14 17:38:52 -07:00
Andrew Arnott
f1b6dd0636
Switch out `AddressMetadata` for new struct
2024-02-13 18:34:33 -07:00
Andrew Arnott
8f6afb2182
Update changelogs
2024-02-13 18:02:24 -07:00
Andrew Arnott
918f5cc812
Change `WalletRead::get_transparent_receivers` signature
...
It needn't return the account id that was given as an input, and it shouldn't return an 11-byte diversifier index when a 31-bit child index is more appropriate.
2024-02-13 11:39:06 -07:00
Kris Nuttycombe
cd12efd123
zcash_client_backend: Fix missing `test-dependencies` feature dependency.
2024-02-08 16:50:47 -07:00
Jack Grigg
f6224e7e80
zcash_client_backend: Fix documentation for `BatchRunner::add_outputs`
2024-02-08 19:19:05 +00:00
Jack Grigg
d56536c1d1
zcash_client_backend: Introduce `Decryptor` trait
...
This generalizes over batch decryption of either compact or full
outputs.
Closes zcash/librustzcash#1171 .
2024-02-08 19:19:05 +00:00
Jack Grigg
11db94bf42
zcash_client_backend: Add `memo` field to `DecryptedOutput`
2024-02-07 22:28:34 +00:00
Jack Grigg
820e048898
zcash_client_backend: Renamed `DecryptedNote` to `DecryptedOutput`
2024-02-07 22:28:34 +00:00
Kris Nuttycombe
9b7f13c8a9
Merge pull request #1159 from rex4539/typos
...
Fix typo
2024-02-06 11:47:05 -07:00
Kris Nuttycombe
3acd6348aa
zcash_client_backend: Fix broken `zip321` tests.
...
These tests appear to have been broken by #1139 ; it's not clear
why CI passed on that at the time.
2024-02-06 10:36:31 -07:00
Dimitris Apostolou
ced84cab36
Fix typo
2024-02-06 14:30:53 +02:00
Kris Nuttycombe
11f5589595
zcash_client_backend: Allow serialization of empty transaction requests.
2024-01-30 16:42:31 -08:00
Kris Nuttycombe
3f3efd2445
zcash_keys: Move proptest generators from `zcash_client_backend`
2024-01-27 07:59:55 -07:00
Jack Grigg
b1d9689b8a
Use `AccountId` in `orchard::keys::SpendingKey::from_zip32_seed`
...
This was necessary as of `orchard 0.7`, but due to CI not checking with
the `orchard` feature flag at the time the crate was updated, CI did not
catch this.
2024-01-27 00:08:38 +00:00
str4d
dca890adcd
Merge pull request #1102 from zcash/doc-improvements
...
Various documentation improvements
2024-01-25 21:02:01 +00:00
str4d
610b19bcd2
Merge pull request #1129 from zcash/wallet/orchard_compiler_flag
...
Add `zcash_unstable` compiler flag to fully gate `orchard` functionality
2024-01-25 19:15:53 +00:00
str4d
08d3546f88
Merge pull request #1122 from zcash/light-client-perf
...
Improve light client performance
2024-01-25 19:04:58 +00:00
Kris Nuttycombe
0ae986cad0
zcash_client_backend: Move features guarded by the `orchard` flag to a separate Unreleased section of the CHANGELOG
2024-01-24 20:19:14 -07:00
Kris Nuttycombe
ea4d00a12d
Add CHANGELOG entries.
2024-01-24 18:00:55 -07:00
Kris Nuttycombe
184e3c741f
Add `zcash_unstable` compiler flag to fully gate `orchard` functionality
2024-01-24 17:48:10 -07:00
Jack Grigg
db071f2e1f
zcash_client_backend: Add desired Sapling shard index to `WalletSummary`
...
Closes zcash/librustzcash#1124 .
2024-01-24 18:06:31 +00:00
str4d
3a0b634101
Merge pull request #1103 from nerdcash/docFixes
...
Doc improvements
2024-01-23 16:19:50 +00:00
Jack Grigg
72c427487b
zcash_client_backend: Add diagram of wallet sync flow
2024-01-23 16:18:28 +00:00
Jack Grigg
193e0b2a29
zcash_client_backend: Enable `zcash_keys/unstable` feature flag
...
Due to `zcash_keys` being in `zcash_client_backend`'s public API, their
unstable APIs are a common API surface (as they were before `zcash_keys`
was extracted).
This can be reverted once `zcash_keys` types with unstable APIs are not
being re-exported from `zcash_client_backend`.
2024-01-22 17:53:19 +00:00
Kris Nuttycombe
28e36dc57b
Merge pull request #1054 from pacu/regtest-support
...
Add regtest support to `Parameter` for Mobile SDKs
2024-01-19 12:09:09 -07:00
Andrew Arnott
aabee02247
Doc improvements
2024-01-17 21:33:12 -07:00
Daira Emma Hopwood
76f92268c3
Remove notices about the BOSL license exception, which are no longer needed.
...
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2024-01-17 23:28:15 +00:00
Francisco Gindre
529fd3d562
Add Regtest variant of `Network` and Parameter
...
closes #1051
Also:
Adds encoding tests + cargo fmt
Adds tests on ZIP-321
Adds coverage on new code
Supports nu6 activation
`local-consensus` feature is disabled by default
2024-01-17 18:21:06 -03:00
Kris Nuttycombe
876f53e295
zcash_client_backend: Add missing `orchard` feature dependency.
2024-01-17 10:09:12 -07:00
Jack Grigg
05f9252cb0
Fix `zcash_keys` feature flag enabling in `zcash_client_*` crates
2024-01-16 22:47:35 +00:00
Jack Grigg
3206255b8a
Various documentation improvements
2024-01-16 22:30:05 +00:00
str4d
b6caa483b4
Merge pull request #1116 from zcash/zcash_keys
...
Split `zcash_keys` crate out from `zcash_client_backend`
2024-01-16 22:09:41 +00:00
Kris Nuttycombe
0ca955336d
Split `zcash_keys` crate out from `zcash_client_backend`
...
This change makes it easier for third parties to make use of the Unified
key infrastructure without incurring a dependency upon the rest of the
`zcash_client_backend` interfaces.
2024-01-16 13:49:42 -07:00
Kris Nuttycombe
cc39bf4429
zcash_primitives: Add Orchard bundle metadata to transaction builder.
2024-01-16 13:19:24 -07:00
Andrew Arnott
28ed048c7e
Add punctuation to changelog
...
Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
2024-01-11 12:02:24 -07:00
Andrew Arnott
69d92808f3
Add `WalletRead::get_account_ids` function
2024-01-10 13:01:01 -07:00
Kris Nuttycombe
6cbdd494cf
zcash_client_backend: Add receiver type selection to unified address derivation.
2024-01-09 10:48:13 -07:00
Kris Nuttycombe
c3a630bac3
Merge pull request #1060 from nuttycom/wallet/generalize_proposals
...
Add Orchard support to fees & transaction proposals.
2024-01-09 09:20:41 -07:00
Kris Nuttycombe
3bce5afea5
Merge pull request #1078 from nerdcash/displayableErrors
...
Implement Display trait for `DecodingError`
2024-01-08 10:06:43 -07:00
Kris Nuttycombe
24ebe4c643
Address comments from code review.
...
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2024-01-05 17:00:46 -07:00
Kris Nuttycombe
adc75566a0
zcash_client_backend: Add Orchard support to transaction proposals.
2024-01-05 16:59:54 -07:00
Kris Nuttycombe
56f2ac573c
zcash_client_backend: Add Orchard support to change strategies.
...
This modifies the `compute_balance` method to operate in a
bundle-oriented fashion, which simplifies the API and makes it easier to
elide Orchard functionality in the case that the `orchard` feature is
not enabled.
2024-01-05 16:59:54 -07:00
Kris Nuttycombe
1b036f1e0d
zcash_client_backend: rename `WalletNote` to `Note`
2024-01-05 09:13:53 -07:00
Kris Nuttycombe
28319ffc38
Merge pull request #1085 from nuttycom/wallet/common_input_source
...
Replace SaplingInputSource and TransparentInputSource with InputSource
2024-01-04 15:07:23 -07:00
Kris Nuttycombe
5126fd6b5f
Merge pull request #1086 from zcash/docs-rs-feature-flags
...
Show feature flags in documentation
2024-01-04 14:34:40 -07:00
Kris Nuttycombe
d4aa2d6f06
Replace SaplingInputSource and TransparentInputSource with InputSource
...
This unification allows us to better isolate transparent-input dependent
functionality. Previously, `TransparentInputSource` could not be placed
under a feature flag because the interface was needed for proposal
deserialization; by instead making the transparent input source methods
flag-dependent, we can correctly produce an error when proposal
deserializaiton attempts to select transparent inputs and the feature
flag is off.
2024-01-04 14:00:20 -07:00
Jack Grigg
3989ee9926
Show feature flags in documentation
...
This can be rendered locally with:
RUSTDOCFLAGS="--cfg docsrs" cargo +nightly doc --no-deps --workspace --all-features
2024-01-04 19:07:22 +00:00
Kris Nuttycombe
967fd36d39
Apply suggestions from code review
...
Co-authored-by: str4d <thestr4d@gmail.com>
2024-01-04 11:56:59 -07:00
Kris Nuttycombe
857e44a11c
zcash_client_backend: Use a polymorphic type for `ScannedBlock` note commitment and nullifier data.
2024-01-04 11:19:22 -07:00
Kris Nuttycombe
f18d082aa3
zcash_client_backend: Introduce an "orchard-client" feature flag.
...
We plan to also introduce a similar flag to gate access to Sapling
functionality. Since introduction of Orchard functionality is still
nascent, it's the correct time to introduce this isolation, before
there's more functionality that needs to be isolated in this fashion.
2024-01-03 17:05:20 -07:00
Jack Grigg
2ea83243a7
Document the feature flags
2024-01-03 20:15:21 +00:00
Jack Grigg
0df4c6f043
Remove implicit feature flags for optional dependencies
...
All optional dependencies are enabled as part of dedicated feature
flags.
2024-01-03 20:15:21 +00:00
Jack Grigg
b7bba9bbb2
zcash_primitives: Remove `keys` module
2024-01-03 17:29:59 +00:00
Andrew Arnott
a1b644cffa
Implement Display trait for `DecodingError`
2024-01-03 09:05:41 -07:00
Kris Nuttycombe
704e8e1144
zcash_primitives: Updates to reflect `sapling-crypto` and `orchard` builder changes.
2024-01-02 13:00:11 -07:00
Kris Nuttycombe
1ef6bf6656
Merge pull request #1066 from nuttycom/wallet/common_fee_logic
...
Factor out common logic from zip317 and fixed-fee single output change strategies.
2023-12-20 20:50:53 -07:00
str4d
20f8b97195
Merge pull request #1063 from nuttycom/backend/parsed_address
...
zcash_client_backend: Rename `RecipientAddress` to `Address`
2023-12-15 17:40:22 +00:00
Kris Nuttycombe
d74f635d9d
zcash_client_backend: Factor out common single-output change strategy logic.
2023-12-14 12:55:34 -07:00
Jack Grigg
b6907b14e6
Use `sapling-crypto` crate directly outside `zcash_primitives`
2023-12-12 19:50:26 +00:00
Kris Nuttycombe
9ac3594bbb
zcash_client_backend: Rename RecipientAddress to Address
2023-12-08 11:34:27 -07:00
Kris Nuttycombe
aab9938b53
zcash_client_backend: Rename `RecipientAddress::Shielded` to `RecipientAddress::Sapling`
2023-12-07 15:24:47 -07:00
Kris Nuttycombe
4eaa41affa
zcash_primitives: Remove and relocate `InputView` traits.
2023-12-06 20:17:43 -07:00
Jack Grigg
d332aacf98
Merge branch 'main' into 1044-extract-zip32
2023-12-06 18:04:36 +00:00
Jack Grigg
3dfd478141
Migrate to published `zip32` crate outside this repository
2023-12-06 18:04:09 +00:00
Kris Nuttycombe
ca54b3489d
Apply suggestions from code review
...
Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2023-12-05 15:55:52 -07:00
Kris Nuttycombe
cad4f25b75
zcash_client_backend: Replace `ReceivedSaplingNote` with `ReceivedNote`
...
`ReceivedNote` now allows Orchard notes to be represented as received
notes. As part of this change, received notes now track whether they
were received using internally- or externally-scoped viewing keys.
This eliminates the need to trial-regenerate notes using the wallet's
IVKs to determine scope at spend time.
2023-12-05 10:55:06 -07:00
Kris Nuttycombe
6b10a6dc86
zcash_client_backend: Move essential wallet types into the `wallet` module.
2023-12-05 10:55:04 -07:00
Kris Nuttycombe
8c1480304e
zcash_client_backend: Wrap entire Sapling note in `SaplingReceivedNote`
2023-12-05 10:49:35 -07:00
Jack Grigg
54e8dd35c1
zcash_primitives: Remove old Sapling re-exports from `zip32` module
2023-12-05 17:31:17 +00:00
Kris Nuttycombe
214a3750c5
zcash_client_backend: Make `Balance` and `AccountBalance` fields private.
...
Public methods for mutation of these fields have been provided that
perform checking for overflow of the valid monetary range as part
of their operation.
2023-12-04 13:53:27 -07:00
Kris Nuttycombe
9aec53eec9
zcash_client_backend: Add Orchard components to `ScannedBlock`
2023-11-30 13:08:17 -07:00
Kris Nuttycombe
c0babd54cd
zcash_client_backend: Expose Orchard value in balance API
2023-11-30 12:17:19 -07:00
Kris Nuttycombe
1e5d253c9c
Fix dependencies to repair `cargo -p` subproject builds.
2023-11-29 12:37:18 -07:00
Kris Nuttycombe
28174e1ba3
zcash_client_backend: refactor select_key_for_note to avoid needing the extsk
...
This is in preparation for generalizing how we choose the spending key
for a note to serve `Orchard`.
2023-11-28 10:54:06 -07:00
Kris Nuttycombe
7f3d057a1b
zcash_primitives: Avoid passing duplicate diversifier information to Sapling builder.
...
The note provided to `add_sapling_spend` contains the recipient address,
and we can extract the diversifier from this address, so we should not
pass it separately.
2023-11-28 10:54:06 -07:00
Jack Grigg
0d06e561bb
Update Sapling imports to migrate off re-exports at old paths
2023-11-28 03:40:41 +00:00
Jack Grigg
106f5a353a
Remove `MemoBytes` usage from `zcash_primitives::sapling`
2023-11-28 03:25:14 +00:00
Jack Grigg
7badba29ea
zcash_primitives: Move `zip32::sapling` to `sapling::zip32`
2023-11-28 01:38:53 +00:00
Jack Grigg
61bb18d97f
zcash_primitives: Refactor `zip32::ChildIndex` to be an opaque struct
2023-11-28 01:38:53 +00:00
Jack Grigg
eb0b5a1b24
zcash_primitives: Remove `consensus::Parameters` from `sapling` module
...
Part of zcash/librustzcash#1044 .
2023-11-22 04:29:36 +00:00
Jack Grigg
c6263d2470
Fix generated protobuf file to match source
...
A comment change to the source file was made in zcash/librustzcash#891
before merging, but the generated file was not updated to match.
2023-11-21 02:15:12 +00:00
Kris Nuttycombe
c5f48f50e1
Apply suggestions from code review
...
Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
Co-authored-by: str4d <thestr4d@gmail.com>
2023-11-15 10:53:23 -07:00
Kris Nuttycombe
7aab6fd7a7
zcash_client_backend: add `Display` and `Error` impls for proposal parsing errors.
2023-11-14 12:59:40 -07:00
Kris Nuttycombe
aeb405ef5d
Apply suggestions from code review
...
Co-authored-by: str4d <thestr4d@gmail.com>
Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-11-14 12:58:22 -07:00
Kris Nuttycombe
33169719ce
zcash_client_backend: Add serialization & parsing for protobuf Proposal representation.
2023-11-09 20:07:16 -07:00
sasha
572563338b
Add a protobuf representation for transaction proposals.
...
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
2023-11-09 20:02:36 -07:00
Kris Nuttycombe
2d6a02eb2d
Merge pull request #1039 from zcash/736-refactor-sapling-components
...
Refactor Sapling components and builder into `zcash_primitives::sapling`
2023-11-09 20:00:32 -07:00
Kris Nuttycombe
7720a4fc58
zcash_client_backend::scanning: Use `checked_sub` instead of manual check.
...
Co-authored-by: str4d <thestr4d@gmail.com>
2023-11-09 15:09:54 -07:00
Kris Nuttycombe
09e37bcc8d
Fix comment in zcash_client_backend::scanning
...
Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-11-09 14:00:50 -07:00
Kris Nuttycombe
b9ac7c5eda
zcash_client_backend: Fix off-by-one in tree heights at NU activation.
2023-11-09 09:44:57 -07:00
Jack Grigg
54eb03e34e
zcash_primitives: Move Sapling bundle types into `sapling` module
2023-11-09 04:04:07 +00:00
Jack Grigg
f5595122f9
zcash_primitives: Move `builder` module to `zcash_primitives::sapling`
2023-11-09 04:02:19 +00:00
Kris Nuttycombe
8ce8cc8145
zcash_client_backend: Remove duplicative continuity checks.
2023-11-08 16:46:44 -07:00
Kris Nuttycombe
ae4cb53c49
Apply suggestions from code review
...
Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-11-08 16:46:44 -07:00
Kris Nuttycombe
27f78d1894
zcash_client_backend: Add Orchard note commitment tree size to block metadata.
2023-11-08 16:46:44 -07:00
Kris Nuttycombe
aa063ae3fd
zcash_client_backend: Factor out input source traits from `WalletRead`
...
Prior to this change, it's necessary to implement the entirety of the
`WalletRead` trait in order to be able to use the input selection
functionality provided by `zcash_client_backend::data_api::input_selection`.
This change factors out the minimal operations required for transaction
proposal construction to better reflect the principle of least authority
and make the input selection code reusable in more contexts.
In order to minimize the operations of the newly-created `InputSource`
and `ShieldingSource` traits, this change also removes the
`min_confirmations` field from transaction proposals, in favor of
storing explicit target and anchor heights. This has the effect of
limiting the lifetime of transaction proposals to `PRUNING_DEPTH -
min_confirmations` blocks.
2023-11-08 12:41:49 -07:00
Jack Grigg
b20641ae58
zcash_primitives: Remove `sapling::prover::TxProver`
...
Removed
-------
- `zcash_primitives::sapling`:
- `prover::TxProver` (use `SpendProver` and `OutputProver` instead).
- `prover::mock::MockTxProver` (use `MockSpendProver` and `MockOutputProver`
instead).
2023-11-03 21:08:37 +00:00
Jack Grigg
8e0e77b0a0
zcash_client_backend: Remove `fees::ChangeError::map` from the public API
...
It is undocumented, unused outside of this crate, and unreleased, so we
make it crate-private for now.
2023-11-03 00:56:56 +00:00
Jack Grigg
a77b6c631c
Add missing unreleased changelog entries
2023-11-03 00:56:56 +00:00
Jack Grigg
bed5bc6cf6
Clean up unreleased changelog entries
2023-11-03 00:56:26 +00:00
Jack Grigg
b2ff29db78
Refactor Sapling builder to separate out proof generation
...
Closes zcash/librustzcash#741 .
2023-10-31 22:01:34 +00:00
Kris Nuttycombe
13fb0a4819
Merge pull request #1019 from nuttycom/wallet/proposals_with_minconf
...
zcash_client_backend: Move `min_confirmations` into `Proposal`
2023-10-31 12:59:40 -06:00
Kris Nuttycombe
4cd26b7ea9
zcash_client_backend: Move `min_confirmations` into `Proposal`
...
This fixes an API issue whereby it was possible to execute a `Proposal`
with a different value of `min_confirmations` than that with which the
`Proposal` was constructed.
2023-10-31 10:38:52 -06:00
Kris Nuttycombe
a0935b5ecd
zcash_client_backend: remove `WalletRead::is_valid_account_extfvk`
2023-10-27 15:01:26 -06:00
Kris Nuttycombe
9627c806e4
zcash_client_backend: Pass `Proposal` values by reference.
2023-10-26 16:11:10 -06:00
Kris Nuttycombe
570ea48588
Apply suggestions from code review
...
Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-10-26 15:24:45 -06:00
Kris Nuttycombe
f1c08693a5
zcash_client_backend: Add propose_standard_transfer.
2023-10-25 08:08:49 -06:00
Kris Nuttycombe
cc0cc2de84
zcash_primitives: add StandardFeeRule
...
`StandardFeeRule` is an enumeration of the standard fees that have
existed in the history of Zcash zips. It is provided to simplify
transition to new fee strategies; legacy elements of this enumeration
are introduced already-deprecated.
2023-10-25 08:08:49 -06:00
Kris Nuttycombe
f7527e14c9
Use `NonNegativeAmount` for note and utxo value fields
2023-10-23 12:59:26 -06:00
Kris Nuttycombe
29c676ff12
Merge pull request #1009 from tw0po1nt/fix_txn_builder_panic
...
Gracefully handle when given an Orchard-only UA
2023-10-12 18:15:36 -06:00
Matthew Watt
a788cc4c4d
Fix merge conflicts
2023-10-12 06:16:22 -05:00
Kris Nuttycombe
bcea060c86
Apply suggestions from code review
...
Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-10-11 14:15:19 -06:00
Kris Nuttycombe
1447d8ea01
zcash_client_backend: Move change memos into the `ChangeValue` components of `Proposal`s.
...
The existing API limited change outputs to having only a single memo
repeated across each change output. This change makes it so that each
proposed change output can have its own associated memo, and leaves it
up to the input selector to determine how requested change memos are
associated with change outputs.
2023-10-11 14:15:19 -06:00
Kris Nuttycombe
a2b5c2c784
zcash_client_backend: Use `NonNegativeAmount` for fee and change amounts.
...
In order to use `uint64` for amounts that must be nonnegative in the
`proposal.proto` file, it is useful to update fee and change computation
to use `NonNegativeAmount` where possible.
2023-10-10 16:12:47 -06:00
Matthew Watt
2a4d9e06da
Run fmt
2023-10-10 07:47:08 -05:00
Matthew Watt
5de3fbb36b
Fix logic error
2023-10-10 06:35:38 -05:00
Kris Nuttycombe
5b40ddf072
zcash_client_backend: Use globally unique identifiers for notes.
...
Update zcash_client_backend error types to use (TxId, output_index)
as the identifier for notes instead of the internal database identifier.
2023-10-09 12:44:27 -06:00