From c74c07eed19f8a328f47aca7b9e01dcdf8731847 Mon Sep 17 00:00:00 2001 From: obscuren Date: Tue, 3 Mar 2015 16:20:38 +0100 Subject: Fixed error for invalid transaction --- tests/helper/vm.go | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'tests/helper') diff --git a/tests/helper/vm.go b/tests/helper/vm.go index 8811936fa..9ebf8f8b6 100644 --- a/tests/helper/vm.go +++ b/tests/helper/vm.go @@ -167,6 +167,7 @@ func RunState(statedb *state.StateDB, env, tx map[string]string) ([]byte, state. // Set pre compiled contracts vm.Precompiled = vm.PrecompiledContracts() + snapshot := statedb.Copy() coinbase := statedb.GetOrNewStateObject(caddr) coinbase.SetGasPool(ethutil.Big(env["currentGasLimit"])) @@ -175,6 +176,9 @@ func RunState(statedb *state.StateDB, env, tx map[string]string) ([]byte, state. st := core.NewStateTransition(vmenv, message, coinbase) vmenv.origin = keyPair.Address() ret, err := st.TransitionState() + if core.IsNonceErr(err) || core.IsInvalidTxErr(err) { + statedb.Set(snapshot) + } statedb.Update(vmenv.Gas) return ret, vmenv.logs, vmenv.Gas, err -- cgit v1.2.3