aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-06-18 17:55:05 +0800
committerobscuren <geffobscura@gmail.com>2014-06-18 17:55:05 +0800
commit2fbcfd88249de8f55b7f06619d9003fadcc8e1e3 (patch)
tree7ccc28a91fe84eddfa3bfb1af631f9357858b152
parentdc9c9369e0b44873dedfdf37195268f0e524872d (diff)
downloaddexon-2fbcfd88249de8f55b7f06619d9003fadcc8e1e3.tar.gz
dexon-2fbcfd88249de8f55b7f06619d9003fadcc8e1e3.tar.zst
dexon-2fbcfd88249de8f55b7f06619d9003fadcc8e1e3.zip
Proper checks for multiple data items. Fixes #80
-rw-r--r--ethpub/pub.go5
-rw-r--r--ethutil/bytes.go3
2 files changed, 2 insertions, 6 deletions
diff --git a/ethpub/pub.go b/ethpub/pub.go
index 20ba79d0b..b475453af 100644
--- a/ethpub/pub.go
+++ b/ethpub/pub.go
@@ -170,11 +170,6 @@ func (lib *PEthereum) createTx(key, recipient, valueStr, gasStr, gasPriceStr, sc
tx = ethchain.NewContractCreationTx(value, gas, gasPrice, script)
} else {
- // Just in case it was submitted as a 0x prefixed string
- if len(scriptStr) > 0 && scriptStr[0:2] == "0x" {
- scriptStr = scriptStr[2:len(scriptStr)]
- }
-
data := ethutil.StringToByteFunc(scriptStr, func(s string) (ret []byte) {
slice := strings.Split(s, "\n")
for _, dataItem := range slice {
diff --git a/ethutil/bytes.go b/ethutil/bytes.go
index bd0df68ec..5e3ee4a6f 100644
--- a/ethutil/bytes.go
+++ b/ethutil/bytes.go
@@ -5,6 +5,7 @@ import (
"encoding/binary"
"fmt"
"math/big"
+ "strings"
)
// Number to bytes
@@ -91,7 +92,7 @@ func IsHex(str string) bool {
}
func StringToByteFunc(str string, cb func(str string) []byte) (ret []byte) {
- if len(str) > 1 && str[0:2] == "0x" {
+ if len(str) > 1 && str[0:2] == "0x" && !strings.Contains(str, "\n") {
ret = FromHex(str[2:])
} else {
ret = cb(str)