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
Kris Nuttycombe
0a7ad528ed
Apply suggestions from code review
...
Co-authored-by: str4d <jack@electriccoin.co>
Extracted from: 3a20176092
2022-01-27 15:00:37 -07:00
str4d
f6e73e9240
Merge pull request #470 from zcash/zcash_note_encryption-0.1.0
...
`zcash_note_encryption 0.1.0`
Extracted from: 34bc61da0b
2021-12-17 23:43:39 +00:00
Jack Grigg
86f7e3f1a3
zcash_note_encryption 0.1.0
...
Extracted from: 142a38e792
2021-12-17 20:00:46 +00:00
Jack Grigg
ea7f718863
zcash_note_encryption: License files and readme
...
Extracted from: c4cbb2dd74
2021-12-17 15:16:17 +00:00
Jack Grigg
d6897cc8c1
zcash_note_encryption: Clean up dependencies
...
Several dependencies were copied over during the extraction of this
crate's logic from `zcash_primitives`, but are in fact only required for
the protocol-specific logic. We can also remove the `std` feature flag,
since we no longer have a dependency on `blake2b_simd` that needs its
`std` flag exposed for performance.
Extracted from: e8a755f633
2021-12-17 15:06:22 +00:00
Jack Grigg
312472ffbe
zcash_note_encryption: Crate documentation
...
Extracted from: d511a788c4
2021-12-17 15:06:22 +00:00
Jack Grigg
b12b4124ed
zcash_note_encryption: Document APIs
...
Extracted from: edc3557e30
2021-12-17 14:12:18 +00:00
Jack Grigg
7b52b15cfa
zcash_note_encryption: Add `doc_cfg` annotations
...
Extracted from: 5409291b0c
2021-12-17 14:12:18 +00:00
str4d
8e557918aa
Merge pull request #469 from zcash/zcash_note_encryption-api-cleanups
...
`zcash_note_encryption` API cleanups
Extracted from: 905c6e2dd0
2021-12-17 13:42:42 +00:00
Jack Grigg
9994ddc70d
zcash_note_encryption: Constrain outgoing ciphertext size
...
This replaces a length assertion, making the API more predictable.
Extracted from: 76f364593a
2021-12-17 05:23:53 +00:00
Jack Grigg
1ac6d5b8fe
zcash_note_encryption: Constrain `ShieldedOutput` ciphertext size
...
Previously we were returning the ciphertext as a slice, and then
asserting its length within the APIs the caller passed it into. Now
instead we require the caller to define whether or not the output is
compact, to make the API more predictable.
This doesn't place any additional constraints on users of this trait,
because the assertions already prevented a full output from being passed
to a compact trial decryption API.
Extracted from: 4fcd83d74e
2021-12-17 05:23:53 +00:00
Jack Grigg
7ab76d8574
zcash_note_encryption: Remove `Domain::check_epk_bytes`
...
`Domain::derive_esk` provides sufficient information to determine
whether or not we need to enforce `EphemeralSecretKey`-specific
decryption checks, as it returns `None` for pre-ZIP 212 notes.
Extracted from: d54e1f0bf7
2021-12-17 04:30:57 +00:00
Jack Grigg
34277d4e38
zcash_note_encryption: Use `*PlaintextBytes` structs in `Domain` APIs
...
`Domain::parse_note_plaintext_without_memo_ivk` is used with both full
note plaintexts and compact notes, so continues to accept a slice. For
all other `Domain` APIs, we constrain the input to `NotePlaintextBytes`
or `OutPlaintextBytes` as appropriate.
Extracted from: 7c1687dcc1
2021-12-17 04:30:57 +00:00
Jack Grigg
df05017f1a
zcash_note_encryption: Place pre-ZIP 212 APIs behind a feature flag
...
Extracted from: 01c768dbeb
2021-12-17 04:30:57 +00:00
jarys
f79d84fe59
Add `#![no_std]` support for zcash_note_encryption ( #450 )
...
Co-authored-by: str4d <thestr4d@gmail.com>
Extracted from: 0ec7f97c97
2021-11-24 13:58:52 +00:00
ying tong
96fb053f6d
Merge pull request #452 from zcash/zcash_note_encryption-batchdomain
...
Introduce `zcash_note_encryption::BatchDomain` trait
Extracted from: c48bb4def2
2021-11-17 15:13:43 +01:00
Jack Grigg
df51fbc543
zcash_note_encryption: Move domain batch APIs into a BatchDomain trait
...
These are the only allocating APIs; this change makes it possible to
make the crate no-std compatible.
Extracted from: 35e7542065
2021-11-17 12:14:26 +00:00
str4d
709c25bcdf
Merge pull request #439 from str4d/ff-0.11
...
ff 0.11, group 0.11, etc.
Extracted from: 85780f994d
2021-09-13 17:08:27 +01:00
Jack Grigg
13d5f6f38a
ff 0.11, group 0.11, etc.
...
Extracted from: 65e1d32774
2021-09-09 18:20:37 +01:00
Kris Nuttycombe
943e6f5c20
Fix a couple of broken doc links.
...
Extracted from: 5541552453
2021-09-01 14:01:47 -06:00
str4d
b7a3885b7f
Merge pull request #428 from nuttycom/public_compact_size
...
Move the CompactSize, Vector, Array and Option encodings to a new zcash_encoding crate.
Extracted from: edcde252de
2021-09-01 20:45:28 +01:00
Kris Nuttycombe
1fd5c8d748
Fix stray clippy complaints.
...
Extracted from: fa092da456
2021-08-31 13:19:24 -06:00
Jack Grigg
b0ff1f9914
zcash_note_encryption: Switch to chacha20poly1305 crate
...
Extracted from: f03f05f251
2021-08-30 15:03:39 +01:00
str4d
6770db186b
Merge pull request #425 from str4d/batch-note-decryption
...
Batch note decryption
Extracted from: 13b023387b
2021-08-11 00:47:27 +01:00