Jack Grigg
c0b7fa2007
Add nullifier field to `CompactAction`
...
Also reorders the fields to match the ZIP 244 order.
Closes zcash/orchard#243 .
2022-05-04 15:01:05 +00:00
Jack Grigg
3ccf27e519
Update `Builder::build` docs
...
Closes zcash/orchard#279 .
2022-05-04 14:57:08 +00:00
Kris Nuttycombe
a30caec124
Merge pull request #314 from nuttycom/feature/spend_minconf
...
Update incrementalmerkletree dependency version.
2022-05-04 08:15:49 -06:00
Kris Nuttycombe
4e3e469780
Update incrementalmerkletree dependency version.
2022-05-04 08:01:02 -06:00
Jack Grigg
b46e4822d2
Update comments on `gadget::note_commit`
2022-05-04 03:01:17 +00:00
Jack Grigg
903f9e8160
Adjust APIs of NoteCommit circuit impl to separate gadget and chip
...
The separation isn't quite complete, as we removed the `GateCells`
abstraction, but it makes the outer APIs clearer.
2022-05-04 03:01:17 +00:00
Jack Grigg
8f15db1d01
Inline `NoteCommitConfig::assign_gate`
...
After the previous refactors, the `GateCells` struct now serves no
purpose. We also make a few type safety improvements at the same time.
2022-05-04 02:05:57 +00:00
Jack Grigg
bf99f13282
Refactor NoteCommit message piece decompositions onto per-region structs
2022-05-04 02:05:57 +00:00
Jack Grigg
3ced2c9c0b
Refactor NoteCommit region assignment onto per-region structs
2022-05-04 02:05:57 +00:00
Jack Grigg
f7ed302547
Refactor NoteCommit gate configuration into per-region structs
2022-05-03 23:31:17 +00:00
Jack Grigg
c4bf8105f2
Use `AssignedCell<NoteValue, _>` for circuit note values
2022-05-03 23:24:48 +00:00
Jack Grigg
0bad10d3eb
Replace `UtilitiesInstructions` usage with a dedicated helper
...
The new helper enables returning typed `AssignedCell`s, rather than only
`AssignedCell<F, F>`.
2022-05-03 23:24:48 +00:00
Jack Grigg
314728aada
Update comments on `gadget::commit_ivk`
2022-05-03 23:24:48 +00:00
Jack Grigg
bd104360a7
Migrate to `halo2_gadgets::utilities::RangeConstrained` newtype
2022-05-03 23:24:48 +00:00
Jack Grigg
3e40780313
Adjust APIs of Commit^ivk circuit impl to separate gadget and chip
2022-05-02 12:36:37 +00:00
Jack Grigg
a491688944
Circuit cleanups and documentation
2022-04-29 20:24:52 +00:00
Jack Grigg
3b922f8f48
Extract a `ValueCommit^Orchard` gadget from the circuit
2022-04-29 20:05:00 +00:00
Jack Grigg
dafb357dc0
Extract a `DeriveNullifier` gadget from the circuit
...
This introduces an `AddChip` implementing field element addition on a
single row, precisely matching what the nullifier integrity constraints
were relying on.
2022-04-29 20:03:17 +00:00
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