Commit 7efc4392 authored by Mark Tyneway's avatar Mark Tyneway

op-chain-ops: extended pause 2 step upgrades

The new storage setter contract with ability to set multiple
slots in a single call is deployed at [0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC](https://etherscan.io/address/0xd81f43edbcacb4c29a9ba38a13ee5d79278270cc#code).
It was deployed with create2 and should also be on goerli + sepolia and
ay other chain that has a superchain deployed on it.

Manual calls to `upgradeAndCall` are made. There isn't a great way to
support multiple upgrades at a time within `op-upgrade` so adopting a
"release" model where `op-upgrade` supports building a single version to
another single version makes the most sense. It is too difficult given
the current abstractions to build something that supports any upgrade to
any upgrade arbitrarily. This sort of system is certainly possible to
build but we would need to think more about the abstractions.

One thing is this does not support a reverse upgrade aka downgrade.

Each storage slot that was set as part of the upgrade to MCP is removed
using the `StorageSetter` contract. A link to the storage layout file
is included for each call to `setStorage`.
parent 518f4649
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment