@@ -40,7 +40,7 @@ template <typename Flavor> void ECCVMRecursiveVerifier_<Flavor>::verify_proof(co
40
40
}
41
41
42
42
// Get challenge for sorted list batching and wire four memory records
43
- auto [beta, gamma ] = transcript->template get_challenges <FF>(" beta" , " gamma" );
43
+ const auto [beta, gamma ] = transcript->template get_challenges <FF>(" beta" , " gamma" );
44
44
45
45
auto beta_sqr = beta * beta;
46
46
@@ -63,7 +63,7 @@ template <typename Flavor> void ECCVMRecursiveVerifier_<Flavor>::verify_proof(co
63
63
// sumcheck is dependent on circuit size.
64
64
const size_t log_circuit_size = numeric::get_msb (static_cast <uint32_t >(circuit_size.get_value ()));
65
65
auto sumcheck = SumcheckVerifier<Flavor>(log_circuit_size, transcript, FF (0 ));
66
- FF alpha = transcript->template get_challenge <FF>(" Sumcheck:alpha" );
66
+ const FF alpha = transcript->template get_challenge <FF>(" Sumcheck:alpha" );
67
67
std::vector<FF> gate_challenges (static_cast <size_t >(numeric::get_msb (key->circuit_size )));
68
68
for (size_t idx = 0 ; idx < gate_challenges.size (); idx++) {
69
69
gate_challenges[idx] = transcript->template get_challenge <FF>(" Sumcheck:gate_challenge_" + std::to_string (idx));
@@ -80,25 +80,24 @@ template <typename Flavor> void ECCVMRecursiveVerifier_<Flavor>::verify_proof(co
80
80
multivariate_challenge,
81
81
key->pcs_verification_key ->get_g1_identity (),
82
82
transcript);
83
- auto hack_commitment = transcript->template receive_from_prover <Commitment>(" Translation:hack_commitment" );
84
83
85
- FF evaluation_challenge_x = transcript->template get_challenge <FF>(" Translation:evaluation_challenge_x" );
84
+ const FF evaluation_challenge_x = transcript->template get_challenge <FF>(" Translation:evaluation_challenge_x" );
86
85
87
86
// Construct the vector of commitments (needs to be vector for the batch_mul) and array of evaluations to be batched
88
- std::vector<Commitment> transcript_commitments = { commitments.transcript_op , commitments.transcript_Px ,
89
- commitments.transcript_Py , commitments.transcript_z1 ,
90
- commitments.transcript_z2 , hack_commitment };
87
+ std::vector<Commitment> transcript_commitments = { commitments.transcript_op ,
88
+ commitments.transcript_Px ,
89
+ commitments.transcript_Py ,
90
+ commitments.transcript_z1 ,
91
+ commitments.transcript_z2 };
91
92
92
93
std::vector<FF> transcript_evaluations = { transcript->template receive_from_prover <FF>(" Translation:op" ),
93
94
transcript->template receive_from_prover <FF>(" Translation:Px" ),
94
95
transcript->template receive_from_prover <FF>(" Translation:Py" ),
95
96
transcript->template receive_from_prover <FF>(" Translation:z1" ),
96
- transcript->template receive_from_prover <FF>(" Translation:z2" ),
97
- transcript->template receive_from_prover <FF>(
98
- " Translation:hack_evaluation" ) };
97
+ transcript->template receive_from_prover <FF>(" Translation:z2" ) };
99
98
100
99
// Get the batching challenge for commitments and evaluations
101
- FF ipa_batching_challenge = transcript->template get_challenge <FF>(" Translation:ipa_batching_challenge" );
100
+ const FF ipa_batching_challenge = transcript->template get_challenge <FF>(" Translation:ipa_batching_challenge" );
102
101
103
102
// Compute the batched commitment and batched evaluation for the univariate opening claim
104
103
auto batched_transcript_eval = transcript_evaluations[0 ];
@@ -110,7 +109,7 @@ template <typename Flavor> void ECCVMRecursiveVerifier_<Flavor>::verify_proof(co
110
109
batching_challenges.emplace_back (batching_scalar);
111
110
batching_scalar *= ipa_batching_challenge;
112
111
}
113
- auto batched_commitment = Commitment::batch_mul (transcript_commitments, batching_challenges);
112
+ const Commitment batched_commitment = Commitment::batch_mul (transcript_commitments, batching_challenges);
114
113
115
114
// Construct and verify the combined opening claim
116
115
OpeningClaim<Curve> batched_univariate_claim = { { evaluation_challenge_x, batched_transcript_eval },
0 commit comments