-
Notifications
You must be signed in to change notification settings - Fork 11.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Contract ... is not upgrade safe #5203
Comments
Hello @Zohar97 This looks like a false positive from the zksync-cli. It looks like their system does not understand the use of an immutalbe variable that is shared by all proxy instances here. |
@Zohar97 I ran into the same issue, it was caused by importing |
closing as it's out of scope. reference: matter-labs/zksync-cli#173 |
I'm using zksync-cli to create project and compile proxy contract which inherist UUPSUpgradeable and got this error:
Variable
__self
is assigned an initial valueMove the assignment to the initializer
Checking on UUPS lib, i see
address private immutable __self = address(this);
By checking OZ docs, i got "It is still ok to define constant state variables, because the compiler does not reserve a storage slot for these variables, and every occurrence is replaced by the respective constant expression. So the following still works with OpenZeppelin Upgrades:" but in this way, this __self variable is immutable, and it got warning from zksync deployment.
What should i do?
openzeppelin-contracts-upgradeable: 5.0.2
The text was updated successfully, but these errors were encountered: