diff options
Diffstat (limited to 'core/state/journal.go')
-rw-r--r-- | core/state/journal.go | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/core/state/journal.go b/core/state/journal.go index 73218dd28..b5c8ca9a2 100644 --- a/core/state/journal.go +++ b/core/state/journal.go @@ -71,8 +71,8 @@ type ( hash common.Hash } touchChange struct { - account *common.Address - prev bool + account *common.Address + prev bool prevDirty bool } ) @@ -91,6 +91,11 @@ func (ch suicideChange) undo(s *StateDB) { if obj != nil { obj.suicided = ch.prev obj.setBalance(ch.prevbalance) + // if the object wasn't suicided before, remove + // it from the list of destructed objects as well. + if !obj.suicided { + delete(s.stateObjectsDestructed, *ch.account) + } } } |