diff options
author | Maran <maran.hidskes@gmail.com> | 2015-03-14 18:39:35 +0800 |
---|---|---|
committer | Maran <maran.hidskes@gmail.com> | 2015-03-14 18:39:35 +0800 |
commit | 991993357c902eaab56726bef97e7494674aa5e5 (patch) | |
tree | 1277d00e29b3444290664cd07529a3f006cb7b6b /ethutil | |
parent | b927c29469864424a97c06ff2f31e2d882b01cd7 (diff) | |
download | go-tangerine-991993357c902eaab56726bef97e7494674aa5e5.tar go-tangerine-991993357c902eaab56726bef97e7494674aa5e5.tar.gz go-tangerine-991993357c902eaab56726bef97e7494674aa5e5.tar.bz2 go-tangerine-991993357c902eaab56726bef97e7494674aa5e5.tar.lz go-tangerine-991993357c902eaab56726bef97e7494674aa5e5.tar.xz go-tangerine-991993357c902eaab56726bef97e7494674aa5e5.tar.zst go-tangerine-991993357c902eaab56726bef97e7494674aa5e5.zip |
DRY up the use of fromHex and put it in ethutil
Diffstat (limited to 'ethutil')
-rw-r--r-- | ethutil/common.go | 13 | ||||
-rw-r--r-- | ethutil/common_test.go | 21 |
2 files changed, 34 insertions, 0 deletions
diff --git a/ethutil/common.go b/ethutil/common.go index 3ade7fd16..29854c882 100644 --- a/ethutil/common.go +++ b/ethutil/common.go @@ -64,6 +64,19 @@ func DefaultDataDir() string { return path.Join(usr.HomeDir, ".ethereum") } } + +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/ethutil/common_test.go b/ethutil/common_test.go index c2b6077e9..20064b1e7 100644 --- a/ethutil/common_test.go +++ b/ethutil/common_test.go @@ -1,8 +1,10 @@ package ethutil import ( + "bytes" "math/big" "os" + "testing" checker "gopkg.in/check.v1" ) @@ -66,3 +68,22 @@ 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) + } +} |