diff --git a/rpc/api.go b/rpc/api.go index 9f0b88b48f68360c5d020aea84d389b630bc79f2..1626fd0afc9142e6367630f8c3f4232028529f1e 100644 --- a/rpc/api.go +++ b/rpc/api.go @@ -2,7 +2,6 @@ package rpc import ( "encoding/json" - "fmt" "math/big" "path" "strings" @@ -15,11 +14,6 @@ import ( "github.com/ethereum/go-ethereum/xeth" ) -var ( - defaultGasPrice = big.NewInt(150000000000) - defaultGas = big.NewInt(500000) -) - type EthereumApi struct { eth *xeth.XEth xethMu sync.RWMutex @@ -109,16 +103,15 @@ func (p *EthereumApi) Transact(args *NewTxArgs, reply *interface{}) (err error) // 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 = defaultGas + args.Gas = p.xeth().DefaultGas() } if args.GasPrice.Cmp(big.NewInt(0)) == 0 { - args.GasPrice = defaultGasPrice + 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 { - fmt.Println("err:", err) return err } @@ -199,7 +192,7 @@ func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error case "eth_mining": *reply = p.xeth().IsMining() case "eth_gasPrice": - *reply = common.ToHex(defaultGasPrice.Bytes()) + *reply = common.ToHex(p.xeth().DefaultGas().Bytes()) case "eth_accounts": *reply = p.xeth().Accounts() case "eth_blockNumber": diff --git a/xeth/xeth.go b/xeth/xeth.go index 504a93f5872f3af7b2dd0e5a0ee4a43469bef826..690db51350baca631e27b62efc660c70803b8e0e 100644 --- a/xeth/xeth.go +++ b/xeth/xeth.go @@ -25,6 +25,8 @@ import ( var ( pipelogger = logger.NewLogger("XETH") filterTickerTime = 5 * time.Minute + defaultGasPrice = big.NewInt(10000000000000) //150000000000 + defaultGas = big.NewInt(90000) //500000 ) // to resolve the import cycle @@ -154,6 +156,9 @@ func (self *XEth) stop() { close(self.quit) } +func (self *XEth) DefaultGas() *big.Int { return defaultGas } +func (self *XEth) DefaultGasPrice() *big.Int { return defaultGasPrice } + func (self *XEth) AtStateNum(num int64) *XEth { chain := self.Backend().ChainManager() var block *types.Block @@ -486,11 +491,6 @@ func (self *XEth) PushTx(encodedTx string) (string, error) { return common.ToHex(tx.Hash()), nil } -var ( - defaultGasPrice = big.NewInt(10000000000000) - defaultGas = big.NewInt(90000) -) - func (self *XEth) Call(fromStr, toStr, valueStr, gasStr, gasPriceStr, dataStr string) (string, error) { statedb := self.State().State() //self.chainManager.TransState() msg := callmsg{