Add blockHeightFromJson convenience function

This commit is contained in:
Taylor Gerring 2015-03-26 11:59:16 +01:00
parent 493e0d7be8
commit ad2089b0a3

View File

@ -8,7 +8,15 @@ import (
"github.com/ethereum/go-ethereum/common" "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 // Parse as integer
num, ok := raw.(float64) num, ok := raw.(float64)
if ok { if ok {
@ -19,7 +27,7 @@ func blockHeight(raw interface{}, number *int64) (err error) {
// Parse as string/hexstring // Parse as string/hexstring
str, ok := raw.(string) str, ok := raw.(string)
if !ok { if !ok {
return NewDecodeParamError("BlockNumber is not a string") return NewDecodeParamError("BlockNumber is not a number or string")
} }
switch str { switch str {