From 1cd5bf080ea82caeef8bebb4f0e46a47ee647f55 Mon Sep 17 00:00:00 2001
From: lmittmann <lmittmann@users.noreply.github.com>
Date: Thu, 22 Aug 2019 11:45:07 +0200
Subject: [PATCH] common: unify hex prefix check code (#19937)

---
 common/bytes.go | 10 ++++------
 common/types.go |  2 +-
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/common/bytes.go b/common/bytes.go
index c82e616241..910c97d3c1 100644
--- a/common/bytes.go
+++ b/common/bytes.go
@@ -43,10 +43,8 @@ func ToHexArray(b [][]byte) []string {
 // FromHex returns the bytes represented by the hexadecimal string s.
 // s may be prefixed with "0x".
 func FromHex(s string) []byte {
-	if len(s) > 1 {
-		if s[0:2] == "0x" || s[0:2] == "0X" {
-			s = s[2:]
-		}
+	if has0xPrefix(s) {
+		s = s[2:]
 	}
 	if len(s)%2 == 1 {
 		s = "0" + s
@@ -65,8 +63,8 @@ func CopyBytes(b []byte) (copiedBytes []byte) {
 	return
 }
 
-// hasHexPrefix validates str begins with '0x' or '0X'.
-func hasHexPrefix(str string) bool {
+// has0xPrefix validates str begins with '0x' or '0X'.
+func has0xPrefix(str string) bool {
 	return len(str) >= 2 && str[0] == '0' && (str[1] == 'x' || str[1] == 'X')
 }
 
diff --git a/common/types.go b/common/types.go
index 98c83edd4f..5cba4e9f3d 100644
--- a/common/types.go
+++ b/common/types.go
@@ -193,7 +193,7 @@ func HexToAddress(s string) Address { return BytesToAddress(FromHex(s)) }
 // IsHexAddress verifies whether a string can represent a valid hex-encoded
 // Ethereum address or not.
 func IsHexAddress(s string) bool {
-	if hasHexPrefix(s) {
+	if has0xPrefix(s) {
 		s = s[2:]
 	}
 	return len(s) == 2*AddressLength && isHex(s)
-- 
GitLab