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
Describe the bug
When some NEO owner removes his previously casted vote completely (that is he calls vote(acc, null)) the old LastGasPerVote value is kept in the account state. It won't be used in any way since VoteTo is null, but it still takes up some storage space.
Not critical, but would be nice to fix in 3.7.
Expected behavior
Clear LastGasPerVote when voting for null.
(notice zero 21 00 vs value stored in 21 07 ... in the end)
But it's not because NeoGo has the "proper" behavior described above, it's just that it loses LastGasPerVote accidentally during deserialization of non-voting account (see nspcc-dev/neo-go#3122 fix). So both nodes can be improved.
Describe the bug
When some NEO owner removes his previously casted vote completely (that is he calls
vote(acc, null)
) the oldLastGasPerVote
value is kept in the account state. It won't be used in any way sinceVoteTo
isnull
, but it still takes up some storage space.Not critical, but would be nice to fix in 3.7.
Expected behavior
Clear
LastGasPerVote
when voting fornull
.Current behavior
neo/src/Neo/SmartContract/Native/NeoToken.cs
Lines 409 to 416 in 4e9314d
(Optional) Additional context
Discovered accidentally with the master version of NeoGo, it had a state diff relative to released 3.6:
NeoGo tried to save an account state of
while C# node has
(notice zero
21 00
vs value stored in21 07 ...
in the end)But it's not because NeoGo has the "proper" behavior described above, it's just that it loses
LastGasPerVote
accidentally during deserialization of non-voting account (see nspcc-dev/neo-go#3122 fix). So both nodes can be improved.Related to #2841.
The text was updated successfully, but these errors were encountered: