Commit Graph

1109 Commits

Author SHA1 Message Date
Jack Grigg 70b6eb3623 Simplify witness synthesis for `v_net`
`NoteValue - NoteValue` is always guaranteed to produce a valid
`ValueSum`, so we make that infallible and introduce a new helper method
`ValueSum::magnitude_sign` that we use for circuit synthesis.
2022-04-29 20:03:17 +00:00
Jack Grigg 714f2e7159 Use `array::map` now that our MSRV supports it 2022-04-29 18:04:01 +00:00
Jack Grigg ae6a50611a Pass `g_d_new` and `pk_d_new` directly to `Circuit`
The initial Action circuit specification indicated that only the byte
encodings of `g_d_new` and `pk_d_new` would be witnessed, but we ended
up witnessing the points directly instead. This commit removes the
leftover (and now redundant) encoding-decoding round trip.
2022-04-29 18:04:01 +00:00
Jack Grigg f08a2a35c4 Rename `ak` to `ak_P` in the circuit implementation
Closes zcash/orchard#260.
2022-04-29 18:04:01 +00:00
Jack Grigg 2fc9dc814d book: Fix TODOs on Actions design page
Closes zcash/orchard#78.
2022-04-29 18:04:01 +00:00
Kris Nuttycombe 68882c72d2
Merge pull request #317 from zcash/71-rename-bundle-authorization
Rename `Bundle::{try_}authorize` to `Bundle::{try_}map_authorization`
2022-04-29 10:38:22 -06:00
Jack Grigg 200c366ea4 Rename `Bundle::{try_}authorize` to `Bundle::{try_}map_authorization`
Closes zcash/orchard#71.
2022-04-29 00:16:16 +00:00
str4d b6a69cdfdc
Merge pull request #316 from zcash/no-std-prep
Preparations for `no-std` support
2022-04-29 00:13:49 +01:00
Jack Grigg 5c5c999439 Move `orchard::bundle::Action` to its own module
The `Bundle` struct is variable in size and requires allocations, but
`Action` is not. This split will make it cleaner to disable the bundle
logic for no-std support.
2022-04-28 22:59:07 +00:00
Jack Grigg 4ec036c851 Remove unnecessary usage of `Vec` 2022-04-28 21:26:23 +00:00
Jack Grigg 30f9452743 Replace unnecessary usage of `std::io` 2022-04-28 20:45:05 +00:00
Jack Grigg b1ce38405a Use `core` instead of `std` where possible 2022-04-28 20:20:23 +00:00
str4d 62ca755e38
Merge pull request #251 from zcash/update-halo2-constraints-helper
Migrate to `halo2::plonk::Constraints` helper
2022-04-28 21:12:28 +01:00
Jack Grigg 52449ef88f Migrate to `halo2::plonk::Constraints` helper 2022-04-28 19:52:55 +00:00
Kris Nuttycombe fbeaff4fd2
Merge pull request #315 from zcash/msrv-1.56.1-cleanups
Cleanups for MSRV 1.56.1
2022-04-28 12:21:04 -06:00
Jack Grigg 4574d4793a Migrate to 2021 edition 2022-04-28 17:23:30 +00:00
Jack Grigg 6339fca4cb pprof 0.8 2022-04-28 17:13:37 +00:00
Jack Grigg b08d6fc284 Set `rust-version = "1.56.1"` in `Cargo.toml` 2022-04-28 17:13:37 +00:00
str4d 5e98c7d54c
Merge pull request #277 from zcash/book-delete-gadgets
[book] Remove gadgets documentation.
2022-04-28 17:41:04 +01:00
therealyingtong e130643508 [book] Remove gadgets documentation.
The book now instead references the Halo 2 book for relevant circuit
documentation.
2022-04-28 16:27:43 +00:00
Daira Hopwood a1aa5bb12e
Merge pull request #202 from nuttycom/trivial_cleanup
Minor cleanup addressing issues found while performing review for zcash/zcash#5024
2022-04-15 05:25:20 +01:00
Daira Hopwood 3b52b2abec Minor cleanup found while performing review for zcash/zcash#5024
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-14 08:29:00 -06:00
str4d 330f492cb0
Merge pull request #312 from zcash/release-0.1.0-beta.3
Release 0.1.0-beta.3
2022-04-06 21:48:37 +01:00
Jack Grigg c39b6a5b7d orchard 0.1.0-beta.3 2022-04-06 20:29:56 +00:00
str4d ae773fde70
Merge pull request #311 from zcash/update-incrementalmerkletree
incrementalmerkletree 0.3.0-beta.2
2022-04-06 19:38:06 +01:00
Jack Grigg 06995064d7 incrementalmerkletree 0.3.0-beta.2 2022-04-06 18:19:39 +00:00
str4d 2c0aed712a
Merge pull request #308 from zcash/improve-debug-impls
Improve `Debug` impls
2022-04-06 18:59:33 +01:00
str4d 7c2cc814de
Merge pull request #288 from rex4539/typos
Fix typos
2022-04-06 18:23:17 +01:00
Jack Grigg 01d70ec875 Hide `NonEmpty` in `Debug` impl of `Bundle`
It is an implementation detail that isn't useful to include in the debug
output.
2022-04-06 17:22:18 +00:00
Jack Grigg caca664b20 Make `Debug` impl for `TransmittedNoteCiphertext` less verbose
We now print the ciphertexts as hex bytes, for which we unambiguously
encode them in RPC outputs (vs 32-byte values which are more complex).
2022-04-06 17:22:17 +00:00
Jack Grigg 6941fe1109 Make `Debug` impl for `Proof` much less verbose
For the default `{:?}` debug formatting we now only print the length of
the proof, while `{#?}` continues to print the full byte vector.
2022-04-06 17:21:48 +00:00
str4d 5b8690338e
Merge pull request #310 from zcash/update-deps
Update dependencies
2022-04-06 13:34:33 +01:00
Jack Grigg 6873782a48 Remove unused dependencies
Closes zcash/orchard#307.
2022-04-06 11:35:57 +00:00
Jack Grigg 3b5fb01218 Migrate to `halo2_proofs 0.1.0-beta.4` 2022-04-06 11:30:39 +00:00
Kris Nuttycombe 420d600f0e
Merge pull request #305 from zcash/fvk-scope
Add explicit scoping for viewing keys and addresses
2022-03-30 08:37:20 -06:00
therealyingtong eaa0cfdbf6 Check that the internal IVK can be derived from a spending key
Co-authored-by: Jack Grigg <jack@electriccoin.co>
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-03-30 20:49:38 +08:00
therealyingtong e550c3d536 Check IVK derivations during FullViewingKey::from_bytes.
Closes zcash/orchard#303

