Commit Graph

399 Commits

Author SHA1 Message Date
Jack Grigg 362838c3fa zcash_note_encryption: Fix array size in Domain::extract_{esk, pk_d}
Decrypted output size is `OUT_PLAINTEXT_BYTES`, which the decryptor
can always provide (either by decrypting into the correct size array
as now, or truncating the buffer before passing it to the domain).
2021-05-28 23:48:03 +01:00
Jack Grigg f6705f23c3 zcash_note_encryption: Add ovk recovery API 2021-05-28 23:45:23 +01:00
Jack Grigg ae43e6c074 zcash_note_encryption: Pass cmstar_bytes to Domain::derive_ock
PRF^ock in the spec takes cm* as a byte array.
2021-05-28 23:41:13 +01:00
str4d d9a3b98120
Merge pull request #377 from adityapk00/builder_progress
Report Sapling Tx Builder Progress
2021-05-26 21:52:38 +01:00
str4d 35dadc7f6c
f4jumble: Test both directions against test vectors 2021-05-20 14:16:39 +01:00
Kris Nuttycombe 1dcba34167 Add checks against f4jumble test vectors. 2021-05-19 08:50:50 -06:00
Kris Nuttycombe 774d166fff Use VALID_LENGTH constant for f4jumble proptest generation. 2021-05-19 08:29:10 -06:00
Kris Nuttycombe 4346ca9e50 Apply suggestions from code review
Co-authored-by: str4d <jack@electriccoin.co>
2021-05-19 08:29:10 -06:00
Kris Nuttycombe 69ce777dd1 Use macros for personalization & iterator for g function.
Co-authored-by: str4d <jack@electriccoin.co>
2021-05-19 08:29:01 -06:00
Kris Nuttycombe 08a3fb9639 Implement F4Jumble 2021-05-19 08:28:58 -06:00
str4d 1b0f2060dd
Improve documentation of builder::Progress 2021-05-18 13:45:48 +01:00
Aditya Kulkarni f3aded9c84 Send builder progress 2021-05-17 09:44:42 -07:00
Daira Hopwood da431a0eb2
rustfmt fix 2021-05-03 14:08:06 +01:00
narodnik 618a6165c7 Replace redundant code with call to Field::random() which does the same as the code. 2021-05-03 13:34:13 +02:00
Jack Grigg 28a45028ab cargo fmt 2021-04-16 14:03:55 +12:00
Kris Nuttycombe 3434cc8b6a Add a note about canonicity of ephemeral public keys. 2021-04-15 15:32:45 -06:00
Kris Nuttycombe b2b3efd4c2 Fix naming cmstar -> cmstar_bytes and cm -> cmstar 2021-04-15 15:24:45 -06:00
Kris Nuttycombe 00d04de547 Make cmstar check follow the spec more closely. 2021-04-14 15:38:58 -06:00
Kris Nuttycombe 12cb8265d8 Fix formatting. 2021-04-12 18:47:45 -06:00
Kris Nuttycombe fae1a1517a Simplify try_sapling_output_recovery. 2021-04-12 18:40:17 -06:00
Kris Nuttycombe 6fc1d1d1c0 Use ephemeral_key bytes instead of the epk abstract point where specified. 2021-04-12 16:19:50 -06:00
Kris Nuttycombe 324fc36521 Use ShieldedOutput trait for note encryption/decryption.
This change modifies note encryption and decryption functions
to treat a shielded output as a single value instead of handling
the parts of an output as independent arguments.
2021-04-12 12:59:06 -06:00
Kris Nuttycombe a560101bb2 Remove spurious mut references. 2021-04-08 10:08:00 -06:00
Kris Nuttycombe 879eea863a Apply suggestions from code review
Co-authored-by: str4d <jack@electriccoin.co>
2021-04-08 08:20:23 -06:00
Kris Nuttycombe 213cd6cce9 Fix Clippy complaints. 2021-04-08 08:20:23 -06:00
Kris Nuttycombe 5b13bb3a1e Add try_output_recovery_with_ovk to shared note encryption code. 2021-04-08 08:20:23 -06:00
Kris Nuttycombe 266285b536 Move generalized note encryption functionality to zcash_note_encryption crate. 2021-04-08 08:20:21 -06:00
Kris Nuttycombe e77839232d Generalize note encryption and decryption.
This commit introduces a `Domain` trait which defines the types
and operations that are shared between Sapling and Orchard note
encryption and decryption processes.
2021-04-08 08:19:10 -06:00
Kris Nuttycombe 5baccdf052 Move note_encryption into the sapling module. 2021-04-08 08:19:10 -06:00
Jack Grigg 2f3847638d zcash_primitives: Revert to SproutProof::PHGR
Unlike regular acronyms or abbreviations, this is author initials, which
we've decided to keep capitalised.
2021-04-02 10:39:25 +13:00
Jack Grigg 63db2729e9 Temporarily allow clippy::result_unit_err lint
Fixing these lints is deferred to zcash/librustzcash#367.
2021-03-27 19:01:03 +13:00
Jack Grigg 56b577b31e clippy: Fix small lints 2021-03-27 19:01:03 +13:00
Jack Grigg 564c2714fe clippy: Use Iterator::try_for_each 2021-03-27 19:01:03 +13:00
Jack Grigg 636845d0f9 Renames to use lower-case abbreviations (matching Rust convention)
As of our MSRV bump to 1.51.0, we get lints for this.
2021-03-27 19:01:03 +13:00
Jack Grigg 8ac663f116 Fix some doctests and intra-doc links after moving Sapling primitives 2021-03-27 17:10:18 +13:00
Kris Nuttycombe 33effb7d67 Move sapling keys into sapling module. 2021-03-27 16:18:21 +13:00
Kris Nuttycombe 4086df772c Move sapling-specific primitives into the sapling module. 2021-03-27 16:18:21 +13:00
Kris Nuttycombe abbf5dfd83 Move pedersen hash test vectors into Sapling 2021-03-27 16:18:21 +13:00
Kris Nuttycombe bc087a5ff7 Move pedersen hashes to sapling module. 2021-03-27 16:18:21 +13:00
Kris Nuttycombe 88d58aac0a Move relevant utils into sapling module. 2021-03-27 16:18:21 +13:00
Kris Nuttycombe 16948d9d78 Move zcash_primitives::prover to sapling module 2021-03-27 16:18:21 +13:00
Kris Nuttycombe bf97b21632 Move redjubjub to sapling module. 2021-03-27 16:18:21 +13:00
Kris Nuttycombe de1345a1c2 Move group_hash to sapling module. 2021-03-27 16:18:21 +13:00
Kris Nuttycombe c839193b20 Move TZE components to a separate module & add TzeOutPoint 2021-03-27 15:52:20 +13:00
Kris Nuttycombe 97f2502a5e Factor transparent transaction components into a separate module. 2021-03-27 15:49:17 +13:00
Kris Nuttycombe 96709c6423 Move Sapling transaction components to a separate module. 2021-03-27 15:49:17 +13:00
Kris Nuttycombe 7fcb7bbe99 Factor Sprout transaction elements into a separate module. 2021-03-27 15:49:17 +13:00
Kris Nuttycombe 6e371a8c13 Make Sprout elements crate-public. 2021-03-27 15:49:17 +13:00
Jack Grigg 9d9c0579f8 Use new name for broken_intra_doc_links lint
We also add the lint to crates in the workspace that didn't have it.

Closes zcash/librustzcash#279.
2021-03-27 08:27:17 +13:00
Jack Grigg 675048e52b Fix broken intra-doc links and lints 2021-03-26 10:07:20 +13:00