diff options
author | Bas van Kervel <bas@ethdev.com> | 2015-06-29 17:13:28 +0800 |
---|---|---|
committer | Bas van Kervel <bas@ethdev.com> | 2015-06-29 17:13:28 +0800 |
commit | a355777ff8531ba91fbdfb093532e7314c15710b (patch) | |
tree | 1f9dd19a81f5391e1416fe4502b235b6abf4aca2 /rpc | |
parent | ee73f09727004e94a04a396b99151ab79fd187f4 (diff) | |
download | dexon-a355777ff8531ba91fbdfb093532e7314c15710b.tar dexon-a355777ff8531ba91fbdfb093532e7314c15710b.tar.gz dexon-a355777ff8531ba91fbdfb093532e7314c15710b.tar.bz2 dexon-a355777ff8531ba91fbdfb093532e7314c15710b.tar.lz dexon-a355777ff8531ba91fbdfb093532e7314c15710b.tar.xz dexon-a355777ff8531ba91fbdfb093532e7314c15710b.tar.zst dexon-a355777ff8531ba91fbdfb093532e7314c15710b.zip |
improved error handling in parsing request
Diffstat (limited to 'rpc')
-rw-r--r-- | rpc/api/eth.go | 3 | ||||
-rw-r--r-- | rpc/api/eth_args.go | 7 |
2 files changed, 8 insertions, 2 deletions
diff --git a/rpc/api/eth.go b/rpc/api/eth.go index 2bd7e4cdb..0735754b5 100644 --- a/rpc/api/eth.go +++ b/rpc/api/eth.go @@ -12,6 +12,7 @@ import ( "github.com/ethereum/go-ethereum/rpc/shared" "github.com/ethereum/go-ethereum/xeth" "gopkg.in/fatih/set.v0" + "fmt" ) const ( @@ -582,7 +583,7 @@ func (self *ethApi) Resend(req *shared.Request) (interface{}, error) { func (self *ethApi) PendingTransactions(req *shared.Request) (interface{}, error) { txs := self.ethereum.TxPool().GetTransactions() - // grab the accounts from the account manager. This will help with determening which + // grab the accounts from the account manager. This will help with determining which // transactions should be returned. accounts, err := self.ethereum.AccountManager().Accounts() if err != nil { diff --git a/rpc/api/eth_args.go b/rpc/api/eth_args.go index a75fdbdee..88fc00a6c 100644 --- a/rpc/api/eth_args.go +++ b/rpc/api/eth_args.go @@ -917,7 +917,11 @@ func (args *ResendArgs) UnmarshalJSON(b []byte) (err error) { trans := new(tx) err = json.Unmarshal(data, trans) if err != nil { - return shared.NewDecodeParamError("Unable to parse transaction object.") + return shared.NewDecodeParamError("Unable to parse transaction object") + } + + if trans == nil || trans.tx == nil { + return shared.NewDecodeParamError("Unable to parse transaction object") } gasLimit, gasPrice := trans.GasLimit, trans.GasPrice @@ -936,6 +940,7 @@ func (args *ResendArgs) UnmarshalJSON(b []byte) (err error) { return shared.NewInvalidTypeError("gasLimit", "not a string") } } + args.Tx = trans args.GasPrice = gasPrice args.GasLimit = gasLimit |