Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
goblin_avm_verifier.hpp
Go to the documentation of this file.
1// === AUDIT STATUS ===
2// internal: { status: Completed, auditors: [Federico], commit: }
3// external_1: { status: not started, auditors: [], commit: }
4// external_2: { status: not started, auditors: [], commit: }
5// =====================
6#pragma once
17
18namespace bb {
19
31 public:
34 // Verifiers
37 // Proof and commitment types
40 using TableCommitments = std::array<Commitment, UltraCircuitBuilder::NUM_WIRES>;
41
50
51 PairingPoints translator_pairing_points; // KZG pairing points from Translator
52 IPAClaim ipa_claim; // IPA opening claim from ECCVM (Grumpkin curve)
53 IPAProof ipa_proof; // IPA proof for verifying the claim
54 };
55
69
78 [[nodiscard("Verification result must be accumulated")]] ReductionResult reduce_to_pairing_check_and_ipa_opening();
79
80 private:
81 std::shared_ptr<Transcript> transcript;
84};
85
86} // namespace bb
Common transcript class for both parties. Stores the data for the current round, as well as the manif...
Unified ECCVM verifier class for both native and recursive verification.
std::shared_ptr< Transcript > transcript
ReductionResult reduce_to_pairing_check_and_ipa_opening()
Reduce Goblin proof to pairing check and IPA opening claim.
std::array< Commitment, UltraCircuitBuilder::NUM_WIRES > TableCommitments
GoblinAvmRecursiveVerifier(std::shared_ptr< Transcript > transcript, const GoblinProof &proof, const TableCommitments &table_commitments)
Construct a GoblinAvm verifier.
Translator verifier class that verifies the proof of the Translator circuit.
Entry point for Barretenberg command-line interface.
Definition api.hpp:5
BaseTranscript< stdlib::StdlibCodec< stdlib::field_t< UltraCircuitBuilder > >, stdlib::poseidon2< UltraCircuitBuilder > > UltraStdlibTranscript
STL namespace.
Group AffineElement
Definition bn254.hpp:37
An object storing two EC points that represent the inputs to a pairing check.