26 if (!parsing_result.has_value()) {
29 auto [batching_challenge_init, x, op_queue] = parsing_result.value();
31 prover_transcript->send_to_verifier(
"init", batching_challenge_init);
32 prover_transcript->export_proof();
33 Fq translation_batching_challenge = prover_transcript->template get_challenge<Fq>(
"Translation:batching_challenge");
47 verifier_transcript->template receive_from_prover<Fq>(
"init");
56 op_queue_commitments[0] = proving_key->proving_key->commitment_key.commit(proving_key->proving_key->polynomials.op);
57 op_queue_commitments[1] =
58 proving_key->proving_key->commitment_key.commit(proving_key->proving_key->polynomials.x_lo_y_hi);
59 op_queue_commitments[2] =
60 proving_key->proving_key->commitment_key.commit(proving_key->proving_key->polynomials.x_hi_z_1);
61 op_queue_commitments[3] =
62 proving_key->proving_key->commitment_key.commit(proving_key->proving_key->polynomials.y_lo_z_2);
65 verifier.
verify_proof(proof, x, translation_batching_challenge, accumulated_result, op_queue_commitments);
bool verify_proof(const HonkProof &proof, const uint256_t &evaluation_input_x, const BF &batching_challenge_v, const uint256_t &accumulated_result, const std::array< Commitment, TranslatorFlavor::NUM_OP_QUEUE_WIRES > &op_queue_wire_commitments)
This function verifies a TranslatorFlavor Honk proof for given program settings.
std::optional< std::tuple< Fq, Fq, std::shared_ptr< ECCOpQueue > > > parse_and_construct_opqueue(const unsigned char *data, size_t size)
Try to parse out the batching and evaluating challenges and then the ECCOpQueue from the data.