From db7c34a9df19d5a8a3a02a5e3d4cafcffa18dcb8 Mon Sep 17 00:00:00 2001 From: obscuren Date: Wed, 4 Feb 2015 18:34:29 -0800 Subject: Default gas price and default gas for rpc --- rpc/args.go | 10 ---------- rpc/packages.go | 17 +++++++++++++---- 2 files changed, 13 insertions(+), 14 deletions(-) (limited to 'rpc') diff --git a/rpc/args.go b/rpc/args.go index 34e706b98..84b076d4a 100644 --- a/rpc/args.go +++ b/rpc/args.go @@ -37,16 +37,6 @@ type NewTxArgs struct { Data string `json:"data"` } -func (a *NewTxArgs) requirements() error { - if a.Gas == "" { - return NewErrorResponse("Transact requires a 'gas' value as argument") - } - if a.GasPrice == "" { - return NewErrorResponse("Transact requires a 'gasprice' value as argument") - } - return nil -} - type PushTxArgs struct { Tx string `json:"tx"` } diff --git a/rpc/packages.go b/rpc/packages.go index a98d99d6c..047bbda9a 100644 --- a/rpc/packages.go +++ b/rpc/packages.go @@ -40,6 +40,11 @@ import ( "github.com/ethereum/go-ethereum/xeth" ) +const ( + defaultGasPrice = "10000000000000" + defaultGas = "10000" +) + type EthereumApi struct { xeth *xeth.XEth filterManager *filter.FilterManager @@ -116,10 +121,14 @@ func (p *EthereumApi) GetBlock(args *GetBlockArgs, reply *interface{}) error { } func (p *EthereumApi) Transact(args *NewTxArgs, reply *interface{}) error { - err := args.requirements() - if err != nil { - return err + if len(args.Gas) == 0 { + args.Gas = defaultGas + } + + if len(args.GasPrice) == 0 { + args.GasPrice = defaultGasPrice } + result, _ := p.xeth.Transact( /* TODO specify account */ args.To, args.Value, args.Gas, args.GasPrice, args.Data) *reply = result return nil @@ -387,7 +396,7 @@ func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error } return p.FilterChanged(args, reply) case "eth_gasPrice": - *reply = "10000000000000" + *reply = defaultGasPrice return nil case "web3_sha3": args, err := req.ToSha3Args() -- cgit v1.2.3