
Upgradeable Solidity without storage gaps: understanding ERC-7201 and OpenZeppelin's namespaced storage
If you have worked with upgradeable Solidity contracts for a while, you probably have a slightly unhealthy fear of state variables. Adding a function? Fine. Changing some internal logic? Usually fine.








