Skip to content

Conversation

@AlexandreBelling
Copy link
Contributor

@AlexandreBelling AlexandreBelling commented Oct 28, 2025

This PR implements issue(s) #

Checklist

  • I wrote new tests for my new core changes.
  • I have successfully ran tests, style checker and build against my new changes locally.
  • I have informed the team of any breaking changes if there are any.

Note

Adds a metrics category for the Transaction Exclusion API and updates imports, build/dependencies, TS configs, solidity pragma, and native libs licensing.

  • Transaction Exclusion API:
    • Add LineaMetricsCategory with TX_EXCLUSION_API and wire it in TransactionExclusionServiceV1Impl.
  • Transaction Decoder:
    • Update import to linea.web3j.mappers.toDomain.
  • Testing Tools:
    • Use ${kotlinVersion} for Kotlin serialization plugin; bump kotlinx-serialization-json to 1.8.1; minor code cleanup.
    • Solidity contracts: switch pragma to ^0.8.30.
  • TS Native Libs:
    • Change license to dual MIT/Apache-2.0; bump tsup and adjust tsconfig.
  • Repo Config:
    • Root tsconfig to NodeNext (module/moduleResolution), broaden excludes.

Written by Cursor Bugbot for commit ebc3f25. This will update automatically on new commits. Configure here.

alainncls and others added 30 commits October 28, 2025 15:56
* coordinator: adds FakeLineaRollupSmartContractClient

* coordinator: change @get:Synchronized notation

* coordinator: move contractVersion to constructor

* jvm-libs: fix publish job
…1040)

* chore: update kotlin-gradle-plugin to 2.0.0

Signed-off-by: VolodymyrBg <[email protected]>

* fix: add null-safety (!!) for micrometer gauge/counter/timer in tests for Kotlin 2.0

Signed-off-by: VolodymyrBg <[email protected]>

* chore: update kotlin-reflect dependency to 2.0.0 in besu-plugin

Signed-off-by: VolodymyrBg <[email protected]>

* chore: add kotlin 2.0.0 version to version catalog

Signed-off-by: VolodymyrBg <[email protected]>

* chore: update kotlin dependencies and plugins to 2.0.0 in testing-tools

Signed-off-by: VolodymyrBg <[email protected]>

* fix: add null-safety (!!) for micrometer gauge/counter/timer in tests for Kotlin 2.0

Signed-off-by: VolodymyrBg <[email protected]>

* Update ProverClientFactoryTest.kt

Signed-off-by: VolodymyrBg <[email protected]>

* Update build.gradle

Signed-off-by: VolodymyrBg <[email protected]>

* Update build.gradle

Signed-off-by: VolodymyrBg <[email protected]>

* Update libs.versions.toml

Signed-off-by: VolodymyrBg <[email protected]>

* Update libs.versions.toml

Signed-off-by: VolodymyrBg <[email protected]>

* Update MicrometerMetricsFacadeTest.kt

Signed-off-by: VolodymyrBg <[email protected]>

* Update MicrometerMetricsFacadeTest.kt

Signed-off-by: VolodymyrBg <[email protected]>

* Update build.gradle

Signed-off-by: VolodymyrBg <[email protected]>

* Update build.gradle

Signed-off-by: VolodymyrBg <[email protected]>

* Update build.gradle

Signed-off-by: VolodymyrBg <[email protected]>

* Update build.gradle

Signed-off-by: VolodymyrBg <[email protected]>

* Update build.gradle

Signed-off-by: VolodymyrBg <[email protected]>

* Create gradle.properties

Signed-off-by: VolodymyrBg <[email protected]>

* Update libs.versions.toml

Signed-off-by: VolodymyrBg <[email protected]>

* Delete buildSrc/gradle.properties

Signed-off-by: VolodymyrBg <[email protected]>

* Update gradle.properties

Signed-off-by: VolodymyrBg <[email protected]>

* feat: add gradle.properties for buildSrc

* feat: upgrade to gradle 8.12.1 and log4j to 2.24.3 and fixed missing test fixture dependencies

* feat: update kotlinx-serialization-json to 1.8.1

---------

Signed-off-by: VolodymyrBg <[email protected]>
Co-authored-by: Jones Ho <[email protected]>
Co-authored-by: jonesho <[email protected]>
* allow tokenbridge overrides

* add L1MessageService overrides

* refactor L2 MessageService

* refactor L2 MessageService V1

* use correct modifier

* refactor LineaRollup for overriding

* allow other overrides

* reinstate general in pause on tokenbridge

* add missing NatSpec

* sample overrides

* add generic bridge and document placeholder

* documentation and folder placement

* documentation cleanup

* use imported references

* use variable pragma for inherited contracts

* reset pragmas for some

* use base abstract contracts with version overrides

* use TokenBridgeBase as abstract

* Update contracts/src/bridging/token/TokenBridgeBase.sol

Co-authored-by: Victorien Gauch <[email protected]>
Signed-off-by: The Dark Jester <[email protected]>

* Update contracts/src/bridging/token/TokenBridgeBase.sol

Co-authored-by: Victorien Gauch <[email protected]>
Signed-off-by: The Dark Jester <[email protected]>

* Update contracts/src/bridging/token/TokenBridgeBase.sol

Co-authored-by: Victorien Gauch <[email protected]>
Signed-off-by: The Dark Jester <[email protected]>

* Update contracts/src/bridging/token/interfaces/ITokenBridge.sol

Co-authored-by: Victorien Gauch <[email protected]>
Signed-off-by: The Dark Jester <[email protected]>

* Update contracts/src/messaging/l2/L2MessageServiceBase.sol

Co-authored-by: Victorien Gauch <[email protected]>
Signed-off-by: The Dark Jester <[email protected]>

* Update contracts/src/messaging/l2/v1/interfaces/IL2MessageServiceV1.sol

Co-authored-by: Victorien Gauch <[email protected]>
Signed-off-by: The Dark Jester <[email protected]>

