Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
aztec_constants.hpp
Go to the documentation of this file.
1
// GENERATED FILE - DO NOT EDIT, RUN yarn remake-constants in yarn-project/constants
2
#pragma once
3
4
#define ARCHIVE_HEIGHT 30
5
#define NOTE_HASH_TREE_HEIGHT 42
6
#define PUBLIC_DATA_TREE_HEIGHT 40
7
#define NULLIFIER_TREE_HEIGHT 42
8
#define L1_TO_L2_MSG_TREE_HEIGHT 36
9
#define NOTE_HASH_TREE_LEAF_COUNT 0x40000000000
10
#define L1_TO_L2_MSG_TREE_LEAF_COUNT 0x1000000000
11
#define MAX_NOTE_HASHES_PER_TX 64
12
#define MAX_NULLIFIERS_PER_TX 64
13
#define MAX_ENQUEUED_CALLS_PER_TX 32
14
#define MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX 64
15
#define MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX 63
16
#define MAX_L2_TO_L1_MSGS_PER_TX 8
17
#define GENESIS_BLOCK_HEADER_HASH "0x0dc66232e4edff2923217f4fdf80ecc23ed4bd047e743df85a6827878bf6c4d6"
18
#define GENESIS_ARCHIVE_ROOT "0x1f8c805403d88ee809d3cb3e52eeba0a104f69968cdb844a9cbdf1e9e00b3a95"
19
#define MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS 3000
20
#define MAX_PROTOCOL_CONTRACTS 11
21
#define CANONICAL_AUTH_REGISTRY_ADDRESS 1
22
#define CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS 2
23
#define CONTRACT_CLASS_REGISTRY_CONTRACT_ADDRESS 3
24
#define MULTI_CALL_ENTRYPOINT_ADDRESS 4
25
#define FEE_JUICE_ADDRESS 5
26
#define ROUTER_ADDRESS 6
27
#define FEE_JUICE_BALANCES_SLOT 1
28
#define UPDATED_CLASS_IDS_SLOT 1
29
#define FLAT_PUBLIC_LOGS_HEADER_LENGTH 1
30
#define FLAT_PUBLIC_LOGS_PAYLOAD_LENGTH 4096
31
#define PUBLIC_LOGS_LENGTH 4097
32
#define PUBLIC_LOG_HEADER_LENGTH 2
33
#define AVM_ACCUMULATED_DATA_LENGTH 4377
34
#define AVM_CIRCUIT_PUBLIC_INPUTS_LENGTH 5008
35
#define AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS 86
36
#define MAX_PUBLIC_CALLS_TO_UNIQUE_CONTRACT_CLASS_IDS 21
37
#define MEM_TAG_FF 0
38
#define MEM_TAG_U1 1
39
#define MEM_TAG_U8 2
40
#define MEM_TAG_U16 3
41
#define MEM_TAG_U32 4
42
#define MEM_TAG_U64 5
43
#define MEM_TAG_U128 6
44
#define AVM_HIGHEST_MEM_ADDRESS 0xffffffff
45
#define AVM_MEMORY_NUM_BITS 32
46
#define AVM_BITWISE_AND_OP_ID 0
47
#define AVM_BITWISE_OR_OP_ID 1
48
#define AVM_BITWISE_XOR_OP_ID 2
49
#define AVM_KECCAKF1600_NUM_ROUNDS 24
50
#define AVM_KECCAKF1600_STATE_SIZE 25
51
#define AVM_SUBTRACE_ID_EXECUTION 1
52
#define AVM_SUBTRACE_ID_ALU 2
53
#define AVM_SUBTRACE_ID_BITWISE 4
54
#define AVM_SUBTRACE_ID_CAST 8
55
#define AVM_SUBTRACE_ID_CALLDATA_COPY 16
56
#define AVM_SUBTRACE_ID_RETURNDATA_COPY 32
57
#define AVM_SUBTRACE_ID_SET 64
58
#define AVM_SUBTRACE_ID_GETCONTRACTINSTANCE 128
59
#define AVM_SUBTRACE_ID_EMITUNENCRYPTEDLOG 256
60
#define AVM_SUBTRACE_ID_POSEIDON2_PERM 512
61
#define AVM_SUBTRACE_ID_SHA256_COMPRESSION 1024
62
#define AVM_SUBTRACE_ID_KECCAKF1600 2048
63
#define AVM_SUBTRACE_ID_ECC 4096
64
#define AVM_SUBTRACE_ID_TO_RADIX 8192
65
#define AVM_DYN_GAS_ID_CALLDATACOPY 1
66
#define AVM_DYN_GAS_ID_RETURNDATACOPY 2
67
#define AVM_DYN_GAS_ID_TORADIX 4
68
#define AVM_DYN_GAS_ID_BITWISE 8
69
#define AVM_DYN_GAS_ID_EMITUNENCRYPTEDLOG 16
70
#define AVM_DYN_GAS_ID_SSTORE 32
71
#define AVM_EXEC_OP_ID_GETENVVAR 1
72
#define AVM_EXEC_OP_ID_MOV 2
73
#define AVM_EXEC_OP_ID_JUMP 4
74
#define AVM_EXEC_OP_ID_JUMPI 8
75
#define AVM_EXEC_OP_ID_CALL 16
76
#define AVM_EXEC_OP_ID_STATICCALL 32
77
#define AVM_EXEC_OP_ID_INTERNALCALL 64
78
#define AVM_EXEC_OP_ID_INTERNALRETURN 128
79
#define AVM_EXEC_OP_ID_RETURN 256
80
#define AVM_EXEC_OP_ID_REVERT 512
81
#define AVM_EXEC_OP_ID_SUCCESSCOPY 1024
82
#define AVM_EXEC_OP_ID_RETURNDATASIZE 2048
83
#define AVM_EXEC_OP_ID_DEBUGLOG 4096
84
#define AVM_EXEC_OP_ID_SLOAD 8192
85
#define AVM_EXEC_OP_ID_SSTORE 16384
86
#define AVM_EXEC_OP_ID_NOTEHASH_EXISTS 32768
87
#define AVM_EXEC_OP_ID_EMIT_NOTEHASH 65536
88
#define AVM_EXEC_OP_ID_L1_TO_L2_MESSAGE_EXISTS 131072
89
#define AVM_EXEC_OP_ID_NULLIFIER_EXISTS 262144
90
#define AVM_EXEC_OP_ID_EMIT_NULLIFIER 524288
91
#define AVM_EXEC_OP_ID_SENDL2TOL1MSG 1048576
92
#define AVM_EXEC_OP_ID_ALU_ADD 1
93
#define AVM_EXEC_OP_ID_ALU_SUB 2
94
#define AVM_EXEC_OP_ID_ALU_MUL 4
95
#define AVM_EXEC_OP_ID_ALU_DIV 8
96
#define AVM_EXEC_OP_ID_ALU_FDIV 16
97
#define AVM_EXEC_OP_ID_ALU_EQ 32
98
#define AVM_EXEC_OP_ID_ALU_LT 64
99
#define AVM_EXEC_OP_ID_ALU_LTE 128
100
#define AVM_EXEC_OP_ID_ALU_NOT 256
101
#define AVM_EXEC_OP_ID_ALU_SHL 512
102
#define AVM_EXEC_OP_ID_ALU_SHR 1024
103
#define AVM_EXEC_OP_ID_ALU_TRUNCATE 2048
104
#define AVM_PUBLIC_INPUTS_GLOBAL_VARIABLES_ROW_IDX 0
105
#define AVM_PUBLIC_INPUTS_GLOBAL_VARIABLES_CHAIN_ID_ROW_IDX 0
106
#define AVM_PUBLIC_INPUTS_GLOBAL_VARIABLES_VERSION_ROW_IDX 1
107
#define AVM_PUBLIC_INPUTS_GLOBAL_VARIABLES_BLOCK_NUMBER_ROW_IDX 2
108
#define AVM_PUBLIC_INPUTS_GLOBAL_VARIABLES_SLOT_NUMBER_ROW_IDX 3
109
#define AVM_PUBLIC_INPUTS_GLOBAL_VARIABLES_TIMESTAMP_ROW_IDX 4
110
#define AVM_PUBLIC_INPUTS_GLOBAL_VARIABLES_COINBASE_ROW_IDX 5
111
#define AVM_PUBLIC_INPUTS_GLOBAL_VARIABLES_FEE_RECIPIENT_ROW_IDX 6
112
#define AVM_PUBLIC_INPUTS_GLOBAL_VARIABLES_GAS_FEES_ROW_IDX 7
113
#define AVM_PUBLIC_INPUTS_PROTOCOL_CONTRACTS_ROW_IDX 8
114
#define AVM_PUBLIC_INPUTS_START_TREE_SNAPSHOTS_ROW_IDX 19
115
#define AVM_PUBLIC_INPUTS_START_TREE_SNAPSHOTS_L1_TO_L2_MESSAGE_TREE_ROW_IDX 19
116
#define AVM_PUBLIC_INPUTS_START_TREE_SNAPSHOTS_NOTE_HASH_TREE_ROW_IDX 20
117
#define AVM_PUBLIC_INPUTS_START_TREE_SNAPSHOTS_NULLIFIER_TREE_ROW_IDX 21
118
#define AVM_PUBLIC_INPUTS_START_TREE_SNAPSHOTS_PUBLIC_DATA_TREE_ROW_IDX 22
119
#define AVM_PUBLIC_INPUTS_START_GAS_USED_ROW_IDX 23
120
#define AVM_PUBLIC_INPUTS_GAS_SETTINGS_ROW_IDX 24
121
#define AVM_PUBLIC_INPUTS_GAS_SETTINGS_GAS_LIMITS_ROW_IDX 24
122
#define AVM_PUBLIC_INPUTS_GAS_SETTINGS_TEARDOWN_GAS_LIMITS_ROW_IDX 25
123
#define AVM_PUBLIC_INPUTS_GAS_SETTINGS_MAX_FEES_PER_GAS_ROW_IDX 26
124
#define AVM_PUBLIC_INPUTS_GAS_SETTINGS_MAX_PRIORITY_FEES_PER_GAS_ROW_IDX 27
125
#define AVM_PUBLIC_INPUTS_EFFECTIVE_GAS_FEES_ROW_IDX 28
126
#define AVM_PUBLIC_INPUTS_FEE_PAYER_ROW_IDX 29
127
#define AVM_PUBLIC_INPUTS_PROVER_ID_ROW_IDX 30
128
#define AVM_PUBLIC_INPUTS_PUBLIC_CALL_REQUEST_ARRAY_LENGTHS_ROW_IDX 31
129
#define AVM_PUBLIC_INPUTS_PUBLIC_CALL_REQUEST_ARRAY_LENGTHS_SETUP_CALLS_ROW_IDX 31
130
#define AVM_PUBLIC_INPUTS_PUBLIC_CALL_REQUEST_ARRAY_LENGTHS_APP_LOGIC_CALLS_ROW_IDX 32
131
#define AVM_PUBLIC_INPUTS_PUBLIC_CALL_REQUEST_ARRAY_LENGTHS_TEARDOWN_CALL_ROW_IDX 33
132
#define AVM_PUBLIC_INPUTS_PUBLIC_SETUP_CALL_REQUESTS_ROW_IDX 34
133
#define AVM_PUBLIC_INPUTS_PUBLIC_APP_LOGIC_CALL_REQUESTS_ROW_IDX 66
134
#define AVM_PUBLIC_INPUTS_PUBLIC_TEARDOWN_CALL_REQUEST_ROW_IDX 98
135
#define AVM_PUBLIC_INPUTS_PREVIOUS_NON_REVERTIBLE_ACCUMULATED_DATA_ARRAY_LENGTHS_ROW_IDX 99
136
#define AVM_PUBLIC_INPUTS_PREVIOUS_NON_REVERTIBLE_ACCUMULATED_DATA_ARRAY_LENGTHS_NOTE_HASHES_ROW_IDX 99
137
#define AVM_PUBLIC_INPUTS_PREVIOUS_NON_REVERTIBLE_ACCUMULATED_DATA_ARRAY_LENGTHS_NULLIFIERS_ROW_IDX 100
138
#define AVM_PUBLIC_INPUTS_PREVIOUS_NON_REVERTIBLE_ACCUMULATED_DATA_ARRAY_LENGTHS_L2_TO_L1_MSGS_ROW_IDX 101
139
#define AVM_PUBLIC_INPUTS_PREVIOUS_REVERTIBLE_ACCUMULATED_DATA_ARRAY_LENGTHS_ROW_IDX 102
140
#define AVM_PUBLIC_INPUTS_PREVIOUS_REVERTIBLE_ACCUMULATED_DATA_ARRAY_LENGTHS_NOTE_HASHES_ROW_IDX 102
141
#define AVM_PUBLIC_INPUTS_PREVIOUS_REVERTIBLE_ACCUMULATED_DATA_ARRAY_LENGTHS_NULLIFIERS_ROW_IDX 103
142
#define AVM_PUBLIC_INPUTS_PREVIOUS_REVERTIBLE_ACCUMULATED_DATA_ARRAY_LENGTHS_L2_TO_L1_MSGS_ROW_IDX 104
143
#define AVM_PUBLIC_INPUTS_PREVIOUS_NON_REVERTIBLE_ACCUMULATED_DATA_ROW_IDX 105
144
#define AVM_PUBLIC_INPUTS_PREVIOUS_NON_REVERTIBLE_ACCUMULATED_DATA_NOTE_HASHES_ROW_IDX 105
145
#define AVM_PUBLIC_INPUTS_PREVIOUS_NON_REVERTIBLE_ACCUMULATED_DATA_NULLIFIERS_ROW_IDX 169
146
#define AVM_PUBLIC_INPUTS_PREVIOUS_NON_REVERTIBLE_ACCUMULATED_DATA_L2_TO_L1_MSGS_ROW_IDX 233
147
#define AVM_PUBLIC_INPUTS_PREVIOUS_REVERTIBLE_ACCUMULATED_DATA_ROW_IDX 241
148
#define AVM_PUBLIC_INPUTS_PREVIOUS_REVERTIBLE_ACCUMULATED_DATA_NOTE_HASHES_ROW_IDX 241
149
#define AVM_PUBLIC_INPUTS_PREVIOUS_REVERTIBLE_ACCUMULATED_DATA_NULLIFIERS_ROW_IDX 305
150
#define AVM_PUBLIC_INPUTS_PREVIOUS_REVERTIBLE_ACCUMULATED_DATA_L2_TO_L1_MSGS_ROW_IDX 369
151
#define AVM_PUBLIC_INPUTS_END_TREE_SNAPSHOTS_ROW_IDX 377
152
#define AVM_PUBLIC_INPUTS_END_TREE_SNAPSHOTS_L1_TO_L2_MESSAGE_TREE_ROW_IDX 377
153
#define AVM_PUBLIC_INPUTS_END_TREE_SNAPSHOTS_NOTE_HASH_TREE_ROW_IDX 378
154
#define AVM_PUBLIC_INPUTS_END_TREE_SNAPSHOTS_NULLIFIER_TREE_ROW_IDX 379
155
#define AVM_PUBLIC_INPUTS_END_TREE_SNAPSHOTS_PUBLIC_DATA_TREE_ROW_IDX 380
156
#define AVM_PUBLIC_INPUTS_END_GAS_USED_ROW_IDX 381
157
#define AVM_PUBLIC_INPUTS_AVM_ACCUMULATED_DATA_ARRAY_LENGTHS_ROW_IDX 382
158
#define AVM_PUBLIC_INPUTS_AVM_ACCUMULATED_DATA_ARRAY_LENGTHS_NOTE_HASHES_ROW_IDX 382
159
#define AVM_PUBLIC_INPUTS_AVM_ACCUMULATED_DATA_ARRAY_LENGTHS_NULLIFIERS_ROW_IDX 383
160
#define AVM_PUBLIC_INPUTS_AVM_ACCUMULATED_DATA_ARRAY_LENGTHS_L2_TO_L1_MSGS_ROW_IDX 384
161
#define AVM_PUBLIC_INPUTS_AVM_ACCUMULATED_DATA_ARRAY_LENGTHS_PUBLIC_DATA_WRITES_ROW_IDX 385
162
#define AVM_PUBLIC_INPUTS_AVM_ACCUMULATED_DATA_ROW_IDX 386
163
#define AVM_PUBLIC_INPUTS_AVM_ACCUMULATED_DATA_NOTE_HASHES_ROW_IDX 386
164
#define AVM_PUBLIC_INPUTS_AVM_ACCUMULATED_DATA_NULLIFIERS_ROW_IDX 450
165
#define AVM_PUBLIC_INPUTS_AVM_ACCUMULATED_DATA_L2_TO_L1_MSGS_ROW_IDX 514
166
#define AVM_PUBLIC_INPUTS_AVM_ACCUMULATED_DATA_PUBLIC_LOGS_ROW_IDX 522
167
#define AVM_PUBLIC_INPUTS_AVM_ACCUMULATED_DATA_PUBLIC_DATA_WRITES_ROW_IDX 4619
168
#define AVM_PUBLIC_INPUTS_TRANSACTION_FEE_ROW_IDX 4683
169
#define AVM_PUBLIC_INPUTS_REVERTED_ROW_IDX 4684
170
#define AVM_PUBLIC_INPUTS_COLUMNS_MAX_LENGTH 4685
171
#define AVM_NUM_PUBLIC_INPUT_COLUMNS 4
172
#define AVM_PUBLIC_INPUTS_COLUMNS_COMBINED_LENGTH 18740
173
#define AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED 20000
174
#define AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED 1000
175
#define AVM_MAX_PROCESSABLE_L2_GAS 6000000
176
#define AVM_PC_SIZE_IN_BITS 32
177
#define AVM_MAX_OPERANDS 7
178
#define AVM_MAX_REGISTERS 6
179
#define AVM_ADDRESSING_BASE_RESOLUTION_L2_GAS 3
180
#define AVM_ADDRESSING_INDIRECT_L2_GAS 3
181
#define AVM_ADDRESSING_RELATIVE_L2_GAS 3
182
#define AVM_ADD_BASE_L2_GAS 12
183
#define AVM_SUB_BASE_L2_GAS 12
184
#define AVM_MUL_BASE_L2_GAS 27
185
#define AVM_DIV_BASE_L2_GAS 27
186
#define AVM_FDIV_BASE_L2_GAS 9
187
#define AVM_EQ_BASE_L2_GAS 12
188
#define AVM_LT_BASE_L2_GAS 42
189
#define AVM_LTE_BASE_L2_GAS 42
190
#define AVM_AND_BASE_L2_GAS 12
191
#define AVM_OR_BASE_L2_GAS 12
192
#define AVM_XOR_BASE_L2_GAS 12
193
#define AVM_NOT_BASE_L2_GAS 12
194
#define AVM_SHL_BASE_L2_GAS 18
195
#define AVM_SHR_BASE_L2_GAS 18
196
#define AVM_CAST_BASE_L2_GAS 27
197
#define AVM_GETENVVAR_BASE_L2_GAS 12
198
#define AVM_CALLDATACOPY_BASE_L2_GAS 18
199
#define AVM_SUCCESSCOPY_BASE_L2_GAS 12
200
#define AVM_RETURNDATASIZE_BASE_L2_GAS 12
201
#define AVM_RETURNDATACOPY_BASE_L2_GAS 18
202
#define AVM_JUMP_BASE_L2_GAS 9
203
#define AVM_JUMPI_BASE_L2_GAS 9
204
#define AVM_INTERNALCALL_BASE_L2_GAS 9
205
#define AVM_INTERNALRETURN_BASE_L2_GAS 9
206
#define AVM_SET_BASE_L2_GAS 27
207
#define AVM_MOV_BASE_L2_GAS 12
208
#define AVM_SLOAD_BASE_L2_GAS 129
209
#define AVM_SSTORE_BASE_L2_GAS 1657
210
#define AVM_NOTEHASHEXISTS_BASE_L2_GAS 126
211
#define AVM_EMITNOTEHASH_BASE_L2_GAS 1285
212
#define AVM_NULLIFIEREXISTS_BASE_L2_GAS 132
213
#define AVM_EMITNULLIFIER_BASE_L2_GAS 1540
214
#define AVM_L1TOL2MSGEXISTS_BASE_L2_GAS 108
215
#define AVM_GETCONTRACTINSTANCE_BASE_L2_GAS 1527
216
#define AVM_EMITUNENCRYPTEDLOG_BASE_L2_GAS 15
217
#define AVM_SENDL2TOL1MSG_BASE_L2_GAS 209
218
#define AVM_CALL_BASE_L2_GAS 3312
219
#define AVM_STATICCALL_BASE_L2_GAS 3312
220
#define AVM_RETURN_BASE_L2_GAS 9
221
#define AVM_REVERT_BASE_L2_GAS 9
222
#define AVM_DEBUGLOG_BASE_L2_GAS 9
223
#define AVM_POSEIDON2_BASE_L2_GAS 24
224
#define AVM_SHA256COMPRESSION_BASE_L2_GAS 12288
225
#define AVM_KECCAKF1600_BASE_L2_GAS 58176
226
#define AVM_ECADD_BASE_L2_GAS 27
227
#define AVM_TORADIXBE_BASE_L2_GAS 24
228
#define AVM_CALLDATACOPY_DYN_L2_GAS 3
229
#define AVM_RETURNDATACOPY_DYN_L2_GAS 3
230
#define AVM_TORADIXBE_DYN_L2_GAS 3
231
#define AVM_BITWISE_DYN_L2_GAS 3
232
#define AVM_EMITUNENCRYPTEDLOG_DYN_L2_GAS 3
233
#define AVM_EMITNOTEHASH_BASE_DA_GAS 512
234
#define AVM_EMITNULLIFIER_BASE_DA_GAS 512
235
#define AVM_SENDL2TOL1MSG_BASE_DA_GAS 512
236
#define AVM_EMITUNENCRYPTEDLOG_BASE_DA_GAS 1024
237
#define AVM_EMITUNENCRYPTEDLOG_DYN_DA_GAS 512
238
#define AVM_SSTORE_DYN_DA_GAS 1024
239
#define AVM_WRITTEN_PUBLIC_DATA_SLOTS_TREE_HEIGHT 6
240
#define AVM_WRITTEN_PUBLIC_DATA_SLOTS_TREE_INITIAL_ROOT \
241
"0x2870b93163d4fd6ada360fe48ee1e8e8e69308af34cdfaeffacbbe5929e2466d"
242
#define AVM_WRITTEN_PUBLIC_DATA_SLOTS_TREE_INITIAL_SIZE 1
243
#define AVM_RETRIEVED_BYTECODES_TREE_HEIGHT 5
244
#define AVM_RETRIEVED_BYTECODES_TREE_INITIAL_ROOT "0x100ba46aea628d39c08788f05fcad4ab19adf5b8bba866a1f5c5baa6e297891d"
245
#define AVM_RETRIEVED_BYTECODES_TREE_INITIAL_SIZE 1
246
#define TIMESTAMP_OF_CHANGE_BIT_SIZE 32
247
#define UPDATES_DELAYED_PUBLIC_MUTABLE_VALUES_LEN 3
248
#define UPDATES_DELAYED_PUBLIC_MUTABLE_METADATA_BIT_SIZE 144
249
#define DEFAULT_MAX_DEBUG_LOG_MEMORY_READS 125000
250
#define GENERATOR_INDEX__NOTE_HASH_NONCE 2
251
#define GENERATOR_INDEX__UNIQUE_NOTE_HASH 3
252
#define GENERATOR_INDEX__SILOED_NOTE_HASH 4
253
#define GENERATOR_INDEX__OUTER_NULLIFIER 7
254
#define GENERATOR_INDEX__CONTRACT_ADDRESS_V1 15
255
#define GENERATOR_INDEX__CONTRACT_LEAF 16
256
#define GENERATOR_INDEX__PUBLIC_LEAF_INDEX 23
257
#define GENERATOR_INDEX__PARTIAL_ADDRESS 27
258
#define GENERATOR_INDEX__PUBLIC_CALLDATA 43
259
#define GENERATOR_INDEX__PUBLIC_KEYS_HASH 52
260
#define GENERATOR_INDEX__PUBLIC_BYTECODE 60
src
barretenberg
vm2
common
aztec_constants.hpp
Generated by
1.9.8