Jack Grigg
8a615c4393
zcash_note_encryption: Add batched trial decryption APIs
2021-08-10 02:17:10 +01:00
str4d
51aa991ce0
Merge pull request #423 from str4d/trial-decryption-optimisation
...
Store OutputDescription `ephemeral_key` as bytes
2021-08-10 02:16:17 +01:00
Jack Grigg
0facec094f
Update changelogs with `EphemeralKeyBytes` changes
2021-08-09 21:45:16 +01:00
Jack Grigg
279a8b6bb6
Use `EphemeralKeyBytes` type in place of `[u8; 32]`
2021-08-09 21:28:42 +01:00
Daira Hopwood
d1443e5049
ZIP 339 support.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-08-07 01:07:54 +01:00
Jack Grigg
83c6a2d1ca
Store OutputDescription `ephemeral_key` as bytes
...
This removes an unnecessary `to_bytes` during trial decryption of notes,
and more closely matches the protocol spec. We retain the consensus rule
canonicity check on epk due to `SaplingVerificationContext::check_output`
taking a `jubjub::ExtendedPoint`, forcing `zcashd` to parse the bytes.
2021-08-06 16:54:48 +01:00
str4d
99d877e22d
Merge pull request #421 from str4d/bench-compact-decryption
...
zcash_primitives: Benchmark trial decryption of compact outputs
2021-08-05 23:29:16 +01:00
str4d
945a199ddd
zcash_primitives: Use `not(unix)` instead of `windows` for flamegraphs
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-08-05 23:22:12 +01:00
Jack Grigg
16d38ea354
zcash_primitives: Remove spaces from benchmark group names
2021-08-05 22:40:46 +01:00
Jack Grigg
0f15743200
Disable default benchmark harness for all workspace crates
...
This is necessary in order to provide criterion-specific arguments to
`cargo bench`, such as `--profile-time`.
2021-08-05 22:39:36 +01:00
Jack Grigg
3ffa3ae435
zcash_primitives: Add flamegraph support to benchmarks on Unix
...
Use `cargo bench -- --profile-time TIME_IN_SECONDS` to measure the
flamegraphs. They will be placed in `target/criterion/`.
2021-08-05 22:24:16 +01:00
Jack Grigg
8b05727361
zcash_primitives: Benchmark trial decryption of compact outputs
...
These are effectively identical to full-output trial decryption (as the
primary cost is the scalar multiplication), but it's good to check.
2021-08-05 22:13:23 +01:00
Kris Nuttycombe
2945905d52
Implement manual serialization for incremental Merkle tree components.
...
This also adds parsing of the legacy CommitmentTree format,
to permit easy migration of persisted data.
2021-08-05 09:32:44 -06:00
str4d
e8d20f73f8
Merge pull request #419 from str4d/418-ua-hrp-padding
...
zcash_address: Include HRP inside Unified Address Padding bytes
2021-07-30 20:44:26 +01:00
str4d
c02931dc82
Tweak test comment
2021-07-30 20:35:23 +01:00
Jack Grigg
00b369b2a4
zcash_address: Include HRP inside Unified Address Padding bytes
...
Closes zcash/librustzcash#418 .
2021-07-30 15:34:36 +01:00
Kris Nuttycombe
786da38f3e
Merge pull request #411 from nuttycom/use_orchard_zip244_commitments
...
Move Orchard bundle commitments to the `orchard` crate.
2021-07-29 11:05:55 -06:00
Kris Nuttycombe
232feb71be
Use orchard::Flags::to_byte/from_byte
2021-07-29 10:38:43 -06:00
Kris Nuttycombe
3b8f0214eb
Move Orchard bundle commitments to the `orchard` crate.
2021-07-29 10:38:43 -06:00
str4d
1a40fc9ac8
Merge pull request #416 from str4d/ua-parser-checks
...
Add Unified Address parser structural checks
2021-07-12 22:02:34 +01:00
Jack Grigg
b875f6c34b
zcash_address: Fix clippy lint by using matches! macro
2021-07-12 21:17:25 +01:00
Jack Grigg
8527dcbc32
zcash_address: Remove outdated unified::Receiver documentation
...
Receiver ordering is now explicitly defined by Typecode, and Receiver
is now a public type.
2021-07-12 21:11:24 +01:00
Jack Grigg
478625f72d
zcash_address: Add UA test cases for truncation and invalid padding
2021-07-12 20:56:35 +01:00
Jack Grigg
77d1f0c778
zcash_address: Invert Typecode::is_shielded to Typecode::is_transparent
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-07-12 20:19:26 +01:00
Jack Grigg
060a15eaf8
zcash_address: Enable constructing a unified::Address from Vec<Receiver>
...
This enforces the same structural validity checks as at parsing time.
2021-07-12 13:39:01 +01:00
Jack Grigg
384af079a8
zcash_address: Add `unified::Address::receivers{_as_parsed}` APIs
...
These expose the receivers in sorted order, and in parsed order.
2021-07-12 13:35:06 +01:00
Jack Grigg
b175b9bec9
zcash_address: Use preference ordering for Receivers
2021-07-12 13:34:44 +01:00
Jack Grigg
7708b27202
zcash_address: Enforce UA structural validity checks
2021-07-12 12:10:23 +01:00
Jack Grigg
cd94b41d61
zcash_address: Introduce UA-specific parser error type
2021-07-12 11:45:25 +01:00
Jack Grigg
01a8dba450
zcash_address: Add a Typecode enum
2021-07-12 11:42:49 +01:00
str4d
8b4ae55e90
Merge pull request #415 from str4d/ci-rustdoc-no-deps
...
CI: Don't render documentation for crates outside the workspace
2021-07-09 21:18:52 +01:00
Jack Grigg
c51b534bd1
CI: Don't render documentation for crates outside the workspace
2021-07-09 21:17:56 +01:00
str4d
708b015cab
Merge pull request #414 from str4d/ci-rustdoc-fix
...
CI: Fix documentation rendering
2021-07-09 21:12:42 +01:00
Jack Grigg
d868f2363d
CI: Fix documentation rendering
2021-07-09 21:12:06 +01:00
str4d
7c897d52cc
Merge pull request #413 from str4d/ci-rustdoc
...
CI: Add workflow to render latest documentation
2021-07-09 20:59:33 +01:00
Jack Grigg
6eb3557ea3
CI: Add workflow to render latest documentation
2021-07-09 20:59:06 +01:00
str4d
3cab105c9c
Merge pull request #410 from nuttycom/nonempty_bump
...
Update nonempty crate version.
2021-06-30 20:21:09 +01:00
Kris Nuttycombe
105f8da91f
Update `nonempty` and `orchard` dependencies.
2021-06-30 12:57:56 -06:00
str4d
4ac5977c91
Merge pull request #409 from nuttycom/fix_clippy
...
Fix clippy complaints
2021-06-24 01:28:44 +01:00
Kris Nuttycombe
1ae2bd727c
Fix clippy complaints
2021-06-23 16:37:48 -06:00
str4d
0205252692
Merge pull request #407 from str4d/ua-test-vectors
...
zcash_address: Add Unified Address test vectors
2021-06-18 20:40:57 +01:00
Jack Grigg
752ee442f8
zcash_address: Add Unified Address test vectors
2021-06-18 20:06:02 +01:00
str4d
0c3ed15998
Merge pull request #405 from str4d/bump-orchard-deps
...
Bump orchard deps
2021-06-15 21:54:30 +01:00
Jack Grigg
69ee9f8ca5
Bump orchard deps
...
Includes additional patched dependencies, now that the orchard crate is
not pinning specific revisions of the in-development crates.
2021-06-15 20:20:53 +01:00
str4d
fe4b63c8fe
Merge pull request #401 from str4d/368-zip-221-orchard
...
`zcash_history`: Implement v2 history tree with Orchard support
2021-06-15 17:49:59 +01:00
Daira Hopwood
d88e40113c
Merge pull request #402 from str4d/amount-to-orchard-valuesum
...
impl From<Amount> for orchard::ValueSum
2021-06-14 22:46:22 +01:00
Jack Grigg
00b3e427e6
impl From<Amount> for orchard::ValueSum
...
This is necessary in order to be able to calculate bvk for Orchard
bundles.
2021-06-14 11:41:02 +01:00
Jack Grigg
fcbe9a842a
zcash_history: Migrate tests to V2 format
...
V2 is implemented as a wrapper around V1, so this simply expands the
tested code.
2021-06-11 02:12:01 +01:00
Jack Grigg
e84bb874af
zcash_history: Implement V2 tree format
2021-06-11 02:10:16 +01:00
Jack Grigg
63f554b308
zcash_history: Introduce Version trait
...
Each Zcash epoch (between two network upgrades) has a separate history
tree, making it easy to switch the node data format at network upgrades.
This commit enables the general tree logic to be shared across history
tree versions.
2021-06-11 02:02:07 +01:00