Skip to content
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

refactor: Response object for DecompressBlob #738

Merged
merged 12 commits into from
Mar 6, 2025

Conversation

Tabaie
Copy link
Contributor

@Tabaie Tabaie commented Feb 28, 2025

Instead of the function returning many semi-anonymous variables, return a Response and an error.

Tabaie and others added 8 commits February 19, 2025 10:33

Verified

This commit was signed with the committer’s verified signature.
rmburg Rasmus Mecklenburg
@Tabaie Tabaie had a problem deploying to docker-build-and-e2e February 28, 2025 18:45 — with GitHub Actions Error
@codecov-commenter
Copy link

codecov-commenter commented Feb 28, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 68.58%. Comparing base (3446e36) to head (9d448f5).

Additional details and impacted files
@@             Coverage Diff              @@
##               main     #738      +/-   ##
============================================
+ Coverage     67.86%   68.58%   +0.71%     
+ Complexity     1206     1170      -36     
============================================
  Files           326      323       -3     
  Lines         13412    12834     -578     
  Branches       1355     1303      -52     
============================================
- Hits           9102     8802     -300     
+ Misses         3750     3500     -250     
+ Partials        560      532      -28     
Flag Coverage Δ *Carryforward flag
hardhat 98.53% <ø> (ø)
kotlin 66.18% <ø> (+0.66%) ⬆️ Carriedforward from 9cc7079

*This pull request uses carry forward flags. Click here to find out more.

see 66 files with indirect coverage changes

@Tabaie Tabaie had a problem deploying to docker-build-and-e2e February 28, 2025 18:51 — with GitHub Actions Error
@Tabaie Tabaie had a problem deploying to docker-build-and-e2e March 1, 2025 00:15 — with GitHub Actions Error
@Tabaie Tabaie had a problem deploying to docker-build-and-e2e March 1, 2025 00:18 — with GitHub Actions Error
@Tabaie Tabaie marked this pull request as ready for review March 1, 2025 00:18
@Tabaie Tabaie requested a review from gusiri March 4, 2025 16:43
@Tabaie Tabaie temporarily deployed to docker-build-and-e2e March 4, 2025 16:44 — with GitHub Actions Inactive
@Tabaie Tabaie merged commit 9cd4ace into main Mar 6, 2025
25 checks passed
@Tabaie Tabaie deleted the prover/refactor/decompress-blob-response branch March 6, 2025 15:32
AlexandreBelling added a commit that referenced this pull request Mar 25, 2025
* 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 4eccc3d.

* 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 2404f98.

* 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 97f6c92.

* 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]>
AlexandreBelling added a commit that referenced this pull request Mar 25, 2025
* 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 4eccc3d.

* 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 2404f98.

* 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 97f6c92.

* 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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants