aboutsummaryrefslogtreecommitdiffstats
path: root/ethutil/bytes.go
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-07-30 19:06:59 +0800
committerobscuren <geffobscura@gmail.com>2014-07-30 19:06:59 +0800
commit5a2d62e4d9e551f16f094216da70b7a6f5d2bf00 (patch)
tree4cd169d6d7e4a918558a53f39747a5f726e1eb30 /ethutil/bytes.go
parent42d47ecfb09ac0b419db5722602d9b02e21f2457 (diff)
downloaddexon-5a2d62e4d9e551f16f094216da70b7a6f5d2bf00.tar
dexon-5a2d62e4d9e551f16f094216da70b7a6f5d2bf00.tar.gz
dexon-5a2d62e4d9e551f16f094216da70b7a6f5d2bf00.tar.bz2
dexon-5a2d62e4d9e551f16f094216da70b7a6f5d2bf00.tar.lz
dexon-5a2d62e4d9e551f16f094216da70b7a6f5d2bf00.tar.xz
dexon-5a2d62e4d9e551f16f094216da70b7a6f5d2bf00.tar.zst
dexon-5a2d62e4d9e551f16f094216da70b7a6f5d2bf00.zip
Added better data parser
Diffstat (limited to 'ethutil/bytes.go')
-rw-r--r--ethutil/bytes.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/ethutil/bytes.go b/ethutil/bytes.go
index 4027e3986..49fc229d3 100644
--- a/ethutil/bytes.go
+++ b/ethutil/bytes.go
@@ -131,6 +131,26 @@ func FormatData(data string) []byte {
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 {
if l < len(slice) {
return slice