-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
op-deployer: Most implementation addresses not set in state.json when standard release tag used #12434
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
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.
In general LGTM! Main comment is that we should add a test for this fix. Would like either @mslipper or @bitwiseguy to review before merging, so intentionally did not approve
d0f7258
to
b543da6
Compare
… standard release tag used
Co-authored-by: Matt Solomon <matt@mattsolomon.dev>
477970c
to
90e9b58
Compare
currentBlock, _ := env.L1Client.BlockNumber(ctx) | ||
block, _ := env.L1Client.BlockByNumber(ctx, big.NewInt(int64(currentBlock))) |
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.
Do we need to check the error returned from these two calls, or is there a reason it's safe to ignore them here?
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.
Good spot, I'll make a follow up pr to fix this.
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.
We should create some semgrep rules to catch these - I will look into that.
… standard release tag used (ethereum-optimism#12434) * op-deployer: Most implementation addresses not set in state.json when standard release tag used * Update op-chain-ops/deployer/pipeline/opchain.go Co-authored-by: Matt Solomon <matt@mattsolomon.dev> * fix: parallel execution of commands. * fix: tests added * fix: vscode revert * use channel approach --------- Co-authored-by: Matt Solomon <matt@mattsolomon.dev> Co-authored-by: Matthew Slipper <me@matthewslipper.com>
When users run
op-deployer
, it's likely that they're going to be using a standard release version e.g.op-contracts/v*
. This means that most executions ofop-deployer
will only be executingDeployOPChain.s.sol
under the hood. WhenDeployOPChain.s.sol
is executed, theimplementationsDeployment
property instate.json
isn't set properly. This is because these addresses normally only get set inDeployImplementations.s.sol
, which is skipped in this case. This PR adds these addresses tostate.json
when only theDeployOPChain.s.sol
pipeline is executed.Note: there is a TODO left in the code:
This will be left for a later PR.
Related issue: https://github.com/ethereum-optimism/platforms-team/issues/347