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// === AUDIT STATUS ===
2// internal: { status: Planned, auditors: [Federico], commit: }
3// external_1: { status: not started, auditors: [], commit: }
4// external_2: { status: not started, auditors: [], commit: }
5// =====================
6
7#pragma once
8
13
14namespace bb::avm2 {
15
18 using FF = typename Flavor::FF;
19 using BF = typename Flavor::BF;
20 using Curve = typename Flavor::Curve;
26 using PCS = typename Flavor::PCS;
31
32 public:
34
35 [[nodiscard("IPA claim and Pairing points should be accumulated")]] PairingPoints verify_proof(
36 const HonkProof& proof, const std::vector<std::vector<fr>>& public_inputs_vec_nt);
37 [[nodiscard("IPA claim and Pairing points should be accumulated")]] PairingPoints verify_proof(
38 const StdlibProof& stdlib_proof, const std::vector<std::vector<typename Flavor::FF>>& public_inputs);
39
41 std::shared_ptr<VerificationKey> key;
43 std::shared_ptr<Transcript> transcript = std::make_shared<Transcript>();
44
45 private:
46 FF evaluate_public_input_column(const std::vector<FF>& points, const std::vector<FF>& challenges);
47};
48
49} // 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
typename Flavor::VerifierCommitments VerifierCommitments
PairingPoints verify_proof(const StdlibProof &stdlib_proof, const std::vector< std::vector< typename Flavor::FF > > &public_inputs)
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
An object storing two EC points that represent the inputs to a pairing check.