Skip to content
This repository has been archived by the owner on Oct 28, 2021. It is now read-only.

Commit

Permalink
Rollback the change in Executive::call
Browse files Browse the repository at this point in the history
  • Loading branch information
gumb0 committed Jul 9, 2019
1 parent 433c0cf commit 9f6efb3
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions libethereum/Executive.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,14 @@ bool Executive::call(CallParameters const& _p, u256 const& _gasPrice, Address co
{
m_excepted = TransactionException::OutOfGasBase;
// Bail from exception

// Empty precompiled contracts need to be deleted even in case of OOG
// because the bug in both Geth and Parity led to deleting RIPEMD precompiled in this case
// see https://github.com/ethereum/go-ethereum/pull/3341/files#diff-2433aa143ee4772026454b8abd76b9dd
// We mark the account as touched here, so that is can be removed among other touched empty accounts (after tx finalization)
if (m_envInfo.number() >= m_sealEngine.chainParams().EIP158ForkBlock)
m_s.addBalance(_p.codeAddress, 0);

return true; // true actually means "all finished - nothing more to be done regarding go().
}
else
Expand Down

0 comments on commit 9f6efb3

Please sign in to comment.