-
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 |
---|---|---|
.. | ||
ast | ||
bindings | ||
foundry | ||
gen | ||
hardhat | ||
legacy-bindings | ||
predeploys | ||
solc | ||
Makefile | ||
README.md | ||
artifacts.json | ||
doc.go |