* bump to beta v2.1-rc16
* add a prover config file for devnet
* update srs url
* bump constraints to cbc6bcb and go-corset to v1.1.1
* use go-corset v1.1.1
* use go-corset v1.1.3
* feat(state-manager): insertion and ephemeral filters .
* chores(versions): align the constraints version
* chores(version): align the corset version
* chores(version): update the zkevm.bin
* chores(version): update the zkevm.bin
* fix(limits): removes discrepancy between the sepolia and the mainnet config file
* chores(release): update the verifier contracts
* testing(contract): updates the post-release testdata
* chores(contracts): update the contracts
* chores(constraints): updates constraints and corset to use the right value
* chores(mod): updates the corset dependency and zkevm.bin
* testing(contract): updates the testdata
* chores(config): update the sample config to use the right version
---------
Co-authored-by: gusiri <dreamerty@postech.ac.kr>
Co-authored-by: Bogdan Ursu <bogdanursuoffice@gmail.com>
* feat(state): connect the Hub and the StateSummary
* Merged main into prover/beta-v2
* constraints: bump to beta-v2.0-rc1
* use beta-v2.0-rc1 zkevm.bin generated by go-corset
* bump go-corset to v0.9.1
* fix go-corset compile errors
* bump constraints to beta v2.0-rc1.1
* go-corset v0.9.1 with metadata
* fix ReadZkevmBin error to align with go-corset v0.9.1
* add optimization level to CheckerZkEvm
* ReadZkevmBinadd detailed logs to
* feat(state-manager):adding arithmetization column names for ACP and SCP
* bump go-corset to v0.9.2
* fix go-corset v0.9.2 compatibility
* constraints: bump to beta-v2.1-rc1
* use zkevm.bin without 2B block gas limit for testing
* fix(state manager):batch numbers on prover side + updated 20-byte address calculation
* feat(go-corset): go-corset as submodule (#743)
* remove corset submodule
* add go-corset submodule
* use go-corst in Makefile
* use go-corset v0.9.2
* update go-corset submodule url
* fix(go-corset): typo in submodule url
* fix(state-manager): fixed Shomei issue through skippable traces + missing HUB processed address constraints + cosmetic refactoring
* fix(state-manager):fixed wrong begin/end markers for account segments due to skipped Shomei traces
* fix(state-manager): added an intermediary keccakcodehash column in state summary for the HUB connection + its constraints
* (bump prover/beta-v2 branch): constraints beta-v2.1-rc4 and go-corset v1.0.1 (#766)
- bump constraints from beta-v2.1-rc1 to rc4
- bump go-corset from v0.9.2 to v1.0.1
- this commit is to bump branch prover/beta-v2 branch to the latest verion of constraints and go-corsete without rebasing onto main
* fix(state-manager): account insertion's storage segments are excluded in the lookup from HUB to state summary.
* fix(state-manager): added missing constraints for the insertion edge case.
* (bump beta-v2 branch): constraints beta-v2.1-rc6 and go-corset v1.0.2
* fix(state-manager): address edge case for SSLOAD out of gas exception behavior that results in no traces on Shomei side, but rows on the HUB side.
* remove polluting changes
* fix(state-manager): address edge case for SSLOAD out of gas exception behavior that results in no traces on Shomei side, but rows on the HUB side, proper commit.
* fix(state-manager): address bug in the constancy constraint for the INSERT filter .
* minor(alignment): better error message when overflowing a precompile limit
* remove old v3 testdata to before merging origin/main
* bump: constraints beta-v2.1-rc10 and go-corset v1.0.3
* chore: remove unnecessary code
* revert pnpm-lock.yaml to main branch version
* update go.sum
* revert state-recovery/appcore/logic/build.gradle to main version
Remove the files to revert back to the main version. Its directory structure has changed.
Signed-off-by: Leo Jeong <dreamerty@postech.ac.kr>
* Revert "revert state-recovery/appcore/logic/build.gradle to main version"
This reverts commit 97f6c92230e511a66a29fd597bf059c9c003adfe.
* revert back to the mainnet build.gradle
* fixup(test): fix a test in the state-summary
* minor(csv): comment out the csv tracing
---------
Signed-off-by: Leo Jeong <dreamerty@postech.ac.kr>
Co-authored-by: AlexandreBelling <alexandrebelling8@gmail.com>
Co-authored-by: Bogdan Ursu <bogdanursuoffice@gmail.com>
* update `go-corset` to `v0.9.4`
* feat: add binfile / tracefile compatibility check
This adds a compatibility check between the zkevm.bin file and the lt
trace file. The compatibility check extracts the constraints commit
used to generate the respective asset, and ensures a match. If not, the
code panics with an error. Likewise, if the metadata is missing then
code will panic with an error.
* support "relaxed mode"
This intention here is to enable the strong compatibility check to be
disabled. It seems sensible to have an option to turn it off, and a
flag is added to the `bin/checker` to disable it.
* remove file-based constraints version check
* update to later version of `go-corset`
In order to allow embedded line count information (as requested
separately from this PR), go-corset now uses a structured form of
metadata. This simply updates this PR to use the revised API.
* rename "RelaxedMode" => "IgnoreCompabitilityCheck"
This simply renames the "relaxed mode" to something more direct, namely
"IgnoreCompatiblityCheck" which does what it says on the tin.
* update `go-corset` to v1.0.0
* add IgnoreCompatibilityCheck option to prover config
* remove unnecessary variable
* Update compatibility check to fail early on incompatibility
* add log when IgnoreCompatibilityCheck is enabled
---------
Co-authored-by: gusiri <dreamerty@postech.ac.kr>
This adds the option to run the checker in "bench" mode, and also adds support for passing a go-corset optimisation level via the bin/checker. The purpose of this is to enable testing at different optimisation levels to see what effect this has. Finally, it exposes the metadata stored in the zkevm.bin file, such that it can be used for cross-checking purposes. For example, the metadata includes the git commit of the enclosing repository when it was built.
---------
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>
* 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
* 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>
* 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
* 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