@@ -82,13 +82,24 @@ async fn verify_feature_contracts_compatibility(fix: bool, cairo_version: CairoV
8282 }
8383 }
8484 CairoVersion :: Cairo1 ( RunnableCairo1 :: Casm ) => {
85- for ( version, feature_contracts) in
85+ // Prepare cairo packages.
86+ let mut download_task_set = tokio:: task:: JoinSet :: new ( ) ;
87+ for ( version, _feature_contracts) in
88+ FeatureContract :: cairo1_feature_contracts_by_version ( )
89+ {
90+ download_task_set. spawn ( async move { verify_cairo1_package ( & version) . await } ) ;
91+ }
92+ info ! (
93+ "Verifying Cairo1 packages for versions {:?}." ,
94+ FeatureContract :: cairo1_feature_contracts_by_version( ) . keys( )
95+ ) ;
96+ download_task_set. join_all ( ) . await ;
97+ info ! ( "Cairo1 packages verified." ) ;
98+ // Verify feature contracts.
99+ let mut task_set = tokio:: task:: JoinSet :: new ( ) ;
100+ for ( _version, feature_contracts) in
86101 FeatureContract :: cairo1_feature_contracts_by_version ( )
87102 {
88- verify_cairo1_package ( & version) . await ;
89-
90- let mut task_set = tokio:: task:: JoinSet :: new ( ) ;
91-
92103 for contract in feature_contracts
93104 . into_iter ( )
94105 . filter ( |contract| contract. cairo_version ( ) == cairo_version)
@@ -97,10 +108,10 @@ async fn verify_feature_contracts_compatibility(fix: bool, cairo_version: CairoV
97108 task_set
98109 . spawn ( verify_feature_contracts_compatibility_logic_async ( contract, fix) ) ;
99110 }
100- info ! ( "Done spawning tasks for {version:?}. Awaiting them..." ) ;
101- task_set. join_all ( ) . await ;
102- info ! ( "Done awaiting tasks for {version:?}." ) ;
103111 }
112+ info ! ( "Done spawning tasks for contract compilation. Awaiting them..." ) ;
113+ task_set. join_all ( ) . await ;
114+ info ! ( "Done awaiting tasks for contract compilation." ) ;
104115 }
105116 #[ cfg( feature = "cairo_native" ) ]
106117 CairoVersion :: Cairo1 ( RunnableCairo1 :: Native ) => {
0 commit comments