aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTaylor Gerring <taylor.gerring@gmail.com>2015-03-20 14:13:29 +0800
committerTaylor Gerring <taylor.gerring@gmail.com>2015-03-20 14:13:29 +0800
commitaa3918efa711a51c241a70d675b27fc0f0c01ec3 (patch)
treecc312606bf39db44bc750605fc11f928184adcb0
parente038a42d7a0e7e2c6ad7cef6c6446ad1e9454fe5 (diff)
downloaddexon-aa3918efa711a51c241a70d675b27fc0f0c01ec3.tar.gz
dexon-aa3918efa711a51c241a70d675b27fc0f0c01ec3.tar.zst
dexon-aa3918efa711a51c241a70d675b27fc0f0c01ec3.zip
Move transact gas check to XEth
-rw-r--r--rpc/api.go10
-rw-r--r--xeth/xeth.go18
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()