good morning!!!!

Skip to content
Snippets Groups Projects
Commit 5a2d62e4 authored by Jeffrey Wilcke's avatar Jeffrey Wilcke
Browse files

Added better data parser

parent 42d47ecf
No related branches found
No related tags found
No related merge requests found
...@@ -131,6 +131,26 @@ func FormatData(data string) []byte { ...@@ -131,6 +131,26 @@ func FormatData(data string) []byte {
return BigToBytes(d, 256) return BigToBytes(d, 256)
} }
func ParseData(data ...interface{}) (ret []byte) {
for _, item := range data {
switch t := item.(type) {
case string:
var str []byte
if IsHex(t) {
str = Hex2Bytes(t[2:])
} else {
str = []byte(t)
}
ret = append(ret, RightPadBytes(str, 32)...)
case []byte:
ret = append(ret, LeftPadBytes(t, 32)...)
}
}
return
}
func RightPadBytes(slice []byte, l int) []byte { func RightPadBytes(slice []byte, l int) []byte {
if l < len(slice) { if l < len(slice) {
return slice return slice
......
package ethutil
import (
"bytes"
"testing"
)
func TestParseData(t *testing.T) {
data := ParseData("hello", "world", "0x0106")
exp := "68656c6c6f000000000000000000000000000000000000000000000000000000776f726c640000000000000000000000000000000000000000000000000000000106000000000000000000000000000000000000000000000000000000000000"
if bytes.Compare(data, Hex2Bytes(exp)) != 0 {
t.Error("Error parsing data")
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment