140 Commits

Author SHA1 Message Date
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
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
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
38e467f1c0
chore: fix serde-cbor and run cargo-sort
Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>
2022-11-03 11:41:12 -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
Daniel Lubarov
19162db596 Tweak features 2022-09-07 15:10:40 -07:00
Sladuca
aa0f0f6e75 add other features back 2022-09-06 15:10:55 -04:00
Sladuca
e72152eed8 fix default features in starky & evm 2022-09-06 14:56:48 -04:00
Daniel Lubarov
8a8b3f36aa
Merge pull request #678 from proxima-one/fix-starky-avx
Fix starky avx
2022-08-21 12:06:39 -07: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
Daniel Lubarov
faa75178a2 MIT + Apache2 licenses 2022-08-15 07:43:00 -07: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
wborgeaud
918201d0f9 Fix new lints 2022-06-15 17:23:04 +02:00
wborgeaud
ccc9c024a2 Change some fn to take iterators instead of slices 2022-06-03 19:20:19 +02:00
wborgeaud
6f5c8e46f6 s/right/next 2022-06-02 23:55:56 +02:00
wborgeaud
b3f873c66a Finish test 2022-05-19 11:10:10 +02:00
wborgeaud
2bc5b24c52 Start 2022-05-19 10:22:57 +02:00
wborgeaud
17dfa8d713
Merge pull request #541 from mir-protocol/starky_multitables
Start of Starky multitable implementation
2022-05-18 14:35:00 +02:00
wborgeaud
7676f907bf Missed some 2022-05-17 11:15:53 +02:00
wborgeaud
b606d99e07 Use *_circuit suffix for gadgets 2022-05-17 11:04:35 +02:00
wborgeaud
e40276ef19 Compiles somehow 2022-05-05 17:14:21 +02:00