diff options
author | Taylor Gerring <taylor.gerring@gmail.com> | 2015-03-11 07:08:31 +0800 |
---|---|---|
committer | Taylor Gerring <taylor.gerring@gmail.com> | 2015-03-11 07:08:31 +0800 |
commit | fda4d02f946dcef8b6896c8798c318876de0138d (patch) | |
tree | e484ffab9476b7cbf367b89e01e46f6302196c63 /rpc | |
parent | 35841e51901149a496645b3c3c6be4ec7a58e6c6 (diff) | |
download | dexon-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.go | 3 | ||||
-rw-r--r-- | rpc/util_test.go | 25 |
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) + } +} |