What current issue(s) does this address, or what feature is it adding?
Audit of testnet block 1303979 shows a deviation in Storage changes.
the existing syscall System.Runtime.GetTime implementation uses the latest already persisted block to get the timestamp from. C# instead uses the currently being persisted block. This led to a 1 byte difference in the script to be migrated, causing a different script_hash and as a result storages could not be found properly.
Contract_Migrate and Contract_Destroy operated on the wrong provided key data. The key data was supplied in reversed byte order causing it to not find existing storages.
How did you solve this problem?
fix the above 2 items
How did you make sure your solution works?
audit now passes, make test still ok, resynced previous 350K blocks to test for regression
Are there any special changes in the code that we should be aware of?
Please check the following, if applicable:
[ ] Did you add any tests?
[X] Did you run make lint?
[X] Did you run make test?
[X] Are you making a PR to a feature branch or development rather than master?
[X] Did you add an entry to CHANGELOG.rst? (if not, please do)
Coverage increased (+0.009%) to 85.279% when pulling 6aa300ba3a40c565e47280e5dbb095351ef03323 on ixje:fix-migrate-destroy into 124316d374017b3e01d86cdd16dc6cbf4baec2ea on CityOfZion:development.
What current issue(s) does this address, or what feature is it adding? Audit of testnet block
1303979
shows a deviation in Storage changes.System.Runtime.GetTime
implementation uses the latest already persisted block to get the timestamp from. C# instead uses the currently being persisted block. This led to a 1 byte difference in the script to be migrated, causing a different script_hash and as a result storages could not be found properly.How did you solve this problem? fix the above 2 items
How did you make sure your solution works? audit now passes, make test still ok, resynced previous 350K blocks to test for regression
Are there any special changes in the code that we should be aware of?
Please check the following, if applicable:
make lint
?make test
?CHANGELOG.rst
? (if not, please do)