Commit Graph

724 Commits

Author SHA1 Message Date
Jack Grigg e19407a749 Expose selector enablement to the Assignment backends 2021-05-27 12:51:25 +01:00
Jack Grigg 52396aaffc Rename "virtual registers" to "virtual cells"
This name makes more sense at present, given the current API.
2021-05-27 12:08:58 +01:00
Jack Grigg f314fe0156 Track which "virtual registers" are queried for custom gates 2021-05-27 01:47:13 +01:00
Jack Grigg 6bf0803fd9 Add a plonk::Gate struct
This will make it easier to track additional gate-related metadata.
2021-05-27 01:25:22 +01:00
Jack Grigg 4a2d0a0287 Move query APIs from `ConstraintSystem` to a new `Registers` struct
This simplifies the API of `ConstraintSystem`, by only exposing query
APIs in the contexts they are required (during the creation of custom
gates or lookup tables).
2021-05-27 01:25:22 +01:00
Jack Grigg 353a07cef1 `ConstraintSystem::lookup`: Move lookup queries into a closure
This matches `ConstraintSystem::create_gate`.

At the same time, we bind the input and table expressions together as a
"table map" by requiring the closure to return a vector of tuples. This
ensures they are always the same length.
2021-05-27 00:53:31 +01:00
str4d d62afb19ac
Merge pull request #256 from zcash/fix-sha256-chip-config
Fix `sha256` example for new config abstraction
2021-05-26 23:01:19 +01:00
Jack Grigg 80993da1e6 cargo fmt 2021-05-26 22:52:03 +01:00
str4d da465bb718
examples: Remove some unnecessary clones 2021-05-26 22:49:18 +01:00
ebfull 870a2f1e8a
Merge pull request #242 from zcash/challenge-space
Add support for full-field challenge space
2021-05-24 11:11:30 -06:00
therealyingtong ddde5f200c Remove unused Challenge trait. 2021-05-25 00:55:34 +08:00
ebfull 25564c3e94
Merge pull request #269 from zcash/ci-fixes
CI fixes
2021-05-18 13:58:48 -06:00
Jack Grigg d58fed183c Fix warnings due to clippy::unknown_clippy_lints being renamed
We can remove these workarounds once our MSRV is 1.51+.
2021-05-18 20:19:54 +01:00
Jack Grigg 1bc824091f CI: Test against same Rust version as rust-toolchain 2021-05-18 20:19:54 +01:00
Jack Grigg 7cb2e6a954 book: Fix CI failure 2021-05-18 20:19:31 +01:00
str4d 318f2057d8
Merge pull request #268 from zcash/dev-all-failures
MockProver: Return all constraint failures, not just first
2021-05-18 20:11:34 +01:00
Jack Grigg 266badf25c MockProver: Return all constraint failures, not just first 2021-05-18 16:32:15 +01:00
str4d 7f451a0c64
Merge pull request #261 from zcash/fix-mockprover-lookup
[MockProver] Handle query rotations in lookups
2021-05-18 15:26:37 +01:00
str4d de883a4b8b
Formatting fixes 2021-05-18 15:26:23 +01:00
str4d c0e23e6d56
Merge pull request #225 from zcash/cost-model
examples: Add cost model
2021-05-18 15:19:35 +01:00
Jack Grigg a1c067e555 book: Add page describing developer tools 2021-05-18 14:51:54 +01:00
Jack Grigg f3120ea2d5 examples: Add verification time estimator 2021-05-18 13:54:05 +01:00
Jack Grigg f53ab478f6 examples: Add cost model for estimating proof sizes 2021-05-18 13:54:05 +01:00
therealyingtong fe2ab0bc7b Fix SHA256 example 2021-05-14 21:20:53 +08:00
therealyingtong b361559d50 [MockProver] Handle query rotations in lookups 2021-05-12 22:37:23 +08:00
therealyingtong a9c991d826 Remove Challenge128
Since we're currently using Blake2b as the hash function, we have
no need for Challenge128.
2021-05-07 22:34:00 +08:00
therealyingtong 502f0c85dc Input as associated type on EncodedChallenge
Use Input as an associated type instead of a type parameter, to
reduce infection

