Logging order
This commit is contained in:
		@@ -91,7 +91,6 @@ func (c *StateObject) SetAddr(addr []byte, value interface{}) {
 | 
			
		||||
func (c *StateObject) SetStorage(num *big.Int, val *ethutil.Value) {
 | 
			
		||||
	addr := ethutil.BigToBytes(num, 256)
 | 
			
		||||
 | 
			
		||||
	// FIXME This should be handled in the Trie it self
 | 
			
		||||
	if val.BigInt().Cmp(ethutil.Big0) == 0 {
 | 
			
		||||
		c.state.trie.Delete(string(addr))
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -93,7 +93,7 @@ func (vm *Vm) RunClosure(closure *Closure, hook DebugHook) (ret []byte, err erro
 | 
			
		||||
		if r := recover(); r != nil {
 | 
			
		||||
			ret = closure.Return(nil)
 | 
			
		||||
			err = fmt.Errorf("%v", r)
 | 
			
		||||
			fmt.Println("vm err", err)
 | 
			
		||||
			fmt.Println(err)
 | 
			
		||||
		}
 | 
			
		||||
	}()
 | 
			
		||||
 | 
			
		||||
@@ -106,11 +106,11 @@ func (vm *Vm) RunClosure(closure *Closure, hook DebugHook) (ret []byte, err erro
 | 
			
		||||
	require := func(m int) {
 | 
			
		||||
		if stack.Len() < m {
 | 
			
		||||
			isRequireError = true
 | 
			
		||||
			panic(fmt.Sprintf("stack = %d, req = %d", stack.Len(), m))
 | 
			
		||||
			panic(fmt.Sprintf("stack err = %d, req = %d", stack.Len(), m))
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Instruction pointer
 | 
			
		||||
	// Program counter
 | 
			
		||||
	pc := big.NewInt(0)
 | 
			
		||||
	// Current step count
 | 
			
		||||
	step := 0
 | 
			
		||||
@@ -593,16 +593,18 @@ func (vm *Vm) RunClosure(closure *Closure, hook DebugHook) (ret []byte, err erro
 | 
			
		||||
 | 
			
		||||
			// Generate a new address
 | 
			
		||||
			addr := ethutil.CreateAddress(closure.caller.Address(), closure.caller.N())
 | 
			
		||||
 | 
			
		||||
			vm.Printf(" (*) %x", addr).Endl()
 | 
			
		||||
 | 
			
		||||
			// Create a new contract
 | 
			
		||||
			contract := vm.state.NewStateObject(addr)
 | 
			
		||||
			contract.Amount = value
 | 
			
		||||
 | 
			
		||||
			// Set the init script
 | 
			
		||||
			contract.initScript = mem.Get(offset.Int64(), size.Int64())
 | 
			
		||||
			contract.initScript = ethutil.BigD(mem.Get(offset.Int64(), size.Int64())).Bytes()
 | 
			
		||||
			// Transfer all remaining gas to the new
 | 
			
		||||
			// contract so it may run the init script
 | 
			
		||||
			gas := new(big.Int).Set(closure.Gas)
 | 
			
		||||
			//closure.UseGas(gas)
 | 
			
		||||
 | 
			
		||||
			// Create the closure
 | 
			
		||||
			c := NewClosure(closure.caller,
 | 
			
		||||
@@ -613,6 +615,7 @@ func (vm *Vm) RunClosure(closure *Closure, hook DebugHook) (ret []byte, err erro
 | 
			
		||||
				closure.Price)
 | 
			
		||||
			// Call the closure and set the return value as
 | 
			
		||||
			// main script.
 | 
			
		||||
			var err error
 | 
			
		||||
			c.Script, gas, err = c.Call(vm, nil, hook)
 | 
			
		||||
 | 
			
		||||
			if err != nil {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user