Commit Graph

118 Commits

Author SHA1 Message Date
str4d 7db1c6fe5e
Merge pull request #1 from zcash/ci
Set up CI
2023-11-18 04:29:59 +00:00
Jack Grigg 461d99d42d Set up CI 2023-11-18 16:59:13 +13:00
Jack Grigg 9c76d5789f Render byte slices as hex more often in `Debug` impls
This is more generally useful for debugging purposes than the default
`Debug` impl for `&[u8]`.

We also provide an alternate `Debug` impl for `legacy::Script` that
parses and renders known opcodes. Note that we only parse a subset of
the full opcode set.


Extracted from: c8e2d81f58
2023-08-30 20:41:27 +00:00
Kris Nuttycombe b459f710c2 Merge pull request #856 from zcash/release/primitives_0.12-etc
Release zcash_address 0.3.0, zcash_primitives 0.12.0 and zcash_proofs 0.12.0

Extracted from: d2f105efe9
2023-06-06 16:59:51 -06:00
Kris Nuttycombe 642ac4b7a7 Release zcash_note_encryption version 0.4.0
Extracted from: 80adb54e26
2023-06-06 10:12:33 -06:00
Kris Nuttycombe f000a52148 Add comments detailing the checks required prior to calling `check_note_validity`
Extracted from: fe3d0269d1
2023-05-26 10:12:21 -06:00
Kris Nuttycombe 5076943e69 Update `zcash_primitives` to reflect argument changes to `parse_note_plaintext_without_memo_ovk`
Extracted from: 696a9be0a0
2023-05-26 09:43:26 -06:00
Kris Nuttycombe a7fa69c504 Remove `esk` and `ephemeral_key` arguments from `parse_note_plaintext_without_memo_ovk`
Fixes #850


Extracted from: be89e81534
2023-05-26 09:24:22 -06:00
Jack Grigg 81d8f61b0d zcash_note_encryption: Remove `esk` check requirement from `Domain::parse_note_plaintext_without_memo_ovk`
This method is only called from `try_output_recovery_with_ock`, and we
can instead rely on the check performed in `check_note_validity`,
reducing the number of checks that `Domain` implementations need to
perform.

The `esk` and `ephemeral_key` parameters become unused, and will be
removed in a subsequent commit (as this change needs to be synchronized
with the `orchard` crate).


Extracted from: a115a8f00f
2023-05-19 16:30:47 +00:00
Kris Nuttycombe 9198dc7748 Merge pull request #798 from nuttycom/zcash_note_encryption-0.3.0
Update zcash_note_encryption changelog for 0.3.0 release.

Extracted from: 21ae514e99
2023-03-22 10:28:06 -06:00
Kris Nuttycombe 8e2955da7c Update zcash_note_encryption changelog for 0.3.0 release.
Extracted from: 1a27a7f9ce
2023-03-22 09:54:18 -06:00
Kris Nuttycombe e66605f78f Merge pull request #790 from zcash/sapling/zcash_note_encryption-0.3.0
Update zcash_primitives to use zcash_note_encryption 0.3.0

Extracted from: ca349b62fd
2023-03-21 15:39:05 -06:00
Kris Nuttycombe d8885bec55 Update Sapling note encryption for `zcash_note_encryption 0.3.0`
Fixes zcash/librustzcash#455


Extracted from: d6fafa291b
2023-03-21 11:09:38 -06:00
Kris Nuttycombe f13c6cb13c Merge pull request #797 from zcash/note_encryption_remove_recipient
zcash_note_encryption: remove `recipient` parameter from `Domain::note_plaintext_bytes`

Extracted from: 169782c672
2023-03-21 10:44:28 -06:00
Kris Nuttycombe 8d0d9c9510 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.


Extracted from: c696069f93
2023-03-20 16:16:34 -06:00
Kris Nuttycombe b060f1c1df 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.


Extracted from: c88f3e1b9d
2023-03-20 16:16:00 -06:00
str4d cd883e2227 Merge pull request #675 from zcash/zcash_note_encryption-0.2.0
zcash_note_encryption 0.2.0

