You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
function _getInitializableStorage() internalvirtualpurereturns (InitializableStorage storage $) {
Would be a smaller change, that we could easily generalize to all the upgradeable contracts. The downside is that overriding it would likely require the user writting assembly.
I'm just realizing that this would not really be "good" to generalize, because it gives the developper direct/easy access to the storage. Its basically like making the storage variables internal instead of private. I don't think its a good idea.
To better generalize the selection of a namespace, users that override the _initializableStorageSlot to provide a new slot may be interested in keeping using the upgrades plugins checks. For those cases, a good alternative could be to define a new tag for redefining the ERC-7201 storage slot
ernestognw
changed the title
Define an oz-renamespaced-from tag to redeclare ERC-7201 namespace tags.
Define an @oz-renamespaced-from tag to redeclare ERC-7201 namespace tags.
Feb 24, 2025
ernestognw
changed the title
Define an @oz-renamespaced-from tag to redeclare ERC-7201 namespace tags.
Consider an @oz-renamespaced-from tag to redeclare ERC-7201 namespace tags.
Feb 24, 2025
I'm just realizing that this would not really be "good" to generalize, because it gives the developper direct/easy access to the storage. Its basically like making the storage variables internal instead of private. I don't think its a good idea.
Right now I'd favor the current code.
@arr00 @ernestognw wdyt ? should we finally merge this ?
Originally posted by @Amxx in OpenZeppelin/openzeppelin-contracts#5337 (comment)
The text was updated successfully, but these errors were encountered: