Skip to content

Implement CeloSuperchainConfig standalone, without inheritance#326

Merged
m-chrzan merged 5 commits intopahor/genesisGenerationfrom
m-chrzan/celosuperchain-no-inheritance
Feb 19, 2025
Merged

Implement CeloSuperchainConfig standalone, without inheritance#326
m-chrzan merged 5 commits intopahor/genesisGenerationfrom
m-chrzan/celosuperchain-no-inheritance

Conversation

@m-chrzan
Copy link
Copy Markdown

To avoid interface problems (e.g. SuperchainConfig had a 2-argument initialize, while CeloSuperchainConfig has a 3-argument initialize), as well as to decouple the Celo contract from potential future changes to SuperchainConfig, CeloSuperchainConfig is now a standalone contract, without inheriting from SuperchainConfig.

This required some changes to tests, as well as to the DeputyGuardianModule (and related script/tests), which now expects a CeloSuperchainConfig.

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Feb 17, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 66.65%. Comparing base (92de609) to head (82737d4).

Additional details and impacted files
@@                   Coverage Diff                    @@
##           pahor/genesisGeneration     #326   +/-   ##
========================================================
  Coverage                    66.65%   66.65%           
========================================================
  Files                           56       56           
  Lines                         4666     4666           
========================================================
  Hits                          3110     3110           
  Misses                        1384     1384           
  Partials                       172      172           
