-
Notifications
You must be signed in to change notification settings - Fork 2.3k
feat(protocol): introduce DAO proposal 6 and 7 for Shasta fork #20793
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
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.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| function buildL1Actions() internal view override returns (Controller.Action[] memory actions) { | ||
| actions = new Controller.Action[](2); | ||
|
|
||
| actions[0] = buildUpgradeAction(L1.SIGNAL_SERVICE, ForkRouter(L1.SIGNAL_SERVICE).newFork()); |
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 remember this will not work if we run P=0007 pnpm proposal:dryrun:l1 but maybe I'm wrong.
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.
let me give a try to verify.
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.
Just gave this a try locally:
function buildL1Actions() internal view override returns (Controller.Action[] memory actions) {
actions = new Controller.Action[](1);
actions[0] = buildUpgradeAction(L1.INBOX, ForkRouter(payable(L1.INBOX)).newFork());
}since L1.SIGNAL_SERVICE is not using SignalServiceForkRouter yet, looks like it works:
Traces:
[1130069] → new Proposal0007@0x9f7cF1d1F558E57ef88a59ac3D47214eF25B6A06
└─ ← [Return] 5534 bytes of code
[42671] Proposal0007::run()
├─ [0] VM::envString("MODE") [staticcall]
│ └─ ← [Return] <env var value>
├─ [0] VM::startBroadcast()
│ └─ ← [Return]
├─ [5126] 0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a::newFork() [staticcall]
│ ├─ [237] 0xbB1f830636e1A017b81C3E38b7f6219344149Eb7::newFork() [delegatecall]
│ │ └─ ← [Return] 0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8
│ └─ ← [Return] 0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8
├─ [24684] 0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a::dryrun(0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000006a9ab27c7e2255df1815e6cc0168d7755feb19a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000243659cfe6000000000000000000000000af95c030c7b8994ba9213b6a3964baa64e7df9d800000000000000000000000000000000000000000000000000000000)
│ ├─ [19737] 0x4347df63bdC82b8835fC9FF47bC5a71a12cC0f06::dryrun(0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000006a9ab27c7e2255df1815e6cc0168d7755feb19a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000243659cfe6000000000000000000000000af95c030c7b8994ba9213b6a3964baa64e7df9d800000000000000000000000000000000000000000000000000000000) [delegatecall]
│ │ ├─ [13233] 0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a::upgradeTo(0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8)
│ │ │ ├─ [12844] 0xbB1f830636e1A017b81C3E38b7f6219344149Eb7::upgradeTo(0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8) [delegatecall]
│ │ │ │ ├─ [391] 0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8::proxiableUUID() [staticcall]
│ │ │ │ │ └─ ← [Return] 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
│ │ │ │ ├─ emit Upgraded(implementation: 0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8)
│ │ │ │ └─ ← [Stop]
│ │ │ └─ ← [Return]
│ │ ├─ emit ActionExecuted(target: 0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a, value: 0, data: 0x3659cfe6000000000000000000000000af95c030c7b8994ba9213b6a3964baa64e7df9d8)
│ │ ├─ emit DryrunGasCost(gasUsed: 18129 [1.812e4])
│ │ └─ ← [Revert] DryrunSucceeded()
│ └─ ← [Revert] DryrunSucceeded()
└─ ← [Revert] DryrunSucceeded()
Error: script failed: DryrunSucceeded()
ELIFECYCLE Command failed with exit code 1.
|
@davidtaikocha lets work on this PR again once all addresses are deployed. We can simply use the deployed address as constant values without querying the "newFork" function. |
script/layer1/mainnet/DeployShasta.s.solto deploy a newMainnetInbox, a newSignalServiceimplementation +SignalServiceForkRouterimplementation, and aPreconfWhitelistimplementation.script/layer2/DeployShasta.s.solto deploy a newBondManager-backedAnchorimplementation and wrap it with anAnchorForkRouterimplementation, plus a newSignalServiceimplementation +SignalServiceForkRouterimplementation.0006artifacts:script/layer1/proposals/Proposal0006.s.solandscript/layer1/proposals/Proposal0006.mddocumenting the Shasta fork upgrade plan and placeholder addresses to be filled post-deploy.TODO
Run L1 / L2 Shasta deployment scripts after the audit, then update the new implementation addresses in
script/layer1/proposals/Proposal0006.s.sol, and generateProposal0006.action.md.