28 Commits

Author SHA1 Message Date
Andrea Franz
5d3c6785e1 chore: move forge scripts under /script 2025-06-30 11:23:59 +02:00
Andrea Franz
ba08cb9e91 chore: move L1ETHBridge and L2ETHBridge to src/bridging/eth 2025-06-27 17:06:52 +02:00
Andrea Franz
8949ea7855 chore(L1ETHBridge): L1ETHBridge inherits from MessageServiceBase and makes sure addresses are not 0 in setter functions 2025-06-23 15:58:28 +02:00
Andrea Franz
c39a921f7b feat: Add L2ETHBridge with the completeBridge function 2025-06-23 15:58:27 +02:00
Andrea Franz
6ca33e924d feature(L1ETHBridge): add L1ETHBridge that wraps a message for the L2ETHBridge contracts and forwards the funds to the yield manager 2025-06-23 15:58:27 +02:00
The Dark Jester
f611e5380d use common variable name for plonk verifier name (#1071) 2025-06-02 01:35:57 -07:00
The Dark Jester
1b2040fe1e [Feat] Use 9 blobs for Pectra (#944)
* use 9 blobs for Pectra

* add linting to script

* turn prague on by default

* remove non-prague configuration

* testing not-yet-prague is the reason for failure

* using pectra from genesis

* reset to 9 for testing

* lowering blobs per tick

* add missing 9s and update blobscan

* spotless

* expect 9 blobs in one tx

* Update coordinator/app/src/main/kotlin/net/consensys/zkevm/coordinator/app/config/CoordinatorConfig.kt

Co-authored-by: Julien Marchand <julien-marchand@users.noreply.github.com>
Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>

* refactor testdata folders and use 9 blob agg

* refactor function for ease of reading

* move arguments up

* rename function

* format parameters

* validate at least 1 blob exists

* more spotless

* simplify blob hash computation

---------

Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>
Co-authored-by: Julien Marchand <julien-marchand@users.noreply.github.com>
2025-05-09 01:47:54 -07:00
kyzooghost
e861b42699 [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
2025-03-25 20:34:49 +11:00
kyzooghost
c61dd1898a Refactor/deprecated solidity variables (#755)
* quick wins done

* doc changes

* deprecate mappings in LineaRollup

* add doc

* more deprecation

* fix

* fix linearollup version

* fix

* fix
2025-03-13 00:16:42 +11:00
kyzooghost
14c64cf906 [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
2025-02-28 21:56:44 +11:00
kyzooghost
62d0d24c57 [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
2025-02-27 20:14:26 +11:00
kyzooghost
e4e4a186ac [Fix] OZ-Upgrade-Plugin + Solhint warnings (#661)
* fix tokenbridge init ordering given oz plugin warnings

* adjust solhint linting

* fix scripts/tokenBridge/gasEstimation/gasEstimation.ts

* added   /// @custom:oz-upgrades-unsafe-allow incorrect-initializer-order

* fix for L2MessageService

* remove warning silencer for demo purpose

* Revert "remove warning silencer for demo purpose"

This reverts commit 4eccc3d0fc32501ab0e99f737e7b25daa8214601.

* add incorrect-initializer-flag to upgrades constructor function
2025-02-27 06:38:34 +00:00
Victorien Gauch
d9353756ee Fix: update contracts folder structure (#420)
* fix: update contracts folder structure

* fix: update contracts documentation

* fix: regenerate docs

* fix: remove .md file in solidity docs folder

* fix: rename Utils contract + update autoupdate script

* fix: update solidity doc

* fix: clean test contracts folder structure

* fix: clean test folder structure

* fix: update autoupdate.sh script

* fix: update solcover file

* fix: remove static nonce in LineaRollup test

* Merge branch 'main' into fix/399-update-contracts-folder-structure

* remove files in merge conflict

* fix prover reference for Mimc.sol

* fix: update docs

* fix: remove unused files

* point to correct folders in readmes

---------

Co-authored-by: thedarkjester <grant.southey@consensys.net>
2025-01-29 10:32:31 +01:00
The Dark Jester
225bc4f856 [Fix] - Remove proxy admin from remote tokenbridge script (#393)
* remove proxy admin from remote tokenbridge script

* Update contracts/scripts/operational/setRemoteTokenBridgeTask.ts

Co-authored-by: kyzooghost <73516204+kyzooghost@users.noreply.github.com>
Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>

* remove unused param

* linting

* address PR comments

* remove proxy admin address

* remove safe address

---------

Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>
Co-authored-by: kyzooghost <73516204+kyzooghost@users.noreply.github.com>
2024-12-04 08:06:42 -08:00
kyzooghost
da5b7df89b Chore/goerli removal (#342)
* replaced 'goerli' with 'sepolia' in *.md files in /contracts

* change 'goerli' to 'sepolia' in comments in /contracts
2024-11-29 03:27:54 -08:00
The Dark Jester
7476afd033 [Chore] Add setMessageServiceOnTokenBridge task (#347)
* add setMessageServiceOnTokenBridge task

* remove duplicate and correct conditional

* fix missing ! in check
2024-11-28 08:48:24 -08:00
The Dark Jester
466d847e34 [Fix] - Add missing roles and encoding for updateDelay (#345)
* add missing roles and encoding for updateDelay

* remove forge-std and ignore in git
2024-11-27 09:50:52 -08:00
The Dark Jester
3fbe660683 remove verification in wrong file (#332) 2024-11-26 03:26:05 -08:00
The Dark Jester
98291b5c4b [Feat] 191 improve documentation (#316)
* initial changes for the contract readme

* testing guidelines wip

* add contract documentation

* add note on future deprecation

* add memory and CPU requirements for docker

* add audit references to documentation

* use tokenbridge make commands in documentation

* add additional comments to testing guidelines

* define contract style guide and link it

* address PR comments with better documentation

* document tweaks and traffic generation script

* catch error on failure of main()

* add precompute script and readme documentation

* use ethers address generation

---------

Co-authored-by: count-sum <andrei.alexandru@consensys.net>
2024-11-22 09:53:15 -08:00
The Dark Jester
4af87b5fe6 [Chore] - First pass contracts and makefile cleanup (#276)
* first pass contracts and makefile cleanup

* remove unused 4844 test files

* Remove Goerli references

* lint fixing

* lint fixing

* remove more Goerli references

* correct folder paths for L2 service tests

* fix pathing and hardhat version

* reinstate deleted file

* correct file pathing
2024-11-06 02:21:14 -08:00
Victorien Gauch
36959fb21b Fix(133): Improve e2e tests performance (#234)
* fix: add mutex in account manager to avoid nonce issue

* fix: optimize global setup

* fix: update jest config to exit even if there are open handles

* feat: deploy smart contracts from artifacts + change e2e tests setup

* fix: update pnpm

* fix: remove compile contracts gradle task

* fix: remove compileContracts gradle task

* fix: refactor genesis generator dockerfile + downgrade l1-el-node besu version

* fix: move abi from e2e folder to contract folder + refactor contracts deployments scripts

* feat: add deployment script from artifacts for LineaRollupV6

* update pnpm version in get-started.md

* fix: update console log in deployment scripts

* fix: update besu version + fix deployment scripts

* fix: update submission finalization tests + rename variable
2024-10-30 14:10:24 +01:00
The Dark Jester
017df93188 [Feat] optimize blob submission data (#209)
* smart-contract: small tweak on validation and consistent naming on params

* use currentL2BlockNumber vs. memory

* cache blobFirstBlockNumber

* optimize blob number validation

* cache snarkhash and finalStateRootHash

* remove redundant checks

* remove block numbers from blob submits

* remove extra space

* address naming considerations

* use updated ABI for V6 LineaRollup

* Use NatSpec for ITokenBridge events and errors (#202)

* Use NatSpec for ITokenBridge events and errors

* pass 1 of NatSpec cleanup

* natspec pass 2

* correct wording on NatSpec

* use correct indexed keyword location

---------

Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>
Co-authored-by: Pedro Novais <1478752+jpnovais@users.noreply.github.com>
2024-10-18 11:13:09 -07:00
The Dark Jester
b3857464ad Feat/3907 state reconstruction events (#43)
* Remove lastFinalizedShnarf from finalization input
* Emit events state-reconstruction friendly
* Index shnarf on data submitted event

* reinstate public input variable name

* updated V6 ABI

* Coordinator - Allowing endless retries and setting them throughout th… (#89)

* Coordinator - Allowing endless retries and setting them throughout the app

* feat/1731 code coverage in Codecov (#13)

* feat/1731 code coverage in Codecov

* Cancel in progress workflows on new commits (#53)

* Cancel in progress workflows on new commits

* Test - Trigger workflow

* Test - Trigger workflow 2

* Group by only github.ref for branch name

* Add concurrency to more workflows

* Revert "Add concurrency to more workflows"

This reverts commit 86a00aa7b5c8e29d870acdc3d4d25d660b3a59e8.

* Print group

* Remove print steps and amend group

* Test adding concurrency group to testing.yml

* Test concurrency

* Specifying specific groups for child workflows

* Testing concurrency

* Add child groups to build and publish workflows

* Test concurrency

* Remove main workflow concurrency group

* Remove concurrency on pull request merge

* Feat/94 emit version updated event (#98)

* Emit LineaRollupVersionChanged on upgrade

* make padded hex bytes generic

* Use L2MessageService versioned API (#96)

* Stricter path filters for shared jvm-libs module (#52)

* Stricter path filters for shared jvm-libs module

* Update .github/workflows/main.yml

Co-authored-by: Roman Vaseev <4833306+Filter94@users.noreply.github.com>
Signed-off-by: Bradley Bown <bradbown@googlemail.com>

---------

Signed-off-by: Bradley Bown <bradbown@googlemail.com>
Co-authored-by: Roman Vaseev <4833306+Filter94@users.noreply.github.com>

* adding TokenBridge version for completeness (#99)

* Coordinator: DRY refactor test helpers and data for future reuse (#100)

* coordinator: adds slice ByteArrayExtensions.kt

* coordinator: adds testing file system helper

* coordinator: adds testing l1-blob-proof-submission submitter

* coordinator: rename findFile function

* coordinator: move prover responses to common test data for code reuse

* coordinator: fix ByteArray.sliceOf off-by-one bug

* coordinator: remove unnecessary!!

* coordinator: fix gradle deps

* coordinator: fix test

* coordinator: reduce transitive dependencies

* rebuild LineaRollup ABI

* Use finalStateRootHash on DataSubmittedV3

* fix flaky test

* fix regression

* use latest LineaRollup ABI for V6.0

* Add explicit comment for lastFinalizedShnarf

* NatSpec tweak and variable name correction

* Use finalizeBlocks not finalizeBlocksWithoutProof

* Use PAUSE_FINALIZATION_ROLE without WITHPROOF

* remove WithProof from finalize function

* use most up to date ABIs

* use V5 for the current end to end tests

* reinstate format from main

* reset pragma version

* rename file and env var function

---------

Signed-off-by: Bradley Bown <bradbown@googlemail.com>
Co-authored-by: count-sum <andrei.alexandru@consensys.net>
Co-authored-by: Pedro Novais <1478752+jpnovais@users.noreply.github.com>
Co-authored-by: Roman Vaseev <4833306+Filter94@users.noreply.github.com>
Co-authored-by: Bradley Bown <bradbown@googlemail.com>
2024-10-16 05:51:32 -07:00
Victorien Gauch
efbec20b18 Feat: Refactor pause manager structure (#126)
* feat: add PauseType enum

* fix: refactor test utils structure

* fix: add events to PauseManager for pauseType setting

* fix: update linea rollup deployment script

* fix: change utils folder to common

* fix: refactor roles constant and deployment scripts

* fix: add additional check in PermissionManager to prevent empty role assignments

* fix: update initialize functions with an additional param

* fix: update deployment scripts

* fix: update contracts testing

* fix: linting issue

* rename PAUSE_L2_BLOB_SUBMISSION_ROLE to PAUSE_BLOB_SUBMISSION_ROLE
2024-10-04 14:07:01 +02:00
The Dark Jester
53ea890056 Use L2MessageService versioned API (#96) 2024-09-25 08:33:35 -07:00
Victorien Gauch
235b042efd feat(3448): granular roles token bridge (#62)
* Feat/3448 create granular roles for contracts V2
* Correct flaky tests

---------

Co-authored-by: count-sum <andrei.alexandru@consensys.net>
Co-authored-by: thedarkjester <grant.southey@consensys.net>
Co-authored-by: The Dark Jester <thedarkjester@users.noreply.github.com>
2024-09-23 08:59:33 -07:00
The Dark Jester
f1744c2f46 Remove contract postCompile and align versions (#51)
* remove contract postCompile and align versions
* install Go for SMC tests
2024-09-20 05:26:30 -07:00
Julien Marchand
a001342170 chore: Initial commit
Co-authored-by: Franklin Delehelle <franklin.delehelle@odena.eu>
Co-authored-by: Alexandre Belling <alexandrebelling8@gmail.com>
Co-authored-by: Pedro Novais <jpvnovais@gmail.com>
Co-authored-by: Roman Vaseev <4833306+Filter94@users.noreply.github.com>
Co-authored-by: Bradley Bown <bradbown@googlemail.com>
Co-authored-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>
Co-authored-by: Nikolai Golub <nikolai.golub@consensys.net>
Co-authored-by: The Dark Jester <thedarkjester@users.noreply.github.com>
Co-authored-by: jonesho <81145364+jonesho@users.noreply.github.com>
Co-authored-by: Gaurav Ahuja <gauravahuja9@gmail.com>
Co-authored-by: Azam Soleimanian <49027816+Soleimani193@users.noreply.github.com>
Co-authored-by: Andrei A <andrei.alexandru@consensys.net>
Co-authored-by: Arijit Dutta <37040536+arijitdutta67@users.noreply.github.com>
Co-authored-by: Gautam Botrel <gautam.botrel@gmail.com>
Co-authored-by: Ivo Kubjas <ivo.kubjas@consensys.net>
Co-authored-by: gusiri <dreamerty@postech.ac.kr>
Co-authored-by: FlorianHuc <florian.huc@gmail.com>
Co-authored-by: Arya Tabaie <arya.pourtabatabaie@gmail.com>
Co-authored-by: Julink <julien.fontanel@consensys.net>
Co-authored-by: Bogdan Ursu <bogdanursuoffice@gmail.com>
Co-authored-by: Jakub Trąd <jakubtrad@gmail.com>
Co-authored-by: Alessandro Sforzin <alessandro.sforzin@consensys.net>
Co-authored-by: Olivier Bégassat <olivier.begassat.cours@gmail.com>
Co-authored-by: Steve Huang <97596526+stevehuangc7s@users.noreply.github.com>
Co-authored-by: bkolad <blazejkolad@gmail.com>
Co-authored-by: fadyabuhatoum1 <139905934+fadyabuhatoum1@users.noreply.github.com>
Co-authored-by: Blas Rodriguez Irizar <rodrigblas@gmail.com>
Co-authored-by: Eduardo Andrade <eduardofandrade@gmail.com>
Co-authored-by: Ivo Kubjas <tsimmm@gmail.com>
Co-authored-by: Ludcour <ludovic.courcelas@consensys.net>
Co-authored-by: m4sterbunny <harrie.bickle@consensys.net>
Co-authored-by: Alex Panayi <145478258+alexandrospanayi@users.noreply.github.com>
Co-authored-by: Diana Borbe - ConsenSys <diana.borbe@consensys.net>
Co-authored-by: ThomasPiellard <thomas.piellard@gmail.com>
2024-07-31 18:17:20 +02:00