Flag Coverage Δ
cannon-go-tests-32 61.88% <ø> (ø)
cannon-go-tests-64 54.16% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Base automatically changed from m-chrzan/celosupchainconfig-fixes to pahor/genesisGeneration February 18, 2025 16:43
@m-chrzan m-chrzan merged commit 3e62ce5 into pahor/genesisGeneration Feb 19, 2025
2 of 22 checks passed
@m-chrzan m-chrzan deleted the m-chrzan/celosuperchain-no-inheritance branch February 19, 2025 12:48
piersy pushed a commit that referenced this pull request Apr 8, 2025
* feat: access list (#326)

* feat: access list poc

* chore: remove is deposit tests

* fix: natspec and enhance comments

* chore: remove l1 block interop on solidity files

* fix: pr fixes

* chore: remove go logic over l1 block interop

* chore: remove some l1 block interop stuff on solidity side

* chore: remove from frozen files

* chore: remove missing l1 block interop stuff on go tests

* refactor: improve natspec and comments

* feat: add is warm tests

* feat: wip trying to integrate with common test

* fix: integrate with common test reading artifact json

* fix: pre-pr and tests

* fix: tests

* fix: tests

Co-authored-by: 0xng <ng@defi.sucks>
Co-authored-by: skeletor-spaceman <skeletor@defi.sucks>

* fix: pr review comments

* fix: op e2e inbox interface

---------

Co-authored-by: agusduha <agusnduha@gmail.com>
Co-authored-by: 0xng <ng@defi.sucks>
Co-authored-by: skeletor-spaceman <skeletor@defi.sucks>

* fix: undo identifier struct type changes (#328)

* op-e2e: skip interop tests for now until Go access-list changes land

* op-e2e: few more test-skips needed until access-list changes land

* op-e2e: missed one test-skip for access-list change

---------

Co-authored-by: Disco <131301107+0xDiscotech@users.noreply.github.com>
Co-authored-by: 0xng <ng@defi.sucks>
Co-authored-by: skeletor-spaceman <skeletor@defi.sucks>
Co-authored-by: protolambda <proto@protolambda.com>
pahor167 added a commit that referenced this pull request May 19, 2025
* L2 allocation generation by itself

* Readme added

* update of readme

* AbstractFeeCurrency

* Celo smart contracts

* added deploy of celo contracts to devnet

* working without preInitializeOptimismPortalBalance

* CustomGasToken L1 working

* REVERT LATER - just for testing

* fix of solidity version

* Update interface solidity version

* Pahor/genesis generation working deploy from celo2 (#307)

* working deploy2.s.sol from celo10

* Deployment refactor

* Compilation fix

* removal of deploy_orig

* [Contract Deployment] Split fault proof deployment (#308)

* working deploy2.s.sol from celo10

* Deployment refactor

* Contract Deployment: Split FP initialization

* Minnor format fixes

---------

Co-authored-by: pahor167 <hornak.pavel@gmail.com>

* Celo token permit

* Dual Guardian mechanism (#302)

* working deploy2.s.sol from celo10

* Deployment refactor

* Compilation fix

* removal of deploy_orig

* Setup new contract for Celo-specific guardian role

* Test the actual new contract

* Add getter for global SuperchainConfig

* Make sure global guardian can't directly pause Celo config

* Rename test contracts

* Return combined Superchain and Celo paused status

* Allow pausing of Celo config when Superchain is paused

* Ensure Celo stays paused if Superchain still paused

* Add CeloSuperchainConfig to Specs test

* Exclude CeloSuperchainConfig from Initializable test for now

* Make test view

* Use CeloSuperchainConfig interface

* Check and propagate superchain paused status in one function

* Setup CeloSuperchainConfig in deploy script

* Point OptimismPortal to CeloSuperchainConfig

* Formatting

* Use CeloSuperchainConfig in contracts that used SuperchainConfig

* Fix CrossDomanMessenger test

* Add NatSpecs

* Add unit test NatSpecs

* Add reference comment to deploy script

* Add comments

* Emit event on config update

* Initialize as paused if Superchain paused at init time

* Test Celo and Superchain pauses on OptimismPortal2

* Test Celo and Superchain pauses on OptimismPortal

* Test Celo and Superchain pauses on L1CrossDomainMessenger

* Test Celo and Superchain pauses on L1ERC721Bridge

* Use checkAndPause in L1ERC721Bridge

* Add enum and event to interface

* Use CeloSuperChainConfig in ChainAssertions

* Remove unused script

* Add CeloSuperchainConfig chain assertion

---------

Co-authored-by: pahor167 <hornak.pavel@gmail.com>

* ICeloSuperchainConfig ignored

* Remove debugging function (#313)

* Fix Initializable test (#312)

* Check CeloSuperchainConfig in Initializable test

* Ignore Celo contracts from Initializable test

* Always deal eth to precompiles (#314)

* removal of ethereum-optimism/latitude-1

* lint

* unused import removal

* Snapshots update

* semver lock

* gas tests fixes

* move of semver diff to celo-contracts/v1.8.0

* removal of debug prints

* Test cimg base image for fuzz-golang

* Install parallel

* Update kona-fpp image

* revert of deal EthToPrecompiles

* unit test fix

* CeloSuperchainConfig adjustements (#323)

* Use new namespace in inheriting contract

* Allow unset superchainConfig

* Minor audit fixes (#325)

* interfaces check fix

* lint fixes

* Implement CeloSuperchainConfig standalone, without inheritance (#326)

* Implement CeloSuperchainConfig standalone, without inheritance

* Use CeloSuperchainConfig in DelayedWETH (#329)

* build fix

* Remove usage of stateful pause check (#332)

* Celo readme

* readme fix

* removed virtual tag from paused function (#335)

* Move constants inside contracts (#336)

* Add ProxyAdmin owner verification to deploy/genesis scripts (#345)

* Provide external SuperchainConfig in deploy config (#352)

* Provide an external superchain config and deploy Celo with it

* Add externalSuperchainConfig in go and config template

* Update CeloTokenL1.sol

* Rolled back change by accident

* Fix Celo token (#358)

* Add chain_op_config field to rollup.json (required for testnets)

---------

Co-authored-by: Javier Cortejoso <javier.cortejoso@gmail.com>
Co-authored-by: Martin <marcin.j.chrzanowski@gmail.com>
Co-authored-by: Martin <martin@clabs.co>
Co-authored-by: soloseng <102702451+soloseng@users.noreply.github.com>
Co-authored-by: Martín Volpe <martin.volpe@gmail.com>
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.

3 participants