@aztec/constants 0.0.1-commit.343b43af6 → 0.0.1-commit.350e0a4d

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -57,8 +57,6 @@ export const MAX_KEY_VALIDATION_REQUESTS_PER_CALL = 16;
57
57
  export const NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP = 1024;
58
58
  export const PRIVATE_KERNEL_INIT_VK_INDEX = 0;
59
59
  export const PRIVATE_KERNEL_INNER_VK_INDEX = 1;
60
- export const PRIVATE_KERNEL_TAIL_VK_INDEX = 2;
61
- export const PRIVATE_KERNEL_TAIL_TO_PUBLIC_VK_INDEX = 3;
62
60
  export const HIDING_KERNEL_TO_ROLLUP_VK_INDEX = 4;
63
61
  export const HIDING_KERNEL_TO_PUBLIC_VK_INDEX = 5;
64
62
  export const PUBLIC_CHONK_VERIFIER_VK_INDEX = 6;
@@ -79,6 +77,18 @@ export const ROOT_ROLLUP_VK_INDEX = 20;
79
77
  export const PARITY_BASE_VK_INDEX = 21;
80
78
  export const PARITY_ROOT_VK_INDEX = 22;
81
79
  export const PRIVATE_KERNEL_RESET_VK_INDEX = 23;
80
+ export const PRIVATE_KERNEL_RESET_TAIL_VK_INDEX = 31;
81
+ export const PRIVATE_KERNEL_RESET_TAIL_TO_PUBLIC_VK_INDEX = 37;
82
+ export const PRIVATE_KERNEL_RESET_BLOCK_END = 43;
83
+ export const PRIVATE_KERNEL_INIT_2_VK_INDEX = 65;
84
+ export const PRIVATE_KERNEL_INIT_3_VK_INDEX = 66;
85
+ export const PRIVATE_KERNEL_INIT_4_VK_INDEX = 67;
86
+ export const PRIVATE_KERNEL_INIT_5_VK_INDEX = 68;
87
+ export const PRIVATE_KERNEL_INNER_2_VK_INDEX = 69;
88
+ export const PRIVATE_KERNEL_INNER_3_VK_INDEX = 70;
89
+ export const PRIVATE_KERNEL_INNER_4_VK_INDEX = 71;
90
+ export const PRIVATE_KERNEL_INNER_5_VK_INDEX = 72;
91
+ export const MAX_APPS_PER_KERNEL = 5;
82
92
  export const GLOBAL_INDEX_NOTE_HASH_READ_REQUEST_OFFSET = 0;
83
93
  export const GLOBAL_INDEX_NULLIFIER_READ_REQUEST_OFFSET = 16;
84
94
  export const GLOBAL_INDEX_NOTE_HASH_OFFSET = 32;
@@ -98,8 +108,8 @@ export const FIELDS_PER_BLOB = 4096;
98
108
  export const BLOBS_PER_CHECKPOINT = 6;
99
109
  export const MAX_CHECKPOINTS_PER_EPOCH = 32;
100
110
  export const MAX_TX_LIFETIME = 86400;
101
- export const GENESIS_BLOCK_HEADER_HASH = 21694244557328181932449230888455310614586084993178835904749768133365362325861n;
102
- export const GENESIS_ARCHIVE_ROOT = 9682850228538071369704502076456077473410427336083826595120404283897422804423n;
111
+ export const GENESIS_BLOCK_HEADER_HASH = 6551417544883665873456328017782433997345264442591862482015827744892259451090n;
112
+ export const GENESIS_ARCHIVE_ROOT = 10619256997260439436842531499967995403253967496480475679746178797053672406517n;
103
113
  export const EMPTY_EPOCH_OUT_HASH = 355785372471781095838790036702437931769306153278986832745847530947941691539n;
104
114
  export const MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS = 3000;
105
115
  export const MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS = 3000;
@@ -112,12 +122,9 @@ export const CONTRACT_CLASS_REGISTRY_UTILITY_FUNCTION_BROADCASTED_MAGIC_VALUE =
112
122
  export const CONTRACT_INSTANCE_PUBLISHED_MAGIC_VALUE = 10538216027419913765597387738085647348651103543680388181336823392401502757423n;
113
123
  export const CONTRACT_INSTANCE_UPDATED_MAGIC_VALUE = 20721543224513346060908370400407150739273836456436647488068002302723900469047n;
114
124
  export const MAX_PROTOCOL_CONTRACTS = 11;
115
- export const CANONICAL_AUTH_REGISTRY_ADDRESS = 1;
125
+ export const CONTRACT_CLASS_REGISTRY_CONTRACT_ADDRESS = 1;
116
126
  export const CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS = 2;
