Commit Graph

876 Commits

Author SHA1 Message Date
str4d a5f701f318
Merge pull request #292 from zcash/debug-trait-bounds
Add missing `Debug` trait bounds for `Builder` components
2022-02-28 20:34:47 +00:00
Jack Grigg def4d4d9ae Add missing `Debug` trait bounds for `Builder` components
All relevant types have `Debug` impls, but some of the trait and method
impls were lacking `Debug` bounds on their generic types. This prevented
`Debug` impls being used on the overall partially-constructed `Bundle`
types.
2022-02-28 20:09:30 +00:00
Kris Nuttycombe 8449fd133c Merge branch 'update_incrementalmerkletree' into non-consensus-changes-on-branchid-c4cd541e 2022-02-24 13:15:31 -07:00
Kris Nuttycombe 273662c00b
Apply suggestions from code review
Co-authored-by: str4d <thestr4d@gmail.com>
2022-02-24 09:16:39 -07:00
Kris Nuttycombe e32a075ef0 Update the incremental merkle tree version and the Rust toolchain.
Use derived equality and ordering (which delegate to constant-time
versions) for note::nullifier::Nullifier and tree::MerkleHashOrchard
so that these types can be used as map keys in wallets.
2022-02-24 09:12:12 -07:00
Kris Nuttycombe 1cf828fe7b Update the incremental merkle tree version and the Rust toolchain.
Use derived equality and ordering (which delegate to constant-time
versions) for note::nullifier::Nullifier and tree::MerkleHashOrchard
so that these types can be used as map keys in wallets.
2022-02-23 20:43:02 -07:00
str4d 3b8d07f7b6
Merge pull request #289 from zcash/internal-fvk
Add `FullViewingKey::derive_internal`
2022-02-22 14:06:23 +00:00
Jack Grigg 65f3e6ec32 Add `FullViewingKey::derive_internal`
This is identical to the changes introduced in zcash/orchard#270, except
that the output is non-optional (since the derivation is non-fallible).
2022-02-21 14:41:47 +00:00
str4d 4dc1ae059a
Merge pull request #285 from zcash/bundle-builder-test
Functional test for building and verifying bundles
2022-02-15 22:45:56 +00:00
Jack Grigg 62da82bd38 Add functional test for creating and verifying a shielded bundle
The text exposed some limitations of the current crate API, which have
been fixed.
2022-02-15 22:17:15 +00:00
Jack Grigg 0b6bd07904 Add functional test for creating and verifying a shielding bundle
The text exposed some limitations of the current crate API, which have
been fixed.
2022-02-15 22:17:15 +00:00
str4d d0ed65c37c
Merge pull request #283 from nuttycom/ivk_expose_dk
Allow decryption of the diversifier index for an an address using the IVK.
2022-02-15 22:16:49 +00:00
Daira Hopwood e92d1167af The address used to derive g_d_old and pk_d_old is the recipient address of the note being spent. 2022-02-15 14:39:32 -07:00
Kris Nuttycombe 00deb330e6 Fix pprof version. 2022-02-15 14:39:32 -07:00
Kris Nuttycombe 5d5e289197 Remove default_diversifier and default_address methods. 2022-02-15 14:39:32 -07:00
Kris Nuttycombe 4c7ab377fb Make the DiversifierKey type crate-private 2022-02-14 17:04:38 -07:00
Kris Nuttycombe ae3cc78a56 Add decryption of the diversifier index for an address to the IVK.
Also correct a spelling error.
2022-02-14 17:04:38 -07:00
Jack Grigg c4cd541e6c Add `Clone` impls to various structs
This enables `InProgress<Unproven, Unauthorized>: Clone`, which allows
the bundle returned by `Builder::build` to be cloned. In pure-Rust
wallets this should not be necessary, but it is required for `zcashd`
due to FFI-crossing.
2022-02-12 02:04:52 +00:00
Kris Nuttycombe 8c96640826 Add diversifier index decryption to DiversifierKey. 2022-02-11 14:09:07 -07:00
str4d a061a861b3
Merge pull request #266 from zcash/release-0.1.0-beta.1
Release 0.1.0-beta.1
2021-12-17 22:30:14 +00:00
Jack Grigg f98431175a orchard 0.1.0-beta.1 2021-12-17 22:10:35 +00:00
Jack Grigg 369b99ee3f Add `doc_cfg` annotations 2021-12-17 22:08:58 +00:00
Jack Grigg bb04300059 zcash_note_encryption 0.1 2021-12-17 22:08:23 +00:00
Jack Grigg af236a34ad blake2b_simd 1 2021-12-17 17:06:37 +00:00
Jack Grigg f468e604e3 pprof 0.6 2021-12-17 17:05:23 +00:00
Jack Grigg 4af28cb6d4 incrementalmerkletree 0.2 2021-12-17 16:39:48 +00:00
str4d cad50e7611
Merge pull request #265 from zcash/zcash_note_encryption-api-cleanups
Migrate to latest `zcash_note_encryption` API
2021-12-17 13:43:07 +00:00
Jack Grigg 4b0b32275f Migrate to latest `zcash_note_encryption` API 2021-12-17 05:31:24 +00:00
ebfull 4592c2f275
Merge pull request #262 from zcash/261-ak_P-reject-identity
Reject the identity in `SpendValidatingKey::from_bytes`
2021-12-16 08:19:58 -07:00
str4d a5de219cee
Merge pull request #258 from zcash/ci-benchmarks
CI: Benchmark tweaks
2021-12-15 23:14:33 +00:00
Jack Grigg 044844c0a0 Reject the identity in `SpendValidatingKey::from_bytes`
`ak_P` is not allowed to be the identity in the Orchard protocol. We
were enforcing this by construction in most places, except for the
parsing of an Orchard full viewing key.

