-
Couldn't load subscription status.
- Fork 109
Add worldchain key handback task #1235
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
base: main
Are you sure you want to change the base?
Conversation
|
|
||
| ## Objective | ||
|
|
||
| Todo: Describe the objective of the task |
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 objective section contains placeholder text instead of actual documentation. Replace Todo: Describe the objective of the task with a detailed description that includes: what ownership transfer is being performed, why the transfer is needed, and any associated risks or prerequisites. Incomplete documentation reduces task safety by failing to clearly explain the task's purpose and potential impacts.
| Todo: Describe the objective of the task | |
| The objective of this task is to safely transfer ownership of the Worldchain cryptographic keys from the current key holders back to the designated protocol governance entities. This handback process is necessary to complete the planned key custody rotation cycle, ensuring that no single entity maintains control of critical protocol keys for extended periods. The transfer helps maintain the decentralized security model of the protocol by preventing centralization of control. | |
| Key risks include potential interruption of protocol operations during the transfer window, possibility of key compromise if transfer procedures aren't strictly followed, and governance disruption if the receiving entities aren't properly prepared. Prerequisites include verification of recipient readiness, backup of all relevant key material, and confirmation that all stakeholders have been notified of the impending transfer timeframe. |
Spotted by Diamond (based on custom rule: Superchain Ops task/template review)
Is this helpful? React 👍 or 👎 to let us know.
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 don't believe this task is using the correct safe to execute from.
| templateName = "TransferL2PAOFromL1ToEOA" | ||
|
|
||
| # The new owner address (EOA). See here https://www.notion.so/oplabs/Worldchain-key-handback-over-address-validation-272f153ee1628002bfa2e00a718c57d5?source=copy_link | ||
| newOwnerEOA = "0xe78a0a96c5d6ae6c606418ed4a9ced378cb030a0" No newline at end of file |
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.
It's good practice to put in nonce state overrides here so that we know which nonce the task is targeting. That way we know the hashes in VALIDATION.md line up with the nonce specified in here.
| - **Summary:** Resource metering params update | ||
| - **Detail:** The OptimismPortal2's resource metering parameters are updated as part of processing the deposit transaction. This is an expected side effect of calling `depositTransaction`. | ||
|
|
||
| ## Manual L2 Verification Steps |
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 execution signers should perform a manual validation that the transaction will work on the L2, they can do this by following the steps outlined in this document:
https://github.com/ethereum-optimism/superchain-ops/blob/main/src/doc/simulate-l2-ownership-transfer.md (skip the address aliasing step)
| Simulation commands for each safe: | ||
| ```bash | ||
| cd src/tasks/sep/034-worldchain-key-handback-over | ||
| SIMULATE_WITHOUT_LEDGER=1 just --dotenv-path $(pwd)/.env simulate |
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.
Does this also need to have council|foundation?
cast call 0x4200000000000000000000000000000000000018 "owner()(address)" --rpc-url https://worldchain-sepolia.g.alchemy.com/public
# returns 0x2FC3ffc903729a0f03966b917003800B145F67F3
AFAIK, the command above is the aliased L1PAO: 0x1Eb2fFc903729a0F03966B917003800b145F56E2
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.
However, the current ProxyAdminOwner for Worldchain sepolia is: https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/configs/sepolia/worldchain.toml#L43C22-L43C64 0x945185C01fb641bA3E63a9bdF66575e35a407837.
Does this transaction not have to be sent from 0x1Eb2fFc903729a0F03966B917003800b145F56E2 for it to work?
|
|
||
| --- | ||
|
|
||
| ### `0x945185c01fb641ba3e63a9bdf66575e35a407837` ([Worldchain Sepolia ProxyAdminOwner](https://github.com/ethereum-optimism/superchain-registry/blob/1ff0df40c7602761c55ab2cb693614ca0382bd64/superchain/configs/sepolia/worldchain.toml#L44)) - Chain ID: 11155111 |
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 won't work will it? This safe is not the owner of the L2ProxyAdmin.
| # Test configuration for TransferL2PAOFromL1ToEOA template | ||
| l2chains = [{name = "Worldchain Sepolia", chainId = 4801}] | ||
|
|
||
| templateName = "TransferL2PAOFromL1ToEOA" |
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 think you may need to override the ProxyAdminOwner in this file based on comments below.
Description
Tests
Additional context
Metadata