117
- export const CONTRACT_CLASS_REGISTRY_CONTRACT_ADDRESS = 3;
118
- export const MULTI_CALL_ENTRYPOINT_ADDRESS = 4;
119
- export const FEE_JUICE_ADDRESS = 5;
120
- export const PUBLIC_CHECKS_ADDRESS = 6;
127
+ export const FEE_JUICE_ADDRESS = 3;
121
128
  export const SIDE_EFFECT_MASKING_ADDRESS = 19523154334483583633304358390644137470227519736821975910774528428729027989987n;
122
129
  export const NULL_MSG_SENDER_CONTRACT_ADDRESS = 21888242871839275222246405745257275088548364400416034343698204186575808495616n;
123
130
  export const CONTRACT_CLASS_REGISTRY_BYTECODE_CAPSULE_SLOT = 14193106819744442689484501689686180698286338820089744102289275815863062044599n;
@@ -131,12 +138,21 @@ export const DEFAULT_OVPK_M_X = 122127877196173055705879288602884754543280089552
131
138
  export const DEFAULT_OVPK_M_Y = 3646747884782549389807830220601404629716007431341772952958971658285958854707n;
132
139
  export const DEFAULT_TPK_M_X = 728059161893070741164607238299536939695876538801885465230641192969135857403n;
133
140
  export const DEFAULT_TPK_M_Y = 14575718736702206050102425029229426215631664471161015518982549597389390371695n;
141
+ export const DEFAULT_MSPK_M_X = 376604625977751683916174973150925911104291823095102990065366659597425722296n;
142
+ export const DEFAULT_MSPK_M_Y = 6401736487141786437369922081657103422778081213225821992340733703460199150021n;
143
+ export const DEFAULT_FBPK_M_X = 11572348468544340050763207926758553848489417025671995953147359609999720016266n;
144
+ export const DEFAULT_FBPK_M_Y = 11774107091164614768010125692190151838649080987589360468021169521798921524563n;
145
+ export const DEFAULT_NPK_M_HASH = 9490941203163884203266873379528043162885952552009707050511473783876867365414n;
146
+ export const DEFAULT_OVPK_M_HASH = 6503635668323258394266152634006889881423098283582185344306514598322956522059n;
147
+ export const DEFAULT_TPK_M_HASH = 3696996950890211715833095099359687729113787313245035143274671977290400579312n;
148
+ export const DEFAULT_MSPK_M_HASH = 9339255027081995322829531434846677508514443987752207871815765570767379563350n;
149
+ export const DEFAULT_FBPK_M_HASH = 6817041416194035981444514907304573239615033139388669881213007796289638159510n;
134
150
  export const AZTEC_ADDRESS_LENGTH = 1;
135
151
  export const GAS_FEES_LENGTH = 2;
136
152
  export const GAS_LENGTH = 2;
137
153
  export const GAS_SETTINGS_LENGTH = 8;
138
154
  export const CALL_CONTEXT_LENGTH = 4;
139
- export const CONTRACT_INSTANCE_LENGTH = 16;
155
+ export const CONTRACT_INSTANCE_LENGTH = 12;
140
156
  export const CONTRACT_STORAGE_READ_LENGTH = 3;
141
157
  export const CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH = 3;
142
158
  export const ETH_ADDRESS_LENGTH = 1;
@@ -158,9 +174,9 @@ export const L2_TO_L1_MESSAGE_LENGTH = 2;
158
174
  export const COUNTED_L2_TO_L1_MESSAGE_LENGTH = 3;
159
175
  export const SCOPED_L2_TO_L1_MESSAGE_LENGTH = 3;
160
176
  export const SCOPED_COUNTED_L2_TO_L1_MESSAGE_LENGTH = 4;
161
- export const KEY_VALIDATION_REQUEST_LENGTH = 4;
162
- export const KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH = 5;
163
- export const SCOPED_KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH = 6;
177
+ export const KEY_VALIDATION_REQUEST_LENGTH = 2;
178
+ export const KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH = 3;
179
+ export const SCOPED_KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH = 4;
164
180
  export const PARTIAL_STATE_REFERENCE_LENGTH = 6;
165
181
  export const TREE_LEAF_READ_REQUEST_LENGTH = 2;
166
182
  export const PRIVATE_LOG_SIZE_IN_FIELDS = 16;
@@ -196,22 +212,22 @@ export const TX_REQUEST_LENGTH = 15;
196
212
  export const TOTAL_FEES_LENGTH = 1;
197
213
  export const TOTAL_MANA_USED_LENGTH = 1;
198
214
  export const BLOCK_HEADER_LENGTH = 22;
199
- export const CHECKPOINT_HEADER_LENGTH = 12;
200
- export const CHECKPOINT_HEADER_SIZE_IN_BYTES = 316;
215
+ export const CHECKPOINT_HEADER_LENGTH = 13;
216
+ export const CHECKPOINT_HEADER_SIZE_IN_BYTES = 348;
201
217
  export const SCOPED_READ_REQUEST_LEN = 3;
202
- export const PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH = 870;
203
- export const PRIVATE_CONTEXT_INPUTS_LENGTH = 37;
218
+ export const PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH = 839;
219
+ export const PRIVATE_CONTEXT_INPUTS_LENGTH = 38;
204
220
  export const FEE_RECIPIENT_LENGTH = 2;
