From 4142708d9d30a38c3071b895b2c42f8723830fb1 Mon Sep 17 00:00:00 2001
From: Taylor Gerring <taylor.gerring@gmail.com>
Date: Tue, 24 Feb 2015 08:51:58 +0100
Subject: Convert gas values to integers

Fixes #370
---
 rpc/packages.go | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

(limited to 'rpc')

diff --git a/rpc/packages.go b/rpc/packages.go
index b51bde7ce..4056494de 100644
--- a/rpc/packages.go
+++ b/rpc/packages.go
@@ -25,11 +25,6 @@ import (
 	"github.com/ethereum/go-ethereum/xeth"
 )
 
-const (
-	defaultGasPrice = "10000000000000"
-	defaultGas      = "10000"
-)
-
 type EthereumApi struct {
 	xeth          *xeth.XEth
 	quit          chan struct{}
@@ -45,17 +40,22 @@ type EthereumApi struct {
 	register map[string][]*NewTxArgs
 
 	db ethutil.Database
+
+	defaultGasPrice *big.Int
+	defaultGas      *big.Int
 }
 
 func NewEthereumApi(eth *xeth.XEth) *EthereumApi {
 	db, _ := ethdb.NewLDBDatabase("dapps")
 	api := &EthereumApi{
-		xeth:          eth,
-		quit:          make(chan struct{}),
-		filterManager: filter.NewFilterManager(eth.Backend().EventMux()),
-		logs:          make(map[int]*logFilter),
-		messages:      make(map[int]*whisperFilter),
-		db:            db,
+		xeth:            eth,
+		quit:            make(chan struct{}),
+		filterManager:   filter.NewFilterManager(eth.Backend().EventMux()),
+		logs:            make(map[int]*logFilter),
+		messages:        make(map[int]*whisperFilter),
+		db:              db,
+		defaultGasPrice: big.NewInt(10000000000000),
+		defaultGas:      big.NewInt(10000),
 	}
 	go api.filterManager.Start()
 	go api.start()
@@ -192,11 +192,11 @@ func (p *EthereumApi) GetBlock(args *GetBlockArgs, reply *interface{}) error {
 
 func (p *EthereumApi) Transact(args *NewTxArgs, reply *interface{}) error {
 	if len(args.Gas) == 0 {
-		args.Gas = defaultGas
+		args.Gas = p.defaultGas.String()
 	}
 
 	if len(args.GasPrice) == 0 {
-		args.GasPrice = defaultGasPrice
+		args.GasPrice = p.defaultGasPrice.String()
 	}
 
 	// TODO if no_private_key then
@@ -525,7 +525,7 @@ func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error
 		}
 		return p.AllLogs(args, reply)
 	case "eth_gasPrice":
-		*reply = defaultGasPrice
+		*reply = "0x" + toHex(p.defaultGasPrice.Bytes())
 		return nil
 	case "eth_register":
 		args, err := req.ToRegisterArgs()
-- 
cgit v1.2.3