diff options
author | obscuren <geffobscura@gmail.com> | 2014-06-18 17:55:05 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-06-18 17:55:05 +0800 |
commit | 2fbcfd88249de8f55b7f06619d9003fadcc8e1e3 (patch) | |
tree | 7ccc28a91fe84eddfa3bfb1af631f9357858b152 | |
parent | dc9c9369e0b44873dedfdf37195268f0e524872d (diff) | |
download | dexon-2fbcfd88249de8f55b7f06619d9003fadcc8e1e3.tar.gz dexon-2fbcfd88249de8f55b7f06619d9003fadcc8e1e3.tar.zst dexon-2fbcfd88249de8f55b7f06619d9003fadcc8e1e3.zip |
Proper checks for multiple data items. Fixes #80
-rw-r--r-- | ethpub/pub.go | 5 | ||||
-rw-r--r-- | ethutil/bytes.go | 3 |
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) |