205
221
  export const HIDING_KERNEL_IO_PUBLIC_INPUTS_SIZE = 28;
206
222
  export const PAIRING_POINTS_SIZE = 8;
207
223
  export const IPA_CLAIM_SIZE = 6;
208
224
  export const PUBLIC_DATA_READ_LENGTH = 3;
209
- export const PRIVATE_VALIDATION_REQUESTS_LENGTH = 771;
225
+ export const PRIVATE_VALIDATION_REQUESTS_LENGTH = 643;
210
226
  export const PRIVATE_TO_ROLLUP_ACCUMULATED_DATA_LENGTH = 1243;
211
227
  export const TX_CONSTANT_DATA_LENGTH = 34;
212
228
  export const COMBINED_CONSTANT_DATA_LENGTH = 43;
213
229
  export const PRIVATE_ACCUMULATED_DATA_LENGTH = 2059;
214
- export const PRIVATE_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 2873;
230
+ export const PRIVATE_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 2745;
215
231
  export const PRIVATE_TO_PUBLIC_ACCUMULATED_DATA_LENGTH = 1371;
216
232
  export const PRIVATE_TO_AVM_ACCUMULATED_DATA_LENGTH = 152;
217
233
  export const NUM_PRIVATE_TO_AVM_ACCUMULATED_DATA_ARRAYS = 3;
@@ -230,16 +246,23 @@ export const CHECKPOINT_ROLLUP_PUBLIC_INPUTS_LENGTH = 149;
230
246
  export const ROOT_ROLLUP_PUBLIC_INPUTS_LENGTH = 111;
231
247
  export const NUM_MSGS_PER_BASE_PARITY = 256;
232
248
  export const NUM_BASE_PARITY_PER_ROOT_PARITY = 4;
233
- export const RECURSIVE_PROOF_LENGTH = 449;
234
- export const NESTED_RECURSIVE_PROOF_LENGTH = 449;
249
+ export const RECURSIVE_PROOF_LENGTH = 410;
250
+ export const NESTED_RECURSIVE_PROOF_LENGTH = 410;
235
251
  export const IPA_PROOF_LENGTH = 64;
236
252
  export const ULTRA_KECCAK_PROOF_LENGTH = 331;
237
- export const RECURSIVE_ROLLUP_HONK_PROOF_LENGTH = 519;
238
- export const NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH = 519;
239
- export const CHONK_PROOF_LENGTH = 1632;
253
+ export const RECURSIVE_ROLLUP_HONK_PROOF_LENGTH = 480;
254
+ export const NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH = 480;
255
+ export const CHONK_HIDING_OINK_LENGTH = 48;
256
+ export const CHONK_MERGE_PROOF_SIZE = 41;
257
+ export const CHONK_ECCVM_PROOF_LENGTH = 556;
258
+ export const CHONK_TRIPLE_IPA_PROOF_LENGTH = 70;
259
+ export const CHONK_JOINT_PROOF_LENGTH = 478;
260
+ export const CHONK_PROOF_LENGTH = 1221;
240
261
  export const ULTRA_VK_LENGTH_IN_FIELDS = 115;
241
- export const MEGA_VK_LENGTH_IN_FIELDS = 127;
242
- export const CHONK_VK_LENGTH_IN_FIELDS = 127;
262
+ export const MEGA_APP_VK_LENGTH_IN_FIELDS = 151;
263
+ export const MEGA_KERNEL_VK_LENGTH_IN_FIELDS = 151;
264
+ export const MEGA_ZK_VK_LENGTH_IN_FIELDS = 119;
265
+ export const CHONK_VK_LENGTH_IN_FIELDS = 119;
243
266
  export const AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS = 86;
244
267
  export const MAX_PUBLIC_BYTECODE_SIZE_IN_BYTES = 96000;
245
268
  export const MAX_PUBLIC_CALLS_TO_UNIQUE_CONTRACT_CLASS_IDS = 21;
@@ -278,9 +301,8 @@ export const AVM_SUBTRACE_ID_TO_RADIX = 8192;
278
301
  export const AVM_DYN_GAS_ID_CALLDATACOPY = 1;
279
302
  export const AVM_DYN_GAS_ID_RETURNDATACOPY = 2;
280
303
  export const AVM_DYN_GAS_ID_TORADIX = 4;
281
- export const AVM_DYN_GAS_ID_BITWISE = 8;
282
- export const AVM_DYN_GAS_ID_EMITPUBLICLOG = 16;
283
- export const AVM_DYN_GAS_ID_SSTORE = 32;
304
+ export const AVM_DYN_GAS_ID_EMITPUBLICLOG = 8;
305
+ export const AVM_DYN_GAS_ID_SSTORE = 16;
284
306
  export const AVM_EXEC_OP_ID_GETENVVAR = 1;
285
307
  export const AVM_EXEC_OP_ID_MOV = 2;
286
308
  export const AVM_EXEC_OP_ID_JUMP = 4;
@@ -382,9 +404,12 @@ export const AVM_PUBLIC_INPUTS_TRANSACTION_FEE_ROW_IDX = 4683;
382
404
  export const AVM_PUBLIC_INPUTS_REVERTED_ROW_IDX = 4684;
383
405
  export const AVM_PUBLIC_INPUTS_COLUMNS_MAX_LENGTH = 4685;
384
406
  export const AVM_NUM_PUBLIC_INPUT_COLUMNS = 4;
385
- export const AVM_PUBLIC_INPUTS_COLUMNS_COMBINED_LENGTH = 18740;
386
- export const AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED = 16400;
387
- export const AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED = 1000;
407
+ export const AVM_PUBLIC_INPUTS_COLUMN_0_LENGTH = 4685;
408
+ export const AVM_PUBLIC_INPUTS_COLUMN_1_LENGTH = 4683;
409
+ export const AVM_PUBLIC_INPUTS_COLUMN_2_LENGTH = 522;
410
+ export const AVM_PUBLIC_INPUTS_COLUMN_3_LENGTH = 99;
411
+ export const AVM_PUBLIC_INPUTS_COLUMNS_COMBINED_LENGTH = 9989;
412
+ export const AVM_V2_PROOF_LENGTH_IN_FIELDS = 14532;
388
413
  export const DA_BYTES_PER_FIELD = 32;
389
414
  export const DA_GAS_PER_BYTE = 1;
390
415
  export const DA_GAS_PER_FIELD = 32;
@@ -395,18 +420,10 @@ export const FIXED_AVM_STARTUP_L2_GAS = 20000;
395
420
  export const AVM_MAX_PROCESSABLE_L2_GAS = 6000000;
396
421
  export const MAX_PROCESSABLE_L2_GAS = 6540000;
397
422
  export const MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT = 786432;
398
- export const GAS_ESTIMATION_TEARDOWN_L2_GAS_LIMIT = 6540000;
399
- export const GAS_ESTIMATION_L2_GAS_LIMIT = 13080000;
400
- export const GAS_ESTIMATION_TEARDOWN_DA_GAS_LIMIT = 786432;
401
- export const GAS_ESTIMATION_DA_GAS_LIMIT = 1572864;
402
- export const DEFAULT_TEARDOWN_L2_GAS_LIMIT = 1000000;
403
- export const DEFAULT_L2_GAS_LIMIT = 6540000;
404
- export const DEFAULT_TEARDOWN_DA_GAS_LIMIT = 393216;
405
- export const DEFAULT_DA_GAS_LIMIT = 786432;
406
423
  export const L2_GAS_DISTRIBUTED_STORAGE_PREMIUM = 1024;
407
424
  export const AVM_PC_SIZE_IN_BITS = 32;
408
- export const AVM_MAX_OPERANDS = 7;
409
- export const AVM_MAX_REGISTERS = 6;
425
+ export const AVM_MAX_OPERANDS = 5;
426
+ export const AVM_MAX_REGISTERS = 4;
410
427
  export const AVM_ADDRESSING_BASE_RESOLUTION_L2_GAS = 3;
411
428
  export const AVM_ADDRESSING_INDIRECT_L2_GAS = 3;
412
429
  export const AVM_ADDRESSING_RELATIVE_L2_GAS = 3;
@@ -459,12 +476,11 @@ export const AVM_DEBUGLOG_BASE_L2_GAS = 9;
459
476
  export const AVM_POSEIDON2_BASE_L2_GAS = 360;
460
477
  export const AVM_SHA256COMPRESSION_BASE_L2_GAS = 12288;
461
478
  export const AVM_KECCAKF1600_BASE_L2_GAS = 58176;
462
- export const AVM_ECADD_BASE_L2_GAS = 270;
479
+ export const AVM_ECADD_BASE_L2_GAS = 180;
463
480
  export const AVM_TORADIXBE_BASE_L2_GAS = 24;
464
- export const AVM_CALLDATACOPY_DYN_L2_GAS = 3;
465
- export const AVM_RETURNDATACOPY_DYN_L2_GAS = 3;
481
+ export const AVM_CALLDATACOPY_DYN_L2_GAS = 6;
482
+ export const AVM_RETURNDATACOPY_DYN_L2_GAS = 6;
466
483
  export const AVM_TORADIXBE_DYN_L2_GAS = 3;
467
- export const AVM_BITWISE_DYN_L2_GAS = 3;
468
484
  export const AVM_EMITPUBLICLOG_DYN_L2_GAS = 3;
469
485
  export const AVM_EMITNOTEHASH_BASE_DA_GAS = 32;
470
486
  export const AVM_EMITNULLIFIER_BASE_DA_GAS = 32;
@@ -482,14 +498,13 @@ export const PROOF_TYPE_AVM = 3;
482
498
  export const PROOF_TYPE_ROLLUP_HONK = 4;
483
499
  export const PROOF_TYPE_ROOT_ROLLUP_HONK = 5;
484
500
  export const PROOF_TYPE_HN_FINAL = 7;
485
- export const PROOF_TYPE_HN_TAIL = 8;
486
- export const PROOF_TYPE_CHONK = 9;
501
+ export const PROOF_TYPE_CHONK = 8;
487
502
  export const TWO_POW_64 = 18446744073709551616n;
488
503
  export const AVM_WRITTEN_PUBLIC_DATA_SLOTS_TREE_HEIGHT = 6;
489
- export const AVM_WRITTEN_PUBLIC_DATA_SLOTS_TREE_INITIAL_ROOT = 18291678969210913367302010540259942201271604198321103848479209155223586227821n;
504
+ export const AVM_WRITTEN_PUBLIC_DATA_SLOTS_TREE_INITIAL_ROOT = 8857725174171741160013581538021104168730942281584695363072221389187184558934n;
490
505
  export const AVM_WRITTEN_PUBLIC_DATA_SLOTS_TREE_INITIAL_SIZE = 1;
491
506
  export const AVM_RETRIEVED_BYTECODES_TREE_HEIGHT = 5;
492
- export const AVM_RETRIEVED_BYTECODES_TREE_INITIAL_ROOT = 7257575663883662864904159007845791361042428565864275462740313586853981161757n;
507
+ export const AVM_RETRIEVED_BYTECODES_TREE_INITIAL_ROOT = 7219963955978612430652135562469971022121082503142071142433583613738272177170n;
493
508
  export const AVM_RETRIEVED_BYTECODES_TREE_INITIAL_SIZE = 1;
494
509
  export const TIMESTAMP_OF_CHANGE_BIT_SIZE = 32;
495
510
  export const DEFAULT_UPDATE_DELAY = 86400;
@@ -503,28 +518,48 @@ export const UPDATES_DELAYED_PUBLIC_MUTABLE_METADATA_BIT_SIZE = 144;
503
518
  export const GRUMPKIN_ONE_X = 1;
504
519
  export const GRUMPKIN_ONE_Y = 17631683881184975370165255887551781615748388533673675138860n;
505
520
  export const DEFAULT_MAX_DEBUG_LOG_MEMORY_READS = 125000;
