From 99853ac3ce57807deb4822dd324186e1d2ee0821 Mon Sep 17 00:00:00 2001 From: obscuren Date: Wed, 3 Dec 2014 17:06:54 +0100 Subject: 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. --- vm/virtual_machine.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'vm/virtual_machine.go') diff --git a/vm/virtual_machine.go b/vm/virtual_machine.go index cc8cd39a9..5738075fb 100644 --- a/vm/virtual_machine.go +++ b/vm/virtual_machine.go @@ -1,8 +1,10 @@ package vm +import "math/big" + type VirtualMachine interface { Env() Environment - RunClosure(*Closure) ([]byte, error) + Run(me, caller ClosureRef, code []byte, value, gas, price *big.Int, data []byte) ([]byte, error) Depth() int Printf(string, ...interface{}) VirtualMachine Endl() VirtualMachine -- cgit v1.2.3