common: fix hex utils to handle 1 byte address conversions

parent be12392f
...@@ -35,12 +35,11 @@ func FromHex(s string) []byte { ...@@ -35,12 +35,11 @@ func FromHex(s string) []byte {
if s[0:2] == "0x" || s[0:2] == "0X" { if s[0:2] == "0x" || s[0:2] == "0X" {
s = s[2:] s = s[2:]
} }
if len(s)%2 == 1 {
s = "0" + s
}
return Hex2Bytes(s)
} }
return nil if len(s)%2 == 1 {
s = "0" + s
}
return Hex2Bytes(s)
} }
// Copy bytes // Copy bytes
......
...@@ -74,7 +74,7 @@ func TestFromHex(t *testing.T) { ...@@ -74,7 +74,7 @@ func TestFromHex(t *testing.T) {
expected := []byte{1} expected := []byte{1}
result := FromHex(input) result := FromHex(input)
if !bytes.Equal(expected, result) { if !bytes.Equal(expected, result) {
t.Errorf("Expected % x got % x", expected, result) t.Errorf("Expected %x got %x", expected, result)
} }
} }
...@@ -83,6 +83,15 @@ func TestFromHexOddLength(t *testing.T) { ...@@ -83,6 +83,15 @@ func TestFromHexOddLength(t *testing.T) {
expected := []byte{1} expected := []byte{1}
result := FromHex(input) result := FromHex(input)
if !bytes.Equal(expected, result) { if !bytes.Equal(expected, result) {
t.Errorf("Expected % x got % x", expected, result) t.Errorf("Expected %x got %x", expected, result)
}
}
func TestNoPrefixShortHexOddLength(t *testing.T) {
input := "1"
expected := []byte{1}
result := FromHex(input)
if !bytes.Equal(expected, result) {
t.Errorf("Expected %x got %x", expected, result)
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment