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
Update the visibility of the storage location const from private to internal.
This would break ERC-7201 arround storage naming for the contracts who override this constants, but it will permit some projects built with OZ 4.x upgrades contracts to upgrade to 5.x (with a lot of cares ofc and big disclaimer everywhere, but this would help drastically reduce gas for some projects).
As far as what I saw, for a simple ERC1155 contracts, the main impacts would be:
Custom set of the ERC1155StorageLocation to the right pointer (with the help of forge inspect MyERC1155 storage-layout --pretty for exemple)
Create an upgradable function that reset the initialiser stuff (no need to set the INITIALIZABLE_STORAGE location, since no matter what it would clash with the update from uint8 to uint64, so new uint64 would overlap the previous _initializing bool)
And ofc update the callbacks and functions to the new stuff (before & after transfers callbacks)
I can wrote some documentation around major upgrade from 4 to 5 if needed
The content you are editing has changed. Please copy your edits and refresh the page.
Update the visibility of the storage location const from private to internal.
This would break ERC-7201 arround storage naming for the contracts who override this constants, but it will permit some projects built with OZ 4.x upgrades contracts to upgrade to 5.x (with a lot of cares ofc and big disclaimer everywhere, but this would help drastically reduce gas for some projects).
As far as what I saw, for a simple ERC1155 contracts, the main impacts would be:
ERC1155StorageLocation
to the right pointer (with the help offorge inspect MyERC1155 storage-layout --pretty
for exemple)INITIALIZABLE_STORAGE
location, since no matter what it would clash with the update from uint8 to uint64, so new uint64 would overlap the previous_initializing
bool)I can wrote some documentation around major upgrade from 4 to 5 if needed
Tasks
The text was updated successfully, but these errors were encountered: