46 Commits

Author SHA1 Message Date
Andrea Franz
962c731aa9 feat: implement L1ETHBridge.finalizeWithdrawal 2025-06-27 17:06:52 +02:00
Andrea Franz
6200e94927 chore: update CompletedMessage to have the hash of the message without all the fields 2025-06-27 17:06:52 +02:00
Andrea Franz
4408e5a1fb chore: rename completeBridge to completeBridging 2025-06-27 17:06:52 +02:00
Andrea Franz
3464208e46 chore: remove sender/recipient checks in YieldRollup.sendMessage since they are already in the ETH bridges 2025-06-27 17:06:52 +02:00
Andrea Franz
709cf6fa5b chore: override internal claim/send message functions to keep the original modifiers 2025-06-27 17:06:52 +02:00
Andrea Franz
6c6fcceee1 chore: removed unused IRollup interface 2025-06-27 17:06:52 +02:00
Andrea Franz
dc1549d03d feat: implement L2ETHBridge.bridgeETH and L1ETHBridge.completeBridge 2025-06-27 17:06:52 +02:00
Andrea Franz
ba08cb9e91 chore: move L1ETHBridge and L2ETHBridge to src/bridging/eth 2025-06-27 17:06:52 +02:00
Andrea Franz
f49b1b2855 chore: move L2YieldMessageService under src/messaging/l2 2025-06-27 17:06:52 +02:00
Andrea Franz
5bedbfd509 chore: moved YieldRollup to src/rollup 2025-06-27 17:06:52 +02:00
Andrea Franz
f6ebdcde96 chore: add L1/L2 ETHBridge interfaces and emit events when addresses are updated 2025-06-23 15:58:28 +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
667916e2ab feat: add L2YieldMessageService 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
bd90067a29 feat: add YieldRollup 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
Andrea Franz
f4b10c6e4a feat(yield): import Blast's yield manager 2025-06-23 15:58:20 +02:00
Andrea Franz
a6bfa2048d chore: rollback verifiers changes not supported in status network 2025-06-23 11:08:20 +02:00
The Dark Jester
e66abc64fd Feat/1076 refactor and allow overriding (#1079)
* 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 <85494462+VGau@users.noreply.github.com>
Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>

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

Co-authored-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>
Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>

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

Co-authored-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>
Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>

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

Co-authored-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>
Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>

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

Co-authored-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>
Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>

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

Co-authored-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>
Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>

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

Co-authored-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>
Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>

* Update contracts/src/rollup/LineaRollupBase.sol

Co-authored-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>
Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>

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

Co-authored-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>
Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>

* Update contracts/src/verifiers/PlonkVerifierDev.sol

Co-authored-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>
Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>

* Update contracts/src/verifiers/PlonkVerifierForDataAggregation.sol

Co-authored-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>
Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>

* Update contracts/src/verifiers/PlonkVerifierForMultiTypeDataAggregation.sol

Co-authored-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>
Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>

* Update contracts/src/verifiers/PlonkVerifierMainnetFull.sol

Co-authored-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>
Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>

* Update contracts/src/verifiers/PlonkVerifierSepoliaFull.sol

Co-authored-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>
Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>

* linting

* allow submitDataAsCalldata overriding

* address missing test coverage

* adjust gap name for storage clarity

---------

Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>
Co-authored-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>
2025-06-17 09:26:24 -07:00
AlexandreBelling
56c48093a3 Prover: Prepare the setup for 5.1.2 (#1070)
* chores(cfg): bumps the version of the prover to 5.1.2

* feat(contracts): updates the contracts to 5.1.2
2025-06-03 10:42:18 +02:00
The Dark Jester
b5cdaf5300 [Chore] Tweak contracts post Aderyn run (#1062)
* remove variable shadowing

* remove unused errors
2025-05-28 07:39:53 -07:00
The Dark Jester
9bc1e42c03 [Chore] Bump solc version and override L2 contracts (#1051)
* bump solc version and override L2 contracts

* remove unused file

* refactored and using 0.8.30

* remove floating pragmas

* bump pragma interfaces and inherited contracts
2025-05-28 06:21:54 -07:00
AlexandreBelling
05d14d8df7 Prover/beta v2 release (#1043)
* bump to beta v2.1-rc16

* add a prover config file for devnet

* update srs url

* bump constraints to cbc6bcb and go-corset to v1.1.1

* use go-corset v1.1.1

* use go-corset v1.1.3

* feat(state-manager): insertion and ephemeral filters .

* chores(versions): align the constraints version

* chores(version): align the corset version

* chores(version): update the zkevm.bin

* chores(version): update the zkevm.bin

* fix(limits): removes discrepancy between the sepolia and the mainnet config file

* chores(release): update the verifier contracts

* testing(contract): updates the post-release testdata

* chores(contracts): update the contracts

* chores(constraints): updates constraints and corset to use the right value

* chores(mod): updates the corset dependency and zkevm.bin

* testing(contract): updates the testdata

* chores(config): update the sample config to use the right version

---------

Co-authored-by: gusiri <dreamerty@postech.ac.kr>
Co-authored-by: Bogdan Ursu <bogdanursuoffice@gmail.com>
2025-05-26 15:03:43 +02:00
The Dark Jester
89e9c2cbca redo transient keyword pr (#1019) 2025-05-19 02:27:19 -07:00
The Dark Jester
5d5b56dadd [Chore] Bumping Hardhat and Solidity to latest (#995)
* bumping Hardhat and Solidity to latest

* bump coverage plugin

* add coverage var to command execute

* revert test

* update build script to use 0.8.28
2025-05-13 08:14:07 -07:00
AlexandreBelling
179a3552ae Prover/setup of beta v1.4 for mainnet (#875)
* chores(cfg): create the config-mainnet-full.toml

* feat(contracts): adds PlonkVerifierMainnetFull contract

* dropme(cfg): points to the mainnet test files

* chores(contract): adds a tarball with all the inputs for the contract testing

* move betav1 test

* got to executing rollup case

* minor edit

* did boilerplate for migration test

* new

* fix: update betav1.4 migrations tests

* fix: remove .only in tests

* minor edits

* add new unit test and fix testverifierindex variable

---------

Co-authored-by: kyzooghost <jeffersonzjtang@gmail.com>
Co-authored-by: VGau <victorien.gauch@consensys.net>
2025-04-17 13:28:22 +02:00
AlexandreBelling
7c107a9d13 chores(conf): set the version to 5.0.2 (#850)
* chores(conf): set the version to 5.0.2
* chores(5.0.2): Updates the contracts to work with 5.0.2
2025-04-08 16:31:59 +02:00
The Dark Jester
03bea2be26 lint fixing and logging of setverifieraddress (#811) 2025-04-08 07:29:56 -07:00
AlexandreBelling
efe3b24c25 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
2025-03-25 10:56:06 +01: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
d05475241d [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 <thedarkjester@users.noreply.github.com>
Signed-off-by: kyzooghost <73516204+kyzooghost@users.noreply.github.com>

* Update contracts/src/security/pausing/interfaces/IPauseManager.sol

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

* Update contracts/src/security/pausing/PauseManager.sol

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

* Update contracts/src/security/pausing/PauseManager.sol

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

* fix unchecked

* Update contracts/src/security/pausing/PauseManager.sol

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

* Update contracts/src/security/pausing/PauseManager.sol

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

* Update contracts/src/security/pausing/PauseManager.sol

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

* 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 <thedarkjester@users.noreply.github.com>
Signed-off-by: kyzooghost <73516204+kyzooghost@users.noreply.github.com>

* added unpausebytype comment

---------

Signed-off-by: kyzooghost <73516204+kyzooghost@users.noreply.github.com>
Co-authored-by: The Dark Jester <thedarkjester@users.noreply.github.com>
2025-03-01 00:46:53 +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
kyzooghost
3a5cab036a fix tokenbridge comment typos (#729) 2025-02-26 21:29:50 +11:00
Pedro Novais
3caceed6f6 Staterecovery part 13 blockhash fixes (#675)
staterecovery: fix blockHash opcode and improve performance of blob fetching from L1

---------

Signed-off-by: Pedro Novais <1478752+jpnovais@users.noreply.github.com>
Co-authored-by: Roman Vaseev <4833306+Filter94@users.noreply.github.com>
2025-02-20 10:14:38 +00:00
kyzooghost
a72a7e930c smart contract doc changes for erc-20 (#695) 2025-02-18 20:24:09 +11:00
AlexandreBelling
d50e8141b3 chores(verifier): adds the new verifier contract and update the tests (#687) 2025-02-14 03:42:03 -08:00
AlexandreBelling
4c01e012ef chores(verifier): add the sepolia beta-v1.3 contract (fmtted) (#684)
* chores(verifier): add the sepolia beta-v1.3 contract (fmtted)

* chores(contracts): update the testdata proof

* fixup(testdata): readd the wrongly deleted fields
2025-02-13 01:49:27 -08:00
The Dark Jester
4700e9078c [Chore] - use defined account for opcode testing (#671)
* use defined account for opcode testing

* add output to show execution
2025-02-11 05:57:10 -08:00
The Dark Jester
c0836063cd use blockhash with current block (#663) 2025-02-07 04:12:45 -08:00
kyzooghost
aa64956c77 [Feat] L1 contracts bump to solidity 0.8.28 (#656)
* working hardhat compile

* bump solhint version

* bump hardhat version

* remove 0.8.26 refs

* remove solhint join discord cli message

* update upgrades-core dependency

* silence openzeppelin-upgrades error for test fixtures

* fix floating version for integrationtesttrue

* remove 0.8.26
2025-02-07 00:00:02 +11:00
The Dark Jester
b5194c0d5e add contracts and out of gas script linea scenario (#653) 2025-02-04 14:44:38 -08:00
kyzooghost
5fbd7ed9aa [Feat] Remove flattened contracts (#640)
* remove TokenBridgeFlatten and L2MessageServiceLineaMainnet

* remove contracts/deploy/04_deploy_L2MessageServiceV1Deployed.ts

* delete 04_deploy_L2MessageServiceImplementation

* give floating pragma to
IntegrationTestTrueVerifier.sol

* added deployed-artifacts

* added versioning to tokenbridge + l2messageservice artifacts

* revert bridge-ui changes

* fix typechain imports in e2e tests

* more artifact typechain fixes

* deploy contracts -> v1

* Revert "deploy contracts -> v1"

This reverts commit 34314bbad26a6c44e1ef311552f63f52275495f8.

* redo add v1 to artifact deployment scripts after merge main

* restore deleted files

* more pr adjustments

* empty to prompt ci
2025-02-05 00:53:43 +11:00
kyzooghost
1a811f452d [Feat] Floating pragma for inherited contracts (#630)
* floating pragma for inherited contracts

* make ratelimiter abstract contract
2025-02-04 20:28:54 +11:00
The Dark Jester
b1c8ec57d6 [Chore] - 498 v5 techdebt cleanup (#613)
* initial V5 removal before main coordinator adjust

* fix build issue

* default to V6 and remove V5 references

* force  Web3JLineaRollupSmartContractClientReadOnly

* fix test reference

* remove V5 references
2025-01-29 20:49:23 +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