feat: new eth lockbox#285
Merged
agusduha merged 15 commits intosc-feat/new-eth-lockkboxfrom Feb 27, 2025
Merged
Conversation
* chore: add it on the deployment scripts (wip) * feat: create the test base to check if the setup for it is working
0xDiscotech
commented
Feb 26, 2025
* chore: run pre-pr
agusduha
reviewed
Feb 26, 2025
agusduha
reviewed
Feb 26, 2025
agusduha
reviewed
Feb 26, 2025
agusduha
reviewed
Feb 26, 2025
agusduha
reviewed
Feb 26, 2025
packages/contracts-bedrock/src/libraries/errors/CommonErrors.sol
Outdated
Show resolved
Hide resolved
agusduha
reviewed
Feb 26, 2025
agusduha
reviewed
Feb 26, 2025
agusduha
reviewed
Feb 26, 2025
agusduha
pushed a commit
that referenced
this pull request
Feb 28, 2025
* feat: create new eth lockbox contract with interface * chore: add it on the deployment scripts (wip) * feat: create the test base to check if the setup for it is working * feat: add all eth lockbox tests * fix: opcm deployment script issue * fix: lockbox tests * feat: add no withdrawal tx unlock eth check * chore: check proper initialization on test * fix: pre-pr fixes * chore: run pre-pr * fix: opcm tests related to eth lockbox * feat: add admin owner check on authorize portal and lockbox as well * refactor: add prefix to errors and declare them on contract * chore add no withdrawal tx comment * feat: authorize portal in lockbox on the opcm * chore: add one more check for eth lockbox * fix: intializable and specs tests * fix: pre-pr
agusduha
added a commit
that referenced
this pull request
Mar 11, 2025
* feat: AnchorStateRegistry as source of truth Updates the OptimismPortal to use the AnchorStateRegistry as the source of truth for the validity of Dispute Game contracts. * feat: new eth lockbox (#285) * feat: create new eth lockbox contract with interface * chore: add it on the deployment scripts (wip) * feat: create the test base to check if the setup for it is working * feat: add all eth lockbox tests * fix: opcm deployment script issue * fix: lockbox tests * feat: add no withdrawal tx unlock eth check * chore: check proper initialization on test * fix: pre-pr fixes * chore: run pre-pr * fix: opcm tests related to eth lockbox * feat: add admin owner check on authorize portal and lockbox as well * refactor: add prefix to errors and declare them on contract * chore add no withdrawal tx comment * feat: authorize portal in lockbox on the opcm * chore: add one more check for eth lockbox * fix: intializable and specs tests * fix: pre-pr * feat: integrate portal with lockbox (#291) * feat: integrate portal with lockbox * fix: migrate natspec Co-authored-by: Disco <131301107+0xDiscotech@users.noreply.github.com> * fix: delete natspec Co-authored-by: Disco <131301107+0xDiscotech@users.noreply.github.com> * fix: natspec nits * chore: natspec wording * chore: function order * chore: remove internals * feat: add eth lockbox as portal arg on opcm * feat: add checks on scripts and unit tests * feat: lock and unlock tests * feat: add migrate liquidity tests * fix: other failing portal tests * chore: run pre-pr * chore: improve lock and unlock checks on tests * chore: undo portal version change and run pre-pr * refactor: enhance expect call checks * fix: fork test string error * fix: just test failing tests * refactor: pao base * refactor: setup portal and lockbox integration on initialization * feat: update lockbox setter * chore: update pao naming on tests * chore: portal comment * chore: update version and run pre-pr * fix: spec * fix: lockbox storage layout * fix: pr comments and failing test * feat: portal upgrade test * chore: remove portal balance check on chain assertions * fix: error string on chain assertions * feat: add test for portal unsafe target * fix: approval --------- Co-authored-by: Disco <131301107+0xDiscotech@users.noreply.github.com> * fix: semver lock * fix: failing tests after merge * fix: interface import * chore: add lockbox pao matches final system owner check * fix: pr comments (#293) * chore: remove unused function * chore: add pao validation checks over portal and lockbox * refactor: use interface as arg type instead of address on functions * fix: comment max length * refactor: update lockbox param type as interface * refactor: use interface as type on migrate liquidity and authorize lockbox functions * chore: run pre pr * fix: high fuzz runs failing test using mostly assume not forge address * refactor: use ioptimis portal instead of ioptimism portal2 everywhere * chore: undo changes on unrelated files to the pr * feat: add Super Root specific method to OptimismPortal Updates the OptimismPortal to include a method that allows users to prove against Super Roots for interop. * fix: pr second comments (#295) * chore: undo initializable v5 test changes * chore: remove portal already authorized check * chore: remove portal already authorized check * refactor: rename pao to proxy admin owner * fix: pre pr * fix: test upgrade fails (#296) * fix: test upgrade fails * feat: handle fork state on eth lockbox tests * chore: enhance comments * chore: run pre-pr * fix: semgrep * fix: comments * chore: address path where is not a fork to get the lockbox * chore: run pre pr * fix: pr fixes (#298) * chore: enhance opcm comment * fix: same proxy admin owner typo * feat: add insufficient balance check * chore: add natspec comments on lockbox migration process * chore: pre pr * fix: add lockbox on implementations struct to fix go test (#300) * feat: AnchorStateRegistry as source of truth Updates the OptimismPortal to use the AnchorStateRegistry as the source of truth for the validity of Dispute Game contracts. * feat: add Super Root specific method to OptimismPortal Updates the OptimismPortal to include a method that allows users to prove against Super Roots for interop. * feat: interop portal OPCM updates * fix: remove old respectedGameType check from portal test * fix: deploy new dispute games in OPCM * feat: add upgrade 15 test path * feat: integrate into opcm fork tests * fix: corrected checks for ASR * fix: rebase tweaks * fix: OPCM integration * fix: OPCM stack too deep * fix: pre pr * fix: update portal implementation on opcm upgrade * fix: call upgrade on portal without upgrading any impl * fix: iopcm interface for older versions already deployed * refactor: use minimal interface for opcm without lockbox * fix: import * chore: undo changes on opcm carried when resolving conflicts (#302) * fix: include lockbox on reinitialization test and add todos with issue number (#303) * fix: include lockbox on reinitialization test * fix: polish nits * refactor: get eth lockbox on test condition * chore: add todos pointing to the issue * fix: add ETHLockbox to op-deployer * fix: add evm tags to ETHLockboxImpl * fix: evm tags for ethLockboxProxy too * fix: remove certain ETHLockbox checks * fix: properly add ETHLockbox to state * fix: handle deposit tests and kill L2oo tests * fix: undo change in user test * fix: kill more L2OO tests * fix: bug in withdrawal validity test * fix: pr review (#309) * chore: remove unnecessary cast * refactor: add lockbox on eth migrated event * chore: rename pa owner to pa owned base * refactor: add amount on liquidity received and migrated events * fix: format * refactor: add amount on liquidity migrated event * chore: pre-pr --------- Co-authored-by: agusduha <agusnduha@gmail.com> * fix: some remaining merge issues * fix: go linting error * fix: remove old test skips * fix: unskip v2 upgrade tests * fix: skip v2 upgrade tests again --------- Co-authored-by: Disco <131301107+0xDiscotech@users.noreply.github.com> Co-authored-by: AgusDuha <81362284+agusduha@users.noreply.github.com> Co-authored-by: agusduha <agusnduha@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
NOTE:
Deployment script failing withrequire(impl.upgradeController() == _dii.upgradeController(), "OPCMI-30");-- tests weren't yet run due to this.Once solved, some polishing will probably be applied.Another test to check that 2 real lockboxes are properly integrated can be developed afterwards on the advanced testing campaign.