aboutsummaryrefslogtreecommitdiffstats
path: root/rpc
diff options
context:
space:
mode:
authorTaylor Gerring <taylor.gerring@gmail.com>2015-03-11 07:08:31 +0800
committerTaylor Gerring <taylor.gerring@gmail.com>2015-03-11 07:08:31 +0800
commitfda4d02f946dcef8b6896c8798c318876de0138d (patch)
treee484ffab9476b7cbf367b89e01e46f6302196c63 /rpc
parent35841e51901149a496645b3c3c6be4ec7a58e6c6 (diff)
downloaddexon-fda4d02f946dcef8b6896c8798c318876de0138d.tar
dexon-fda4d02f946dcef8b6896c8798c318876de0138d.tar.gz
dexon-fda4d02f946dcef8b6896c8798c318876de0138d.tar.bz2
dexon-fda4d02f946dcef8b6896c8798c318876de0138d.tar.lz
dexon-fda4d02f946dcef8b6896c8798c318876de0138d.tar.xz
dexon-fda4d02f946dcef8b6896c8798c318876de0138d.tar.zst
dexon-fda4d02f946dcef8b6896c8798c318876de0138d.zip
Left-pad odd length hex inputs and tests
Diffstat (limited to 'rpc')
-rw-r--r--rpc/util.go3
-rw-r--r--rpc/util_test.go25
2 files changed, 28 insertions, 0 deletions
diff --git a/rpc/util.go b/rpc/util.go
index fb4efdb45..a0d858a67 100644
--- a/rpc/util.go
+++ b/rpc/util.go
@@ -132,6 +132,9 @@ func fromHex(s string) []byte {
if s[0:2] == "0x" {
s = s[2:]
}
+ if len(s)%2 == 1 {
+ s = "0" + s
+ }
return ethutil.Hex2Bytes(s)
}
return nil
diff --git a/rpc/util_test.go b/rpc/util_test.go
new file mode 100644
index 000000000..b0a4979b5
--- /dev/null
+++ b/rpc/util_test.go
@@ -0,0 +1,25 @@
+package rpc
+
+import (
+ "bytes"
+ "testing"
+)
+
+//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)
+ }
+}