diff options
author | obscuren <geffobscura@gmail.com> | 2015-02-05 10:34:29 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-02-05 10:34:29 +0800 |
commit | db7c34a9df19d5a8a3a02a5e3d4cafcffa18dcb8 (patch) | |
tree | b7b5ea745d208d5222c1562796538acdea32580f /rpc | |
parent | a1b4547a53c4c738e435c1968c1e606935912e47 (diff) | |
download | dexon-db7c34a9df19d5a8a3a02a5e3d4cafcffa18dcb8.tar dexon-db7c34a9df19d5a8a3a02a5e3d4cafcffa18dcb8.tar.gz dexon-db7c34a9df19d5a8a3a02a5e3d4cafcffa18dcb8.tar.bz2 dexon-db7c34a9df19d5a8a3a02a5e3d4cafcffa18dcb8.tar.lz dexon-db7c34a9df19d5a8a3a02a5e3d4cafcffa18dcb8.tar.xz dexon-db7c34a9df19d5a8a3a02a5e3d4cafcffa18dcb8.tar.zst dexon-db7c34a9df19d5a8a3a02a5e3d4cafcffa18dcb8.zip |
Default gas price and default gas for rpc
Diffstat (limited to 'rpc')
-rw-r--r-- | rpc/args.go | 10 | ||||
-rw-r--r-- | rpc/packages.go | 17 |
2 files changed, 13 insertions, 14 deletions
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() |