Co-authored-by: Sean Bowe <ewillbefull@gmail.com>
2021-05-07 22:21:54 +08:00
str4d cae6f6af72
Merge pull request #253 from zcash/chip-config
Move config responsibilities from `Layouter` to `Chip`
2021-05-04 04:36:22 +01:00
therealyingtong 6f199d3b2f [tmp] Block quote SHA256 example 2021-05-04 11:14:32 +08:00
str4d 71fae3cf0a
Merge pull request #259 from zcash/ci-lints
CI: Reduce noise of clippy lints
2021-05-03 23:48:29 +01:00
Jack Grigg f3b0705427 CI: Reduce noise of clippy lints
We move Clippy lints into separate workflows that only run either
directly on branches, or on trial-merges of PRs, to deduplicate the
lint annotations. We will still see stable lints duplicated in beta,
but that's fine.
2021-05-04 09:23:31 +12:00
ying tong da82ecb086
Apply suggestions from code review
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-05-03 22:16:40 +08:00
therealyingtong 0b102b13bc Explicit type ascription when calling squeeze_challenge_scalar
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-05-01 19:36:09 +08:00
therealyingtong 8807ac25fb Doc and clippy fixes 2021-05-01 09:46:41 +08:00
therealyingtong 32f011d52d Replace ChallengeSpace with EncodedChallenge API
Co-authored-by: Sean Bowe <ewillbefull@gmail.com>
2021-05-01 09:30:08 +08:00
therealyingtong 1f6b3c0014 Remove CellValue type 2021-04-28 20:39:08 +08:00
therealyingtong f3021beda6 Clean up anchors in simple-example.rs
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2021-04-28 12:36:37 +08:00
therealyingtong b2d42ef344 Remove superfluous clone() in doc example
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2021-04-28 10:57:51 +08:00
therealyingtong 21aaab20f6 Remove empty() methods from Config and Loaded traits
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2021-04-28 10:47:26 +08:00
Steven dda60a3630
Merge pull request #244 from steven-ecc/change-tgppl-to-bosl
Change TGPPL references to BOSL
2021-04-26 16:44:40 -07:00
Steven 7593ca66f0
Update Cargo.toml
Co-authored-by: ebfull <ewillbefull@gmail.com>
2021-04-26 16:44:32 -07:00
therealyingtong 7524c95547 Clippy fixes 2021-04-26 08:53:43 +08:00
str4d bb3af99524
Merge pull request #255 from zcash/patch-test-plonk-api
[tests] Update commitments in PinnedVerificationKey
2021-04-23 22:50:53 +01:00
therealyingtong 85c5f4412d Refactor Transcript API
- remove method to return a challenge in the base field
- let ChallengeSpace decide length of raw challenge instead of limiting it to u128

Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-04-23 19:18:41 +08:00
therealyingtong cd3cc543cf Update examples and tests 2021-04-23 19:18:41 +08:00
therealyingtong 1a61eaa5d9 Propagate type changes 2021-04-23 19:18:41 +08:00
therealyingtong 1a9baab55b Introduce ChallengeSpace trait with to_challenge_scalar() method.
This is implemented for the ChallengeScalarEndo and ChallengeScalarFull types.

Co-authored-by: Kris Nuttycombe <kris@electriccoin.co>
2021-04-23 19:18:41 +08:00
therealyingtong 03da010d6a [tmp] Comment out sha256 example 2021-04-23 17:40:43 +08:00
therealyingtong 3ad1c43fb8 Only keep config() and loaded() generic on Chip trait
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2021-04-23 17:40:43 +08:00
therealyingtong 40e7bec352 Move config responsiblities from Layouter to Chip trait 2021-04-23 17:40:43 +08:00