@@ -5,7 +5,7 @@ use evm::backend::in_memory::{
55} ;
66use evm:: standard:: { Config , Etable , Gasometer , Invoker , TransactArgs } ;
77use evm:: utils:: u256_to_h256;
8- use evm:: { Capture , RuntimeState } ;
8+ use evm:: { Capture , GasedMachine } ;
99use primitive_types:: U256 ;
1010use std:: collections:: { BTreeMap , BTreeSet } ;
1111
@@ -59,7 +59,7 @@ pub fn run_test(_filename: &str, _test_name: &str, test: Test, debug: bool) -> R
5959 . collect :: < BTreeMap < _ , _ > > ( ) ;
6060
6161 let etable = Etable :: runtime ( ) ;
62- let invoker = Invoker :: new ( & config) ;
62+ let invoker = Invoker :: < _ , Gasometer , _ , _ , _ > :: new ( & config, & etable ) ;
6363 let args = TransactArgs :: Call {
6464 caller : test. transaction . sender ,
6565 address : test. transaction . to ,
@@ -93,36 +93,27 @@ pub fn run_test(_filename: &str, _test_name: &str, test: Test, debug: bool) -> R
9393 let mut step_backend = run_backend. clone ( ) ;
9494
9595 // Run
96- let run_result = evm:: transact :: < RuntimeState , Gasometer , _ , _ , _ , _ > (
97- args. clone ( ) ,
98- Some ( 4 ) ,
99- & mut run_backend,
100- & invoker,
101- & etable,
102- ) ;
96+ let run_result = evm:: transact ( args. clone ( ) , Some ( 4 ) , & mut run_backend, & invoker) ;
10397 run_backend. layers [ 0 ] . clear_pending ( ) ;
10498
10599 // Step
106100 if debug {
107- let _step_result = evm:: HeapTransact :: < RuntimeState , Gasometer , _ , _ , _ > :: new (
108- args,
109- & invoker,
110- & mut step_backend,
111- )
112- . and_then ( |mut stepper| loop {
113- {
114- let machine = stepper. last_machine ( ) ?;
115- println ! (
116- "pc: {}, opcode: {:?}, gas: 0x{:x}" ,
117- machine. machine. position( ) ,
118- machine. machine. peek_opcode( ) ,
119- machine. gasometer. gas( ) ,
120- ) ;
121- }
122- if let Err ( Capture :: Exit ( result) ) = stepper. step ( & etable) {
123- break result;
124- }
125- } ) ;
101+ let _step_result = evm:: HeapTransact :: new ( args, & invoker, & mut step_backend) . and_then (
102+ |mut stepper| loop {
103+ {
104+ let machine: & GasedMachine < _ , Gasometer > = stepper. last_machine ( ) ?;
105+ println ! (
106+ "pc: {}, opcode: {:?}, gas: 0x{:x}" ,
107+ machine. machine. position( ) ,
108+ machine. machine. peek_opcode( ) ,
109+ machine. gasometer. gas( ) ,
110+ ) ;
111+ }
112+ if let Err ( Capture :: Exit ( result) ) = stepper. step ( ) {
113+ break result;
114+ }
115+ } ,
116+ ) ;
126117 step_backend. layers [ 0 ] . clear_pending ( ) ;
127118 }
128119
0 commit comments