|
template<typename Builder > |
void | perform_full_IPA_verification (Builder &builder, const std::vector< OpeningClaim< stdlib::grumpkin< Builder > > > &nested_ipa_claims, const std::vector< stdlib::Proof< Builder > > &nested_ipa_proofs) |
| Perform full recursive IPA verification.
|
|
template<typename Builder > |
std::pair< OpeningClaim< stdlib::grumpkin< Builder > >, HonkProof > | handle_IPA_accumulation (Builder &builder, const std::vector< OpeningClaim< stdlib::grumpkin< Builder > > > &nested_ipa_claims, const std::vector< stdlib::Proof< Builder > > &nested_ipa_proofs) |
| Set the IPA claim and proof.
|
|
template<typename Builder > |
void | build_constraints (Builder &builder, AcirProgram &program, const ProgramMetadata &metadata) |
|
template<typename Builder > |
HonkRecursionConstraintsOutput< Builder > | process_honk_recursion_constraints (Builder &builder, AcirFormat &constraint_system, bool has_valid_witness_assignments, GateCounter< Builder > &gate_counter) |
|
void | process_pg_recursion_constraints (MegaCircuitBuilder &builder, AcirFormat &constraints, std::shared_ptr< ClientIVC > ivc, bool has_valid_witness_assignments, GateCounter< MegaCircuitBuilder > &gate_counter) |
|
HonkRecursionConstraintsOutput< Builder > | process_civc_recursion_constraints (Builder &builder, AcirFormat &constraint_system, bool has_valid_witness_assignments, GateCounter< Builder > &gate_counter) |
|
HonkRecursionConstraintsOutput< Builder > | process_avm_recursion_constraints (Builder &builder, AcirFormat &constraint_system, bool has_valid_witness_assignments, GateCounter< Builder > &gate_counter) |
|
template<> |
UltraCircuitBuilder | create_circuit (AcirProgram &program, const ProgramMetadata &metadata) |
| Specialization for creating an Ultra circuit from an acir program.
|
|
template<> |
MegaCircuitBuilder | create_circuit (AcirProgram &program, const ProgramMetadata &metadata) |
| Specialization for creating a Mega circuit from an acir program.
|
|
template void | build_constraints< MegaCircuitBuilder > (MegaCircuitBuilder &, AcirProgram &, const ProgramMetadata &) |
|
template<typename Builder = bb::UltraCircuitBuilder> |
Builder | create_circuit (AcirProgram &program, const ProgramMetadata &metadata=ProgramMetadata{}) |
|
template<typename T > |
T | deserialize_any_format (std::vector< uint8_t > &&buf, std::function< T(msgpack::object const &)> decode_msgpack, std::function< T(std::vector< uint8_t >)> decode_bincode) |
| Deserialize buf either based on the first byte interpreted as a Noir serialization format byte, or falling back to bincode if the format cannot be recognized. Currently only msgpack format is expected, or the legacy bincode format.
|
|
Acir::Program | deserialize_program (std::vector< uint8_t > &&buf) |
| Deserializes a Program from bytes, trying msgpack or bincode formats.
|
|
Witnesses::WitnessStack | deserialize_witness_stack (std::vector< uint8_t > &&buf) |
| Deserializes a WitnessStack from bytes, trying msgpack or bincode formats.
|
|
poly_triple | serialize_arithmetic_gate (Acir::Expression const &arg) |
| Construct a poly_tuple for a standard width-3 arithmetic gate from its acir representation.
|
|
void | assign_linear_term (mul_quad_< fr > &gate, int index, uint32_t witness_index, fr const &scaling) |
| Assigns a linear term to a specific index in a mul_quad_ gate.
|
|
std::vector< mul_quad_< fr > > | split_into_mul_quad_gates (Acir::Expression const &arg) |
| Accumulate the input expression into a serie of quad gates.
|
|
mul_quad_< fr > | serialize_mul_quad_gate (Acir::Expression const &arg) |
|
void | constrain_witnesses (Acir::Opcode::AssertZero const &arg, AcirFormat &af) |
|
std::pair< uint32_t, uint32_t > | is_assert_equal (Acir::Opcode::AssertZero const &arg, poly_triple const &pt, AcirFormat const &af) |
|
void | handle_arithmetic (Acir::Opcode::AssertZero const &arg, AcirFormat &af, size_t opcode_index) |
|
uint32_t | get_witness_from_function_input (Acir::FunctionInput input) |
|
WitnessOrConstant< bb::fr > | parse_input (Acir::FunctionInput input) |
|
void | handle_blackbox_func_call (Acir::Opcode::BlackBoxFuncCall const &arg, AcirFormat &af, size_t opcode_index) |
|
BlockConstraint | handle_memory_init (Acir::Opcode::MemoryInit const &mem_init) |
|
bool | is_rom (Acir::MemOp const &mem_op) |
|
uint32_t | poly_to_witness (const poly_triple poly) |
|
void | handle_memory_op (Acir::Opcode::MemoryOp const &mem_op, AcirFormat &af, BlockConstraint &block) |
|
AcirFormat | circuit_serde_to_acir_format (Acir::Circuit const &circuit) |
|
AcirFormat | circuit_buf_to_acir_format (std::vector< uint8_t > &&buf) |
|
WitnessVector | witness_map_to_witness_vector (Witnesses::WitnessMap const &witness_map) |
| Converts from the ACIR-native WitnessMap format to Barretenberg's internal WitnessVector format.
|
|
WitnessVector | witness_buf_to_witness_data (std::vector< uint8_t > &&buf) |
| Converts from the ACIR-native WitnessStack format to Barretenberg's internal WitnessVector format.
|
|
std::vector< AcirFormat > | program_buf_to_acir_format (std::vector< uint8_t > &&buf) |
|
WitnessVectorStack | witness_buf_to_witness_stack (std::vector< uint8_t > &&buf) |
|
AcirProgramStack | get_acir_program_stack (std::string const &bytecode_path, std::string const &witness_path) |
|
template<typename Builder > |
void | create_aes128_constraints (Builder &builder, const AES128Constraint &constraint) |
|
template void | create_aes128_constraints< UltraCircuitBuilder > (UltraCircuitBuilder &builder, const AES128Constraint &constraint) |
|
template void | create_aes128_constraints< MegaCircuitBuilder > (MegaCircuitBuilder &builder, const AES128Constraint &constraint) |
|
HonkRecursionConstraintOutput< Builder > | create_avm2_recursion_constraints_goblin (Builder &builder, const RecursionConstraint &input, bool has_valid_witness_assignments) |
| Add constraints associated with recursive verification of an AVM2 proof using Goblin.
|
|
ModulusId | modulus_param_to_id (ModulusParam param) |
|
template void | create_bigint_operations_constraint< UltraCircuitBuilder > (const BigIntOperation &input, DSLBigInts< UltraCircuitBuilder > &dsl_bigint, bool has_valid_witness_assignments) |
|
template void | create_bigint_operations_constraint< MegaCircuitBuilder > (const BigIntOperation &input, DSLBigInts< MegaCircuitBuilder > &dsl_bigint, bool has_valid_witness_assignments) |
|
template void | create_bigint_addition_constraint< UltraCircuitBuilder > (const BigIntOperation &input, DSLBigInts< UltraCircuitBuilder > &dsl_bigint) |
|
template void | create_bigint_addition_constraint< MegaCircuitBuilder > (const BigIntOperation &input, DSLBigInts< MegaCircuitBuilder > &dsl_bigint) |
|
template void | create_bigint_sub_constraint< UltraCircuitBuilder > (const BigIntOperation &input, DSLBigInts< UltraCircuitBuilder > &dsl_bigint) |
|
template void | create_bigint_sub_constraint< MegaCircuitBuilder > (const BigIntOperation &input, DSLBigInts< MegaCircuitBuilder > &dsl_bigint) |
|
template void | create_bigint_mul_constraint< UltraCircuitBuilder > (const BigIntOperation &input, DSLBigInts< UltraCircuitBuilder > &dsl_bigint) |
|
template void | create_bigint_mul_constraint< MegaCircuitBuilder > (const BigIntOperation &input, DSLBigInts< MegaCircuitBuilder > &dsl_bigint) |
|
template void | create_bigint_div_constraint< UltraCircuitBuilder > (const BigIntOperation &input, DSLBigInts< UltraCircuitBuilder > &dsl_bigint, bool has_valid_witness_assignments) |
|
template void | create_bigint_div_constraint< MegaCircuitBuilder > (const BigIntOperation &input, DSLBigInts< MegaCircuitBuilder > &dsl_bigint, bool has_valid_witness_assignments) |
|
template<typename Builder > |
void | create_bigint_addition_constraint (const BigIntOperation &input, DSLBigInts< Builder > &dsl_bigint) |
|
template<typename Builder > |
void | create_bigint_sub_constraint (const BigIntOperation &input, DSLBigInts< Builder > &dsl_bigint) |
|
template<typename Builder > |
void | create_bigint_mul_constraint (const BigIntOperation &input, DSLBigInts< Builder > &dsl_bigint) |
|
template<typename Builder > |
void | create_bigint_div_constraint (const BigIntOperation &input, DSLBigInts< Builder > &dsl_bigint, bool has_valid_witness_assignments) |
|
template<typename Builder > |
void | create_bigint_operations_constraint (const BigIntOperation &input, DSLBigInts< Builder > &dsl_bigint, bool has_valid_witness_assignments) |
|
template<typename Builder > |
void | create_bigint_from_le_bytes_constraint (Builder &builder, const BigIntFromLeBytes &input, DSLBigInts< Builder > &dsl_bigints) |
|
template<typename Builder > |
void | create_bigint_to_le_bytes_constraint (Builder &builder, const BigIntToLeBytes &input, DSLBigInts< Builder > &dsl_bigints) |
|
template void | create_bigint_from_le_bytes_constraint< UltraCircuitBuilder > (UltraCircuitBuilder &builder, const BigIntFromLeBytes &input, DSLBigInts< UltraCircuitBuilder > &dsl_bigints) |
|
template void | create_bigint_from_le_bytes_constraint< MegaCircuitBuilder > (MegaCircuitBuilder &builder, const BigIntFromLeBytes &input, DSLBigInts< MegaCircuitBuilder > &dsl_bigints) |
|
template void | create_bigint_to_le_bytes_constraint< UltraCircuitBuilder > (UltraCircuitBuilder &builder, const BigIntToLeBytes &input, DSLBigInts< UltraCircuitBuilder > &dsl_bigints) |
|
template void | create_bigint_to_le_bytes_constraint< MegaCircuitBuilder > (MegaCircuitBuilder &builder, const BigIntToLeBytes &input, DSLBigInts< MegaCircuitBuilder > &dsl_bigints) |
|
template<typename Builder > |
void | create_blake2s_constraints (Builder &builder, const Blake2sConstraint &constraint) |
|
template void | create_blake2s_constraints< UltraCircuitBuilder > (UltraCircuitBuilder &builder, const Blake2sConstraint &constraint) |
|
template void | create_blake2s_constraints< MegaCircuitBuilder > (MegaCircuitBuilder &builder, const Blake2sConstraint &constraint) |
|
template<typename Builder > |
void | create_blake3_constraints (Builder &builder, const Blake3Constraint &constraint) |
|
template void | create_blake3_constraints< bb::UltraCircuitBuilder > (bb::UltraCircuitBuilder &builder, const Blake3Constraint &constraint) |
|
template void | create_blake3_constraints< bb::MegaCircuitBuilder > (bb::MegaCircuitBuilder &builder, const Blake3Constraint &constraint) |
|
template<typename Builder > |
stdlib::field_t< Builder > | poly_to_field_ct (const poly_triple poly, Builder &builder) |
|
template<> |
void | create_block_constraints (UltraCircuitBuilder &builder, const BlockConstraint &constraint, bool has_valid_witness_assignments) |
| Create block constraints; Specialization for Ultra arithmetization.
|
|
template<> |
void | create_block_constraints (MegaCircuitBuilder &builder, const BlockConstraint &constraint, bool has_valid_witness_assignments) |
| Create block constraints; Specialization for Mega arithmetization.
|
|
template<typename Builder > |
void | process_ROM_operations (Builder &builder, const BlockConstraint &constraint, bool has_valid_witness_assignments, std::vector< bb::stdlib::field_t< Builder > > &init) |
|
template<typename Builder > |
void | process_RAM_operations (Builder &builder, const BlockConstraint &constraint, bool has_valid_witness_assignments, std::vector< bb::stdlib::field_t< Builder > > &init) |
|
template<typename Builder > |
void | process_call_data_operations (Builder &builder, const BlockConstraint &constraint, bool has_valid_witness_assignments, std::vector< bb::stdlib::field_t< Builder > > &init) |
|
template<typename Builder > |
void | process_return_data_operations (const BlockConstraint &constraint, std::vector< bb::stdlib::field_t< Builder > > &init) |
|
template<typename Builder > |
void | create_block_constraints (Builder &builder, const BlockConstraint &constraint, bool has_valid_witness_assignments=true) |
|
template<typename B > |
void | read (B &buf, MemOp &mem_op) |
|
template<typename B > |
void | write (B &buf, MemOp const &mem_op) |
|
template<typename B > |
void | read (B &buf, BlockConstraint &constraint) |
|
template<typename B > |
void | write (B &buf, BlockConstraint const &constraint) |
|
void | create_dummy_vkey_and_proof (Builder &builder, size_t proof_size, size_t public_inputs_size, const std::vector< field_ct > &key_fields, const std::vector< field_ct > &proof_fields) |
| Creates a dummy vkey and proof object.
|
|
HonkRecursionConstraintOutput< Builder > | create_civc_recursion_constraints (Builder &builder, const RecursionConstraint &input, bool has_valid_witness_assignments) |
| Add constraints associated with recursive verification of an CIVC proof.
|
|
template<typename Builder > |
void | create_ec_add_constraint (Builder &builder, const EcAdd &input, bool has_valid_witness_assignments) |
|
template void | create_ec_add_constraint< bb::UltraCircuitBuilder > (bb::UltraCircuitBuilder &builder, const EcAdd &input, bool has_valid_witness_assignments) |
|
template void | create_ec_add_constraint< bb::MegaCircuitBuilder > (bb::MegaCircuitBuilder &builder, const EcAdd &input, bool has_valid_witness_assignments) |
|
template<typename Curve > |
void | create_ecdsa_verify_constraints (typename Curve::Builder &builder, const EcdsaConstraint &input, bool has_valid_witness_assignments) |
| Create constraints to verify an ECDSA signature.
|
|
template<typename Curve > |
void | create_dummy_ecdsa_constraint (typename Curve::Builder &builder, const std::vector< stdlib::field_t< typename Curve::Builder > > &hashed_message_fields, const std::vector< stdlib::field_t< typename Curve::Builder > > &r_fields, const std::vector< stdlib::field_t< typename Curve::Builder > > &s_fields, const std::vector< stdlib::field_t< typename Curve::Builder > > &pub_x_fields, const std::vector< stdlib::field_t< typename Curve::Builder > > &pub_y_fields, const stdlib::field_t< typename Curve::Builder > &result_field) |
| Generate dummy ECDSA constraints when the builder doesn't have witnesses.
|
|
template void | create_ecdsa_verify_constraints< stdlib::secp256k1< UltraCircuitBuilder > > (UltraCircuitBuilder &builder, const EcdsaConstraint &input, bool has_valid_witness_assignments) |
|
template void | create_ecdsa_verify_constraints< stdlib::secp256k1< MegaCircuitBuilder > > (MegaCircuitBuilder &builder, const EcdsaConstraint &input, bool has_valid_witness_assignments) |
|
template void | create_ecdsa_verify_constraints< stdlib::secp256r1< UltraCircuitBuilder > > (UltraCircuitBuilder &builder, const EcdsaConstraint &input, bool has_valid_witness_assignments) |
|
template void | create_ecdsa_verify_constraints< stdlib::secp256r1< MegaCircuitBuilder > > (MegaCircuitBuilder &builder, const EcdsaConstraint &input, bool has_valid_witness_assignments) |
|
template void | create_dummy_ecdsa_constraint< stdlib::secp256k1< UltraCircuitBuilder > > (UltraCircuitBuilder &, const std::vector< stdlib::field_t< UltraCircuitBuilder > > &, const std::vector< stdlib::field_t< UltraCircuitBuilder > > &, const std::vector< stdlib::field_t< UltraCircuitBuilder > > &, const std::vector< stdlib::field_t< UltraCircuitBuilder > > &, const std::vector< stdlib::field_t< UltraCircuitBuilder > > &, const stdlib::field_t< UltraCircuitBuilder > &) |
|
template void | create_dummy_ecdsa_constraint< stdlib::secp256r1< UltraCircuitBuilder > > (UltraCircuitBuilder &, const std::vector< stdlib::field_t< UltraCircuitBuilder > > &, const std::vector< stdlib::field_t< UltraCircuitBuilder > > &, const std::vector< stdlib::field_t< UltraCircuitBuilder > > &, const std::vector< stdlib::field_t< UltraCircuitBuilder > > &, const std::vector< stdlib::field_t< UltraCircuitBuilder > > &, const stdlib::field_t< UltraCircuitBuilder > &) |
|
template<typename Flavor >
requires (IsRecursiveFlavor<Flavor> && IsUltraHonk<typename Flavor::NativeFlavor>) |
HonkRecursionConstraintOutput< typename Flavor::CircuitBuilder > | create_honk_recursion_constraints (typename Flavor::CircuitBuilder &builder, const RecursionConstraint &input, bool has_valid_witness_assignments) |
| Add constraints required to recursively verify an UltraHonk proof.
|
|
template HonkRecursionConstraintOutput< UltraCircuitBuilder > | create_honk_recursion_constraints< UltraRecursiveFlavor_< UltraCircuitBuilder > > (UltraCircuitBuilder &builder, const RecursionConstraint &input, bool has_valid_witness_assignments) |
|
template HonkRecursionConstraintOutput< UltraCircuitBuilder > | create_honk_recursion_constraints< UltraRollupRecursiveFlavor_< UltraCircuitBuilder > > (UltraCircuitBuilder &builder, const RecursionConstraint &input, bool has_valid_witness_assignments) |
|
template HonkRecursionConstraintOutput< MegaCircuitBuilder > | create_honk_recursion_constraints< UltraRecursiveFlavor_< MegaCircuitBuilder > > (MegaCircuitBuilder &builder, const RecursionConstraint &input, bool has_valid_witness_assignments) |
|
template HonkRecursionConstraintOutput< MegaCircuitBuilder > | create_honk_recursion_constraints< UltraZKRecursiveFlavor_< MegaCircuitBuilder > > (MegaCircuitBuilder &builder, const RecursionConstraint &input, bool has_valid_witness_assignments) |
|
template HonkRecursionConstraintOutput< UltraCircuitBuilder > | create_honk_recursion_constraints< UltraZKRecursiveFlavor_< UltraCircuitBuilder > > (UltraCircuitBuilder &builder, const RecursionConstraint &input, bool has_valid_witness_assignments) |
|
template<typename Builder > |
void | create_keccak_permutations (Builder &builder, const Keccakf1600 &constraint) |
|
template void | create_keccak_permutations< bb::UltraCircuitBuilder > (bb::UltraCircuitBuilder &builder, const Keccakf1600 &constraint) |
|
template void | create_keccak_permutations< bb::MegaCircuitBuilder > (bb::MegaCircuitBuilder &builder, const Keccakf1600 &constraint) |
|
template<typename Builder > |
void | create_logic_gate (Builder &builder, const WitnessOrConstant< bb::fr > a, const WitnessOrConstant< bb::fr > b, const uint32_t result, const size_t num_bits, const bool is_xor_gate) |
|
template void | create_logic_gate< bb::MegaCircuitBuilder > (bb::MegaCircuitBuilder &builder, const WitnessOrConstant< bb::fr > a, const WitnessOrConstant< bb::fr > b, const uint32_t result, const size_t num_bits, const bool is_xor_gate) |
|
template void | create_logic_gate< bb::UltraCircuitBuilder > (bb::UltraCircuitBuilder &builder, const WitnessOrConstant< bb::fr > a, const WitnessOrConstant< bb::fr > b, const uint32_t result, const size_t num_bits, const bool is_xor_gate) |
|
template<typename Builder > |
void | create_logic_gate (Builder &builder, WitnessOrConstant< bb::fr > a, WitnessOrConstant< bb::fr > b, uint32_t result, std::size_t num_bits, bool is_xor_gate) |
|
void | xor_gate (Builder &builder, WitnessOrConstant< bb::fr > a, WitnessOrConstant< bb::fr > b, uint32_t result) |
|
void | and_gate (Builder &builder, WitnessOrConstant< bb::fr > a, WitnessOrConstant< bb::fr > b, uint32_t result) |
|
template<class Curve = curve::BN254> |
void | populate_field_elements_for_mock_commitments (std::vector< fr > &fields, const size_t &num_commitments) |
| Helper to populate a field buffer with fields corresponding to some number of mock commitment values.
|
|
template<class FF = curve::BN254::ScalarField> |
void | populate_field_elements (std::vector< fr > &fields, const size_t &num_elements, std::optional< FF > value=std::nullopt) |
| Helper to populate a field buffer with some number of field elements.
|
|
template<typename Flavor , class PublicInputs > |
HonkProof | create_mock_oink_proof (const size_t inner_public_inputs_size) |
| Create a mock oink proof that has the correct structure but is not in general valid.
|
|
template<typename Flavor > |
HonkProof | create_mock_decider_proof () |
| Create a mock decider proof that has the correct structure but is not in general valid.
|
|
template<typename Flavor , class PublicInputs > |
HonkProof | create_mock_honk_proof (const size_t inner_public_inputs_size) |
| Create a mock honk proof that has the correct structure but is not in general valid.
|
|
template<typename Flavor , class PublicInputs > |
HonkProof | create_mock_pg_proof () |
| Create a mock PG proof that has the correct structure but is not in general valid.
|
|
Goblin::MergeProof | create_mock_merge_proof () |
| Create a mock merge proof which has the correct structure but is not necessarily valid.
|
|
template<typename Builder > |
HonkProof | create_mock_civc_proof (const size_t inner_public_inputs_size) |
|
HonkProof | create_mock_pre_ipa_proof () |
| Create a mock pre-ipa proof which has the correct structure but is not necessarily valid.
|
|
HonkProof | create_mock_ipa_proof () |
| Create a mock ipa proof which has the correct structure but is not necessarily valid.
|
|
HonkProof | create_mock_translator_proof () |
| Create a mock translator proof which has the correct structure but is not necessarily valid.
|
|
template<typename Flavor , class PublicInputs > |
std::shared_ptr< typename Flavor::VerificationKey > | create_mock_honk_vk (const size_t dyadic_size, const size_t pub_inputs_offset, const size_t inner_public_inputs_size) |
| Create a mock MegaHonk VK that has the correct structure.
|
|
template<typename Flavor > |
std::shared_ptr< DeciderVerificationKey_< Flavor > > | create_mock_decider_vk () |
| Create a mock Decider verification key for initilization of a mock verifier accumulator.
|
|
template HonkProof | create_mock_oink_proof< MegaFlavor, stdlib::recursion::honk::AppIO > (const size_t) |
|
template HonkProof | create_mock_oink_proof< MegaFlavor, stdlib::recursion::honk::KernelIO > (const size_t) |
|
template HonkProof | create_mock_oink_proof< MegaFlavor, stdlib::recursion::honk::HidingKernelIO< MegaCircuitBuilder > > (const size_t) |
|
template HonkProof | create_mock_oink_proof< UltraFlavor, stdlib::recursion::honk::DefaultIO< UltraCircuitBuilder > > (const size_t) |
|
template HonkProof | create_mock_oink_proof< UltraZKFlavor, stdlib::recursion::honk::DefaultIO< UltraCircuitBuilder > > (const size_t) |
|
template HonkProof | create_mock_oink_proof< UltraFlavor, stdlib::recursion::honk::DefaultIO< MegaCircuitBuilder > > (const size_t) |
|
template HonkProof | create_mock_oink_proof< UltraZKFlavor, stdlib::recursion::honk::DefaultIO< MegaCircuitBuilder > > (const size_t) |
|
template HonkProof | create_mock_oink_proof< UltraRollupFlavor, stdlib::recursion::honk::RollupIO > (const size_t) |
|
template HonkProof | create_mock_decider_proof< MegaFlavor > () |
|
template HonkProof | create_mock_decider_proof< UltraFlavor > () |
|
template HonkProof | create_mock_decider_proof< UltraZKFlavor > () |
|
template HonkProof | create_mock_decider_proof< UltraRollupFlavor > () |
|
template HonkProof | create_mock_decider_proof< TranslatorFlavor > () |
|
template HonkProof | create_mock_honk_proof< MegaFlavor, stdlib::recursion::honk::AppIO > (const size_t) |
|
template HonkProof | create_mock_honk_proof< MegaFlavor, stdlib::recursion::honk::KernelIO > (const size_t) |
|
template HonkProof | create_mock_honk_proof< MegaFlavor, stdlib::recursion::honk::HidingKernelIO< MegaCircuitBuilder > > (const size_t) |
|
template HonkProof | create_mock_honk_proof< UltraFlavor, stdlib::recursion::honk::DefaultIO< UltraCircuitBuilder > > (const size_t) |
|
template HonkProof | create_mock_honk_proof< UltraZKFlavor, stdlib::recursion::honk::DefaultIO< UltraCircuitBuilder > > (const size_t) |
|
template HonkProof | create_mock_honk_proof< UltraFlavor, stdlib::recursion::honk::DefaultIO< MegaCircuitBuilder > > (const size_t) |
|
template HonkProof | create_mock_honk_proof< UltraZKFlavor, stdlib::recursion::honk::DefaultIO< MegaCircuitBuilder > > (const size_t) |
|
template HonkProof | create_mock_honk_proof< UltraRollupFlavor, stdlib::recursion::honk::RollupIO > (const size_t) |
|
template HonkProof | create_mock_pg_proof< MegaFlavor, stdlib::recursion::honk::AppIO > () |
|
template HonkProof | create_mock_pg_proof< MegaFlavor, stdlib::recursion::honk::KernelIO > () |
|
template HonkProof | create_mock_pg_proof< MegaFlavor, stdlib::recursion::honk::HidingKernelIO< MegaCircuitBuilder > > () |
|
template HonkProof | create_mock_civc_proof< UltraCircuitBuilder > (const size_t) |
|
template HonkProof | create_mock_civc_proof< MegaCircuitBuilder > (const size_t) |
|
template std::shared_ptr< MegaFlavor::VerificationKey > | create_mock_honk_vk< MegaFlavor, stdlib::recursion::honk::AppIO > (const size_t, const size_t, const size_t) |
|
template std::shared_ptr< MegaFlavor::VerificationKey > | create_mock_honk_vk< MegaFlavor, stdlib::recursion::honk::KernelIO > (const size_t, const size_t, const size_t) |
|
template std::shared_ptr< MegaFlavor::VerificationKey > | create_mock_honk_vk< MegaFlavor, stdlib::recursion::honk::HidingKernelIO< MegaCircuitBuilder > > (const size_t, const size_t, const size_t) |
|
template std::shared_ptr< MegaZKFlavor::VerificationKey > | create_mock_honk_vk< MegaZKFlavor, stdlib::recursion::honk::HidingKernelIO< UltraCircuitBuilder > > (const size_t, const size_t, const size_t) |
|
template std::shared_ptr< UltraFlavor::VerificationKey > | create_mock_honk_vk< UltraFlavor, stdlib::recursion::honk::DefaultIO< UltraCircuitBuilder > > (const size_t, const size_t, const size_t) |
|
template std::shared_ptr< UltraZKFlavor::VerificationKey > | create_mock_honk_vk< UltraZKFlavor, stdlib::recursion::honk::DefaultIO< UltraCircuitBuilder > > (const size_t, const size_t, const size_t) |
|
template std::shared_ptr< UltraFlavor::VerificationKey > | create_mock_honk_vk< UltraFlavor, stdlib::recursion::honk::DefaultIO< MegaCircuitBuilder > > (const size_t, const size_t, const size_t) |
|
template std::shared_ptr< UltraZKFlavor::VerificationKey > | create_mock_honk_vk< UltraZKFlavor, stdlib::recursion::honk::DefaultIO< MegaCircuitBuilder > > (const size_t, const size_t, const size_t) |
|
template std::shared_ptr< UltraRollupFlavor::VerificationKey > | create_mock_honk_vk< UltraRollupFlavor, stdlib::recursion::honk::RollupIO > (const size_t, const size_t, const size_t) |
|
template std::shared_ptr< DeciderVerificationKey_< MegaFlavor > > | create_mock_decider_vk< MegaFlavor > () |
|
template<typename Flavor , class PublicInputs > |
bb::HonkProof | create_mock_oink_proof (const size_t inner_public_inputs_size=0) |
| Create a mock oink proof that has the correct structure but is not in general valid.
|
|
template<typename Flavor > |
bb::HonkProof | create_mock_decider_proof () |
| Create a mock decider proof that has the correct structure but is not in general valid.
|
|
template<typename Flavor , class PublicInputs > |
bb::HonkProof | create_mock_honk_proof (const size_t inner_public_inputs_size=0) |
| Create a mock honk proof that has the correct structure but is not in general valid.
|
|
template<typename Flavor , class PublicInputs > |
bb::HonkProof | create_mock_pg_proof () |
| Create a mock PG proof that has the correct structure but is not in general valid.
|
|
template<typename Builder > |
bb::HonkProof | create_mock_civc_proof (const size_t inner_public_inputs_size=0) |
|
template<typename Flavor > |
std::shared_ptr< bb::DeciderVerificationKey_< Flavor > > | create_mock_decider_vk () |
| Create a mock Decider verification key for initilization of a mock verifier accumulator.
|
|
template<typename Builder > |
void | create_multi_scalar_mul_constraint (Builder &builder, const MultiScalarMul &input, bool has_valid_witness_assignments) |
|
template void | create_multi_scalar_mul_constraint< UltraCircuitBuilder > (UltraCircuitBuilder &builder, const MultiScalarMul &input, bool has_valid_witness_assignments) |
|
template void | create_multi_scalar_mul_constraint< MegaCircuitBuilder > (MegaCircuitBuilder &builder, const MultiScalarMul &input, bool has_valid_witness_assignments) |
|
std::shared_ptr< ClientIVC > | create_mock_ivc_from_constraints (const std::vector< RecursionConstraint > &constraints, const TraceSettings &trace_settings) |
| Create an IVC object with mocked state corresponding to a set of IVC recursion constraints.
|
|
ClientIVC::VerifierInputs | create_mock_verification_queue_entry (const ClientIVC::QUEUE_TYPE verification_type, const TraceSettings &trace_settings, const bool is_kernel) |
| Create a mock verification queue entry with proof and VK that have the correct structure but are not necessarily valid.
|
|
void | mock_ivc_accumulation (const std::shared_ptr< ClientIVC > &ivc, ClientIVC::QUEUE_TYPE type, const bool is_kernel) |
| Populate an IVC instance with data that mimics the state after a single IVC accumulation (Oink or PG)
|
|
void | populate_dummy_vk_in_constraint (MegaCircuitBuilder &builder, const std::shared_ptr< MegaFlavor::VerificationKey > &mock_verification_key, std::vector< uint32_t > &key_witness_indices) |
| Populate VK witness fields from a recursion constraint from a provided VerificationKey.
|
|
template<typename Builder > |
void | create_poseidon2_permutations (Builder &builder, const Poseidon2Constraint &constraint) |
|
template void | create_poseidon2_permutations< UltraCircuitBuilder > (UltraCircuitBuilder &builder, const Poseidon2Constraint &constraint) |
|
template void | create_poseidon2_permutations< MegaCircuitBuilder > (MegaCircuitBuilder &builder, const Poseidon2Constraint &constraint) |
|
template<typename B > |
void | read (B &buf, RecursionConstraint &constraint) |
|
template<typename B > |
void | write (B &buf, RecursionConstraint const &constraint) |
|
uint32_t | round_to_nearest_mul_8 (uint32_t num_bits) |
|
uint32_t | round_to_nearest_byte (uint32_t num_bits) |
|
template<typename Builder > |
void | create_sha256_compression_constraints (Builder &builder, const Sha256Compression &constraint) |
|
template void | create_sha256_compression_constraints< bb::UltraCircuitBuilder > (bb::UltraCircuitBuilder &builder, const Sha256Compression &constraint) |
|
template void | create_sha256_compression_constraints< bb::MegaCircuitBuilder > (bb::MegaCircuitBuilder &builder, const Sha256Compression &constraint) |
|
template<typename T > |
std::vector< uint32_t > | add_to_witness_and_track_indices (WitnessVector &witness, std::span< const T > input) |
| Append values to a witness vector and track their indices.
|
|
template<typename T , std::size_t N> |
std::array< uint32_t, N > | add_to_witness_and_track_indices (WitnessVector &witness, std::span< const T > input) |
| Append values to a witness vector and track their indices.
|
|
template<typename Builder , typename FF > |
bb::stdlib::cycle_group< Builder > | to_grumpkin_point (const WitnessOrConstant< FF > &input_x, const WitnessOrConstant< FF > &input_y, const WitnessOrConstant< FF > &input_infinite, bool has_valid_witness_assignments, Builder &builder) |
|
template bb::stdlib::cycle_group< UltraCircuitBuilder > | to_grumpkin_point (const WitnessOrConstant< fr > &input_x, const WitnessOrConstant< fr > &input_y, const WitnessOrConstant< fr > &input_infinite, bool has_valid_witness_assignments, UltraCircuitBuilder &builder) |
|
template bb::stdlib::cycle_group< MegaCircuitBuilder > | to_grumpkin_point (const WitnessOrConstant< fr > &input_x, const WitnessOrConstant< fr > &input_y, const WitnessOrConstant< fr > &input_infinite, bool has_valid_witness_assignments, MegaCircuitBuilder &builder) |
|
template<typename Builder , typename FF > |
bb::stdlib::field_t< Builder > | to_field_ct (const WitnessOrConstant< FF > &input, Builder &builder) |
|