diff options
author | Taylor Gerring <taylor.gerring@gmail.com> | 2015-03-26 18:59:16 +0800 |
---|---|---|
committer | Taylor Gerring <taylor.gerring@gmail.com> | 2015-03-26 18:59:16 +0800 |
commit | ad2089b0a3a495d8584209b6e31dde153cac7088 (patch) | |
tree | 5177a57636afbf8050be67bc7d62e963a383e9be | |
parent | 493e0d7be883bb1acd3b8588b0e3d641ce06c73b (diff) | |
download | dexon-ad2089b0a3a495d8584209b6e31dde153cac7088.tar.gz dexon-ad2089b0a3a495d8584209b6e31dde153cac7088.tar.zst dexon-ad2089b0a3a495d8584209b6e31dde153cac7088.zip |
Add blockHeightFromJson convenience function
-rw-r--r-- | rpc/args.go | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/rpc/args.go b/rpc/args.go index 7504293a4..fc7307b83 100644 --- a/rpc/args.go +++ b/rpc/args.go @@ -8,7 +8,15 @@ import ( "github.com/ethereum/go-ethereum/common" ) -func blockHeight(raw interface{}, number *int64) (err error) { +func blockHeightFromJson(msg json.RawMessage, number *int64) error { + var raw interface{} + if err := json.Unmarshal(msg, &raw); err != nil { + return NewDecodeParamError(err.Error()) + } + return blockHeight(raw, number) +} + +func blockHeight(raw interface{}, number *int64) error { // Parse as integer num, ok := raw.(float64) if ok { @@ -19,7 +27,7 @@ func blockHeight(raw interface{}, number *int64) (err error) { // Parse as string/hexstring str, ok := raw.(string) if !ok { - return NewDecodeParamError("BlockNumber is not a string") + return NewDecodeParamError("BlockNumber is not a number or string") } switch str { |