@@ -68,7 +68,7 @@ pub struct ZKVMProofInputVariable<C: Config> {
6868 pub raw_pi : Array < C , Array < C , Felt < C :: F > > > ,
6969 pub raw_pi_num_variables : Array < C , Var < C :: N > > ,
7070 pub pi_evals : Array < C , Ext < C :: F , C :: EF > > ,
71- pub chip_proofs : Array < C , Array < C , ZKVMChipProofInputVariable < C > > > ,
71+ pub chip_proofs : Array < C , ZKVMChipProofInputVariable < C > > ,
7272 pub max_num_var : Var < C :: N > ,
7373 pub max_width : Var < C :: N > ,
7474 pub witin_commit : BasefoldCommitmentVariable < C > ,
@@ -92,7 +92,7 @@ pub(crate) struct ZKVMProofInput {
9292 pub raw_pi : Vec < Vec < F > > ,
9393 // Evaluation of raw_pi.
9494 pub pi_evals : Vec < E > ,
95- pub chip_proofs : BTreeMap < usize , ZKVMChipProofs > ,
95+ pub chip_proofs : BTreeMap < usize , ZKVMChipProofInput > ,
9696 pub witin_commit : BasefoldCommitment ,
9797 pub opening_proof : BasefoldProof ,
9898}
@@ -135,22 +135,16 @@ impl ZKVMProofInput {
135135 chip_proofs : zkvm_proof
136136 . chip_proofs
137137 . into_iter ( )
138- . map ( |( chip_idx, proofs ) | {
138+ . map ( |( chip_idx, proof ) | {
139139 let ( num_witin, num_fixed) = * chip_witin_num_vars
140140 . get ( & chip_idx)
141141 . expect ( "num_witin data should exist" ) ;
142142 (
143143 chip_idx,
144- proofs
145- . into_iter ( )
146- . map ( |proof| {
147- ZKVMChipProofInput :: from ( ( chip_idx, proof, num_witin, num_fixed) )
148- } )
149- . collect :: < Vec < ZKVMChipProofInput > > ( )
150- . into ( ) ,
144+ ZKVMChipProofInput :: from ( ( chip_idx, proof, num_witin, num_fixed) ) ,
151145 )
152146 } )
153- . collect :: < BTreeMap < usize , ZKVMChipProofs > > ( ) ,
147+ . collect :: < BTreeMap < usize , ZKVMChipProofInput > > ( ) ,
154148 witin_commit : zkvm_proof. witin_commit . into ( ) ,
155149 opening_proof : zkvm_proof. opening_proof . into ( ) ,
156150 }
@@ -166,7 +160,7 @@ impl Hintable<InnerConfig> for ZKVMProofInput {
166160 let raw_pi_num_variables = Vec :: < usize > :: read ( builder) ;
167161 let pi_evals = Vec :: < E > :: read ( builder) ;
168162 builder. cycle_tracker_start ( "read chip proofs" ) ;
169- let chip_proofs = Vec :: < ZKVMChipProofs > :: read ( builder) ;
163+ let chip_proofs = Vec :: < ZKVMChipProofInput > :: read ( builder) ;
170164 builder. cycle_tracker_end ( "read chip proofs" ) ;
171165 let max_num_var = usize:: read ( builder) ;
172166 let max_width = usize:: read ( builder) ;
@@ -202,28 +196,24 @@ impl Hintable<InnerConfig> for ZKVMProofInput {
202196 . collect ( ) ;
203197 let witin_num_vars = self
204198 . chip_proofs
205- . iter ( )
206- . flat_map ( |( _, proofs) | proofs. iter ( ) )
199+ . values ( )
207200 . filter ( |proof| proof. num_witin > 0 )
208201 . map ( |proof| proof. num_vars )
209202 . collect :: < Vec < _ > > ( ) ;
210203 let witin_max_widths = self
211204 . chip_proofs
212- . iter ( )
213- . flat_map ( |( _, proofs) | proofs. iter ( ) )
205+ . values ( )
214206 . map ( |proof| proof. wits_in_evals . len ( ) . max ( 1 ) )
215207 . collect :: < Vec < _ > > ( ) ;
216208 let fixed_num_vars = self
217209 . chip_proofs
218- . iter ( )
219- . flat_map ( |( _, proofs) | proofs. iter ( ) )
210+ . values ( )
220211 . filter ( |proof| !proof. fixed_in_evals . is_empty ( ) )
221212 . map ( |proof| proof. num_vars )
222213 . collect :: < Vec < _ > > ( ) ;
223214 let fixed_max_widths = self
224215 . chip_proofs
225- . iter ( )
226- . flat_map ( |( _, proofs) | proofs. iter ( ) )
216+ . values ( )
227217 . filter ( |proof| !proof. fixed_in_evals . is_empty ( ) )
228218 . map ( |proof| proof. fixed_in_evals . len ( ) )
229219 . collect :: < Vec < _ > > ( ) ;
@@ -261,8 +251,8 @@ impl Hintable<InnerConfig> for ZKVMProofInput {
261251 stream. extend ( raw_pi_num_variables. write ( ) ) ;
262252 stream. extend ( self . pi_evals . write ( ) ) ;
263253 stream. extend ( vec ! [ vec![ F :: from_canonical_usize( self . chip_proofs. len( ) ) ] ] ) ;
264- for proofs in self . chip_proofs . values ( ) {
265- stream. extend ( proofs . write ( ) ) ;
254+ for proof in self . chip_proofs . values ( ) {
255+ stream. extend ( proof . write ( ) ) ;
266256 }
267257 stream. extend ( <usize as Hintable < InnerConfig > >:: write ( & max_num_var) ) ;
268258 stream. extend ( <usize as Hintable < InnerConfig > >:: write ( & max_width) ) ;
@@ -404,35 +394,6 @@ pub struct ZKVMChipProofInput {
404394
405395impl VecAutoHintable for ZKVMChipProofInput { }
406396
407- /// wrapper struct to allow us implement VecAutoHintable
408- pub struct ZKVMChipProofs ( Vec < ZKVMChipProofInput > ) ;
409-
410- impl From < Vec < ZKVMChipProofInput > > for ZKVMChipProofs {
411- fn from ( v : Vec < ZKVMChipProofInput > ) -> Self {
412- Self ( v)
413- }
414- }
415-
416- impl VecAutoHintable for ZKVMChipProofs { }
417-
418- impl ZKVMChipProofs {
419- pub fn iter ( & self ) -> std:: slice:: Iter < ' _ , ZKVMChipProofInput > {
420- self . 0 . iter ( )
421- }
422- }
423-
424- impl Hintable < InnerConfig > for ZKVMChipProofs {
425- type HintVariable = Array < InnerConfig , ZKVMChipProofInputVariable < InnerConfig > > ;
426-
427- fn read ( builder : & mut Builder < InnerConfig > ) -> Self :: HintVariable {
428- Vec :: < ZKVMChipProofInput > :: read ( builder)
429- }
430-
431- fn write ( & self ) -> Vec < Vec < <InnerConfig as Config >:: N > > {
432- self . 0 . write ( )
433- }
434- }
435-
436397impl From < ( usize , ZKVMChipProof < E > , usize , usize ) > for ZKVMChipProofInput {
437398 fn from ( d : ( usize , ZKVMChipProof < E > , usize , usize ) ) -> Self {
438399 let idx = d. 0 ;
0 commit comments