Spec changes.
* All errors during state transition result in an invalid tx
This commit is contained in:
@ -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
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user