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
Python Version (output of python --version): Python 3.8.10
What's your issue about?
Dynamic arrays are not being allocated properly in storage. Specifically, whatever variable comes after a dynamic array will not, in fact, be placed after it, but rather will overlap with the final storage slot of the dynamic array. This is obviously really bad!
Moreover, if (again, after a clean deploy) you do it as a call rather than as a transaction, you'll see that you get a return value of 7, rather than 6, as you should.
I'm hoping there can be some sort of hotfix for this, for obvious reasons! Thank you!
The text was updated successfully, but these errors were encountered:
Version Information
vyper --version
): 0.3.2python --version
): Python 3.8.10What's your issue about?
Dynamic arrays are not being allocated properly in storage. Specifically, whatever variable comes after a dynamic array will not, in fact, be placed after it, but rather will overlap with the final storage slot of the dynamic array. This is obviously really bad!
For example, consider the following contract:
If you deploy this contract and then run the
run
method, then the storage afterward should look like this:Instead, we have this:
Moreover, if (again, after a clean deploy) you do it as a call rather than as a transaction, you'll see that you get a return value of 7, rather than 6, as you should.
I'm hoping there can be some sort of hotfix for this, for obvious reasons! Thank you!
The text was updated successfully, but these errors were encountered: