Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
recursive_verifier.hpp
Go to the documentation of this file.
1#pragma once
2
7
8namespace bb::avm2 {
9
12 using FF = typename Flavor::FF;
13 using BF = typename Flavor::BF;
14 using Curve = typename Flavor::Curve;
20 using PCS = typename Flavor::PCS;
25
26 public:
27 explicit AvmRecursiveVerifier(Builder& builder, const std::shared_ptr<VerificationKey>& vkey);
28
29 [[nodiscard("IPA claim and Pairing points should be accumulated")]] PairingPoints verify_proof(
30 const HonkProof& proof, const std::vector<std::vector<fr>>& public_inputs_vec_nt);
31 [[nodiscard("IPA claim and Pairing points should be accumulated")]] PairingPoints verify_proof(
32 const StdlibProof& stdlib_proof_with_pi_flag, // TODO(#14234)[Unconditional PIs validation]: rename
33 // stdlib_proof_with_pi_flag to stdlib_proof
34 const std::vector<std::vector<typename Flavor::FF>>& public_inputs);
35
37 std::shared_ptr<VerificationKey> key;
39 std::shared_ptr<Transcript> transcript = std::make_shared<Transcript>();
40
41 private:
42 FF evaluate_public_input_column(const std::vector<FF>& points, const std::vector<FF>& challenges);
43};
44
45} // namespace bb::avm2
Common transcript class for both parties. Stores the data for the current round, as well as the manif...
NativeFlavor::VerificationKey NativeVerificationKey
NativeFlavor::VerifierCommitments_< Commitment, VerificationKey > VerifierCommitments
AvmRecursiveFlavorSettings::BF BF
AvmRecursiveFlavorSettings::Curve Curve
AvmRecursiveFlavorSettings::CircuitBuilder CircuitBuilder
AvmRecursiveFlavorSettings::FF FF
std::array< FF, NUM_SUBRELATIONS - 1 > SubrelationSeparators
AvmRecursiveFlavorSettings::PCS PCS
AvmRecursiveFlavorSettings::Commitment Commitment
typename Flavor::VerificationKey VerificationKey
std::shared_ptr< Transcript > transcript
PairingPoints verify_proof(const StdlibProof &stdlib_proof_with_pi_flag, const std::vector< std::vector< typename Flavor::FF > > &public_inputs)
typename Flavor::VerifierCommitments VerifierCommitments
typename Flavor::SubrelationSeparators SubrelationSeparators
std::shared_ptr< VerificationKey > key
FF evaluate_public_input_column(const std::vector< FF > &points, const std::vector< FF > &challenges)
PairingPoints verify_proof(const HonkProof &proof, const std::vector< std::vector< fr > > &public_inputs_vec_nt)
typename Flavor::CircuitBuilder Builder
typename Flavor::NativeVerificationKey NativeVerificationKey
typename Flavor::Commitment Commitment
A simple wrapper around a vector of stdlib field elements representing a proof.
Definition proof.hpp:19
std::vector< fr > HonkProof
Definition proof.hpp:15
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13