Commit Graph

3022 Commits

Author SHA1 Message Date
Kris Nuttycombe 4127e96082 Reduce the size of proptest-generated history trees.
After replacing `quickcheck` with `proptest` in `zcash_history`, memory
consumption of the property tests grew substantially as a consequence of
sample generation exploring the upper bounds of sample ranges;
previously, the large operation counts would have occurred only with low
probability. However, the correctness of the operations on the `Tree`
data structure should not depend upon the tree size, so it's fine to
reduce the number of operations in order to bound the memory
consumption. As the documentation on `Tree` notes, this data structure
is not intended to be used stand-alone because doing so may result in
unbounded memory use; the property tests were doing exactly this and so
were producing this exact pathological memory behavior.
2023-04-14 14:31:32 -06:00
Kris Nuttycombe 5511bf3c92 Use `proptest` instead of `quickcheck` for `zcash_history` tests. 2023-04-14 14:31:32 -06:00
Kris Nuttycombe 7d18d1d02a Adds documentation for the `v_transactions` and `v_tx_outputs` views.
This change also settles on `account_value_delta` as the name of the
column in `v_transactions` that describes the transaction's effect on
the value of the associated account.
2023-04-14 14:16:16 -06:00
Kris Nuttycombe b6fd844505 Fix Rust formatting errors. 2023-04-14 11:08:06 -06:00
str4d 47596b08ff
Merge pull request #810 from zcash/dependabot/github_actions/codecov/codecov-action-3.1.2
Bump codecov/codecov-action from 3.1.1 to 3.1.2
2023-04-13 22:25:16 +01:00
Kris Nuttycombe 25b2148604 Account for received utxos in `v_transactions`.
Also, rename `v_tx_events` to `v_tx_outputs`.
2023-04-12 15:37:34 -06:00
Kris Nuttycombe 30dfcd79cc
Merge pull request #809 from nuttycom/test/merkle_tree_serialization
Add roundtrip and golden tests for v1 `MerkleBridge` serialization.
2023-04-12 13:40:49 -06:00
Kris Nuttycombe 14fe48b540
Merge pull request #812 from zcash/bip0039-0.10
zcash_primitives: Downgrade to `bip0039 0.10`
2023-04-12 11:01:02 -06:00
Jack Grigg edb1941f19 zcash_primitives: Downgrade to `bip0039 0.10`
`bip0039 0.11` switched from language function arguments to a generic
parameter. We aren't ready to migrate to this yet.
2023-04-12 16:19:03 +00:00
dependabot[bot] 851bda8612
Bump codecov/codecov-action from 3.1.1 to 3.1.2
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3.1.1...v3.1.2)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-12 05:58:13 +00:00
Kris Nuttycombe b2139c0b97 Add roundtrip and golden tests for v1 `MerkleBridge` serialization. 2023-04-11 16:45:09 -06:00
Kris Nuttycombe 024c858c8a Ensure that we don't filter out sent UTXOs that collide with Sapling change output indices.
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2023-04-11 16:21:02 -06:00
Kris Nuttycombe 17827539b3 Fix double-entry accounting errors in transaction views. 2023-04-11 14:59:48 -06:00
Kris Nuttycombe 3ff5fa5288
Merge pull request #793 from zcash/zip32_seed_signature
[#792] zcash_primitives: implement Seed Signature section of ZIP-32
2023-04-11 12:58:39 -06:00
str4d f2f99038db
Merge pull request #808 from zcash/orchard-0.4
Update dependencies
2023-04-11 19:25:41 +01:00
Jack Grigg f82866dbb9 Migrate to `bech32 0.9` 2023-04-11 16:01:19 +00:00
Jack Grigg 6b7c62eb22 zcash_client_backend: Migrate to `base64 0.21` 2023-04-11 15:57:16 +00:00
Jack Grigg 3fb66a8aa1 zcash_client_backend: Migrate to `tonic 0.9` 2023-04-11 15:48:44 +00:00
Jack Grigg 43eed3d8f9 zcash_proofs: `directories 5` 2023-04-11 15:48:44 +00:00
Jack Grigg 878f3e9214 zcash_primitives: Migrate to `sha2 0.10`, `bip0039 0.11` 2023-04-11 15:48:44 +00:00
Jack Grigg d2ccd1f017 zcash_primitives: Migrate to `fpe 0.6`
Part of zcash/librustzcash#757.
2023-04-11 15:48:44 +00:00
Jack Grigg 2fcde5e047 Migrate to `orchard 0.4.0`
Closes zcash/librustzcash#766.
2023-04-11 13:25:17 +00:00
str4d 4f0dd218c3
Merge pull request #805 from upbqdn/use-u64-for-byte_count
Fix a theoretical possibility of overflow leading to panic
2023-04-11 13:01:38 +01:00
str4d 47c3159968
Merge pull request #806 from nuttycom/feature/zip_317_sapling_padding
Ensure that Sapling padding outputs are taken account in ZIP 317 change computation.
2023-04-10 12:57:31 +01:00
Kris Nuttycombe f1f63043ca Ensure that Sapling padding outputs are taken account in ZIP 317 change computation.
Fixes #799
2023-04-05 21:39:27 -06:00
Marek c9f55a4c5d Use `u64` instead of `usize` for `byte_count` 2023-04-04 18:38:28 +02:00
Kris Nuttycombe 3e54e1def1
Merge pull request #803 from zcash/upgrade/orchard_0.4.0
Upgrade orchard patch dependency.
2023-04-03 17:41:56 -06:00
Kris Nuttycombe 4fea57dcac Upgrade orchard patch dependency. 2023-04-03 16:28:53 -06:00
Francisco Gindre e3f09ba66a
[#792] zcash_primitives: implement Seed Signature section of ZIP-32
Implements a type to enclose a Seed Fingerprint byte sequence
called `SeedFingerprint`

implements a public function to create a `SeedFingerprint` from
seed bytes

Closes #792

Credits for PR Suggestions by Daira and Kris

Edit: Added suggestions from Daira Emma and a test for returning `None`

Added test refactor suggestions as well

removed reference to test vectors
2023-03-30 18:41:57 -03:00
Kris Nuttycombe fb49cd412f
Merge pull request #801 from nuttycom/upgrade/redjubjub
Upgrade to redjubjub 0.7.0
2023-03-30 15:32:59 -06:00
Kris Nuttycombe fcd6f00396 Upgrade to redjubjub 0.7.0
This removes our reliance on the following out-of-date transitive
dependencies that are duplicative of more recent versions of crates
we depend on:
- bls12_381 v0.7
- ff v0.12
- group v0.12
- jubjub v0.9
- pasta_curves v0.4
- reddsa v0.3
2023-03-30 14:53:19 -06:00
Kris Nuttycombe 3d65c481d7
Merge pull request #791 from zcash/dependabot/github_actions/actions/cache-3.3.1
Bump actions/cache from 3.2.4 to 3.3.1
2023-03-30 09:46:10 -06:00
Kris Nuttycombe 21ae514e99
Merge pull request #798 from nuttycom/zcash_note_encryption-0.3.0
Update zcash_note_encryption changelog for 0.3.0 release.
2023-03-22 10:28:06 -06:00
Kris Nuttycombe 1a27a7f9ce Update zcash_note_encryption changelog for 0.3.0 release. 2023-03-22 09:54:18 -06:00
Kris Nuttycombe ca349b62fd
Merge pull request #790 from zcash/sapling/zcash_note_encryption-0.3.0
Update zcash_primitives to use zcash_note_encryption 0.3.0
2023-03-21 15:39:05 -06:00
Kris Nuttycombe d6fafa291b Update Sapling note encryption for `zcash_note_encryption 0.3.0`
Fixes zcash/librustzcash#455
2023-03-21 11:09:38 -06:00
Kris Nuttycombe 169782c672
Merge pull request #797 from zcash/note_encryption_remove_recipient
zcash_note_encryption: remove `recipient` parameter from `Domain::note_plaintext_bytes`
2023-03-21 10:44:28 -06:00
Kris Nuttycombe c696069f93 Bump zcash_note_encryption to version 0.3.0 for release.
This removes the path-based dependencies on the `zcash_note_encryption`
crate in favor of using versioned dependencies locally. This better
reflects the future state in which `zcash_note_encryption` is factored
out of the workspace and maintained in a separate repository.
2023-03-20 16:16:34 -06:00
Kris Nuttycombe c88f3e1b9d Remove the `recipient` parameter from zcash_note_encyption::Domain::note_plaintext_bytes
The `Domain::Note` type is now expected to contain information about the
recipient of the note, eliminating the need to pass this information in
via the encryption context.
2023-03-20 16:16:00 -06:00
Kris Nuttycombe b77c952583
Merge pull request #795 from nuttycom/upgrade/ff_0.13
Update dependencies to reflect changes in ff 0.13
2023-03-20 16:10:35 -06:00
Kris Nuttycombe cb1be45f22 Update CHANGELOGs to reflect the addition of the zcash_primitives/multicore feature. 2023-03-20 15:11:05 -06:00
Kris Nuttycombe 7c1a4c898d Fix wasm32 CI runner.
The `halo2_proofs/multicore` flag must be disabled when running wasm
builds; this ensures that we do not accidentally include it as a
transitive dependency when building with `--no-default-features`.
2023-03-20 14:39:07 -06:00
Kris Nuttycombe 77fbd8cb4f Update dependencies to reflect changes in ff 0.13 2023-03-20 14:35:45 -06:00
str4d 0cff3c67ed
Merge pull request #794 from zcash/temporary-zcashd-notecommitment-derive
Temporarily re-expose Sapling `NoteCommitment` derivation
2023-03-17 00:05:20 +00:00
Jack Grigg 2530eb3a9d Temporarily re-expose Sapling `NoteCommitment` derivation 2023-03-16 23:27:01 +00:00
dependabot[bot] 19daa67bbb
Bump actions/cache from 3.2.4 to 3.3.1
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.4 to 3.3.1.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.4...v3.3.1)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 05:18:44 +00:00
Kris Nuttycombe e934316db9
Merge pull request #784 from zcash/temporary-zcashd-bundle-from-parts
Temporarily re-expose ability to construct invalid Sapling bundles
2023-03-08 09:02:06 -07:00
Jack Grigg a8003c8ff5 Temporarily re-expose ability to construct invalid Sapling bundles
Until zcash/zcash#6397 is closed, this ability is needed by `zcashd` for
crossing the FFI.
2023-03-08 03:45:01 +00:00
Kris Nuttycombe 8bf5effb71
Merge pull request #779 from nuttycom/pin_inferno
Pin the `inferno` transitive dependency to avoid MSRV errors.
2023-02-16 11:54:59 -07:00
Kris Nuttycombe 9c56b21de7 Pin the `inferno` transitive dependency to avoid MSRV errors. 2023-02-16 11:06:24 -07:00