aboutsummaryrefslogtreecommitdiffstats
path: root/ethchain/state.go
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-06-19 19:41:17 +0800
committerobscuren <geffobscura@gmail.com>2014-06-19 19:41:17 +0800
commit731f55a05db44fcd5191bd7af6c99f4a4433e342 (patch)
tree00f3626b6453577a5e9204ec306df128b18eb3a7 /ethchain/state.go
parent509389be97d65d434e953b52691883aaa8d4c177 (diff)
downloadgo-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.go7
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
}