-
Notifications
You must be signed in to change notification settings - Fork 51
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
base: main
Are you sure you want to change the base?
Conversation
5322598
to
0e47db0
Compare
fyi the 025 task number is used and now executed by #410 |
0e47db0
to
4687d2b
Compare
3141303
to
7a83426
Compare
Developed in #421 and now split into its own PR.
28cb383
to
8eb2621
Compare
Developed in #421 and now split into its own PR.
Going to switch the FDG and PDG implementations to new MT-variants that @mbaxter deployed
|
8eb2621
to
98b9fa0
Compare
98b9fa0
to
28e82b3
Compare
28e82b3
to
e319959
Compare
e319959
to
8e8068b
Compare
Merge commits are not allowed on this repository
FOUNDATION_SAFE=0xDEe57160aAfCF04c34C887B5962D0a69676d3C8B | ||
OWNER_SAFE=0x1Eb2fFc903729a0F03966B917003800b145F56E2 | ||
SAFE_NONCE="" | ||
SIMULATE_WITHOUT_LEDGER=0 # 1 |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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/> |
There was a problem hiding this comment.
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:
**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/> |
There was a problem hiding this comment.
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:
**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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
**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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this 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!
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 #429Additional context
This task may actually be obsolete because of #410update: it's necessary because #410 reused the wrongDelayedWETH
s.Based on #442 which adds additional checks to DG upgrades.
Metadata
Towards ethereum-optimism/optimism#13033