Jack Grigg
47061ade3d
dev: Report indices of unsatisfied constraints
...
Now that gates may contain multiple constraints, we need to inform
developers about which specific constraints are failing within gates.
2021-06-04 03:46:08 +01:00
Jack Grigg
0f0dd8a26c
Allow multiple polynomial constraints per gate
...
This enables a gate such as ECC complete addition to define its
constraints in terms of a common set of queried columns.
2021-05-27 15:01:46 +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
Jack Grigg
266badf25c
MockProver: Return all constraint failures, not just first
2021-05-18 16:32:15 +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
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
therealyingtong
6f199d3b2f
[tmp] Block quote SHA256 example
2021-05-04 11:14:32 +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
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
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
therealyingtong
7524c95547
Clippy fixes
2021-04-26 08:53:43 +08:00
therealyingtong
cd3cc543cf
Update examples and tests
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
Jack Grigg
a130edaade
Remove metrics crate and inline modelling
...
It is causing problems in (some) downstream crates, and we won't want
these annotations in the codebase anyway if a downstream crate is
collecting metrics. We'll be replacing this with the cost model binary
in https://github.com/zcash/halo2/pull/225 shortly.
2021-03-03 23:13:34 +00:00
Jack Grigg
a688c8b03d
sha256: Fix / silence lints
2021-02-25 20:34:07 +00:00
Jack Grigg
e41fd7ca12
Move SHA-256 gadget and chip into examples
2021-02-25 20:01:44 +00:00
Jack Grigg
ed26c8924c
Use Selector in simple-example
2021-02-25 15:40:49 +00:00
str4d
9467a03ae2
Merge pull request #209 from zcash/ecc-gadget-fixedpoints
...
Store `Loaded` chip state in chip
2021-02-26 04:24:28 +13:00
therealyingtong
4f17322c2d
Allow Chip::load to return state that the Layouter will hold
...
This enables chips that e.g. want to load multiple lookup tables into
the same columns to store state about where each table was layed out.
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2021-02-24 23:28:18 +08:00
therealyingtong
4ae21a905d
Update tests
2021-02-24 00:21:12 +08:00
therealyingtong
5a341b0f8f
Modify Assignment::copy() to take Column<Any> instead of usize
2021-02-24 00:18:22 +08:00
therealyingtong
d82a0c85b1
Modify Assignment::copy() to take Permutation instead of usize
2021-02-24 00:17:29 +08:00
therealyingtong
340fb2b6df
Move Permutation struct from crate::circuit -> plonk::circuit
2021-02-24 00:17:29 +08:00
Jack Grigg
b4ed5295fe
Migrate to group traits
...
The `Curve` trait is now `CurveExt: group::prime::PrimeCurve`, and
`CurveAffine` is now `CurveAffine: group::prime::PrimeCurveAffine`.
There is no `CurveAffine` trait in `group`, and it's a widely-used
trait in this crate, so we don't rename it to `CurveAffineExt`.
2021-02-22 20:20:23 +00:00
therealyingtong
d8534e1c50
Pass Expressions to meta.lookup()
2021-02-18 15:41:35 -07:00
therealyingtong
a19dc68dee
Use Column<Any> in Permutation::Argument
2021-02-17 21:32:17 +08:00
Daira Hopwood
760d69bd2c
Rename "auxiliary column" to "instance column" in the book and in code. fixes #181
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-14 21:09:49 +00:00
ebfull
9fc45ad11e
Merge pull request #163 from zcash/region-helpers
...
Helpers for implementing regions
2021-02-12 10:03:39 -07:00
Jack Grigg
24eb3500cb
examples: Fix typo
2021-02-12 15:53:04 +00:00
Jack Grigg
b3f85d3e69
examples: Reflow simple-example.rs comments for easier reading in book
2021-02-12 15:53:04 +00:00
Jack Grigg
425c45d96b
book: Add a simple example showing how the API is used
2021-02-08 15:56:16 +00:00
Jack Grigg
5905230174
Fix stable clippy lints
2021-02-05 16:48:41 +00:00
Jack Grigg
0a378c3d0f
Require Circuit::Config implement Clone instead of Copy
2021-02-01 19:05:19 +00:00
Jack Grigg
3c1132ec59
Add halo2::dev::circuit_layout behind dev-graph feature flag
...
This method renders circuits as tables, showing how the various regions
within them have been layed out.
2021-02-01 18:38:20 +00:00
Jack Grigg
82da677add
Add name field to ConstraintSystem::create_gate
...
The name has type `&'static str`, as gates apply to every row and thus
do not require any runtime information to name.
2021-02-01 18:38:13 +00:00
Jack Grigg
4c3adf59d5
Add annotations to Region::{assign_advice, assign_fixed}
...
This enables circuits to annotate individual cells with variable names
or similar protocol-specific metadata.
2021-02-01 18:33:25 +00:00
therealyingtong
48bfea9782
Replace DummyHash with BLAKE2b
2021-02-02 00:53:53 +08:00
therealyingtong
de86391f0e
Update test to pass multiple ConcreteCircuits
2021-01-31 11:48:32 +08:00
therealyingtong
58479fbcc3
Refactor keygen to generate pk from vk.
2021-01-24 08:07:30 +08:00
Kris Nuttycombe
74b2aa715f
Require Rotation instead of i32 for relative rows in circuits.
...
Co-authored-by: str4d <thestr4d@gmail.com>
2021-01-14 11:57:32 -07:00
Sean Bowe
c5e0364962
Remove the Read/Write type parameters from Transcript{Read,Write}.
2021-01-06 10:45:11 -07:00
Sean Bowe
dff5a3a692
Generate the URS using a homebrew mixture of blake2b and try-and-increment.
2021-01-06 10:45:11 -07:00