aboutsummaryrefslogtreecommitdiffstats
path: root/chain/state_transition.go
diff options
context:
space:
mode:
Diffstat (limited to 'chain/state_transition.go')
-rw-r--r--chain/state_transition.go36
1 files changed, 31 insertions, 5 deletions
diff --git a/chain/state_transition.go b/chain/state_transition.go
index 41bdadedb..afe044299 100644
--- a/chain/state_transition.go
+++ b/chain/state_transition.go
@@ -4,7 +4,6 @@ import (
"fmt"
"math/big"
- "github.com/ethereum/go-ethereum/ethutil"
"github.com/ethereum/go-ethereum/state"
"github.com/ethereum/go-ethereum/vm"
)
@@ -229,13 +228,38 @@ func (self *StateTransition) TransitionState() (err error) {
}
msg.Output = ret
- } else {
- // Add default LOG. Default = big(sender.addr) + 1
- addr := ethutil.BigD(receiver.Address())
- self.state.AddLog(state.Log{sender.Address(), [][]byte{ethutil.U256(addr.Add(addr, ethutil.Big1)).Bytes()}, nil})
}
}
+ /*
+ * XXX The following _should_ replace the above transaction
+ * execution (also for regular calls. Will replace / test next
+ * phase
+ */
+ /*
+ // Execute transaction
+ if tx.CreatesContract() {
+ self.rec = MakeContract(tx, self.state)
+ }
+
+ address := self.Receiver().Address()
+ evm := vm.New(NewEnv(state, self.tx, self.block), vm.DebugVmTy)
+ exe := NewExecution(evm, address, self.tx.Data, self.gas, self.gas.Price, self.tx.Value)
+ ret, err := msg.Exec(address, self.Sender())
+ if err != nil {
+ statelogger.Debugln(err)
+ } else {
+ if tx.CreatesContract() {
+ self.Receiver().Code = ret
+ }
+ msg.Output = ret
+ }
+ */
+
+ // Add default LOG. Default = big(sender.addr) + 1
+ //addr := ethutil.BigD(receiver.Address())
+ //self.state.AddLog(&state.Log{ethutil.U256(addr.Add(addr, ethutil.Big1)).Bytes(), [][]byte{sender.Address()}, nil})
+
return
}
@@ -248,6 +272,8 @@ func (self *StateTransition) Eval(msg *state.Message, script []byte, context *st
)
evm := vm.New(env, vm.DebugVmTy)
+ // TMP this will change in the refactor
+ callerClosure.SetExecution(vm.NewExecution(evm, nil, nil, nil, nil, self.tx.Value))
ret, _, err = callerClosure.Call(evm, self.tx.Data)
return