Commit Graph

3535 Commits

Author SHA1 Message Date
Jack Grigg f7726141c3 zcash_primitives: Reject non-canonical ZIP 32 Sapling master key encodings 2023-11-28 01:38:53 +00:00
Jack Grigg 7badba29ea zcash_primitives: Move `zip32::sapling` to `sapling::zip32` 2023-11-28 01:38:53 +00:00
Jack Grigg 45ef8b1604 zcash_primitives: Add constructor and getter to `zip32::ChainCode` 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 a9310e3969 zcash_primitives: Remove non-hardened Sapling ZIP 32 derivation 2023-11-28 01:34:31 +00:00
str4d 1607d013d1
Merge pull request #1047 from zcash/1044-sapling-bundle-generic-valuebalance
zcash_primitives: Make `value_balance` generic in `sapling::Bundle`
2023-11-28 01:31:34 +00:00
str4d 7e45a5f134
Merge pull request #1045 from zcash/1044-sapling-params-removal
zcash_primitives: Remove `consensus::Parameters` from `sapling` module
2023-11-28 01:22:56 +00:00
Jack Grigg cdd20e8583 zcash_primitives: Make `value_balance` generic in `sapling::Bundle`
This removes the dependency on `Amount`, and matches how we handle this
in the `orchard` crate.

Part of zcash/librustzcash#1044.
2023-11-23 07:08:13 +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
Kris Nuttycombe 2c7c7b85e3
Merge pull request #1042 from zcash/fix-generated-proto
Fix generated protobuf file to match source
2023-11-20 19:18:10 -07: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
str4d 95e092b9dc
Merge pull request #1041 from nuttycom/extract_zcash_note_encryption
Move `zcash_note_encryption` component to https://github.com/zcash/zcash_note_encryption
2023-11-18 04:31:25 +00:00
Kris Nuttycombe 374882b7bc Move `zcash_note_encryption` component to https://github.com/zcash/zcash_note_encryption
The `zcash_note_encryption` component crate has been factored out to
its own repository, to avoid circular crate dependencies involving
https://github.com/zcash/librustzcash and the
https://github.com/zcash/orchard and
https://github.com/zcash/sapling-crypto repositories.
2023-11-17 20:39:14 -07:00
Kris Nuttycombe 236cd569ee
Merge pull request #891 from nuttycom/proposal-ffi
Add protobuf representation for transaction proposals
2023-11-15 15:47:46 -07: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
str4d 199dbacc66
Merge pull request #1040 from daira/use-ctsize-constants
Use `{ENC,OUT}_CIPHERTEXT_SIZE` constants in `zcash_primitives::sapling::bundle` and `zcash_primitives::transaction::components::sapling`
2023-11-12 20:26:35 +00:00
Daira Emma Hopwood e32cf8b5ac Use `{ENC,OUT}_CIPHERTEXT_SIZE` constants in `zcash_primitives::transaction::components::sapling`.
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-11-10 20:38:50 +00:00
Daira Emma Hopwood e5bdc72b52 Use `{ENC,OUT}_CIPHERTEXT_SIZE` constants in `zcash_primitives::sapling::bundle`.
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-11-10 20:30:31 +00: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
Jack Grigg c6dd9ad858 zcash_primitives: Expose Sapling bundle component parsers needed by zcashd
These can be removed after future zcashd refactors.
2023-11-10 02:09:22 +00:00
Jack Grigg 68ae453e5d zcash_primitives: Move Sapling bundle parsing into `transaction::components::sapling` 2023-11-10 02:09:22 +00:00
Jack Grigg e1a5539094 zcash_primitives: Rework Sapling parsers to be plain functions
Once `zcash_primitives::sapling` is extracted to `sapling-crypto`, these
would have become orphan impls.
2023-11-10 01:06:18 +00:00
Kris Nuttycombe 6077a712e4
Merge pull request #1024 from nuttycom/wallet/orchard_block_metadata
zcash_client_backend: Add Orchard note commitment tree size to block metadata.
2023-11-09 15:44:56 -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 74c12ea9ec
Merge pull request #1038 from nuttycom/fix_doc_link
zcash_client_sqlite: Fix broken intra-doc link on `unstable` feature.
2023-11-08 17:47:51 -07:00
Kris Nuttycombe 1eafb046ae
Merge pull request #1037 from nuttycom/update_dependencies
Update `Cargo.lock` file with upgraded dependency versions.
2023-11-08 17:47:05 -07:00
Kris Nuttycombe 1ab411ada8 zcash_client_sqlite: Fix broken intra-doc link on `unstable` feature. 2023-11-08 17:31:23 -07:00
Kris Nuttycombe 1b9eaa8694 Update `Cargo.lock` file with upgraded dependency versions. 2023-11-08 17:00:39 -07: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
str4d 64d657ed31
Merge pull request #1033 from zcash/sapling-params-refactor
Introduce newtypes for Sapling circuit parameters
2023-11-08 21:01:30 +00:00
str4d e4b9d73d0c
Merge pull request #1003 from nuttycom/wallet/reusable_input_selection
zcash_client_backend: Factor out `InputSource` from `WalletRead`
2023-11-08 20:20:03 +00: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
Kris Nuttycombe c915c93862
Merge pull request #1017 from nuttycom/test_with_bundled_prover
Test with bundled prover instead of local prover.
2023-11-07 13:14:47 -07:00
Jack Grigg c56ab0001e Fix intra-doc link 2023-11-07 03:11:38 +00:00
Jack Grigg 82535112c2 zcash_primitives: Add Sapling verification key newtypes 2023-11-07 03:11:15 +00:00
Jack Grigg 1b9f26c984 Move `{Spend,Output}Parameters` from `zcash_proofs` to `zcash_primitives` 2023-11-07 03:09:25 +00:00
Jack Grigg 8bb9c4e7ba Move Sapling proof verifiers from `zcash_proofs` to `zcash_primitives` 2023-11-07 03:08:43 +00:00
str4d 7b4a0d858d
Merge pull request #1036 from zcash/sapling-builder-markers-clone
zcash_primitives: Implement `Clone` on bundle marker types
2023-11-05 19:13:54 +00:00
Jack Grigg 3b8c932ab9 zcash_primitives: Implement `Clone` on bundle marker types
This enables unauthorized Sapling bundles to be cloned, for example when
loading them into a `TransactionData` for signature hashing.
2023-11-04 04:27:07 +00:00
Kris Nuttycombe 7d1c0a29ca
Merge pull request #1035 from zcash/ci-reliable-wasm32-builds
CI: Build `wasm32-wasi` in a synthetic crate
2023-11-03 18:35:14 -06:00