Closes zcash/orchard#261.
2021-12-15 13:48:59 +00:00
Jack Grigg eca0dd7177 CI: Switch to storing benchmarks in gh-pages branch 2021-12-09 21:43:56 +00:00
Jack Grigg 84aa43fe8b bench: Fix circuit benchmarks
Criterion's benchmark grouping does not match on group names; it only
groups benchmarks that are run prior to that specific benchmark group
instance being dropped. Since each benchmark group holds a mutable
reference to the criterion instance, this means we can't have multiple
active groups collecting measurements. Instead, we need to collect the
proving benchmarks for all recipient numbers, followed by verification
benchmarks.
2021-12-09 13:18:39 +00:00
str4d 99b767a3a1
Merge pull request #252 from zcash/circuit-pin-proof-size
circuit: Pin the proof size
2021-12-06 20:03:22 +00:00
Jack Grigg fe7796b884 circuit: Ensure that the real proof length matches calculated length 2021-12-06 19:44:44 +00:00
Jack Grigg e2c300368b circuit: Pin the proof size
This is to ensure that if any future circuit changes are made, their
effect on the proof size (if any) will be noticed.
2021-12-06 18:01:55 +00:00
ebfull 53b68ea799
Merge pull request #249 from zcash/241-spendingkey-ct_eq
Replace `PartialEq, PartialOrd` with `ConstantTimeEq` on `{Extended}SpendingKey`
2021-12-02 11:45:44 -07:00
Jack Grigg 37f1bba998 Remove `PartialEq, PartialOrd` impls from `{Extended}SpendingKey` 2021-11-30 23:25:35 +00:00
Jack Grigg 674ceb54c8 `impl ConstantTimeEq for {Extended}SpendingKey` 2021-11-30 23:24:50 +00:00
str4d 68b790c7da
Merge pull request #239 from nuttycom/di_from_bytes
Add construction of DiversifierIndex directly from bytes.
2021-11-29 17:46:44 +00:00
Kris Nuttycombe 14c4b40dfc Add construction of DiversifierIndex directly from bytes. 2021-11-24 18:09:25 -07:00
str4d 067e26822d
Merge pull request #238 from zcash/reddsa-0.1.0
Use reddsa 0.1 instead of the git dependency
2021-11-23 14:12:19 +00:00
Jack Grigg 1cd9e7d4d4 Use reddsa 0.1 instead of the git dependency 2021-11-19 23:10:46 +00:00
ying tong dfcea20569
Merge pull request #218 from zcash/zcash_note_encryption-batchdomain
Migrate to `zcash_note_encryption::BatchDomain`
2021-11-17 15:13:57 +01:00
str4d 465afd162e
Merge pull request #229 from zcash/228-fix-ivk-to_bytes
Fix `IncomingViewingKey::to_bytes`
2021-11-17 13:30:54 +00:00
Jack Grigg 8c018eff7e Migrate to `zcash_note_encryption::BatchDomain` 2021-11-17 12:15:21 +00:00
Jack Grigg 235cd791b4 Fix `IncomingViewingKey::to_bytes`
`slice::copy_from_slice` panics if the source and destination slices are
not the same length.

Closes zcash/orchard#228.
2021-11-17 12:12:20 +00:00
str4d d43ad00b8d
Merge pull request #223 from dconnolly/patch-1
Add `orchard::circuit::Instance::from_parts()`
2021-11-17 11:12:16 +00:00
Deirdre Connolly 568e24cd5f Derive Clone for circuit::Instance 2021-11-04 23:30:57 -04:00
Deirdre Connolly 7412dfe79a
Update src/circuit.rs
Co-authored-by: str4d <thestr4d@gmail.com>
2021-11-04 17:54:30 -04:00