* clean(prover): more hilo into zkevm/prover/common
* feat(codehash): implements the module connecting the codehash and the statesummary
* clean(ss): apply the changes for the statesummary
* feat(rand): moves everything to use rand/v2
* feat(csv): adds WriteExplicit
* feat(codehash): implements the consistency module
* fix(rng): Int31n -> Int32N
* fix(lint): pass the use of test-rng
* clean: clean one of the comment to remove debugging data
* fix(test): fix conversion test and also simplify the use of rng
* feat(codehash): enable the codehash consistency module
* reconnect the execution data hasher with the public input
* revert the rand/v2 for the testcase-gen of the contracts
* fix: set inputresult only once
* fix: copy only actual inputs going to pairing (no trivial pairs)
* fix: non-exclusive G2 membership or pairing check
* fix: enable index consistency check when interleaved G2 membership
We may interleave in the same rows the G2 membership and pairing check
inputs. Currently when we have interleaved then we disable the index
consisitency check.
* fix: do not project pair IDs and total pairings
* fix: add constraint to check totalpairs correctness
* test: add IS_RESULT column to test cases and uniform reformat
* feat: allow outputting CSV in hex
* feat: add utility method to write the module
* test: check also IS_RESULT in test cases
* test: add test case modules
* test: add regression test case
* feat: add testdata generator for ecpair
* feat: add tests for manual generation of EC edge cases
* fix: accumulator consistency assignment in case of one valid point
* docs: describe assignment
* fix: indexing when non-sequential valid points
* test: run tests on generated data
* feat: generate all cases for 1-5 input pairs
* test: skip long tests
* fix: test imports
* enable ecpair
* perf: parallelize testcase testing
---------
Co-authored-by: gusiri <dreamerty@postech.ac.kr>
* feat(setup): run setup in deterministic order
* fix(pubinp): fix the public input names
* fix(gate-wire): bumps gnark's version to incorporate the fix
* feat(dummy): the dummy prover does not change the columns status anymore
* tmp(ecpair): deactivate the ecpair module
* (feat): Implements the full-recursion and test for a simple test
* msg(sticker): better error in the sticker
* test(full-recursion): adds a test for double full-recursion (overflowing memory)
* fix: sort out the packages after rebasing
* fix(pi): renaming of the public inputs
* fix(hasher): adjust the code to using a [hash.StateStorer]
* fix(pairing): pass the new format for fp12 elements
* doc(plonk): adds more doc in plonk.alignment.go
* doc(fs-hook): improves the documentation of the FiatShamirHook field.
* docs(skipping): adds doc on the ByRoundRegister
* feat(pubinp): move the zkevm public inputs to using the new public-input framework
* doc(column-store): adds documentation for the more precise methods regarding the inclusion in the FS transcript.
* clean(self-recursion): remove the self-recursion tuning file
* doc(vortex): explain the separation between the verifier steps
* doc(full-recursion): documents the prover and verifier actions
* doc(columns): improve the documentation on the IncludeInProverFS
* edit Makefile
* edit prover Makefile to capture tracefile dep.
* added prover arithmetization version validation check
* added regex check for conflated trace files
* add log msgs to prover validation checks
* add check for traces engine version and conflated trace file
* impl soft changes
* impl soft changes and replace zkevm.bim with version from main branch
* replace config-sepolia-full.toml with the version from main branch
* undo change to set the conflate dir to default value
* fix typo in comments
* embed constraint version files at compile time
* update regex check to include optional dir path in trace file
* fix(execution): assigns the functional public inputs
* revert(execution): reinstate the panic if the traes do not match the checksum.
* clean(circuit): remove the systematic circuit profiling
* fix(pi-interconnection): fix the check on the aggregation circuit
* chores(prover): remove the overly verbose log
* chores(zkevm.bin) commit the updated zkevm.bin
* fix(public-input): point to data_hilo instead of addr_hilo
* fixup: pi-interconnection fix in the circuit and the assignment
---------
Co-authored-by: Arya Tabaie <arya.pourtabatabaie@gmail.com>
* test and fix the encoding-decoding of transaction with an empty to
* fix typo
* readd the explicit test case
* fix: move decompressBlob out of the "no-CI" build tag
* fix tag confusion
* Fix prover libs CI release (#450)
* prover: try to fix native libs arm build
---------
Signed-off-by: AlexandreBelling <alexandrebelling8@gmail.com>
Co-authored-by: Arya Tabaie <arya.pourtabatabaie@gmail.com>
Co-authored-by: Pedro Novais <1478752+jpnovais@users.noreply.github.com>
* fix(execution): a few fixes in the wizard verifier
* feat(dict): pass the dict path from config
* fix: makeBw6Proof returns circuitID instead of -1
* fix(circuitID): make bw6Proof returns the circuitID
* fix(config-testing)
* feat(config): sepolia-full uses full aggregation
* style(naming): renaming the rolling hash fields and documenting the checks in pi-interconnection
* feat: flag for target number of constraints
* fix refactoring oversight
---------
Co-authored-by: Arya Tabaie <arya.pourtabatabaie@gmail.com>
* fix rolling hash updates in collectFields
* fix initial rolling hash in piq
* fix assignment rolling hash logic
* docs give names to all checks
* docs point out checks in circuit
* refac check for chain id etc first
---------
Co-authored-by: Arya Tabaie <15056835+Tabaie@users.noreply.github.com>
Co-authored-by: AlexandreBelling <alexandrebelling8@gmail.com>
* fft optimization: used parallel approach from gnark-crypto
* following OmegaTymbJIep: Use atomic uint instead of the chan of uints in parallel task tracking
* Adding bitreverse from gnark-crypto
* Use atomic counter instead of uint chan to avoid locks
* Add test for AtomicCounter
* fixed build issues due to changes in keccak
* increase butterflyThreshold (because we now use kerDITNP_256 instead of kerDITNP_8)
* rollback butterflyThreshold
* adding check for nBTasks in parallel.execute
* using GOMAXPROCS instead of NumCPU
* adding execution pool
* fixed initializing thread pool
* adding ExecutePoolChunkyWithCache
* returning back from ExecutePoolChunkyWithCache to ExecutePoolChunky, adding ExecutePoolChunky to multi_to_single_point.go
* adding ExecutePoolChunkyWithAllocated
* replacing ExecutePoolChunky with ExecuteChunky in InitOpeningWithLC
* returning back ExecutePoolChunky in InitOpeningWithLC, adding additional ExecutePoolChunky into quotient
* replacing ExecutePoolChunky with Execute into quotient
* fix: removing redundant mainWg in multi_to_single_point.go
* fix multi_to_single_point.go councurency waitning, retry quotient with ExecutePoolChunky
* ExecutePoolChunky in opening_prover.go, rolling back quotient.go
* ExecutePoolChunky in multi_to_single_point.go
* removing mutexes from quotient
* Avoid redundant bigint allocations
* fixed pool - removing redundant
* fixed - removing redundant comments
* removing keccak optimization
---------
Co-authored-by: olegfomenko <oleg.fomenko2002@gmail.com>
Co-authored-by: Anton Levochko <hykakdela@gmail.com>
* feat(conf): adds a config field to explicitly set the dictionary path
* fix(typo): prover assets path
* fix(e2e): specifies an explicit dict path
* comment(dict_path): adds a comment stressing to not use the field outside E2E testing context.
* perf load setup in parallel to compilation and assignment
* style gofmt
* fix use waitgroup instead of channel
---------
Co-authored-by: Arya Tabaie <15056835+Tabaie@users.noreply.github.com>
* feat hash wrappers for testing
* feat not so strict hasher
* fix integrate flexible hashes into PI circuit
---------
Co-authored-by: Arya Tabaie <15056835+Tabaie@users.noreply.github.com>
* chore bring over changes from other branch
* chore: blocks as byte arrays not lists; tx.S <- 1
* build: update compressor lib release script by jpnovais
* docs and go generate
---------
Co-authored-by: Arya Tabaie <15056835+Tabaie@users.noreply.github.com>