Updated environments according to the new interface set

This commit is contained in:
obscuren
2014-12-03 17:22:26 +01:00
parent 99853ac3ce
commit 6d99c03d91
4 changed files with 83 additions and 18 deletions

View File

@ -144,24 +144,28 @@ func (self *DebuggerWindow) Debug(valueStr, gasStr, gasPriceStr, scriptStr, data
statedb := self.lib.eth.BlockManager().TransState()
account := self.lib.eth.BlockManager().TransState().GetAccount(keyPair.Address())
contract := statedb.NewStateObject([]byte{0})
contract.SetCode(script)
contract.SetBalance(value)
self.SetAsm(script)
block := self.lib.eth.ChainManager().CurrentBlock
callerClosure := vm.NewClosure(&state.Message{}, account, contract, script, gas, gasPrice)
env := utils.NewEnv(statedb, block, account.Address(), value)
evm := vm.NewDebugVm(env)
evm.Dbg = self.Db
/*
callerClosure := vm.NewClosure(&state.Message{}, account, contract, script, gas, gasPrice)
evm := vm.NewDebugVm(env)
evm.Dbg = self.Db
self.vm = evm
self.Db.done = false
*/
self.vm = evm
self.Db.done = false
self.Logf("callsize %d", len(script))
go func() {
ret, g, err := callerClosure.Call(evm, data)
tot := new(big.Int).Mul(g, gasPrice)
self.Logf("gas usage %v total price = %v (%v)", g, tot, ethutil.CurrencyToString(tot))
ret, err := env.Call(account, contract.Address(), data, gas, gasPrice, ethutil.Big0)
//ret, g, err := callerClosure.Call(evm, data)
tot := new(big.Int).Mul(env.Gas, gasPrice)
self.Logf("gas usage %v total price = %v (%v)", env.Gas, tot, ethutil.CurrencyToString(tot))
if err != nil {
self.Logln("exited with errors:", err)
} else {