Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sep/026: Add task to fix sepolia fp upgrade #421

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

sebastianst
Copy link
Member

@sebastianst sebastianst commented Dec 17, 2024

Description

Adds task to fix the Sepolia FP upgrade, since the old one (#374) referenced a wrongly newly deployed DelayedWETH implementation.

Also adds a framework for creating reusable verification scripts. The framework was split into its own PR with #429

Additional context

This task may actually be obsolete because of #410 update: it's necessary because #410 reused the wrong DelayedWETHs.

Based on #442 which adds additional checks to DG upgrades.

Metadata

Towards ethereum-optimism/optimism#13033

justfile Outdated Show resolved Hide resolved
.circleci/config.yml Outdated Show resolved Hide resolved
@Inphi
Copy link
Contributor

Inphi commented Dec 17, 2024

fyi the 025 task number is used and now executed by #410

@sebastianst sebastianst changed the title sep/025: Add task to fix sepolia fp upgrade sep/026: Add task to fix sepolia fp upgrade Dec 18, 2024
@sebastianst sebastianst changed the title sep/026: Add task to fix sepolia fp upgrade sep/026: Add validation framework & task to fix sepolia fp upgrade Dec 18, 2024
@sebastianst sebastianst marked this pull request as ready for review December 18, 2024 14:11
@sebastianst sebastianst requested review from a team as code owners December 18, 2024 14:11
.circleci/config.yml Outdated Show resolved Hide resolved
NESTED-VALIDATION.md Outdated Show resolved Hide resolved
mds1
mds1 previously approved these changes Dec 18, 2024
@sebastianst
Copy link
Member Author

I just realized that this task may have become obsolete by #410 - in this case, I'll change this task to only add the verification framework, but will delete the task sep/026 itself. @mds1 @Inphi @mbaxter

sebastianst added a commit that referenced this pull request Dec 19, 2024
Developed in #421 and now split into its own PR.
Base automatically changed from seb/fp-verification-framework to main December 19, 2024 11:38
geoknee pushed a commit that referenced this pull request Dec 19, 2024
Developed in #421 and now split into its own PR.
@sebastianst sebastianst changed the title sep/026: Add validation framework & task to fix sepolia fp upgrade sep/026: Add task to fix sepolia fp upgrade Dec 19, 2024
@sebastianst
Copy link
Member Author

sebastianst commented Dec 20, 2024

Going to switch the FDG and PDG implementations to new MT-variants that @mbaxter deployed

  • FDG: 0x833a817eF459f4eCdB83Fc5A4Bf04d09A4e83f3F
  • PDG: 0xbBD576128f71186A0f9ae2F2AAb4afb4aF2dae17

Inphi
Inphi previously approved these changes Dec 20, 2024
@sebastianst sebastianst changed the base branch from main to seb/more-fp-verification January 6, 2025 11:36
auto-merge was automatically disabled January 6, 2025 11:36

Merge commits are not allowed on this repository

@sebastianst sebastianst marked this pull request as draft January 6, 2025 11:40
FOUNDATION_SAFE=0xDEe57160aAfCF04c34C887B5962D0a69676d3C8B
OWNER_SAFE=0x1Eb2fFc903729a0F03966B917003800b145F56E2
SAFE_NONCE=""
SIMULATE_WITHOUT_LEDGER=0 # 1
Copy link
Contributor

@Ethnical Ethnical Jan 7, 2025

Choose a reason for hiding this comment

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

This is causing issue with the justfile since the justfile is checking only if the SIMULATE_WITHOUT_LEDGER is set and not the value of the var.
So during simulation this is going to work but when the signers will have to sign this will cause issue and will require to remove this value from the env file.
cf: #448

constructor()
SuperchainRegistry("sepolia", "op", "v1.8.0-rc.4")
DisputeGameUpgrade(
0x03b7eaa4e3cbce90381921a4b48008f4769871d64f93d113fcadca08ecee503b, // absolutePrestate
Copy link
Contributor

Choose a reason for hiding this comment

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

I have verified against the MT FDG. https://sepolia.etherscan.io/address/0x833a817eF459f4eCdB83Fc5A4Bf04d09A4e83f3F#readContract
But I don't know if there is another place to get the information from?

### `0x05F9613aDB30026FFd634f38e5C4dFd30a197Fa1` (`DisputeGameFactoryProxy`)

- **Key**: `0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b` <br/>
**Before**: `0x0000000000000000000000005e0877a8f6692ed470013e651c4357d0c4941e6c` <br/>
Copy link
Contributor

Choose a reason for hiding this comment

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

The value in the before in the before is incorrect:

Suggested change
**Before**: `0x0000000000000000000000005e0877a8f6692ed470013e651c4357d0c4941e6c` <br/>
**Before**: `0x000000000000000000000000924d3d3b3b16e74bab577e50d23b2a38990dd52c` <br/>

Before this task has been executed, you will see that the returned address is `0x0000000000000000000000005e0877a8f6692ed470013e651c4357d0c4941e6c`, matching the "Before" value of this slot, demonstrating this slot is storing the address of the CANNON implementation.

- **Key**: `0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e` <br/>
**Before**: `0x0000000000000000000000004ed046e66c96600dae1a4ec39267bb0ce476e8cc` <br/>
Copy link
Contributor

Choose a reason for hiding this comment

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

The value in the before is incorrect:

Suggested change
**Before**: `0x0000000000000000000000004ed046e66c96600dae1a4ec39267bb0ce476e8cc` <br/>
**Before**: `0x000000000000000000000000879e899523ba9a4ab212a2d70cf1af73b906cbe5` <br/>

**Before**: `0x0000000000000000000000005e0877a8f6692ed470013e651c4357d0c4941e6c` <br/>
**After**: `0x000000000000000000000000833a817ef459f4ecdb83fc5a4bf04d09a4e83f3f` <br/>
**Meaning**: Updates the CANNON game type implementation. You can verify which implementation is set using `cast call 0x05F9613aDB30026FFd634f38e5C4dFd30a197Fa1 "gameImpls(uint32)(address)" 0`, where `0` is the [`CANNON` game type](https://github.com/ethereum-optimism/optimism/blob/op-contracts/v1.4.0/packages/contracts-bedrock/src/dispute/lib/Types.sol#L28).
Before this task has been executed, you will see that the returned address is `0x0000000000000000000000005e0877a8f6692ed470013e651c4357d0c4941e6c`, matching the "Before" value of this slot, demonstrating this slot is storing the address of the CANNON implementation.
Copy link
Contributor

@Ethnical Ethnical Jan 7, 2025

Choose a reason for hiding this comment

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

Here, also we need to update the value accordingly with the correct game address in the before (matching the screen).
CleanShot 2025-01-07 at 23 47 18@2x

**Before**: `0x0000000000000000000000004ed046e66c96600dae1a4ec39267bb0ce476e8cc` <br/>
**After**: `0x000000000000000000000000bbd576128f71186a0f9ae2f2aab4afb4af2dae17` <br/>
**Meaning**: Updates the PERMISSIONED_CANNON game type implementation. You can verify which implementation is set using `cast call 0x05F9613aDB30026FFd634f38e5C4dFd30a197Fa1 "gameImpls(uint32)(address)" 1`, where `1` is the [`PERMISSIONED_CANNON` game type](https://github.com/ethereum-optimism/optimism/blob/op-contracts/v1.4.0/packages/contracts-bedrock/src/dispute/lib/Types.sol#L31).
Before this task has been executed, you will see that the returned address is `0x0000000000000000000000004ed046e66c96600dae1a4ec39267bb0ce476e8cc`, matching the "Before" value of this slot, demonstrating this slot is storing the address of the PERMISSIONED_CANNON implementation.
Copy link
Contributor

Choose a reason for hiding this comment

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

Here, also we need to update the value accordingly with the correct game address in the before (matching the screen).
image

Copy link
Contributor

@Ethnical Ethnical left a comment

Choose a reason for hiding this comment

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

Nice work! We need to fix the validation file before once this is done we can merge directly!
Sorry for the delay!

Base automatically changed from seb/more-fp-verification to main January 8, 2025 15:33
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.

4 participants