@@ -35,7 +35,7 @@ use std::{
3535 sync:: Arc ,
3636} ;
3737
38- pub fn re_run_failed_ef_test (
38+ pub async fn re_run_failed_ef_test (
3939 test : & EFTest ,
4040 failed_test_report : & EFTestReport ,
4141) -> Result < TestReRunReport , EFTestRunnerError > {
@@ -46,7 +46,7 @@ pub fn re_run_failed_ef_test(
4646 match vector_failure {
4747 // We only want to re-run tests that failed in the post-state validation.
4848 EFTestRunnerError :: FailedToEnsurePostState ( transaction_report, _) => {
49- match re_run_failed_ef_test_tx ( vector, test, transaction_report, & mut re_run_report, fork) {
49+ match re_run_failed_ef_test_tx ( vector, test, transaction_report, & mut re_run_report, fork) . await {
5050 Ok ( _) => continue ,
5151 Err ( EFTestRunnerError :: VMInitializationFailed ( reason) ) => {
5252 return Err ( EFTestRunnerError :: Internal ( InternalError :: ReRunInternal (
@@ -78,14 +78,14 @@ pub fn re_run_failed_ef_test(
7878 Ok ( re_run_report)
7979}
8080
81- pub fn re_run_failed_ef_test_tx (
81+ pub async fn re_run_failed_ef_test_tx (
8282 vector : & TestVector ,
8383 test : & EFTest ,
8484 levm_execution_report : & ExecutionReport ,
8585 re_run_report : & mut TestReRunReport ,
8686 fork : & Fork ,
8787) -> Result < ( ) , EFTestRunnerError > {
88- let ( mut state, _block_hash) = load_initial_state ( test) ;
88+ let ( mut state, _block_hash) = load_initial_state ( test) . await ;
8989 let mut revm = prepare_revm_for_tx ( & mut state, vector, test, fork) ?;
9090 if !test. post . has_vector_for_fork ( vector, * fork) {
9191 return Ok ( ( ) ) ;
@@ -106,7 +106,7 @@ pub fn re_run_failed_ef_test_tx(
106106 test,
107107 re_run_report,
108108 fork,
109- ) ?;
109+ ) . await ?;
110110 Ok ( ( ) )
111111}
112112
@@ -319,7 +319,7 @@ pub fn compare_levm_revm_execution_results(
319319 Ok ( ( ) )
320320}
321321
322- pub fn ensure_post_state (
322+ pub async fn ensure_post_state (
323323 levm_execution_report : & ExecutionReport ,
324324 vector : & TestVector ,
325325 revm_state : & mut EvmState ,
@@ -331,7 +331,7 @@ pub fn ensure_post_state(
331331 Some ( _expected_exception) => { }
332332 // We only want to compare account updates when no exception is expected.
333333 None => {
334- let store_wrapper = load_initial_state_levm ( test) ;
334+ let store_wrapper = load_initial_state_levm ( test) . await ;
335335 let block_header = store_wrapper
336336 . store
337337 . get_block_header_by_hash ( store_wrapper. block_hash )
@@ -359,23 +359,23 @@ pub fn ensure_post_state(
359359 fork,
360360 & levm_account_updates,
361361 & revm_account_updates,
362- ) ;
362+ ) . await ;
363363 re_run_report. register_account_updates_report ( * vector, account_updates_report, * fork) ;
364364 }
365365 }
366366
367367 Ok ( ( ) )
368368}
369369
370- pub fn compare_levm_revm_account_updates (
370+ pub async fn compare_levm_revm_account_updates (
371371 vector : & TestVector ,
372372 test : & EFTest ,
373373 fork : & Fork ,
374374 levm_account_updates : & [ AccountUpdate ] ,
375375 revm_account_updates : & [ AccountUpdate ] ,
376376) -> ComparisonReport {
377- let levm_post_state_root = post_state_root ( levm_account_updates, test) ;
378- let revm_post_state_root = post_state_root ( revm_account_updates, test) ;
377+ let levm_post_state_root = post_state_root ( levm_account_updates, test) . await ;
378+ let revm_post_state_root = post_state_root ( revm_account_updates, test) . await ;
379379 let mut initial_accounts: HashMap < Address , Account > = test
380380 . pre
381381 . 0
@@ -435,7 +435,7 @@ pub fn compare_levm_revm_account_updates(
435435 }
436436}
437437
438- pub fn _run_ef_test_revm ( test : & EFTest ) -> Result < EFTestReport , EFTestRunnerError > {
438+ pub async fn _run_ef_test_revm ( test : & EFTest ) -> Result < EFTestReport , EFTestRunnerError > {
439439 let hash = test
440440 . _info
441441 . generated_test_hash
@@ -450,7 +450,7 @@ pub fn _run_ef_test_revm(test: &EFTest) -> Result<EFTestReport, EFTestRunnerErro
450450 if !test. post . has_vector_for_fork ( vector, * fork) {
451451 continue ;
452452 }
453- match _run_ef_test_tx_revm ( vector, test, fork) {
453+ match _run_ef_test_tx_revm ( vector, test, fork) . await {
454454 Ok ( _) => continue ,
455455 Err ( EFTestRunnerError :: VMInitializationFailed ( reason) ) => {
456456 ef_test_report_fork. register_vm_initialization_failure ( reason, * vector) ;
@@ -490,22 +490,22 @@ pub fn _run_ef_test_revm(test: &EFTest) -> Result<EFTestReport, EFTestRunnerErro
490490 Ok ( ef_test_report)
491491}
492492
493- pub fn _run_ef_test_tx_revm (
493+ pub async fn _run_ef_test_tx_revm (
494494 vector : & TestVector ,
495495 test : & EFTest ,
496496 fork : & Fork ,
497497) -> Result < ( ) , EFTestRunnerError > {
498- let ( mut state, _block_hash) = load_initial_state ( test) ;
498+ let ( mut state, _block_hash) = load_initial_state ( test) . await ;
499499 let mut revm = prepare_revm_for_tx ( & mut state, vector, test, fork) ?;
500500 let revm_execution_result = revm. transact_commit ( ) ;
501501 drop ( revm) ; // Need to drop the state mutable reference.
502502
503- _ensure_post_state_revm ( revm_execution_result, vector, test, & mut state, fork) ?;
503+ _ensure_post_state_revm ( revm_execution_result, vector, test, & mut state, fork) . await ?;
504504
505505 Ok ( ( ) )
506506}
507507
508- pub fn _ensure_post_state_revm (
508+ pub async fn _ensure_post_state_revm (
509509 revm_execution_result : Result < RevmExecutionResult , REVMError < StoreError > > ,
510510 vector : & TestVector ,
511511 test : & EFTest ,
@@ -535,7 +535,7 @@ pub fn _ensure_post_state_revm(
535535 None => {
536536 let revm_account_updates =
537537 backends:: revm:: REVM :: get_state_transitions ( revm_state) ;
538- let pos_state_root = post_state_root ( & revm_account_updates, test) ;
538+ let pos_state_root = post_state_root ( & revm_account_updates, test) . await ;
539539 let expected_post_state_root_hash =
540540 test. post . vector_post_value ( vector, * fork) . hash ;
541541 if expected_post_state_root_hash != pos_state_root {
0 commit comments