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