26 std::string one =
"0000000000000000000000000000000000000000000000000000000000000001";
27 std::string minus_one =
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000";
34 expr.
q_c =
"0000000000000000000000000000000000000000000000000000000000000000";
37 assert_zero.
value = expr;
39 opcode.
value = assert_zero;
40 circuit.
opcodes.push_back(opcode);
59 {
Witnesses::Witness{ 0 },
"0000000000000000000000000000000000000000000000000000000000000002" },
60 {
Witnesses::Witness{ 1 },
"0000000000000000000000000000000000000000000000000000000000000003" },
61 {
Witnesses::Witness{ 2 },
"0000000000000000000000000000000000000000000000000000000000000006" }
63 witness_stack.
stack.push_back(stack_item);
77 std::vector<Acir::FunctionInput> vk_inputs;
78 for (uint32_t i = 0; i < vk_size; i++) {
80 vk_inputs.push_back(input);
84 size_t total_num_witnesses = vk_size + 1;
92 .proof_type = is_init_kernel
97 black_box_call.
value = recursion;
118 kernel_witness.
stack.push_back({});
119 for (uint32_t i = 0; i < app_vk_fields.size(); i++) {
120 std::stringstream ss;
121 ss << app_vk_fields[i];
124 std::stringstream ss;
125 ss << crypto::Poseidon2<crypto::Poseidon2Bn254ScalarFieldParams>::hash(app_vk_fields);
std::vector< uint8_t > create_simple_kernel(size_t vk_size, bool is_init_kernel)
Create a simple kernel circuit for IVC testing.
std::vector< uint8_t > create_kernel_witness(const std::vector< bb::fr > &app_vk_fields)
Create a kernel witness for IVC testing.
std::pair< std::vector< uint8_t >, std::vector< uint8_t > > create_simple_circuit_bytecode()
Helper function to create a minimal circuit bytecode and witness for testing.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
std::vector< Acir::FunctionInput > verification_key
std::variant< AES128Encrypt, AND, XOR, RANGE, Blake2s, Blake3, EcdsaSecp256k1, EcdsaSecp256r1, MultiScalarMul, EmbeddedCurveAdd, Keccakf1600, RecursiveAggregation, BigIntAdd, BigIntSub, BigIntMul, BigIntDiv, BigIntFromLeBytes, BigIntToLeBytes, Poseidon2Permutation, Sha256Compression > value
Acir::PublicInputs return_values
std::vector< Acir::Opcode > opcodes
Acir::ExpressionWidth expression_width
uint32_t current_witness_index
std::vector< Acir::Witness > private_parameters
Acir::PublicInputs public_parameters
std::vector< std::tuple< Acir::OpcodeLocation, Acir::AssertionPayload > > assert_messages
std::vector< std::tuple< std::string, Acir::Witness, Acir::Witness > > mul_terms
std::vector< std::tuple< std::string, Acir::Witness > > linear_combinations
std::variant< AssertZero, BlackBoxFuncCall, MemoryOp, MemoryInit, BrilligCall, Call > value
std::vector< Acir::Circuit > functions
std::vector< Acir::BrilligBytecode > unconstrained_functions
std::vector< uint8_t > bincodeSerialize() const
Witnesses::WitnessMap witness
std::map< Witnesses::Witness, std::string > value
std::vector< Witnesses::StackItem > stack
std::vector< uint8_t > bincodeSerialize() const