refactor[contracts]: Port OVM_DeployerWhitelist to use ovm-solc#548
refactor[contracts]: Port OVM_DeployerWhitelist to use ovm-solc#548smartcontracts merged 3 commits intomasterfrom
Conversation
🦋 Changeset detectedLatest commit: 1ad5fd2 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
This contract can't have a constructor that sets the owner? We can't forget to call this on L2 post regenesis
|
| const NON_WHITELISTED_DEPLOYER = '0x1234123412341234123412341234123412341234' | ||
| const NON_WHITELISTED_DEPLOYER_KEY = | ||
| '0x0000000000000000000000001234123412341234123412341234123412341234' | ||
| const NON_WHITELISTED_DEPLOYER_KEY = ethers.utils.keccak256( |
There was a problem hiding this comment.
Assuming that this can't be easily done because it lives in smock right now, but this should really be a call to a utility function. Took me a sec to realize this was here to handle the new solidity storage layout.
There was a problem hiding this comment.
Yeah, very true!
tynes
left a comment
There was a problem hiding this comment.
Please add a changeset and is this safe to merge to master?
|
Added changeset. Only place where this might be backwards incompatible is if we slapped the code on the existing storage layout. And users would have to have their accounts "re-whitelisted". I think we already have to do this for each regenesis though, right? |
|
Still wondering about my questions above in #548 (comment), thanks for adding the changeset. Added regenesis comment here: ethereum-optimism/scripts#12 (comment) |
maurelian
left a comment
There was a problem hiding this comment.
All good except the one question about allowing arbitrary deployments before initialization.
packages/contracts/test/contracts/OVM/execution/OVM_ExecutionManager/nuisance-gas.spec.ts
Show resolved
Hide resolved
packages/contracts/contracts/optimistic-ethereum/OVM/predeploys/OVM_DeployerWhitelist.sol
Show resolved
Hide resolved
packages/contracts/contracts/optimistic-ethereum/OVM/predeploys/OVM_DeployerWhitelist.sol
Outdated
Show resolved
Hide resolved
…s/OVM_DeployerWhitelist.sol Co-authored-by: Maurelian <maurelian@protonmail.ch>
|
Will approve pending open issue regarding removal of the |
Created #560 to cover this issue. |
* Port OVM_DeployerWhitelist to use ovm-solc * chore[contracts]: Add changeset * Update packages/contracts/contracts/optimistic-ethereum/OVM/predeploys/OVM_DeployerWhitelist.sol Co-authored-by: Maurelian <maurelian@protonmail.ch> Co-authored-by: Maurelian <maurelian@protonmail.ch>
Closes #543 ## Motivation To accept extended transactions composed of `OpTransaction`s ## Solution Implement the trait for `OpTxEnvelope` and `Extended` ## PR Checklist - [ ] Added Tests - [ ] Added Documentation - [ ] Breaking changes
Follow-up on #548 ## Motivation `OpTransaction` trait can tell if its deposit, but that is not very useful if I also need to extract it. ## Solution Add `as_deposit` function into the trait for the extraction of `TxDeposit`. ## PR Checklist - [ ] Added Tests - [ ] Added Documentation - [ ] Breaking changes
…s/op-alloy#549) Follow-up on #548 ## Motivation `OpTransaction` trait can tell if its deposit, but that is not very useful if I also need to extract it. ## Solution Add `as_deposit` function into the trait for the extraction of `TxDeposit`. ## PR Checklist - [ ] Added Tests - [ ] Added Documentation - [ ] Breaking changes
Cherry picks commit from op-rs/op-reth#540 Co-authored-by: Himess <semihcvlk53@gmail.com>
Description
Aaaand another continuation of #475. Moving
OVM_DeployerWhitelistover toovm-solc. We're touching such critical parts of the contracts that I think it's important we review each contract individually.