aboutsummaryrefslogtreecommitdiffstats
path: root/ethchain/state_manager.go
diff options
context:
space:
mode:
authorMaran <maran.hidskes@gmail.com>2014-03-24 17:24:39 +0800
committerMaran <maran.hidskes@gmail.com>2014-03-24 17:24:39 +0800
commit97786d03d57e1ca79e34ce5fd9aa172c61c3e665 (patch)
tree251a5e54305e5cedf568f2fb73dbff9302df4185 /ethchain/state_manager.go
parent274d5cc91c45349ec8d7a1f5a20ef29896b38b2e (diff)
parent6a86c517c4f4b372cad0ae1d92e926a482eac5ba (diff)
downloadgo-tangerine-97786d03d57e1ca79e34ce5fd9aa172c61c3e665.tar
go-tangerine-97786d03d57e1ca79e34ce5fd9aa172c61c3e665.tar.gz
go-tangerine-97786d03d57e1ca79e34ce5fd9aa172c61c3e665.tar.bz2
go-tangerine-97786d03d57e1ca79e34ce5fd9aa172c61c3e665.tar.lz
go-tangerine-97786d03d57e1ca79e34ce5fd9aa172c61c3e665.tar.xz
go-tangerine-97786d03d57e1ca79e34ce5fd9aa172c61c3e665.tar.zst
go-tangerine-97786d03d57e1ca79e34ce5fd9aa172c61c3e665.zip
Merge branch 'master' into miner
Diffstat (limited to 'ethchain/state_manager.go')
-rw-r--r--ethchain/state_manager.go15
1 files changed, 7 insertions, 8 deletions
diff --git a/ethchain/state_manager.go b/ethchain/state_manager.go
index 9118db211..5692a1d88 100644
--- a/ethchain/state_manager.go
+++ b/ethchain/state_manager.go
@@ -308,18 +308,17 @@ func (sm *StateManager) ProcessContract(contract *Contract, tx *Transaction, blo
}
}()
*/
-
- vm := &Vm{}
- //vm.Process(contract, block.state, RuntimeVars{
- vm.Process(contract, sm.procState, RuntimeVars{
- address: tx.Hash()[12:],
+ caller := sm.procState.GetAccount(tx.Sender())
+ closure := NewClosure(caller, contract, sm.procState, tx.Gas, tx.Value)
+ vm := NewVm(sm.procState, RuntimeVars{
+ origin: caller.Address(),
blockNumber: block.BlockInfo().Number,
- sender: tx.Sender(),
prevHash: block.PrevHash,
coinbase: block.Coinbase,
time: block.Time,
diff: block.Difficulty,
- txValue: tx.Value,
- txData: tx.Data,
+ // XXX Tx data? Could be just an argument to the closure instead
+ txData: nil,
})
+ closure.Call(vm, nil)
}