521
+ export const MAX_TX_BLOB_DATA_SIZE_IN_FIELDS = 8475;
506
522
  export var DomainSeparator = /*#__PURE__*/ function(DomainSeparator) {
507
523
  DomainSeparator[DomainSeparator["NOTE_HASH"] = 116501019] = "NOTE_HASH";
508
- DomainSeparator[DomainSeparator["NOTE_HASH_NONCE"] = 1721808740] = "NOTE_HASH_NONCE";
509
- DomainSeparator[DomainSeparator["UNIQUE_NOTE_HASH"] = 226850429] = "UNIQUE_NOTE_HASH";
524
+ DomainSeparator[DomainSeparator["PARTIAL_NOTE_COMMITMENT"] = 568912195] = "PARTIAL_NOTE_COMMITMENT";
510
525
  DomainSeparator[DomainSeparator["SILOED_NOTE_HASH"] = 3361878420] = "SILOED_NOTE_HASH";
526
+ DomainSeparator[DomainSeparator["UNIQUE_NOTE_HASH"] = 226850429] = "UNIQUE_NOTE_HASH";
527
+ DomainSeparator[DomainSeparator["NOTE_HASH_NONCE"] = 1721808740] = "NOTE_HASH_NONCE";
528
+ DomainSeparator[DomainSeparator["SINGLE_USE_CLAIM_NULLIFIER"] = 1465998995] = "SINGLE_USE_CLAIM_NULLIFIER";
511
529
  DomainSeparator[DomainSeparator["NOTE_NULLIFIER"] = 50789342] = "NOTE_NULLIFIER";
512
- DomainSeparator[DomainSeparator["MESSAGE_NULLIFIER"] = 3754509616] = "MESSAGE_NULLIFIER";
513
530
  DomainSeparator[DomainSeparator["SILOED_NULLIFIER"] = 57496191] = "SILOED_NULLIFIER";
531
+ DomainSeparator[DomainSeparator["MESSAGE_NULLIFIER"] = 3754509616] = "MESSAGE_NULLIFIER";
532
+ DomainSeparator[DomainSeparator["EVENT_LOG_TAG"] = 926040838] = "EVENT_LOG_TAG";
533
+ DomainSeparator[DomainSeparator["NOTE_COMPLETION_LOG_TAG"] = 3372669888] = "NOTE_COMPLETION_LOG_TAG";
534
+ DomainSeparator[DomainSeparator["UNCONSTRAINED_MSG_LOG_TAG"] = 1485357192] = "UNCONSTRAINED_MSG_LOG_TAG";
535
+ DomainSeparator[DomainSeparator["CONSTRAINED_MSG_LOG_TAG"] = 3715244738] = "CONSTRAINED_MSG_LOG_TAG";
536
+ DomainSeparator[DomainSeparator["CONSTRAINED_MSG_NULLIFIER"] = 3723577546] = "CONSTRAINED_MSG_NULLIFIER";
537
+ DomainSeparator[DomainSeparator["CONSTRAINED_MSG_SENDER_SECRET"] = 1182889476] = "CONSTRAINED_MSG_SENDER_SECRET";
538
+ DomainSeparator[DomainSeparator["NON_INTERACTIVE_HANDSHAKE_LOG_TAG"] = 4046403018] = "NON_INTERACTIVE_HANDSHAKE_LOG_TAG";
539
+ DomainSeparator[DomainSeparator["INTERACTIVE_HANDSHAKE_SIGNATURE"] = 3098455647] = "INTERACTIVE_HANDSHAKE_SIGNATURE";
514
540
  DomainSeparator[DomainSeparator["PRIVATE_LOG_FIRST_FIELD"] = 2769976252] = "PRIVATE_LOG_FIRST_FIELD";
515
541
  DomainSeparator[DomainSeparator["PUBLIC_LEAF_SLOT"] = 1247650290] = "PUBLIC_LEAF_SLOT";
516
542
  DomainSeparator[DomainSeparator["PUBLIC_STORAGE_MAP_SLOT"] = 4015149901] = "PUBLIC_STORAGE_MAP_SLOT";
543
+ DomainSeparator[DomainSeparator["MERKLE_HASH"] = 2982624097] = "MERKLE_HASH";
544
+ DomainSeparator[DomainSeparator["NULLIFIER_MERKLE"] = 1157584160] = "NULLIFIER_MERKLE";
545
+ DomainSeparator[DomainSeparator["PUBLIC_DATA_MERKLE"] = 3756303423] = "PUBLIC_DATA_MERKLE";
546
+ DomainSeparator[DomainSeparator["WRITTEN_SLOTS_MERKLE"] = 2292766212] = "WRITTEN_SLOTS_MERKLE";
547
+ DomainSeparator[DomainSeparator["RETRIEVED_BYTECODES_MERKLE"] = 2789215184] = "RETRIEVED_BYTECODES_MERKLE";
517
548
  DomainSeparator[DomainSeparator["PRIVATE_FUNCTION_LEAF"] = 1389398688] = "PRIVATE_FUNCTION_LEAF";
518
549
  DomainSeparator[DomainSeparator["PUBLIC_BYTECODE"] = 260313585] = "PUBLIC_BYTECODE";
519
550
  DomainSeparator[DomainSeparator["CONTRACT_CLASS_ID"] = 3923495515] = "CONTRACT_CLASS_ID";
551
+ DomainSeparator[DomainSeparator["SALTED_INITIALIZATION_HASH"] = 2763052992] = "SALTED_INITIALIZATION_HASH";
520
552
  DomainSeparator[DomainSeparator["INITIALIZER"] = 385396519] = "INITIALIZER";
521
553
  DomainSeparator[DomainSeparator["NHK_M"] = 242137788] = "NHK_M";
522
554
  DomainSeparator[DomainSeparator["IVSK_M"] = 2747825907] = "IVSK_M";
523
555
  DomainSeparator[DomainSeparator["OVSK_M"] = 4272201051] = "OVSK_M";
524
556
  DomainSeparator[DomainSeparator["TSK_M"] = 1546190975] = "TSK_M";
557
+ DomainSeparator[DomainSeparator["MSSK_M"] = 617962565] = "MSSK_M";
558
+ DomainSeparator[DomainSeparator["FBSK_M"] = 787738027] = "FBSK_M";
525
559
  DomainSeparator[DomainSeparator["PUBLIC_KEYS_HASH"] = 777457226] = "PUBLIC_KEYS_HASH";
560
+ DomainSeparator[DomainSeparator["SINGLE_PUBLIC_KEY_HASH"] = 3452068255] = "SINGLE_PUBLIC_KEY_HASH";
526
561
  DomainSeparator[DomainSeparator["PARTIAL_ADDRESS"] = 2103633018] = "PARTIAL_ADDRESS";
527
- DomainSeparator[DomainSeparator["CONTRACT_ADDRESS_V1"] = 1788365517] = "CONTRACT_ADDRESS_V1";
562
+ DomainSeparator[DomainSeparator["CONTRACT_ADDRESS_V2"] = 4099338721] = "CONTRACT_ADDRESS_V2";
528
563
  DomainSeparator[DomainSeparator["BLOCK_HEADER_HASH"] = 4195546849] = "BLOCK_HEADER_HASH";
529
564
  DomainSeparator[DomainSeparator["TX_REQUEST"] = 3763737512] = "TX_REQUEST";
530
565
  DomainSeparator[DomainSeparator["PUBLIC_TX_HASH"] = 1630108851] = "PUBLIC_TX_HASH";
@@ -536,13 +571,21 @@ export var DomainSeparator = /*#__PURE__*/ function(DomainSeparator) {
536
571
  DomainSeparator[DomainSeparator["AUTHWIT_INNER"] = 221354163] = "AUTHWIT_INNER";
537
572
  DomainSeparator[DomainSeparator["AUTHWIT_OUTER"] = 3283595782] = "AUTHWIT_OUTER";
538
573
  DomainSeparator[DomainSeparator["AUTHWIT_NULLIFIER"] = 1239150694] = "AUTHWIT_NULLIFIER";
539
- DomainSeparator[DomainSeparator["SYMMETRIC_KEY"] = 3882206064] = "SYMMETRIC_KEY";
540
- DomainSeparator[DomainSeparator["SYMMETRIC_KEY_2"] = 4129434989] = "SYMMETRIC_KEY_2";
541
- DomainSeparator[DomainSeparator["CIPHERTEXT_FIELD_MASK"] = 1870492847] = "CIPHERTEXT_FIELD_MASK";
574
+ DomainSeparator[DomainSeparator["APP_SILOED_ECDH_SHARED_SECRET"] = 1707851664] = "APP_SILOED_ECDH_SHARED_SECRET";
575
+ DomainSeparator[DomainSeparator["ECDH_SUBKEY"] = 4277646631] = "ECDH_SUBKEY";
576
+ DomainSeparator[DomainSeparator["ECDH_FIELD_MASK"] = 190532684] = "ECDH_FIELD_MASK";
542
577
  DomainSeparator[DomainSeparator["PARTIAL_NOTE_VALIDITY_COMMITMENT"] = 623934423] = "PARTIAL_NOTE_VALIDITY_COMMITMENT";
543
578
  DomainSeparator[DomainSeparator["INITIALIZATION_NULLIFIER"] = 1653084894] = "INITIALIZATION_NULLIFIER";
579
+ DomainSeparator[DomainSeparator["PUBLIC_INITIALIZATION_NULLIFIER"] = 3342006647] = "PUBLIC_INITIALIZATION_NULLIFIER";
580
+ DomainSeparator[DomainSeparator["PRIVATE_INITIALIZATION_NULLIFIER"] = 3990889078] = "PRIVATE_INITIALIZATION_NULLIFIER";
544
581
  DomainSeparator[DomainSeparator["SECRET_HASH"] = 4199652938] = "SECRET_HASH";
545
582
  DomainSeparator[DomainSeparator["TX_NULLIFIER"] = 1025801951] = "TX_NULLIFIER";
546
583
  DomainSeparator[DomainSeparator["SIGNATURE_PAYLOAD"] = 463525807] = "SIGNATURE_PAYLOAD";
584
+ DomainSeparator[DomainSeparator["BLOCK_HEADERS_HASH"] = 515582467] = "BLOCK_HEADERS_HASH";
585
+ DomainSeparator[DomainSeparator["BLOB_HASHED_Y_LIMBS"] = 2949331415] = "BLOB_HASHED_Y_LIMBS";
586
+ DomainSeparator[DomainSeparator["BLOB_CHALLENGE_Z"] = 60345710] = "BLOB_CHALLENGE_Z";
587
+ DomainSeparator[DomainSeparator["BLOB_Z_ACC"] = 1003392952] = "BLOB_Z_ACC";
588
+ DomainSeparator[DomainSeparator["BLOB_GAMMA_ACC"] = 855632775] = "BLOB_GAMMA_ACC";
589
+ DomainSeparator[DomainSeparator["BLOB_GAMMA_FINAL"] = 1755883835] = "BLOB_GAMMA_FINAL";
547
590
  return DomainSeparator;
548
591
  }({});
package/dest/constants.js CHANGED
@@ -2,9 +2,24 @@ import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  // Re-export L2 block number constants with proper BlockNumber type
4
4
  // Note: The generated constants are plain numbers, but we provide typed versions here
5
- import { GENESIS_BLOCK_HEADER_HASH as GENESIS_BLOCK_HEADER_HASH_BIGINT, INITIAL_CHECKPOINT_NUMBER as INITIAL_CHECKPOINT_NUM_RAW, INITIAL_L2_BLOCK_NUM as INITIAL_L2_BLOCK_NUM_RAW, MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT, MAX_PROCESSABLE_L2_GAS } from './constants.gen.js';
5
+ import { DA_GAS_PER_FIELD, GENESIS_BLOCK_HEADER_HASH as GENESIS_BLOCK_HEADER_HASH_BIGINT, INITIAL_CHECKPOINT_NUMBER as INITIAL_CHECKPOINT_NUM_RAW, INITIAL_L2_BLOCK_NUM as INITIAL_L2_BLOCK_NUM_RAW, MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT as MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT_RAW, MAX_TX_BLOB_DATA_SIZE_IN_FIELDS } from './constants.gen.js';
6
6
  // Typescript-land-only constants
7
7
  export const SPONSORED_FPC_SALT = BigInt(0);
8
+ /**
9
+ * Network-minimum per-block budget multiplier for L2 gas / tx count. Operators may configure a higher value,
10
+ * but never lower: a node admitting txs under a smaller multiplier would accept work it can never pack.
11
+ */ export const MIN_PER_BLOCK_ALLOCATION_MULTIPLIER = 1.2;
12
+ /**
13
+ * Network-minimum per-block budget multiplier for DA gas / blob fields. See
14
+ * {@link MIN_PER_BLOCK_ALLOCATION_MULTIPLIER}. The DA-specific operator knob and its runtime enforcement land
15
+ * with the network tx admission limits (#23947); until then this constant is documentation of the network
16
+ * minimum only.
17
+ */ export const MIN_PER_BLOCK_DA_ALLOCATION_MULTIPLIER = 1.5;
18
+ /**
19
+ * The most DA gas a single tx can consume. A tx's effects cannot encode more than
20
+ * MAX_TX_BLOB_DATA_SIZE_IN_FIELDS fields in a blob, each costing DA_GAS_PER_FIELD, so this is the maximum
21
+ * DA gas a tx could ever use; declaring a higher limit is rejected by inbound validation.
22
+ */ export const MAX_TX_DA_GAS = MAX_TX_BLOB_DATA_SIZE_IN_FIELDS * DA_GAS_PER_FIELD;
8
23
  // Autogenerated constants loaded from noir-land
9
24
  // eslint-disable-next-line import-x/export
10
25
  export * from './constants.gen.js';
@@ -14,13 +29,13 @@ export const INITIAL_L2_BLOCK_NUM = BlockNumber(INITIAL_L2_BLOCK_NUM_RAW);
14
29
  export const INITIAL_CHECKPOINT_NUMBER = CheckpointNumber(INITIAL_CHECKPOINT_NUM_RAW);
15
30
  /** The block header hash for the genesis block 0. */ // eslint-disable-next-line import-x/export
16
31
  export const GENESIS_BLOCK_HEADER_HASH = new Fr(GENESIS_BLOCK_HEADER_HASH_BIGINT);
17
- // Override the default gas limits set in noir-protocol-circuit constants with saner ones
18
- // Note that these values are not used in noir-land and are only for use in TypeScript code, so we can set them to whatever we want.
19
- // eslint-disable-next-line import-x/export
20
- export const DEFAULT_L2_GAS_LIMIT = MAX_PROCESSABLE_L2_GAS;
21
- // eslint-disable-next-line import-x/export
22
- export const DEFAULT_TEARDOWN_L2_GAS_LIMIT = DEFAULT_L2_GAS_LIMIT / 8;
23
- // eslint-disable-next-line import-x/export
24
- export const DEFAULT_DA_GAS_LIMIT = MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT / 4;
25
- // eslint-disable-next-line import-x/export
26
- export const DEFAULT_TEARDOWN_DA_GAS_LIMIT = DEFAULT_DA_GAS_LIMIT / 2;
32
+ /**
33
+ * The RAW DA capacity of a checkpoint's blobs: `BLOBS_PER_CHECKPOINT * FIELDS_PER_BLOB * DA_GAS_PER_FIELD`.
34
+ * This value is NOT attainable by transactions. The blob encoding reserves overhead fields that no tx pays
35
+ * DA gas for: a checkpoint-end marker field plus per-block block-end fields (7 for the first block in a
36
+ * checkpoint, 6 for each subsequent block — see `@aztec/blob-lib` encoding). The true tx-usable DA budget
37
+ * is lower and block-count-dependent; consumers budgeting tx data should subtract the encoding overhead (as
38
+ * `CheckpointBuilder` and the network tx gas limits in `@aztec/stdlib/gas` do) rather than use this value
39
+ * directly.
40
+ */ // eslint-disable-next-line import-x/export
41
+ export const MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT = MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT_RAW;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/constants",
3
- "version": "0.0.1-commit.343b43af6",
3
+ "version": "0.0.1-commit.350e0a4d",
4
4
  "type": "module",
5
5
  "inherits": [
6
6
  "../package.common.json"
@@ -19,11 +19,11 @@
19
19
  "build": "yarn clean && ../scripts/tsc.sh",
20
20
  "build:dev": "../scripts/tsc.sh --watch",
21
21
  "clean": "rm -rf ./dest .tsbuildinfo",
22
- "remake-constants": "node --loader @swc-node/register/esm src/scripts/constants.in.ts && cd ../../l1-contracts && forge fmt",
22
+ "remake-constants": "./scripts/remake-constants.sh",
23
23
  "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
24
24
  },
25
25
  "dependencies": {
26
- "@aztec/foundation": "0.0.1-commit.343b43af6",
26
+ "@aztec/foundation": "0.0.1-commit.350e0a4d",
27
27
  "tslib": "^2.4.0"
28
28
  },
29
29
  "devDependencies": {