I am using OZ's UUPSUpgradeable
package in Solidity 0.8.17 and my question is around best practices.
I found that some people recommend Explicit Storage Buckets
for private variable, reference dragonfly docs
However since I am using UUPSUpgradeable
on top of @openzeppelin/hardhat-upgrades
to deploy my UUPS. This automatically checks for variable collision when I upgrade using deployProxy
in hardhat, so are explicit storage buckets necessary?
In seems to add extra code, so I would prefer to keep it out unless there is additional benefits. Only benefit I can think of would be additional safety is upgrades don't happen with hardhat-upgrade's `deployProxy'. Do y'all have any feedback?
Code to reproduce
Environment
- solidity 0.8.17
- latest hardhat & '@openzeppelin/hardhat-upgrades'
"^1.21.0"
npm for deployment