diff options
author | obscuren <geffobscura@gmail.com> | 2014-04-11 02:40:12 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-04-11 02:40:12 +0800 |
commit | 6a530ea3717e592407737c6cd2ebeba0200c9cd8 (patch) | |
tree | bb5063b709a8d4f6f9baea6824807dd2cf0c610b /ethutil | |
parent | 0fccbeabcc3b8c110ce3712e5488ad99245f92ee (diff) | |
download | dexon-6a530ea3717e592407737c6cd2ebeba0200c9cd8.tar.gz dexon-6a530ea3717e592407737c6cd2ebeba0200c9cd8.tar.zst dexon-6a530ea3717e592407737c6cd2ebeba0200c9cd8.zip |
Call fixed
Diffstat (limited to 'ethutil')
-rw-r--r-- | ethutil/parsing.go | 28 |
1 files changed, 7 insertions, 21 deletions
diff --git a/ethutil/parsing.go b/ethutil/parsing.go index a9d50e425..0de396654 100644 --- a/ethutil/parsing.go +++ b/ethutil/parsing.go @@ -1,8 +1,8 @@ package ethutil import ( + _ "fmt" "math/big" - "strconv" ) // Op codes @@ -98,11 +98,16 @@ func CompileInstr(s interface{}) ([]byte, error) { // Assume regular bytes during compilation if !success { num.SetBytes([]byte(str)) + } else { + // tmp fix for 32 bytes + n := BigToBytes(num, 256) + return n, nil } return num.Bytes(), nil case int: - return big.NewInt(int64(s.(int))).Bytes(), nil + num := BigToBytes(big.NewInt(int64(s.(int))), 256) + return num, nil case []byte: return BigD(s.([]byte)).Bytes(), nil } @@ -110,25 +115,6 @@ func CompileInstr(s interface{}) ([]byte, error) { return nil, nil } -func Instr(instr string) (int, []string, error) { - - base := new(big.Int) - base.SetString(instr, 0) - - args := make([]string, 7) - for i := 0; i < 7; i++ { - // int(int(val) / int(math.Pow(256,float64(i)))) % 256 - exp := BigPow(256, i) - num := new(big.Int) - num.Div(base, exp) - - args[i] = num.Mod(num, big.NewInt(256)).String() - } - op, _ := strconv.Atoi(args[0]) - - return op, args[1:7], nil -} - // Script compilation functions // Compiles strings to machine code func Assemble(instructions ...interface{}) (script []byte) { |