-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Fixed: some touched accounts were not verified for eip161 deletion #625
Conversation
@Nashatyrev should fix #622 |
I added merge for regular call but forgot about create. Do you mean any other cases?
Yep probably. Also it is possible that we shouldn't add touched accounts in case of throw. But if this will work on live then it actually doesn't matter much, since all accounts are cleared now and this execution branch will not be executed anymore |
Just asking you to check it too according to specs to clarify that we didn't forgot anything else.
Yeah, that's why I've asked about ProgramResult. So I will refactor it a bit now. |
Please, check |
@@ -465,6 +465,7 @@ public void createContract(DataWord value, DataWord memStart, DataWord memSize) | |||
if (!byTestingSuite()) | |||
track.commit(); | |||
getResult().addDeleteAccounts(result.getDeleteAccounts()); | |||
getResult().addTouchAccounts(result.getTouchedAccounts()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
M.b. make it a part of ProgramResult.merge()
?
@Nashatyrev Updated to use merge |
Let's clarify
ethereum/EIPs#161
An account changes state when:
Looks like we could answer YES on all of this, but you'd better check too. So: