53 if (constraints.size() == 1 && constraints[0].proof_type == oink_type) {
59 if (constraints.size() == 1 && constraints[0].proof_type == pg_type) {
60 ivc->recursive_verifier_native_accum = create_mock_decider_vk<ClientIVC::Flavor>();
66 if (constraints.size() == 1 && constraints[0].proof_type == pg_tail_type) {
67 ivc->recursive_verifier_native_accum = create_mock_decider_vk<ClientIVC::Flavor>();
73 if (constraints.size() == 2) {
76 ivc->recursive_verifier_native_accum = create_mock_decider_vk<ClientIVC::Flavor>();
83 if (constraints.size() == 1 && constraints[0].proof_type == pg_final_type) {
84 ivc->recursive_verifier_native_accum = create_mock_decider_vk<ClientIVC::Flavor>();
100 const bool is_kernel)
114 std::vector<FF> proof;
119 switch (verification_type) {
120 case ClientIVC::QUEUE_TYPE::OINK:
121 proof = create_mock_oink_proof<Flavor, KernelIO>();
123 case ClientIVC::QUEUE_TYPE::PG:
124 case ClientIVC::QUEUE_TYPE::PG_FINAL:
125 case ClientIVC::QUEUE_TYPE::PG_TAIL:
126 proof = create_mock_pg_proof<Flavor, KernelIO>();
129 throw_or_abort(
"Invalid verification type! Only OINK, PG and PG_FINAL are supported");
131 verification_key = create_mock_honk_vk<Flavor, KernelIO>(dyadic_size, pub_inputs_offset);
134 switch (verification_type) {
135 case ClientIVC::QUEUE_TYPE::OINK:
136 proof = create_mock_oink_proof<Flavor, AppIO>();
138 case ClientIVC::QUEUE_TYPE::PG:
139 proof = create_mock_pg_proof<Flavor, AppIO>();
142 throw_or_abort(
"Invalid verification type! Only OINK, PG and PG_FINAL are supported");
144 verification_key = create_mock_honk_vk<Flavor, AppIO>(dyadic_size, pub_inputs_offset);
161 ivc->verification_queue.emplace_back(entry);
164 if (type == ClientIVC::QUEUE_TYPE::PG_FINAL) {
167 ivc->decider_proof = acir_format::create_mock_decider_proof<ClientIVC::Flavor>();
169 ivc->num_circuits_accumulated++;
181 std::vector<uint32_t>& key_witness_indices)
186 std::vector<FF> mock_vk_fields = mock_verification_key->to_field_elements();
187 BB_ASSERT_EQ(mock_vk_fields.size(), key_witness_indices.size());
190 for (
auto [witness_idx,
value] :
zip_view(key_witness_indices, mock_vk_fields)) {
#define BB_ASSERT_EQ(actual, expected,...)
Flavor::VerificationKey MegaVerificationKey
uint32_t trace_offset() const
void compute_offsets(bool is_structured)
void set_fixed_block_sizes(const TraceSettings &settings)
size_t get_structured_dyadic_size() const
Manages the data that is propagated on the public inputs of an application/function circuit.
Manages the data that is propagated on the public inputs of a kernel circuit.
Base class templates for structures that contain data parameterized by the fundamental polynomials of...
DefaultIO< MegaCircuitBuilder > AppIO
The data that is propagated on the public inputs of an application/function circuit.
Entry point for Barretenberg command-line interface.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
MegaTracePublicInputBlock pub_inputs
void throw_or_abort(std::string const &err)