| 1140 | } |
| 1141 | |
| 1142 | pub fn for_aggregate(&self) -> Self { |
| 1143 | let mut statement_proofs = vec![]; |
| 1144 | for sp in self.statement_proofs() { |
| 1145 | match sp { |
| 1146 | StatementProof::Saver(sp) => statement_proofs |
| 1147 | .push(StatementProof::SaverWithAggregation(sp.for_aggregation())), |
| 1148 | StatementProof::BoundCheckLegoGroth16(b) => statement_proofs.push( |
| 1149 | StatementProof::BoundCheckLegoGroth16WithAggregation(b.for_aggregation()), |
| 1150 | ), |
| 1151 | StatementProof::R1CSLegoGroth16(b) => statement_proofs.push( |
| 1152 | StatementProof::R1CSLegoGroth16WithAggregation(b.for_aggregation()), |
| 1153 | ), |
| 1154 | _ => statement_proofs.push(sp.clone()), |
| 1155 | } |
| 1156 | } |
| 1157 | Self { |
| 1158 | statement_proofs, |
| 1159 | aggregated_groth16: self.aggregated_groth16.clone(), |
| 1160 | aggregated_legogroth16: self.aggregated_legogroth16.clone(), |
| 1161 | } |
| 1162 | } |
| 1163 | |
| 1164 | /// Get indices of witnesses of statement index `s_id` for which response should not be generated since it already exists. |
| 1165 | /// If the response didn't exists, then the given `resp_generated` will be updated |