Removed some VMEnv & Added VmType() to vm.Environment

This commit is contained in:
obscuren
2015-02-01 15:29:57 +01:00
parent 0d97c3ce13
commit d52878c744
6 changed files with 25 additions and 184 deletions

View File

@ -224,18 +224,22 @@ func (self *XEth) Call(toStr, valueStr, gasStr, gasPriceStr, dataStr string) (st
}
var (
statedb = self.chainManager.TransState()
initiator = state.NewStateObject(self.eth.KeyManager().KeyPair().Address(), self.eth.Db())
block = self.chainManager.CurrentBlock()
to = statedb.GetOrNewStateObject(fromHex(toStr))
data = fromHex(dataStr)
gas = ethutil.Big(gasStr)
price = ethutil.Big(gasPriceStr)
value = ethutil.Big(valueStr)
statedb = self.chainManager.TransState()
key = self.eth.KeyManager().KeyPair()
from = state.NewStateObject(key.Address(), self.eth.Db())
block = self.chainManager.CurrentBlock()
to = statedb.GetOrNewStateObject(fromHex(toStr))
data = fromHex(dataStr)
gas = ethutil.Big(gasStr)
price = ethutil.Big(gasPriceStr)
value = ethutil.Big(valueStr)
)
vmenv := NewEnv(self.chainManager, statedb, block, value, initiator.Address())
res, err := vmenv.Call(initiator, to.Address(), data, gas, price, value)
msg := types.NewTransactionMessage(fromHex(toStr), value, gas, price, data)
msg.Sign(key.PrivateKey)
vmenv := core.NewEnv(statedb, self.chainManager, msg, block)
res, err := vmenv.Call(from, to.Address(), data, gas, price, value)
if err != nil {
return "", err
}