@ -127,6 +127,11 @@ func CopyBytes(b []byte) (copiedBytes []byte) {
return
}
func HasHexPrefix(str string) bool {
l := len(str)
return l >= 2 && str[0:2] == "0x"
func IsHex(str string) bool {
return l >= 4 && l%2 == 0 && str[0:2] == "0x"
@ -41,7 +41,11 @@ func blockHeight(raw interface{}, number *int64) error {
case "pending":
*number = -2
default:
*number = common.String2Big(str).Int64()
if common.HasHexPrefix(str) {
} else {
return NewInvalidTypeError("blockNumber", "is not a valid string")
return nil