Co-authored-by: Jack Grigg <jack@electriccoin.co>
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-03-30 20:49:38 +08:00
therealyingtong a0424984c6 Add explicit scoping for viewing keys and addresses
Co-authored-by: Jack Grigg <jack@electriccoin.co>
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-03-30 20:49:37 +08:00
str4d cbe032f3d4
Merge pull request #302 from zcash/release-0.1.0-beta.2
Release 0.1.0-beta.2
2022-03-22 23:56:13 +00:00
Jack Grigg 75aef252d2 orchard 0.1.0-beta.2 2022-03-22 21:29:36 +00:00
Jack Grigg 56a946dafc halo2_proofs 0.1.0-beta.3
The change to the pinned circuit description is due to removing the
unnecessary `selector_map` pin in zcash/halo2#521. This invalidates
previous proofs due to changing Fiat-Shamir transcript initialization).
2022-03-22 21:29:36 +00:00
Jack Grigg f9ddb46687 incrementalmerkletree 0.3.0-beta.1 2022-03-22 20:42:30 +00:00
str4d 43d38f5b97
Merge pull request #301 from zcash/non-consensus-changes-on-branchid-c4cd541e
Merge non-consensus changes
2022-03-22 19:42:35 +00:00
Jack Grigg d6d1dbea14 Update serialized proof test case for circuit changes 2022-03-22 17:59:56 +00:00
Jack Grigg 6c9ff19342 Merge branch 'main' into non-consensus-changes-on-branchid-c4cd541e 2022-03-22 17:55:59 +00:00
str4d 0ee6cf894f
Merge pull request #296 from zcash/commitivk-identity-error
spec.rs: Check that commit_ivk returns a nonzero base.
2022-03-17 22:27:27 +00:00
Jack Grigg 72b6febf7b Move zero-handling from inside CommitIVK to outside it
This more closely matches the change to the protocol spec.
2022-03-17 18:51:33 +00:00
str4d e14a923a9d
Merge pull request #300 from zcash/add-orchard-serialized-proof-test-case
Add serialized proof test case
2022-03-17 05:00:57 +00:00
Jack Grigg 795fb78d2d Add serialized proof test case
Co-authored-by: Sean Bowe <ewillbefull@gmail.com>
2022-03-16 19:47:00 +00:00
Jack Grigg 5356804bfe Update comment in `spec::commit_ivk` 2022-03-15 23:26:57 +00:00