Hamy Ratoanina
42a821dfde
Add row index to constraint failure message ( #1598 )
2024-06-12 06:58:41 +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
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
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
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
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
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
Robin Salen
9f8c152222
Remove unused attributes
2023-08-02 08:54:20 -04: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
Brandon H. Gomes
5dfe1b412e
feat: add no-std support for starky
...
Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>
2022-11-04 16:04:10 -07:00
Brandon H. Gomes
fc3f63398d
wip: start moving starky to no-std
...
Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>
2022-11-03 12:17:03 -07:00
Brandon H. Gomes
e2cdd5a954
feat: upgrade Sampling APIs
...
Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>
2022-11-03 08:26:03 -07:00
Brandon H. Gomes
6fd0da216a
fix: remove unstable features from plonky2
...
Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>
2022-11-02 17:50:31 -07:00
Daniel Lubarov
b6d71a7008
Keccak benchmark
...
And reworking things a bit to include the timing data we want.
2022-09-23 10:54:17 -07:00
Daniel Lubarov
d7d50e9d5a
Minor
2022-09-19 23:04:53 -07:00
Daniel Lubarov
5d4d81c29f
Shape check in starky
2022-09-19 21:41:24 -07:00
Daniel Lubarov
dbce356818
Validate the shape of each proof
2022-09-19 17:37:18 -07:00
wborgeaud
a930c1a823
s/l1/l0
2022-09-12 08:09:17 +02:00
Sladuca
ca35502660
fmt
2022-08-19 17:54:48 -04:00
Sladuca
ff961a34a3
fix lost evals when P::WIDTH > 0
2022-08-19 17:39:55 -04:00
Sebastien La Duca
e48bfa837f
fmt
2022-07-24 18:06:03 -04:00
Sebastien La Duca
c9d610ec10
use maybe_rayon in starky and evm
2022-07-24 17:47:14 -04:00
Daniel Lubarov
e73d01a037
packed_field -> packed (#584 )
...
* `packed_field` -> `packed`
For cleaner imports; "field" is usually clear from context
* fix
2022-06-27 15:07:52 -07:00
Daniel Lubarov
3346d3f902
field_types -> types (#583 )
...
* `field_types` -> `types`
Here too, I think "field" is usually clear from context, e.g. in `use plonky2::field::types::Field;`.
* fixes
* fmt
2022-06-27 12:24:09 -07:00
Daniel Lubarov
410e03349c
extension_field -> extension (#581 )
...
It seems redundant in most contexts, e.g. `use plonky2::field::extension_field::Extendable;`. One could import `extension_field`, but it's not that common in Rust, and `field::extension` is now about as short.
2022-06-27 07:18:21 -07:00