diff --git a/rpc/types.go b/rpc/types.go index 28395a5125..f2031a883a 100644 --- a/rpc/types.go +++ b/rpc/types.go @@ -107,7 +107,7 @@ func (bn *BlockNumber) UnmarshalJSON(data []byte) error { if hexutil.IsValidHexString(input) { blckNum, err = hexutil.DecodeUint64(input) } else { - //Try converting input directly into uint64 value + //Else try converting input directly into uint64 value blckNum, err = strconv.ParseUint(input, 10, 64) } diff --git a/rpc/types_test.go b/rpc/types_test.go index 2a895886b8..8ff021578f 100644 --- a/rpc/types_test.go +++ b/rpc/types_test.go @@ -42,16 +42,17 @@ func TestBlockNumberJSONUnmarshal(t *testing.T) { 6: {`"0x12"`, false, BlockNumber(18)}, 7: {`"0x7fffffffffffffff"`, false, BlockNumber(math.MaxInt64)}, 8: {`"0x8000000000000000"`, true, BlockNumber(0)}, - 9: {`"ff"`, true, BlockNumber(0)}, - 10: {`"pending"`, false, PendingBlockNumber}, - 11: {`"latest"`, false, LatestBlockNumber}, - 12: {`"earliest"`, false, EarliestBlockNumber}, - 13: {`"committed"`, false, CommittedBlockNumber}, - 14: {`"finalized"`, false, CommittedBlockNumber}, - 15: {`someString`, true, BlockNumber(0)}, - 16: {`""`, true, BlockNumber(0)}, - 17: {``, true, BlockNumber(0)}, - 18: {`88439993`, false, BlockNumber(88439993)}, + 9: {"0", false, BlockNumber(0)}, + 10: {`"ff"`, true, BlockNumber(0)}, + 11: {`"pending"`, false, PendingBlockNumber}, + 12: {`"latest"`, false, LatestBlockNumber}, + 13: {`"earliest"`, false, EarliestBlockNumber}, + 14: {`"committed"`, false, CommittedBlockNumber}, + 15: {`"finalized"`, false, CommittedBlockNumber}, + 16: {`someString`, true, BlockNumber(0)}, + 17: {`""`, true, BlockNumber(0)}, + 18: {``, true, BlockNumber(0)}, + 19: {`88439993`, false, BlockNumber(88439993)}, } for i, test := range tests {