Commit 28ef7d22 authored by obscuren's avatar obscuren

Added Left and Right padding utility functions

parent 6151ae7d
...@@ -118,7 +118,8 @@ func FormatData(data string) []byte { ...@@ -118,7 +118,8 @@ func FormatData(data string) []byte {
// Simple stupid // Simple stupid
d := new(big.Int) d := new(big.Int)
if data[0:1] == "\"" && data[len(data)-1:] == "\"" { if data[0:1] == "\"" && data[len(data)-1:] == "\"" {
d.SetBytes([]byte(data[1 : len(data)-1])) return RightPadBytes([]byte(data), 32)
//d.SetBytes([]byte(data[1 : len(data)-1]))
} else if len(data) > 1 && data[:2] == "0x" { } else if len(data) > 1 && data[:2] == "0x" {
d.SetBytes(Hex2Bytes(data[2:])) d.SetBytes(Hex2Bytes(data[2:]))
} else { } else {
...@@ -127,3 +128,25 @@ func FormatData(data string) []byte { ...@@ -127,3 +128,25 @@ func FormatData(data string) []byte {
return BigToBytes(d, 256) return BigToBytes(d, 256)
} }
func LeftPadBytes(slice []byte, l int) []byte {
if l <= len(slice) {
return slice
}
padded := make([]byte, l)
copy(padded[0:len(slice)], slice)
return padded
}
func RightPadBytes(slice []byte, l int) []byte {
if l <= len(slice) {
return slice
}
padded := make([]byte, l)
copy(padded[l-len(slice):], slice)
return padded
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment