Commit Graph

831 Commits

Author SHA1 Message Date
Kris Nuttycombe 60ac1070c5 Release zcash_address version 0.3.0 2023-06-06 15:53:16 -06:00
Kris Nuttycombe 3dd0c63095 Update to `incrementalmerkletree 0.4`, `orchard 0.5` 2023-06-06 14:27:39 -06:00
Kris Nuttycombe ebcfae987d Update the data access API in preparation for shardtree introduction. 2023-06-02 10:59:17 -06:00
Kris Nuttycombe 59eef51b9e
Merge pull request #851 from zcash/simplify_parse_note_plaintext_ovk_args
Remove esk and ephemeral_key arguments from `parse_note_plaintext_ovk`
2023-05-31 12:54:04 -06:00
Kris Nuttycombe 36d7222685
Merge pull request #844 from zcash/temporary-zcashd-parse-sapling
zcash_primitives: Changes needed for `zcashd` Sapling oxidation
2023-05-30 17:30:47 -06:00
Kris Nuttycombe 696a9be0a0 Update `zcash_primitives` to reflect argument changes to `parse_note_plaintext_without_memo_ovk` 2023-05-26 09:43:26 -06:00
Kris Nuttycombe 3ae90020c3
Merge pull request #848 from zcash/note-encryption-avoid-redundant-checks
Avoid redundant checks during note decryption
2023-05-26 09:10:52 -06:00
Kris Nuttycombe 980736806f Upgrade `incrementalmerkletree` & `orchard` patch versions. 2023-05-25 12:33:25 -06:00
Jack Grigg 2ae4d87cbf zcash_primitives: Remove redundant checks from Sapling note decryption
- The consistency check between `esk` and `ephemeral_key` is checked
  inside `zcash_note_encryption::try_output_recovery_with_ock`.
- The `diversifier` validity check is necessarily performed when
  deriving `pk_d` for the `ivk` pathway, so we keep it there for the
  `ovk` pathway as well, and drop the check from the `PaymentAddress`
  internal constructor.
2023-05-19 16:36:55 +00:00
Jack Grigg 8db7a071a0 zcash_primitives: `impl DynamicUsage for sapling::Bundle<Authorized>` 2023-05-17 03:44:24 +00:00
Jack Grigg 26d95b4a0e zcash_primitives: Temporarily expose v5 Sapling bundle parsing
This is currently exposed via `Transaction` for usage in `zcashd`, but
may be removed in future (if `zcashd` moves transaction parsing entirely
into Rust), or renamed and stabilised.
2023-05-17 03:44:24 +00:00
Jack Grigg a092da8d5d Fix clippy lints for 1.65 2023-05-16 15:59:58 +00:00
Jack Grigg 6419e1e363 Remove `inferno` pin now that its MSRV is compatible with ours 2023-05-16 15:39:06 +00:00
Jack Grigg 8681b56d52 Bump MSRV for `zcash_primitives` and dependents to 1.65 2023-05-16 15:37:07 +00:00
Kris Nuttycombe bc55893267
Merge pull request #838 from daira/update-fee-constants
Revert #830 and instead modify `zcash_primitives::transaction::fees::fixed::FeeRule::standard()`
2023-05-09 13:17:27 -06:00
Daira Emma Hopwood 32296e7327 Update `DEFAULT_TX_EXPIRY_DELTA` to 40 blocks, as specified in
<https://zips.z.cash/zip-0203#changes-for-blossom>. fixes #837.

Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-05-09 18:38:39 +01:00
Daira Emma Hopwood 3903935234 Deprecate `transaction::components::amount::DEFAULT_FEE` and
`zcash_primitives::transaction::fees::fixed::FeeRule::standard()`.

Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-05-09 17:18:34 +01:00
Daira Emma Hopwood 736d11b45b Change `transaction::fees::fixed::FeeRule::standard()` to use the ZIP 317
minimum fee (10000 zatoshis rather than 1000 zatoshis) as the fixed fee.

Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-05-09 16:42:41 +01:00
Daira Emma Hopwood 043cc59c76 Add `transaction::fees::zip317::MINIMUM_FEE` constant and
`transaction::components::amount::Amount::const_from_i64`.

Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-05-09 16:42:19 +01:00
Daira Emma Hopwood 4cf27126e5 Revert "Update DEFAULT_FEE to 10_000 from 1000"
This reverts commit 2a6dc59c5d.

Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-05-09 13:15:52 +01:00
Kris Nuttycombe d37e6adee5
Merge pull request #783 from nuttycom/upgrade_bridgetree
Upgrade `zcash_primitives` to use updated `incrementalmerkletree` types.
2023-05-08 12:00:00 -06:00
str4d 579ab92b93
Merge branch 'main' into 823-secp256k1-0.26 2023-05-08 18:53:33 +01:00
Kris Nuttycombe ec29836df9 Remove `bridgetree` dependency from `zcash_primitives`.
This also now makes `zcash_extensions` use `incrementalmerkletree`
transitively via type aliases in `zcash_primitives`.
2023-05-04 15:42:39 -06:00
Kris Nuttycombe c9f53ddde5 Apply suggestions from code review
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2023-05-04 14:46:34 -06:00
Kris Nuttycombe 4d32a8ac20 Remove serialization version constants. 2023-05-04 12:46:15 -06:00
Kris Nuttycombe 71f74d4ac1 Remove the `merkle_tree::incremental` module.
This consolidates all the seralization code for frontiers and
incremental witnesses in the `merkle_tree` module.
2023-05-04 12:46:15 -06:00
Kris Nuttycombe 6aaa96d377 Remove zcashd-specific `bridgetree` serialization. 2023-05-04 12:46:15 -06:00
Kris Nuttycombe 1f9747e15f Move merkle tree types to the `incrementalmerkletree` crate.
This removes the `CommitmentTree`, `IncrementalWitness`, and
`MerklePath` types in favor of equivalent versions available
from the `incrementalmerkletree` crate.
2023-05-04 12:30:56 -06:00
Kris Nuttycombe 667a7b841e Move-only: restructure merkle tree source for extraction. 2023-05-04 12:21:50 -06:00
Kris Nuttycombe 6f2cbfc7de Factor serialization out from merkle tree data structures. 2023-05-04 12:21:47 -06:00
Kris Nuttycombe 831a6cd396 Remove superfluous inner functions now that tree depth is a constant. 2023-05-04 12:16:09 -06:00
Kris Nuttycombe ec57d23115 Use const generics to set commitment tree & incremental witness depths.
This is in preparation for extraction into the `incrementalmerkletree`
crate, which is not Sapling-specific and therefore cannot hard-code
the depths of these data structures.
2023-05-04 12:16:09 -06:00
Kris Nuttycombe 69430c3da2 Upgrade incrementalmerkletree and use bridgetree crate for `Bridgetree`. 2023-05-04 12:08:38 -06:00
Hazel OHearn 2a6dc59c5d
Update DEFAULT_FEE to 10_000 from 1000 2023-05-03 16:42:01 -03:00
Jack Grigg ec1c1bcf21 Migrate to `secp256k1 0.26`, `hdwallet 0.4`
Closes zcash/librustzcash#823.
2023-04-19 19:33:34 +00:00
Jack Grigg a419b56e80 zcash_primitives 0.11.0 2023-04-14 23:56:16 +00:00
Jack Grigg 7be5d1bf7d Update changelogs 2023-04-14 23:49:13 +00: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
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
Kris Nuttycombe b2139c0b97 Add roundtrip and golden tests for v1 `MerkleBridge` serialization. 2023-04-11 16:45:09 -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
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
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 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 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 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