Spec changes.

* All errors during state transition result in an invalid tx
This commit is contained in:
obscuren
2015-03-05 19:51:25 +01:00
parent ca1093f848
commit 88ff13c241
4 changed files with 37 additions and 7 deletions

View File

@ -3,6 +3,7 @@ package core
import (
"fmt"
"math/big"
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/ethutil"
"github.com/ethereum/go-ethereum/state"
@ -185,7 +186,7 @@ func (self *StateTransition) TransitionState() (ret []byte, err error) {
}
}
if err = self.UseGas(big.NewInt(dgas)); err != nil {
return
return nil, InvalidTxError(err)
}
//stateCopy := self.env.State().Copy()
@ -231,10 +232,16 @@ func (self *StateTransition) TransitionState() (ret []byte, err error) {
*/
}
if err != nil {
self.UseGas(self.gas)
if err != nil && IsValueTransferErr(err) {
return nil, InvalidTxError(err)
}
/*
if err != nil {
self.UseGas(self.gas)
}
*/
return
}