Updated tests and fixed suicide
This commit is contained in:
@ -111,7 +111,7 @@ func NewStateObjectFromBytes(address, data []byte, db ethutil.Database) *StateOb
|
||||
func (self *StateObject) MarkForDeletion() {
|
||||
self.remove = true
|
||||
self.dirty = true
|
||||
statelogger.DebugDetailf("%x: #%d %v (deletion)\n", self.Address(), self.nonce, self.balance)
|
||||
statelogger.Debugf("%x: #%d %v X\n", self.Address(), self.nonce, self.balance)
|
||||
}
|
||||
|
||||
func (c *StateObject) getAddr(addr []byte) *ethutil.Value {
|
||||
|
@ -121,6 +121,7 @@ func (self *StateDB) Delete(addr []byte) bool {
|
||||
stateObject := self.GetOrNewStateObject(addr)
|
||||
if stateObject != nil {
|
||||
stateObject.MarkForDeletion()
|
||||
stateObject.balance = new(big.Int)
|
||||
|
||||
return true
|
||||
}
|
||||
@ -128,6 +129,14 @@ func (self *StateDB) Delete(addr []byte) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (self *StateDB) IsDeleted(addr []byte) bool {
|
||||
stateObject := self.GetStateObject(addr)
|
||||
if stateObject != nil {
|
||||
return stateObject.remove
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
//
|
||||
// Setting, updating & deleting state object methods
|
||||
//
|
||||
|
Reference in New Issue
Block a user