@@ -12,9 +12,7 @@ use circuits::ivalue::NoValue;
1212use circuits:: ops:: Guess ;
1313use circuits_stark_verifier:: empty_component:: EmptyComponent ;
1414use circuits_stark_verifier:: proof:: { Claim , Proof , ProofConfig , empty_proof} ;
15- use circuits_stark_verifier:: proof_from_stark_proof:: {
16- pack_component_log_sizes, proof_from_stark_proof,
17- } ;
15+ use circuits_stark_verifier:: proof_from_stark_proof:: { pack_into_qm31s, proof_from_stark_proof} ;
1816use circuits_stark_verifier:: verify:: verify;
1917use itertools:: { Itertools , zip_eq} ;
2018use num_traits:: Zero ;
@@ -97,12 +95,8 @@ pub fn build_fixed_cairo_circuit(
9795 outputs : Vec < [ M31 ; MEMORY_VALUES_LIMBS ] > ,
9896) -> Context < QM31 > {
9997 let config = & verifier_config. proof_config ;
100- let components = zip_eq ( all_components ( ) . into_values ( ) , config. enabled_components ( ) )
101- . map (
102- |( component, enable_bit) | {
103- if enable_bit { component } else { Box :: new ( EmptyComponent { } ) }
104- } ,
105- )
98+ let components = zip_eq ( all_components ( ) . into_values ( ) , & config. enabled_bits )
99+ . filter_map ( |( component, enable_bit) | if * enable_bit { Some ( component) } else { None } )
106100 . collect_vec ( ) ;
107101
108102 let public_claim = public_claim. iter ( ) . map ( |u32| M31 :: from ( * u32) ) . collect_vec ( ) ;
@@ -178,13 +172,20 @@ pub fn prepare_cairo_proof_for_circuit_verifier(
178172 claim. flatten_claim ( ) ;
179173 let component_claimed_sums = interaction_claim. flatten_interaction_claim ( ) ;
180174
181- debug_assert_eq ! ( component_enable_bits. len ( ) , proof_config. n_components ) ;
182- debug_assert_eq ! ( component_claimed_sums. len( ) , proof_config. n_components ) ;
175+ debug_assert_eq ! ( component_enable_bits, proof_config. enabled_bits ) ;
176+ debug_assert_eq ! ( component_claimed_sums. len( ) , proof_config. enabled_bits . len ( ) ) ;
183177
184- let claim = Claim {
185- packed_component_log_sizes : pack_component_log_sizes ( & component_log_sizes) ,
186- claimed_sums : component_claimed_sums,
187- } ;
178+ let component_log_sizes = zip_eq ( component_log_sizes, & proof_config. enabled_bits ) . filter_map (
179+ |( log_size, enabled) | {
180+ if * enabled { Some ( log_size) } else { None }
181+ } ,
182+ ) ;
183+ let claimed_sums = zip_eq ( component_claimed_sums, & proof_config. enabled_bits )
184+ . filter_map ( |( sum, enabled) | if * enabled { Some ( sum) } else { None } )
185+ . collect_vec ( ) ;
186+
187+ let claim =
188+ Claim { packed_component_log_sizes : pack_into_qm31s ( component_log_sizes) , claimed_sums } ;
188189
189190 let proof = proof_from_stark_proof (
190191 extended_stark_proof,
0 commit comments