Sean Bowe
c05ceab04d
Switch 5 to 3 in benchmark.
2021-07-13 09:15:30 -06:00
Sean Bowe
9155cd174b
Introduce `set_minimum_degree` to avoid performance regression in benchmark.
2021-07-12 15:28:16 -06:00
Sean Bowe
fe215d153d
Update tests with API changes for public inputs and permutation argument.
2021-07-08 15:32:51 -06:00
Jack Grigg
e262941b70
clippy: Fix capitalized acronyms in tests and examples
2021-06-23 13:33:04 +01:00
Jack Grigg
6d0017f47c
Introduce a FloorPlanner trait and integrate it into the Circuit trait
...
This is the beginning of the process to enable full floor planning
capabilities in `halo2`. For now, all that a floor planner can do is
synthesize a circuit, which makes it no more powerful than a layouter,
but easier to use (as moving to a multi-pass layouter no longer requires
changes to `Circuit::synthesize`).
2021-06-22 23:47:17 +01:00
Jack Grigg
1b04877b3d
Migrate PLONK-gate-using circuits to use SingleChipLayouter
...
These were all early examples that used the Circuit trait without any
layouter, which is incompatible with upcoming changes.
The minimal change to the PinnedVerificationKey is because the lookup
table is being allocated at the top of its columns instead of in-place.
2021-06-22 00:22:12 +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
therealyingtong
ddde5f200c
Remove unused Challenge trait.
2021-05-25 00:55:34 +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
cd3cc543cf
Update examples and tests
2021-04-23 19:18:41 +08:00
therealyingtong
4ae21a905d
Update tests
2021-02-24 00:21:12 +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
Sean Bowe
a757bc4e43
Update hashtocurve benchmark
2021-02-19 15:52:11 +00:00
Daira Hopwood
fa3afc29bb
Add an implementation of simplified SWU hash-to-curve.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-19 15:52:11 +00:00
therealyingtong
e98dba8521
Update bench::plonk to work with multi-proof prover
2021-02-19 15:46:32 +08:00
therealyingtong
a19dc68dee
Use Column<Any> in Permutation::Argument
2021-02-17 21:32:17 +08: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
Sean Bowe
a2999accb5
Rename DummyHash{Reader,Writer} to DummyHash{Read,Write}.
2021-01-06 10:45:11 -07:00
Sean Bowe
06552eec44
Update the PLONK implementation to adapt to the new transcript API.
2021-01-06 10:45:11 -07:00
Sean Bowe
6c0e6f7348
cargo fmt
2020-12-03 13:59:17 -07:00
Sean Bowe
95e41fcfcf
Rename curves to Pallas/Vesta (Pasta).
2020-12-03 13:47:47 -07:00
Jack Grigg
cdbc41148a
Migrate to ff traits
...
The `Field` trait in this crate is now `FieldExt: ff::PrimeField`.
2020-12-01 20:55:03 +00:00
therealyingtong
3eb6712c6c
Add aux information to metrics
2020-11-24 09:39:34 +08:00
Sean Bowe
1f3fc875ab
PLONK benchmarks.
2020-11-23 12:47:42 +00:00
Jack Grigg
3407d13e4b
Move curves and fields into tweedle module
2020-11-12 21:36:59 +00:00
therealyingtong
7710b73bff
Rename 'plonk' benchmark to 'arithmetic'
2020-09-16 08:55:39 +08:00
therealyingtong
58708c2c20
Remove old 'double-and-add' benchmark
2020-09-16 01:07:45 +08:00
therealyingtong
d70c8cc0d7
Add benchmarks for shared double-and-add
2020-09-16 00:44:56 +08:00