178 Commits

Author SHA1 Message Date
Arya Tabaie
7a4d510111 Prover: fix compare initial and final values for the rolling hash in the pi-interconnection (#219)
Co-authored-by: Arya Tabaie <15056835+Tabaie@users.noreply.github.com>
2024-10-22 11:17:08 +02:00
Azam Soleimanian
303e581cf2 fixed the bug in PolyEval (#214)
* added *Pooled to the polyEval cases
2024-10-22 12:35:24 +05:30
Arya Tabaie
333bc7718b Fix: test PI Interconnection with Sepolia data (#208)
* feat better pi assignment error finding
* fix append to allL2MessageHashes
* feat relax rolling hash verification in circuit
* PR feedback: remove unit test

---------

Co-authored-by: Arya Tabaie <15056835+Tabaie@users.noreply.github.com>
Co-authored-by: AlexandreBelling <alexandrebelling8@gmail.com>
2024-10-21 19:48:40 +02:00
Azam Soleimanian
62438cb7e9 added verifier check in sticker, fixed the edge case in product (#204)
* added the verifier check for local opening
* fixed the edge case for product

---------

Co-authored-by: AlexandreBelling <alexandrebelling8@gmail.com>
2024-10-21 11:42:35 +02:00
Azam Soleimanian
8861b6dc00 fixing the round problem in the inner-product compiler (#201) 2024-10-17 15:11:22 +02:00
Azam Soleimanian
82ae143266 fixed multi column (#171) 2024-10-17 12:11:34 +02:00
Arya Tabaie
48e10012dc Prover: decompression prover input padding and error handling (#187)
* fix check for error first, then compare snarkHashes

* revert: ProveCheck already runs test engine when needed

* revert remove request file

---------

Co-authored-by: Arya Tabaie <15056835+Tabaie@users.noreply.github.com>
Co-authored-by: Leo Jeong <dreamerty@postech.ac.kr>
2024-10-16 21:59:44 +09:00
Ivo Kubjas
5a2ab95916 fix: add exclusive constraint for Miller loop and Final exp masks (#174)
* feat: add IsActive to Unaligned pairing data submodule

* feat: only unaligned g2 data or pairing data active at a time

* chore: use common constraint for pairwise exclusive columns

* fix: exclusive Miller loop and final exp masks

* fix: remove double constraints

* test: unaligned pairing data IsActive unit test

* chore: use common cs for accumulator masks

* chore: remove duplicate constraint

* chore: use unaligned pairing data IsActive

* fix: add constraints when zero-ness cannot be deduced from projection or other constraints
2024-10-16 11:34:19 +02:00
Ivo Kubjas
3c6219d407 fix: add binary constraints for accumulators first lines (#173) 2024-10-16 11:08:38 +02:00
Ivo Kubjas
9763bf23b1 fix: ensure IsActive column does not re-activate (#172)
* chore: use common constraints for binary

* chore: use common constraint for zero when inactive

* fix: enforce IsActive activation

* chore: use common constraint for binary

* chore: use common cs for zero when inactive

* fix: enforce activation constraints for ecdata antichamber
2024-10-16 10:29:46 +02:00
Azam Soleimanian
f9aa7e7d4d fixed the bug in the permutation (#155) 2024-10-15 10:14:04 +02:00
Azam Soleimanian
915cd4d3a7 Prover/splitter compiler (#74)
* ignore queries over the eligible columns
* adding the constraints
* fix the golangci-lint error
* organizing the package
* adding a missing verifier check
* support shifted version of verifier columns
* adding a test case for verifier columns
* readding the old splitter
2024-10-15 10:11:43 +02:00
Arya Tabaie
368e40424b Feat/autocompute nbkeccakf (#176)
* feat estimate maxNbKeccakF

* feat actual estimation

* docs todo

* fix extra room for padding

---------

Co-authored-by: Arya Tabaie <15056835+Tabaie@users.noreply.github.com>
Co-authored-by: Leo Jeong <dreamerty@postech.ac.kr>
2024-10-14 21:12:36 +09:00
Leo Jeong
37a2fb04e6 Prover: bump go-corset to the latest version (#160)
* bump go-corset to the latest commit

* disable typecheck

* fix error code 77 msg format

* fix missing String method error

* enable typecheck

* bump go-corset version

* gofmt and fix comments

* fix golangci-lint version to v1.61.0

---------

Co-authored-by: AlexandreBelling <alexandrebelling8@gmail.com>
2024-10-12 01:09:19 +09:00
AlexandreBelling
ac758f609b Fix/prover sepolia bugs (#163)
* fixes for the 257 issue
* add fix in ScanStream
* fix the tests related to change in NewHas
* fixed the antichamber test for correct index generation

---------

Co-authored-by: Soleimani193 <azam.soleimanian@ens.fr>
2024-10-10 17:21:48 +02:00
Leo Jeong
04c19242ee Prover: bump to beta-v0.8.0-rc3 (#150)
* constraints: bump to v0.8.0-rc3

* corset: bump to v9.7.14
2024-10-07 21:17:26 +09:00
Ivo Kubjas
c895052eb0 fix: target Solidity 0.8.26 (#75)
Co-authored-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>
Co-authored-by: The Dark Jester <thedarkjester@users.noreply.github.com>
2024-09-26 10:05:47 -07:00
Leo Jeong
ea17789655 chore: bump go-corset to latest version and tidy dependencies (#91)
* bump go-corset to latest version and tidy dependencies
* bump golang version from 1.22.2-alpine to 1.22.7-alpine
* fix maxNumBlock in packing test

---------

Co-authored-by: AlexandreBelling <alexandrebelling8@gmail.com>
2024-09-25 15:00:30 +08:00
AlexandreBelling
00b821e571 feat(partial): changes the structure of the partial prover (#92)
* feat(partial): changes the structure of the partial prover
* change the tag of the prover-v3
2024-09-25 14:51:46 +08:00
AlexandreBelling
bba9677418 Prover: all the fixes for beta-v1.a (#90)
* feat(limits): unhardcode the keccak limits
* limits(shomei): double the state limits
* fix(rlpaddr): uses the right stamp column for rlpaddr
* fix(ecpair): fix 1 invalid constraints and a bug in the assignment
* log(plonk): logs which circuit is failing in plonk-in-wizard
* log(projection): print a more informative message when a projection query fails
* feat(csv): adds more options to FmtCSV
* fix(mimc): removes a non-necessary constraint for mimc padding
* fix(mimc): address the edge-case where the mimc data size is a multiple of 31
* fix(sha2): uses the correct selectors to extract the sha2 hashes
* chores(makefile): dont recreate the zkevm.bin when linting or running the checker
* chore(make): adds the bin/checker in the .PHONY
* chores(cs): bump the constraints to rc7
* fix(arithmetization): fix invalid casting into a variable
2024-09-25 12:15:08 +08:00
Victorien Gauch
65f7000f99 chore(3704): Bump solidity version to 0.8.26 across the repository (#64)
* Bump solidity version to 0.8.26 across the repository

* Regenerated Verifiers

* bump solidity for other merged PRs

---------

Co-authored-by: thedarkjester <grant.southey@consensys.net>
Co-authored-by: The Dark Jester <thedarkjester@users.noreply.github.com>
2024-09-24 11:14:12 +02:00
Leo Jeong
a3e8dcea67 chore: go-corset error code 77 visibility(#86) 2024-09-24 16:52:42 +09:00
AlexandreBelling
7a46988e6c Prover: fix the txnrlp duplicated txnrlp bug (#80)
* fix(ecdsa): fix the txnrlp duplicated txnrlp bug
* fix(ecdsa): fix failing test for ecdsa
2024-09-24 00:28:03 +08:00
Azam Soleimanian
d0a25364ab Prover: stitching compiler (#39)
* scanning the compiler trace for the eligible column
* committing to the eligible columns
* replacing the eligible subcolumns with their stitching
* local opening constraints
* eligible expression for the compilation
* ignoring the queries over the eligible columns
* local constraints
*global constraints
* supporting the verifier col in the expression
* expanding the verifier columns per expression
* adding the verifier's checks for the very small columns
---------
Signed-off-by: Leo Jeong <dreamerty@postech.ac.kr>
Co-authored-by: Leo Jeong <dreamerty@postech.ac.kr>
2024-09-23 09:50:31 +02:00
AlexandreBelling
a37cc3317c ci(testing): skips the TestAggregationFewDifferentInners test (#78) 2024-09-23 15:17:22 +08:00
Leo Jeong
48547c9f3f Prover: fix type mismatch in TestOpBasicEdgeCases (#76)
* fix type mismatch in TestOpBasicEdgeCases

* fix gofmt
2024-09-21 03:29:58 +09:00
Leo Jeong
b2f0026b5c constraints: bump to v0.6.0-rc5 (#73) 2024-09-21 00:16:04 +09:00
Victorien Gauch
70d16abaf1 fix: dockerfile deprecated features issue (#71) 2024-09-20 14:05:28 +02:00
AlexandreBelling
e63c730d6d Prover: switch the go import path to linea-monorepo (#20)
* switch the go import path to linea-monorepo
* address every occurence to zkevm-monorepo
2024-09-13 15:10:04 +02:00
AlexandreBelling
347f3af6cf Prover linting: remove the G115 rule (#34) 2024-09-13 13:30:44 +02:00
AlexandreBelling
8f0b5083f4 remove corset flags from commands (#28) 2024-09-13 09:04:37 +01:00
Arya Tabaie
0f57a8def8 gopter test (#22)
Co-authored-by: Arya Tabaie <15056835+Tabaie@users.noreply.github.com>
2024-09-12 10:04:16 -05:00
AlexandreBelling
809dbe3fad Prover: fix compile error (#3929)
* feat(fft): adds the changes on the committed fft
* feat(fft): adds the changes related to vortex
* feat(pooled): adds changes related to the pooled smart vector
2024-09-11 02:52:20 -07:00
AlexandreBelling
f02851ce45 feat(vecops): adds vectorized operations (#3923) 2024-09-10 20:59:29 +02:00
AlexandreBelling
d079e98549 Prover: optimize memory allocations in symbolic expression (#3910)
* feat(pool): implements a multi-level caching system for the pool
* fix(sym): make sure that all the nodes are freed
* feat(pool): implements a DebugPool to debug leakage to gc
* feat(parallel): implements a channel based parallelization template
* test(pool): ensure that symbolic evaluation does not leak to gc
* fixup(par): adds a wg to the workload worker
* create an prover-checker that can be used for checking
* feat(check-only): adds a check-only mode in the config
* test(smartvectors): update the tests
* chores(makefile): rm corset flags from the unneeding commands
* remove the change on config-benchmark
* perf(pool): Use the pool for regular massive FFT workload
2024-09-10 20:58:55 +02:00
Arya Tabaie
daba463d77 Fix/aggregation integration test (#3909)
* refac moving some utils around
* perf remove profiling
* test change nCircuits to 10
* chore remove unnecessary func
* fix bw6 public input fed into bn254 proof

---------

Co-authored-by: Arya Tabaie <15056835+Tabaie@users.noreply.github.com>
2024-09-09 21:53:10 +02:00
Leo Jeong
8755f315a1 constraints: bump to v0.5.3-beta (#3915)
* constraints: bump to v0.5.3-beta
* bump to v0.5.3-beta
2024-09-09 21:48:58 +02:00
AlexandreBelling
f8b197fdc3 Prover: adds check-only mode (#3913)
* create an prover-checker that can be used for checking
* feat(check-only): adds a check-only mode in the config
2024-09-09 15:59:17 +02:00
AlexandreBelling
3f8c3751c1 Prover/corset integration (#3900)
* feat(corset): implements and test the constraint declaration
* feat: integrate all the changes in the wizard
* tmp(mod): points to the go-corset feature branch
* feat(corset) register interleaved columns
* chores(mod): uses latest go corset to include the optimizations
* disable the problematic linters
* ignore the arithmetization folder in the linting process
* adds zkevm.bin in the repo
2024-09-06 10:57:28 +02:00
AlexandreBelling
0432ab07b9 fix(state-manager): fix bug in the state-manager inspector (#3903)
* fix(state-manager): fix bug in the state-manager inspector
* fix missing config error
2024-09-06 10:47:11 +02:00
AlexandreBelling
72539a4b53 Prover: benchmark beta v1 (#3834)
* feat(bench): adds prover mode bench
* fixup: remove the prover-inner
* create a config for benchmark
* fix the CI tests
2024-09-05 19:33:08 +02:00
AlexandreBelling
a1137446d3 perf(gc): adds small optimization on the prover (#3886) 2024-09-05 17:05:13 +02:00
Arya Tabaie
eb9564edae Fix/simplify pi integration (#3837)
* fix simplified public input embedding

* update integration test

* build bump go-ethereum version

* fix pi setup in integration test

* feat dummy pi circuit

* refactor move ToVariableSlice to utils

* test small "integration test" for aggr

* fix max = 0 edge case for NewRange

* truncate cvks (unnecessary)

* build update gnark dep

* refactor simplify aggregation backend logic
2024-09-05 08:36:54 -05:00
Leo Jeong
dfb10dde9a constraints: bump to v0.5.2-beta (#3899) 2024-09-05 03:23:36 +09:00
Arya Tabaie
50a5d9b2d2 feat bypass wizard option (#3878)
* feat bypass wizard option

* docs mark unspecified wizard parameters

* revert add MockKeccakWizard back in

---------

Signed-off-by: Arya Tabaie <arya.pourtabatabaie@gmail.com>
Co-authored-by: Arya Tabaie <15056835+Tabaie@users.noreply.github.com>
2024-09-03 12:42:22 -05:00
Arya Tabaie
b14a1a5fea perf interconnection circuit to use gkr mimc by default (#3877)
Co-authored-by: Arya Tabaie <15056835+Tabaie@users.noreply.github.com>
2024-09-03 11:43:59 -05:00
AlexandreBelling
2cf3f8653d Prover: adds unit benchmark for symbolic expressions (#3885)
* bench(expr): Creates a unit-benchmark to help optimizing the expressions
* adds the cbor attribute
* commit zip file instead of the plain cbor object
2024-09-02 16:21:31 +02:00
AlexandreBelling
3e7c4976a1 Prover: optimize the global constraint evaluation (#3842)
* Implements an evaluation board and organizes the code to evaluate an expression
2024-09-02 16:13:44 +02:00
AlexandreBelling
60c831bb8c Prover: uses cbor instead of json for serialization (#3843)
* uses cbor instead of json for serialization
* fix(serialization):use deterministic encoding
2024-08-30 22:58:09 +02:00
Leo Jeong
5d10e91201 constraints: bump to beta v0.5.1 (#3862) 2024-08-30 15:49:10 +09:00