* Update contracts/src/rollup/interfaces/ILineaRollup.sol

Co-authored-by: Victorien Gauch <[email protected]>
Signed-off-by: The Dark Jester <[email protected]>

* Update contracts/src/rollup/LineaRollupBase.sol

Co-authored-by: Victorien Gauch <[email protected]>
Signed-off-by: The Dark Jester <[email protected]>

* Update contracts/src/_testing/unit/bridging/InheritingTokenBridge.sol

Co-authored-by: Victorien Gauch <[email protected]>
Signed-off-by: The Dark Jester <[email protected]>

* Update contracts/src/verifiers/PlonkVerifierDev.sol

Co-authored-by: Victorien Gauch <[email protected]>
Signed-off-by: The Dark Jester <[email protected]>

* Update contracts/src/verifiers/PlonkVerifierForDataAggregation.sol

Co-authored-by: Victorien Gauch <[email protected]>
Signed-off-by: The Dark Jester <[email protected]>

* Update contracts/src/verifiers/PlonkVerifierForMultiTypeDataAggregation.sol

Co-authored-by: Victorien Gauch <[email protected]>
Signed-off-by: The Dark Jester <[email protected]>

* Update contracts/src/verifiers/PlonkVerifierMainnetFull.sol

Co-authored-by: Victorien Gauch <[email protected]>
Signed-off-by: The Dark Jester <[email protected]>

* Update contracts/src/verifiers/PlonkVerifierSepoliaFull.sol

Co-authored-by: Victorien Gauch <[email protected]>
Signed-off-by: The Dark Jester <[email protected]>

* linting

* allow submitDataAsCalldata overriding

* address missing test coverage

* adjust gap name for storage clarity

---------

Signed-off-by: The Dark Jester <[email protected]>
Co-authored-by: Victorien Gauch <[email protected]>
* port code from linea-sequencer pr 195

* boilerplate changes for LineaTransactionValidatorPlugin

* poc for LineaTransactionValidatorPlugin

* first commit for LineaTransactionValidatorPluginTest

* created error enum

* most LineaTransactionValidatorPluginTest tests working

* most LineaTransactionValidatorPluginTest tests working

* LineaTransactionValidatorPluginTest done

* switch plugin for acceptance test

* make BlobTransactionDenialTest inherit prague

* change prague test config

* implemented genesisfile override for prague test

* change rule registration to doRegister

* remove permissioningservice

* passing acceptance test

* add more comments

* spotlessapply fixes

* unit test fixes

* more comments

* fix comment

* new comment

* move sendRawBlobTransaction

* add BlobTransactionImportDenialTest file

* move DEFAULT_REQUESTED_PLUGINS

* go simulated block route

* success blob test

* new changes

* fix engine_newpayload request

* first compile for new blockheader

* stuck on why hash is not the same

* stuck on why hash is not the same

* success for BlobTransactionDenialTest

* more refactor

* refactor

* refactor

* refactor

* refactor

* refactor

* refactor

* refactor

* spotless

* refactor
…1178)

* chore: added test fixtures dependencies in kotlin-common-conventions

* feat: revise description message
* fix: update csp headers in bridge ui

* fix: update csp headers in bridge ui
#1125)

* feat: add request timeout for conflated trace, trace counter, and state manager requests

* fix: requestTimeout for TracesGeneratorJsonRpcClientV2
* add consideration to templates

* use emoji for better visibility

* fix: always run CodeQL

---------

Co-authored-by: Alain Nicolas <[email protected]>
* feat: add calldata based pricing for variable cost

* feat: revised log and removed comment

* feat: revised tests and checks beased on PR reviews
* fix: besu sha256 display on release page

* fix: besu sha256 display on release page
* fix: e2e tests l2 traffic generation issue

