diff options
Diffstat (limited to 'xeth')
-rw-r--r-- | xeth/xeth.go | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/xeth/xeth.go b/xeth/xeth.go index 0fe68d175..88cd30afc 100644 --- a/xeth/xeth.go +++ b/xeth/xeth.go @@ -318,7 +318,11 @@ func (self *XEth) EthTransactionByHash(hash string) (tx *types.Transaction, blha Index uint64 } - v, _ := self.backend.ExtraDb().Get(append(common.FromHex(hash), 0x0001)) + v, dberr := self.backend.ExtraDb().Get(append(common.FromHex(hash), 0x0001)) + // TODO check specifically for ErrNotFound + if dberr != nil { + return + } r := bytes.NewReader(v) err := rlp.Decode(r, &txExtra) if err == nil { @@ -774,7 +778,7 @@ func (self *XEth) PushTx(encodedTx string) (string, error) { } func (self *XEth) Call(fromStr, toStr, valueStr, gasStr, gasPriceStr, dataStr string) (string, string, error) { - statedb := self.State().State() //self.eth.ChainManager().TransState() + statedb := self.State().State().Copy() //self.eth.ChainManager().TransState() var from *state.StateObject if len(fromStr) == 0 { accounts, err := self.backend.AccountManager().Accounts() @@ -787,6 +791,7 @@ func (self *XEth) Call(fromStr, toStr, valueStr, gasStr, gasPriceStr, dataStr st from = statedb.GetOrNewStateObject(common.HexToAddress(fromStr)) } + from.SetBalance(common.MaxBig) from.SetGasPool(self.backend.ChainManager().GasLimit()) msg := callmsg{ from: from, |