Moved execution from vm to chain.

This moves call and create to the specified environments. Vms are no
longer re-used. Vm uses environment's Call(Code) and Create in order to
execute new contracts or transfer value between accounts.

State transition now uses the same mechanism described above.
This commit is contained in:
obscuren
2014-12-03 17:06:54 +01:00
parent 8240550187
commit 99853ac3ce
12 changed files with 226 additions and 1090 deletions

View File

@ -276,15 +276,14 @@ func (c *StateObject) Init() Code {
return c.InitCode
}
// To satisfy ClosureRef
func (self *StateObject) Object() *StateObject {
return self
}
func (self *StateObject) Root() []byte {
return self.State.Trie.GetRoot()
}
func (self *StateObject) SetCode(code []byte) {
self.Code = code
}
//
// Encoding
//