forked from cerc-io/plugeth
Improved error reporting and removed commented code
This commit is contained in:
parent
6b63759ded
commit
477815c044
@ -80,7 +80,7 @@ func (self *BlockProcessor) ApplyTransaction(coinbase *state.StateObject, stated
|
|||||||
cb := statedb.GetStateObject(coinbase.Address())
|
cb := statedb.GetStateObject(coinbase.Address())
|
||||||
st := NewStateTransition(NewEnv(statedb, self.bc, tx, block), tx, cb)
|
st := NewStateTransition(NewEnv(statedb, self.bc, tx, block), tx, cb)
|
||||||
_, err := st.TransitionState()
|
_, err := st.TransitionState()
|
||||||
if err != nil && (IsNonceErr(err) || state.IsGasLimitErr(err)) {
|
if err != nil && (IsNonceErr(err) || state.IsGasLimitErr(err) || IsInvalidTxErr(err)) {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -120,17 +120,12 @@ func (self *BlockProcessor) ApplyTransactions(coinbase *state.StateObject, state
|
|||||||
|
|
||||||
for _, tx := range txs {
|
for _, tx := range txs {
|
||||||
receipt, txGas, err := self.ApplyTransaction(coinbase, statedb, block, tx, totalUsedGas, transientProcess)
|
receipt, txGas, err := self.ApplyTransaction(coinbase, statedb, block, tx, totalUsedGas, transientProcess)
|
||||||
if err != nil {
|
if err != nil && (IsNonceErr(err) || state.IsGasLimitErr(err) || IsInvalidTxErr(err)) {
|
||||||
switch {
|
|
||||||
case IsNonceErr(err):
|
|
||||||
return nil, nil, nil, nil, err
|
return nil, nil, nil, nil, err
|
||||||
case state.IsGasLimitErr(err):
|
|
||||||
return nil, nil, nil, nil, err
|
|
||||||
default:
|
|
||||||
statelogger.Infoln(err)
|
|
||||||
erroneous = append(erroneous, tx)
|
|
||||||
err = nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
statelogger.Infoln("TX err:", err)
|
||||||
}
|
}
|
||||||
receipts = append(receipts, receipt)
|
receipts = append(receipts, receipt)
|
||||||
handled = append(handled, tx)
|
handled = append(handled, tx)
|
||||||
|
@ -184,6 +184,7 @@ func (self *StateTransition) TransitionState() (ret []byte, err error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if err = self.UseGas(big.NewInt(dgas)); err != nil {
|
if err = self.UseGas(big.NewInt(dgas)); err != nil {
|
||||||
|
println("2")
|
||||||
return nil, InvalidTxError(err)
|
return nil, InvalidTxError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -200,46 +201,14 @@ func (self *StateTransition) TransitionState() (ret []byte, err error) {
|
|||||||
ref.SetCode(ret)
|
ref.SetCode(ret)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
if vmenv, ok := vmenv.(*VMEnv); ok && tryJit {
|
|
||||||
statelogger.Infof("CREATE: re-running using JIT (PH=%x)\n", stateCopy.Root()[:4])
|
|
||||||
// re-run using the JIT (validation for the JIT)
|
|
||||||
goodState := vmenv.State().Copy()
|
|
||||||
vmenv.state = stateCopy
|
|
||||||
vmenv.SetVmType(vm.JitVmTy)
|
|
||||||
vmenv.Create(sender, contract.Address(), self.msg.Data(), self.gas, self.gasPrice, self.value)
|
|
||||||
statelogger.Infof("DONE PH=%x STD_H=%x JIT_H=%x\n", stateCopy.Root()[:4], goodState.Root()[:4], vmenv.State().Root()[:4])
|
|
||||||
self.state.Set(goodState)
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
} else {
|
} else {
|
||||||
ret, err = vmenv.Call(self.From(), self.To().Address(), self.msg.Data(), self.gas, self.gasPrice, self.value)
|
ret, err = vmenv.Call(self.From(), self.To().Address(), self.msg.Data(), self.gas, self.gasPrice, self.value)
|
||||||
|
|
||||||
/*
|
|
||||||
if vmenv, ok := vmenv.(*VMEnv); ok && tryJit {
|
|
||||||
statelogger.Infof("CALL: re-running using JIT (PH=%x)\n", stateCopy.Root()[:4])
|
|
||||||
// re-run using the JIT (validation for the JIT)
|
|
||||||
goodState := vmenv.State().Copy()
|
|
||||||
vmenv.state = stateCopy
|
|
||||||
vmenv.SetVmType(vm.JitVmTy)
|
|
||||||
vmenv.Call(self.From(), self.To().Address(), self.msg.Data(), self.gas, self.gasPrice, self.value)
|
|
||||||
statelogger.Infof("DONE PH=%x STD_H=%x JIT_H=%x\n", stateCopy.Root()[:4], goodState.Root()[:4], vmenv.State().Root()[:4])
|
|
||||||
self.state.Set(goodState)
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if err != nil && IsValueTransferErr(err) {
|
if err != nil && IsValueTransferErr(err) {
|
||||||
return nil, InvalidTxError(err)
|
return nil, InvalidTxError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
if err != nil {
|
|
||||||
self.UseGas(self.gas)
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user