* use new gkr API
* fix Table pointers
* refactor: remove removed test engine option
* chore: don't initialize struct for interface assertion
* refactor: plonk-in-wizard hardcoded over U64 for now
* refactor: use new gnark-crypto stateless RSis API
* test: disable incompatible tests
* chore: go mod update to PR tip
* chore: dependency against gnark master
* chore: cherry-pick 43141fc13d
* test: cherry pick test from 407d2e25ecfc32f5ed702ab42e5b829d7cabd483
* chore: remove magic values
* chore: update go version in Docker builder to match go.mod
---------
Co-authored-by: Ivo Kubjas <ivo.kubjas@consensys.net>
* fix race condition
* fix: add a mutex to avoid mem leak in quotient computation
---------
Co-authored-by: AlexandreBelling <alexandrebelling8@gmail.com>
* bump go-corset
* fix compile errors
* constraints: bump to v0.1.0-rc1 for beta-v1.2
* bump to latest go-corset
* constraints: bump to beta-v1.2 / v0.1.0-rc2
* bump go-corset
* bump zkevm bin
* use next power of two value for non-power of two size columns (e.g., MMIO)
* remove a check for the power of two size
* bump corset to 9.7.18
* bump zkevm.bin
* bump corset to v9.7.18
* update zkevm.bin
* added interleaved to the compilediop columns
* adjusted size for corset columns
* Prover/Codehash Non Power of Two Column Size (#618)
* Revert "adjusted size for corset columns"
This reverts commit b1a7319fa586319a04ba57f421f10b55492124ff.
* fixed bug and added panic message for a non power of two size column
* removing panic
* reinsteaded the panic
---------
Co-authored-by: gusiri <dreamerty@postech.ac.kr>
* adjusted size for corset columns
* constraints: bump to beta v1.2/v0.1.0-rc3
* update constraints version to rc3
* bump to latest go-corset
* apply hotfix for BLOCKDATA
* move NextPowerOfTwo unit test to utils
* add logs for adjusted columns with non-power of two size
* turn off trace version check
* fix golangcli-lint
* Prover/fix public input timestamps from new blockdata (#644)
* updated timestamp fetcher and arithmetization mock data for unit testing.
* fix(codehash): uses 0x0 for the codehash of non-existing accounts instead of the default EOA codehash
* fix(mimccodehash): unimport the rom codehash for initialization code
* fixup(execDataHash): revert the exec-data hash check
* timestamp byte change
* fix(execdatahash): adds the real blockhash in the execdata hash instead of 0x0
* fixup previous commit
* fixup(build): removes imports
* Revert "fixup(execDataHash): revert the exec-data hash check"
This reverts commit eb8d984e13fab627a853dc98b2c94980a7eed0b3.
* fix(consistency): adds a smaller size to the consistency module
* feat(mimc): alex -- mimc simplification -- start
* optimize factorExpression
* feat(exec): uses the ProveCheck in the execution proof
* Revert "feat(mimc): alex -- mimc simplification -- start"
This reverts commit 184771b92746070dedb5ca356ed81f989a3daea5.
* fix (public-input): changed the hashing method to match compression
* perf(mem): adds a detector for constant regular column.
* fixup(mem): support the edge-case for smartvectors of size 1
* fix(codehash): support the case where the ROM is empty
* feat(csv): adds a feature to rename columns when using fmtcsv
* fixup(codehash): supports the case where no codehash are available
* test(codehash): adds test for empty rom or statesummary
* fix(ss-connect): skip the integration connector test
---------
Co-authored-by: gusiri <dreamerty@postech.ac.kr>
Co-authored-by: Soleimani193 <azam.soleimanian@ens.fr>
Co-authored-by: Arijit Dutta <37040536+arijitdutta67@users.noreply.github.com>
Co-authored-by: Bogdan Ursu <bogdanursuoffice@gmail.com>
* 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
* 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>
* 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>
* 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
* 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
* disconnect the hub from the actual arithmetization
* adds the missing columns from the arithmetization
* fix invalid bound constraint for ecdsa
* adds the settings for all the modules
* deduplicating the columns names between sha2.packing and keccak.packing
* adjust the number of inputs for ecadd and ecmul
* sanity-checks against creating giant columns and giant range-checks
* more informative message about failing to split a global constraint
* fixing a mistake in the multi-limb cmp
* splitter: adding support for periodic sample with larger period
* ecpair: adjust the number of G2 check per circuit
* fix: generate missing twiddles for specific sis instances
* optime the FromAccessor verifier col to make it lighter
* fix: make all fields of ConstCol public
* serialization: add checks to panic when entering a private field
* factorization: remove false edge-case
* added logs for the artefact writing
* lookup: fix ensuring that the zCatalog are processed in deterministic order
* corset.go: remove deadcode
* artefacts: fix the file existence check in wizard.Artefact
* codehash: fix state-manager assignment code hash
* adds sha2 circuit
* ecdsa: fix a few bugs in the assignment part
* implements the tx-signature getter
* config: fix maximal value for the log level
* remove-me: making debugging simpler
* fixup + add some more informations
* batch-interpolate: fix the batch interpolation algorithm
* add more logs in the vortex prover
* fixup: remove the test acceleration
* vector builder: more friendly-message repush last on top of an empty builder
* public input: set the name in the settings automatically
* sha2: address the case where sha2 is never called
* keccak: remove trailing printf
* fix: sha2 failing test
* lookup: fix error message on lookup prover
* const-col: simplify the return of GetColAssignmentAt
* lane: address case where sha2 is never called
* mimccodehash: address the case where the codehash is empty
* multi-limbs: fix incorrect range query
* storage-peek: adjust the storage key decomposition to use less limbs
* fixup: remove trailing printf
* fixup: (from accessors) fix invalid getterAt
* more informative message for the projection queries
* log (dummy verifier): add a log when a query fails
* fix(nbZeroes): address the case where the number of inputs is zero
* fix(sha2): address the case where sha2 is not called
* fix(state-summary): address the fact that read|readzero follow a different pattern of account traces
* fix(state-summary): change the ordering in the state-summary
* fix(mimcCodeHash): reverse the direction of the lookup
* chores(inclusion): make the error more comprehensive by listing all the missing rows
* feat(state-manager): adds constraints for ensuring writes happen after reads
* feat(compressor): revert to the old way of hashing
* fix: comment out the checks that are pertaining to assessed issues in the arithmetization
* chores(projection): sends more insightful logs in the projection query
* style(ecdsa): remove nbTxs from assignTxSignature
* fix(vortex): adds a missing column ignoral
* adding new SIS parameters to the test
* feat(vortex): change the default SIS parameters
* chores(fs): skip the fiat-shamir update when running in dummy.Compile
* fix(vortex): bug when handling shadow columns
* fix(gnark-interpolation): better handling of constant terms
* fix(public-input): fix wrong query addressing
* fix(execution): change the structure of the circuit builder
* fixup
* feat(setup): change the ordering of the circuit generation
* fix(execution): allocate explicitly the L2 message hashes
* fixup
* fixup: remove debugging line
* fix(s3): change the line in the makefile to use include/exclude
* fix(circuit): fix incorrect assignment function
* fix(execution): correct the FinalBlockNumber assignment
* fix(execution): adjust the hashing of the L2 message hashes
* fix the assignment of modexp
* rm gitignore