diff options
author | obscuren <geffobscura@gmail.com> | 2014-06-19 19:41:17 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-06-19 19:41:17 +0800 |
commit | 731f55a05db44fcd5191bd7af6c99f4a4433e342 (patch) | |
tree | 00f3626b6453577a5e9204ec306df128b18eb3a7 /ethchain/state.go | |
parent | 509389be97d65d434e953b52691883aaa8d4c177 (diff) | |
download | go-tangerine-731f55a05db44fcd5191bd7af6c99f4a4433e342.tar go-tangerine-731f55a05db44fcd5191bd7af6c99f4a4433e342.tar.gz go-tangerine-731f55a05db44fcd5191bd7af6c99f4a4433e342.tar.bz2 go-tangerine-731f55a05db44fcd5191bd7af6c99f4a4433e342.tar.lz go-tangerine-731f55a05db44fcd5191bd7af6c99f4a4433e342.tar.xz go-tangerine-731f55a05db44fcd5191bd7af6c99f4a4433e342.tar.zst go-tangerine-731f55a05db44fcd5191bd7af6c99f4a4433e342.zip |
Reset state when a transition fails
Diffstat (limited to 'ethchain/state.go')
-rw-r--r-- | ethchain/state.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/ethchain/state.go b/ethchain/state.go index 616ab77e0..98fcb24db 100644 --- a/ethchain/state.go +++ b/ethchain/state.go @@ -78,11 +78,16 @@ func (s *State) EachStorage(cb ethutil.EachCallback) { it.Each(cb) } +func (self *State) ResetStateObject(stateObject *StateObject) { + stateObject.state.Reset() + + delete(self.stateObjects, string(stateObject.Address())) +} + func (self *State) UpdateStateObject(stateObject *StateObject) { addr := stateObject.Address() if self.stateObjects[string(addr)] == nil { - panic("?") self.stateObjects[string(addr)] = stateObject } |