Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
acir_format_mocks.cpp
Go to the documentation of this file.
1// === AUDIT STATUS ===
2// internal: { status: not started, auditors: [], date: YYYY-MM-DD }
3// external_1: { status: not started, auditors: [], date: YYYY-MM-DD }
4// external_2: { status: not started, auditors: [], date: YYYY-MM-DD }
5// =====================
6
7#include "acir_format.hpp"
8
10{
13 .range_constraints = {},
14 .aes128_constraints = {},
15 .sha256_compression = {},
16 .ecdsa_k1_constraints = {},
17 .ecdsa_r1_constraints = {},
18 .blake2s_constraints = {},
19 .blake3_constraints = {},
20 .keccak_permutations = {},
21 .poseidon2_constraints = {},
22 .multi_scalar_mul_constraints = {},
23 .ec_add_constraints = {},
24 .honk_recursion_constraints = {},
25 .avm_recursion_constraints = {},
26 .pg_recursion_constraints = {},
27 .civc_recursion_constraints = {},
28 .bigint_from_le_bytes_constraints = {},
29 .bigint_to_le_bytes_constraints = {},
30 .bigint_operations = {},
31 .assert_equalities = {},
32 .poly_triple_constraints = {},
33 .quad_constraints = {},
34 .block_constraints = {},
35 };
36}
37
39{
40 size_t current_opcode = 0;
41 for (size_t i = 0; i < constraint_system.logic_constraints.size(); i++) {
42 constraint_system.original_opcode_indices.logic_constraints.push_back(current_opcode++);
43 }
44 for (size_t i = 0; i < constraint_system.range_constraints.size(); i++) {
45 constraint_system.original_opcode_indices.range_constraints.push_back(current_opcode++);
46 }
47 for (size_t i = 0; i < constraint_system.aes128_constraints.size(); i++) {
48 constraint_system.original_opcode_indices.aes128_constraints.push_back(current_opcode++);
49 }
50 for (size_t i = 0; i < constraint_system.sha256_compression.size(); i++) {
51 constraint_system.original_opcode_indices.sha256_compression.push_back(current_opcode++);
52 }
53 for (size_t i = 0; i < constraint_system.ecdsa_k1_constraints.size(); i++) {
54 constraint_system.original_opcode_indices.ecdsa_k1_constraints.push_back(current_opcode++);
55 }
56 for (size_t i = 0; i < constraint_system.ecdsa_r1_constraints.size(); i++) {
57 constraint_system.original_opcode_indices.ecdsa_r1_constraints.push_back(current_opcode++);
58 }
59 for (size_t i = 0; i < constraint_system.blake2s_constraints.size(); i++) {
60 constraint_system.original_opcode_indices.blake2s_constraints.push_back(current_opcode++);
61 }
62 for (size_t i = 0; i < constraint_system.blake3_constraints.size(); i++) {
63 constraint_system.original_opcode_indices.blake3_constraints.push_back(current_opcode++);
64 }
65 for (size_t i = 0; i < constraint_system.keccak_permutations.size(); i++) {
66 constraint_system.original_opcode_indices.keccak_permutations.push_back(current_opcode++);
67 }
68 for (size_t i = 0; i < constraint_system.poseidon2_constraints.size(); i++) {
69 constraint_system.original_opcode_indices.poseidon2_constraints.push_back(current_opcode++);
70 }
71 for (size_t i = 0; i < constraint_system.multi_scalar_mul_constraints.size(); i++) {
72 constraint_system.original_opcode_indices.multi_scalar_mul_constraints.push_back(current_opcode++);
73 }
74 for (size_t i = 0; i < constraint_system.ec_add_constraints.size(); i++) {
75 constraint_system.original_opcode_indices.ec_add_constraints.push_back(current_opcode++);
76 }
77 for (size_t i = 0; i < constraint_system.honk_recursion_constraints.size(); i++) {
78 constraint_system.original_opcode_indices.honk_recursion_constraints.push_back(current_opcode++);
79 }
80 for (size_t i = 0; i < constraint_system.avm_recursion_constraints.size(); i++) {
81 constraint_system.original_opcode_indices.avm_recursion_constraints.push_back(current_opcode++);
82 }
83 for (size_t i = 0; i < constraint_system.pg_recursion_constraints.size(); i++) {
84 constraint_system.original_opcode_indices.pg_recursion_constraints.push_back(current_opcode++);
85 }
86 for (size_t i = 0; i < constraint_system.civc_recursion_constraints.size(); i++) {
87 constraint_system.original_opcode_indices.civc_recursion_constraints.push_back(current_opcode++);
88 }
89 for (size_t i = 0; i < constraint_system.bigint_from_le_bytes_constraints.size(); i++) {
90 constraint_system.original_opcode_indices.bigint_from_le_bytes_constraints.push_back(current_opcode++);
91 }
92 for (size_t i = 0; i < constraint_system.bigint_to_le_bytes_constraints.size(); i++) {
93 constraint_system.original_opcode_indices.bigint_to_le_bytes_constraints.push_back(current_opcode++);
94 }
95 for (size_t i = 0; i < constraint_system.bigint_operations.size(); i++) {
96 constraint_system.original_opcode_indices.bigint_operations.push_back(current_opcode++);
97 }
98 for (size_t i = 0; i < constraint_system.assert_equalities.size(); i++) {
99 constraint_system.original_opcode_indices.assert_equalities.push_back(current_opcode++);
100 }
101 for (size_t i = 0; i < constraint_system.poly_triple_constraints.size(); i++) {
102 constraint_system.original_opcode_indices.poly_triple_constraints.push_back(current_opcode++);
103 }
104 for (size_t i = 0; i < constraint_system.quad_constraints.size(); i++) {
105 constraint_system.original_opcode_indices.quad_constraints.push_back(current_opcode++);
106 }
107 for (size_t i = 0; i < constraint_system.block_constraints.size(); i++) {
108 std::vector<size_t> block_indices;
109 for (size_t j = 0; j < constraint_system.block_constraints[i].trace.size(); j++) {
110 block_indices.push_back(current_opcode++);
111 }
112 constraint_system.original_opcode_indices.block_constraints.push_back(block_indices);
113 }
114
115 constraint_system.num_acir_opcodes = static_cast<uint32_t>(current_opcode);
116}
acir_format::AcirFormatOriginalOpcodeIndices create_empty_original_opcode_indices()
void mock_opcode_indices(acir_format::AcirFormat &constraint_system)
std::vector< BigIntToLeBytes > bigint_to_le_bytes_constraints
std::vector< MultiScalarMul > multi_scalar_mul_constraints
std::vector< Blake2sConstraint > blake2s_constraints
std::vector< Sha256Compression > sha256_compression
std::vector< BigIntFromLeBytes > bigint_from_le_bytes_constraints
bb::SlabVector< PolyTripleConstraint > poly_triple_constraints
std::vector< Poseidon2Constraint > poseidon2_constraints
std::vector< LogicConstraint > logic_constraints
std::vector< EcAdd > ec_add_constraints
std::vector< RecursionConstraint > pg_recursion_constraints
std::vector< Keccakf1600 > keccak_permutations
std::vector< RecursionConstraint > honk_recursion_constraints
std::vector< Blake3Constraint > blake3_constraints
std::vector< EcdsaConstraint > ecdsa_r1_constraints
std::vector< RangeConstraint > range_constraints
std::vector< bb::poly_triple_< bb::curve::BN254::ScalarField > > assert_equalities
std::vector< AES128Constraint > aes128_constraints
AcirFormatOriginalOpcodeIndices original_opcode_indices
bb::SlabVector< bb::mul_quad_< bb::curve::BN254::ScalarField > > quad_constraints
std::vector< BlockConstraint > block_constraints
std::vector< EcdsaConstraint > ecdsa_k1_constraints
std::vector< BigIntOperation > bigint_operations
std::vector< RecursionConstraint > avm_recursion_constraints
std::vector< RecursionConstraint > civc_recursion_constraints
Indices of the original opcode that originated each constraint in AcirFormat.
std::vector< std::vector< size_t > > block_constraints
std::vector< size_t > bigint_to_le_bytes_constraints
std::vector< size_t > bigint_from_le_bytes_constraints