-
Mark Tyneway authored
Add + test a `StorageSetter` contract that can be used by upgrades and storage migrations. This contract exists to decouple migrations from implementations. The existing contracts use `Initialize` which is a leaky abstraction because it includes the fact that the implementation is behind a proxy in the implementation code itself. The logic in `initialize` must include logic that can ensure the storage is correct for any version upgrading to any version as well as going from empty storage for new deployments, adding a lot of complexity. This contract should be used as an intermediate step in upgrades, so that this contract can be used to migrate storage between different implementations.
356effb9
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| chain-mon | ||
| common-ts | ||
| contracts-bedrock | ||
| contracts-ts | ||
| core-utils | ||
| fee-estimation | ||
| sdk | ||
| web3js-plugin |