Extracted from: 1a20fc1578
2022-10-13 23:23:12 +01:00
Jack Grigg d4c3b3d4f9 zcash_note_encryption 0.2.0
Extracted from: 8f068b3b71
2022-10-13 21:35:39 +00:00
Jack Grigg 0027162749 zcash_note_encryption: Clean up changelog and readme
We no longer depend on the previously-mentioned dependencies.


Extracted from: 9a010d42ff
2022-10-13 21:23:09 +00:00
Kris Nuttycombe c9c66b5c99 Merge pull request #674 from zcash/remove-unused-deps
Remove unused dependencies

Extracted from: d9dac00ac7
2022-10-13 14:41:40 -06:00
Jack Grigg 7f695bcda6 Remove unused dependencies
These were mostly detected with `cargo-udeps`, for which I've also added
exclusions for the dependencies it can't detect are used in doc-tests.


Extracted from: 8842de18cc
2022-10-13 20:06:52 +00:00
Kris Nuttycombe 3718aab053 Merge pull request #641 from nuttycom/upgrade_chacha20
Upgrade chacha20poly1305 dependency to version 0.10

Extracted from: bc626156c3
2022-09-16 14:39:32 -06:00
Kris Nuttycombe c06128cf9d Remove `zcash_primitives` as a zcash_note_encryption dev dependency.
This was only used to provide example code for Sapling usage of
the `NoteEncryption` struct; this example code has been moved
to `sapling::note_encryption`.


Extracted from: 29220c716f
2022-09-16 12:52:00 -06:00
Kris Nuttycombe 1ec4b356ad Upgrade chacha20poly1305 dependency to version 0.10
Also upgrade  the `chacha20`, `cipher`, and `subtle` dependency
versions.


Extracted from: 72b5e6dfc3
2022-09-16 12:52:00 -06:00
str4d 61a2c3ef72 Merge pull request #633 from daira/prepare-epks-and-ivks
Add APIs to prepare ivk and epk and implement them for Sapling

Extracted from: 84835035d5
2022-09-15 12:45:33 +01:00
Daira Hopwood f1d4498da6 zcash_note_encryption: Add API to prepare epk.
Co-authored-by: Jack Grigg <jack@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>


Extracted from: 515b0a40ec
2022-09-15 03:22:41 +01:00
Kris Nuttycombe e6483762f2 Remove redundant TryFrom/TryInto imports.
Extracted from: a93f5945ab
2022-09-02 12:05:15 -06:00
Kris Nuttycombe 8d56418bb6 Update to Rust 2021 and explicitly set MSRVs
Extracted from: 16a0e43f2d
2022-09-02 12:05:09 -06:00
Kris Nuttycombe d4ffb65baf Merge pull request #597 from nuttycom/cleanup/fix_doc_link_deny
Use the new name rustdoc::broken_intra_doc_links

Extracted from: 602270cb1f
2022-08-01 07:49:46 -06:00
Kris Nuttycombe 33b8a037cf Use the new name rustdoc::broken_intra_doc_links
Extracted from: 199c49760b
2022-07-29 15:56:44 -06:00
Kris Nuttycombe 168fd15674 Use batch decryption in wallet scanning.
This modifies wallet scanning to perform per-block batched
decryption. It also alters the structure of the `ScanningKey`
trait to correctly include internal (change) keys in the scan
process.


Extracted from: 73314dc682
2022-07-28 17:28:31 -06:00
Kris Nuttycombe f258e3559e Restructure batch decryption to avoid cartesian product of results.
While it is necessary in the worst case to perform `m * n` decryptions,
where `m` is the number of outputs being decrypted and `n` is the number
of IVKs, it is possible to stop performing trial decryptions when the
first successful decryption is performed. Also, it's inconvenient and
unnecessary to return the full cartesian product of these results, as
only one IVK will decrypt a given output. This commit modifies batch
trial decryption to stop on the first successful decryption, and instead
of returning the cartesian product of results we return the index of the
input IVK along with the output it decrypted. Note that this means that
trial decryption is not constant-time with respect to the number and/or
order of IVKs.


Extracted from: 5873950648
2022-07-28 15:23:21 -06:00
Daira Hopwood f0a679e9c3 Address feedback about the use of "permissive".
Signed-off-by: Daira Hopwood <daira@jacaranda.org>


Extracted from: a9aa2929d2
2022-06-28 16:46:13 +01:00
Daira Hopwood b04dfa4b82 Projects that rely on BOSL exceptions should say that they do.
fixes #576

Signed-off-by: Daira Hopwood <daira@jacaranda.org>


Extracted from: 75ca854005
2022-06-28 12:29:16 +01:00
ebfull f870e5fbea Merge pull request #573 from zcash/zcash_primitives-0.7.0
`equihash 0.2.0`, `zcash_primitives` and `zcash_proofs` 0.7.0

Extracted from: 8ad60a0fc0
2022-06-24 12:59:38 -06:00
Jack Grigg 6cb2721f2a zcash_primitives 0.7.0
Extracted from: e952ff637e
2022-06-24 17:00:39 +00:00
str4d 38063ab9e7 Merge pull request #553 from zcash/release-0.6.0
Release `zcash_primitives 0.6.0` et al

Extracted from: 4d282798aa
2022-05-11 00:56:09 +01:00
Jack Grigg 6d881b91f5 zcash_primitives 0.6.0
Extracted from: 3ecfd26d79
2022-05-10 23:33:05 +00:00
str4d f46cc820d8 Merge pull request #549 from zcash/ff-0.12
Migrate to `ff 0.12`

Extracted from: b8dee161e1
2022-05-06 21:59:39 +01:00
Jack Grigg 742255e940 Migrate to `ff 0.12`
Extracted from: 144512b547
2022-05-06 20:03:49 +00:00
str4d 19b724c202 Merge pull request #518 from zcash/merge-non-consensus-changes-3
Merge non-consensus changes

Extracted from: c423167b30
2022-02-28 23:48:24 +00:00
Jack Grigg c687881252 Merge branch 'non-consensus-changes-on-branchid-37519621' into merge-non-consensus-changes-3
Extracted from: 91d9a42a08
2022-02-28 23:22:40 +00:00
str4d 9965b51f2f Merge pull request #516 from nuttycom/update_incrementalmerkletree
Update the versions of incrementalmerkletree & orchard.

Extracted from: cfb49cfd52
2022-02-24 20:55:22 +00:00
Kris Nuttycombe b0a1a6ba6b Update MSRV to 1.56.1
Extracted from: 600c06a408
2022-02-24 12:26:14 -07:00
str4d 4a11d8fa4e Merge pull request #511 from zcash/merge-non-consensus-changes-again
Merge non consensus changes again

Extracted from: ff243b4f00
2022-02-14 18:58:09 +00:00
Jack Grigg a968c77b90 Merge branch 'non-consensus-changes-on-branchid-37519621' into merge-non-consensus-changes-again
Extracted from: dbfa673500
2022-02-14 18:11:09 +00:00
str4d 99276bf8c2 Merge pull request #501 from nuttycom/fix_beta_lints
Fix Clippy beta linting complaints.

Extracted from: 682d5235c2
2022-02-02 23:31:33 +00:00
Kris Nuttycombe 8a5c0f8946 Fix Clippy beta linting complaints.
Extracted from: a304c3953b
2022-02-02 16:02:45 -07:00
str4d a107ed3c80 Merge pull request #504 from nuttycom/merge_non_consensus_changes
Merge all non-consensus changes staged for NU5 to `master`.

Extracted from: e63979e80a
2022-02-02 22:25:30 +00:00
Kris Nuttycombe e785fcb321 Merge pull request #341 from nuttycom/autoshield-poc-daa
Add auto-shielding to the data access API

Extracted from: 4f4a25252f
2022-02-02 14:26:05 -07:00