Commit 891f7259 authored by obscuren's avatar obscuren

Added better address format

parent 969e748d
......@@ -55,6 +55,7 @@ const (
// 0x50 range - 'storage' and execution
oPUSH = 0x50
oPUSH20 = 0x80
oPOP = 0x51
oDUP = 0x52
oSWAP = 0x53
......
......@@ -301,7 +301,6 @@ func (vm *Vm) RunClosure(closure *Closure) []byte {
// 0x50 range
case oPUSH: // Push PC+1 on to the stack
pc.Add(pc, ethutil.Big1)
//val := closure.GetMem(pc).BigInt()
data := closure.Gets(pc, big.NewInt(32))
val := ethutil.BigD(data.Bytes())
......@@ -309,6 +308,16 @@ func (vm *Vm) RunClosure(closure *Closure) []byte {
stack.Push(val)
pc.Add(pc, big.NewInt(31))
case oPUSH20:
pc.Add(pc, ethutil.Big1)
data := closure.Gets(pc, big.NewInt(20))
val := ethutil.BigD(data.Bytes())
// Push value to stack
stack.Push(val)
pc.Add(pc, big.NewInt(19))
case oPOP:
stack.Pop()
case oDUP:
......
......@@ -114,12 +114,13 @@ func TestRun4(t *testing.T) {
int8 ret = 0
int8 arg = 10
call(938726394128221156290138488023434115948430767407, 0, 100000000, arg, ret)
addr address = "a46df28529eb8aa8b8c025b0b413c5f4b688352f"
call(address, 0, 100000000, arg, ret)
`), false)
if err != nil {
fmt.Println(err)
}
asm = append(asm, "LOG")
//asm = append(asm, "LOG")
fmt.Println(asm)
callerScript := ethutil.Assemble(asm...)
......
......@@ -52,6 +52,9 @@ var OpCodes = map[string]byte{
// 0x50 range - 'storage' and execution
"PUSH": 0x50,
"PUSH20": 0x80,
"POP": 0x51,
"DUP": 0x52,
"SWAP": 0x53,
......
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