171 Commits

Author SHA1 Message Date
Robin Salen
f5a5845bc8
Observe public inputs (#1607) 2024-07-04 06:35:06 +09:00
Hamy Ratoanina
42a821dfde
Add row index to constraint failure message (#1598) 2024-06-12 06:58:41 +09:00
Robin Salen
217b4a272c
Clarify zk usage with starky (#1596) 2024-06-09 01:01:43 +09:00
nuno
42e048f45d
Allow multiple extra_looking_sums for the same looked table (#1591) 2024-06-05 03:10:46 +09:00
Matthias Görgens
8030ea43ff
Fix CTL generation of last row (#1585)
Not all `correct` cross table lookups use padding for the last row.
2024-06-01 22:15:53 +09:00
nuno
cfccc1b8b6
change set_stark_proof_target's witness to WitnessWrite (#1592) 2024-06-01 22:15:26 +09:00
Daniel-Aaron-Bloom
15836d9d8c
doc+fix: clippy::doc-lazy-continuation (#1594) 2024-05-29 07:20:44 +09:00
Matthias Görgens
246c4a6fcf
Fix verify_cross_table_lookups with no ctl_extra_looking_sums (#1584)
This used to fail with an out of bounds error when `None` was passed for
`ctl_extra_looking_sums`.
2024-04-27 00:35:02 +09:00
Matthias Görgens
ca362ee3d0
Remove restriction to binary-only multiplicities (#1577) 2024-04-27 00:32:41 +09:00
yanziseeker
56e1b98d32
Update unconstrained_stark.rs (#1578) 2024-04-22 22:54:03 +09:00
Matthias Görgens
72c1c90748
Remove obsolete function ceil_div_usize (#1574) 2024-04-19 22:00:03 +09:00
Robin Salen
76da138338
Bump versions pre-release (#1569) 2024-04-16 20:10:19 +09:00
Matthias Goergens
0731fec251 Simplify types: remove option from CTL filters
CTL filters can already express perfectly well the behaviour that we
gave for `None`.  No need to complicated anything.

Plus some random lint fixes that clippy demanded..
2024-04-15 17:14:54 +08:00
Bob Niu
3e89c7c24c refactor code 2024-03-22 16:22:05 +08:00
Hamy Ratoanina
54cee24b36
Bump versions pre-release (#1557) 2024-03-21 14:34:41 -04:00
Alonso González
4f8e631550
Prove Starks without constraints (#1552)
* Enable starks without constraints

* Clippy

* Add test stark without constraints

* Missing file

* Missing changes in the recursive side

* Fix bug with recursion

* Missing import

* Clippy

* Apply suggestions from code review

Co-authored-by: Robin Salen <30937548+Nashtare@users.noreply.github.com>

* Address reviews

* Fix TODO

* Apply suggestions from code review

Co-authored-by: Linda Guiga <101227802+LindaGuiga@users.noreply.github.com>

* More reviews

* Fix bug in eval_helper_columns

* Apply suggestions from code review

Co-authored-by: Robin Salen <30937548+Nashtare@users.noreply.github.com>

* Address reviews

* Allow <= blowup_factor + 1 constraints + reviews

* Add unconstrined Stark

* Missing file

* Remove asserts

---------

Co-authored-by: Robin Salen <30937548+Nashtare@users.noreply.github.com>
Co-authored-by: Linda Guiga <101227802+LindaGuiga@users.noreply.github.com>
2024-03-15 11:43:45 +00:00
Robin Salen
2a2becc415
Fix CTLs with exactly two looking tables (#1555) 2024-03-14 23:30:18 +09:00
Robin Salen
66127bcf73
Bump starky (#1549) 2024-02-29 22:54:08 +00:00
Robin Salen
44dc0f96ff
Add mention to versions in local dependencies (#1546) 2024-02-28 06:27:21 +00:00
David
16746f1ed7
chore: remove conditional compilation for debug_utils (#1540)
* chore: remove conditional compilation for debug_utils

* chore: update CHANGELOG
2024-02-23 09:39:10 -05:00
Robin Salen
c94dc6f858
Version bump pre-release (#1536)
* Bump versions

* Bump hashbrown and ahash accordingly

* Update changelog
2024-02-20 14:50:43 -05:00
Robin Salen
6c9588aaea
Update licenses and dependencies (#1534) 2024-02-19 07:35:51 -05:00
Ford
da85f1be36
typo (#1533) 2024-02-18 15:25:16 +00:00
Robin Salen
3ec1bfddb3
Update starky and leverage it as dependency for plonky2_evm (#1503)
* Update prover logic

* Add helper method for CTL data

* Some cleanup

* Update some methods

* Fix

* Some more fixes

* More tweaks

* Final

* Leverage starky crate

* Additional tweaks

* Cleanup

* More cleanup

* Fix

* Cleanup imports

* Fix

* Final tweaks

* Cleanup and hide behind debug_assertions attribute

* Clippy

* Fix no-std

* Make wasm compatible

* Doc and remove todo

* API cleanup and remove TODO

* Add Debug impls

* Add documentation for public items

* Feature-gate alloc imports

* Import method from starky instead

* Add simple crate and module documentation

* Apply comments

* Add lib level documentation

* Add test without lookups

* Fix starks without logup

* Cleanup

* Some more cleanup

* Fix get_challenges for non-lookup STARKs

* Add additional config methods and tests

* Apply comments

* More comments
2024-02-13 11:47:54 -05:00
Robin Salen
06444eaaf3
Switch permutation argument for logUp in starky (#1496)
* Switch permutation argument for logUp in starky

* Apply comments

* Refactor check_lookup_options

* Comments

* Add more visibility

* std -> core

* Revert "Add more visibility"

This reverts commit 2b4e50e0e7fc7676814b1bc1f4071d9ec0ab9d5c.

* Add more visibility to lookup items
2024-02-06 17:57:40 +00:00
Robin Salen
bb48cabdb1
Add math rendering with Katex (#1459) 2024-01-12 17:07:18 +01:00
Robin Salen
c2a73ad89f
Fix clippy (#1464) 2024-01-12 15:09:19 +01:00
David
a291d92c01
Merge pull request #1392 from 0xPolygonZero/dp-from_values-take-ref
`PolynomialBatch::from_values` takes refs
2023-12-19 12:14:10 +00:00
yanziseeker
43ecf1dff3 chore: fix some comment typos 2023-12-08 10:17:07 +00:00
Robin Salen
2d36559dad
Make some functions const (#1407) 2023-12-05 13:41:31 -05:00
David Palm
e68195fc0d
chore: Remove TODOs about from_values taking a reference 2023-11-30 15:10:34 +01:00
David Palm
37918cccfd
Revert "chore: from_values takes ref"
This reverts commit 7cc123e0a442d41a3610a57a2ee4f8008ef5811f.
2023-11-30 15:07:10 +01:00
David Palm
7cc123e0a4
chore: from_values takes ref 2023-11-29 09:09:36 +01:00
Matteo Muraca
605932d149
restore no-std support (#1335)
* perform test action on `x86_64-unknown-linux-gnu` and `wasm32-unknown-unknown`

Signed-off-by: muraca <mmuraca247@gmail.com>

* make `plonky2` build on `wasm32-unknown-unknown`

Signed-off-by: muraca <mmuraca247@gmail.com>

* make `starky` build on `wasm32-unknown-unknown`
small oversight on `plonky2` fixed

Signed-off-by: muraca <mmuraca247@gmail.com>

* skip `evm` folder if target is `wasm32-unknown-unknown`

Signed-off-by: muraca <mmuraca247@gmail.com>

* add `default: true` to toolchain

Signed-off-by: muraca <mmuraca247@gmail.com>

* skip `test` if target is `wasm32-unknown-unknown`

Signed-off-by: muraca <mmuraca247@gmail.com>

* single ticks instead of double

Signed-off-by: muraca <mmuraca247@gmail.com>

* explicit target

Signed-off-by: muraca <mmuraca247@gmail.com>

* wasm32 job

Signed-off-by: muraca <mmuraca247@gmail.com>

* added `--no-default-features` to checks

Signed-off-by: muraca <mmuraca247@gmail.com>

---------

Signed-off-by: muraca <mmuraca247@gmail.com>
2023-11-07 17:10:44 -05:00
bing
8326db604c
refactor: remove usage of unstable generic_const_exprs in starky (#1300) 2023-10-23 20:20:00 -04:00
BGluth
a02a2ecb97 Updated mir-protocol --> 0xPolygonZero
- Recently the underlying org name on Github changed to `0xPolygonZero`.
- This was causing some issues with dependencies downstream where a
  dependency pointing to the old org name was seen as a different
  dependency that was using the new org name.
- Using a `[patch] section in `Cargo.toml` was running into issues where
  we couldn't get it to get all dependency versions using a single org
  name.
2023-10-12 11:11:17 -06:00
BGluth
5936c67f59 Now refers to sub-crates using paths (and removed patch section)
- Previously refered to specific `crates.io` versions.
- Motivation for this is to allow external projects to be able use
  specific revisions of this repo. Without this, a `[patch]` section
  is almost always required in the external project in order to force
  the internal plonky2 sub-crates to the same version, an approach which
  comes with its own issues.
2023-09-07 16:36:38 -06:00
Robin Salen
9f8c152222
Remove unused attributes 2023-08-02 08:54:20 -04:00
Nicholas Ward
8432195517 update versions in cross-crate references 2023-07-31 16:34:27 -07:00
Nicholas Ward
3a55602909 update versions for crates.io updates 2023-07-31 16:31:22 -07:00
dependabot[bot]
5d513207ef
Update itertools requirement from 0.10.3 to 0.11.0
Updates the requirements on [itertools](https://github.com/rust-itertools/itertools) to permit the latest version.
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-itertools/itertools/compare/v0.10.3...v0.11.0)

---
updated-dependencies:
- dependency-name: itertools
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-13 23:00:00 +00:00
Nicholas Ward
14c4011593
Revert "clippy fixes" 2023-07-07 12:16:43 -07:00
Nicholas Ward
0fec1124a3 update itertools 2023-07-05 17:30:47 -07:00
Hamish Ivey-Law
2c5f6fd62a
Fix compile time problems and generic hash implementation (#1024)
* Fix egregious magic number.

* Remove generic consts from core permutations.

* Remove redundant `where` clauses.

* Remove HashConfig and friends.

* Refactor Permutation code.

* Remove redundant `where` clauses and `use`s.

* Introduce AlgebraicPermutation to wrap `[Target; WIDTH]`s.

* Remove `generic_const_expr` feature from plonky2!

* Remove `generic_const_expr` feature from plonky2!

* Compile time fixed! Start removing `generic_const_expr` from evm.

* Remove redundant `where` clauses from Starky.

* Remove `generic_const_expr`s from benchmarks.

* Remove redundant HASH_SIZE `where` clause.

* Clippy.

* Fix unrelated OsRng issue in `bench_recursion`.

* Fix function doc.
2023-05-11 02:59:02 +10:00
Robin Salen
9ee47ab745
Move HashConfig into GenericConfig associated types 2023-04-01 09:54:14 -04:00
Robin Salen
e857c020bf
Make hash functions generic 2023-03-31 18:55:06 -04:00
Daniel Lubarov
2133c7f3ba Use new plonky2 2023-02-25 09:36:25 -08:00
Daniel Lubarov
ff80f28b93 Revert "Set CI to use an older version of nightly"
This reverts commit da23fb116b934925f8a5cf37c2f1f092452fdc4d.
2023-02-10 23:10:39 -08:00
Daniel Lubarov
137bc78565 Prep for publishing to crates.io 2023-01-30 13:18:06 -08:00
Daniel Lubarov
92974aa105 A few more cyclic recursion changes
In preparation for adding the zkEVM aggregation circuit. Mainly,

- Adds a `WitnessWrite` trait, a sub-trait of `Witness`, and move the write methods to it. `GeneratedValues` impls `WitnessWrite`, which lets generators like `DummyProofGenerator` access all our write methods like `set_proof_with_pis_target`. Also removes some duplication.

- Remove `set_cyclic_recursion_data_target` - now that dummy proof data is automatically populated, all that remains is populating `condition` and the cyclic proof + VK. I think it's easy enough for callers to do this; the steps are the same as with `conditionally_verify_proof`. This way there's no cyclic-recursion-specific API to learn about.

- Split `cyclic_recursion` into two variants, one which checks the current circuit or a dummy, and a more general one which checks the current circuit or some other circuit. We can use the latter to build a more efficient aggregation circuit, where we check another aggregation proof or an EVM proof, with no dummy proofs involved.
2022-12-11 22:43:26 -08:00