-
Notifications
You must be signed in to change notification settings - Fork 133
Prover: development branch of the limitless prover #813
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This reverts commit fdb2526.
* commit all ideas * added aggregator * initial framework added * added grand product query * Added initial framework of the grand prod query * module discoverer is added * added test for AddGdProduct * Prover action added * coin in grand product test, deriveName for GP added * Test with fragment added * added documentation --------- Signed-off-by: Arijit Dutta <[email protected]> Co-authored-by: AlexandreBelling <[email protected]> Co-authored-by: Soleimani193 <[email protected]>
* initial framework for lookup * added logderivative_sum query * added documentation * getting the multiplicity table from compild iop * added preparation for lookup * added IntoLogDerivationSum during the preparation * added the check for LogDerivativeSum query * added the test for LogDerivativeSum * moving two functions from wizardutils to the column package * adding module discoverer * added more methodes to module discoverer * test for distributing LogDerivSum passes without compiling the shares of LogDerivSum * test for distribution of the expressions passes --------- Co-authored-by: arijitdutta67 <[email protected]> Co-authored-by: AlexandreBelling <[email protected]>
* added the compiler for logderivativesum * testing the logderivativesum compilation
* adding size and zCatalog in the query --------- Co-authored-by: AlexandreBelling <[email protected]>
* replacing external coins and passing m columns to the module * added prover steps, test is passing * moved common functions to a new file * adding doc * polish the implementation (#523) * removing the round from zcatalog * better framework for testing * testing with a top-level compatibility --------- Co-authored-by: AlexandreBelling <[email protected]>
* adding size and zCatalog in the query * feat: polish the implementation * minor fix * minor fixes in the comments * Added compilation step for the grand product query * lint fix * unit test for grand product compilation is added * added bug fix * lint fix * added a bug fix --------- Signed-off-by: Arijit Dutta <[email protected]> Co-authored-by: AlexandreBelling <[email protected]>
* splitting a moule to segments * adjusting the expressions size for zcatalog * supporting the verifiercol in distributed inclusion
* feat(encode): implements an codex for column assignment * debug(col): add tests and debug the column assignment * experiment(encoding): adds a target to encode and decode zkevm assignment and benchmark * add lz4 compression library * add assignment serialization with compression * assign and encode in chunks instead of a file * calculate correct ser size * add num chunks variable * Revert "calculate correct ser size" This reverts commit 8ae74c6. * calculate and print the exact size of ser * add error handling for file write * add deserialization * refactor code * add compressChunks * refactor deserialize assignment * add hashWAssignment to check the hash of input and output * refactor SerializeAssignment * use logrus * remove cbor data size info * clean up logs * clean up logs for serialization * measure time taken for serialization * update logs * fix logs * set numChunks to the number of cores * skip profiling * add compression ratio * add a unit test --------- Co-authored-by: AlexandreBelling <[email protected]>
* generate lpp compilediop * generating coins from seed * coin generation on the verifier side * testing the coin equalities among different module-segments * adjusted inclusion compilation based on the seed
* added projection query * compiler for projection added * compiler added to arcane * removing cptHolter to math poly * shifted the no lint command --------- Signed-off-by: Arijit Dutta <[email protected]>
* crosse compiled iop for lpp * testing for distributed inclusion
) * feat(conglomeration): implements the context translation * feat(runtime): hides the verifier and gnark verifier runtime under an interface * feat(verifier): adds the require functionalities to the verifier runtime * feat(conglomeration): implements the pre-vortex verifier step * feat(conglomeration): implements the pre-vortex prover step * clean(vortex): remove the Dh field * feat(conglomeration): unifies the prover actions and verifier actions for every context * feat(conglomeration): fix the vortex capture * fixup(translator): make InsertCoin more helpful * feat(vortex): adds a prefix system for run.State objects * feat(conglomeration): adds the context recursion into the conglomeration * fix(fsHook): adds fsHook in the equalizer * feat(wizard): adds ExtractProof and RunProverUntilRound * rename(fs): rename long method to AllKeysInProverTranscript * feat(fs): adds a possibility to ignore FS columns explicitly * fix(typo): improves the doc for IsCommitToPrecomputed * feat(conglomeration): implements the main top-level function * testing(conglo): implements a tests for pure vortex protocol * feat(recursion): prefix all the items of the self-recursion * clean(vortex): make the vortex compiler rely on items.Name instead of regenerating the names * fix(vortex): make the prefix be used when len>0 and not len==0 * doc(conglo): adds doc for ColumnIgnored * rename(srec): left, right into more explicit names * fixup(conglo): remove unused method isPrefixed * feat(conglo): adds an option in vortex to pre-announce that the context is self-recursed * feat(vortex): various features to fixup bugs in conglo * clean(srec): better error message in the verifier of self-recursion * feat(vortex): proving from rs encoded matrix * minor(wizard): make FiatShamirSetup public * feat(conglo): implements the fs joint * code(fs): remove redundant sanity-check for prover-fs * test(conglomeration): adds a multi-round test * fix(lint): skip math.Rand error for the encoding * minor(vortex): exporting the Tree field for the precomputed * minor(wizard): adding GetQuery to the Runtime and GnarkRuntime interface * fixup(conglo): support the case where there are dry rounds in vortex * minor(mpts): using the run GetQuery method * minor(selfrec): better error message * test(conglo): adds a test case for arcane + lookup * testing(conglo): complete testing using sophisticated suites as input protocols * simplify(wizard): remove the assert consistent round sanity-check function * ci(test): skip the very heavy conglomeration test * testing(conglo): reduces the computation footprint * clean(from_alleged_ys): adds a panic clause if a column is not found. * clean(legacy): remove deprecated PublicInput column status * feat(conglo): integrates the cross-consistency checking in the public inputs * doc(com): adds some doc to explain how the input compiledIOP should be compiled
arijitdutta67
approved these changes
Jul 30, 2025
srinathln7
approved these changes
Jul 30, 2025
AlexandreBelling
added a commit
that referenced
this pull request
Oct 28, 2025
* commit all ideas * added aggregator * adding details to top-level * minor on lookup * removing preperation phase * removed LogDerivativeSum * minor * minor typos * distributed lookup compilation * Revert "distributed lookup compilation" This reverts commit fdb252626493ce5d284afa20124f9c804785ef12. * removing segParam * implementation of extractDistModule() * minor cleaning * moving two functions from wizardutils to the column package * Prover/Adding Initial Compiler for Permutation Query (#386) * commit all ideas * added aggregator * initial framework added * added grand product query * Added initial framework of the grand prod query * module discoverer is added * added test for AddGdProduct * Prover action added * coin in grand product test, deriveName for GP added * Test with fragment added * added documentation --------- Signed-off-by: Arijit Dutta <[email protected]> Co-authored-by: AlexandreBelling <[email protected]> Co-authored-by: Soleimani193 <[email protected]> * initial framework for lookup (#428) * initial framework for lookup * added logderivative_sum query * added documentation * getting the multiplicity table from compild iop * added preparation for lookup * added IntoLogDerivationSum during the preparation * added the check for LogDerivativeSum query * added the test for LogDerivativeSum * moving two functions from wizardutils to the column package * adding module discoverer * added more methodes to module discoverer * test for distributing LogDerivSum passes without compiling the shares of LogDerivSum * test for distribution of the expressions passes --------- Co-authored-by: arijitdutta67 <[email protected]> Co-authored-by: AlexandreBelling <[email protected]> * fixed complains on the module discoverer * added the compiler for logderivativesum (#496) * added the compiler for logderivativesum * testing the logderivativesum compilation * Prover/Polish distributed permutation (#527) * adding size and zCatalog in the query --------- Co-authored-by: AlexandreBelling <[email protected]> * Prover/distributed inclusion pover steps (#521) * replacing external coins and passing m columns to the module * added prover steps, test is passing * moved common functions to a new file * adding doc * polish the implementation (#523) * removing the round from zcatalog * better framework for testing * testing with a top-level compatibility --------- Co-authored-by: AlexandreBelling <[email protected]> * feat(prover): adds runtime.ParentRuntime (#534) * Prover/Compile grand product (#533) * adding size and zCatalog in the query * feat: polish the implementation * minor fix * minor fixes in the comments * Added compilation step for the grand product query * lint fix * unit test for grand product compilation is added * added bug fix * lint fix * added a bug fix --------- Signed-off-by: Arijit Dutta <[email protected]> Co-authored-by: AlexandreBelling <[email protected]> * Prover/vertical splitting for limitless prover (#547) * splitting a moule to segments * adjusting the expressions size for zcatalog * supporting the verifiercol in distributed inclusion * Prover: assignment serialization for the limitless prover (#557) * feat(encode): implements an codex for column assignment * debug(col): add tests and debug the column assignment * experiment(encoding): adds a target to encode and decode zkevm assignment and benchmark * add lz4 compression library * add assignment serialization with compression * assign and encode in chunks instead of a file * calculate correct ser size * add num chunks variable * Revert "calculate correct ser size" This reverts commit 8ae74c6aabfd3dd1c9ffb03a3034d788864fb533. * calculate and print the exact size of ser * add error handling for file write * add deserialization * refactor code * add compressChunks * refactor deserialize assignment * add hashWAssignment to check the hash of input and output * refactor SerializeAssignment * use logrus * remove cbor data size info * clean up logs * clean up logs for serialization * measure time taken for serialization * update logs * fix logs * set numChunks to the number of cores * skip profiling * add compression ratio * add a unit test --------- Co-authored-by: AlexandreBelling <[email protected]> * shared randomness for limitless prover (#587) * generate lpp compilediop * generating coins from seed * coin generation on the verifier side * testing the coin equalities among different module-segments * adjusted inclusion compilation based on the seed * Prover/Convert projection protocol to a query (#585) * added projection query * compiler for projection added * compiler added to arcane * removing cptHolter to math poly * shifted the no lint command --------- Signed-off-by: Arijit Dutta <[email protected]> * Prover/cross-checking among segments of limitless prover (#627) * crosse compiled iop for lpp * testing for distributed inclusion * prover(conglomeration): implements the proof aggregation mechanism (#564) * feat(conglomeration): implements the context translation * feat(runtime): hides the verifier and gnark verifier runtime under an interface * feat(verifier): adds the require functionalities to the verifier runtime * feat(conglomeration): implements the pre-vortex verifier step * feat(conglomeration): implements the pre-vortex prover step * clean(vortex): remove the Dh field * feat(conglomeration): unifies the prover actions and verifier actions for every context * feat(conglomeration): fix the vortex capture * fixup(translator): make InsertCoin more helpful * feat(vortex): adds a prefix system for run.State objects * feat(conglomeration): adds the context recursion into the conglomeration * fix(fsHook): adds fsHook in the equalizer * feat(wizard): adds ExtractProof and RunProverUntilRound * rename(fs): rename long method to AllKeysInProverTranscript * feat(fs): adds a possibility to ignore FS columns explicitly * fix(typo): improves the doc for IsCommitToPrecomputed * feat(conglomeration): implements the main top-level function * testing(conglo): implements a tests for pure vortex protocol * feat(recursion): prefix all the items of the self-recursion * clean(vortex): make the vortex compiler rely on items.Name instead of regenerating the names * fix(vortex): make the prefix be used when len>0 and not len==0 * doc(conglo): adds doc for ColumnIgnored * rename(srec): left, right into more explicit names * fixup(conglo): remove unused method isPrefixed * feat(conglo): adds an option in vortex to pre-announce that the context is self-recursed * feat(vortex): various features to fixup bugs in conglo * clean(srec): better error message in the verifier of self-recursion * feat(vortex): proving from rs encoded matrix * minor(wizard): make FiatShamirSetup public * feat(conglo): implements the fs joint * code(fs): remove redundant sanity-check for prover-fs * test(conglomeration): adds a multi-round test * fix(lint): skip math.Rand error for the encoding * minor(vortex): exporting the Tree field for the precomputed * minor(wizard): adding GetQuery to the Runtime and GnarkRuntime interface * fixup(conglo): support the case where there are dry rounds in vortex * minor(mpts): using the run GetQuery method * minor(selfrec): better error message * test(conglo): adds a test case for arcane + lookup * testing(conglo): complete testing using sophisticated suites as input protocols * simplify(wizard): remove the assert consistent round sanity-check function * ci(test): skip the very heavy conglomeration test * testing(conglo): reduces the computation footprint * clean(from_alleged_ys): adds a panic clause if a column is not found. * clean(legacy): remove deprecated PublicInput column status * feat(conglo): integrates the cross-consistency checking in the public inputs * doc(com): adds some doc to explain how the input compiledIOP should be compiled * fixup(conglo): fix remaining bug in the conglomeration * added more functionalities to the discoverer (#681) * Prover/distribute projection query (#608) * added projection query * compiler for projection added * compiler added to arcane * duplicate name fix * removing cptHolter to math poly * shifted the no lint command * added bin file in gitignore * removed gitignore change * remove bin file * code simplification as Alex suggested * fix in lpp * distributed projection query added * more test cases added * adding slice to accomodate multiple query per module * param changed to support additive structure * added horizontal split code * test added * check test added * incorporate Alex suggestion on PR 585 * Added documentation --------- Signed-off-by: Arijit Dutta <[email protected]> * Prover/distribution of global queries (#647) * distribution of global queries * wip: added the boundary checks * testing boundaries for simple cases * test for complex queries * fixed provider assignment * Prover/Complete Projection Query (#667) * added projection query * compiler for projection added * compiler added to arcane * minor fix added * fix lint error * duplicate name fix * removing cptHolter to math poly * shifted the no lint command * added bin file in gitignore * removed gitignore change * remove bin file * code simplification as Alex suggested * fix in lpp * distributed projection query added * more test cases added * adding slice to accomodate multiple query per module * param changed to support additive structure * compiler code added (wip) * check test added * incorporate Alex suggestion on PR 585 * Added documentation * vertical splitting wip * feat: cumNumOnes added * feat: vertical split verifier action added * feat : added filter counting and hash computing functionality * feat: vertical consistency check and cleanup --------- Signed-off-by: Arijit Dutta <[email protected]> * Prover: turns the plonk-in-wizard into a query (#688) * feat(plonk-in-wizard): creates the plonk in wizard query * feat(plonk): copies the plonk into the corresponding new compiler folder * org(plonkinwizard): moves the compiler to a conventionally named directory * feat(piw): finish the compiler implementation * feat(dedicated): trim the dedicated plonk in wizard * test(piw-internal): adjust the tests for the ported plonk in wizard * feat(piw): changes the imports in the glue * clean(plonk): remove witness assigner * test(compiler): test and debug the compiler and the query checker * feat(dist): adds a function to distribute the plonk-in-wizard query * clean(plonk-options): creates an adhoc and plonk option mechanism in protocol/query * feat(plonk): removes the constraints on the selector colum in the plonk query * typo(panic): fix a panic message --------- Co-authored-by: arijitdutta67 <[email protected]> * Prover/support special columns (#700) * distribution of global queries * testing boundaries for simple cases * test for complex queries * fixed provider assignment * prepare support for special columns * merging * cross checks for distributed global queries * test for multiple global * tests are passing * support verifcol in global * support verifier columns in inclution --------- Co-authored-by: AlexandreBelling <[email protected]> * Prover: limitless integration (#722) * initial commit * add module discoverer package * smart contract doc changes for erc-20 (#695) * Prover: Beta v1.3 (#703) * update to latest `go-corset` * bump to beta-v1.3-rc3 --------- Co-authored-by: DavePearce <[email protected]> * Updating tracer plugin and traces API (#705) * Updating tracer plugin and traces API * feat: remove image build for l1-node-genesis-generator (#686) * feat: use alpine as base image for 1-node-genesis-generator * feat: remove image build for l1-node-genesis-generator in local stack * chore: change genesis.json name * feat: set timestamp in el genesis file as zero * feat: add warning message for usdc bridging (#699) * feat: add warning message for usdc bridging * fix: update warning message * finalized-tag-plugin-update (#685) * rename to linea-finalized-tag-plugin --------- Co-authored-by: jonesho <[email protected]> Co-authored-by: jonesho <[email protected]> * fix: get github releases by tag name for ts-lib build (#710) * fix: get github releases by tag name for ts-lib build * fix: use github release download url directly * Updating sequencer (#708) * Updating sequencer * Updating tracer as well * Updating besu node as well * fix(compile-error): about the discoverer * Hopefully fixes release publishing (#709) * feat(zkevm): exposes zkevm with suite * feat(disc): adds a NewSizeOf feature to the discoverer clean(dist): moves the lookup into log-derivative into the compiler folder * implemented feature flag for prague local stack (#715) * Fix: skip bridge UI e2e test and docker build for forked PR (#712) * fix: skip bridge UI e2e test and docker build for forked PR * fix: update paths filters for bridge e2e tests github workflow * Staterecovery part 13 blockhash fixes (#675) staterecovery: fix blockHash opcode and improve performance of blob fetching from L1 --------- Signed-off-by: Pedro Novais <[email protected]> Co-authored-by: Roman Vaseev <[email protected]> * fix: update bridge ui e2e tests paths filters + remove unecessary actions in workflow (#717) * chore: improve package consistency jvm lib (#719) * chore: improve package consistency jvm lib * chore: improve package consistency jvm lib * chore: improve package consistency domain models * package rename improve consistency * chore: fix docker config * rename(perm): rename the permutation compiler to CompileViaGrandProduct * feat(perm): adds the permutation to grand product query * refactor(permutation): refactors the permutation compiler to isolate the grand-product and the compilation into grand-product. * feat(utils): implements a SortedKeysOf function * feat(wizardutils): implements a function to extract the columns of an expression * doc(stackoffset): remove outdated part of a comment * feat(experiment): rewrites the prover distribution up to module GL * fixup(module-gl): inserts the range and the local-openings at round 1 * increase block gas limit as in sepolia (#720) * increase block gas limit as in sepolia * increase block gas limit as in sepolia * staterecovery: update test data to match new genesis with 2B gas block * staterecovery: update test data to match new genesis with 2B gas block * staterecovery: reduce amount of blobs sent to L1 * staterecovery: increase l1 besu memory limit * staterecovery: disable parallel tests in staterecovery * staterecovery: donwgrade runner to large * staterecovery: fix some integration tests * staterecovery: fix integration tests * refactor, perf: `prover/crypto/sis` improvements (#554) * fix: revert gnark go mod change * refactor: checkpoint mvp working * feat: added case for smartvector.Constant rows block * refactor: checkpoint * refactor: checkpoint * refactor: checkpoint * style: code cleaning * style: more comments * refactor: use gnark-crypto sis and refactor ringsis.TransversalHash * test: restore bench size * perf: better parallelization * chore: update gnark crypto * fix: restored gnark dep as in main * test: restored separate tests in transversal hash test * build: update to gnark crypto master with latest sis * build: fix linter * fix: make Init in libdecompressor thread safe (#724) * fixup(compiler): fix import for lookup2derivesum.IntoLogDerivativeSum * feat(precomp): support the precomputed columns * feat(horner): implements the horner query * clean(lookup): rename the package name of the logderivative * fixup: forgot to commit one file * clean(grandsum): remove the grandsum query * clean(lookup): merge the lookups and the logderivative compilers in the same package * clean(gd-product): remove the dist-grand product compiler * feat(horner): implements gnark support for the query * feat(plonk): implements distribution for the plonkInWizard queries * feat(module-translation): implements inserter functions for logderivative and grandproduct queries * feat(utils): adds a shiftexpr functionality * sataterecovery: use decompressor that is ThreadSafe (#727) * sataterecovery: use decompressor that is ThreadSafe * sataterecovery: update decompressor version enum to 1.1.1 * feat: add metrics in GlobalBlobAwareConflationCalculator and move bri… (#654) * feat: add metrics in GlobalBlobAwareConflationCalculator and move bridge logs and state root hash retrieval from execution prover client to coordinator * fix: unit test * feat: testing for docker cache pipeline * feat: disabled docker cache * feat: move encoder back to file-based prover client * fix: compare with hex string instead of ulong for bridgelog block number * feat: add test case for ExecutionProofRequestDtoMapper * feat: revise ExecutionProofRequestDtoMapper test case * feat: revise metric names and add testing for the added metrics * feat: added metricscheck * feat: handle zero transactions in empty blocks for avg-tx-data-size histogram metrics * feat: resolve conflicts from latest main and fix warning on missing env vars in docker compose * fix: unit tests * feat: revise unit tests with fake implementation of histogram to reduce the use of mock * feat: resuse filtered block counters * feat(horner): unifies the projections and horner compilation into a common package * clean(builer): reprecate the builder * clean(dist): remove the distributed projection query * feat(utils): adds an utils.RecoverPanic function to catch panics * testing(horner): adds testing for the projection queries * fixup(horner): fixes a remaining bug on the horner query * feat(distribution): changes the preparation compilation phases * feat(horner): adds module filtering and translation for horner queries. * feat(lpp): implements the ModuleLPP * feat(witness): implements the module witness generation * feat: support go corset optimisation and metadata (#713) 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 <[email protected]> * fix tokenbridge comment typos (#729) * clean(prover): cleans the file structure and the wizard package * [Fix] Solidity docgen config (#731) * docgen config fixes * add libraries back to docgen * added more libraries back in * clean(stitchsplit): move the stitcher and the splitter in a common compiler * fixup(logderivative): make the log-derivative compiler compatible with the self-recursion * [Fix] OZ-Upgrade-Plugin + Solhint warnings (#661) * fix tokenbridge init ordering given oz plugin warnings * adjust solhint linting * fix scripts/tokenBridge/gasEstimation/gasEstimation.ts * added /// @custom:oz-upgrades-unsafe-allow incorrect-initializer-order * fix for L2MessageService * remove warning silencer for demo purpose * Revert "remove warning silencer for demo purpose" This reverts commit 4eccc3d0fc32501ab0e99f737e7b25daa8214601. * add incorrect-initializer-flag to upgrades constructor function * [Fix] Smart contract errors references (#721) * update for smart-contract-errors.toml * remove ref to deprecated errors in coordinator * update bridge-ui abi * [Feat] Precomputed/Counterfactual address for TokenBridge Remote Sender (#678) * remove reinit function in tokenbridge * passing tests with removal of setRemoteSender * remove operational task and dead role reference * added tokenbridgev1_1 artifact to e2e tests * adjustments * fix nonce increment * [Fix] Foundry version to 1.0 (#732) * fix foundry test * add doc fixes * feat: add support of eth_estimateGas for L1 transactions (#694) * feat: add support of eth_estimateGas for L1 transactions * feat: revise log message for calling eth estimate gas * chore: update function signatures * fix: unit test for merge conflicts * fix: merge conflicts * feat: use web3J async helper to encapsulate useEthEstimateGas option * feat: remove calling eth_estimateGas in eth_call for aggregation tx and disable eth estimate gas on data submission * feat: seperate useEthEstimateGas option for data submission and aggregation and remove calling eth_estimateGas on eth_call for data submission * feat: add new function in LineaRollupSmartContractClient and remove unnecessary parameter * feat: correct coordinator config and update sequencer config * feat(recursion): the lookup test passes for the recursion * [Refactor] LineaRollup tests (#736) * utils -> helpers in test * start to refactor helpers * did some deploy functions * running tests with all helper functions refactored out * slight cleanup * did BlobSubmission.ts * did Finalization.ts * more comments to before * clean up dependency order * clean(wizard): remove the post sampling * test(main): adds a common testing package featuring a library of test cases * [Feat] Pause cooldown (#723) * changes to pausemanager * add space * working pausemanager tests * npx hardhat test working for existing suite * more pausemanager tests * more tests and comments * minor typo fix * revert pauseTypes.ts changes * fix PauseManager test cases * small reverts * more test adjustments * Update contracts/src/security/pausing/PauseManager.sol Co-authored-by: The Dark Jester <[email protected]> Signed-off-by: kyzooghost <[email protected]> * Update contracts/src/security/pausing/interfaces/IPauseManager.sol Co-authored-by: The Dark Jester <[email protected]> Signed-off-by: kyzooghost <[email protected]> * Update contracts/src/security/pausing/PauseManager.sol Co-authored-by: The Dark Jester <[email protected]> Signed-off-by: kyzooghost <[email protected]> * Update contracts/src/security/pausing/PauseManager.sol Co-authored-by: The Dark Jester <[email protected]> Signed-off-by: kyzooghost <[email protected]> * fix unchecked * Update contracts/src/security/pausing/PauseManager.sol Co-authored-by: The Dark Jester <[email protected]> Signed-off-by: kyzooghost <[email protected]> * Update contracts/src/security/pausing/PauseManager.sol Co-authored-by: The Dark Jester <[email protected]> Signed-off-by: kyzooghost <[email protected]> * Update contracts/src/security/pausing/PauseManager.sol Co-authored-by: The Dark Jester <[email protected]> Signed-off-by: kyzooghost <[email protected]> * more comment fixes * match interface and contract natspec comments * add *.mdx changes * change pauseExpiry to pauseExpiryTimestamp * doc change * tests passing with new pause expiry value after security council pause * add new overflow test to pausemanager * expand unchecked block * indent unchecked block * unPauseDueToExpiry -> unPauseByExpiredType * Update contracts/src/security/pausing/PauseManager.sol Co-authored-by: The Dark Jester <[email protected]> Signed-off-by: kyzooghost <[email protected]> * added unpausebytype comment --------- Signed-off-by: kyzooghost <[email protected]> Co-authored-by: The Dark Jester <[email protected]> * rename(testing): rename the testing package to testtool * testing(compilers): adds a full compilation testing suite for Arcane * add module discoverer * add missing implementation * fix UpdateDiscoverer * clean up logs * feat(vortex): adds an option to pass a Merkle root as public input * feat(module-gl): sets the public inputs for module-gl * clean up code * feat(lpp): adds the public-inputs and the coin translation * clean(column): RootParents now returns only one value. This simplifies a lot of previously ramified code in Naturalize. * clean(conglo): delete the conglomeration folder * feat(discoverer): move the query-based module discoverer * clean(plonk): remove the mask parameter as it is no longer in-use in the query * testing(discovery): tests the discovery against the zkevm * sec(log-derivative): panic if CheckGnark is called for LogDerivative * fixup(discover): crawl QueriesParams on top of QueriesNoParams * cleanup(printf): remove noisy printfs * feat(statesum): set round to 0 for STATE_SUMMARY_BATCH_NUMBER_START_FROM_ONE * fix(merkle): declare column IS_INACTIVE when we don't need it * fix(merklemod): make precomputed isActive column optionally declared in the resultmod * feat(dist): removes the use of 1-sized columns in the public-input module * REMOVE ME: disconnect the HUB and the state-manager * testing(discovery): more cautious tests for the query-based discoverer * fixup(discovery): debug the standard discovery * clean(disc): remove prints from the standard discoverer test * fixup(disc): removes t.Fail from test * ensure unique module names by appending colID * feat(accessors): FromCoinAccessor accepts [coin.FieldFromSeed] * testing(distribute): create a test for the distribution of compiled-IOP * fixup(discovery): adds some fixes to the module discovery and update the interface * fixup(distributed): debug till the compilation of the zkevm * tests(disc): adds some logs to investigate the separation of the logs * feat: better cli input for blob size maximizer * testing(dist): adds a prover step testfor the segmented provers * feat(config): adds a config reader that skips the validation checks * minor(distribute): rename Distribute to DistributeWizard * fixup(distributed): fixes many minor issues in the code * testing(dist): uses a pseudo-random shared randomness * feat(queries): forbid using shifted columns in the selectors * refactor: Response object for DecompressBlob (#738) * refactor: response object for DecompressBlob * feat(distributed): remove the sanity-checks in the query package and move them to validation checks in the distributed package * feat(heartbeat): create the heartbeat column * minor(wizard): improves a panic message * feat(dist): increase the search for shifted columns in all positions of the lookups and projections and permutation (new) * feat(std): adds a manualshift column type that mimic the normal column type. * fixup(public-input): switch some of the columns of the public input module to be not of length 1. * fixup(glue): replace selector columns that are shifted by manual shifts * fixup(zkevm): adjust for the renaming of GetMainProverStep * Prover: compatibility check between zkevmbin and lt trace file (#745) * 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 <[email protected]> * feat(std): adds cyclic repetitions columns * Prover: go-corset as submodule (#759) * 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: use go-corset instead of corset * add zkevm_for_old_trace.bin without 2B block gas limit constraint to test old traces --------- Signed-off-by: Leo Jeong <[email protected]> * Prover: constraints beta-v2.1-rc3 and go-corset v1.0.1 (#761) * bump go-corset to v1.0.1 * constraints: beta-v2.1-rc3 * feat(repetition): minor additions to the repetions columns * the structured column take round argument * add round argument to the constructors * isActive can be an expression * Prover: constraints beta v2.1-rc4 (#764) * use go-corset v1.0.1 * constraints: beta v2.1-rc4 * debugging(zkevm): adjust the zkevm to work with the new type of dedicated columns (bugged) * testing(dedicated): separate the implementations of the repetitions columns and properly test them. * fixup(dedicated): remove the old file * minor(zkevm): minor fixes on the zkevm changes * cleanup(log): remove trailing printf line * fixup(plonkinwizard): marks the queries as compiled * testing(distribute): adds a test bench for the distributed prover where we use the actual compilers * fixup(cbor): adds a decoding parameters to help decoding the factorized expressions * fixup(wizardutils): LastRoundToEval accepts wizard.Coin arguments. * fixup(quotient): fix the prover runtime * fix(horner): fix the selector check for the last value * fixup(logderivative): make the compilation deterministic * fixup(columns): ensure CyclicCount and ManualShift are assigned at the requested round * fix(inner-product): remove the sanity-check ensuring there is no double * fixup(horner): make horner query compile in reverse order * Prover/wizard performance monitor (#768) * wizard runtime perf monitor * ring-sis before revert * sanity check successful * rm test config file * Refactor/deprecated solidity variables (#755) * quick wins done * doc changes * deprecate mappings in LineaRollup * add doc * more deprecation * fix * fix linearollup version * fix * fix * feat(logderiv): does not accept invalid log-deriv query * feat(seed): make sure that fiat-shamir from does not return duplicate values * fixup(plonk-in-wizard): remove unnecessary check from the compiler * test(distributed): change the compiler settings and checks the segment consistency * feat(factorize): change panic into warning log * feat(cell-count): adds a utility to count the cells of a wizard * minor(utils): improves doc of PositiveMod * fixes to architecture doc (#773) * Fix: update bridge ui USDC warning message (#774) * fix: update bridge ui USDC warning message * fix: put images hostname restriction back * Perf(prover): uses padded-circular windows for the MiMC assignment (#770) * use padded circular window to reduce runtime memory * (feat): use padded circular window for mimc col assignment * perf(plonk): fix the padding for plonk.Alignment * perf(limitless): ditch the regular smartvectors from the full-size analysis * Perf(prover): uses padded-circular windows for the MiMC assignment (#770) * use padded circular window to reduce runtime memory * (feat): use padded circular window for mimc col assignment * chore: Remove unused CI pipeline (#777) * chore: Remove unused CI pipeline * feat: removed all actions cache related codes in workflows * chore: Improve comment --------- Co-authored-by: jonesho <[email protected]> * minor(warn): adds a warning message when MPTS skips * test(mimc): adds testcases for MiMC * apply `manualCheckMiMCBlock` individually to each query’s columns (#782) * apply `manualCheckMiMCBlock` individually to each query’s columns * feat(smartvectors): implements PaddingVal * feat(distributed): groups all permutation queries columns together * feat(distribute): adds a validation check on the permutation queries * feat: update build.gradle to org.hyperledger and linea-besu-upstream (#779) * feat: update build.gradle to org.hyperledger and linea-besu-upstream * feat: add org.hyperledger as included group in maven repositories url * feat: update linea-besu-package in compose files for linea-besu-upstream with new plugin releases * fixup(testing): readd all the compilation layers * feat(lookup): adds a column segmenter interface * minor(lint): t.Error instead of t.Errorf * feat(distr): adds the changes of the module segmenter in the distributed wizard * feat(segment): updates the segment of column function * fix: update minimumFeeInWei function abi (#784) * fixup(logderivative) * testing(limitless): clean the full test * feat(vortex): adds a feature to commit to precomputed columns * feat: Decompression Prover: improved error reporting (#786) * feat: decompression circuit improved error reporting * increase max blob size to 774.54KB * fix: use blob decompression response --------- Signed-off-by: Arya Tabaie <[email protected]> * test(distributed): * fixup(test): adds a ! in front of the reflect.DeepEqual * feat(recursion): adds the recursion to the limitless prover * minor(log): tune the logging for the big test * Feat/bridge UI v2 (#776) * feat: linea bridge ui refresh (#597) * feat: linea bridge ui refresh * feat: improve ui components * chore: restore layout.tsx * chore: update destination address modal * chore: update bridge ui by feedback chore: update bridge ui by feedback * chore: add skeleton loader * chore: update header nav * feat: update new ui * chore: fix skeleton * fix: build issue --------- Signed-off-by: Victorien Gauch <[email protected]> Co-authored-by: Victorien Gauch <[email protected]> Co-authored-by: VGau <[email protected]> * feat: add dynamic * fix: update lock file * fix: change font size and all rem values * feat: add currency state, amount, prices management * feat: add fees calculation * fix: remove react hook form and create a form store * feat: add bridging feature * fix: bridging issue * fix: limit number of decimals for gas fees * feat: add history * fix: remove old code + remove dependencies * fix: clean folders * fix: manual claiming issue * fix: remove warnings and optimize rerenders * fix: adjust ui + fix network switching * fix: update bridge ui dockerfile and github ci * fix: update button text, input styling and history styling * fix: add cctp deposit feature + cctp util functions and hooks * feature toggle done for getTokenConfig (#780) * fix: fees calculation issue (#781) * [Feat] Bridge UI v2 - Transaction List with CCTPV2 transactions (#783) * much of fetchCCTPBridgeEvents * add getClaimTx --------- Signed-off-by: kyzooghost <[email protected]> * fix: token history issue * fix: history issue for erc20 + add confirm address modal * fix: claiming issue * feat: add usdc banner * fix: update usdc banner message * fix: update usdc banner message * fix: update usdc banner message * fix: update bridge ui e2e tests ci * fix: update min storage version --------- Signed-off-by: Victorien Gauch <[email protected]> Signed-off-by: kyzooghost <[email protected]> Co-authored-by: viphan007 <[email protected]> Co-authored-by: kyzooghost <[email protected]> * fix: update bridge ui version (#790) * fix: update bridge ui version * fix: update release notes * fix: update release note * feat(segment): tune the segment compilation and adds logging * fixup(fs): SetState uses Reset prior to being called * fix(accs): allows creating a FromPublicColumn using an accessor column * fix(horner): skips the projection compilation if there is nothing to compile * fixup(logderivative): checks if the segmenter exists before calling it * fixup(recursion): pass the public inputs to the assignment circuit * fix(univariate): fix the gnark verifier part of the naturalization compiler * minor(recursion): rename to VortexQueryRound * minor(stitch-split): better panic message * fixup(horner): fix the fiat-shamir update of the horner params * feat(wizard): adds analytics for the verifier circuit * minor(plonk): better error messages in plonkinternal * minor(test): remove redundant log.SetLevel * perf(plonk): make the commitment to RcL; RcR; RcO optional * minor(logging): improve the format of the logs to reduce the noise * perf(fs): skips the local-openings and the naturalized openings from FS * minor(logging): better log for Plonk in wizard * minor(logging): remove noisy logging from the compilation and the gnark circuit building * minor(logging): remove noisy logs * feat: updated linea-besu-package in local stack (#794) * perf(fixed-permutation): optimizes the fixed permutation * fixup(perm): adds the renamed file for compiler.go * feat(plonk): adds an optional hardcoded flag to activate deactivate the profiling * perf(fs): small optims to reduce the footprint of fs on the complexity of the circuit * minor(logging): mutes the logs relative to the factorization * logging(mpts): adds a nicer log to print the stats of the mpts * logging(distributed): better logging in the distributed prover * feat(lagrange): official lagrange compiler * fix(vortex): includes the precomputed when dimensioning the SIS key * fixup(seg): add missing self-recursion step * fixup(fs): unskip localcs and mpts from FS * feat(stats): improves the wizard stats package * logging(arcane): adds a logging line at the beginning of the compilation * minor(stitch): better panic message in the stitcher compiler * Prover(perf): faster global constraints compilation (#704) * bench(global): adds a benchmark for the global constraint compiler * perf(merging): accumulates the factors before creating the expression * perf(product): computes the ESH without using a smart-vector * perf(factor): preallocations in the factorization algorithm * perf(removeZeroes): implements a lazy allocation mechanism in removeZeroCoeffs * perfs(alloc): counts the ret elements before returning in expandTerms to minimze the number of allocations. * perf(factor): use an integer map instead of a field.Element map when possible * fixup(expands): fix the skip condition for term expansion * perf(constructor): improves the immutable constructors to reduce the number of calls to NewProduct and NewLinComb * feat(repr): adds a json repr function to help debugging * test(constructor): cleans the test of the constructors * perf(factor): address maps using the first limb of a field.Element instead of the full field.Element * fixup(commit): adds missing file in previous commit * perf(factor): reduce the number of calls to rankChildren * perf(rmpolyeval): creates the equivalent expression more directly to save on unnecessary optims * perf(factors): use a counter in getCommonProdParentOfCs * perf(factor): remove map copy from findGdChildrenGroup and replace getCommonProdParent by a simpler function * clean(factor): remove unneeded function and imports * feat(utils): adds a generic sort interface implementation * perf(rankChildren): lazy allocation of the map to save on allocations * perf(factorize): reduces the loop-bound for factorizeExpression * (chore): fix a missing argument and format gofmt * feat: readd test --------- Signed-off-by: AlexandreBelling <[email protected]> Co-authored-by: gusiri <[email protected]> * [Feat] Bridge UIv2 - CCTPV2 claims for USDC & refactors (#792) * did refreshCCTPMessageIfNeeded function * added BridgeTransaction to own @types file * successful claim tx * remove constants for cctp contracts * half way through useClaimingTx * fix * did cases for erc20 and eth transfer * moved claim tx to useClaimingTx * refactor for abievent types * add getNativeBridgeMessageClaimedTxHash * did useBridgeTransactionMessage * fix build * fix lint * implement useCCTPFee * removed auto-claim for usdc, move messageProof to TransactionDetail * add loading ui for Claim button * refactor history.ts file in utils * fix linting errors * implement caching of completed tx -> in empirical test cut requests from 24->9, ~2200ms -> ~1600ms response cycle time * ci fix * add comment for won't do * remove 1 redundant cctp api call for claim params * remove CCTP_TRANSFER_FEE_BUFFER * did badge * change linea main logo * change linea main logo * address edge case where reattest cause revert to pending * small pr fixes * Revert "small pr fixes" This reverts commit 2404f98419b1b7221bda617ea39f20ab6cad5830. * fixes applied again * Update bridge-ui/src/utils/chains.ts Co-authored-by: Victorien Gauch <[email protected]> Signed-off-by: kyzooghost <[email protected]> * simplified code to handle expired cctp message edge case * fix cctp casing * fix casing again * fix git casing issue * remove comments * add dynamiccontextprovider param * change mobileprovider --------- Signed-off-by: kyzooghost <[email protected]> Co-authored-by: Victorien Gauch <[email protected]> * toggle on cctp (#797) * toggle on cctp * remove quotes * RAS - many temporary changes * fixup(perm): fix bugs around the permutation argument * fixup(vortex): fix a bug in the vortex circuit * Prover: beta v2 (#796) * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: AlexandreBelling <[email protected]> Co-authored-by: Bogdan Ursu <[email protected]> * minor(bv2): comments out the failing lookups (#800) * Fix/cctp fix (#802) * fix for null message return * change fee fallback * fix cctp false pending (#803) * Feat: add lifi and small fixes (#798) * fix: add gitattribute rules for woff2 files * feat: add lifi widget + fixes minor issues * fix: remove unused packages + clean constants declaration and config * fix: update dockerfile and github ci workflows * fix: env variable naming issue * fix: bridge mode alt value issue + remove button component * fix: update release notes and package json version (#807) * fixup(fs): remove flawed fs exclusion * clean(pkg): rename package experiment to distributed * clean(gencsv): remove gencsv logs from compile_segment * clean(compilation): simplifies and clean the compilation of the distributed protocol * feat(plonk): adds a FixedNbRow option (unimplemented) * fix: remove usdc warning message in the bridge ui (#810) * [Fix] Update smart-contract-errors.yaml with script assistance (#809) * fix * added more errors to smart-contract-errors.toml * cross-check against bytecode * remove redundant comment * Contract: update the Plonk verifier contract for betav2 (2) (#801) * chores(verifier): updates the plonk verifier for beta-v2 on sepolia * chores(config): changes the prover config to point to 5.0.0 * chores(prover): change the trace limits * chores(testdata): updates the testdata * feat(plonk): implements the fixed nb of row option * clean(disc): move the disjoint set implementation on the side * remove the special handling of permutation queries * feat(disc): adds the affinity feature to the discoverer --------- Signed-off-by: Pedro Novais <[email protected]> Signed-off-by: kyzooghost <[email protected]> Signed-off-by: Leo Jeong <[email protected]> Signed-off-by: Arya Tabaie <[email protected]> Signed-off-by: Victorien Gauch <[email protected]> Signed-off-by: AlexandreBelling <[email protected]> Co-authored-by: gusiri <[email protected]> Co-authored-by: kyzooghost <[email protected]> Co-authored-by: DavePearce <[email protected]> Co-authored-by: Roman Vaseev <[email protected]> Co-authored-by: jonesho <[email protected]> Co-authored-by: Victorien Gauch <[email protected]> Co-authored-by: Pedro Novais <[email protected]> Co-authored-by: jonesho <[email protected]> Co-authored-by: Gautam Botrel <[email protected]> Co-authored-by: The Dark Jester <[email protected]> Co-authored-by: Arya Tabaie <[email protected]> Co-authored-by: Lakshminarayanan Nandakumar <[email protected]> Co-authored-by: Alain Nicolas <[email protected]> Co-authored-by: viphan007 <[email protected]> Co-authored-by: Bogdan Ursu <[email protected]> * fixup(lint): fix the linter errors arising from the merge with main * fix(alignment): fix bug in alignment logic * fixup(tests): clean the verifiercol folder and fix/comment the failing tests * Prover/limitless standardization (#857) * feat(precompiles): parametrize better the nb of input per instance * test(affinity): adds a test with the affinity * fix(limitless): debug the affinity system * feat(recursion): uses the fixed number of row parameter * fix(gnark-verifier): fix the gnark verifier * fix(lane): change a constraint in the lane package to make it work * chores(zkevm.bin): updates the zkevm.bin to work with d855c03 * fix(permutation); fix compilation error coming from conflict and clean the folder * feat(mimc): implements an external hasher builder * clean(plonk-in-wizard): reorganize the package handling plonk in wizard * reorg(counterPrecomputed): creates a specific type of precomputed columns that caches itself * feat(plonk): implements the external-checker feature * feat(mimc): adds a selector feature for the MiMC query * feat(distribution): uses the external hasher to build the recursion circuit. * feat(distribution): grouping the LPP modules * feat(test): adds back the LPP part of the tests * feat(wizard): adds verify until round * fix(arcane): remove the NormalizeOffset * clean(dist): sanity check the intermediate proof * chores(gnark): updates gnark version to latest main and port the values * feat(stackframe): implements a helper to return callframes of the calling context * perf(smartvectors): adds a routine to optimize the right padded vectors * org(factory): hasher factory does not require an API to return a hasher * feat(modexp): adds a limit for the modexp 4096 * fix the hash-checker implements the predivision optimize the logderivative implementation * feat(smart-vectors): implements iterators for smart-vectors * feat(field): adds a FromBool method * perf(polyeval): adds a fast-path to PolyEval when all inputs are constants where we don't need to allocate * feat(smartvectors): adds iterators and GetPtr functionalities to the interface * perf(mimc): revamp the mimc compiler to be more space-efficient * feat(dedicated): adds a bit decomposition wizard * feat(ternary): adds a ternary wizard * feat(hashing): adds an horizontal hash dedicated wizard * feat(merkle): adds a flat-merkle proof dedicated wizard * feat(utils): adds SpliceExact Bytes32.SetField and a few iterators functions * feat(dedicated): adds a [Last] method * perf(zkevm): makes the vector allocation faster * perf(symbolic): skips the copy-slice when the result of a chunk is full-zero * perf(logerivsum): makes the log derivative sum assignment more efficient * feat(dist): improves the distributed wizard * feat: review the public input fetching * feat(ts-fetcher): duplicate columns to have clean module separation * fix(maintest): runs the normal proof more efficiently * chores(gkr): reflect the API changes in the gkr frontend to gkrmimc * chores(go.mod): update gnark version to v0.12.1-0.20250409125015-1e252ace2ab9 * chores(tests): skip the big tests of the distributed prover so that they are not run by the CI * fix(lint): fix ineffectual assignment * back with the old linter * fix(tests): fix the padding sanity-checks in the limb decomposition * Remove prover and verifier closures (#852) * replace proverstep with main prover step * lookup tests pass * stitchsplit tests fail * fix splitter tests * stitchsplit compiler tests pass * univariate compiler all tests pass * vortex compiler tests pass * bigrange tests pass * dedicated/expr_handle refactor * protocol/dedicated/functionals tests pass * protocol/dedicated/merkle pass * all tests in protocol/dedicated pass * remove unwanted comments * self recursion last tests fail * all protocol tests pass * all tests pass * Transform splitter ctx prover to proverAction interface * Prover/limitless ser deser (#907) * init serialization doc * commit progress * commit progress * all tests pass * refactor serialization.go * refactor compiled iop * parallelize se-deser compiled-iop * all tests pass * update comments * split cbor encoder and decoder * update go.mod * Prover/Adding the Optional SIS Hashing Feature in the Vortex Protocol (#885) * fixup: removing dryThreshHold * fixup: remove commitPrecomputed threshold * fixup: more cleanup on dryThreshold * feat (compiler.go): compiler changes added * feat: add prover and verifier changes, remove dry rounds * feat: changes to the commitment * feat: crypto/vortex changes (wip) * feat: test modified in crypto/vortex * fix: added colhash time in no-sis case * feat: changes in the gnark is done * feat: compiler part is done * feat: shuffle logic added for prover and verifier, test passing for single round * feat: multi round test passes * test for precomputed polys and cleanup * fix: added dry round * fix: adopted Alex's suggestion * fix: rename IsCommitToPrecomputed, other bug fix (wip) * bug fixes * Prover/limitless conglomeration 2 (#937) * feat(conglomeration): implements the conglomeration. * feat(conglo): implements the prover and the compilation for the conglomerator * test(conglo): implements a tests for the conglomerator * perf(gnark): optimize the direct evaluation of the polynomials with a BatchInterpolation circuit * chores(plonk): adds subscript to identify the profiling assets * tmp: conglomeration debugging -> needs changing mpts * tmp: mpts started implementing * tmp * feat(mpts): rewrite of the mpts compiler * fixup(mpts): debug and cleaning * testing(mpts): adds the tests with the profile enforcing * chores(gitignore): auto ignores the artefacts * testing(mpts): test the profile feature * fix(mpts): ignore precomputed columns when computing the initial round * feat(arcane): breaking API change for the Arcane compiler * feat(arcane): adds a debug mode to arcane * fixup(mpts): various compilation fixes * testing(mpts): adds multi-round testcases * testing(mpts): tests with verifier columns * fixup(mpts): fix the number of rounds * fix(Vortex): adds minor edge-case handling * feat(mpts): local-openings compiled into local-constraints instead of univariate evaluations. * fixup(mtps): fixup bugs in the compiler * chores(mpts): completely remove the old MPTS compiler * feat(csv): includes the list of the univariate polys in the analysis csv * feat(mpts): make the mpts compiler explictly evaluates the non-Vortex columns itself * chores(permutation): make the verifier code simpler to hook into to debug * fixup(mpts): migrate an old test to use the new mpts compiler * fix(recursion): handles the case where the precomputed merkle root has been demoted as a normal merkle root. * fixup(recursion): same as previous commit * fix(vortex): commit in the same order as in the mpts query * feat(conglomeration): dump the wizard dimensioning in a subfolder * fixup(conglo): remove unneeded files * feat(lpp): reorganize the LPP public inputs to have the same order as for GL * fix(fixed-permutation): fix typo * feat(segment): adds a second public precomputed merkle root * minor(gnark): makes GetColumn more readable when printed with api.Println * testting(conglo): adds sanity-check to ensure a wizard is cross-verifiable with other comp * feat(wizard): adds fancy prover actions * logging(plonk): improves the logging for plonk in wizard * fix(plonk-in-wizard): pads the lro columns with their last values instead of zero. * feat(conglomeration): adds the list of the acceptable verifying keys * style(distributed): cleans the compilation interface of the distributed wizard * fixup * feat(conglomeration): completes the holistic checks * fixup(extraData): registers the precomputed merkle proof as field element * cleanup(conglo): remove the debugging prints * fixup(default); default module.isGL 1 -> 0 * fixup(extraData): pass the extraData to the recursed circuit * minor(wizard): returns the list of the public inputs when panicking due to fetching a non-existing public input * testing(conglo): adds sanity-check for the conglomerated proof * feat(conglo): harmonize the prefix usage * feat(distributed): reduces by 4 the size of the gnark verifier circuit * fix(determinism): address the determinism in the gnark circuit * fixup(tests): ensures the two GL module are not identical * fix(lookup); makes the Z column global constraint not needed for length-1 tables * minor(rename): rename a function to clarify what it does * fixup: forgot to commit * feat(plonk): adds a MinimalRound option for the compiler * fix(stitcher): makes the order of creation of the columns deterministic * feat(segment-compilation): delay the PIW compilation to round 1 for the GL segments * fixup: remove the commit to GenCsv * minor(vortex): adds a friendly message * feat(mpts): adds an option to add the unconstrained columns * feat(inner-product): option to delay the compilation of the inner-product to a minimal round * fix(self-recursion): use the right committed round number * fixup: various compilation bugs * feat(limitless): adds support for the shared randomness * fix(csv): adds the queries in the generated csv * Limitless Prover: Fix the remaining bugs in the conglomeration (#969) * feat(traces): implements scale or down * feat(pragma): adds * test over smaller limits * logging(compilation): adds compilation logs to help understand which part is getting compiling * less G2 instances per circuit * log(vortex); remove verbose log * fix(wizard): fix GetPublicInput from proof * fixup: various fixes up for the conglomeration * tmp2 * cleanup: removes the debug printf that were unneedingly committed * implements the gnark circuit for conglomeration (#986) * Prover: Multi-ary projection queries (#998) * feat(projection): implements the multi-ary projection query * fixup(projection): fix the size check for the projection query * feat(horner): implements the multi-ary horner query * feat(testtools): adjust the testtools so that we can test retrocompatibility * fixup(horner): iterate in reverse order over the rows to pass the retro-tests * feat(projection): updates the projection query to work with the multi-ary projection * feat(horner): ensures the changes are retro compatible with the horner compilers * minor(horner): alias the import of symbolic expression to sym * feat(horner): make the changes to the horner compiler * fixup(horner): all the tests passes for horner and the other query * testing(projections): adds a test with selectors * feat(distributed): port the changes to the distributed prover * chores(golangci): migrate golangci-lint * fix(lint): fix the missing linting rules * ci(lint): update the version of golangci-lint * fixup(ci): updates the golangci-lint runner version from v6 to v7 * Update prover/protocol/query/projection.go Co-authored-by: Copilot <[email protected]> Signed-off-by: AlexandreBelling <[email protected]> * Update prover/protocol/query/projection.go Co-authored-by: Copilot <[email protected]> Signed-off-by: AlexandreBelling <[email protected]> --------- Signed-off-by: AlexandreBelling <[email protected]> Co-authored-by: Copilot <[email protected]> * Prover/srinath serde (#1102) * init ser/deser of assets * commit progress * serde zkevm.sha2 successful * refine zkevm test * add serde support for manually shifted columns * serde compiledIOP successful * serde support for zkevm statemanager * update zkevm_test * commit progress * serde subProverAction successful * serde for verifier action * serde for FSHookPresampling * serde for precomputed compiledIOP * refactor serde * serde for pcsCtx * serde support FSSetup * serde compiledIOP test pass * commit progress * Test keccak serde pass * serde ZKEVM success * serde discoverer success * refactor serde tests * commit progress * lpp_serde refactor * refactor serde tests * lpp fs, n0, n1 hash success * serde LPP module success * serde GLs progress * serde GL modules success * serde DefMods success * register all implementations for bootstraper in dist. wizard * remove cyclic dep errors * serde dist.wizard bootstrapper success * add test case for dist wizard module discoverer * serde compiledGLs/LPPs * serde dist wizard success * serde zkevm success * serde dist wizard - progress * commit serde compiled seg progress * register impl. of prover verifier actions * commit progress serde recursed seg. comp * add missing concrete impl * serde compiled default - in progress * serde recursion progress * serde PcsCtx - progress * err: defer query ref * self recur query panic * serde round-by-round * serde pcsCtx progress * serde vortex compilation ctx * serde recursion compiled iop successful * refactor code and rm unwanted mutex * serde plonk in wizard - start * serde plonk internal compiled iop success * serde gnark circuit - in progress * serde recursion successful except plonk comp in wizard * fix bug in test cases * serde recursion successful * serde recursed segment complication - pass * rm unwanted code in serde compiled_iop * deser compiled iop in parallel * serde recurseg comp success reading from file * add more comments * refactor ser compiled iop * commit progress * rm unwanted serde in gl and lpp mods * rm unwanted serde in gl and lpp modules * adding serializer structure * init v2 * refactor v2 * refactor v2 * col test v2 successful * add serde coins * refactor * tmp * feat(packing): implements a more optimized packing * feat(queries): adds a uuid in all the queries and all the coins * feat(queries): adds a uuid method to ifaces.Query interface * feat(natural): uses a uuid for the natural columns * feat(coin): use a uuid for the coins * tmp * fix(serde): fix the compiler error where the uuids are not used * feat(serde): finish implementing the deserialization * feat(de): implements the handling of the special cases for unpack value * debugging the testcases of the serialization package * feat(custom): adds custom serializers for field elements, expressions and bigints * serde value test success * add comments for reader * integrate the custom type serialization * feat(codex): adds a custom codex for arrays of field elements * starts big tests * fixup(expr): encode metadata as an interface for an interface type * fixup(expr): handles nil expressions * feat(primitive): adds the primitive types in the registry so that they can be serialized as interface objects * feat(exports): exports the fields of isZero * fix(compiled): fix typeOfCompiledIOP * fix(oneLimbCtx): exports the struct OneLimbCmpCtx and its fields * fix: leaving the bug for field element deserialization * export the fields of the padded circuit window * fix(serde): serializes the maps as a list of tuple to be able to encode any type of map * feat(serde): exports the fields of some more prover actions * export the inner fields of the containers types * exports the fields of the PIP assignment query * fix(comp): remove infinite loop with compiled-IOPs * revert the internalization of the query fields * feat(serde): adds an explicit struct tag for omitting fields to clear up the warnings * commit test files * (test): add sanity check for big_test to compare ser/de values * feat(tag): use the tag to omit equality check for omitted fields * (feat) added strings in implementation registry and one more test case * (feat): added string in implementation reg. and sample struct test case * export limb-decoding * feat(plonk): unexport the plonk compilation context * feat(circuits): adds a serialization function for circuits * Srinath/serde (#1075) * add field_element test * (refactor): to mimize redundancy * (fix) Field.Element bug * (fix:) Fixed testcase to derefence the deser result * fix(testcases): fix testcases * fix: the infinite loop CompareExportedFields when having recursive pointers * feat: inputFiller registry * minor(tags): serde:omit the unexported fields of plonk in wizard * export everything * export all the fields in zkevm * make the column.Store a pointer object * adds a custom handler for arithmetization * testing(zkevm): creates a test for the distributed artefacts * fix: move uuid from column to storedInfo …
jonesho
pushed a commit
that referenced
this pull request
Nov 20, 2025
… all modules (including ref tables and precompiles) (#814) Resolves: #813 Signed-off-by: Tsvetan Dimitrov <[email protected]> Co-authored-by: Olivier Bégassat <[email protected]>
jonesho
pushed a commit
that referenced
this pull request
Nov 24, 2025
… all modules (including ref tables and precompiles) (#814) Resolves: #813 Signed-off-by: Tsvetan Dimitrov <[email protected]> Co-authored-by: Olivier Bégassat <[email protected]>
jonesho
pushed a commit
that referenced
this pull request
Dec 8, 2025
… all modules (including ref tables and precompiles) (#814) Resolves: #813 Signed-off-by: Tsvetan Dimitrov <[email protected]> Co-authored-by: Olivier Bégassat <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements issue(s) #
Checklist