* fix: move readJsonFile function
…ry (#1208)

Bumps the npm_and_yarn group with 1 update in the / directory: [tsup](https://github.com/egoist/tsup).


Updates `tsup` from 8.4.0 to 8.5.0
- [Release notes](https://github.com/egoist/tsup/releases)
- [Commits](egoist/tsup@v8.4.0...v8.5.0)

---
updated-dependencies:
- dependency-name: tsup
  dependency-version: 8.5.0
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* cleanup and standardizing of env vars

* delete unused contract
Filter94 and others added 21 commits October 28, 2025 15:58
* Fixing the trace limits for Mainnet and Sepolia

* Updating the linea-besu-package version in the docker compose stack
#1613)

* remove LineaL1FinalizationTagUpdaterPlugin from besu package profiles and documentation

* adds more static peers for mainnet
* ci: codeQL avoid run jobs unnecessarily

* ci: codeQL avoid run jobs unnecessarily

* ci: tigger changes

* ci: adjust checks

* ci: adjust checks

* ci: adjust checks

* ci: adjust checks

* ci: set permissions

* ci: adjust checks

* ci: adjust checks

* try to improve codeqal flow

* test ts codeql

* fix: change condition type check from boolean to string

* fix: revert matrix condition type

* fix: remove test typescript code

* fix: codeql workflow to dynamically build the matrix

* fix: rename actions language

* retrigger CodeQL

* fix: update code ql workflow matrix generation

* fix: update code ql workflow matrix generation

* test codeql ci

* fix: revert codeql test

* fix: remove unused step in codeql analyze job

* fix: remove spaces in codeql workflow file

---------

Co-authored-by: Fluent Crafter <[email protected]>
* update limits for beta v4.0 cancun

* remove shf

* update BLS_DATA for Prague

* Prover/Support Proof and Verifying Key Cols Expr for Stitcher (#1399)

* chore(globalcs): remove an unused comp parameter from factorExpressionList()

* chore(variables): use new symbolic Mul in the test

* chore(stitchsplit): typo fixes in stitcher test

* implemented proofcol expansion

* chore(stitchsplit): fixing some comments in stitcher

* feat(stitchsplit): enable support for proof and vr key in scanStitchSplit()

* fixup(stitcher): bug fix

* feat(stitcher): modified prover action to support proof and vk cols

* feat(stitcher): the remaining changes are added

* feat(stitcher): test added, debug wip

* feat: made the constraint oriented changes

* fix(stitcher): debug wip

* fix(stitcher): bug fixed

* fix(stitcher): bug fix concluded

* fix: code cleanup

* fix: gofmt

* fix(stitcher): more bug fixes

* fix: gofmt

* fix: cursor bot suggestion accepted

* fix(serialization): cursor bot suggestion added

* fix(stitcher): removing errorf

* fix(stitcher): check for larger domain size is added and removed error with panic

* fix(stitcher): same as above for local constraint

* prover: bump go-corset and constraints (#1317)

* bump go-corset to v1.1.15

* update go-corset to v1.1.15

* bump constraints to beta-v3.1-rc7

* initial refactoring for go-corset v1.1.15

This puts through an initial (but not yet complete) refactoring for
go-corset v1.1.15.  The main differences are around: (1) the
organisation of packages; (2) a more complex compilation pipeline which
supports mixed assembly and corset modules; (3) merging of the HIR and
MIR levels together; (4) changes in the way interleaving assignments are
handled.

* finalise and update to go-corset to v1.1.16

The update to v1.1.16 was required to give an accessor method for
air.Constraint in order to access the actual (underlying) constraint.

* fix: trace limits

This fixes two distinct issues with trace limits.  The first is around
the names of modules for the "limitless type proofs".  Previously, these
were called e.g. ":u128".  Now they are called e.g. "u128".

The other issue is around modules with non-trivial length multiplier.
Specifically, a module "m1" with a length multiplier of 3 has the name
"m1×3".  Its not clear to me what the best process for resolving this
is, so I leave it for others.

* update to go-corset v1.1.19

This integrates the prover with go-corset v1.1.19, which includes a
number of changes related to field agnosticity and ZK assembly.

* update gitattributes

This updates the git attributes to inform git that the zkevm.bin file
is binary, and should have its line endings changed.

* update to go-corset v1.1.20

This is a precaution as go-corset version v1.1.19 contains a race
condition.

* update for assembly modules exp / shf

* update `linea-constraints` to `9cad732`

This also updates the `zkevm.bin` file to the compiled
`zkevm_london.bin`

* fix broken limit config

* update constraints to beta-v4.0-rc10 (edbf0c6)

* replace fmt.Printf with logrus.Infof for module size logging in scanColumns

* update sepolia config for beta v4.0

* update devnet config

* update type TraceLimits for beta v4.0

* add trace limits for new modules in beta v4.0

* fix e2e error: remove unused column handles from GetAffinities function

* add scaling for new beta 4.0 internal modules in TracesLimits

* remove unused SHF_REFERENCE_TABLE from integration benchmark and full config files

* add new discovery advice entries and update existing column references in limitless.go

* remove unused column handle from GetAffinities function

* update trace limits for beta v4.0

* update beta v4.0 module limits

* add default trace limits for Beta v4.0

* add missing discovery advice entries for beta v4.0

---------

Signed-off-by: Leo Jeong <[email protected]>
Co-authored-by: DavePearce <[email protected]>

* prover: hotfix mainnet (prover image: 5d1d2f5) (#1367) 

* fix edge case while padding cols

* exit on block keccak limit overflow instead of panic

* always use rlp_txn 65536

* fix(alignment): return an overflow instead of deadlooping

* fix OnLimitOverflow

* exit on overflow for smart vectors

* revert RLP_TXN default limits

---------

Co-authored-by: srinathln7 <[email protected]>

* copy config file to assetsDir/config/ during make setup

* update version for beta v4.0

* Add conflation stats logging for execution prover

* fix bug: refactor logging levels in config types to correct order

* update golang to 1.24.6

* update to zkevm_shanghai.bin

* zkevm_cancun.bin

* update to go-corset v1.1.23

This updates to go-corset v1.1.23 and the latest constraints release.
In particular, this adds entries in the various limits files, and also
traces_limit.go for the internal modules used for the ZK assembly.

At this stage, it remains to update limitless.go.

* fix trace limits for new cancun constraints

* remove byte shl, shr, sar and fill_bytes from discovery advice

* ignore property assertions

This ignores property assertions which can occur within the zkevm.bin
file.  They are a debugging facility only and, hence, can be safely
ignored.  They are used to check things which are expected to be true
during testing.

* update limit for `POWER_REFERENCE_TABLE` to 32

* update default trace limits

* add missing shomei limits to `config_default.go`

* update test trace limits in `traces_limit.go` for beta v4.0

* Fix non-deterministic constraint ordering in arithmetization definition

This commit addresses a non-deterministic error where constraints were processed in an unpredictable order, leading to sporadic failures such as:

constraint #695954 is not satisfied (natualize.go)

error="constraint #621136 is not satisfied" (globalcs/evaluation.go)

The root cause was that constraints from the corset schema were iterated in their native order, which could vary between runs due to Go’s map iteration semantics. This resulted in inconsistent constraint evaluation and verification failures.

* upate prover version to 6.0.6 for cancun

* use zkevm_cancun.bin

* Refactor trace limits configuration for improved readability

* perf: merge prover/perf/large3 (#1507)

Squashed commit of the following:

commit 8fffcd0ef2b4985475162286553ed26d87683abd
Author: Ivo Kubjas <[email protected]>
Date:   Mon Oct 6 15:36:13 2025 +0000

    chore: include GCD convergence from gnark-crypto

commit 7fa96db45de7a780e5b80c7d53c05733b534e6eb
Author: Gautam Botrel <[email protected]>
Date:   Fri Oct 3 15:04:38 2025 +0000

    fix: fix race condition

commit 619488bc28e11eea0c205ff1250ed02a89443ce6
Author: Gautam Botrel <[email protected]>
Date:   Fri Oct 3 14:51:22 2025 +0000

    docs: add warning about no concurent use of arena reset

commit 4f54d3b8b971f1315dbe625bd6a42941c6337d45
Author: Gautam Botrel <[email protected]>
Date:   Fri Oct 3 14:50:35 2025 +0000

    restore config and cmd file

commit 4fc6f488034de6c5f9cf206c47500a7473158d3a
Author: Gautam Botrel <[email protected]>
Date:   Fri Oct 3 14:47:27 2025 +0000

    fix: remove bench from previous commit

commit 8b844653dbef86cb0d68f725c13184bf17c4234e
Author: Gautam Botrel <[email protected]>
Date:   Fri Oct 3 14:47:01 2025 +0000

    reduce allocs in InitOpeningWithLC and remove inner proof sanity check

commit 4c444a99c6a555acbc5c702f9472a7721b164fa6
Author: Gautam Botrel <[email protected]>
Date:   Fri Oct 3 13:18:02 2025 +0000

    fix: remove potential race on vector arena

commit 8e88ceaddb432c462a633ab8fc112a6f303a51d5
Author: Gautam Botrel <[email protected]>
Date:   Fri Oct 3 01:33:00 2025 +0000

    feat: restore cmd and config file

commit a70e7f2cd586b56b17c8e239ed74b68cdbf8b961
Author: Gautam Botrel <[email protected]>
Date:   Fri Oct 3 01:30:25 2025 +0000

    feat: hardcode mimc

commit e7af66a10e1dd0affaf693714ad53c1329aeab3a
Author: Gautam Botrel <[email protected]>
Date:   Fri Oct 3 01:20:25 2025 +0000

    build: update to correct gnark-crypto

commit 5a7160410e68afb6f07671289c3142f7b215915a
Author: Gautam Botrel <[email protected]>
Date:   Thu Oct 2 19:12:05 2025 +0000

    perf: checkpoint

commit 4671e7a35672f85c6ac38905765f674616c861e3
Author: Gautam Botrel <[email protected]>
Date:   Thu Oct 2 18:54:48 2025 +0000

    perf: checkpoint

commit d9dee6f4ce07eccc011f970fb34d851b93870d56
Author: Gautam Botrel <[email protected]>
Date:   Thu Oct 2 16:32:22 2025 +0000

    perf: checkpoint

commit d3ce940c526f8db6021dfbbe94af134eb73fc91d
Author: Gautam Botrel <[email protected]>
Date:   Thu Oct 2 15:11:48 2025 +0000

    minor diff

commit 19f26c81b93b4a30ff4418dc50e96410140a5851
Author: Gautam Botrel <[email protected]>
Date:   Thu Oct 2 15:04:01 2025 +0000

    fix: excessive memory in prover_tasks

commit 93df154fdc2b759cae9d4cf872f5c34c6bbcf0e2
Author: Gautam Botrel <[email protected]>
Date:   Thu Oct 2 15:00:14 2025 +0000

    clean up unused files

commit dfd1ee9d75808beeee4dbc26251a903d341a7364
Author: Gautam Botrel <[email protected]>
Date:   Thu Oct 2 14:59:40 2025 +0000

    perf: new ringsis using gnarkcrypto

commit 98d83b5134ab76ecd62d347c5f697d0d2c746f1f
Author: Gautam Botrel <[email protected]>
Date:   Thu Oct 2 14:49:07 2025 +0000

    feat: add transversal hash simple bench

commit caad1d9335875e950cd425db7e4f3e6f9b9c718f
Author: Gautam Botrel <[email protected]>
Date:   Thu Oct 2 14:40:39 2025 +0000

    perf: improve commit with sis

commit 4656664b927e0deebb0729d419a53bb32d844618
Author: Gautam Botrel <[email protected]>
Date:   Thu Oct 2 14:28:43 2025 +0000

    feat: add CommitWithSIS benchmark

* set prover version to 6.0.6 for Cancun

* feat: add new discovery advice entries for rc11

* impl. custom ser/de for gnark.fft domain (#1533)

* impl. custom ser/de for gnark.fft domain

* rm bug in TestSelfRecursionManyLayersWithSerde

* feat: adjust public-inputs for Cancun arithmetization

* feat: adjusting public-inputs for Cancun, ensure that only non-zero chainIDs are fetched

* update to rc11-hotfix (eb3fc85)

Adds prover columns and constraints for user transaction maxima/relative indices across txndata/rlptxn (cancun/osaka/prague), wires USER_TXN_NUMBER_MAX into the RLP→txndata lookup, and forces perspective-sum to be binary.

Prover columns and constraints:
txndata (cancun/osaka/prague):
Add prover___RELATIVE_USER_TXN_NUMBER, prover___IS_LAST_USER_TXN_OF_BLOCK (computed) and max columns prover___RELATIVE_USER_TXN_NUMBER_MAX, prover___USER_TXN_NUMBER_MAX with constancy/vanish/setting/finalization constraints.
rlptxn (cancun):
Add prover___USER_TXN_NUMBER_MAX with constancy and finalization constraints.
Lookup wiring:
Extend rlptxn/cancun/lookups/rlptxn_into_txndata.lisp to map txndata.prover___USER_TXN_NUMBER_MAX from rlptxn.prover___USER_TXN_NUMBER_MAX.
Flags/perspectives:
Change txndata/prague/generalities/flags_perspectives.lisp perspective-sum to force-bin the sum of RLP + HUB + CMPTN.

* refactor: update column names for rc11-hotfix

* zkevm_cancun.bin

* format code for execution_data_collector.go

* feat: add new discovery advice entries for TINY-STUFFS and ARITH-OPS in limitless.go

* hub selector for txndata

* feat: updating public-input module for Cancun

* update to beta v4.0-rc13

* fix: reapply execution-large circuit bug fix

This bug was originally fixed in PR #844 (#844)
but was overwritten by the limitless prover changes and has reappeared.

The issue occurs because zkevmFull's sync.Once is called by the execution circuit,
so it cannot be redefined for execution-large. As a result, execution-large uses
the zkevm instance defined for execution. This fix introduces separate sync.Once
instances to ensure both circuits are initialized independently.

* chore: enhance logging for circuit setup and module size checks

* fix: sticher scaling offset error

* feat: add function to remove system transactions from shomei traces

* update constraints to beta-v4.0-rc17 (0e0b4e9)

* dirty: verbose logging for the projection query

* fix: txnData filters

Co-authored-by: Bogdan Ursu [email protected]
Co-authored-by: Alexandre Belling [email protected]

* use zkevm_cancun.bin rc17 (0e0b4e9)

* chore: fix typo in the file name adress to address and clean up comments

* fix: public inputs chainID constraints

* fix: sort the expression after it was factored

* sort: sort the global constraint context

* fix: update sorting to use ColumnsForRatio instead of AllInvolvedColumns

* fix: initialize User and Hub Selectors in commitEcRecTxnData

* feat: fix public-input empty-empty-non-empty block sequence edge case

* feat: fix public-input empty-non-empty-non-empty-empty block sequence edge case

* module limits: increase prover internal module limits and set BLS_REFERENCE_TABLE = 512

* add missing discovery advices

* add cancun verifiers

cp ./prover-assets/6.0.6/sepolia/emulation/Verifier.sol ../contracts/src/verifiers/cancun/PlonkVerifierSepoliaFull.sol
cp ./prover-assets/6.0.6/mainnet/emulation/Verifier.sol ../contracts/src/verifiers/cancun/PlonkVerifierMainnetFull.sol

---------

Signed-off-by: Leo Jeong <[email protected]>
Co-authored-by: Arijit Dutta <[email protected]>
Co-authored-by: DavePearce <[email protected]>
Co-authored-by: srinathln7 <[email protected]>
Co-authored-by: Ivo Kubjas <[email protected]>
Co-authored-by: Lakshminarayanan Nandakumar <[email protected]>
Co-authored-by: Bogdan Ursu <[email protected]>
Co-authored-by: AlexandreBelling <[email protected]>
* update limits for beta v4.0 cancun

* remove shf

* update BLS_DATA for Prague

* Prover/Support Proof and Verifying Key Cols Expr for Stitcher (#1399)

* chore(globalcs): remove an unused comp parameter from factorExpressionList()

* chore(variables): use new symbolic Mul in the test

* chore(stitchsplit): typo fixes in stitcher test

* implemented proofcol expansion

* chore(stitchsplit): fixing some comments in stitcher

* feat(stitchsplit): enable support for proof and vr key in scanStitchSplit()

* fixup(stitcher): bug fix

* feat(stitcher): modified prover action to support proof and vk cols

* feat(stitcher): the remaining changes are added

* feat(stitcher): test added, debug wip

* feat: made the constraint oriented changes

* fix(stitcher): debug wip

* fix(stitcher): bug fixed

* fix(stitcher): bug fix concluded

* fix: code cleanup

* fix: gofmt

* fix(stitcher): more bug fixes

* fix: gofmt

* fix: cursor bot suggestion accepted

* fix(serialization): cursor bot suggestion added

* fix(stitcher): removing errorf

* fix(stitcher): check for larger domain size is added and removed error with panic

* fix(stitcher): same as above for local constraint

* prover: bump go-corset and constraints (#1317)

* bump go-corset to v1.1.15

* update go-corset to v1.1.15

* bump constraints to beta-v3.1-rc7

* initial refactoring for go-corset v1.1.15

This puts through an initial (but not yet complete) refactoring for
go-corset v1.1.15.  The main differences are around: (1) the
organisation of packages; (2) a more complex compilation pipeline which
supports mixed assembly and corset modules; (3) merging of the HIR and
MIR levels together; (4) changes in the way interleaving assignments are
handled.

* finalise and update to go-corset to v1.1.16

The update to v1.1.16 was required to give an accessor method for
air.Constraint in order to access the actual (underlying) constraint.

* fix: trace limits

This fixes two distinct issues with trace limits.  The first is around
the names of modules for the "limitless type proofs".  Previously, these
were called e.g. ":u128".  Now they are called e.g. "u128".

The other issue is around modules with non-trivial length multiplier.
Specifically, a module "m1" with a length multiplier of 3 has the name
"m1×3".  Its not clear to me what the best process for resolving this
is, so I leave it for others.

* update to go-corset v1.1.19

This integrates the prover with go-corset v1.1.19, which includes a
number of changes related to field agnosticity and ZK assembly.

* update gitattributes

This updates the git attributes to inform git that the zkevm.bin file
is binary, and should have its line endings changed.

* update to go-corset v1.1.20

This is a precaution as go-corset version v1.1.19 contains a race
condition.

* update for assembly modules exp / shf

* update `linea-constraints` to `9cad732`

This also updates the `zkevm.bin` file to the compiled
`zkevm_london.bin`

* fix broken limit config

* update constraints to beta-v4.0-rc10 (edbf0c6)

* replace fmt.Printf with logrus.Infof for module size logging in scanColumns

* update sepolia config for beta v4.0

* update devnet config

* update type TraceLimits for beta v4.0

* add trace limits for new modules in beta v4.0

* fix e2e error: remove unused column handles from GetAffinities function

* add scaling for new beta 4.0 internal modules in TracesLimits

* remove unused SHF_REFERENCE_TABLE from integration benchmark and full config files

* add new discovery advice entries and update existing column references in limitless.go

* remove unused column handle from GetAffinities function

* update trace limits for beta v4.0

* update beta v4.0 module limits

* add default trace limits for Beta v4.0

* add missing discovery advice entries for beta v4.0

---------

Signed-off-by: Leo Jeong <[email protected]>
Co-authored-by: DavePearce <[email protected]>

* prover: hotfix mainnet (prover image: 5d1d2f5) (#1367) 

* fix edge case while padding cols

* exit on block keccak limit overflow instead of panic

* always use rlp_txn 65536

* fix(alignment): return an overflow instead of deadlooping

* fix OnLimitOverflow

* exit on overflow for smart vectors

* revert RLP_TXN default limits

---------

Co-authored-by: srinathln7 <[email protected]>

* copy config file to assetsDir/config/ during make setup

* update version for beta v4.0

* Add conflation stats logging for execution prover

* fix bug: refactor logging levels in config types to correct order

* update golang to 1.24.6

* update to zkevm_shanghai.bin

* zkevm_cancun.bin

* update to go-corset v1.1.23

This updates to go-corset v1.1.23 and the latest constraints release.
In particular, this adds entries in the various limits files, and also
traces_limit.go for the internal modules used for the ZK assembly.

At this stage, it remains to update limitless.go.

* fix trace limits for new cancun constraints

* remove byte shl, shr, sar and fill_bytes from discovery advice

* ignore property assertions

This ignores property assertions which can occur within the zkevm.bin
file.  They are a debugging facility only and, hence, can be safely
ignored.  They are used to check things which are expected to be true
during testing.

* update limit for `POWER_REFERENCE_TABLE` to 32

* update default trace limits

* add missing shomei limits to `config_default.go`

* update test trace limits in `traces_limit.go` for beta v4.0

* Fix non-deterministic constraint ordering in arithmetization definition

This commit addresses a non-deterministic error where constraints were processed in an unpredictable order, leading to sporadic failures such as:

constraint #695954 is not satisfied (natualize.go)

error="constraint #621136 is not satisfied" (globalcs/evaluation.go)

The root cause was that constraints from the corset schema were iterated in their native order, which could vary between runs due to Go’s map iteration semantics. This resulted in inconsistent constraint evaluation and verification failures.

* upate prover version to 6.0.6 for cancun

* use zkevm_cancun.bin

* Refactor trace limits configuration for improved readability

* perf: merge prover/perf/large3 (#1507)

Squashed commit of the following:

commit 8fffcd0ef2b4985475162286553ed26d87683abd
Author: Ivo Kubjas <[email protected]>
Date:   Mon Oct 6 15:36:13 2025 +0000

    chore: include GCD convergence from gnark-crypto

commit 7fa96db45de7a780e5b80c7d53c05733b534e6eb
Author: Gautam Botrel <[email protected]>
Date:   Fri Oct 3 15:04:38 2025 +0000

    fix: fix race condition

commit 619488bc28e11eea0c205ff1250ed02a89443ce6
Author: Gautam Botrel <[email protected]>
Date:   Fri Oct 3 14:51:22 2025 +0000

    docs: add warning about no concurent use of arena reset

commit 4f54d3b8b971f1315dbe625bd6a42941c6337d45
Author: Gautam Botrel <[email protected]>
Date:   Fri Oct 3 14:50:35 2025 +0000

    restore config and cmd file

commit 4fc6f488034de6c5f9cf206c47500a7473158d3a
Author: Gautam Botrel <[email protected]>
Date:   Fri Oct 3 14:47:27 2025 +0000

    fix: remove bench from previous commit

commit 8b844653dbef86cb0d68f725c13184bf17c4234e
Author: Gautam Botrel <[email protected]>
Date:   Fri Oct 3 14:47:01 2025 +0000

    reduce allocs in InitOpeningWithLC and remove inner proof sanity check

commit 4c444a99c6a555acbc5c702f9472a7721b164fa6
Author: Gautam Botrel <[email protected]>
Date:   Fri Oct 3 13:18:02 2025 +0000

    fix: remove potential race on vector arena

commit 8e88ceaddb432c462a633ab8fc112a6f303a51d5
Author: Gautam Botrel <[email protected]>
Date:   Fri Oct 3 01:33:00 2025 +0000

    feat: restore cmd and config file

commit a70e7f2cd586b56b17c8e239ed74b68cdbf8b961
Author: Gautam Botrel <[email protected]>
Date:   Fri Oct 3 01:30:25 2025 +0000

    feat: hardcode mimc

commit e7af66a10e1dd0affaf693714ad53c1329aeab3a
Author: Gautam Botrel <[email protected]>
Date:   Fri Oct 3 01:20:25 2025 +0000

    build: update to correct gnark-crypto

commit 5a7160410e68afb6f07671289c3142f7b215915a
Author: Gautam Botrel <[email protected]>
Date:   Thu Oct 2 19:12:05 2025 +0000

    perf: checkpoint

commit 4671e7a35672f85c6ac38905765f674616c861e3
Author: Gautam Botrel <[email protected]>
Date:   Thu Oct 2 18:54:48 2025 +0000

    perf: checkpoint

commit d9dee6f4ce07eccc011f970fb34d851b93870d56
Author: Gautam Botrel <[email protected]>
Date:   Thu Oct 2 16:32:22 2025 +0000

    perf: checkpoint

commit d3ce940c526f8db6021dfbbe94af134eb73fc91d
Author: Gautam Botrel <[email protected]>
Date:   Thu Oct 2 15:11:48 2025 +0000

    minor diff

commit 19f26c81b93b4a30ff4418dc50e96410140a5851
Author: Gautam Botrel <[email protected]>
Date:   Thu Oct 2 15:04:01 2025 +0000

    fix: excessive memory in prover_tasks

commit 93df154fdc2b759cae9d4cf872f5c34c6bbcf0e2
Author: Gautam Botrel <[email protected]>
Date:   Thu Oct 2 15:00:14 2025 +0000

    clean up unused files

commit dfd1ee9d75808beeee4dbc26251a903d341a7364
Author: Gautam Botrel <[email protected]>
Date:   Thu Oct 2 14:59:40 2025 +0000

    perf: new ringsis using gnarkcrypto

commit 98d83b5134ab76ecd62d347c5f697d0d2c746f1f
Author: Gautam Botrel <[email protected]>
Date:   Thu Oct 2 14:49:07 2025 +0000

    feat: add transversal hash simple bench

commit caad1d9335875e950cd425db7e4f3e6f9b9c718f
Author: Gautam Botrel <[email protected]>
Date:   Thu Oct 2 14:40:39 2025 +0000

    perf: improve commit with sis

commit 4656664b927e0deebb0729d419a53bb32d844618
Author: Gautam Botrel <[email protected]>
Date:   Thu Oct 2 14:28:43 2025 +0000

    feat: add CommitWithSIS benchmark

* set prover version to 6.0.6 for Cancun

* feat: add new discovery advice entries for rc11

* impl. custom ser/de for gnark.fft domain (#1533)

* impl. custom ser/de for gnark.fft domain

* rm bug in TestSelfRecursionManyLayersWithSerde

* feat: adjust public-inputs for Cancun arithmetization

* feat: adjusting public-inputs for Cancun, ensure that only non-zero chainIDs are fetched

* update to rc11-hotfix (eb3fc85)

Adds prover columns and constraints for user transaction maxima/relative indices across txndata/rlptxn (cancun/osaka/prague), wires USER_TXN_NUMBER_MAX into the RLP→txndata lookup, and forces perspective-sum to be binary.

Prover columns and constraints:
txndata (cancun/osaka/prague):
Add prover___RELATIVE_USER_TXN_NUMBER, prover___IS_LAST_USER_TXN_OF_BLOCK (computed) and max columns prover___RELATIVE_USER_TXN_NUMBER_MAX, prover___USER_TXN_NUMBER_MAX with constancy/vanish/setting/finalization constraints.
rlptxn (cancun):
Add prover___USER_TXN_NUMBER_MAX with constancy and finalization constraints.
Lookup wiring:
Extend rlptxn/cancun/lookups/rlptxn_into_txndata.lisp to map txndata.prover___USER_TXN_NUMBER_MAX from rlptxn.prover___USER_TXN_NUMBER_MAX.
Flags/perspectives:
Change txndata/prague/generalities/flags_perspectives.lisp perspective-sum to force-bin the sum of RLP + HUB + CMPTN.

* refactor: update column names for rc11-hotfix

* use zkevm_prague.bin

* fix: update BlsReferenceTable corset tag for consistency

* format code for execution_data_collector.go

* feat: add new discovery advice entries

* fix: reapply execution-large circuit bug fix

This bug was originally fixed in PR #844 (#844)
but was overwritten by the limitless prover changes and has reappeared.

The issue occurs because zkevmFull's sync.Once is called by the execution circuit,
so it cannot be redefined for execution-large. As a result, execution-large uses
the zkevm instance defined for execution. This fix introduces separate sync.Once
instances to ensure both circuits are initialized independently.

* chore: enhance logging for circuit setup and module size checks

* fix: sticher scaling offset error

* update constraints to rc13 (f79e3b2)

* hub selector for txndata

* feat: updating public-input module for Cancun

* feat: add function to remove system transactions from shomei traces

* dirty: verbose logging for the projection query

* fix: txnData filters

Co-authored-by: Bogdan Ursu [email protected]
Co-authored-by: Alexandre Belling [email protected]

* chore: fix typo in the file name adress to address and clean up comments

* fix: public inputs chainID constraints

* fix: sort the expression after it was factored

* sort: sort the global constraint context

* fix: update sorting to use ColumnsForRatio instead of AllInvolvedColumns

* update constraints to rc17 (0e0b4e9) and use zkevm_prague.bin

* fix: initialize User and Hub Selectors in commitEcRecTxnData

* set Prague V1 prover version to 6.0.8

* update BLS_REFERENCE_TABLE module limit from 256 to 512

* trace limits: increase prover internal modulel limits

* feat: fix public-input empty-empty-non-empty block sequence edge case

* feat: fix public-input empty-non-empty-non-empty-empty block sequence edge case

* add missing discovery advices

* add prague verifiers

cp ./prover-assets/6.0.8/sepolia/emulation/Verifier.sol ../contracts/src/verifiers/prague/PlonkVerifierSepoliaFull.sol

cp ./prover-assets/6.0.8/mainnet/emulation/Verifier.sol ../contracts/src/verifiers/prague/PlonkVerifierMainnetFull.sol

---------

Signed-off-by: Leo Jeong <[email protected]>
Co-authored-by: Arijit Dutta <[email protected]>
Co-authored-by: DavePearce <[email protected]>
Co-authored-by: srinathln7 <[email protected]>
Co-authored-by: Ivo Kubjas <[email protected]>
Co-authored-by: Lakshminarayanan Nandakumar <[email protected]>
Co-authored-by: Bogdan Ursu <[email protected]>
Co-authored-by: AlexandreBelling <[email protected]>
* Implement TransactionEventPostProcessingSelector event deny list

* Utilise TransactionEventPostProcessingSelector for bundle transaction event denial

* Fix AbstractTransactionPostProcessingSelector.evaluateTransactionPreProcessing to always select transactions

* Fix compilation issues from previous commit

* Add unit test for TransactionEventPostProcessingSelector

* Add unit test for TransactionEventSelectionDescription

* Refactor TransactionEventSelector

* Rename TransactionEventSelectionDescription to TransactionEventFilter

* Fix javadoc in LineaTransactionSelector

* Improve invalid reason in TransactionEventSelector

* Improve invalid reason in TransactionEventSelector

* Add acceptance test

Signed-off-by: Gabriel-Trintinalia <[email protected]>

* Add addition test cases to TransactionEventDenialTest

* Fix bug in TransactionEventFilter

---------

Signed-off-by: Gabriel-Trintinalia <[email protected]>
Co-authored-by: Gabriel-Trintinalia <[email protected]>
Co-authored-by: Fabio Di Fabio <[email protected]>
* reduce num of concurrent writing go routines
* Maru genesis update

* Updating linea-besu-package

* Fixed the expected traces-api-version
#1625)

* feat: aligning advanced and basic mainnet besu config in linea-besu-package

* feat: aligning advanced and basic mainnet besu config in linea-besu-package and update linea-besu-package gha to push automatically for relevant changes

* feat: bump maru version

* feat: revise based on comment

* feat: revise based on comment

* feat: revise based on comment

* feat: set plugin-linea-max-block-calldata-size to 109000
@AlexandreBelling AlexandreBelling self-assigned this Oct 28, 2025
@AlexandreBelling AlexandreBelling requested a review from a team as a code owner October 28, 2025 08:51
@AlexandreBelling AlexandreBelling added the Prover Tag to use for all work impacting the prover label Oct 28, 2025
@codecov-commenter
Copy link

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (prover/dynamic-chain-config-mainnet@9c8080e). Learn more about missing BASE report.

Additional details and impacted files
@@                          Coverage Diff                           @@
##             prover/dynamic-chain-config-mainnet    #1640   +/-   ##
======================================================================
  Coverage                                       ?   63.00%           
  Complexity                                     ?     1481           
======================================================================
  Files                                          ?      335           
  Lines                                          ?    12929           
  Branches                                       ?     1168           
======================================================================
  Hits                                           ?     8146           
  Misses                                         ?     4182           
  Partials                                       ?      601           
Flag Coverage Δ
kotlin 63.00% <ø> (?)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

@socket-security
Copy link

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedgolang/​github.com/​consensys/​gnark@​v0.11.1-0.20250107100237-2cb190338a01 ⏵ v0.12.1-0.20250501002417-facdd9882b8082 +160 -18100100100
Addednpm/​@​solana/​wallet-adapter-base@​0.9.261001007281100
Updatedgolang/​golang.org/​x/​crypto@​v0.31.0 ⏵ v0.39.074 +1100 +20100100100
Updatedgolang/​github.com/​ethereum/​go-ethereum@​v1.14.8 ⏵ v1.15.1174 -1100 +310010060 -9
Updatedgolang/​golang.org/​x/​net@​v0.27.0 ⏵ v0.38.075 +1100 +6100100100
Updatednpm/​@​layerswap/​widget@​0.1.16 ⏵ 0.1.2075 -11008996 -1100
Updatedgolang/​github.com/​consensys/​gnark-crypto@​v0.14.1-0.20250515163241-5b554443cce2 ⏵ v0.17.1-0.20251006135912-abd34dcc600576 +1100100100100
Updatednpm/​@​types/​node-forge@​1.3.11 ⏵ 1.3.13100 +110076 +180100
Updatednpm/​@​wagmi/​connectors@​5.7.12 ⏵ 5.8.5100 +110076 +297 +1100
Updatednpm/​wagmi@​2.14.16 ⏵ 2.16.9100 +110078 +297 +1100
Updatednpm/​@​wagmi/​core@​2.16.7 ⏵ 2.17.3100 +110079 +196100
Updatednpm/​@​solana/​wallet-adapter-react@​0.15.36 ⏵ 0.15.38100 +110010080 -1100
Updatednpm/​hardhat-gas-reporter@​1.0.10 ⏵ 2.3.098 -1100100 +180100
Updatednpm/​tsup@​8.4.0 ⏵ 8.5.09810094 +182 -1100
Updatednpm/​next@​14.2.25 ⏵ 15.5.383 +2100 +1391 -39870
Updatednpm/​ethers@​6.13.4 ⏵ 6.14.398 +110010084100
Updatednpm/​@​bigmi/​react@​0.1.1 ⏵ 0.3.187 +4100100 +197 +1100
Updatednpm/​@​solana/​web3.js@​1.98.0 ⏵ 1.98.299 +110010087 +1100
Updatednpm/​@​tanstack/​react-query@​5.71.5 ⏵ 5.87.499 +110088 +197 +1100
Updatednpm/​hardhat@​2.24.0 ⏵ 2.25.094 +110091 +19680
Updatednpm/​@​lifi/​widget@​3.18.2 ⏵ 3.23.389 +410010096 +1100
Updatednpm/​@​nomicfoundation/​hardhat-verify@​1.1.1 ⏵ 2.1.199 +1100100 +194100
Updatednpm/​@​oclif/​core@​4.0.23 ⏵ 4.5.298 +110010095100
Updatedgolang/​github.com/​stretchr/​testify@​v1.9.0 ⏵ v1.10.096 +1100100100100
Updatednpm/​axios@​1.7.7 ⏵ 1.12.299 +6100 +4010096100
Updatednpm/​viem@​2.25.0 ⏵ 2.31.310010010097100
Addedgolang/​github.com/​pierrec/​lz4/​v4@​v4.1.2298100100100100
Updatedgolang/​github.com/​consensys/​go-corset@​v1.0.7 ⏵ v1.1.2398 +3100100100100
Updatednpm/​@​playwright/​test@​1.51.1 ⏵ 1.53.210010010099100
Updatedgolang/​golang.org/​x/​sync@​v0.10.0 ⏵ v0.15.099 +1100100100100
Updatedgolang/​github.com/​bits-and-blooms/​bitset@​v1.14.3 ⏵ v1.20.0100100100100100
Addedgolang/​github.com/​dnlo/​struct2csv@​v0.0.0-20190928115744-2f584471b24e100100100100100
See 2 more rows in the dashboard

View full report

jonesho pushed a commit that referenced this pull request Nov 24, 2025
@github-actions
Copy link

PR has had no activity for 30 days. What is blocking it? Is there anything you can do to help move it forward? Without action it will be closed in 7 days.

@github-actions github-actions bot added the Stale label Nov 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Prover Tag to use for all work impacting the prover Stale

Projects

None yet

Development

Successfully merging this pull request may close these issues.