diff --git a/common/bytes.go b/common/bytes.go index 5e553d23cf424a30e8ce1bd7547dd7cfd5f5fe71..2d885ac74606efee97e370b17a465f40b94310cb 100644 --- a/common/bytes.go +++ b/common/bytes.go @@ -9,6 +9,28 @@ import ( "strings" ) +func ToHex(b []byte) string { + hex := Bytes2Hex(b) + // Prefer output of "0x0" instead of "0x" + if len(hex) == 0 { + hex = "0" + } + return "0x" + hex +} + +func FromHex(s string) []byte { + if len(s) > 1 { + if s[0:2] == "0x" { + s = s[2:] + } + if len(s)%2 == 1 { + s = "0" + s + } + return Hex2Bytes(s) + } + return nil +} + type Bytes []byte func (self Bytes) String() string { diff --git a/common/bytes_test.go b/common/bytes_test.go index ec106bf4bdb8c7ae46343d5e0e6377c46c8d59b4..4b00aa49b5e8abc9e583411b5a9d273d25d53aad 100644 --- a/common/bytes_test.go +++ b/common/bytes_test.go @@ -1,6 +1,9 @@ package common import ( + "bytes" + "testing" + checker "gopkg.in/check.v1" ) @@ -191,3 +194,21 @@ func (s *BytesSuite) TestRightPadString(c *checker.C) { c.Assert(resstd, checker.Equals, exp) c.Assert(resshrt, checker.Equals, val) } + +func TestFromHex(t *testing.T) { + input := "0x01" + expected := []byte{1} + result := FromHex(input) + if bytes.Compare(expected, result) != 0 { + t.Errorf("Expected % x got % x", expected, result) + } +} + +func TestFromHexOddLength(t *testing.T) { + input := "0x1" + expected := []byte{1} + result := FromHex(input) + if bytes.Compare(expected, result) != 0 { + t.Errorf("Expected % x got % x", expected, result) + } +} diff --git a/common/common.go b/common/common.go index 155bb5c2a707e44fa8a6b2d4dba3680a9d13386c..a61b866c9c52a3afe7cbb86559b71d4939c36747 100644 --- a/common/common.go +++ b/common/common.go @@ -65,27 +65,6 @@ func DefaultDataDir() string { } } -func ToHex(b []byte) string { - hex := Bytes2Hex(b) - // Prefer output of "0x0" instead of "0x" - if len(hex) == 0 { - hex = "0" - } - return "0x" + hex -} - -func FromHex(s string) []byte { - if len(s) > 1 { - if s[0:2] == "0x" { - s = s[2:] - } - if len(s)%2 == 1 { - s = "0" + s - } - return Hex2Bytes(s) - } - return nil -} func IsWindows() bool { return runtime.GOOS == "windows" } diff --git a/common/common_test.go b/common/common_test.go index c7ba87f90673d1b410c5fce7e57c849c0c481b90..0fb5c56f0e1bc6c621c598f6b33bc3b9e2de9d5b 100644 --- a/common/common_test.go +++ b/common/common_test.go @@ -1,10 +1,8 @@ package common import ( - "bytes" "math/big" "os" - "testing" checker "gopkg.in/check.v1" ) @@ -68,22 +66,3 @@ func (s *CommonSuite) TestLarge(c *checker.C) { c.Assert(adalarge, checker.Equals, "10000E7 Einstein") c.Assert(weilarge, checker.Equals, "100 Babbage") } - -//fromHex -func TestFromHex(t *testing.T) { - input := "0x01" - expected := []byte{1} - result := FromHex(input) - if bytes.Compare(expected, result) != 0 { - t.Errorf("Expected % x got % x", expected, result) - } -} - -func TestFromHexOddLength(t *testing.T) { - input := "0x1" - expected := []byte{1} - result := FromHex(input) - if bytes.Compare(expected, result) != 0 { - t.Errorf("Expected % x got % x", expected, result) - } -}