diff options
Diffstat (limited to 'ethstate/state.go')
-rw-r--r-- | ethstate/state.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/ethstate/state.go b/ethstate/state.go index b897b7ce3..2efe2a311 100644 --- a/ethstate/state.go +++ b/ethstate/state.go @@ -48,6 +48,13 @@ func (self *State) GetNonce(addr []byte) uint64 { return 0 } +func (self *State) SetNonce(addr []byte, nonce uint64) { + stateObject := self.GetStateObject(addr) + if stateObject != nil { + stateObject.Nonce = nonce + } +} + func (self *State) GetCode(addr []byte) []byte { stateObject := self.GetStateObject(addr) if stateObject != nil { @@ -66,6 +73,24 @@ func (self *State) GetState(a, b []byte) []byte { return nil } +func (self *State) SetState(addr, key []byte, value interface{}) { + stateObject := self.GetStateObject(addr) + if stateObject != nil { + stateObject.SetState(key, ethutil.NewValue(value)) + } +} + +func (self *State) Delete(addr []byte) bool { + stateObject := self.GetStateObject(addr) + if stateObject != nil { + stateObject.MarkForDeletion() + + return true + } + + return false +} + // // Setting, updating & deleting state object methods // |