core/state: fixed (self)destructed objects
Add the object to the list of destructed objects during a selfdestruct / suicide operation and also remove it from the list once the journal reverts.
This commit is contained in:
		| @@ -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) | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user