diff options
author | Taylor Gerring <taylor.gerring@gmail.com> | 2015-03-20 14:13:29 +0800 |
---|---|---|
committer | Taylor Gerring <taylor.gerring@gmail.com> | 2015-03-20 14:13:29 +0800 |
commit | aa3918efa711a51c241a70d675b27fc0f0c01ec3 (patch) | |
tree | cc312606bf39db44bc750605fc11f928184adcb0 | |
parent | e038a42d7a0e7e2c6ad7cef6c6446ad1e9454fe5 (diff) | |
download | go-tangerine-aa3918efa711a51c241a70d675b27fc0f0c01ec3.tar.gz go-tangerine-aa3918efa711a51c241a70d675b27fc0f0c01ec3.tar.zst go-tangerine-aa3918efa711a51c241a70d675b27fc0f0c01ec3.zip |
Move transact gas check to XEth
-rw-r--r-- | rpc/api.go | 10 | ||||
-rw-r--r-- | xeth/xeth.go | 18 |
2 files changed, 14 insertions, 14 deletions
diff --git a/rpc/api.go b/rpc/api.go index 0596aee48..20b586686 100644 --- a/rpc/api.go +++ b/rpc/api.go @@ -48,16 +48,6 @@ func (p *EthereumApi) Transact(args *NewTxArgs, reply *interface{}) (err error) return err } - // TODO: align default values to have the same type, e.g. not depend on - // common.Value conversions later on - if args.Gas.Cmp(big.NewInt(0)) == 0 { - args.Gas = p.xeth().DefaultGas() - } - - if args.GasPrice.Cmp(big.NewInt(0)) == 0 { - args.GasPrice = p.xeth().DefaultGasPrice() - } - *reply, err = p.xeth().Transact(args.From, args.To, args.Value.String(), args.Gas.String(), args.GasPrice.String(), args.Data) if err != nil { return err diff --git a/xeth/xeth.go b/xeth/xeth.go index 3d44e292c..e1e25ba09 100644 --- a/xeth/xeth.go +++ b/xeth/xeth.go @@ -521,8 +521,8 @@ func (self *XEth) Transact(fromStr, toStr, valueStr, gasStr, gasPriceStr, codeSt from []byte to []byte value = common.NewValue(valueStr) - gas = common.NewValue(gasStr) - price = common.NewValue(gasPriceStr) + gas = common.Big(gasStr) + price = common.Big(gasPriceStr) data []byte contractCreation bool ) @@ -549,6 +549,16 @@ 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 + } + + if price.Cmp(big.NewInt(0)) == 0 { + price = defaultGasPrice + } + from = common.FromHex(fromStr) data = common.FromHex(codeStr) to = common.FromHex(toStr) @@ -558,9 +568,9 @@ func (self *XEth) Transact(fromStr, toStr, valueStr, gasStr, gasPriceStr, codeSt var tx *types.Transaction if contractCreation { - tx = types.NewContractCreationTx(value.BigInt(), gas.BigInt(), price.BigInt(), data) + tx = types.NewContractCreationTx(value.BigInt(), gas, price, data) } else { - tx = types.NewTransactionMessage(to, value.BigInt(), gas.BigInt(), price.BigInt(), data) + tx = types.NewTransactionMessage(to, value.BigInt(), gas, price, data) } state := self.chainManager.TxState() |