mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
test: Properly clear storage dirty flag
Clear storage dirty flag between transactions in EVMHost. The EIP-2200 dirty flag should be persisted only in a single transaction.
This commit is contained in:
+5
-2
@@ -174,10 +174,13 @@ void EVMHost::newTransactionFrame()
|
||||
{
|
||||
// Clear EIP-2929 account access indicator
|
||||
recorded_account_accesses.clear();
|
||||
// Clear EIP-2929 storage access indicator
|
||||
|
||||
for (auto& [address, account]: accounts)
|
||||
for (auto& [slot, value]: account.storage)
|
||||
value.access_status = EVMC_ACCESS_COLD;
|
||||
{
|
||||
value.access_status = EVMC_ACCESS_COLD; // Clear EIP-2929 storage access indicator
|
||||
value.dirty = false; // Clear EIP-2200 dirty slot flag
|
||||
}
|
||||
// Process selfdestruct list
|
||||
for (auto& [address, _]: recorded_selfdestructs)
|
||||
accounts.erase(address);
|
||||
|
||||
Reference in New Issue
Block a user