aboutsummaryrefslogtreecommitdiffstats
path: root/ethutil
diff options
context:
space:
mode:
authorMaran <maran.hidskes@gmail.com>2015-03-14 18:39:35 +0800
committerMaran <maran.hidskes@gmail.com>2015-03-14 18:39:35 +0800
commit991993357c902eaab56726bef97e7494674aa5e5 (patch)
tree1277d00e29b3444290664cd07529a3f006cb7b6b /ethutil
parentb927c29469864424a97c06ff2f31e2d882b01cd7 (diff)
downloadgo-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.go13
-rw-r--r--ethutil/common_test.go21
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)
+ }
+}