12#include <gtest/gtest.h>
22 if constexpr (HasIPAAccumulator<NativeFlavor>) {
23 auto [stdlib_opening_claim, ipa_proof] =
26 stdlib_opening_claim.set_public();
35using FlavorTypes = testing::Types<UltraRecursiveFlavor_<UltraCircuitBuilder>,
51 using NativeFlavor =
typename Flavor::NativeFlavor;
52 using NativeVerificationKey =
typename NativeFlavor::VerificationKey;
60 if constexpr (IsAnyOf<Flavor, TranslatorRecursiveFlavor, ECCVMRecursiveFlavor>) {
64 using InnerBuilder =
typename NativeFlavor::CircuitBuilder;
67 TestFixture::set_default_pairing_points_and_ipa_claim_and_proof(
builder);
72 OuterBuilder outer_builder;
73 StdlibVerificationKey
vk(&outer_builder, native_vk);
76 std::vector<FF> vk_field_elements =
vk.to_field_elements();
78 for (
const auto& field_element : vk_field_elements) {
83 FF vk_hash_2 =
vk.hash();
84 EXPECT_EQ(vk_hash_1.get_value(), vk_hash_2.get_value());
86 if constexpr (!IsAnyOf<Flavor, TranslatorRecursiveFlavor, ECCVMRecursiveFlavor>) {
88 FF vk_hash_3 =
vk.hash_through_transcript(
"", transcript_2);
89 EXPECT_EQ(vk_hash_2.get_value(), vk_hash_3.get_value());
static void SetUpTestSuite()
typename Flavor::NativeFlavor NativeFlavor
void set_default_pairing_points_and_ipa_claim_and_proof(typename NativeFlavor::CircuitBuilder &builder)
Common transcript class for both parties. Stores the data for the current round, as well as the manif...
void add_to_independent_hash_buffer(const std::string &label, const T &element)
Adds an element to an independent hash buffer.
DataType hash_independent_buffer()
Hashes the independent hash buffer and clears it.
The verification key is responsible for storing the commitments to the precomputed (non-witnessk) pol...
IPA (inner product argument) commitment scheme class.
NativeTranscript Transcript
MegaCircuitBuilder CircuitBuilder
The recursive counterpart to the "native" Mega flavor.
A ProverInstance is normally constructed from a finalized circuit and it contains all the information...
The recursive counterpart of the native Translator flavor.
The recursive counterpart to the "native" Ultra flavor.
The recursive counterpart to the "native" UltraRollupFlavor.
std::filesystem::path bb_crs_path()
void init_file_crs_factory(const std::filesystem::path &path)
Entry point for Barretenberg command-line interface.
TYPED_TEST_SUITE(ShpleminiTest, TestSettings)
TYPED_TEST(ShpleminiTest, CorrectnessOfMultivariateClaimBatching)
VerifierCommitmentKey< Curve > vk
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
static void add_default_to_public_inputs(Builder &builder)
Adds default public inputs to the builder.