Commit Graph

691 Commits

Author SHA1 Message Date
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
str4d 3a0b634101
Merge pull request #1103 from nerdcash/docFixes
Doc improvements
2024-01-23 16:19:50 +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
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