diff --git a/xeth/xeth.go b/xeth/xeth.go index 33fda9b4b..5a5a4650a 100644 --- a/xeth/xeth.go +++ b/xeth/xeth.go @@ -129,8 +129,8 @@ func cTopics(t [][]string) [][]common.Hash { return topics } -func (self *XEth) DefaultGas() *big.Int { return defaultGas } -func (self *XEth) DefaultGasPrice() *big.Int { return defaultGasPrice } +func (self *XEth) DefaultGas() *big.Int { return new(big.Int).Set(defaultGas) } +func (self *XEth) DefaultGasPrice() *big.Int { return new(big.Int).Set(defaultGasPrice) } func (self *XEth) RemoteMining() *miner.RemoteAgent { return self.agent } @@ -565,12 +565,13 @@ func (self *XEth) Call(fromStr, toStr, valueStr, gasStr, gasPriceStr, dataStr st value: common.Big(valueStr), data: common.FromHex(dataStr), } + if msg.gas.Cmp(big.NewInt(0)) == 0 { - msg.gas = defaultGas + msg.gas = self.DefaultGas() } if msg.gasPrice.Cmp(big.NewInt(0)) == 0 { - msg.gasPrice = defaultGasPrice + msg.gasPrice = self.DefaultGasPrice() } block := self.CurrentBlock() @@ -616,11 +617,11 @@ func (self *XEth) Transact(fromStr, toStr, valueStr, gasStr, gasPriceStr, codeSt // TODO: align default values to have the same type, e.g. not depend on // common.Value conversions later on if gas.Cmp(big.NewInt(0)) == 0 { - gas = defaultGas + gas = self.DefaultGas() } if price.Cmp(big.NewInt(0)) == 0 { - price = defaultGasPrice + price = self.DefaultGasPrice() } data = common.FromHex(codeStr)