str4d
c73695188b
Merge pull request #565 from zcash/ci-fix-bench
...
CI: Fix Rust version used for benchmarks
2022-04-29 01:26:09 +01:00
Jack Grigg
6ff065c58c
CI: Fix Rust version used for benchmarks
2022-04-29 00:20:58 +00:00
ebfull
0c33fa4e6e
Merge pull request #564 from zcash/482-msrv-1.56.1
...
Set MSRV to 1.56.1
2022-04-27 13:05:12 -06:00
Jack Grigg
aa4639e6e7
Temporarily revert `resolver = "2"`
...
This breaks WASM bitrot checks, because it causes the regular
dependencies to be built without the `getrandom/js` flag that we
currently only enable for dev-dependencies. We can revert this once we
have a more reliable way to test WASM compatibility.
2022-04-27 16:53:38 +00:00
Jack Grigg
fdc6c9df19
halo2_gadgets: pprof 0.8
2022-04-27 12:58:16 +00:00
Jack Grigg
f4675997bc
Fix some clippy lints
2022-04-27 12:58:16 +00:00
Jack Grigg
e3f1bf68db
halo2_gadgets: Remove usage of `array::IntoIter::new`
...
Rust 2021 implements `IntoIterator` for arrays directly, instead of only
references to arrays.
https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html
2022-04-27 12:56:54 +00:00
Jack Grigg
f830c6f7fb
Remove pins for dependencies with MSRV-incompatible point releases
2022-04-27 12:28:19 +00:00
Jack Grigg
bb1ed8288a
Set edition to 2021
...
We also set `resolver = "2"` on the workspace; this is the default for
the root package in Rust 2021, but as we use a virtual workspace we need
to explicitly set it instead.
2022-04-27 12:28:19 +00:00
Jack Grigg
7688c371f6
Bump MSRV to 1.56.1
...
Closes zcash/halo2#482 .
2022-04-27 12:24:57 +00:00
ebfull
5f867336eb
Merge pull request #556 from zcash/migrate-chip-gates-to-constraints-helper
...
halo2_gadgets: Migrate chip gates to `Constraints::with_selector`
2022-04-26 12:28:04 -06:00
ebfull
26c604ddf9
Merge pull request #561 from ebfull/proof-fixups
...
Minor typos and fixes in security proof
2022-04-25 13:43:31 -06:00
Sean Bowe
1ea7aa1b89
Fix order of \epsilon bound.
2022-04-25 13:40:31 -06:00
Sean Bowe
05b8b77500
x -> x_3 rename in zero knowledge section.
2022-04-25 13:38:58 -06:00
Sean Bowe
d420b7825a
Remove redundant mention of blinding factors
2022-04-25 13:36:28 -06:00
Sean Bowe
b46848eaa8
Fix upper bound of \epsilon.
2022-04-25 13:34:42 -06:00
ebfull
2498d65bd8
Merge pull request #560 from ebfull/soundness
...
Add draft of halo2 proofs to the formal protocol description in book
2022-04-25 12:26:43 -06:00
Sean Bowe
8e58245b75
Add draft of halo2 security proof to the formal protocol description
2022-04-25 11:59:29 -06:00
str4d
5d99f7d5a1
Merge pull request #558 from zcash/fix-rustdoc-deploy
...
CI: Pass the correct `katex-header.html` path to rustdoc
2022-04-25 01:16:50 +02:00
Jack Grigg
2cf0125c78
CI: Pass the correct `katex-header.html` path to rustdoc
...
The header was moved to fix docs.rs deployment, but the CI workflow
wasn't updated to account for this.
2022-04-24 23:14:45 +00:00
str4d
34b467b8e0
Merge pull request #557 from zcash/fix-mdbook-deploy
...
Fix Halo 2 book deployment
2022-04-25 01:06:22 +02:00
Jack Grigg
b866548c5f
Revert "CI: Pin nightly version in book workflow"
...
This reverts commit 53427d19db
.
Closes zcash/halo2#503 .
2022-04-24 22:59:39 +00:00
Jack Grigg
d43c8612a3
CI: Use `ubuntu-latest` runner for book workflow
...
The `mdbook` binaries are currently built using `ubuntu-latest`, meaning
can end up relying on newer versions of GLIBC. Until this is fixed
upstream (https://github.com/rust-lang/mdBook/issues/1779 ), we will use
the same runner configuration as them.
2022-04-24 22:57:02 +00:00
Jack Grigg
b02800466a
halo2_gadgets: Migrate chip gates to `Constraints::with_selector`
...
Only one gate couldn't be migrated without altering the Orchard circuit.
2022-04-24 22:13:38 +00:00
Daira Hopwood
66827f3df9
Merge pull request #544 from zcash/book-patch-vanishing
...
[book] Use more intuitive expression for vanishing poly degree
2022-04-22 16:46:39 +01:00
str4d
66b2b3ba7e
Merge pull request #414 from zcash/constraints-helper
...
Add a `Constraints` helper
2022-04-22 11:52:06 +02:00
str4d
f49f4d16f2
Merge pull request #552 from zcash/benchmark-fft
...
Add benchmark for various FFT sizes
2022-04-20 23:42:22 +02:00
Sean Bowe
a02b9e2e7e
Add benchmark for various FFT sizes.
2022-04-20 13:09:58 -06:00
Jack Grigg
d93846f8fd
Note that `Constraints::with_selector` accepts arrays from 1.53
2022-04-20 10:55:55 +00:00
Jack Grigg
78de8a5c94
Add a `Constraints` helper
...
There are two existing patterns for constructing a gate from a set of
constraints with a common selector:
- Create an iterator of constraints, where each constraint includes the
selector:
```
vec![
("foo", selector.clone() * foo),
("bar", selector.clone() * bar),
("baz", selector * bar),
]
```
This requires the user to write O(n) `selector.clone()` calls.
- Create an iterator of constraints, and then map the selector in:
```
vec![
("foo", foo),
("bar", bar),
("baz", bar),
].into_iter().map(move |(name, poly)| (name, selector.clone() * poly))
```
This looks cleaner overall, but the API is not as intuitive, and it
is messier when the constraints are named.
The `Constraints` struct provides a third, clearer API:
```
Constraints::with_selector(
selector,
vec![
("foo", foo),
("bar", bar),
("baz", bar),
],
)
```
This focuses on the structure of the constraints, and handles the
selector application for the user.
2022-04-20 10:55:50 +00:00
str4d
46ba444169
Merge pull request #480 from zcash/477-mockprover-pretty-failures
...
Add `MockProver::assert_satisfied` with pretty-printed failures
2022-04-20 12:53:16 +02:00
Daira Hopwood
a307bc4e2d
Merge pull request #551 from daira/daira-book-combining
...
[book] Add description of selector combining optimization. fixes #466
2022-04-19 15:38:11 +01:00
str4d
69c138c25c
Clarify some comments and messages
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-04-19 16:04:19 +02:00
str4d
606afb8349
Merge pull request #445 from daira/mockprover-regression
...
Fix mock prover performance regression for lookup arguments
2022-04-19 14:17:17 +02:00
Daira Hopwood
424a2748d1
Clarify a comment
2022-04-19 12:36:02 +01:00
Daira Hopwood
84f5c26b7f
[book] Add description of selector combining optimization.
...
fixes #466
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-18 20:19:26 +01:00
str4d
221766986b
Merge pull request #532 from zcash/bench-lookup-mockprover
...
Bench heavily padded lookup in MockProver.
2022-04-18 12:45:30 +02:00
str4d
19b2b3b7e2
Fix clippy lints
2022-04-18 12:25:58 +02:00
str4d
dc2e454aa2
Merge pull request #549 from zcash/patch-cost-model-lookup
...
cost-model.rs: Correct lookup required degree calculation.
2022-04-18 11:52:47 +02:00
ying tong
066bd15d7e
cost-model.rs: Correct lookup required degree calculation.
2022-04-14 16:25:52 +02:00
ying tong
8cb9226670
[book] Use more intuitive expression for vanishing poly degree
2022-04-10 17:10:51 +02:00
str4d
1e6bb51790
Merge pull request #540 from zcash/release-0.1.0-beta.4
...
Release halo2_proofs 0.1.0-beta.4
2022-04-06 12:23:23 +01:00
therealyingtong
75b5c1e923
halo2_gadgets 0.1.0-beta.3
2022-04-06 12:28:36 +08:00
therealyingtong
a11cb9796e
halo2_proofs 0.1.0-beta.4
2022-04-06 12:24:28 +08:00
str4d
95df0af86d
Merge pull request #537 from zcash/fix-stack-overflow
...
Reduce depth of AST by special casing the application of Horner's rule
2022-04-04 23:13:30 +01:00
Sean Bowe
6a31a0e6a1
Apply @str4d's review suggestions.
2022-04-04 14:07:31 -06:00
Sean Bowe
fa069a7455
Use unwrap_or_default() instead of unwrap_or(HashMap::new())
2022-04-03 10:06:19 -06:00
Sean Bowe
fd7e9ddbb0
rustfmt
2022-04-02 15:38:46 -06:00
Sean Bowe
4163b8765a
Reduce depth of AST by special casing the application of Horner's rule.
...
The existing code will fold together a very deep AST that applies Horner's
rule to each gate in a proof -- which could include multiple circuits and
so for some applications will quickly grow such that when we recursively
descend later during evaluation the stack will easily overflow.
This change special cases the application of Horner's rule to a
"DistributePowers" AST node to keep the tree depth from exploding in size.
2022-04-02 13:13:46 -06:00
Jack Grigg
0946bdb455
dev: Enable `VerifyFailure::Permutation` to point to region offsets
2022-03-30 01:39:50 +00:00