diff --git a/rpc/args.go b/rpc/args.go
index 65707aa372f3cdc28e7fac3b638e7807ec5ab371..806efb9ccc96862bd38976e7f47b92cb37d3902d 100644
--- a/rpc/args.go
+++ b/rpc/args.go
@@ -29,7 +29,7 @@ func blockHeight(raw interface{}, number *int64) error {
 	// Parse as string/hexstring
 	str, ok := raw.(string)
 	if !ok {
-		return NewInvalidTypeError("blockNumber", "not a number or string")
+		return NewInvalidTypeError("", "not a number or string")
 	}
 
 	switch str {
@@ -82,6 +82,17 @@ func numString(raw interface{}, number *int64) error {
 // 	}
 // }
 
+// func hashString(raw interface{}, hash *string) error {
+// 	argstr, ok := raw.(string)
+// 	if !ok {
+// 		return NewInvalidTypeError("", "not a string")
+// 	}
+// 	v := common.IsHex(argstr)
+// 	hash = &argstr
+
+// 	return nil
+// }
+
 type GetBlockByHashArgs struct {
 	BlockHash  string
 	IncludeTxs bool
diff --git a/rpc/args_test.go b/rpc/args_test.go
index c5d407c973e91b2ca49079790588597caf7118f6..b658eed68ebad2c6979cdab58f56fd20607dc169 100644
--- a/rpc/args_test.go
+++ b/rpc/args_test.go
@@ -155,14 +155,9 @@ func TestGetBalanceArgsInvalid(t *testing.T) {
 	input := `6`
 
 	args := new(GetBalanceArgs)
-	err := json.Unmarshal([]byte(input), &args)
-	switch err.(type) {
-	case nil:
-		t.Error("Expected error but didn't get one")
-	case *DecodeParamError:
-		break
-	default:
-		t.Errorf("Expected *rpc.DecodeParamError but got %T with message %s", err, err.Error())
+	str := ExpectDecodeParamError(json.Unmarshal([]byte(input), &args))
+	if len(str) > 0 {
+		t.Error(str)
 	}
 }