@aztec/accounts 0.21.0 → 0.23.0

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.
@@ -1,9 +1,47 @@
1
1
  {
2
- "noir_version": "0.23.0+ea6aebcc4e190d9dbadaf1dd0f70950651eed615",
2
+ "noir_version": "0.23.0+9a70040211d205f472aa31924649c2fef999eb49",
3
3
  "name": "EcdsaAccount",
4
4
  "functions": [
5
5
  {
6
- "name": "is_valid",
6
+ "name": "compute_note_hash_and_nullifier",
7
+ "function_type": "Unconstrained",
8
+ "is_internal": false,
9
+ "abi": {
10
+ "parameters": [
11
+ {
12
+ "name": "contract_address",
13
+ "type": {
14
+ "kind": "struct",
15
+ "path": "authwit::aztec::protocol_types::address::AztecAddress",
16
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
17
+ },
18
+ "visibility": "private"
19
+ },
20
+ { "name": "nonce", "type": { "kind": "field" }, "visibility": "private" },
21
+ { "name": "storage_slot", "type": { "kind": "field" }, "visibility": "private" },
22
+ {
23
+ "name": "serialized_note",
24
+ "type": { "kind": "array", "length": 5, "type": { "kind": "field" } },
25
+ "visibility": "private"
26
+ }
27
+ ],
28
+ "param_witnesses": {
29
+ "contract_address": [{ "start": 0, "end": 1 }],
30
+ "nonce": [{ "start": 1, "end": 2 }],
31
+ "serialized_note": [{ "start": 3, "end": 8 }],
32
+ "storage_slot": [{ "start": 2, "end": 3 }]
33
+ },
34
+ "return_type": {
35
+ "abi_type": { "kind": "array", "length": 4, "type": { "kind": "field" } },
36
+ "visibility": "public"
37
+ },
38
+ "return_witnesses": [8, 9, 10, 11]
39
+ },
40
+ "bytecode": "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",
41
+ "debug_symbols": "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oRgsoRgsoRgsoRgsoRgsoRgsoRgsoRgsoRgsoRgsoRgsoRgsoRgsoRgsoRgsoRgsoRgsoRgsoRgsoRgsoRgsoRgsoRgs+S8arOzfXxk//O2fK6RRCumUQoJSSFIKKUgh/0WDtWMhQilEKYUYpRBKsgYlWYOSrEFJ1qAka1CSNSnJmpRkTUqyJiVZk5KsSUnWpCRrUpI1KcmalGQtSrIWJVmLkqxFSdaiJGtRkrUoyVqUZC1KshYkWXWBJKsukGTVBZKsukCSVRdIsuoCSVZdIMmqCyRZdYEkqy6UZBVKsgolWYWSrEJJVqEkq1CSVSjJKpRkFUqyCiVZlZKsSklWpSSrUpJVKcmqlGRVSrIqJVmVkqxKSVajJKtRktUoyWqUZDVKsholWY2SrEZJVqMkq1GS1SnJ6pRkdUqyOiVZnZKsTklWpySrU5LVKcnqlGRtlGRtlGRtlGRtlGRtlGRtlGRtlGRtlGRtlGRtlGTtlGTtlGTtlGTtlGSlGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCylGCyjGCyjGCyjGCyjGCxbIMlqFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFINlFIPlFIPlFIPlFIPlFIPlCyRZnWKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKwnGKw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JCvEYK2FUJIVYrDWQijJCjFYayGUZIUYrLUQSrJCDNZaCCVZIQZrLYSSrBCDtRZCSVaIwVoLoSQrxGCthVCSFWKw1kIoyQoxWGshlGSFGKy1EEqyQgzWWgglWSEGay2EkqwQg7UWQklWiMFaC6EkK8RgrYVQkhVisNZCKMkKMVhrIZRkhRistRBKskIM1loIJVkhBmsthJKsEIO1FkJJVojBWguhJCvEYK2FUJIVYrDWQijJCjFYayGUZIUYrLUQSrJCDNZaCCVZIQZrLYSSrBCDtRZCSVaIwVoLoSQrxGCthVCSFWKw1kIoyQoxWGshlGSFGKy1EEqyQgzWWgglWSEGay2EkqwQg7UWAklWoRgsoRgsoRgsoRgsWSDJKhSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDJRSDpRSDpRSDpRSDpRSDpQskWZVisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisJRisHTbYPkij5/gS68/lPN4Y/vsG/tn3xiffWNuv7Hy8UZpuvnG+twbbdvouHR9vNFU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r33V7de+6vZrX3X7ta+6/dpX3X7tq26/9lW3X/uq26991Y1rX3Xj2lfduPZVN6591T3860R2Lv/aV9249lU3rn3VjWtfdePaV9289lU3r33VzWtfdfPaV93DH3q/c/nXvurmta+6ee2rbl77qpvXvurWta+6de2rbl37qlvXvuoe/ijmncu/9lW3rn3VrWtfdevaV9269FU3lktfdWO59FU3lktfdWO59FU3lktfdWO59FU3lktfdWO59FU3lktfdWO59lVXrn3VlWtfdeXaV1259lX38MfV7Vz+ta+6cu2rrlz7qivXvurKta+6eu2rrl77qqvXvurqta+6hz/4aufyr33V1WtfdfXaV1299lVXr33VtWtfda/9bKq49rOp4trPpoprP5sqrv1sqrj2s6ni2s+mims/myqu/WyquPazqeLaz6aKaz+bKq79bKq49rOp4trPpoprP5sqrv1sqrj2s6ni2s+mims/myqu/WyquPazqeLaz6aKaz+bKq79bKq49rOp4trPpoprP5sqrv1sqjj+2VQff7Vp9Bflv/MVCHH8A6q+YA16gzXYDdbgN1hDu8Ea+g3WEDdYQ95gDXX9NcQNrtNxg+t03OA6HTe4Th//hKsvWMMNrtNxg+t03OA6HTe4Tsf1r9O53OiLLssfZVTUiyr8+Vr1eFWFaMmjkVrxh1c/+nijr8Q8tY83+vLMU/t4o6+kP7OPcqMvrz+1jzf6mvtT+6izj2/0Mf2jj7nZR5t93KWPPvu4Sx/b7OMufZznmX36OM8z+/Rxnmd+rY+2bM898zyzSx91nmf26eM8z7zRR9N89tGXzT7O88xbfbSPPspmH+d5Zp8++uzjG33M5dnH7Jt9nOeZffo4zzP79HGeZ/bp4zzPvNPH+LjO5Pb8OM8zu/TR5nlmnz7O88w+fZznmX36OM8z+/TRZx9/rY+1OffYPM/s08d5ntmnj/M880Yf1xU++uham32c55m3+qjPPtrmfVyb55ld+ujzPLNPH+d55p0++kcfm272cZ5n9unjPM/s00effdylj/M8s08fd5gfrexx292q1VmLff3h4z2e2HWZxe7xfK/rLFZGWqyOtFgbabF+n8W+/GjpHk8xu85i+0iLjZEWe6MJ6vVibzRBvVxsv9EE9fIDwf1GE9Trxd5ognq92PtMUK8/j73H8+Qwi331Yd9+nwnqjcXeZ4J6/THFfp8J6o3F3meCemOx95mgXi827jNBvf6oUtxngnpjsfeZoN5Y7I0mqNeL9ZEWe6MJ6vVibzRBvfyAWdxognq92BtNUK8Xe58J6vXn+/I+E9TrDz3lfSaoNxZ7nwnqjcXeZ4J6/ZmK9JEWe58J6o3F3meCemOx95mgXi+29rjO9nx+RCz8xYe+dHn+1ev/9c2aBFiTAmsyYE0OrKkdXlPZs6btf2OtDqwpgDUlsKbC1VTLAqzp+BzP/lFTbdakwJoMWJMDa2rAmjqwpgDWlMCaileTLMCaTshxedaUulmTAmsyYE0OrKkBa+rAmgJYUwJrKl5NugBrAua4AnNcgTmuwBxXYI4rMMcVmOMKzHEF5rgBc9yAOW7AHDdgjhswxw2Y4wbMcQPmuAFz3IA57sAcd2COOzDHHZjjDsxxB+a4A3Pcj84nyajvL5bMLeVVbQHWJMCaFFiTAWs6Op9k/aeLR03rHd7Nmhqwpg6sKYA1JbCm4tXUD8/xWuyjpr5ZkwBrUmBNBqzJgTU1YE0dWFMAa0pgTcWrKY6fx+v5jI/c/hxGCLAmBdZkwJocWFMD1tSBNQWwpgTWVLyaEpjjCczxBOZ4AnM8gTmewBxPYI4nMMcTmOMJzPEC5ngBc7yAOV7AHC9gjhcwxwuY4wXM8QLmeOFy3JcFl+NrTbgcX2vC5fhaEy7H15pwOb7WhMvxtaY98imWH2ryFzUtz+cziz1f2u1ZUMEK2kXe7VqQ0ApSWkF2dEH2/HcDz62CnFZQoxXUaQUFraCkFXR4Un887f6HhwN+FKQLrSChFaS0goxWkNMKarSCOq2goBWUtIJoSW20pDZaUhstqY2W1EZLaqMltdGS2mhJbbSkNlpSOy2pnZbUTktqpyW105LaaUnttKR2WlI7LamdltSNltSNltSNltSNltSNltT/grw9mWOTj2/2yf58V37qXfWZd/0L2PXqXfKpd+mn3mWfetfmfwrt+Q+Kfdl8V/vUu/qn3hWfeld+6l31mXdtY5GX79r8b6M/v1Okq2y9Sz/1LvvUu/xT72qfelf/1LviU+/a/G+jx/Ndufmu+sy7tj+A/vJd8ql36afeZZ96l3/qXdv/beTzN6W2flO2P0z88l3xqXflp95Vn3nX9odaX75Lfu1dv/32/wA="
42
+ },
43
+ {
44
+ "name": "entrypoint",
7
45
  "function_type": "Secret",
8
46
  "is_internal": false,
9
47
  "abi": {
@@ -182,7 +220,23 @@
182
220
  { "name": "chain_id", "type": { "kind": "field" } },
183
221
  { "name": "version", "type": { "kind": "field" } },
184
222
  { "name": "block_number", "type": { "kind": "field" } },
185
- { "name": "timestamp", "type": { "kind": "field" } }
223
+ { "name": "timestamp", "type": { "kind": "field" } },
224
+ {
225
+ "name": "coinbase",
226
+ "type": {
227
+ "kind": "struct",
228
+ "path": "authwit::aztec::protocol_types::address::EthAddress",
229
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
230
+ }
231
+ },
232
+ {
233
+ "name": "fee_recipient",
234
+ "type": {
235
+ "kind": "struct",
236
+ "path": "authwit::aztec::protocol_types::address::AztecAddress",
237
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
238
+ }
239
+ }
186
240
  ]
187
241
  }
188
242
  }
@@ -196,7 +250,7 @@
196
250
  "path": "authwit::aztec::protocol_types::contrakt::deployment_data::ContractDeploymentData",
197
251
  "fields": [
198
252
  {
199
- "name": "deployer_public_key",
253
+ "name": "public_key",
200
254
  "type": {
201
255
  "kind": "struct",
202
256
  "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint",
@@ -206,8 +260,15 @@
206
260
  ]
207
261
  }
208
262
  },
209
- { "name": "constructor_vk_hash", "type": { "kind": "field" } },
210
- { "name": "function_tree_root", "type": { "kind": "field" } },
263
+ { "name": "initialization_hash", "type": { "kind": "field" } },
264
+ {
265
+ "name": "contract_class_id",
266
+ "type": {
267
+ "kind": "struct",
268
+ "path": "authwit::aztec::protocol_types::contract_class::ContractClassId",
269
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
270
+ }
271
+ },
211
272
  { "name": "contract_address_salt", "type": { "kind": "field" } },
212
273
  {
213
274
  "name": "portal_contract_address",
@@ -235,9 +296,52 @@
235
296
  },
236
297
  "visibility": "private"
237
298
  },
238
- { "name": "message_hash", "type": { "kind": "field" }, "visibility": "private" }
299
+ {
300
+ "name": "payload",
301
+ "type": {
302
+ "kind": "struct",
303
+ "path": "authwit::entrypoint::EntrypointPayload",
304
+ "fields": [
305
+ {
306
+ "name": "function_calls",
307
+ "type": {
308
+ "kind": "array",
309
+ "length": 4,
310
+ "type": {
311
+ "kind": "struct",
312
+ "path": "authwit::entrypoint::FunctionCall",
313
+ "fields": [
314
+ { "name": "args_hash", "type": { "kind": "field" } },
315
+ {
316
+ "name": "function_selector",
317
+ "type": {
318
+ "kind": "struct",
319
+ "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector",
320
+ "fields": [
321
+ { "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }
322
+ ]
323
+ }
324
+ },
325
+ {
326
+ "name": "target_address",
327
+ "type": {
328
+ "kind": "struct",
329
+ "path": "authwit::aztec::protocol_types::address::AztecAddress",
330
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
331
+ }
332
+ },
333
+ { "name": "is_public", "type": { "kind": "boolean" } }
334
+ ]
335
+ }
336
+ }
337
+ },
338
+ { "name": "nonce", "type": { "kind": "field" } }
339
+ ]
340
+ },
341
+ "visibility": "public"
342
+ }
239
343
  ],
240
- "param_witnesses": { "inputs": [{ "start": 0, "end": 34 }], "message_hash": [{ "start": 34, "end": 35 }] },
344
+ "param_witnesses": { "inputs": [{ "start": 0, "end": 36 }], "payload": [{ "start": 36, "end": 53 }] },
241
345
  "return_type": {
242
346
  "abi_type": {
243
347
  "kind": "struct",
@@ -293,6 +397,7 @@
293
397
  },
294
398
  { "name": "args_hash", "type": { "kind": "field" } },
295
399
  { "name": "return_values", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } },
400
+ { "name": "meta_hwm", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } },
296
401
  {
297
402
  "name": "read_requests",
298
403
  "type": {
@@ -509,7 +614,23 @@
509
614
  { "name": "chain_id", "type": { "kind": "field" } },
510
615
  { "name": "version", "type": { "kind": "field" } },
511
616
  { "name": "block_number", "type": { "kind": "field" } },
512
- { "name": "timestamp", "type": { "kind": "field" } }
617
+ { "name": "timestamp", "type": { "kind": "field" } },
618
+ {
619
+ "name": "coinbase",
620
+ "type": {
621
+ "kind": "struct",
622
+ "path": "authwit::aztec::protocol_types::address::EthAddress",
623
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
624
+ }
625
+ },
626
+ {
627
+ "name": "fee_recipient",
628
+ "type": {
629
+ "kind": "struct",
630
+ "path": "authwit::aztec::protocol_types::address::AztecAddress",
631
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
632
+ }
633
+ }
513
634
  ]
514
635
  }
515
636
  }
@@ -523,7 +644,7 @@
523
644
  "path": "authwit::aztec::protocol_types::contrakt::deployment_data::ContractDeploymentData",
524
645
  "fields": [
525
646
  {
526
- "name": "deployer_public_key",
647
+ "name": "public_key",
527
648
  "type": {
528
649
  "kind": "struct",
529
650
  "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint",
@@ -533,8 +654,15 @@
533
654
  ]
534
655
  }
535
656
  },
536
- { "name": "constructor_vk_hash", "type": { "kind": "field" } },
537
- { "name": "function_tree_root", "type": { "kind": "field" } },
657
+ { "name": "initialization_hash", "type": { "kind": "field" } },
658
+ {
659
+ "name": "contract_class_id",
660
+ "type": {
661
+ "kind": "struct",
662
+ "path": "authwit::aztec::protocol_types::contract_class::ContractClassId",
663
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
664
+ }
665
+ },
538
666
  { "name": "contract_address_salt", "type": { "kind": "field" } },
539
667
  {
540
668
  "name": "portal_contract_address",
@@ -554,22 +682,22 @@
554
682
  "visibility": "public"
555
683
  },
556
684
  "return_witnesses": [
557
- 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257,
558
- 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275,
559
- 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293,
560
- 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311,
561
- 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329,
562
- 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347,
563
- 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365,
564
- 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383,
565
- 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401,
566
- 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419,
567
- 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437,
568
- 1438, 1439, 1440, 1441, 1442, 1443
685
+ 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055,
686
+ 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073,
687
+ 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091,
688
+ 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109,
689
+ 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127,
690
+ 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145,
691
+ 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163,
692
+ 2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181,
693
+ 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2194, 2195, 2196, 2197, 2198, 2199,
694
+ 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217,
695
+ 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2235,
696
+ 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244
569
697
  ]
570
698
  },
571
- "bytecode": "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",
572
- "debug_symbols": "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L0PSc2+5gORlSHruLReRvAxJz73lQpKXIem5t1xM8jIkPfeWC0pehqTn3nJRycuQ9NxbLix5GZKee8vFJX99ObLckOQCk5ch6bm3XGTyMiQ995YLTV6GpOfecrHJy5D03FsuOHkZkp57y0UnL0PSc2+58ORlSHruLRefvAxJz73lApSXIem5t1yE8jIkPfeWC1FehqTn3nIxysuQ9NxbLkh5GZKee8tFKS9D0nNvuTDlZUh67i0Xp7wMSc+95QKVlyHpubdcpPIyJD33lgtVXoak595yscrLkPTcWy5YeRmSnnvLRSsvQ9Jzb7lw5WVIeu4tF6+8DEnPveUClpch6bm3XMTyMiQ995YLWV6GpOfecjHLy5D03FsuaPnr707rDUnPvfWylqaXtTS9rKXpZS1NL2t5+Vd5vSHJubfpZS1NL2tpellL08taml7W0vSylqaXtTS9rKXpZS1NL2tpellL08taml7W0vSylqaXtTS9rKXpZS1NL2tpellL08taml7W0vSylqaXtTS9rKXpZS1NL2tpellL08taml7W0vSylqaXtTS9rKXpZS1NL2tpellL08taml7W0vSylqaXtTS9rKXpZS1NL2tpellL08taml7W0vSylqaXtTS9rKXpZS1NL2tpellL08taml7W0vSylqaXtTS9rKXpZS1NL2tpellL08taml7W0vSylqaXtTS9rKXpZS1NL2tpellL08taml7W0vSylqaXtTS9rKXpZS1NL2tpellL08taml7W0vSylqaXtTS9rKXpZS1NL2tpellL08taml7W0vSylqaXtTS9rKXpZS1NL2tpellL08taml7W0vSylq6XtXS9rKXrZS1dL2vph5x7u17W0vWylq6XtXS9rKXrZS1dL2vpellL18taul7W0vWylq6XtXS9rKXrZS1dL2vpellL18taul7W0vWylq6XtXS9rKXrZS1dL2vpellL18taul7W0vWylq6XtXS9rKXrZS1dL2vpellL18taul7W0vWylq6XtXS9rKXrZS1dL2vpellL18taul7W0vWylq6XtXS9rKXrZS1dL2vpellL18taul7W0vWylq6XtXS9rKXrZS1dL2vpellL18taul7W0vWylq6XtXS9rKXrZS1dL2vpellL18taul7W0vWylq6XtXS9rKXrZS1dL2vpellL18taul7W0vWy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"
699
+ "bytecode": "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",
700
+ "debug_symbols": "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3/WD/V0/2N/1g/1dP9jf9YP9XT/Y3/WD/V0/2N/1g/1dP9jf9YP9XT/Y3/WD/V0/2N/1g/3dMNjfDYP93TDY3w2D/d0w2N8Ng/3dMNjfDYP93TDY3w2D/d0w2N8Ng/3dMNjfDYP93TDY3w2D/d0w2N8Ng/3dMNjfDYP93TDY3w2D/d0w2N8Ng/3dMNjfDYP93TDY3w2D/d0w2N8Ng/3dMNjfDYP93TDY3w2D/d0w2N8Ng/3dMNjfDYP93TBqsTDY3w2D/d0w2N8Ng/3dMNjfDYP93TDY3w2D/d0w2N8Ng/3dMNjfDYP93TDY3w2D/d0w2N8Ng/3dMNjfDYP93TDY3w2D/d0w2N8Ng/3dMNjfDYP93TDY3w2D/d0w2N8Ng/3dMNjfDYP93TDY3w2D/d0w2N8Ng/3dMNjfDYP93TDY3w2D/d0w2N8Ng/3dMNjfDYP93TDY3w2D/d0w2N8Ng/3dMNjfDYP93TDY3w2D/d0w2N8Ng/3dMNjfDYP93TDY3w2D/d0w2N8Ng/3dMNjfDYP93TDY342D/d042N+Ng/3dONjfjYP93TjY342D/d042N+Ng/3dONjfjYP93TjY342D/d042N+Ng/3dONjfjYP93TjY342D/d042N+Ng/3dONjfjYP93TjY342D/d042N+Ng/3dONjfjYP93TjY342D/d042N+Ng/3dONjfjYP93TjY342D/d042N+Ng/3dOOqhO2qiO+qiO2qjO+yjO7hfRp10R610R710R810B/u7cbC/Gwf7u3GwvxsH+7txsL8bB/u7cbC/Gwf7u3GwvxsH+7txsL8bB/u7cbC/Gwf7u3GwvxsH+7txsL8bB/u7cbC/Gwf7u3GwvxsH+7txsL8bB/u7cbC/Gwf7u3GwvxsH+7txsL8bB/u7cbC/Gwf7u3GwvxsH+7txsL8bB/u7cbC/Gwf7u3GwvxsH+7txsL8bB/u7cbC/Gwf7u3GwvxsH+7txsL8bB/u7cbC/Gwf7u2mwv5sG+7tpsL+bBvu7abC/mwb7u2mwv5sG+7tpsL+bBvu7abC/mwb7u2mwv5sG+7tpsL+bBvu7abC/mwb7u2mwv5sG+7tpsL+bBvu7abC/mwb7u2mwv5sG+7tpsL+bBvu7abC/mwb7u2mwv5sG+7tpsL+bBvu7abC/mwb7u2mwv5sG+7tpsL+bBvu7abC/mwb7u2mwv5sG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o861jjrXOupc66hzraPOtY4613rqXOupc63HPe/P31gOHve874ke98w5f3MzeNwzpyP6gHvm9ESPe+b0RI+r73uix9X3PdHjnvfn7yGFgHve90SPq+97osfV9z3RA+fajuiBc+159BE413ZED5xrO6IHzrUd0QPn2o7oqXNtpM61kTrXRpRc+xERSv78iGhyTvzO+44xvDyXY/Ifn07hI/60kcfvyOP35PEH8vgjefyJPP4MHL/bPuIPn+L/89MtPjutLb1F8VjlA2tRhLUqwoqsAeoH1hb2f4MZWQP0xI+sAXriR9YAPfEja4Ce+CN5/MgaoCd+ZA3wEX/a3EH8yHm9J37kXN0TP3D+Tf51nXuK2378BTj/dsUPnH+74gfOv13xA+ffrviB829X/MD5tyt+4Pz7Kf56ED9w/u2KHzj/dsWPnH9fl+y51A70Q0XOvz3xI+ffnviR829P/Mj5tyd+5PzbEz9y/u2JHzn/vsffDuJHzr898SPn3574r8y/r1XaNmWVn+ey8rqhK4Rw9l2cOsQEAc8a6YjC3IhkZz0EPGvujD5RR5+poy/U0Vfq6Btx9FHAs+bO6B119J46euZcGzfmXBs35lwbN+ZcGzfmXBs35lwbN+pc66hzraPOtY461zrqXCvgWXNn9NS51lHnWkedax11rnXUudZT51pPnWs9da711LlWwC/ozuipc62nzrWeOtd66lzrqXNtoM61gTrXBupcG6hzrYBX053RU+faQJ1rA3WuDdS5NlDn2kidayN1ro3UuTZS51oBr6Y7o6fOtZE610bqXBupc22kzrWJOtcm6lybqHNtos61As5Pd0ZPnWsTda5N1Lk2UefaRJ1rM3WuzdS5NlPn2kydawUclu6MnjrXZupcm6lzbabOtZk61xbqXFuoc22hzrWFOtcKuCndGT11ri3UubZQ59pCnWsLda6t1Lm2UufaSp1rK3WuFXBOujN66lxbqXNtpc61lTrXVupc26hzbaPOtY0611L7RkVq36hI7RsVqX2jIrVvVKT2jYrUvlGJ2jcqUftGJWrfqETtG5U25lybqH2jErVvVKL2jUrUvlGJ2jcqUftGJWrfqETtG5WofaMStW9UovaNStS+UYnaNypR+0Ylat+oRO0blah9oxK1b1Si9o1K1L5Rido3KlH7RiVq36hE7RuVqH2jErVvVKL2jUrU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Sj3C58661JZSj/C5sy61qdQjfO6sS20r9QifO+tSG0s9wufOutTWUo/wubMutbnUI3zurEttL/UInzvrUhtMPcLnzrrUFlOP8LmzLrXJ1CN87qxLbTP1CJ8761IbTT3C58661FZTj/C5sy612dQjfO6sS2039QifO+tSG049wufOutSWU4/wubMutenUI3zurEttO/UInzvrUhtPPcLnzrrU1lOP8LmzLrX51CN87qxLbT/1CJ8761IbUD3C58661BZUj/C5sy61CdUjfO6sS21D9QifO+tSG1E9wufOutRWVI/wubMutRnVI3zurEttR/UInzvrUhtSPcLnzrrUllSP8LmzLrUp1SN87qxLbUv1CJ8761IbUz3C58661NZUj/Cps67j9qZy3N5UjtubynF7U7mNOus6bm8qx+1N5bi9qRy3N5Xj9qZy3N5UjtubynF7UzlubyrH7U3luL2pHLc3leP2pnLc3lSO25vKcXtTOW5vKsftTeW4vakctzeV4/amctzeVI7bm8pxe1M5bm8qx+1N5bi9qRy3N5Xj9qZy3N5UjtubynF7UzlubyrH7U3luL2pHLc3leP2pnLc3lSO25vKcXtTOW5vKsftTeW4vakctzeV4/amctzeVI7bm8pxe1M5bm8qx+1N5bi9qRy3N5Xj9qZy3N5UjtubynF7UzlubyrH7U3luL2pHLc3leP2pnLc3lSO25vKcXtTOW5vKsftTeW4vakctzeV4/amctzeVI7bm8pxe1M5bm8qx+1N5bi9qRy3N5Xj9qZy3N5UjtubynF7UzlubyrH7U3luL2pHLc3leP2pnLc3lSO25vKcXtTOW5vKsftTeW4vakctzeV4/amctzeVI7bm8pze1N5bm8qz+1N5bm9qfxGnXU9tzeV5/am8tzeVJ7bm8pze1N5bm8qz+1N5bm9qTy3N5Xn9qby3N5UntubynN7U3lubyrP7U3lub2pPLc3lef2pvLc3lSe25vKc3tTeW5vKs/tTeW5vak8tzeV5/am8tzeVJ7bm8pze1N5YHek0MLvz4Z2GD7uud8TPrA/T3T592ejK0fh4548XeHjnjxd4eOePF3hR+7wcfV+V/i4537M5Rl+DUfh4577XeHj6v2u8HH1fk/4wP48XeEDZ92e8IGzbk/4wFm3J3zgrNsTPnDW7QmfO+sC+/N0hc+ddWH8eT5C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l7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtnnV5q2dd3upZl7d61uWtXnR5qxdd3upFl7d60eWtXraoC64qVVV0easXXd7qRZe3etHlrV50easXXd7qRZe3etHlrV50easXXd7qRZe3etHlrV50easXXd7qRZe3etHlrV50easXXd7qRZe3etHlrV50easXXd7qRZe3etHlrV50easXXd7qRZe3etHlrV50easXXd7qRZe3etHlrV50easXXd7qRZe3etHlrV50easXXd7qRZe3etHlrV50easXXd7qRZe3etHlrV50easXXd7qRZe3etHlrV50easXXd7qRZe3etHlrV50easXXd7qRZe3etHlrV50easXXd7qRZe3etHlrV50easXXd7qRZe3etHlrV50easXXd7qRZe3etHlrV50easXXd7qRZe3etHlrV50easXXd7qZRk76uqfH67+819+A7tKGuoCu8oxVWN+hhzLEdhVDqkusKscUT1gl7Ep7gK7StHXBZaz5HsDwJk73wAA58MU/OvDbTvTOsm3p9ZJ5e1vx08bDrgsuwIucFl2BVxgvXMFXGDFcwVcYM0jD7ci2whfARdY91wBF1j5XAEXWCddATfqgqtKVVVkG+Er4KpSVRXZRvgKuLpUFbKN8BVwdakqZBvhK+DqUlXINsJXwNWlqpBthK+Aq0tVIdsIXwFXl6pCthG+Aq4uVYVsI3wFXF2qCtl59VtwO96Iqci+q+JgkX05vwf2/FWCiuzKKQ92lSOqC2zUBHaVoq8LLGfJ9waAM3e+AQDOh8W754cf2e5ku8Vcfn/407tOn7cbcFEmDhbZLVMeLLDSkQcLrHTkwQIrHXmwURNYYKUjDxZY6ciDBVZF8mA1KShkb0xxsMjOmPJgNSkoZFdMebCaFBSyI6Y8WE0KCtkNUx6sJgWF7IQpD1aTgkJ2wZQHq0lBITtgyoPVpKCQ3S/lwWpSUMjOl/JgNSkoZNdLebCaFBSy46U8WE0KCtntUh6sJgWF7HQpD1aTgkJ2uZQHq0lBITtcyoPVpKCqJgVVNSmoqklBIZu0yoONmsBqUlBVk4JCtt+VB6tJQSHb74qDRbbflQerSUEh2+/Kg9WkoJBtfeXBalJQyJa+8mA1KShkO195sIoUVEO28pUHq0hBNWQbX3mwihRU26ImsIoUVEO275UHq0hBNWTrXnmwmhQUsm2vPFhNCgrZslcerCYFhWzXKw9Wk4JCtuqVB6tJQSHb9MqD1aSgkC165cFqUlDI9rzyYDUpKB81gdWkoLwmBYXsMC0PVpOC8poUVNCkoJC9w+XBalJQyN7h8mCjJrCaFBSyd7g8WE0KSpMnedPkSd40eZI3TZ7kTZMnedPkSd40eZI3TZ7kTZMnedPkSd40eZI3TZ7kTZMnedPkSd40eZI3TZ7kTZMnedPkSd40eZI3TZ7kTZMnedPkSd40eZI3TZ7kTZMnedPkSd40eZI3TZ7kTZMnedPkSd40eZI3TZ7kTZMnedPkSd40eZI3TZ7kTZMnedPkSd40eZI3TZ7kTZMnedPkSd40eZK3ZcycH594huzjEdhVUk8X2FUOqBrzM+RYjsCuckD1gF3G8rcL7ColXhfYVUq8LrCcJd4bAM7c+QYAOB/W9ExxudV8st18KOEVR21vcfh3uMDF2BVwgcuxK+AC650r4AIrHnG4fkM26b0CLrDquQIusO65Ai6w8rkCbtQFV5OqesDVpKoecDWpqgdcTarqAVeXqkI27r0Cri5VhWzeewVcXaoK2cD3Cri6VBWyie8VcHWpKmQj3yvg6lJVyGa+V8DVpaqQDX2vgKtLVSGb+l4BV5eqQjb2vQKuLlWFbO57BVxdqgrZ4PcKuLpUFbLJ7xVwdakqZKPfK+DqUlXIZr9XwNWlqpANf6+Aq0tVIZv+XgFXl6pCNv69Aq4uVYVs/nsFXF2qCtkA+Aq4ulQVsgnwFXB1qSpkI+Ar4OpSVchmwFfA1aWqkA2Br4CrS1UhmwJfAVeXqkI2Br4Cri5VhWwOfAVcXaoK2SD4Cri6VBWySfAVcHWpKmSj4Cvg6lJVyGbBV8DVpaqQDYOvgKtLVSGbBl8BV5eqQjYOvgKuLlWFbB58BVxdqgrZQPgKuLpUFbKJ8BVwdamqqktVVV2qCtkT+wq4ulRV1aWqqi5Vhex6fgVcXaoK2fn8Cri6VBWy+/kVcHWpKmS39Cvg6lJVqrzVH3B1qSpV3uoPuKpUldPlre50eas7Xd7qTpe3utuiLriqVJXT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmrO13e6k6Xt7rT5a3udHmre13e6l6Xt7pfxo66+ueHq//8l9/ArpKGusCuckzVmJ8hx3IAdhmr4i6wqxxRXWBXKfu6wK5S9HWBjZRg3wBw5s43ALj5sGy+/P5w2d7Vy/h2wy3KLgCLW5JdABZX6ciDBbYPvgAsrtK5ACyu0rkALK7SuQBs1AQWVxVdAFaTggI2DL4ArCYFBWwWLA8W2Cr4ArCaFBSwTfAFYDUpKGCL4AvAalJQwPbAF4DVpKCArYEvAKtJQQHbAl8AVpOCArYEvgCsJgUFbAd8AVhNCgrYLPZ7YEN7/ptlaEdvtQBbxcqDBbYS/R7Y6J7bOLqjbQxsJHoB2FVO4y6wq5zGXWBXqWe7wK5Sz3aBXSXPxvz8cKzhCOwqebYHLLB16AVgV6lnu8Auo6B6wC6joHrARk1gl1FQPWCXUVA9YJdRUD1gNSkoYKNQebDANqEXgOVUUG8AOFXRGwBgpfP4E08ALh4CiOwAgBWJ8+0FoG3//HmHHdhq8wKwwIpEHiywIpEHC6xIxMECW2xeABZYkciDBVYv8mCRlY442KgJrCYFBWyreQFYTQoK2FLzArCaFBSwneYFYDUpKGArzQvAalJQwDaaF4DVpKCALTQvAKtJQQHbZ14AVpGCCsDWmReAVaSgwqZIQYVNkYIKW9QEdpU82zFNEbZV8mwPWGCP0O+B7XgzOwB7hF4AdpXTuAvsKqdxF9hV6tkusKvUs11gV8mzHa/HBWTvUXmwq9SzPWCRvUflwS6joHrALqOgesAuo6B6wEZNYJdRUD1gl1FQPWA1KShk71F5sJoUFLL36Bdg3wBwqqI3AMBKx0f/BOBjOAIArF76AERgAK+LtYovReIHD6xI5MECKxJ5sMCKRB4ssCKRBwusSMTBInt5yoMFVi/yYJGVjjhYZFUkDjZqAqtJQUVNCipqUlDILq3yYDUpqKRJQSVNCgrZf1cerCYFhey/Kw9Wk4JCdmn9FtietzyRXVrFwSJ7eX5vG3e8MYbs5SkPdpnTuAfsMqdxD9hl6tkesMvUsz1gNdWzyF6e4mCRvTzlwWqqZ5F9P+XBaqpnkf1E5cFyKqg3AJyq6A0Ap9J5A8CpXt4AACuS8JKPJfgzw23vnyH7wzFlZC9PebDAikQeLLAikQcLrEjkwUZNYIEVyffApqf88uVIfiF7ecqDBVY68mCBVZE82GUUVAdYZC9PebDLKKgesMsoqB6wJAoq5IOyDdmfsw8AidI5BoCsXtr2AtDcEQBkRdIFAFllFPcE8PhHsH/+vFeJ7HcpDTYi+13Kg0VWGeJgkVWGOFhklSEONmoCi6xexMEiKx1xsMiqSBysIgUVN00KymlSUMgetfJgNSkoZI9aebBRE1hNCgrZo1YerCYFhexRKw9Wk4JCdjL9FtiOkaiI7GQqD3aZ0/h8vCIi+13Kg13mNO4Bu8xp3AEW2e9SHuwy9WwPWE31LLLnpjzYqAmspnoW2Z9THqymehbZn1MerKZ6FtmfUx6spn8RQPbnlAerSUEh+3PKg+VUUG8AOFXRGwBgpRPL60aA+P5a92cAwOqlDwCwIonpNU4cWxX4wSP7XcqDBVYk8mCBFYk8WGBFIg82agILrEjkwQKrF3mwyEpHHCyyKhIHq0lBZU0KKmtSUMgetfJgNSkoZI9aebCaFBSyR608WE0KCtmjVh6sJgWF7FErD3aVPNvzlieyk6k82GVO4443xpA9N+XBLnMad4BF9ueUB7tMPdsDdpl6tgespnoW2Z9THqymehbZn1MerKZ6FtmfUx6spnoW2Z/zC7BvADhV0RsATqXzBoBTvbwBiLgAUnz+5ZLS2R0mHY7hEdlHUx4ssCKRBwusSOTBAisSebDAikQabEL28vwe2HNf6YTs5SkPFljpfAH2DQCw0ukDEHEB5O0ZRcmuShwkwEpHHiyw0pEHC6x05MECKx15sMBKRxwssufm98B2JH9kz015sMBKRx4ssCqSBxs1gV1GQfWAXUZB9YDlVFBvADhV0RsAZKWTXsPfuW0n2y2/tltO9WC7eWSlIw4WWel8C2zcXn85nPzl4yjeiEFWRbcSg6ygbiUmGjH7xCArs1uJQVZxtxKDrPhuJQZZSd5KzDIKVZgYZG/he4kx5XtAjCnfA2JM+R4QE42YfWJM+R4QY8r3gBhTvgfEmPI9IMaU7z4xyJ7Q9xJjyveAGFO+B8SY8j0gJhox+8SY8j0gxpTvATGmfA+IMeV7QIwp331ikL3H7yXGlO8BMaZ8D4gx5XtATDRi9okx5XtAjCnfA2JM+R4QY8r3gBhTvvvEIHvG30uMKd8DYkz5HhBjyveAmGjE7BNjyveAGFO+B8SY8j0gxpTvATGmfPeJQfb6v5cYU74HxJjyPSDGlO8BMdGI2SfGlO8BMaZ8D4gx5XtAjCnfA2JM+e4Tg3yvyr3EmPI9IMaU7wExpnwPiIlGzD4xpnwPiDHle0CMKd8DYkz5HhBjynefGOT7cO4lxpTvATGmfA+IMeV7QEw0YvaJMeV7QIwp3wNiTPkeEGPK94AYU767xGTke5fuJcaU7wExpnwPiDHle0BMNGL2iTHle0CMKd8DYkz5HhBjyveAGFO++8RA38N1KzGmfA+IMeV7QIwp3wNiohGzT4xGHRNa+P3Z0A6J0ahjeohReb9SdPn3Z6MrR8RozEpdxGjMSl3EaMxKXcRo7Md0EaOxH9NFjEYdE/PzOsRYwxExGnVMFzEa+zE9xKi8X6mLGJXKt4cYlcq3hxiVyreHmGjE7BOjUvn2EKNS+fYQY8r3gBhTvgfEmPLdJ0bB/UpvYNdXs29gl1Go3/jLLhf/+8OP/3yLeSvv1CyjUeWpiUbNETXL6FR5apZRqvLULKNVv0NNCc8PP/6zHVGzjFqVp2YZvfotatz2oqZ+/kH9+enUnn85tTca3fZG4zp3KN1L4zK6+V4aVSpyeRpVqnd5GqPRKEGjyqpAnkaVFYQ8jTqrDXEadVYm4jRaFSNB4zr3Yd1Lo1UxIjRaFSNCo1UxIjRGo1GCRqtiRGi0KkaERqtiRGi0KkaERqtiJGhc56aq62h8AUzvn/1Mo+lGERotU4v8qC1Ti9BomVqERsvUEjSucxfTvTRav/Hopbh17m6Sp8b03SE1USM1dXu9ZVrjITUq+3d91KhU+n3UqFTv9ZW7H/959ALuOvc4yVOjUmXX8spQLfh//lwernPv0700qlTZ8jSqVOTyNKpU7/I0RqNRgkadVYE4jTorCHEadVYb4jTqrEzEabQqRoDGss4dXvfSaFWMCI1WxYjQaFWMCI3RaJSg0aoYERqtihGh0aoYERqtihGh0aoYCRrXuY/tXhpNN57SeP5uclnn5q57abRMLfKjtkwtQqNlagkavWVqERqt3yhCo/UbP9P4Ro1pwUNqolFzRI3KXl97/WXXqjuiRmX/ro8alUq/jxqN6t1voT1j3uJ2RI1GRd5HzTr34X2LGude1JT4z5/Lw3Vuz7uXRo0q+wIaNSryC2iMRqMEjRqV/gU0aqwKLqBRYwVxAY06qw1xGnVWJtI0rnO34b00WhUjQqNVMSI0WhUjQmM0GiVotCpGhEarYkRotCpGhEarYkRotCpGgkaVd1heQKNVMSI0WhUjQqNVMSI0RqNRgkarYkRotCpGhEarYkRotCpGhEarYiRoVHmH5QU0WhUjQqNVMSI0WhUjQmM0GiVotCpGhEarYkRotCpGhEarYkRotCpGgsZiVYwIjVbFiNBoVYwIjVbFiNAYjUYJGq2KEaHRqhgRGq2KEaHRqhgRGq2KkaBR5f2+F9BoVYwIjVbFiNBoVYwIjaYbT2ns8F5VebOsPI0q7wiV/1GrvCP0AhotU4vQaJlahMZoNErQaP3GzzS+UWNa8JAa03eH1Ojs9bXwjNn5Q2p09u86qKkq79HspEalendv1LRDalQq8j5qVKpsl5/4vPftnyfy8BVGKm/+0Sm+0xiNRgkaVapseRpVKnJ5GlWqd3kaVSp9eRpVVgXiNKq8w/ICGnVWG+I06qxMxGm0KkaExmg0StBoVYwIjVbFiNBoVYwIjVbFiNBoVYwEjSrv972ARqtiRGi0KkaERqtiRGiMRuM/BWi0KkaERqtiRGi0KkaERqtiRGi0KkaCRp33J8vTaFWMCI1WxYjQaFWMCI3RaJSg0aoYERqtihGh0aoYERqtihGh0aoYCRp13p8sT6PpxlMaz70Qqs4ba+VptEx9SuP52HTVeUeoPI2WqSVo1HlHqDyN1m8UodH6jZ9pfKPGtOAhNdGoOaLGen2H1Kjs3/mSPmJ2J0d2bPl5ZG/toEbVeeemPI0qqwJ5GlVWBeI06rxzU55GlVWBPI0qqwJ5GlVWEN+i8a0p//6XP9MYjUYJGlVWJvI0WhUjQqNVMSI0WhUjQqNVMRI06rxzc5TGw7cQdN65KU+jVTEiNFoV85nGN2qiUXNEjVUbh9RYBXFIjcqqIHxQE10+ObLdB5GP/3z/9KdDW2VdcAWRKiuDC4jUeZPlFUSqrA6+R2RI25PIkNwRkSrrgyuIVFkhfJNI719EtvSJyJ2yrOPNvRqN9Pmkq6xq7iZdZb10N+lWid1AulVtN5BuFd580nXelnw36VY53kC6VZk3kG4V6Q2kRyN9PulWkd5AulWkN5BuFekNpFtFegPpVpFOJ73pvNX7btKtIr2BdKtIbyDdKtIbSDedLkz6uWtZ03lj9c2k67xR+ObjRef9w3eTburlBtJNvdxAejTS55Nu/fSfkP5GpGlvISJNTwsRab3sUyKjeyJ0MR0Saf1pGSJ13qB8BZFWiZ0SmdxruCi5fESkVVdCRFrFdP7TruVFZKqfiNz52648R5G8z+Xt0+Gd9mi030G7VU230G411i20W0V2C+1Wv91Cu1V7d9Cu817q+2m3SvIW2q3uvIV2q1JvoT0a7XfQblXqLbRblXoL7Val3kK7Vam30G5V6h2067x3/H7arUq9hXarUm+h3arUW2iPRvsdtFuVegvtVqXeQrtVqbfQblXqLbRblXoH7cmq1Ftotyr1FtqtSr2FdqtSb6E9Gu130G5V6i20W5V6C+1Wpd5Cu1Wpt9BuVeodtGerUm+h3arUW2i3KvUW2q1KvYX2aLTfQbtVqbfQblXqLbRblXoL7Val3kF7Md0uS3uPz2wx1X4D6aZihEnvMIIspmFuIN0UzA2km365gXTrsc8nvVqH/SekvxFp2luISNPTQkRaX1uIyGhEnhGZ/TMOl2s+SUyx5Wdi2t4SU/pEulV4N5BuFd4NpFuFdwPpVuHdQLpVePNJb1bh3UC6VYOypKdX0Ok9js+kW+V4A+lWZd5AejTS55NuFekNpFtFegPpVpHeQLpVpJeRXtwR6VaRziY9bJtVpDeQbhXpT0h/I9KqTCEirXI8JbJs7UlkSe3kGHA1vu58rZ8uhgzvtEej/Q7arXq8hXarH2+h3SrIW2i3GvIW2q2KlKY9vd7LqmU7oN1ZHXkL7VZJ3kK71Z230G5V6i20R6P9DtqtShWmvdT6or1+FpBjjVxnFS38V2TVL/xXZJWy8FfU8uvTrfqj/GKV8h20e6uUb6HdKuVbaLdK+RbarVK+hfZotN9Bu1XK0rTX+KK9lSParfq9hXaraG+h3arUW2i3KvUO2oNVqbfQblXqLbRblSpNu3v97ce/ln+ifaxJHKyihf+Kon1F6F+RVcqyX5Hf2utvu60e5RerlG+h3SrlW2i3SvkW2q1SvoP2aJXyLbRbpXwL7VYpC9Pu3Os2GefDEe1W/d5CezTa76DdqtRbaLcq9RbarUq9hXarUm+h3apUad0e3Yv28Fm3jzWJk1W08F+RVb/wX5FVysJfkfcvPh7rHOSXZJXyLbRHo/0O2q1SvoV2q5Rvod0q5Vtot0r5FtqtUpamPbQX7elomChb9XsL7VbR3kK7Vam30G5V6i20R6P9DtqtSr2FdqtSpf+Fq7z+hcvnz7p9rEmcraKF/4qs+oX/iqxS/vwVfVBTrJo9pEZlxRnj88M+be7sh725l9ffFt5/fumdSJU15BVEqqwKryAyGpEyRKqs3K4gUmUtdgWRKiumbxKZXp4X27vA/kykyrrmCiJVVh8XEFlV1ipXEGmVjRCRVtkIEWmVzTmRr/lb92n+9jOR0YiUIdIqGyEirbIRItIqGyEirbIRItIqm1MiXQgvImM+ILJZZSNEpFU2QkRaZSNEpFU2QkRGI1KGSKtszolsLyL9dkikVTZCRFplI0SkVTZCRFplI0Lk43+NSBkirbI5JdJn9yKyxCMirbIRItIqGyEioxEpQ6RVNkJEWmUjROT6lc0b2PWrjzewnBXCBwDHqczfAAAr4hKeI0yl1HS23eL2+svh5C/3bE0HrHDvJQZYsd5LTDRi9okBVpT3EgOsEO8lBljx3UsMsDq8lxhgJXkrMR5Yod5LjCnfA2JM+R4QY8r3gJhoxOwTY8r3gBhTvgfEmPI9IMaU7wExpnz3iQmmfA+IMeV7QIwp3wNiTPkeEBONmH1iTPkeEGPK94AYU74HxJjyPSDGlO8+MdGU7wExpnwPiDHle0CMKd8DYqIRs0+MKd8DYkz5HhBjynefGOQ7ki8jJrwGmUI7JEajjukiRmNWii7//mx05YgYjVmpixiNWamLGI1ZqYsYjf2YLmI09mN6iEG+7fI6YnJ5ElPDETEadUwXMRr7MV3EaOzHdBETjZh9YlQq3x5iVCrfHmLWV75vYNdXs29gl1Go3/jLrn4Y2tV3Q7vg3qhBvsPubmqWUany1CyjU+WpWUapylMTjZojapZRq/LULKNXv0XNS7C6WrcjapZRrPLULKNv5anRqYZ7qEG+Je1uanSq4S5qdKrhLmpUquH2+suuxXBETTRqjqhRqYb7qFGphvuoUamG+6hRqYb7qFGphruoQb5Z6zJq/La9Yt4+vdrxiRqNariTGo1quJMajWq4k5po1BxRo1ENd1KjUQ13UqNRDfvthc9vuR5Ro1ENd1KjUQ13UeORb2O6mxqdariLGp1quIsanWq4i5qokRr3+sveHTUlPPI9RXdTo1IN91GjUg33UaNSDfdRo1INd1GDfAPS3dRwquE3AJya9Q0AsLKsW3sCqN6fbE7vX2IxHkyZeuT7h+TBAqs/ebDAek4eLLBCkwcLrLnkwQKrqO+BTc833nw5GDXzyPfufAH2DQCweukDAKxeakwvAKkK/LaQ76aRBxs1gUVWOuJgkZWOOFhkpSMOFlnpfAtsT/JHVjrSYJHvWZEHi6yKxMEuo6B6wC6joHrARk1gORXUGwBOVfQGgFPpvAHgVC9vADgVyQcA5Dst+gBwKoc3AJxq4A0AZ4Z/A8CZtd8AsGdi5DsM+gCwZ+LInokjeyZGvpWhDwB7Jk7smTixZ2Lkeyb6ALBnYuR7G/oAsGdi5HsQ+gAgZ+L6er2ttrNXF7/69Adc5FsIroCLnOW/A7e9Qm7vLzp+anEi3xcgDxZZPYiDjZrAoqiSt5BQdMZbSCjK4S0kFC3wFhJKdv8ICcZj/S0klCz5FhJKLnsLCSXjvIWEkhfeQsI7vWE8o99Cwju9YTyS30LCO71hPIHfQsI7vWE8cN9Cwju9YTxf30LCO71hPE7fQrry9H5bps5Zpk1Z5lL/yLdl3Jxl/Jxlwpxl4pxl0pxl8pxl5pwCbc4p0KacAmHb5izj5izj5ywT5iwT5yyT5iyT5yxT5ixT5ywz5xRwc04BN+cUcHNOATfnFHBzTgE35xRwc04BN+cUcHNOATfnFPBzTgE/5xTwc04BP+cU8HNOAT/nFPBzTgE/5xTwc04BP+cUCHNOgTDnFPj5tGR4fdaHsv3z625Vx7+nh5/PNMqHFPFCSmghxXUuKj+8lf3Pz4b2vAU2tIP+a1znmnJpYpax3pYmZhnjbWlilrHdliYmGjH7xCxjuS1NzDKG29LELGO3LU3MMmbb0sSY8t0nZp0ryb9BTAzu92djzEfEaFS+0X8QU46I0ah8u4jRqHy7iIlGzD4xGpVvFzEalW8XMRqVb3T5SYw7JEaj8u0iRqPy7SFmnevHpYlRqXx7iFGpfHuIUal8e4iJRsw+MSqVbw8xKpVvDzGmfA+IMeV7QIwp311i0jpXjUsTY8r3gBhTvgfEmPI9ICYaMfvEmPI9IMaU7wExpnwPiDHle0CMKd99Yta5VlyaGFO+B8SY8j0gxpTvATHRiNknxpTvATGmfA+IMeV7QIwp3wNiTPnuE4N8cfy9xJjyPSDGlO8BMcA6JqfnO4Qlt+2MmG/8ZR/Kaxj5QdLHp7ey8+kHkucFqi6935SxxZ1Ppxcdqb6x4bZ30oE10rqkA+uvdUkH1nbrkg6sG5clPQBrUkrS8/b8cH5XL59JB9a7pKSHF+n1iHRgLb0u6cAd6nVJj0b6fNKtIr2BdKtIbyDdKlJhnd6ecaTWjki3ivQG0q0inU96tIr0BtKtIr2BdKtIbyDdKtIbSI9G+nzSrSK9gXSrSG8g3SrSG0i3ivQG0q0inU96sor0BtKtIr2BdKtIbyDdKtIbSI9G+nzSrSK9gXSrSG8g3SrSG0i3ivQG0q0inU96tor0BtKtIr2BdKtIbyDdKtIbSI9G+nzSrSK9gXSrSG8g3SrSG0i3ivQG0q0inU868u3d65JuFekNpFtFegPpptNPSQ/eP0kPLZ2R3uENgHz39bqkm06/gXTT6TeQbjp9PunId41Tkt4zMY18j/m6pJtOv4F0+5ejG0iPRvp80q0ivYF0q0iFJWNH7wX5vvt1SbeK9AbSrSKdT3qzivQG0q0ivYF0q0hvIN0q0htIj0b6fNKtIr2BdKtIbyDdKtIbSLeK9AbSrSKdTnrerCK9gXSrSG8g3SrSG0i3ivQG0qORPp90q0hvIN0q0htIt4r0BtKtIr2BdKtI55PurCK9gXSrSG8g3SrSG0i3ivQG0qORPp90q0hvIN0q0htIt4r0BtKtIr2BdKtI55PurSK9gXSrSG8gPWok3eUX6d63E9I7Bs+zV6m85WlUqaXlaVSpjuVpVKl35WlUqWC/RePjX1iff9mVAxqDSk36TRpPh6xzUKky5WlU+S8Z8jSq/LcJeRqj0ShBo1UxIjRaFXOqGztaE8GqGBEarYoRodGqGAkao1UxIjRaFSNCo1UxIjRaFSNCYzQaJWi0KkaERqtiRGi0KkaERqtiRGi0KkaCxmRVjAiNVsWI0GhVjAiNVsWI0BiNRgkarYoRodGqGBEarYoRodGqGBEarYqRoDFbFSNCo1UxIjRaFSNCo1UxIjRGo1GCRqtiRGi0KkaERqtiRGi0KkaERqtiJGgsVsWI0GhVjAiNUSONm3v+Zb+VeEZjx8xgUakb5WlUqRvlaVSpG+VpVKkb5WlUqRu/RWPPPHVVqRu/SeP5sFtVqRvlaVTZ/ZanUWX3W57GaDRK0GhVjAiNVsWc6saO1kS1KkaERqtiRGi0KkaCxmZVjAiNVsWI0GhVjAiNVsWI0BiNRgkarYoRodGqGBEarYoRodGqGBEarYoRoLHovJNenkarYkRotCpGhEarYkRojEajBI1WxYjQaFWMCI1WxYjQaFWMCI1WxUjQqPMec3karYoRodGqGBEarYoRoTEajRI0WhUjQqNVMSI0WhUjQqNVMSI0WhUjQaPOu6/labQqRoTGqJBGV8v2+8OuBX9G4/nMYFF5P/UFNGrUjRfQqFE3XkCjRt14AY0adeP3aOyYpy4q76f+Lo2nw25F5f3UF9Cosft9AY0au98X0BiNRgkarYoRodGqmFPd2NGaUHk/9QU0WhUjQqNVMRI0qryf+gIarYoRodGqGBEarYoRoTEajRI0WhUjQqNVMSI0WhUjQqNVMSI0WhUjQaPK+6kvoNGqGBEarYoRodGqGBEao9EoQaNVMSI0WhUjQqNVMSI0WhUjQqNVMRI0qryf+gIarYoRodGqGBEarYoRoTEajRI0WhUjQqNVMSI0WhUjQqNVMSI0WhUjQaPK+6kvoNGqGBEao0Yai3vRWN7nAIdnBlXeT30BjSp1ozyNKnWjPI0qdaM8jSp147do7JnSUnk/9QU0qtSN8jSq7H7L06iy+y1PYzQaJWi0KuZU8HTU1Crvp76ARqtiRGi0KkaERqtiJGhUeT/1BTRaFSNCo1UxIjRaFSNCYzQaJWi0KkaERqtiRGi0KkaERqtiRGi0KkaAxqryfuoLaLQqRoRGq2JEaLQqRoTGaDRK0GhVjAiNVsWI0GhVjAiNVsWI0GhVjASNKu+nvoBGq2JEaLQqRoRGq2JEaIxGowSNVsWI0GhVjAiNVsWI0GhVjAiNVsVI0KjyfuoLaFxGN8bt9ZfDyV8O7flSfGifo3gjJhox+8Qso+2kiVlGrUkTs4z+kiZmGUUlTcwyGkmYmHVuV5YmZplurDQxy/RXpYkx5XtATFRITAzPPxxjPiJGo/KN/oOYckSMRuXbRYxG5dtFjEbl20WMRuXbQ8w6N/JKE6NR+UaXn8S4Q2I0Kt8uYjQq3y5iohGzT4xK5dtDjErl20OMSuXbQ4xK5dtDjErl20HMOre4ShNjyveAGFO+B8SY8j0gJhox+8SY8j0gxpTvATGmfA+IMeV7QIwp331i1rn5U5oYU74HxJjyPSDGlO8BMdGI2SfGlO8BMaZ8D4gx5XtAjCnfA2JM+e4Ts85tkdLEmPI9IMaU7wExpnwPiIlGzD4xpnwPiDHle0AMsI6J6fnKf4mtnhDTMx+AfCOhPFhgvSEPFlhDyIMF1gXyYKMmsMD5Wx4scE6WBwvcYZIHC9w1kgerSUEh34b2LbA9U5PId5Z9D2zHMA7yzWLyYFdRUF1goyawqyioLrCrKKgusKsoqJ62DPLtUfJgV1FQHWAb8k1M8mCXUVA9YJdRUD1gl1FQPWCjJrDLKKgesMsoqB6wihRUQ765Rh6sJgWFfAuMPFhNCgr5RhV5sJoUFPLtJPJgNSko5Js+5MFqUlDIt2bIg9WkoJBvoJAHq0lBeU0KCvkGEHmwURNYTQoK+fYNebCaFBTyLRnyYDUpKOTbLOTBalJQyLdOyIMFzrOhvMZiHlBOwHa8u9iQvf7lwQLnWXmwwHlWHixwnhUHi+ydLw8WOM/KgwXOs/JggTsV8mCjJrCaFBSyZ/y3wHZMfzRkH/jvgT1/ubohe7vLg11FQfWARfZglwe7ioLqAruKguoCu4qC6mnLIHuay4NdRUF1gV1GQfWAXUZB9YBdRkH1gF1GQXWARfbylge7jILqAbuMguoBq0lBIXtjy4PVpKCQPazlwWpSUMhe0/JgNSkoZE9oebCaFBSyd7M8WE0KCtljWR6sJgWF7IUsD1aTgiqaFBSyc7U4WGTnanmwmhQUsnO1PFhNCgrZuVoerCYFhexcLQ9Wk4JCdq4WB4vsb+z9a9TFl3ICtufdRWR/Y3mwwHlWHixwnpUHC5xn5cEC51l5sMB5Vh4scJ6VBwvcqRAGGzdkf2N5sHoU1APsKgrqfPrjAXYVBXX+cvUDbNQEdhUF1QV2FQXVBXYVBdUFdhUF1QV2FQV13paJG7K/sTzYVRRUF9hlFFQP2GUUVA/YqAnsMgqqB+wyCqoH7DIKqgfsMgqqB6wmBYXsbywPVpOCQvY3lgerSUEh+xvLg9WkoJD9jeXBalJQyP7G8mA1KShkf2N5sJoUFLK/sTxYTQoqRE1gNSkoZOdqebCaFBSyc7U8WE0KCtm5Wh6sJgWF7FwtD1aTgkJ2rpYHC5xnnW9PsK5tJ2B73l1E9jeWBwucZ8XBIvsby4MFzrPyYIHzrDxY4DwrDxY4z8qDBe5UyIMF7lTIg9WkoJD9jb8Ftmf6A9nf+HtgO16uRvY3lge7ioLqAruKguoCu4qC6gIbNYFdRUH1tGWQ/Y3lwa6ioLrALqOgesAuo6A6wCL7G8uDXUZB9YBdRkH1gF1GQfWAjZrAalJQyP7G8mA1KShkf2N5sJoUFLK/sTxYTQoK2d9YHqwmBYXsbywPVpOCQvY3lgerSUEh+xvLg9WkoJomBYXsXC0PVpOCQnaulgcbNYHVpKCQnavlwWpSUMjO1fJgFSkoh+xcLQ8WOM9uvjzBPjT8CdiOdxfdBpxn5cEC51l5sMB5Vh4scJ6VBwucZ+XBAudZcbDI/sbyYIE7FfJggTsV8mA1KShkf+Nvge2Y/nDI/sbfA3v+crVD9jeWB7uKguoCu4qC6gK7ioLqAYvsbywPdhUF1dOWQfY3lge7ioLqAhs1gV1GQfWAXUZB9YBdRkH1gF1GQfWAXUZBdYBF9jeWB6tJQSH7G8uD1aSgkP2N5cFqUlDI/sbyYDUpKGR/Y3mwmhQUsr+xPFhNCgrZ31gerCYFhexvLA9Wk4KKmhQUsnO1PFhNCgrZuVocLLJztTxYTQoK2blaHqwmBYXsXC0PVpOCQnaulgeLm2dzTc/XEXOr+QRsfd2KUv3Ru4vA/sYXgMXNsxeAxc2zF4DFzbMXgMXNs98Em55vuNW6nf3luL2iCGefPYz4jUTc/E1EIq4uICIRt2NDRCJuJ4iIxGWU740kAvtdE5G4jFK/k8RlKoA7SVymsriTxGgk/pxEq1gESLSKRYBEq1gESLSKRYBEq1h+TiKwvzwRiVaxCJBoFYsAiVaxCJAYjcSfk2gViwCJVrEIkGgViwCJVrEIkGgVy89JBHb9xyCxx7YO+DYBIhItO3/92Z43LoE98olItOwsQKJl5x+T6IHvCiAi0fqJAiSaTjwhMT+HJ2INRySaThQgMRqJPyfR+okCJFrFIkCiVSwCJFrFIkCiVSw/JxH41hUiEq1iESDRKhYBEq1iESAxGok/J9EqlgNirAo5IEZlZfGNKHzYygufe4si+ncaVdYW8jSqrC7EaQS+k4iKRpUVhjyNKmsMeRpVVhnyNEaj8YTG6F740nZEo8pKQ55GlXWJPI1WxYjQaFWMCI1WxUjQCHwvGBWNVsWc0VjCC1/1RzRaFSNCo1UxIjRGo1GCRqtiRGi0KkaERqtiRGi0KuY7NLYjGq2KkaAR+G4+KhqXqWLic46kxqM5EuBb/y4Au0xF0AM2agK7jLruAbuMBu4Bu4xS7QG7jJ7sAbuM6usAC3zr3wVgNSko4Fv/LgCrSUEB3/p3AVhNCgr41r8LwGpSUEmTglrnPscOsOvc59gDVpOCWuc+xx6wmhTUOvc59oDVpKDWuR+xB6wmBbXOfYM9YDUpqHXu7+sBq0lBrXMfXg9YTQpqnfvlesBqUlDr3NfWA1aTglrn/rMesJoU1Dr3ifWA1aSg1rmfqwesJgW1zn1XPWA1Kah17o/qAatJQa1zH1MPWE0KqmlSUE2Tglrn5qoesJoUVIuawGpSUOvc8dUDVpOCWufOrB6wihRUWOcOqh6wihRUWOdOpx6wihRU2KImsIoUVFjnzqEesIoUVFjnDp8esJoU1Dp34vSA1aSg1rljpgesJgW1zp0tPWA1Kah17kvpAatJQa1zU0kPWE0Kap1bP3rAalJQ69yg0QNWk4Ja5zaKHrCaFNQ6Nzv0gNWkoNa5JaEHrCYFtc6NAz1gNSmoddz7e8BqUlDrOOH3gNWkoNZxle8Bq9Jt+xvXX4f2DCK0eECiTq9taRJV3hckTaLK24KkSVR5V5A0idFI/DmJKu8JkiZR5S1B0iSqvCNImkSVNwRJk2gVy89JXMeB/iISH/+G//uzMeYjEq1iOSHRf5B41IBYxzH/ThKtYhEgMRqJPyfRKhYBEq1iESDRKpYTEt3znweiOyTRKhYBEq1i+TmJ69z4cCeJVrEIkGgViwCJVrEIkBiNxJ+TaBWLAIlWsQiQaBWLAIlWsQiQaBXLz0lc54aVO0m0ikWARKtYBEi0ikWAxGgk/pxEq1gESLSKRYBEq1gESLSKRYBEq1h+TuI6NxrdSaJVLAIkWsUiQKJVLAIkRiPx5yRaxSJAolUsAiRaxSJAolUsAiRaxfJzEte5QexOEq1iESDRKhYBEoF1Ynm9c56rD2ck+ifj1R/N4CHftyUPFlh3yYMF1kfyYIF1jDTYiHzf1vfAXnXK5/I85Ws4IhFYb/CQCKw3eEgE7pDykBiNxJ+TuIzyvZPEZRT1nSQuo9TvJHGZCuBOEpepLG4kEfl+Ox4SrWIRINEqFgESrWIRIDEaiT8n0SoWARKtYhEg0SoWARKtYhEg0SqWn5OIfJ8kD4lWsQiQGI3ELz/bYTUckW9f5CHRsvPJz/n87aKIfKcgDYnIdxXykGjZWYBE6ycKkGj9RAESo5H4Y7GNfMckD4nWTxQg0fqJAiRaxSJAolUsPycR+XZWHhKtYhEg0SoWARKtYhEgMRqJPyfRKhYBEq1iESDRKpYDYqwKOSBGZWXxjSjcVp7/LOe26t/w+Tcake9RZaJRZXUhT6PK+kKeRpUVhjyN0WiUoFFllSFPo8o64zs0uu3JhXMuHtGostKQp1FlXSJPo1UxEjQi363KRKNVMSI0WhUjQqNVMd+g0bsjGqPRKEGjVTEiNC5TxcTna5U1Hr1WiXwfqjzYZSqCHrDL6PYOsMj3gMqDXUYD94BdRqn2gF1GT/aAjZrALqPNesBqUlDI9zPKg9WkoJDvOxQHi3wvoTxYTQoK+Z4/ebCaFBTyvXnyYDUpKOR76OTBalJQyPe6yYPVpKCQ70mTB6tJQSHfOyYPVpOCalETWE0Kap2b33rAalJQ69z81gNWkYJK69z81gNWkYJK69yk1gNWkYJKW9QEVpGCSuvc9NUDVpGCSuvcnNUDVpOCWucmqh6wmhTUOjc79YDVpKDWuSmpB6wmBbXOzUM9YDUpqHVu8ukBq0lBrXMzTg9YTQrKa1JQXpOCWucOoR6wmhSU16SgvCYFtc5tSz1gNSmodW4v6gGrSUHZHSwnn+24Zi7ZHSwSJJqjsQCJ5mgsQKK5HwuQaHew/JxEu4NFgkS7g0WARLuDRYBEu4NFgMRoJP6cRKtYvv5sDM+/G2M+ItEqlhMS/QeJRw0Iu4NFgkSrWARItIrl5yTqvNlFmkSrWARItIrlhMTzK9qTzjtdpEmMRuLPSbSKRYBEq1gESLSKRYBEq1gESLSK5eck6rzFRZpEq1gESLSKRYBEq1gESIxG4s9JtIpFgESrWARItIpFgESrWARItIrl5ySuczPOnSRaxSJAolUsAiRaxSJAYjQSf06iVSwCJFrFIkCiVSwCJFrFIkCiVSw/J3Gdm6juJNEqFgESrWIRINEqFgESo5H4cxKtYhEg0SoWARKtYvk5icj3baXgXx9u2xmJ/jmDV/3RDB7yfVvyYIF1lzxYYH0kDzZqAgusN74H9qJTvsdzCvkeLx4SgfUGD4nAHVIeEoE7pCwkZuR70nhIXEZR30niMkr9ThKXqQDuJDEaiT8n0SoWARKtYhEg0SoWARKtYhEg0SqWn5OIfC8hD4lWsQiQaBWLAIlWsQiQGI3En5NoFYsAiVaxCJBoFYsAiVaxCJBoFcvPSUS+B5SHRKtYBEi0ikWARKtYBEiMRuLPSTSd+PVnO66kyMi3h9KQiHx3JQSJHW+h52DZWYBEy84CJFp2FiDR+okCJFo/UYBE04knJObyJLGGIxJNJwqQaP3En5OIfDsrD4lWsQiQaBWLAIlWsQiQGI3En5NoFYsAiVaxCJBoFYsAiVaxCJBoFcvPSUS+nfUGEt+IsSrkgBiVlcU3onjgeEbhYnNv+D7RqLK2kKcxGo0SNKqsL+RpVFlhyNOossaQp1FllSFPo8o641s0vt5DeizsD2hEvlWViUaVdYk8jVbFiNBoVYwIjdFolKDRqhgRGq2KOaExpQ8a8yGNVsWI0GhVjAiNVsVI0Ih80yoTjVbFiNBoVYwIjVbFnNGY44vGEo5ojEajBI1WxYjQaFWMCI1WxYjQaFWMCI1WxUjQiHz76vdo7PBiQL4lVR7sMhVBD9hldHsP2KgJ7DIauAfsMkq1B+wyerIH7DKqrwfsMtqsA+w695L2gNWkoNa5l7QHrCYFtc69pD1gNSmode4P7QGrSUGtcx9nD1hFCqqsc79lD1hFCqqsc19kD1hFCqpsURNYRQqqrHOfYQ9YRQqqrHM/YA9YTQpqnfv2esBqUlDr3F/XA1aTglrnPrgesJoU1Dr3q/WA1aSg1rmvrAesJgW1zv1fPWA1Kah17tPqAatJQa1zP1UPWE0KymtSUOvcENYDVpOC8poUVNCkoNa5S60HrCYFtc7dZD1goyawmhTUOndy9YDVpKDWueOqB6wmBbXOnVE9YDUpqHXuYOoBq0lBrXOnUQ9YTQpqnTuCesBqUlDr3LnTA1aTglrnDpsesJoU1Dp3zfSA1aSg1rm3pQesJgW1zh0oPWA1Kah17hPpAatJQa1zN0cPWE0Kap17LnrAalJQ69wZ0QNWk4Ja5/6FHrCaFNQ6dxn0gNWkoNa5F6AHrCYFtY7Hfg9YTQpqHb/6HrCaFNQ63u89YDUpqHV81HvAalJQmjzJiyZP8qLJk7xo8iQvmjzJiyZP8qLJk7xo8iQvmjzJiyZP8qLJk7xo8iQvmjzJiyZP8qLJk7xo8iQvmjzJiyZP8qLJk7xo8iSvmjzJqyZP8qrJk7xq8iSvW9QEVpGCqus4V3/nste4vf5wOPlsaM/L7UOLRySqvDFXmMR1nLbvJHEZvXEnicvomDtJXEYf3UliNBJ/TuIyeu5OEpfptN1J4jIdvDtJtIpFgESrWL7+bAzPvxtjPiBxHWf7q0j0HyQeNSDWccy/k0SrWARItIpFgMRoJP6cRKtYBEi0iuWERPf854HoDkm0ikWARKtYBEi0iuXnJK5zk8SdJFrFIkCiVSwCJFrFIkBiNBJ/TqJVLAIkWsUiQKJVLAIkWsUiQKJVLD8ncZ2bW+4k0SoWARKtYhEg0SoWARKjkfhzEq1iESDRKhYBEq1iESDRKhYBEq1i+TmJ69yUdCeJVrEIkGgViwCJVrEIkBiNxJ+TaBWLAIlWsQiQaBWLAIlWsQiQaBXLz0lc52ayO0m0ikWAxIhLYqjPsbr8+LfdMxL988PVH83gId+3JQ8WWHfJgwXWR/JggXWMPFhgvfE9sFed8rk8T/kaDkhEvseLh0RgvcFDInCHlIdE4A4pD4nRSPw5icso6jtJXEap30niMhXAnSQuU1ncSaJVLD8nEfnePB4SrWIRINEqFgESrWIRIDEaiT8n0SoWARKtYhEg0SoWARKtYhEg0SqWn5OIfE8lD4mmE7/+bI/VMPLtizwkWnY++Tl3vF2EfKcgD4mWnX9MYkO+A5GHROsnCpBo/UQBEk0n/lhsty0aiT8n0fqJAiRaP1GARKtYBEi0ikWARKtYfk4i8u2sPCRaxSJAolUsAiRaxSJAYjQSf06iVSwCJFrFckCMVSEHxKisLL4RhdvKMwq3Vf+Gz7/TqLK2EKcR+SZVJhpV1hfyNKqsMORpVFljyNMYjUYJGlXWGd+h0W1PLpxz8YhGlZWGPI0q6xJ5Gq2KEaHRqhgJGpFvV2Wi0aoYERqtivkGjd4d0WhVjAiN0WiUoHGZKiY+X6us8ei1SuT7UOXBLlMR9IBdRrf3gF1GXXeARb6vUx7sMkq1B+wyerIH7DKqrwds1ARWk4JCvp9RHqwmBYV836E8WE0KCvn+QHmwmhQU8n188mA1KSjk++3kwWpSUMj3xcmD1aSgkO9fkwerSUEh32cmD1aTgsqaFFTWpKDWufmtB6wmBbXOzW89YDUpqHVufusBq0lBrXNDWw9YTQpqnRvPesBqUlDr3CDWA1aTglrnRq4esJoU1Do3XPWA1aSg1rkxqgesJgW1zg1MPWA1Kah1bjTqAatJQa1zQ1APWE0Kap0bd3rAalJQ69xg0wNWk4JqmhTUOncI9YCNmsBqUlBNk4Ja57alHrCaFNQ6txedgk3bOrcM9YA1R+OvP3t+zdyDxGXy950kmqOxAInmaCxAorkfC5Bod7AIkGh3sPycRLuDRYJEu4NFgES7g0WARKtYBEiMRuKXn43h+XdjzEckWsVyQqL/IPGoAWF3sEiQaBWLAIlWsQiQaBXLz0nUea+LNIlWsZyQeHpF+4NEq1gESLSKRYDEaCT+nESrWARItIpFgESrWARItIpFgESrWH5Oos47XKRJtIpFgESrWARItIpFgMRoJP6cRKtYBEi0ikWARKtYBEi0ikWARKtYfk7iOjfu3EmiVSwCJFrFIkCiVSwCJEYj8eckWsUiQKJVLAIkWsUiQKJVLAIkWsXycxLXueHqThKtYhEg0SoWARKtYhEgMRqJPyfRKhYBEq1iESARWCf6/Iw/B7edkNgzg4d835Y8WGDdJQ8WWB/JgwXWMfJgoyawwLpAHixw/pYHC9wZlAcL3MGTB6tJQSHft/UtsD1uA8j3bX0PbMfwJvJ9W/JgV1FQXWCjJrCrKKgusKsoqC6wqyionrYM8n1b8mBXUVA9YJHv25IHu4yC6gG7jILqAbuMguoBGzWBXUZB9YBdRkH1gNWkoJDv25IHq0lBId+3JQ9Wk4JCvm9LHqwmBYV835Y8WE0KCvm+LXmwmhQU8n1b8mAVKSiHfN+WPFhFCsptihSUQ75JTR5s1ARWkYJyyDeIyYNVpKAc8o1c8mA1KSjkG67kwWpSUMg3RsmDBc6z7hVFdq2dgBW+rckh35FzLzHA+fteYoBz/b3EAOuCW4lBvnPmXmKA9ca9xABrk3uJAe4E3UtMNGL2iTHle0CMRuXbMQ3kkO9PuY6Y8xfzHfKdKPcSo1H59hCDfHfJvcRoVL5dxGhUvl3EaFS+Pa1N5LtA7iVGo/LtIkal8u0hRqXy7SFGpfLtIUal8u0gBvkOjHuJUal8e4hRqXx7iDHle0BMNGL2iTHle0CMKd8DYkz5HhBjyveAGFO++8Qg36VwLzGmfA+IMeV7QIwp3wNiohGzT4wp3wNiTPkeEGPK94AYU74HxJjy3ScG+daJe4kx5XtAjCnfA2JM+R4QE42YfWJM+R4QY8r3gBhTvgfEmPLdJ2b2PRHCb/zPvvlBOvzAHX7kDj9xh5+5wy/c4Vfu8Bt1+LNvIpAOnzvrVtys2zMNV3Gzbs/YxGxHf+nwcbNuV/i4WbcrfNys2xU+btbtCh836/YUiw0363aFj5t1u8IHzro94QNn3Z7wgbNuT/jAWbcnfOCs2xM+cNbtCR846/aET511/Uaddf1GnXX9Rp11/Uaddf1GnXX9Rp11/Uaddf1GnXX9Rp11/caddR131nXcWddxZ13HnXUdd9Z13FnXcWddx511HXfWddxZ13NnXc+ddT131vXcWXe237F0+D8/97dnRA8ukmD4He80eAEn2FvDb9ThC7iq3hq+4w7fc4cfuMOP3OEn7vAzd/jcWTfgZt2ONwl9wM26Ha8j+YibdbvCx826XeHjZt2u8HGzblf4uFm3K3zcrNtTLEbcrNsVPm7W7QofOOv2hA+cdTvCT8BZtyd84KzbEz5w1u0JHzjr9oQPnHV7wufOuok76yburJu4s27izrqZO+tm7qybubNu5s66Ag5Lt4bPnXUzd9bN3Fk3c2fdzJ11C3fWLdxZt3Bn3cKddQXckW4NnzvrFu6sW7izbuHOuoU761burPtzfx7nn6t4V5xg+D3vNPzcn+fe8BN3+Jk7/MIdfuUOv1GH/3N/nnvDd9zhe+7wubPuz/15Lgu/503Chpt1e15HarhZtyt83KzbFT5u1u0KHzfrdoQfNtys2xU+btbtKBbDhpt1u8LHzbpd4QNn3Z7wgbNuT/jAWbcnfOCs2xM+cNbtCR8463aE74Czbk/43FnXcWddx511f+7Pc2/43FnXcWddx511HXfWddxZ13NnXc+ddT131vXcWffn/jz3hs+ddT131vXcWddzZ13PnXUDd9YN3Fk3cGfdwJ11f+6OdG/43Fk3sGZdF7Z/P5DL2/O59lcMz+Ddx2Nh7LE49lgaeyx/+zFfw78fWPqXrTy/0Pfn6ttzZfC5OvhcG3tuvy3c8ZwbfM4PPhcGn4uDz/30HDr86McS+folfqyit/iySN1yOTmOYn7SGmv444j5FVGFi6hdGNFrlZ83grpWcVNW8VNWCVNWiVNWSVNWyVNWKVNWqVNWmfLbD1N++2HKbz9M+e2HKb/9MOW3H6b89mcXHumZV3Oq+3k1FLiIcJty2dfXZ+NB9Lg9uY7oI25Lrid63I5cT/S4Dbme6HH7cT3RR+rocbtxPdHjNuN6osf9F7Ce6KlzbaTOtYk61ybqXJuoc22izrU/N0u9NXrWSfZf0bMOsv8dfWb9F/df0bP+g/uv6Fn/vf1X9LhnTk/0rP/a/it61n9s/xU98Btu5/9qloFfcOuIHvj9tvPoC/DrbR3RA+fajuiBc21H9MC5tiN64FzbET1wru2IHjjXdkRPnWsLda4t1Lm2ouTaj4hQ8udHRJNz4mEv5c/POleef9m5+mbM6dNb/IE8/kgefyKPP5PHX8jjr+TxX5khX6tcanb5scrkGwDO3/ppHi4iXJ/+jn+n+Llx5K3R47r090SPa9LfEz2uR39P9LgW/T3R4zr0n0cvYBl5a/S4t+L0RI97KU5P9My5VsAu8tbomXOtgFnkrdEz51oBq8hbo6fOtY461zrqXOuoc62jzrU/N4m8NXrqXOuoc62jzrWOOtc66lzrqXOtp861Hve8P39jWcCd8NboWa+7/BU9622Xf0cfWC+7/BU96w3Tv6JnvWD6V/Ss90v/ih73vD9/D0nAF+/W6IEvl+6IHvhu6Y7ogXNtR/TAufY8+gicazuiB861HdED59qO6IFzbUf01Lk2UufaSJ1rI0qu/YgIJX9+RDQ5J37nfccY2u8Pu5j8x6dT+Ig/beTxO/L4PXn8gTz+SB5/Io8/A8fvto/4w6f4//x0i89Oa0tvUTxW+cBaFGGtirAia4D6gbWF/d9gRtYAPfEja4Ce+JE1QE/8yBqgJ/5IHj+yBuiJH1kDfMSfNncQP3Je74kfOVf3xA+cf5Mvr/jjth9/Ac6/XfED59+u+IHzb1f8wPm3K37g/NsVP3D+7YofOP9+ir8exA+cf7viB86/XfEj599SX/G3A/1QkfNvT/zI+bcnfuT82xM/cv7tiR85//bEj5x/e+JHzr/v8beD+JHzb0/8yPm3J/4r8+9rlbZNWeXnuay8bugKIZx9F6cOMUHAs0Y6ojA3ItlZDwHPmjujT9TRZ+roC3X0lTr6Rhx9FPCsuTN6Rx29p46eOdfGjTnXxo0518aNOdfGjTnXxo0518aNOtc66lzrqHOto861jjrXCnjW3Bk9da511LnWUedaR51rHXWu9dS51lPnWk+daz11rhXwC7ozeupc66lzrafOtZ4613rqXBuoc22gzrWBOtcG6lwr4NV0Z/TUuTZQ59pAnWsDda4N1Lk2UufaSJ1rI3WujdS5VsCr6c7oqXNtpM61kTrXRupcG6lzbaLOtYk61ybqXJuoc62A89Od0VPn2kSdaxN1rk3UuTZR59pMnWszda7N1Lk2U+daAYelO6OnzrWZOtdm6lybqXNtps61hTrXFupcW6hzbaHOtQJuSndGT51rC3WuLdS5tlDn2kKdayt1rq3UubZS59pKnWsFnJPujJ4611bqXFupc22lzrWVOtc26lzbqHNto8611L5Rkdo3KlL7RkVq36hI7RsVqX2jIrVvVKL2jUrUvlGJ2jcqUftGpY051yZq36hE7RuVqH2jErVvVKL2jUrUvlGJ2jcqUftGJWrfqETtG5WofaMStW9UovaNStS+UYnaNypR+0Ylat+oRO0blah9oxK1b1Si9o1K1L5Rido3KlH7RiVq36hE7RuVqH2jErVvVKL2jUrUvlGJ2jcqUftGJWrfqETtG5WofaMStW9UovaNStS+UYnaNypR+0Ylat+oRO0blah9oxK1b1Si9o1K1L5Rido3KlH7RiVq36hE7RuVqH2jErVvVKL2jUrUvlGJ2jcqUftGJWrfqETtG5WofaMStW9UovaNStS+UYnaNypR+0Ylat+oRO0blah9oxK1b1Si9o1K1L5Rido3KlH7RiVq36hE7RuVqH2jErVvVKL2jUrUvlGJ2jcqUftGJWrfqETtG5WofaMStW9UovaNStS+UYnaNypR+0Ylat+oRO0blah9oxK1b1Si9o1K1L5Rido3KlP7RmVq36hM7RuVqX2j8sacazO1b1Sm9o3K1L5Rmdo3KlP7RmVq36hM7RuVqX2jMrVvVKb2jcrUvlGZ2jcqU/tGZWrfqEztG5WpfaMytW9UpvaNytS+UZnaNypT+0Zlat+oTO0blal9ozK1b1Sm9o3K1L5Rmdo3KlP7RmVq36hM7RuVqX2jMrVvVKb2jcrUvlGZ2jcqU/tGZWrfqEztG5WpfaMytW9UpvaNytS+UZnaNypT+0Zlat+oTO0blal9ozK1b1Sm9o3K1L5Rmdo3KlP7RmVq36hM7RuVqX2jMrVvVKb2jcrUvlGZ2jcqU/tGZWrfqEztG5WpfaMytW9UpvaNytS+UZnaNypT+0Zlat+oTO0blal9ozK1b1Sm9o3K1L5Rmdo3KlP7RmVq36hM7RuVqX2jMrVvVKb2jcrUvlGZ2jcqU/tGZWrfqEztG5WpfaMytW9UpvaNytS+UZnaNypT+0Zlat+oTO0bVah9owq1b1Sh9o0q1L5RZWPOtYXaN6pQ+0YVat+oQu0bVah9owq1b1Sh9o0q1L5Rhdo3qlD7RhVq36hC7RtVqH2jCrVvVKH2jSrUvlGF2jeqUPtGFWrfqELtG1WofaMKtW9UofaNKtS+UYXaN6pQ+0YVat+oQu0bVah9owq1b1Sh9o0q1L5Rhdo3qlD7RhVq36hC7RtVqH2jCrVvVKH2jSrUvlGF2jeqUPtGFWrfqELtG1WofaMKtW9UofaNKtS+UYXaN6pQ+0YVat+oQu0bVah9owq1b1Sh9o0q1L5Rhdo3qlD7RhVq36hC7RtVqH2jCrVvVKH2jSrUvlGF2jeqUPtGFWrfqELtG1WofaMKtW9UofaNKtS+UYXaN6pQ+0YVat+oQu0bVah9owq1b1Sh9o0q1L5Rhdo3qlD7RhVq36hC7RtVqH2jCrVvVKH2jSrUvlGF2jeqUPtGFWrfqELtG1WofaMKtW9UofaNqtS+UZXaN6pS+0ZVat+oujHn2krtG1WpfaMqtW9UpfaNqtS+UZXaN6pS+0ZVat+oSu0bVal9oyq1b1Sl9o2q1L5Rldo3qlL7RlVq36hK7RtVqX2jKrVvVKX2jarUvlGV2jeqUvtGVWrfqErtG1WpfaMqtW9UpfaNqtS+UZXaN6pS+0ZVat+oSu0bVal9oyq1b1Sl9o2q1L5Rldo3qlL7RlVq36hK7RtVqX2jKrVvVKX2jarUvlGV2jeqUvtGVWrfqErtG1WpfaMqtW9UpfaNqtS+UZXaN6pS+0ZVat+oSu0bVal9oyq1b1Sl9o2q1L5Rldo3qlL7RlVq36hK7RtVqX2jKrVvVKX2jarUvlGV2jeqUvtGVWrfqErtG1WpfaMqtW9UpfaNqtS+UZXaN6pS+0ZVat+oSu0bVal9oyq1b1Sl9o2q1L5Rldo3qlL7RlVq36hK7RtVqX2jKrVvVKX2jarUvlGV2jeqUvtGNWrfqEbtG9WofaMatW9U25hzbaP2jWrUvlGN2jeqUftGNWrfqEbtG9WofaMatW9Uo/aNatS+UY3aN6pR+0Y1at+oRu0b1ah9oxq1b1Sj9o1q1L5Rjdo3qlH7RjVq36hG7RvVqH2jGrVvVKP2jWrUvlGN2jeqUftGNWrfqEbtG9WofaMatW9Uo/aNatS+UY3aN6pR+0Y1at+oRu0b1ah9oxq1b1Sj9o1q1L5Rjdo3qlH7RjVq36hG7RvVqH2jGrVvVKP2jWrUvlGN2jeqUftGNWrfqEbtG9WofaMatW9Uo/aNatS+UY3aN6pR+0Y1at+oRu0b1ah9oxq1b1Sj9o1q1L5Rjdo3qlH7RjVq36hG7RvVqH2jGrVvVKP2jWrUvlGN2jeqUftGNWrfqEbtG9WofaMatW9Uo/aNatS+UY3aN6pR+0Y1at+oRu0b1ah9oxq1b1Sj9o1q1L5Rjdo3qlH7RjVq36hG7RvVqH2j3EZtHPUInznbPsJnTreP8Jnz7SN85oT7CJ854z7CZ065j/CZc+4jfOak+wifO+tSW0g9wufOutQmUo/wubMutY3UI3zurEttJPUInzvrUltJPcLnzrrUZlKP8LmzLrWd1CN87qxLbSj1CJ8761JbSj3C58661KZSj/C5sy61rdQjfO6sS20s9QifO+tSW0s9wufOutTmUo/wubMutb3UI3zurEttMPUInzvrUltMPcLnzrrUJlOP8LmzLrXN1CN87qxLbTT1CJ8761JbTT3C58661GZTj/C5sy613dQjfO6sS2049QifO+tSW049wufOutSmU4/wubMute3UI3zurEttPPUInzvrUltPPcLnzrrU5lOP8LmzLrX91CN87qxLbUD1CJ8761JbUD3C58661CZUj/C5sy61DdUjfO6sS21E9QifO+tSW1E9wufOutRmVI/wubMutR3VI3zurEttSPUInzvrUltSPcLnzrrUplSP8LmzLrUt1SN87qxLbUz1CJ8761JbUz3Cp866jtubynF7UzlubyrH7U3lNuqs67i9qRy3N5Xj9qZy3N5UjtubynF7UzlubyrH7U3luL2pHLc3leP2pnLc3lSO25vKcXtTOW5vKsftTeW4vakctzeV4/amctzeVI7bm8pxe1M5bm8qx+1N5bi9qRy3N5Xj9qZy3N5UjtubynF7UzlubyrH7U3luL2pHLc3leP2pnLc3lSO25vKcXtTOW5vKsftTeW4vakctzeV4/amctzeVI7bm8pxe1M5bm8qx+1N5bi9qRy3N5Xj9qZy3N5UjtubynF7UzlubyrH7U3luL2pHLc3leP2pnLc3lSO25vKcXtTOW5vKsftTeW4vakctzeV4/amctzeVI7bm8pxe1M5bm8qx+1N5bi9qRy3N5Xj9qZy3N5UjtubynF7UzlubyrH7U3luL2pHLc3leP2pnLc3lSO25vKcXtTOW5vKsftTeW4vakctzeV4/amctzeVI7bm8pxe1M5bm8qz+1N5bm9qTy3N5Xn9qbyG3XW9dzeVJ7bm8pze1N5bm8qz+1N5bm9qTy3N5Xn9qby3N5UntubynN7U3lubyrP7U3lub2pPLc3lef2pvLc3lSe25vKc3tTeW5vKs/tTeW5vak8tzeV5/am8tzeVJ7bm8pze1N5bm8qz+1N5YHdkUILvz8b2mH4uOd+T/jA/jzR5d+fja4chY978nSFj3vydIWPe/J0hR+5w8fV+13h4577MZdn+DUchY977neFj6v3u8LH1fs94QP783SFD5x1e8IHzro94QNn3Z7wgbNuT/jAWbcnfO6sC+zP0xU+d9aF8ef5CAnGc+ctpMnZ8bDH8udn2yuIVtNR+J47/AAbft7KsyzKW2sfn07b4A9ytuvOvWATJdg3AJkdQGEHUNkBNHIAs9165AHgZvdOALj5vRMAZ4Z/A8CZtd8AsGfiwp6JC3smLuyZuLBn4sqeiSt7Jq7Amdi9osjutHrL6Vm95VQPqrcKnLXlwQJn+O+BFX7ZpwIrh3uJAVYk9xIDrHTuJQZYQd1LDLAyu5WYBqz47iUGWEneS8wyClWamGXUrDQx0YjZJ8aU7wExpnwPiDHle0CMKd8DYkz57hITNlO+B8SY8j0gxpTvATGmfA+IiUbMPjGmfA+IMeV7QIwp3wNiTPkeEGPKd58YZ8r3gBhTvgfEmPI9IMaU7wEx0YjZJ8aU7wExpnwPiDHle0CMKd8DYkz57hPjTfkeEGPK94AYU74HxJjyPSAmGjH7xJjyPSDGlO8BMaZ8D4gx5btPTNCoYzo8PUPQqGO6iNGYlTq8GEPQmJW6iNGYlbqI0ZiVuojR2I/pISZq7Md0EaNRx3QYPoWoUcd0EaOxH9NFTDRi9olRqXx7iFGpfHuIUal8e4hZX/m+gV1fzX6ATcso1G/8ZV/zs3Hia8lvf7m+U7OMRpWnZhmVKk/NMjpVnppo1BxRs4xWladmGbUqT80yevU71LTonzG3lI6oWUaxylOzjL4VpyarVMN91KhUw33UqFTDfdSoVMN91ESF1ITNPT8ctuCOqNGohjup0aiGO6nRqIY7qdGohjup0aiG+6hBvrfkbmo0quGwtWfMwW3liBqNariTGo1quJOaaNQcUaNTDXdRo1MNd1GjUw13UaNTDef0QU39RM2fn27x+c8PnxoYj1XeaNSpnKVpRL6TiIlGlYrcvV7xCS6Fg/NunTuX5KlRqcj7qIlGzRE1KhV5HzUqFXkfNSoVeR81KhX5OzX5qNO4zs1O4tSsc7eTPDU61XBzT2r8Fo+o0amGu6jRqYa7qIlGzRE1OtVwFzU61XAXNTrVcBc1OtXwGzXOH1GjUw13UBPXue9JnhqVatinV6HgcziiRqUa7qNGpRruoyYaNUfUqFTDfdSoVMN91KhUw33UqFTD79QUd0SNSjXcRc06d0DJU6NSDQf3nMkKD5qOqFGphvuoUamG+6iJRs0RNSrVcB81KtVwHzUq1XAfNSrV8Ds14ajLt86tUOLUrHMvlDw1nGr4DQCnZn0DAKwsvX/+5exDOdmc3j9D9vHA+Doi354kDxZY/cmDBdZz8mCBFZo8WGDNJQ8WWEV9D2x6+hr7cuB+GwOwLpIHC6x05MECqyJ5sMsoqB6wURPYZRRUD1hkBVVflYyv+aCSQb45qw8AstLJz2uFcnDbyXar8fnheqh0kG+tEgeLfBOVPFhkpSMOFlnpiINFVjriYKMmsMhKRxwsstIRB4usisTBalJQyDcliYNFvilJHqwmBYV8m5E8WE0KCvnGIXmwmhQU8q1A8mA1KSjkm3vkwWpSUMi368iD1aSgkG/AkQerSUEh31IjD1aTgkK+SUYe7Cp5NrSnFW5o8QAs8r0d8mBXOY2je344uqNtjHxLgjzYVU7jLrCrnMZdYFepZ7vArlLPdoFdJc/G/HxfKdaj95WQnfvlwa5Sz3aBXaWe7QK7jILqARs1gV1GQfWA5VRQbwA4VdEbAE6l8waAU718AEB2RA/h9bp4iBKTSsge5/JggRWJPFhgRSIPNmoCC6xI5MECK5Lvge0Y3kH285YHC6x05MECqyJpsAnZRVse7DIKqgfsMgqqB+wyCqoHbOQAm+J+2ZaQPaP7AJAonWMAwOolfgCIn27Q+wQAWJH0AUBWGTW8ANRwcmI5tz1jds6/mfBG/wYX2Z/4CrjISuMCuMha4wK4yGrjArhRF1xkdXIBXGQtcwFc5L7NBXCROzcXwNWlqpB9bq+Aq0tVITvdXgFXl6pCdsa9Aq4uVYXsjnsFXF2qCtkh9wq4ulQVskvuFXB1qSpkp9wr4OpSVchuuVfA1aWqkB1zr4CrS1Uhu/FeAVeXqkJ25L0Cri5VhezKewVcXaoK2Zn3Cri6VBWyO+8VcHWpKmSH3ivg6lJVyC69V8DVpaqQnXqvgKtLVSG79V4BV5eqQnbsvQKuLlWF7Np7BVxdqgrZufcKuLpUFbJ77xVwdakqZAffK+DqUlXILr5XwNWlqrIuVYXs0nwBXGSf5ivg6lJVRZeqQvbhvgJu1AVXl6pCduO+Aq4uVYXsyH0FXF2qCtmV+wq4ulQVsjP3FXB1qSpkd+4r4OpSVcgO3VfA1aWqkN2/r4CrS1VBO4tfAFeXqoJ2F78Ari5VBe0wfgFcXaoK2mX8Ari6VBW00/gFcFWpqgztNn4BXFWqKkM7jl8AV5WqylvUBVeVqsrQjuYXwFWlqjKyW/oVcHWpKl3e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rW5a2edXmrZ13e6lmXt3rR5a1edHmrF13e6kWXt3rZoi64qlRV0eWtXnR5qxdd3upFl7d60eWtXnR5qxdd3upFl7d60eWtXnR5qxdd3upFl7d60eWtXnR5qxdd3upFl7d60eWtXnR5qxdd3upFl7d60eWtXnR5qxdd3upFl7d60eWtXnR5qxdd3upFl7d60eWtXnR5qxdd3upFl7d60eWtXnR5qxdd3upFl7d60eWtXnR5qxdd3upFl7d60eWtXnR5qxdd3upFl7d60eWtXnR5qxdd3upFl7d60eWtXnR5qxdd3upFl7d60eWtXnR5qxdd3upFl7d60eWtXnR5qxdd3upFl7d60eWtXnR5qxdd3upFl7d60eWtXnR5qxdd3upFl7d60eWtXnR5qxdd3upFl7d60eWtXnR5q5dl7Kirf364+s9/+Q3sKmmoC+wqx1SN+RlyLEdgVzmkusCuckT1gF3GprgL7CpFXxdYzpLvDQBn7nwDAJwPU/CvD7ftTOsk355aJ5W3vx0/bTjgsuwKuMBl2RVwgfXOFXCBFc8VcIE1jzzcimwjfAVcYN1zBVxg5XMFXGCddAXcqAuuKlVVkW2Er4CrSlVVZBvhK+DqUlXINsJXwNWlqpBthK+Aq0tVIdsIXwFXl6pCthG+Aq4uVYVsI3wFXF2qCtlG+Aq4ulQVso3wFXB1qSpk59Vvwe14I6Yi+66Kg0X25fwe2PNXCSqyK6c82FWOqC6wURPYVYq+LrCcJd8bAM7c+QYAOB8W754ffmS7k+0Wc/n94U/vOn3ebsBFmThYZLdMebDASkceLLDSkQcLrHTkwUZNYIGVjjxYYKUjDxZYFcmD1aSgkL0xxcEiO2PKg9WkoJBdMeXBalJQyI6Y8mA1KShkN0x5sJoUFLITpjxYTQoK2QVTHqwmBYXsgCkPVpOCQna/lAerSUEhO1/Kg9WkoJBdL+XBalJQyI6X8mA1KShkt0t5sJoUFLLTpTxYTQoK2eVSHqwmBYXscCkPVpOCqpoUVNWkoKomBYVs0ioPNmoCq0lBVU0KCtl+Vx6sJgWFbL8rDhbZflcerCYFhWy/Kw9Wk4JCtvWVB6tJQSFb+sqD1aSgkO185cEqUlAN2cpXHqwiBdWQbXzlwSpSUG2LmsAqUlAN2b5XHqwiBdWQrXvlwWpSUMi2vfJgNSkoZMteebCaFBSyXa88WE0KCtmqVx6sJgWFbNMrD1aTgkK26JUHq0lBIdvzyoPVpKB81ARWk4LymhQUssO0PFhNCsprUlBBk4JC9g6XB6tJQSF7h8uDjZrAalJQyN7h8mA1KShNnuRNkyd50+RJ3jR5kjdNnuRNkyd50+RJ3jR5kjdNnuRNkyd50+RJ3jR5kjdNnuRNkyd50+RJ3jR5kjdNnuRNkyd50+RJ3jR5kjdNnuRNkyd50+RJ3jR5kjdNnuRNkyd50+RJ3jR5kjdNnuRNkyd50+RJ3jR5kjdNnuRNkyd50+RJ3jR5kjdNnuRNkyd50+RJ3jR5kjdNnuRNkyd50+RJ3pYxc3584hmyj0dgV0k9XWBXOaBqzM+QYzkCu8oB1QN2GcvfLrCrlHhdYFcp8brAcpZ4bwA4c+cbAOB8WNMzxeVW88l286GEVxy1vcXh3+ECF2NXwAUux66AC6x3roALrHjE4foN2aT3CrjAqucKuMC65wq4wMrnCrhRF1xNquoBV5OqesDVpKoecDWpqgdcXaoK2bj3Cri6VBWyee8VcHWpKmQD3yvg6lJVyCa+V8DVpaqQjXyvgKtLVSGb+V4BV5eqQjb0vQKuLlWFbOp7BVxdqgrZ2PcKuLpUFbK57xVwdakqZIPfK+DqUlXIJr9XwNWlqpCNfq+Aq0tVIZv9XgFXl6pCNvy9Aq4uVYVs+nsFXF2qCtn49wq4ulQVsvnvFXB1qSpkA+Ar4OpSVcgmwFfA1aWqkI2Ar4CrS1UhmwFfAVeXqkI2BL4Cri5VhWwKfAVcXaoK2Rj4Cri6VBWyOfAVcHWpKmSD4Cvg6lJVyCbBV8DVpaqQjYKvgKtLVSGbBV8BV5eqQjYMvgKuLlWFbBp8BVxdqgrZOPgKuLpUFbJ58BVwdakqZAPhK+DqUlXIJsJXwNWlqqouVVV1qSpkT+wr4OpSVVWXqqq6VBWy6/kVcHWpKmTn8yvg6lJVyO7nV8DVpaqQ3dKvgKtLVanyVn/A1aWqVHmrP+CqUlVOl7e60+Wt7nR5qztd3upui7rgqlJVTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre50eas7Xd7qTpe3utPlre51eat7Xd7qfhk76uqfH67+819+A7tKGuoCu8oxVWN+hhzLAdhlrIq7wK5yRHWBXaXs6wK7StHXBTZSgn0DwJk73wDg5sOy+fL7w2V7Vy/j2w23KLsALG5JdgFYXKUjDxbYPvgCsLhK5wKwuErnArC4SucCsFETWFxVdAFYTQoK2DD4ArCaFBSwWbA8WGCr4AvAalJQwDbBF4DVpKCALYIvAKtJQQHbA18AVpOCArYGvgCsJgUFbAt8AVhNCgrYEvgCsJoUFLAd8AVgNSkoYLPY74EN7flvlqEdvdUCbBUrDxbYSvR7YKN7buPojrYxsJHoBWBXOY27wK5yGneBXaWe7QK7Sj3bBXaVPBvz88OxhiOwq+TZHrDA1qEXgF2lnu0Cu4yC6gG7jILqARs1gV1GQfWAXUZB9YBdRkH1gNWkoICNQuXBAtuEXgCWU0G9AeBURW8AgJXO4088Abh4CCCyAwBWJM63F4C2/fPnHXZgq80LwAIrEnmwwIpEHiywIhEHC2yxeQFYYEUiDxZYvciDRVY64mCjJrCaFBSwreYFYDUpKGBLzQvAalJQwHaaF4DVpKCArTQvAKtJQQHbaF4AVpOCArbQvACsJgUFbJ95AVhFCioAW2deAFaRggqbIgUVNkUKKmxRE9hV8mzHNEXYVsmzPWCBPUK/B7bjzewA7BF6AdhVTuMusKucxl1gV6lnu8CuUs92gV0lz3a8HheQvUflwa5Sz/aARfYelQe7jILqAbuMguoBu4yC6gEbNYFdRkH1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V8jlclWeG7qvkMvlqjy3f18hl8tVuW4Wv0Aul6ty3S5+gVwuV+W6YfwCuVyuynXL+AVyuVyV66bxC+RSuarium38ArlUrqq4bhy/QC6VqypL5pJL5aqK60bzC+RSuariuS39CrlcroqrW71wdasXrm71wtWtXri61QtXt3rh6lYvXN3qhatbvXB1qxeubvXC1a1euLrVC1e3euHqVi9c3eqFq1u9cHWrF65u9cLVrV64utULV7d64epWL1zd6oWrW71wdasXrm71wtWtXri61QtXt3rh6lYvXN3qhatbvXB1qxeubvXC1a1euLrVC1e3euHqVi9c3eqFq1u9cHWrF65u9cLVrV64utULV7d64epWL1zd6oWrW71wdasXrm71wtWtXri61QtXt3rh6lYvXN3qhatbvXB1qxeubvXC1a1euLrVC1e3euHqVi9c3eqFq1u9cHWrF65u9cLVrV64utULV7d64epWL1zd6oWrW71wdasXrm71wtWtXri61QtXt3rh6lYvXN3qhatbvXB1qxeubvXC1a1euLrVC1e3euHqVi9c3eqFq1u9cHWrV65u9crVrV65utUrV7d6XTKXXCpXVbm61StXt3rl6lavXN3qlatbvXJ1q1eubvXK1a1eubrVK1e3euXqVq9c3eqVq1u9cnWrV65u9crVrV65utUrV7d65epWr1zd6pWrW71ydatXrm71ytWtXrm61StXt3rl6lavXN3qlatbvXJ1q1eubvXK1a1eubrVK1e3euXqVq9c3eqVq1u9cnWrV65u9crVrV65utUrV7d65epWr1zd6pWrW71ydatXrm71ytWtXrm61StXt3rl6lavXN3qlatbvXJ1q1eubvXK1a1eubrVK1e3euXqVq9c3eqVq1u9cnWrV65u9crVrV65utUrV7d65epWr1zd6pWrW71ydatXrm71ytWtXrm61StXt3qdpo76WO8vPtbf73wSO8sYMomd5TJ15HI/cq49sbNcpExiZ7lEWcROU1NsEjtL6DOJjRn5TgJizs6TAMfzcN/Wx4vb8srr7Gu7e529nt47//oH5ziWXSHXcSy7Qq5jv3OFXMeO5wq5jj0PXu7huUb4CrmOfc8Vch07nyvkOvZJV8jNXHKpXNXhuUb4CrlUrurwXCN8hVwuV+W5RvgKuVyuynON8BVyuVyV5xrhK+RyuSrPNcJX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5bkx9wq5XK7KcxvvFXK5XJXnRt4r5HK5Ks+tvFfI5XJVnpt5r5DL5ao8t/NeIZfLVXlu6L1CLper8tzSe4VcLlfluan3CrlcrspzW+8VcrlclefG3ivkcrkqz629V8jlclWem3uvkMvlqjy3914hl8tVeW7wvUIul6vy3OJ7hVwuV1W4XJXnluYL5Hruab5CLperqlyuynMP9xVyM5dcLlfluY37CrlcrspzI/cVcrlcledW7ivkcrkqz83cV8jlclWe27mvkMvlqjw3dF8hl8tVeW7/vkIul6ty3Sx+gVwuV+W6XfwCuVyuynXD+AVyuVyV65bxC+RyuSrXTeMXyKVyVcV12/gFcqlcVXHdOH6BXCpXVZbMJZfKVRXXjeYXyKVyVcVzW/oVcrlcFVe3euHqVi9c3eqFq1u9cHWrF65u9cLVrV64utULV7d64epWL1zd6oWrW71wdasXrm71wtWtXri61QtXt3rh6lYvXN3qhatbvXB1q5eNy1VxdasXrm71wtWtXri61QtXt3rh6lYvXN3qhatbvXB1qxeubvXC1a1euLrVC1e3euHqVi9c3eqFq1u9cHWrF65u9cLVrV64utULV7d64epWL1zd6oWrW71wdasXrm71wtWtXri61QtXt3rh6lYvXN3qhatbvXB1qxeubvXC1a1euLrVC1e3euHqVi9c3eqFq1u9cHWrF65u9cLVrV64utULV7d64epWL1zd6oWrW71wdasXrm71wtWtXri61QtXt3rh6lYvXN3qhatbvXB1qxeubvXC1a1euLrVC1e3euHqVi9c3eqFq1u9cHWrF65u9cLVrV64utUrV7d65epWr1zd6pWrW70umUsulauqXN3qlatbvXJ1q1eubvXK1a1eubrVK1e3euXqVq9c3eqVq1u9cnWrV65u9crVrV65utUrV7d65epWr1zd6pWrW71ydatXrm71ytWtXrm61StXt3rl6lavXN3qlatbvXJ1q1eubvXK1a1eubrVK1e3euXqVq9c3eqVq1u9cnWrV65u9crVrV65utUrV7d65epWr1zd6pWrW71ydatXrm71ytWtXrm61StXt3rl6lavXN3qlatbvXJ1q1eubvXK1a1eubrVK1e3euXqVq9c3eqVq1u9cnWrV65u9crVrV65utUrV7d65epWr1zd6pWrW71ydatXrm71ytWtXrm6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i/7s8XW3LjS+7taFxtfdutD4ulsXGl936yJh8am7daHxdbcuNL7w1kXGF966yPjCWxcZX3jrIuMLb11kfOGti4wvvHWR8afeutsy9dbdlqm37rZMvXW3Zeqtuy1Tb91tmXrrbsvUW3dbpt662zL11t2WubfuOvfWXefeuuvcW3ede+uuc2/dde6tu869dde5t+4699Zd596629xbd5t7625zb91t7q37r+8ds8cf/72/vCb6YnEjjg+807ARLsFeOv5z6vEJV1UvHX+de/xt7vH3ucdvc49/m3v8+9zjz711d92tC7xJuO26Wxd4HWlrulsXGl9360Lj625daHzdrQuNr7t1ofF1ty4SFpvu1oXG19260PjCWxcZX3jrAuPfhLcuMr7w1kXGF966yPjCWxcZX3jrIuPPvXVvc2/d29xb9zb31r3NvXXvc2/d+9xb9z731r3PvXUJF5YuHX/urXufe+ve596697m37n3urXvMvXWPubfuMffWPebeuoTrSJeOP/fWPebeusfcW/eYe+sec2/dx9xbd/w+z7q9/pVtPVbi+Mg7DeP3ea4d/zb3+Pe5xz/mHv8x9/jPqccfv89z7fjr3ONvc48/99Ydv8/zsfGRNwmfulsXeR3pqbt1ofF1ty40vu7WhcbX3brA+Puiu3Wh8XW3LhAW90V360Lj625daHzhrYuML7x1kfGFty4yvvDWRcYX3rrI+MJbFxh/Fd66yPhzb9117q27zr11x+/zXDv+3Ft3nXvrrnNv3XXurbvOvXW3ubfuNvfW3ebeutvcW3f8Ps+148+9dbe5t+4299bd5t6629xbd5976+5zb9197q27z711x68jXTv+3Ft3n3Lr/uc//wU="
573
701
  },
574
702
  {
575
703
  "name": "is_valid_public",
@@ -751,7 +879,23 @@
751
879
  { "name": "chain_id", "type": { "kind": "field" } },
752
880
  { "name": "version", "type": { "kind": "field" } },
753
881
  { "name": "block_number", "type": { "kind": "field" } },
754
- { "name": "timestamp", "type": { "kind": "field" } }
882
+ { "name": "timestamp", "type": { "kind": "field" } },
883
+ {
884
+ "name": "coinbase",
885
+ "type": {
886
+ "kind": "struct",
887
+ "path": "authwit::aztec::protocol_types::address::EthAddress",
888
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
889
+ }
890
+ },
891
+ {
892
+ "name": "fee_recipient",
893
+ "type": {
894
+ "kind": "struct",
895
+ "path": "authwit::aztec::protocol_types::address::AztecAddress",
896
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
897
+ }
898
+ }
755
899
  ]
756
900
  }
757
901
  }
@@ -767,7 +911,23 @@
767
911
  { "name": "chain_id", "type": { "kind": "field" } },
768
912
  { "name": "version", "type": { "kind": "field" } },
769
913
  { "name": "block_number", "type": { "kind": "field" } },
770
- { "name": "timestamp", "type": { "kind": "field" } }
914
+ { "name": "timestamp", "type": { "kind": "field" } },
915
+ {
916
+ "name": "coinbase",
917
+ "type": {
918
+ "kind": "struct",
919
+ "path": "authwit::aztec::protocol_types::address::EthAddress",
920
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
921
+ }
922
+ },
923
+ {
924
+ "name": "fee_recipient",
925
+ "type": {
926
+ "kind": "struct",
927
+ "path": "authwit::aztec::protocol_types::address::AztecAddress",
928
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
929
+ }
930
+ }
771
931
  ]
772
932
  }
773
933
  }
@@ -777,7 +937,7 @@
777
937
  },
778
938
  { "name": "message_hash", "type": { "kind": "field" }, "visibility": "private" }
779
939
  ],
780
- "param_witnesses": { "inputs": [{ "start": 0, "end": 30 }], "message_hash": [{ "start": 30, "end": 31 }] },
940
+ "param_witnesses": { "inputs": [{ "start": 0, "end": 34 }], "message_hash": [{ "start": 34, "end": 35 }] },
781
941
  "return_type": {
782
942
  "abi_type": {
783
943
  "kind": "struct",
@@ -1023,7 +1183,23 @@
1023
1183
  { "name": "chain_id", "type": { "kind": "field" } },
1024
1184
  { "name": "version", "type": { "kind": "field" } },
1025
1185
  { "name": "block_number", "type": { "kind": "field" } },
1026
- { "name": "timestamp", "type": { "kind": "field" } }
1186
+ { "name": "timestamp", "type": { "kind": "field" } },
1187
+ {
1188
+ "name": "coinbase",
1189
+ "type": {
1190
+ "kind": "struct",
1191
+ "path": "authwit::aztec::protocol_types::address::EthAddress",
1192
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
1193
+ }
1194
+ },
1195
+ {
1196
+ "name": "fee_recipient",
1197
+ "type": {
1198
+ "kind": "struct",
1199
+ "path": "authwit::aztec::protocol_types::address::AztecAddress",
1200
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
1201
+ }
1202
+ }
1027
1203
  ]
1028
1204
  }
1029
1205
  }
@@ -1043,22 +1219,22 @@
1043
1219
  "visibility": "public"
1044
1220
  },
1045
1221
  "return_witnesses": [
1046
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1047
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1048
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1049
- 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1050
- 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1051
- 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
1052
- 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
1053
- 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
1054
- 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231
1222
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1223
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1224
+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1225
+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1226
+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
1227
+ 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
1228
+ 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
1229
+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
1230
+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237
1055
1231
  ]
1056
1232
  },
1057
- "bytecode": "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",
1058
- "debug_symbols": "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4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4B5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R7OLriIux8x/BHHHzn4I4E/kvgjhT/S+CODP4LfvuG3b/jtG377ht++4bdv+O0bfvuG377ht2/47Tt++47fvuO37/jtO377jt++47fv+O07fvuO3/7Bb//gt3/w2z/47R/89g9++we//YPf/sFv/+C3H/jtB377gd9+4Lcf+O0HfvuB337gtx/47Qd++4nffuK3n/jtJ377id9+4ref+O0nfvuJ337it1/47Rd++4XffuG3X/jtF377hd9+4bdf+O0XfvuN337jt9/47Td++43ffuO33/jtN377jd9+47c/+O0PfvuD3/7gtz/47Q9++4Pf/uC3P/jtD377i9/+4re/+O0vfvuL3/7it7/47S9++4vfPt71Gd71Gd71Gd71Gd713b/14o8k/kjhjzT+yOCP4LePd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Gd32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32Od32OdH1/+IfXpc+XV2bk22vj67vXU9+9n/ru89R33x95d5/Mx2vvf257e31f77z87lofL76+vvW5HsMgjefzhzGmYZxpmPO0YR6fEE//hHz6J9TTP6F/8BM23j6hrvnBH4phGmaJhtmLaRhjGsaZhjlMwwTTMMk0TDENw5TAy5TAS5TA5yJK4HMRJfC5iBL4XEQJfC6iBD4XUQKfiyiBz0WUwOciSuBzMSWwMSWwMSWwMSWwMSWwMSWwMSWwMSWwMSWwMSWwMSWwMyWwMyWwMyWwMyWwMyWwMyWwMyWwMyWwMyWwMyXwYUrgw5TAhymBD1MCH6YEPkwJfJgS+DAl8GFK4MOUwMGUwMGUwMGUwMGUwMGUwMGUwMGUwMGUwMGUwMGUwMmUwMmUwMmUwMmUwMmUwMmUwMmUwMmUwMmUwMmUwMWUwMWUwMWUwMWUwMWUwMWUwMWUwMWUwMWUwMWUwM2UwM2UwM2UwM2UwM2UwM2UwM2UwM2UwM2UwM2UwMOUwMOUwMOUwMOUwMOUwMOUwMOUwExM3GFi4g4TE3eYmLjDxMQdJibuMDFxh4mJO0xM3GFi4g4TE3eYmLjDxMQFExMXTExcMDFxwcTExUWUwMHExAUTExdMTFwwMXHBxMQFExMXTExcMDFxwcTEBRMTF0xMXDAxccHExAUTExdMTFwwMXHBxMQFExMXTExcMDFxwcTEBRMTF0xMXDAxccHExAUTExdMTFwwMXHBxMQFExMXTExcMDFxwcTEBRMTF0xMXDAxccHExAUTExdMTFwwMXHBxMQFExMXTExcMDFxwcTEBRMTF0xMXDAxccHExAUTExdMTFwwMXHBxMQFExMXTExcMDFxwcTEBRMTF0xMXDAxccHExAUTExdMTFwwMXHBxMQFExMXTExcMDFxwcTEBRMTF0xMXDAxccHExAUTExdMTFwwMXHBxMQFExMXTExcMDFxwcTEBRMTF0xMXDAxccHExAUTExdMTFwwMXHBxMQFExMXTExcMDFxwcTEBRMTF0xMXDIxccnExCUTE5dMTFxeRAmcTExcMjFxycTEJRMTl0xMXDIxccnExCUTE5dMTFwyMXHJxMQlExOXTExcMjFxycTEJRMTl0xMXDIxccnExCUTE5dMTFwyMXHJxMQlExOXTExcMjFxycTEJRMTl0xMXDIxccnExCUTE5dMTFwyMXHJxMQlExOXTExcMjFxycTEJRMTl0xMXDIxccnExCUTE5dMTFwyMXHJxMQlExOXTExcMjFxycTEJRMTl0xMXDIxccnExCUTE5dMTFwyMXHJxMQlExOXTExcMjFxycTEJRMTl0xMXDIxccnExCUTE5dMTFwyMXHJxMQlExOXTExcMjFxycTEJRMTl0xMXDIxccnExCUTE5dMTFwyMXHJxMQlExOXTExcMjFxycTEJRMTl0xMXDIxccnExCUTE5dMTFwyMXHJxMQVExNXTExcMTFxxcTE1UWUwMXExBUTE1dMTFwxMXHFxMQVExNXTExcMTFxxcTEFRMTV0xMXDExccXExBUTE1dMTFwxMXHFxMQVExNXTExcMTFxxcTEFRMTV0xMXDExccXExBUTE1dMTFwxMXHFxMQVExNXTExcMTFxxcTEFRMTV0xMXDExccXExBUTE1dMTFwxMXHFxMQVExNXTExcMTFxxcTEFRMTV0xMXDExccXExBUTE1dMTFwxMXHFxMQVExNXTExcMTFxxcTEFRMTV0xMXDExccXExBUTE1dMTFwxMXHFxMQVExNXTExcMTFxxcTEFRMTV0xMXDExccXExBUTE1dMTFwxMXHFxMQVExNXTExcMTFxxcTEFRMTV0xMXDExccXExBUTE1dMTFwxMXHFxMQVExNXTExcMTFxxcTEFRMTV0xMXDMxcc3ExDUTE9dMTFxfRAncTExcMzFxzcTENRMT10xMXDMxcc3ExDUTE9dMTFwzMXHNxMQ1ExPXTExcMzFxzcTENRMT10xMXDMxcc3ExDUTE9dMTFwzMXHNxMQ1ExPXTExcMzFxzcTENRMT10xMXDMxcc3ExDUTE9dMTFwzMXHNxMQ1ExPXTExcMzFxzcTENRMT10xMXDMxcc3ExDUTE9dMTFwzMXHNxMQ1ExPXTExcMzFxzcTENRMT10xMXDMxcc3ExDUTE9dMTFwzMXHNxMQ1ExPXTExcMzFxzcTENRMT10xMXDMxcc3ExDUTE9dMTFwz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"
1233
+ "bytecode": "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",
1234
+ "debug_symbols": "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ww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cww3cwx24hztwD3fgHu7APdyBe7gD93AH7uEO3MMduIc7cA934B7uwD3cgXu4A/dwB+7hDtzDHbiHO3APd+Ae7sA93IF7uAP3cAfu4Q7cwx24hztwD3fgHu7APdyBe7gD93AH7uEO3MMduIc7cA934B7uwD3cgXu4A/dwB+7hDtzDHbiHO3APd+Ae7sA93IF7uAP3cAfu4Q7cwx24hztwD3fgHu7APdyBe7gD93AH7uEO3MMduIc7cA934B7uwD3cgXu4A/dwB+7hDtzDHbiHO3APd+Ae7sA93IF7uAP3cAfu4Q7cwx24hztwD3fgHu7APdyBe7gD93AH7uEO3MMduIc7cA934B7uwD3cgXu4A/dwB+7hDtzDHbiHO3APd+Ae7sA93IF7uAP3cAfu4Q7cwx24hztwD3fgHu7APdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPdzCPZxdcBF3X2L4JY5fEvgliV9S+CWNXzL4JQe/BD99w0/f8NM3/PQNP33DT9/w0zf89A0/fcNP3/DTd/z0HT99x0/f8dN3/PQdP33HT9/x03f89B0//cBPP/DTD/z0Az/9wE8/8NMP/PQDP/3ATz/w00/89BM//cRPP/HTT/z0Ez/9xE8/8dNP/PQTP/3CT7/w0y/89As//cJPv/DTL/z0Cz/9wk+/8NNv/PQbP/3GT7/x02/89Bs//cZPv/HTb/z0Gz/9wU9/8NMf/PQHP/3BT3/w0x/89Ac//cFPf/DTP/jpH/z0D376Bz/9g5/+wU//4Kd/8NM/+Okf/PQXP/3FT3/x01/89Bc//cVPf/HTX/z0Fz99vOszvOszvOszvOszvOu7f+rFLyn8ksYvGfySg1+Cnz7e9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Rne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9Tne9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9QXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9SXe9RXe9RXe9RXe9RXe9RXe9RXe9RXe9RXe9RXe9RXe9RXe9RXS9f3hb17X1357ZXu/vTbP2939qXePp949n3r3+jV3vz8b315ZXm+v7XrnpTbz7aV+fb9t2NsgzTLIsAxyWAbZpwzy7e5INfyBu9tT7+5PvfuvypXK87h7+6/7BvBkGaRYBmmWQYZlkMMyyJIMEhfLIMYyiLMMwpKswZKswZKswZKswZKswZKswZKsyZKsyZKsyZKsyZKsyZKsyZKsyZKsyZKsyZKsyZKsxZKsxZKsxZKsxZKsxZKsxZKsxZKsxZKsxZKsxZKszZKszZKszZKszZKszZKszZKszZKszZKszZKszZKsw5Ksw5Ksw5Ksw5Ksw5Ksw5Ksw5Ksw5Ksw5Ksw5KshyVZD0uyHpZkPSzJeliS9bAk62FJ1sOSrIclWQ9Lsi5Lsi5Lsi5Lsi5Lsi5L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nU6r7HRaZafTKjudVtnptMpOp1V2Oq2y02mVnU6r7HRaZafTKjudVtnptMpOp1V2Oq2y02mVnU6r7HRaZafTKjudVtnptMpOp1V2Oq2y02mVnU6r7HRaZafTKjudVtnptMpOp1V2Oq2y02mVnU6r7HRaZafTKjudVtnptMpOp1V2Oq2y02mVnU6r7HRaZafTKjudVtnptMpOp1V2Oq2y02mVnU6r7HRaZafTKjudVtnptMpOp1V2Oq2y02mVnU6r7HRaZafTKjudVtnptMpOp1V2Oq2y02mVnU6r7HRaZafTKjudVtnptMpOpxV2OsUl7HS6h9fdsPfwuhv2Hl53w97D627Ye3jdDXsPr7th7+F1N+w9vO6GvYdX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOUNK+x0uodX3rDCTqd7eOENa8pOJ1N2Opmy08mUnU52CW9YU3Y6mbLTyZSdTqbsdDJlp5MpO51M2elkyk4nU3Y6mbLTyZSdTqbsdDJlp5MpO51M2elkyk4nU3Y6mbLTyZSdTqbsdDJlp5MpO51M2elkyk4nU3Y6mbLTyZSdTqbsdDJlp5MpO51M2elkyk4nU3Y6mbLTyZSdTqbsdDJlp5MpO51M2elkyk4nU3Y6mbLTyZSdTqbsdDJlp5MpO51M2elkyk4nU3Y6mbLTyZSdTqbsdDJlp5MpO51M2elkyk4nU3Y6mbLTyZSdTqbsdDJlp5MpO51M2elkyk4nU3Y6mbLTyZSdTqbsdDJlp5MpO51M2elkyk4nU3Y6mbLTyZSdTqbsdDJlp5MpO51M2elkyk4nU3Y6mbLTyZSdTqbsdDJlp5MpO51M2elkyk4nU3Y6mbLTyZSdTqbsdDJlp5MpO51M2enkyk4nV3Y6ubLTyZWdTn4Jb1hXdjq5stPJlZ1Orux0cmWnkys7nVzZ6eTKTidXdjq5stPJlZ1Orux0cmWnkys7nVzZ6eTKTidXdjq5stPJlZ1Orux0cmWnkys7nVzZ6eTKTidXdjq5stPJlZ1Orux0cmWnkys7nVzZ6eTKTidXdjq5stPJlZ1Orux0cmWnkys7nVzZ6eTKTidXdjq5stPJlZ1Orux0cmWnkys7nVzZ6eTKTidXdjq5stPJlZ1Orux0cmWnkys7nVzZ6eTKTidXdjq5stPJlZ1Orux0cmWnkys7nVzZ6eTKTidXdjq5stPJlZ1Orux0cmWnkys7nVzZ6eTKTidXdjq5stPJlZ1Orux0cmWnkys7nVzZ6eTKTidXdjq5stPJlZ1Orux0cmWnkys7nVzZ6eTKTidXdjq5stPJlZ1Orux0cmWnkys7nVzZ6RTKTqdQdjqFstMplJ1OcQlv2FB2OoWy0ymUnU6h7HQKZadTKDudQtnpFMpOp1B2OoWy0ymUnU6h7HQKZadTKDudQtnpFMpOp1B2OoWy0ymUnU6h7HQKZadTKDudQtnpFMpOp1B2OoWy0ymUnU6h7HQKZadTKDudQtnpFMpOp1B2OoWy0ymUnU6h7HQKZadTKDudQtnpFMpOp1B2OoWy0ymUnU6h7HQKZadTKDudQtnpFMpOp1B2OoWy0ymUnU6h7HQKZadTKDudQtnpFMpOp1B2OoWy0ymUnU6h7HQKZadTKDudQtnpFMpOp1B2OoWy0ymUnU6h7HQKZadTKDudQtnpFMpOp1B2OoWy0ymUnU6h7HQKZadTKDudQtnpFMpOp1B2OoWy0ymUnU6h7HQKZadTKDudQtnpFMpOp1B2OoWy0ymUnU6h7HQKZadTKDudQtnplMpOp1R2OqWy0ymVnU55CW/YVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2elUyk6nUnY6lbLTqZSdTnUJb9hSdjqVstOplJ1Opex0KmWnUyk7nUrZ6VTKTqdSdjqVstOplJ1Opex0KmWnUyk7nUrZ6VTKTqdSdjqVstOplJ1Opex0KmWnUyk7nUrZ6VTKTqdSdjqVstOplJ1Opex0KmWnUyk7nUrZ6VTKTqdSdjqVstOplJ1Opex0KmWnUyk7nUrZ6VTKTqdSdjqVstOplJ1Opex0KmWnUyk7nUrZ6VTKTqdSdjqVstOplJ1Opex0KmWnUyk7nUrZ6VTKTqdSdjqVstOplJ1Opex0KmWnUyk7nUrZ6VTKTqdSdjqVstOplJ1Opex0KmWnUyk7nUrZ6VTKTqdSdjqVstOplJ1Opex0KmWnUyk7nUrZ6VTKTqdSdjqVstOplJ1Opex0KmWnUyk7nUrZ6VTKTqdSdjqVstOplJ1Opex0KmWnUyk7nUrZ6dTKTqdWdjq1stOplZ1OfQlv2FZ2OrWy06mVnU6t7HRqZadTKzudWtnp1MpOp1Z2OrWy06mVnU6t7HRqZadTKzudWtnp1MpOp1Z2OrWy06mVnU6t7HRqZadTKzudWtnp1MpOp1Z2OrWy06mVnU6t7HRqZadTKzudWtnp1MpOp1Z2OrWy06mVnU6t7HRqZadTKzudWtnp1MpOp1Z2OrWy06mVnU6t7HRqZadTKzudWtnp1MpOp1Z2OrWy06mVnU6t7HRqZadTKzudWtnp1MpOp1Z2OrWy06mVnU6t7HRqZadTKzudWtnp1MpOp1Z2OrWy06mVnU6t7HRqZadTKzudWtnp1MpOp1Z2OrWy06mVnU6t7HRqZadTKzudWtnp1MpOp1Z2OrWy06mVnU6t7HRqZadTKzudWtnp1MpOp1Z2OrWy06mVnU6t7HRqZadTKzudWtnpNMpOp1F2Oo2y02mUnU5zCW/YUXY6jbLTaZSdTqPsdBplp9MoO51G2ek0yk6nUXY6jbLTaZSdTqPsdBplp9MoO51G2ek0yk6nUXY6jbLTaZSdTqPsdBplp9MoO51G2ek0yk6nUXY6jbLTaZSdTqPsdBplp9MoO51G2ek0yk6nUXY6jbLTaZSdTqPsdBplp9MoO51G2ek0yk6nUXY6jbLTaZSdTqPsdBplp9MoO51G2ek0yk6nUXY6jbLTaZSdTqPsdBplp9MoO51G2ek0yk6nUXY6jbLTaZSdTqPsdBplp9MoO51G2ek0yk6nUXY6jbLTaZSdTqPsdBplp9MoO51G2ek0yk6nUXY6jbLTaZSdTqPsdBplp9MoO51G2ek0yk6nUXY6jbLTaZSdTqPsdBplp9MoO51G2ek0yk6nUXY6jbLTaZSdTqPsdBplp9MoO51G2el0lJ1OR9npdJSdTkfZ6XQu4Q17lJ1OR9npdJSdTkfZ6XSUnU5H2el0lJ1O59lOp8fbxGveJl/zNvWat/mMTWCbb29z6gffWP/o1Y+hhnGowzjUEg71KW6fTx/KGIdyxqGCcah89VDtj1vf/zr+o9de++217f322jxv05f09C09/UhPf3imf4y0dCPFxTeS8Y0Eb5vHhfHRC/OjF9ZHL+yPXjgfvfB89ML94IW4d+JxoX30wo9+5+RHv3Pyo985+dHvnPzod05+9Dvn73Dlnvt24ekfRMS8vXh+9tf0eHuLffpb/B1G+1Pfwp7/Fv7r38I2HkWI7eSPfui9Lnu8+qr4+e5/bxNkv60CKz/fb369/azwd7BnrWfIL/AM9QWeob/AM8wXeIbzBZ5h9Z+hry/wDPYFnuEL7On+Anu6v8Ce7i+wp/sL7On+Anu6mfb0YyamvfttpmHao4+ZmPbiY6bX7zl76w/NflY2vvuZ+GHXOCE+f4rPX+LzN/X849/bpOsHN+59TDH2fYh8qwFnfj+Pen4/j7q/m0c91+/nUe3386jcP4F86qNy/7DyqY+az33Ux9vUa96mX/M285q3+ezteOyH34Ydb9+G+1ffL3/74hj/9tq0739lua96jL/S4++lPb5pj+/a44f2+Kk9fmmP39rjj/b42lt3pbfuXtJbdy/prbuX9NbdS3rr7iW9dfeS3rp7SW/dvaS37l7SW3cv7a1r2lvXtLeuaW9d0966pr11TXvrmvbWNe2ta9pb17S3rmtvXdfeuq69dV1767r21nXtrevaW9e1t65rb13X3rqhvXVDe+uG9tYN7a0b2ls3tLduaG/d0N66ob11Q3vrpvbWTe2tm9pbN7W3bmpv3dTeuqm9dVN766b21k3trVvaW7e0t25pb93S3rqfbo568fjaW7e0t25pb93S3rqlvXVbe+u29tZt7a3b2lv30z1QLx5fe+u29tZt7a3b2lu3tbfuaG/d0d66o711R3vrfrqd6sXja2/d0d66o711R3vrjvbWPdpb92hv3aO9dY/21v10d9KLx9feukd76x7travtplptN9Vqu6lW20212m6q1XZTrbabarXdVKvtplptN9Vqu6lW2k2Vl7Sb6h5feeve4ytv3Xt85a17j6+8de/xlbfuPb7y1r3HV9669/jKW/ceX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vG1t660m+oeX3vrSrup7vGlt65pu6lM201l2m4q03ZT2SW9dU3bTWXabirTdlOZtpvKtN1Upu2mMm03lWm7qUzbTWXabirTdlOZtpvKtN1Upu2mMm03lWm7qUzbTWXabirTdlOZtpvKtN1Upu2mMm03lWm7qUzbTWXabiqjclM9ZmJapY+ZmPbjYyampfeY6fWbzK98vNq9//HHwWLeHiCOf7+1z9sTtPwTjPwTHPknWPUn+A30T5/9BCb/BK7zBHu9+wQh/wSp/gS4FeRxYX70wvrohf3RC+ejF56PXrgfvBB3DTwu/IQ8m7cXT3+PnHh7C3/+W8Tz3yKf/xaf/XPu5I9S4brs8eqrvv9dLs+7P6hnv2WIlZ/vN7/O2zP0F3iG+QLPcL7AM6z+M3w6jv5bPIN9gWfwL/AM8QWeIb/AM3yBPT1fYE/PF9jT8wX29HyBPX2+wJ4+X2BPH6Y9/ZiJae8+ZmLao4+ZmPbiY6bX77n7H8/fvstP/ePPRL+9dmb/6saP+Ud8/iM+/2rPvxf1/OPfG7HrBzfufUwx9t4/E6/9fh7Vfz+PGr+fR83fz6PW7+dRuX8C+dRH5f5h5VMflfvnmk99VO4fgT7xUf168k9Lj7ex17yNv+Zt4jVv89nb8aX/Uaxro+eujZ67Nnru2ui5a6Pnro2euzZ67trouWuj566Nnrs2eu7a6Llro+eujZ67Nnru2ui5a6Pnro2euzZ67trouWuj566Nnrs2eu7a6Llro+eujZ47FXr+gfG1ty4V0P6B8bW3bmhv3dDeuqG9dUN764b21k3trZvaWze1t25qb93fgIX/1PG1t25qb93U3rqpvXVTe+uW9tYt7a1b2lu3tLcurmHhGl9765b21i3trVvaW7e0t25rb93W3rqtvXVbe+t+hkTqtxxfe+u29tZt7a3b2lu3tbfuaG/d0d66o711R3vrfrpz6sXja2/d0d66o711R3vrjvbWPdpb92hv3aO9dY/21v10Q9WLx9feukd76x7trXu0t+7R3rqrvXVXe+uu9tZd7a376Q6pF4+vvXVXe+uu9tZd7a270ls3LumtG5f01o1LeuvGJb1145LeuqHtpgptN1Vou6lC200V2m6q0HZThbabKrTdVKHtpgptN1Vou6lC200V2m6q0HZThbabKrTdVKHtpgptN1Vou6lC200V2m6q0HZThbabKrTdVKHtpgptN1Vou6lC200V2m6q0HZThbabKrTdVKHtpgptN1Vou6lC200V2m6q0HZThbabKrTdVKHtpgptN1Vou6lC200V2m6q0HZThbabKrTdVKHtpgptN1Vou6lC200V2m6q0HZThbabKrTdVKHtpgptN1Vou6lC200V2m6q0HZThbabKrTdVKHtpgptN1Vou6lC200V2m6q0HZThbabKrTdVKHtpgptN1Vou6lC200V2m6q0HZThbabKrTdVKHtpgptN1Vou6lC200V2m6q0HZThbabKrTdVKHtpgptN1Vou6lC200V2m6q0HZThbabKrXdVKntpkptN1Vqu6nykt66qe2mSm03VWq7qVLbTZXabqrUdlOltpsqtd1Uqe2mSm03VWq7qVLbTZXabqrUdlOltpsqtd1Uqe2mSm03VWq7qVLbTZXabqrUdlOltpsqtd1Uqe2mSm03VWq7qVLbTZXabqrUdlOltpsqtd1Uqe2mSm03VWq7qVLbTZXabqrUdlOltpsqtd1Uqe2mSm03VWq7qVLbTZXabqrUdlOltpsqtd1Uqe2mSm03VWq7qVLbTZXabqrUdlOltpsqtd1Uqe2mSm03VWq7qVLbTZXabqrUdlOltpsqtd1Uqe2mSm03VWq7qVLbTZXabqrUdlOltpsqtd1USeWmeszEtEofMzHtx28zUamhHjO9fpP5lY9Xu/c//jhYzNsDxPHvt/Z5ewKXf4KQf4KUf4KSf4KWf4KRf4Kj8wR7vfsEq/4Ev4EK6rOf4N0zuL5ddf1g9nl70Onv36Tx7eb1vrPjs25uz7y5P/Pm8cyb5zNvXs+8eT/z5vPMm59n3vyZn1B75ifUnvkJtWd+Qu2Zn1B75ifUnvkJtWd+Qu2Zn1B75ifUnvkJ9Wd+Qv2Zn1B/5ifUn/kJ9Wd+Qv2Zn1B/5ifUn/kJ9Wd+Qh34hH67JC78EsMvcfySX/WdfxeD9ih9z/X9/6r7LxuP++eT719Pvn8/8/71d35D2y+9v+18/9veX/6G9/j7W7734nPq8eLz879IXudtGqeaJqimSappimqaft0062+Vxdb17jRDNc2hmmaZppmLahqjmuaFWbz9eLFf17uf8AmqaV6XN3dD+n2aPO9OM1TTHKpplmmac1FNY1TTONU0QTVNUk1TVNNQZfGhyuJDlcWHKouXKouXKouXKouXKouXKouXKouXKouXKouXKouXKYvzYsrivJiyOC+mLM6LKYv/zq8S+c2mYcrivJiyOC+mLM6LKYvzospio8pio8pio8pio8pio8pio8pio8pio8pio8pio8pip8pip8pip8pip8pip8pip8pip8pip8pip8pip8rioMrioMrioMrioMrioMrioMrioMrioMrioMrioMripMripMripMripMripMripMripMripMripMripMriosriosriosriosriosriosriosriosriosriosripsripsripsripsripsripsripsripsripsripsriocriocriocriocriocriocpiKu4uqbi7pOLukoq7SyruLqm4u6Ti7pKKu0sq7i6puLuk4u6SirtLKu4uqbi7pOLukoq7SyruLqm4u6Ti7pKKu0sq7i6puLuk4u6SirsrKu6uqLi7ouLuioq7+5Va5k+fhimLi4q7Kyrurqi4u6Li7oqKuysq7q6ouLui4u6KirsrKu6uqLi7ouLu6pU0l12P39zh5vXuNE41zQu/i30f973/aO9O01TTDNU0h2qaZZrmhcSSXXdb9Hj1/eeff6r8bR4jm+eFmRPn8dspPWP/6rTeubVlv+lZ7f4ef/d0Q3r6lJ6+pKdv6emHYvrHNMs0zSu5qF8wjVFNw5H2j2k40vsxDUcaP6Z5Ybrmsbdpfv6bKX82TVNNM1TTHKpplmmaV3JRv2Aao5rGqaYJqmmSahqqLC6qLC6qLC6qLC6qLG6qLG6qLG6qLG6qLG6qLG6qLG6qLG6qLG6qLG6qLB6qLB6qLB6qLB6qLB6qLB6qLB6qLB6qLB6qLB6qLD5UWfxK9sf68TtF3d7/19NXsj+/YJqimqapphmqaQ7VNPsbTfPuf1fzSvbnF0xjVNM41TRBNc0Ls9j9+39XU+/uqVeyP79gmkM1zRJN06/kW37BNEY1jVNN88K88X3LmzB7d5qkmqaopmmqaYZqmkM1zTJN80q+5RdMY1TTONU0VFlsVFlsVFlsVFlsVFlsVFlsVFnsVFnsL83iH1AT7U41TVBNk1TTMFFaTUVpNRWl1VSUVlNRWh0X1TRUWRxUWRxUWRxUWRxUWRxUWRxUWRxUWRxUWZxUWZxUWZxUWZxUWZxUWZxUWZxUWZxUWZxUWZxUWVxUWVxUWVxUWVxUWVxUWVxU6VdU6fc+leP9eJO48u2yzber7ENX+Yeuig9dlR+6qrCr/vzn/wI="
1059
1235
  },
1060
1236
  {
1061
- "name": "constructor",
1237
+ "name": "is_valid",
1062
1238
  "function_type": "Secret",
1063
1239
  "is_internal": false,
1064
1240
  "abi": {
@@ -1237,7 +1413,23 @@
1237
1413
  { "name": "chain_id", "type": { "kind": "field" } },
1238
1414
  { "name": "version", "type": { "kind": "field" } },
1239
1415
  { "name": "block_number", "type": { "kind": "field" } },
1240
- { "name": "timestamp", "type": { "kind": "field" } }
1416
+ { "name": "timestamp", "type": { "kind": "field" } },
1417
+ {
1418
+ "name": "coinbase",
1419
+ "type": {
1420
+ "kind": "struct",
1421
+ "path": "authwit::aztec::protocol_types::address::EthAddress",
1422
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
1423
+ }
1424
+ },
1425
+ {
1426
+ "name": "fee_recipient",
1427
+ "type": {
1428
+ "kind": "struct",
1429
+ "path": "authwit::aztec::protocol_types::address::AztecAddress",
1430
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
1431
+ }
1432
+ }
1241
1433
  ]
1242
1434
  }
1243
1435
  }
@@ -1251,7 +1443,7 @@
1251
1443
  "path": "authwit::aztec::protocol_types::contrakt::deployment_data::ContractDeploymentData",
1252
1444
  "fields": [
1253
1445
  {
1254
- "name": "deployer_public_key",
1446
+ "name": "public_key",
1255
1447
  "type": {
1256
1448
  "kind": "struct",
1257
1449
  "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint",
@@ -1261,8 +1453,15 @@
1261
1453
  ]
1262
1454
  }
1263
1455
  },
1264
- { "name": "constructor_vk_hash", "type": { "kind": "field" } },
1265
- { "name": "function_tree_root", "type": { "kind": "field" } },
1456
+ { "name": "initialization_hash", "type": { "kind": "field" } },
1457
+ {
1458
+ "name": "contract_class_id",
1459
+ "type": {
1460
+ "kind": "struct",
1461
+ "path": "authwit::aztec::protocol_types::contract_class::ContractClassId",
1462
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
1463
+ }
1464
+ },
1266
1465
  { "name": "contract_address_salt", "type": { "kind": "field" } },
1267
1466
  {
1268
1467
  "name": "portal_contract_address",
@@ -1290,22 +1489,9 @@
1290
1489
  },
1291
1490
  "visibility": "private"
1292
1491
  },
1293
- {
1294
- "name": "signing_pub_key_x",
1295
- "type": { "kind": "array", "length": 32, "type": { "kind": "integer", "sign": "unsigned", "width": 8 } },
1296
- "visibility": "public"
1297
- },
1298
- {
1299
- "name": "signing_pub_key_y",
1300
- "type": { "kind": "array", "length": 32, "type": { "kind": "integer", "sign": "unsigned", "width": 8 } },
1301
- "visibility": "public"
1302
- }
1492
+ { "name": "message_hash", "type": { "kind": "field" }, "visibility": "private" }
1303
1493
  ],
1304
- "param_witnesses": {
1305
- "inputs": [{ "start": 0, "end": 34 }],
1306
- "signing_pub_key_x": [{ "start": 34, "end": 66 }],
1307
- "signing_pub_key_y": [{ "start": 66, "end": 98 }]
1308
- },
1494
+ "param_witnesses": { "inputs": [{ "start": 0, "end": 36 }], "message_hash": [{ "start": 36, "end": 37 }] },
1309
1495
  "return_type": {
1310
1496
  "abi_type": {
1311
1497
  "kind": "struct",
@@ -1361,6 +1547,7 @@
1361
1547
  },
1362
1548
  { "name": "args_hash", "type": { "kind": "field" } },
1363
1549
  { "name": "return_values", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } },
1550
+ { "name": "meta_hwm", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } },
1364
1551
  {
1365
1552
  "name": "read_requests",
1366
1553
  "type": {
@@ -1577,7 +1764,23 @@
1577
1764
  { "name": "chain_id", "type": { "kind": "field" } },
1578
1765
  { "name": "version", "type": { "kind": "field" } },
1579
1766
  { "name": "block_number", "type": { "kind": "field" } },
1580
- { "name": "timestamp", "type": { "kind": "field" } }
1767
+ { "name": "timestamp", "type": { "kind": "field" } },
1768
+ {
1769
+ "name": "coinbase",
1770
+ "type": {
1771
+ "kind": "struct",
1772
+ "path": "authwit::aztec::protocol_types::address::EthAddress",
1773
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
1774
+ }
1775
+ },
1776
+ {
1777
+ "name": "fee_recipient",
1778
+ "type": {
1779
+ "kind": "struct",
1780
+ "path": "authwit::aztec::protocol_types::address::AztecAddress",
1781
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
1782
+ }
1783
+ }
1581
1784
  ]
1582
1785
  }
1583
1786
  }
@@ -1591,7 +1794,7 @@
1591
1794
  "path": "authwit::aztec::protocol_types::contrakt::deployment_data::ContractDeploymentData",
1592
1795
  "fields": [
1593
1796
  {
1594
- "name": "deployer_public_key",
1797
+ "name": "public_key",
1595
1798
  "type": {
1596
1799
  "kind": "struct",
1597
1800
  "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint",
@@ -1601,8 +1804,15 @@
1601
1804
  ]
1602
1805
  }
1603
1806
  },
1604
- { "name": "constructor_vk_hash", "type": { "kind": "field" } },
1605
- { "name": "function_tree_root", "type": { "kind": "field" } },
1807
+ { "name": "initialization_hash", "type": { "kind": "field" } },
1808
+ {
1809
+ "name": "contract_class_id",
1810
+ "type": {
1811
+ "kind": "struct",
1812
+ "path": "authwit::aztec::protocol_types::contract_class::ContractClassId",
1813
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
1814
+ }
1815
+ },
1606
1816
  { "name": "contract_address_salt", "type": { "kind": "field" } },
1607
1817
  {
1608
1818
  "name": "portal_contract_address",
@@ -1622,32 +1832,34 @@
1622
1832
  "visibility": "public"
1623
1833
  },
1624
1834
  "return_witnesses": [
1625
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
1626
- 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
1627
- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
1628
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
1629
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
1630
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
1631
- 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
1632
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
1633
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1634
- 315, 316, 317, 318, 319, 320
1835
+ 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259,
1836
+ 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277,
1837
+ 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295,
1838
+ 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313,
1839
+ 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331,
1840
+ 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349,
1841
+ 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367,
1842
+ 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385,
1843
+ 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403,
1844
+ 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421,
1845
+ 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439,
1846
+ 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448
1635
1847
  ]
1636
1848
  },
1637
- "bytecode": "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",
1638
- "debug_symbols": "7ZzRahsxEEX/ZZ9N0EgzmpF/peQhtCkEQlJqvxn/e+3U0rqx8FLv4NbJfQqBGeXu2ZF2D8TeDM+vXx/WT68vq2G5GVSG5ZfNsPrx8LL/dbV++LkelmExPL582/3cLobvT8+Pw5IsbxcndVRKLY2BYqvm1CmOibkWc6Bx6WC9pUNROZQThVT+qL9fDJpvNrleLzmr1WJJNju53Wzy0ktOSlS7NMtE/qhU/0ZU4TE/94opt5mJTOeLJ+NbuO345BF/TGRhIr5RrNNjJLkVa3iLE/+vOMkhjo03t+Q0Gaem0XEbqnRKU4jpUJuCjTtcuxs8chuDmO18cSpSAaZiRxvc9KIRY0CcD1EAcT7EDIjzISogzodogDgfYgHE2RBLAMT5EAkQ50OMgDgfIozFASID4nyIMBYHiDAWB4gwFgeIMBYHiDCW+RApQFk8KMJZPChCWjwowlo8KDIoOlCEt3hQhLh4UIS5eFCEunhQhLs4UCS4iwdFuIsHRbiLB0W4iwdFBkUHinAXD4pwFw+KcBcPinAXD4pwFweKEe7iQRHu4kER7uJBEe7iQZFB0YEi3MWDItzFgyLcxYMi3MWDItzFgWKCu3hQhLt4UIS7eFCEu3hQZFB0oAh38aAId/GgCHfxoAh38aAId3GgyHAXD4pwFw+KcBcPinAXD4r8YSiOV5qinC+WVC9PlCfWnUZ4bXEpmuvKgdMxw7c4+V/GsZM4136VpiBjnlLOj5hqmwRVOSoOv8PbLYe/9osjkZZ2kJGdD88idXOzWJw4yGIJpeVIMlEtoW1vGTPvcO6xSPisWJTqF9Sq6DGWzp42bWdeGq+Polx0RAp9WuZamVsIJ6MYPxKW9haTiHiiOmVpSx99u2w8PFDv+h8IkFKnMtMIU6R18UVd3ec3m7QzZBxoS4ej9a77WEu5nt5M+f3d3jXZJU3lkqb+Z6Qmu+ivuyTe9f9LmXOdfC72/hbvu+yiri4NaTcrH71UUqDt/Xb7Cw=="
1849
+ "bytecode": "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",
1850
+ "debug_symbols": "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a5f9xPATF/Rx5myX/Zjz55Zz3F5sY3zyts98ffPmWn99hZ7/DvkIMmLPf1x8yNuez7f9EW/7t/qku24X8vLB6JO3fb4N6lnr3Y73OH68Nd/qA+Z93xr+P3wtu/0a/Mut/OZv/+OS6B8247iN+ziqTy5pyV2SH3qXZHqX5HqXFHqXlHqXVHqXNPQuaepdkp57u557h557h557h557h557h557h557h557h557h557h557p557p557p557p557p557p557p557p557p557p557l557l557l557l557l557l557l557l557l557l557Dz33HnruPfTce+i599Bz76Hn3kPPvYeeew899x567j313HvquffUc++p595Tz72nnntPPfeeeu499dx76rl367l367l367l367l367l367l367l367l367l367n30nPvpefeS8+9l557Lz33XnruvfTce+m599Jz7yXn3nbIubcdcu5th5x72yHn3i//Kq93SXLubYece79AAb1LknNvO/Tc2/Tc2/Tc2/Tc2/Tc2/Tc2/Tc2/Tc2/TcWy9raXpZS9PLWppe1tL0spaml7U0vayl6WUtTS9raXpZS9PLWppe1tL0spaml7U0vayl6WUtTS9raXpZS9PLWppe1tL0spaml7U0vayl6WUtTS9raXpZS9PLWppe1tL0spaml7U0vayl6WUtTS9raXpZS9PLWppe1tL0spaml7U0vayl6WUtTS9raXpZS9PLWppe1tL0spaml7U0vayl6WUtTS9raXpZS9PLWppe1tL0spaml7U0vayl6WUtTS9raXpZS9PLWppe1tL0spaml7U0vayl6WUtTS9raXpZS9PLWppe1tL0spaml7U0vayl6WUtTS9raXpZS9PLWppe1tL0spaml7U0vayl6WUtTS9raXpZS9fLWrpe1tL1spaul7X0Q869XS9r6XpZS9fLWrpe1tL1spaul7V0vayl62UtXS9r6XpZS9fLWrpe1tL1spaul7V0vayl62UtXS9r6XpZS9fLWrpe1tL1spaul7V0vayl62UtXS9r6XpZS9fLWrpe1tL1spaul7V0vayl62UtXS9r6XpZS9fLWrpe1tL1spaul7V0vayl62UtXS9r6XpZS9fLWrpe1tL1spaul7V0vayl62UtXS9r6XpZS9fLWrpe1tL1spaul7V0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GKeNc9oEp01y2hSnzeC0mfdtU/M3bX7/6tXr9cWHv7+ms7+cR72+ONPfv/h2/b359a+trz+OY/Prt82v3ze//tj8+nPz66/Nr39sfv17z9849p6/cWw+f23z+Wubz1/bfP7a5vP3HofEH3r9m89f23z+2ubz1zafv7b5/PXN569vPn998/nrm8/fe8QzHnr9m89f33z++ubz1zefv775/I3N529sPn9j8/kbm8/fewSjHnr9m8/f2Hz+xubzNzafv7H5/M3N52/+3Pl7a+OcNvdwo3l7g7vtvM2ktLlHCKtX39qsdd7GOG2c0yY4bZLT5g7bg5W3XyRYw8/bDE6byWnTnDaL0uYeIayvtDFOG79vm9nceXmPdNdDrz83v/7a/PrH5tc/N7/+3vz6197XP4/Nr982v/7N5+/cfP7eI7D50OvffP7Ozefv3Hz+zs3n79x8/vbm87c3n7+9+fztzefvPaLSD73+zedvbz5/e/P525vP3958/q7N5+/afP6uzefv2nz+3uNLCh56/ZvP37X5/F2bz9+1+fxde8/fPPaev3nsPX/z2Hv+5rH3/M1j7/mbx97zN487z98+PWaRx+S0aU6bRWljB6eNcdo4p01w2iSnTXHacFzAOC5wjwz2ur34peNx3mZR2twj0fyVNsZp45w2wWmTnDbFaTM4bSanDccFnOMCwXGB4LhAcFwgOC4QHBcIjgsExwWC4wLBcYHguEByXCA5LpAcF0iOCyTHBZLjAslxgeS4QHJcIDkuUBwXKI4L3CGH58cxfrzYD8/zNsFpk5w2xWkzOG0mp01z2qz7tvmn5+anI+E7BPwee/22+fX75tcfm19/bn79tfn1j82vf25+/b359W8+f+fm83duPn/n5vN3bj5/7xBJfOz1bz5/5+bzd24+f+fm83duPn978/nbm8/f3nz+9ubz9w6RxMde/+bztzefv735/O3N529vPn/X5vN3bT5/1+bzd20+f+8QSXzs9W8+f9fm83dtPn/X5vN37T1/69h7/tbxc+fvrY1z2tzDjYbf2ow8bzMpbewe2mq7tTlPgJQZp41z2gSnTXLa3GF7YD5f21jWeZvBaTM5bZrTZlHa3CHS9KU2xmnj920zjDsv75CVeuz15+bXX5tf/9j8+ufm19+bX//a+/rj2Pz6bfPr33z+xubz9w7xx8de/+bzNzafv7H5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"
1639
1851
  },
1640
1852
  {
1641
- "name": "entrypoint",
1642
- "function_type": "Secret",
1643
- "is_internal": false,
1853
+ "name": "set_is_valid_storage",
1854
+ "function_type": "Open",
1855
+ "is_internal": true,
1644
1856
  "abi": {
1645
1857
  "parameters": [
1646
1858
  {
1647
1859
  "name": "inputs",
1648
1860
  "type": {
1649
1861
  "kind": "struct",
1650
- "path": "authwit::aztec::abi::PrivateContextInputs",
1862
+ "path": "authwit::aztec::abi::PublicContextInputs",
1651
1863
  "fields": [
1652
1864
  {
1653
1865
  "name": "call_context",
@@ -1817,7 +2029,23 @@
1817
2029
  { "name": "chain_id", "type": { "kind": "field" } },
1818
2030
  { "name": "version", "type": { "kind": "field" } },
1819
2031
  { "name": "block_number", "type": { "kind": "field" } },
1820
- { "name": "timestamp", "type": { "kind": "field" } }
2032
+ { "name": "timestamp", "type": { "kind": "field" } },
2033
+ {
2034
+ "name": "coinbase",
2035
+ "type": {
2036
+ "kind": "struct",
2037
+ "path": "authwit::aztec::protocol_types::address::EthAddress",
2038
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
2039
+ }
2040
+ },
2041
+ {
2042
+ "name": "fee_recipient",
2043
+ "type": {
2044
+ "kind": "struct",
2045
+ "path": "authwit::aztec::protocol_types::address::AztecAddress",
2046
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
2047
+ }
2048
+ }
1821
2049
  ]
1822
2050
  }
1823
2051
  }
@@ -1825,101 +2053,50 @@
1825
2053
  }
1826
2054
  },
1827
2055
  {
1828
- "name": "contract_deployment_data",
2056
+ "name": "public_global_variables",
1829
2057
  "type": {
1830
2058
  "kind": "struct",
1831
- "path": "authwit::aztec::protocol_types::contrakt::deployment_data::ContractDeploymentData",
2059
+ "path": "authwit::aztec::abi::PublicGlobalVariables",
1832
2060
  "fields": [
2061
+ { "name": "chain_id", "type": { "kind": "field" } },
2062
+ { "name": "version", "type": { "kind": "field" } },
2063
+ { "name": "block_number", "type": { "kind": "field" } },
2064
+ { "name": "timestamp", "type": { "kind": "field" } },
1833
2065
  {
1834
- "name": "deployer_public_key",
2066
+ "name": "coinbase",
1835
2067
  "type": {
1836
2068
  "kind": "struct",
1837
- "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint",
1838
- "fields": [
1839
- { "name": "x", "type": { "kind": "field" } },
1840
- { "name": "y", "type": { "kind": "field" } }
1841
- ]
2069
+ "path": "authwit::aztec::protocol_types::address::EthAddress",
2070
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
1842
2071
  }
1843
2072
  },
1844
- { "name": "constructor_vk_hash", "type": { "kind": "field" } },
1845
- { "name": "function_tree_root", "type": { "kind": "field" } },
1846
- { "name": "contract_address_salt", "type": { "kind": "field" } },
1847
2073
  {
1848
- "name": "portal_contract_address",
2074
+ "name": "fee_recipient",
1849
2075
  "type": {
1850
2076
  "kind": "struct",
1851
- "path": "authwit::aztec::protocol_types::address::EthAddress",
2077
+ "path": "authwit::aztec::protocol_types::address::AztecAddress",
1852
2078
  "fields": [{ "name": "inner", "type": { "kind": "field" } }]
1853
2079
  }
1854
2080
  }
1855
2081
  ]
1856
2082
  }
1857
- },
1858
- {
1859
- "name": "private_global_variables",
1860
- "type": {
1861
- "kind": "struct",
1862
- "path": "authwit::aztec::abi::PrivateGlobalVariables",
1863
- "fields": [
1864
- { "name": "chain_id", "type": { "kind": "field" } },
1865
- { "name": "version", "type": { "kind": "field" } }
1866
- ]
1867
- }
1868
2083
  }
1869
2084
  ]
1870
2085
  },
1871
2086
  "visibility": "private"
1872
2087
  },
1873
- {
1874
- "name": "payload",
1875
- "type": {
1876
- "kind": "struct",
1877
- "path": "authwit::entrypoint::EntrypointPayload",
1878
- "fields": [
1879
- {
1880
- "name": "function_calls",
1881
- "type": {
1882
- "kind": "array",
1883
- "length": 4,
1884
- "type": {
1885
- "kind": "struct",
1886
- "path": "authwit::entrypoint::FunctionCall",
1887
- "fields": [
1888
- { "name": "args_hash", "type": { "kind": "field" } },
1889
- {
1890
- "name": "function_selector",
1891
- "type": {
1892
- "kind": "struct",
1893
- "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector",
1894
- "fields": [
1895
- { "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }
1896
- ]
1897
- }
1898
- },
1899
- {
1900
- "name": "target_address",
1901
- "type": {
1902
- "kind": "struct",
1903
- "path": "authwit::aztec::protocol_types::address::AztecAddress",
1904
- "fields": [{ "name": "inner", "type": { "kind": "field" } }]
1905
- }
1906
- },
1907
- { "name": "is_public", "type": { "kind": "boolean" } }
1908
- ]
1909
- }
1910
- }
1911
- },
1912
- { "name": "nonce", "type": { "kind": "field" } }
1913
- ]
1914
- },
1915
- "visibility": "public"
1916
- }
2088
+ { "name": "message_hash", "type": { "kind": "field" }, "visibility": "private" },
2089
+ { "name": "value", "type": { "kind": "boolean" }, "visibility": "private" }
1917
2090
  ],
1918
- "param_witnesses": { "inputs": [{ "start": 0, "end": 34 }], "payload": [{ "start": 34, "end": 51 }] },
2091
+ "param_witnesses": {
2092
+ "inputs": [{ "start": 0, "end": 34 }],
2093
+ "message_hash": [{ "start": 34, "end": 35 }],
2094
+ "value": [{ "start": 35, "end": 36 }]
2095
+ },
1919
2096
  "return_type": {
1920
2097
  "abi_type": {
1921
2098
  "kind": "struct",
1922
- "path": "authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs",
2099
+ "path": "authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs",
1923
2100
  "fields": [
1924
2101
  {
1925
2102
  "name": "call_context",
@@ -1972,55 +2149,40 @@
1972
2149
  { "name": "args_hash", "type": { "kind": "field" } },
1973
2150
  { "name": "return_values", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } },
1974
2151
  {
1975
- "name": "read_requests",
2152
+ "name": "contract_storage_update_requests",
1976
2153
  "type": {
1977
2154
  "kind": "array",
1978
- "length": 32,
2155
+ "length": 16,
1979
2156
  "type": {
1980
2157
  "kind": "struct",
1981
- "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffect",
2158
+ "path": "authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest",
1982
2159
  "fields": [
1983
- { "name": "value", "type": { "kind": "field" } },
1984
- { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }
2160
+ { "name": "storage_slot", "type": { "kind": "field" } },
2161
+ { "name": "old_value", "type": { "kind": "field" } },
2162
+ { "name": "new_value", "type": { "kind": "field" } }
1985
2163
  ]
1986
2164
  }
1987
2165
  }
1988
2166
  },
1989
2167
  {
1990
- "name": "nullifier_key_validation_requests",
2168
+ "name": "contract_storage_reads",
1991
2169
  "type": {
1992
2170
  "kind": "array",
1993
- "length": 1,
2171
+ "length": 16,
1994
2172
  "type": {
1995
2173
  "kind": "struct",
1996
- "path": "authwit::aztec::protocol_types::abis::nullifier_key_validation_request::NullifierKeyValidationRequest",
2174
+ "path": "authwit::aztec::protocol_types::contrakt::storage_read::StorageRead",
1997
2175
  "fields": [
1998
- {
1999
- "name": "public_key",
2000
- "type": {
2001
- "kind": "struct",
2002
- "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint",
2003
- "fields": [
2004
- { "name": "x", "type": { "kind": "field" } },
2005
- { "name": "y", "type": { "kind": "field" } }
2006
- ]
2007
- }
2008
- },
2009
- {
2010
- "name": "secret_key",
2011
- "type": {
2012
- "kind": "struct",
2013
- "path": "authwit::aztec::protocol_types::grumpkin_private_key::GrumpkinPrivateKey",
2014
- "fields": [
2015
- { "name": "high", "type": { "kind": "field" } },
2016
- { "name": "low", "type": { "kind": "field" } }
2017
- ]
2018
- }
2019
- }
2176
+ { "name": "storage_slot", "type": { "kind": "field" } },
2177
+ { "name": "current_value", "type": { "kind": "field" } }
2020
2178
  ]
2021
2179
  }
2022
2180
  }
2023
2181
  },
2182
+ {
2183
+ "name": "public_call_stack_hashes",
2184
+ "type": { "kind": "array", "length": 4, "type": { "kind": "field" } }
2185
+ },
2024
2186
  {
2025
2187
  "name": "new_commitments",
2026
2188
  "type": {
@@ -2052,22 +2214,11 @@
2052
2214
  }
2053
2215
  }
2054
2216
  },
2055
- {
2056
- "name": "private_call_stack_hashes",
2057
- "type": { "kind": "array", "length": 4, "type": { "kind": "field" } }
2058
- },
2059
- {
2060
- "name": "public_call_stack_hashes",
2061
- "type": { "kind": "array", "length": 4, "type": { "kind": "field" } }
2062
- },
2063
2217
  { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } },
2064
- { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } },
2065
- { "name": "encrypted_logs_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } },
2066
2218
  {
2067
2219
  "name": "unencrypted_logs_hash",
2068
2220
  "type": { "kind": "array", "length": 2, "type": { "kind": "field" } }
2069
2221
  },
2070
- { "name": "encrypted_log_preimages_length", "type": { "kind": "field" } },
2071
2222
  { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } },
2072
2223
  {
2073
2224
  "name": "historical_header",
@@ -2187,7 +2338,23 @@
2187
2338
  { "name": "chain_id", "type": { "kind": "field" } },
2188
2339
  { "name": "version", "type": { "kind": "field" } },
2189
2340
  { "name": "block_number", "type": { "kind": "field" } },
2190
- { "name": "timestamp", "type": { "kind": "field" } }
2341
+ { "name": "timestamp", "type": { "kind": "field" } },
2342
+ {
2343
+ "name": "coinbase",
2344
+ "type": {
2345
+ "kind": "struct",
2346
+ "path": "authwit::aztec::protocol_types::address::EthAddress",
2347
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
2348
+ }
2349
+ },
2350
+ {
2351
+ "name": "fee_recipient",
2352
+ "type": {
2353
+ "kind": "struct",
2354
+ "path": "authwit::aztec::protocol_types::address::AztecAddress",
2355
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
2356
+ }
2357
+ }
2191
2358
  ]
2192
2359
  }
2193
2360
  }
@@ -2195,71 +2362,43 @@
2195
2362
  }
2196
2363
  },
2197
2364
  {
2198
- "name": "contract_deployment_data",
2365
+ "name": "prover_address",
2199
2366
  "type": {
2200
2367
  "kind": "struct",
2201
- "path": "authwit::aztec::protocol_types::contrakt::deployment_data::ContractDeploymentData",
2202
- "fields": [
2203
- {
2204
- "name": "deployer_public_key",
2205
- "type": {
2206
- "kind": "struct",
2207
- "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint",
2208
- "fields": [
2209
- { "name": "x", "type": { "kind": "field" } },
2210
- { "name": "y", "type": { "kind": "field" } }
2211
- ]
2212
- }
2213
- },
2214
- { "name": "constructor_vk_hash", "type": { "kind": "field" } },
2215
- { "name": "function_tree_root", "type": { "kind": "field" } },
2216
- { "name": "contract_address_salt", "type": { "kind": "field" } },
2217
- {
2218
- "name": "portal_contract_address",
2219
- "type": {
2220
- "kind": "struct",
2221
- "path": "authwit::aztec::protocol_types::address::EthAddress",
2222
- "fields": [{ "name": "inner", "type": { "kind": "field" } }]
2223
- }
2224
- }
2225
- ]
2368
+ "path": "authwit::aztec::protocol_types::address::AztecAddress",
2369
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
2226
2370
  }
2227
- },
2228
- { "name": "chain_id", "type": { "kind": "field" } },
2229
- { "name": "version", "type": { "kind": "field" } }
2371
+ }
2230
2372
  ]
2231
2373
  },
2232
2374
  "visibility": "public"
2233
2375
  },
2234
2376
  "return_witnesses": [
2235
- 4248, 4249, 4250, 4251, 4252, 4253, 4254, 4255, 4256, 4257, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4265,
2236
- 4266, 4267, 4268, 4269, 4270, 4271, 4272, 4273, 4274, 4275, 4276, 4277, 4278, 4279, 4280, 4281, 4282, 4283,
2237
- 4284, 4285, 4286, 4287, 4288, 4289, 4290, 4291, 4292, 4293, 4294, 4295, 4296, 4297, 4298, 4299, 4300, 4301,
2238
- 4302, 4303, 4304, 4305, 4306, 4307, 4308, 4309, 4310, 4311, 4312, 4313, 4314, 4315, 4316, 4317, 4318, 4319,
2239
- 4320, 4321, 4322, 4323, 4324, 4325, 4326, 4327, 4328, 4329, 4330, 4331, 4332, 4333, 4334, 4335, 4336, 4337,
2240
- 4338, 4339, 4340, 4341, 4342, 4343, 4344, 4345, 4346, 4347, 4348, 4349, 4350, 4351, 4352, 4353, 4354, 4355,
2241
- 4356, 4357, 4358, 4359, 4360, 4361, 4362, 4363, 4364, 4365, 4366, 4367, 4368, 4369, 4370, 4371, 4372, 4373,
2242
- 4374, 4375, 4376, 4377, 4378, 4379, 4380, 4381, 4382, 4383, 4384, 4385, 4386, 4387, 4388, 4389, 4390, 4391,
2243
- 4392, 4393, 4394, 4395, 4396, 4397, 4398, 4399, 4400, 4401, 4402, 4403, 4404, 4405, 4406, 4407, 4408, 4409,
2244
- 4410, 4411, 4412, 4413, 4414, 4415, 4416, 4417, 4418, 4419, 4420, 4421, 4422, 4423, 4424, 4425, 4426, 4427,
2245
- 4428, 4429, 4430, 4431, 4432, 4433, 4434, 4435, 4436, 4437, 4438, 4439, 4440, 4441, 4442, 4443, 4444, 4445,
2246
- 4446, 4447, 4448, 4449, 4450, 4451
2377
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2378
+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
2379
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2380
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2381
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2382
+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2383
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
2384
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
2385
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238
2247
2386
  ]
2248
2387
  },
2249
- "bytecode": "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",
2250
- "debug_symbols": "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nYNMdOcgE905yER3DjLRnYNMdOcgE905yER3DjLRnYNMdOcgE905yER3DjLRnYNMdOcgE905yER3DjLRnYNMdOcgE905yER3DjLRnYNMdOcgE905yER3DjLRnYNMdOcgE905yER3DjLRnYNMdOcgE905yER3DjLRnYNMdOcgE905yER3DjLRnYNMdOcgE905SKM7B2l05yCN7hyk0Z2DtI1tzTa6c5BGdw7S6M5BGt05SKM7B2l05yCN7hyk0Z2DNLpzkEZ3DtLozkEa3TlIozsHaXTnII3uHKTRnYM0unOQRncO0ujOQRrdOUijOwdpdOcgje4cpNGdgzS6c5BGdw7S6M5BGt05SKM7B2l05yCN7hyk0Z2DNLpzkEZ3DtLozkEa3TlIozsHaXTnII3uHKTRnYM0unOQRncO0ujOQRrdOUijOwdpdOcgje4cpNGdgzS6c5BGdw7S6M5BGt05SKM7B2l05yCN7hyk0Z2DNLpzkEZ3DtLozkEa3TlIozsHaXTnII3uHKTRnYM0unOQRncO0ujOQRrdOUijOwdpdOcgje4cpNGdgzS6c5BGdw7S6M5BGt05SKM7B2l05yCN7hyk0Z2DNLpzkEZ3DtLozkEa3TlIozsHaXTnII3uHKTRnYM0unOQRncO0ujOQRrdOUijOwdpdOcgje4cZKY7B5npzkFmunOQme4cZN7Y1uxMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIDPdOchMdw4y052DzHTnIAvdOchCdw6y0J2DLHTnIMvGtmYXunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1nozkEWunOQhe4cZKE7B1npzkFWunOQle4cZKU7B1k3tjW70p2DrHTnICvdOchKdw6y0p2DrHTnICvdOchKdw6y0p2DrHTnICvdOchKdw6y0p2DrHTnICvdOchKdw6y0p2DrHTnICvdOchKdw6y0p2DrHTnICvdOchKdw6y0p2DrHTnICvdOchKdw6y0p2DrHTnICvdOchKdw6y0p2DrHTnICvdOchKdw6y0p2DrHTnICvdOchKdw6y0p2DrHTnIOsJ5yBzKfd3lMd/ewvx/rc3e37/Ry+2eH/bwcrzn/6etV0oa79O1hNOhZ6XNVwoa7xQ1nShrHahrPlCWcuFsl5o35QvtG/KF9o3lQvtm8qF9k3lQvumcqF90wkn4M/LeqF9U7nQvqlcaN9ULrRvKhfaN9UL7ZvqhfZN9UL7pnqhfdMJv0JxXtYL7ZvqhfZN9UL7pnqhfVO90L6pXWjf1C60b2oX2je1C+2bTvglmPOyXmjf1C60b2oX2je1C+2b2oX2Tf1C+6Z+oX1Tv9C+qV9o33TCrzGdl/VC+6Z+oX1Tv9C+qV9o39Svs29q23X2TW27zr6pbdfZN7XtOvumttmFsl5n39S26+yb2nadfVPbrrNvatuF9k3hQvumE36HL1t7ZC0f/vY/3tH83U2J+f6O6jeI//yO5u9Banq8o5xf35EB3lGNZX9HxUbvKKV6f0epPI/a4aQL3e5/+/ZWHq+O+fv7z4u//7L4+2/T379t+/vPqY7ef70tVY8/nh556/Y9QGcP0Erd/3gP23OA15eXEH68uMT0+NO3N/UtLOSXAJcJG64UNl4pbLpSWLtS2HylsOVKYeuVwtLvipBhr7SDSvQ7qG7hEbbEf97vJvpd0SgA/U5nFIB+9zIKYKsHoN9ljALQ7xxGAeh3A6MA9BV+FIC+ag8CGH8l7ntzvW0hvQTgr8SDAPyVeBCAvxIPAvBX4kEA/ko8CMBfiQcB+CvxIAB/JR4E4K/EnwfI7JW4bVYfAUp7CcBeiYcB2CvxMAB7JR4GYK/EwwDslXgYgL0SDwOwV+JhAPZKPAzAXolHAQp9Jba6f3npVnY/bCW+2oov9FUbGZa+wiPD0u8GkGHtSmHpdxnIsPQ7EmRY+t0LMiz9TgcZln5XBAxbr7SDqvQ7qNwe+92yvex3K/2uaBSAfqczCmCrB6DfkYwC0O8yRgHodw6jAPS7gVEA+go/CNDoq/YoAH0lLk+dp/LaeWr0lXgUgL4SjwLQV+JRAPpKPApAX4lHAegr8SgAfSUeBaCvxIMAnb4SjwLQV+Ia9hO5N3/MLwHoK/EoAH0lHgWgr8SjAPSVeBSAvhKPAtBX4lEA+ko8CkBfiT8P0Df6SjwKwF+J2yNA2+wlAH8lHgTgr8SDAPyVeBCAvxIPAvBX4kEA/ko8CMBfiQcB+Cvx5wECfyUeBFi9Egf2Stxb3A879lbSSwD2SjwMwF6JhwHYK/EwAHsl7rd/BdsD9LS9BGCvxMMA7JV4GIC9EvducX8r28uP/XX6378bBmCvxMMA5JU4bqH2/a3Erb4EIK/E4wDklXgcgLwS3950So8A9WU3yv67b+MA5JV4HIC8En97J4/PQLXXZZS8Et/edLH9rbSnn6n+EYD9d9Rub3r/meTbW9le9kLsv6N2u33Y30rYwstngP131MYB6CvxKAB7JQ5b2jdzIWyvH2L2SjwMwF6JQ8jlEaB82Asd7b5rfPjb0x+3o1c/vpLa0tPZkJy+o2Gv8V9Dc9tVhv2NP2nJMZpb+XrsHz6ArEcxn47k5BSfUB4q0u0P7r9If5ugT7+pv7Xv6Nl3J38Ufaz7q9PzIzQO0ff9n5B7f5TokIIPPPuu6l3Bs/+W3/uCZ9/Fvi149t3324Jnt4a3BW8Cfw54ekt7V/DvZZcLgb+0u54JXuZ6EniZ6zng2X/79n3By1xPAi9zPQm8zPUk8HZl8LbtMc3yAHzev4dd8jP46AN/aXM9E/ylzfVM8Jc21zPBX9pczwR/aXM9ETz7b8W/L/hLm+uZ4C9trmeCv7S5ngneBP4c8DLXk8DLXE8CL3M9CbzM9STwMtdzwLM/o+PPgs99f3WJYQC+tPsbqf3pYILZd5CXNlEkyEubJRLkpU0RCdIEEgPy0iaHBHlpM0OCvLRpIUFe2pyQIC9tQkCQ7M8xWgekzAYEUmYDAimzAYE0gcSAlNmAQF7abOr+VmL98OojkKGH/Z1ssb+ivLTbYFFe2m6wKC/tN1CU7M+HWwnlpR0Hi/LSloNFeWnPwaI0oUShvLTrYFHKdmAoZTswlLIdGErZDghl2NgfwrkUS/kOjuWVhSeFvr+V9PSwuG8sv9N5L4e5vcHHowxa/EDne975u+Pc7j+ZnWoIg7y3iPvTJEJosT3n/Z6gkCeIW76/lfDtYQCfj1jZp3OJTz/NXu6f3nqptO1SafuV0p7waNQz04ZLpY2XSpsuldYulZZ9f4RNe6m9VKDfS4X9GUa3/87pZe8b6PdHwwT0e55Rgki/jxkmoN+bDBPQ7zeGCej3EMMEtnwC+lo/TEBfv4cJ+GtyS3uCuNlrAv6aPErAX5MHCRJ/TR4l4K/JowT8NXmUgL8mjxLw1+RRAv6aPErAX5NHCehrckyPrkDM/TUBfU0eJqCvyaMERl+Thwnoa/IwAX1NHiagr8nDBPQ1eZiAviYPE9DX5GEC+ppcysP065b//judeqOv39C09LUemTbT7wugaen3ENC09PsNaFr6vQk0rV0qLf2eB5qWfn8ETXupvVSm30vV2ve0bdte9r6Zfn80SlDo9zzDBPT7mGEC+r3JMAH9fmOYwJZPQL8vGCagr/XDBPT1e5iAvia39JSgHCSgr8mjBJW+Jg8T0NfkYQL6mjxMQF+Thwnoa/IwAX1NHiagr8nDBPQ1eZiAvib3bf/jscf6moC+Jo8SNPqaPExAX5OHCehr8jABfU0eJqCvycME9DV5mIC+Jg8T0NfkYQL+mlyfEvTymoC/Jg8SdP6aPErAX5NHCfhr8igBf00eJeCvyaME/DV5lIC/Jo8S8NfkUYLla3Jnr8kp1P2ERor1w6nJg5fnvHc2cnv8YFY5/ttpf9+pxsGLt7S/j81ef1subOx7g3VIsu9R1iHJvldahyT7nm0dkiaSIJLse9h1SLLvpdchyb6nX4cku1usQ1KOAyJJ/7ul65CU46BIynFQJOU4KJImkiCSchwUSTkOiqQcB0VSjoMiKccBkaT/TeN1SMpxUCTlOCiSchwUSRNJEEk5DoqkHAdFUo6DIinHQZGU44BI0v9G/Dok5TgoknIcFEk5DoqkiSSIpBwHRVKOgyIpx0GRlOOgSMpxQCTpn7mxDkk5DoqkHAdFUo6DImkiCSIpx0GRlOOgSMpxUCTlOCiSchwQSfrnB61DUo6DIinHQZGU46BImkiCSMpxUCTlOCiSchwUSTkOiqQcB0SS/nlh65CU46BIynFQJOU4KJImkiCSchwUSTkOiqQcB0VSjoMiKccBkaR//uI6JOU4KJJyHBRJOQ6KpIkkiKQcB0VSjoMiKcdBkZTjoEjKcUAk6Z9nuw5JOQ6KpBwHRVKOgyJpIgkiKcdBkZTjoEjKcVAk5TgoknIcEEn654OvQ1KOgyIpx0GRlOOgSJpIgkjKcVAk5TgoknIcFEk5DoqkHAdDMm5yHBRJOQ6KpBwHRVKOgyJpIgkiKcdBkZTjoEjKcVAk5TgoknIcEMkgx0GRlOOgSMpxUCTlOCiSJpIgknIcFEk5DoqkHAdFUo6DIinHAZGMchwUSTkOiqQcB0VSjoMiaSIJIinHQZGU46BIynFQJOU4KJJyHBDJJMdBkZTjoEjKcVAk5TgokiaSIJJyHBRJOQ6KpBwHRVKOgyIpxwGRNDkOiqQcB0VSjoMiKcdBkTSRBJGU46BIynFQJOU4KJJyHBRJOQ6IZJbjoEjKcVAk5TgoknIcFEkTSRBJOQ6KpBwHRVKOgyIpx0GRlOOASBY5DoqkHAdFUo6DIinHQZE0kQSRlOOgSMpxUCTlOCiSchwUSTkOiGSV46BIynFQJOU4KJJyHBRJE0kQSTkOiqQcB0VSjoMiKcdBkZTjgEg2OQ6KpBwHRVKOgyIpx0GRNJEEkZTjoEjKcVAk5TgoknIcFEk5Dohkl+OgSMpxUCTlOCiSchwUSRNJEEk5DoqkHAdFUo6DIinHQZGU42BIpk2OgyIpx0GRlOOgSMpxUCRNJEEk5TgoknIcFEk5DoqkHAdFUo4DIhnkOCiSchwUSTkOiqQcB0XSRBJEUo6DIinHQZGU46BIynFQJOU4IJJRjoMiKcdBkZTjoEjKcVAkTSRBJOU4KJJyHBRJOQ6KpBwHRVKOAyKZ5DgoknIcFEk5DoqkHAdF0kQSRFKOgyIpx0GRlOOgSMpxUCTlOCCSJsdBkZTjoEjKcVAk5TgokiaSIJJyHBRJOQ6KpBwHRVKOgyIpxwGRzHIcFEk5DoqkHAdFUo6DImkiCSIpx0GRlOOgSMpxUCTlOCiSchwQySLHQZGU46BIynFQJOU4KJImkiCSchwUSTkOiqQcB0VSjoMiKccBkaxyHBRJOQ6KpBwHRVKOgyJpIgkiKcdBkZTjoEjKcVAk5TgoknIcEMkmx0GRlOOgSMpxUCTlOCiSJpIgknIcFEk5DoqkHAdFUo6DIinHAZHschwUSTkOiqQcB0VSjoMiaSIJIinHQZGU46BIynFQJOU4KJJyHAxJ2+Q4KJJyHBRJOQ6KpBwHRdJEEkRSjoMiKcdBkZTjoEjKcVAk5TggkkGOgyIpx0GRlOOgSMpxUCRNJEEk5TgoknIcFEk5DoqkHAdFUo4DIhnlOCiSchwUSTkOiqQcB0XSRBJEUo6DIinHQZGU46BIynFQJOU4IJJJjoMiKcdBkZTjoEjKcVAkTSRBJOU4KJJyHBRJOQ6KpBwHRVKOAyJpchwUSTkOiqQcB0VSjoMiaSIJIinHQZGU46BIynFQJOU4KJJyHBDJLMdBkaR3nBx2NqnEwEuS3nGWIUnvOMuQNJEEkaR3nGVI0jvOMiTpHWcZkvSOswxJesdZhWShd5xlSMpxUCTlOCiSchwUSRNJEEk5DoqkHAdFUo6DIinHQZGU44BIVjkOiqQcB0VSjoMiKcdBkTSRBJGU46BIynFQJOU4KJJyHBRJOQ6IZJPjoEjKcVAk5TgoknIcFEkTSRBJOQ6KpBwHRVKOgyIpx0GRlOOASHY5DoqkHAdFUo6DIinHQZE0kQSRlOOgSMpxUCTlOCiSchwUSTkOhmTe5DgoknIcFEk5DoqkHAdF0kQSRFKOgyIpx0GRlOOgSMpxUCTlOCCSQY6DIinHQZGU46BIynFQJE0kQSTlOCiSchwUSTkOiqQcB0VSjgMiGeU4KJJyHBRJOQ6KpBwHRdJEEkRSjoMiKcdBkZTjoEjKcVAk5TggkkmOgyIpx0GRlOOgSMpxUCRNJEEk5TgoknIcFEk5DoqkHAdFUo4DImlyHBRJOQ6KpBwHRVKOgyJpIgkiKcdBkZTjoEjKcVAk5TgoknIcEMksx0GRlOOgSMpxUCTlOCiSJpIgknIcFEk5DoqkHAdFUo6DIinHAZEschwUSTkOiqQcB0VSjoMiaSIJIinHQZGU46BIynFQJOU4KJJyHBDJKsdBkZTjoEjKcVAk5TgokiaSIJJyHBRJOQ6KpBwHRVKOgyIpxwGRbHIcFEk5DoqkHAdFUo6DImkiCSIpx0GRlOOgSMpxUCTlOCiSchwQyS7HQZGU46BIynFQJOU4KJImkiCSchwUSTkOiqQcB0VSjoMiKcfBkCybHAdFUo6DIinHQZGU46BImkiCSMpxUCTlOCiSchwUSTkOiqQcB0QyyHFQJOU4KJJyHBRJOQ6KpIkkiKQcB0VSjoMiKcdBkZTjoEjKcUAkoxwHRVKOgyIpx0GRlOOgSJpIgkjKcVAk5TgokvSOU3J+xH2CM5lkTOn+PuJtdA9I0jvOMiTpHWcVkonecZYhSe84y5Ckd5xlSNI7zjIkTSRBJOkdZxmS9I6zDEk5DoqkHAdFUo4DImlyHBRJOQ6KpBwHRVKOgyJpIgkiKcdBkZTjoEjKcVAk5TgoknIcEMksx0GRlOOgSMpxUCTlOCiSJpIgknIcFEk5DoqkHAdFUo6DIinHAZEschwUSTkOiqQcB0VSjoMiaSIJIinHQZGU46BIynFQJOU4KJJyHBDJKsdBkZTjoEjKcVAk5TgokiaSIJJyHBRJOQ6KpBwHRVKOgyIpxwGRbHIcFEk5DoqkHAdFUo6DImkiCSIpx0GRlOOgSMpxUCTlOCiSchwQyS7HQZGU46BIynFQJOU4KJImkiCSchwUSTkOiqQcB0VSjoMiKcfBkKybHAdFUo6DIinHQZGU46BImkiCSMpxUCTlOCiSchwUSTkOiqQcB0QyyHFQJOU4KJJyHBRJOQ6KpIkkiKQcB0VSjoMiKcdBkZTjoEjKcUAkoxwHRVKOgyIpx0GRlOOgSJpIgkjKcVAk5TgoknIcFEk5DoqkHAdEMslxUCTlOCiSchwUSTkOiqSJJIikHAdFUo6DIinHQZGU46BIynFAJE2OgyIpx0GRlOOgSMpxUCRNJEEk5TgoknIcFEk5DoqkHAdFUo4DIpnlOCiSchwUSTkOiqQcB0XSRBJEUo6DIinHQZGU46BIynFQJOU4IJJFjoMiKcdBkZTjoEjKcVAkTSRBJOU4KJJyHBRJOQ6KpBwHRVKOAyJZ5TgoknIcFEk5DoqkHAdF0kQSRFKOgyIpx0GRlOOgSMpxUCTlOCCSTY6DIinHQZGU46BIynFQJE0kQSTlOCiSchwUSTkOiqQcB0VSjgMi2eU4KJJyHBRJOQ6KpBwHRdJEEkRSjoMiKcdBkZTjoEjKcVAk5TgYkm2T46BIynFQJOU4KJLsjmMh2f2PW8j2TPJ7Als+AfuefpyAfS89TsC+hx0nYN87jhOw79mGCeiflz5OwL5HGSdg3xuMEyxfk+mfh23W9h2X5Tjan31ly3V7f/uf7vkp5VYPXp1z+PHiXJ/edf6xPaN/HPYyIOl3KKuApN8orQKSfr+2Ckj6beMiIOmfhL0MSPpN9Cog6ffyq4CkV4pVQJpAYkBe2Wz6DjJutg1ABqt3kiGn8vRqc2C/sgediP3K1nQi9is71onYr2xk52Gnf8r3m2K/su2diP3Kbngi9iub5InYTdjPwC5LPQW7LPVXsT99dbBsfYA9lLAPUt3a06uTY5DktAsMkgx4gUGSL/MPEv3z5TVIt0GSiy8wSDL3BQZJnr/AIJkGiX+Q1ENYYJDUcVhgkNRx+DODVNOd4LeW528OkjoOCwySOg78g5TVcVhgkNRxWGCQ1HFYYJDUcVhgkEyDxD9I6jgsMEjqOCwwSOo4LDBI6jj8mUFqZf+Zj17Cbw6SOg78g1TUcVhgkNRxWGCQ1HFYYJDUcVhgkEyDxD9I6jgsMEjqOCwwSOo4LDBI6jgsMEjqOPyZQeo9PQhuvzdIVR2HBQZJHYcFBkkdhwUGSR2HBQbJNEj8g6SOwwKDpI7DAoOkjsMCg6SOwwKDpI4D/yA19o5DDuWe9vbf7fXpOo1dx8cJ2F11nIBd5MYJbPkE7AowTsC+Px4nYN88jhOw76zGCdi3HcMEnb4mxxT3BCmW1wT0NXmYgL4mDxPQ1+RhAvqanJ4+yfa0cd8T0NfkYQL6mjxMQF+TbX8q+e2/a31NQF+Thwnoa/IgQd/oa7L1R4Js9pqAviYPE9DX5GEC+pqcn1bTsh0koK/JwwT0NXmYgL4ml/iUIB+spuw1uWx135uWEPtrAvaaXILVPUHc4msC9ppcYtweCVp6SRDYa3JJ2/5zbyX1189BYK/J4wTsNXmcgL0mFwv7rqJYf/0kB/aaPE7AXpPLTS33BLd/UntOcPDyUPfz/HF7LFzBjl6d232hbunptTn9YMNe7b/IJoa9LkWLAzYx2/2Nx1yf/q0zH/5tq9tTR+np1YdvfOt1n5a3fzx9/nfX9oM9/T7lD7JPud53cenDv0ofsi/h/uLSHotsSJuTPP3+6k+Sb/s/2qf+9L2En8z6X6BJv9f7Gs1tn5khtvaB5j/yRsTOsOwJQg19lHd75A3PH5bDv51u2/P7q2N4LPp29H2P2Pv9baftSaba4dTZdvX69pYeHA8jxsfESTF//uKcHl8kscHfHc/IGDRC5CMUNULkIzR/Z2jbvYylnOpgVY9bqI9vwcXt1b1OeBA4OkFbPkHX55z7c560m2EfIe1m2EeIvk+JNaATHkz9tboUbv8ydH8rIZQ6yNtK3d94iwd5bXrelPa8qZTR+IZuj5bg0wS9fQy+B8irByirByDfyoVqJT/+eHr5wlw/4cmpX0zw+BjftqVh+/xD/3hY0u3fkx9/unw/utJPeATpmWnDpdLGS6UlL9bgtHaptPlSaclbUuC05O0rcFr6/RE07aX2Upl+L3XbAD3SltevkGT6/dEwAf2eZ5iAfh8zTGDLJ6DfbwwT0O8hhgno9wXDBPS1fpiAvn6PEhT+mtz3L8m3Lbx+Qbvw1+RRAv6aPErAX5NHCfhr8igBf00eJeCvyaME/DV5lIC/Jo8S8NfkQYLKXpPb9jj21bbSXhOw1+RxAvaaPE7AXpPHCdhr8jgBe00eJ2CvyeME7DV5nIC9Jo8TsNfkYYJGX5OfjqW1/HFX8eVOfaOv39C09LUempZ+XwBNa5dKS7/fgKal35tA09LvY6Bp6fc80LT0+yNk2n6pvVSn30s9fhvidvftde/b6fdHwwT0e55hAls+Af3eZJiAfr8xTEC/hxgmoN8XDBPQ1/rPE8Rto6/fwwT0Nbk89aNKOUhAX5OHCehr8jABfU0eJqCvycME9DV5mIC+Jg8T0NfkYQL6mjxKEOhr8jABfU2uYT/b22rKrwnoa/IwAX1NHiagr8nDBPQ1eZiAviYPE9DX5GEC+po8TEBfk0cJIn1NHibgr8ntkaC9PMbgloC/Jo8S8NfkUQL+mjxKwF+TRwn4a/IoAX9NHiXgr8mjBPw1eZAg8dfkUYLla3Jir8m9xf3UZG8lvSZgr8njBOw1eZyAvSaPE7DX5N7aI0FP22sC9po8TsBek8cJ2Gty7xb3t7K9/KJg3Oh/Y2+cgL0mjxPQ1+RhAvqaPExAX5OHCchr8uiH6m8JFn/cwS3B4o87uCWgf9xBTOmRoL4aDvvvuo0TsP9W2y8kIK/J397J43NQ7XU1Zf+tttu7Lra/lfb0OIE9AfsPxG9t/3Xv21vZXnfX7L/Vdrt92N9KuP3z92sC+po8TEBfk4cJ2GtyuDXl9gTPj/rYE7DX5HEC9pr8xYdV9MfDw/vTE4cdj3+9MWCv9l9j8+3LZPsbf9KUnzz+9fGYk1vMZ5L1KCb28a83xuz7lD/KPtb91Sm0Afu+f12h96fH9KbgJM++v3pf8u/14KCVyJvIn0SefR/+vuTZ/eF9ydN7z9uSp/e1tyX/Xp65EHn23019Y/Jy2LPIy2HPIi+HPYu8ifxJ5OWwZ5GXw55F/tIOa9se0ywPyOf9i/8lP5OPTvKXdthTyV/aYc8kz/47429M/tIOeyr5SzvsqeQv7bCnkjeRP4n8pR32VPKXdthTycthzyIvhz2LvBz2JPLsz3d4Y/Jy2LPIy2HPIn9ph819f3WJYUC+tPsbqf3p5ILZD5ImkiCSl3ZMKMlLOyOU5KUdEEry0k4HJXlpRwOSDOzP5FmI5KUdCkry0k4EJSnHQZE0kQSRlOOgSMpxUCTlOCiSchwUyUs7Tt3fSqwfXn1EMvSwv5Mt9leW7E85W4rlpT0HzPLSpgNmeWnXAbM0sYSxvLTvgFle2njALC/tPGCWl7YeMEt5D4wl+5Mkl2Ip78GxlPfgWMp7cCxNLGEsr+w9KfT9raSnRxl+Y/mdznuZzO0NPp6H0OIHOt/z8tvG/tS9b3nb53lzuH+7OD89Wi3nH2H5dQAYln+/jgvL/hhYbFj+HS8wLP+WFBiWf88IDGtXCsu/6wKG5d9EAcNeaQfF/nhdbNi33UE9PZzuHpb9ob3YsG+7gzoK+7Y7qKOwb7uDOgprVwr7Zjuo/SdQc+2vYd9sB/V52DfbQX0e9s12UJ+HfbMd1Kdh6R+xDA37Zjuoz8O+2Q7q87BvtoP6PKxdKez8TUVu94erphrCIOwt3/788RBa/BD2e4JKnuDbg5Xvf/zb0ePPh6vs/3RZ4tNTfMuPf6k94RnNZ6btV0p7whOaz0wbLpU2XiptulRau1TafKm07PsjbNpL7aUK/V4qpPhIm9PL3rfQ749GCSr9nmeYgH4fM0xAvzcZJqDfbwwT2PIJ6PcFwwT0tX6YgL5+DxPw1+SW9gTx6eviewL+mjxI0Phr8igBf00eJeCvyaME/DV5lIC/Jo8S8NfkUQL+mjxKwF+TRwnoa3JMj65AzP01AX1NHiXo9DV5mIC+Jg8T0NfkYQL6mjxMQF+Thwnoa/IwAX1NHiagr8nDBPQ1uZSH6dct//13OvWdvn4D08aNvtZD09LvC6Bp6fcQ0LT0+w1oWrtUWvp9DDQt/Z4HmpZ+fwRNe6W9VNzo91K19j1t27Z/3vvGQL8/Giag3/MME9DvY4YJ6PcmwwS2fAL6PcQwAf2+YJiAvtYPE9DX72EC+prc0lOC8pog0tfkYQL6mjxMQF+Thwnoa/IwAX1NHiagr8nDBPQ1eZiAviYPE9DX5GEC+prct/2Pxx7rS4JEX5OHCehr8jABfU0eJqCvycME9DV5mIC+Jg8T0NfkYQL6mjxMQF+Thwn4a3J9StDLSwLjr8mjBPw1eZSAvyaPEvDX5FEC/po8SsBfk0cJ+GvyKAF/TR4l4K/JowTL1+TMXpNTqPsJjRTrh1OTBy/Pee9s5Pb4waxy/LfT/r5TjYMXb2l/H5s9vpR6f45QzOx7g3VIsu9R1iHJvldah6SJJIgk+95xHZLse9h1SLLvpdchyb6nX4cku1ssQ5L+t0XXISnHQZGU46BIynFQJE0kQSTlOCiSchwUSTkOiqQcB0VSjgMiSf9bwuuQlOOgSMpxUCTlOCiSJpIgknIcFEk5DoqkHAdFUo6DIinHAZGk/232dUjKcVAk5TgoknIcFEkTSRBJOQ6KpBwHRVKOgyIpx0GRlOOASNI/62IdknIcFEk5DoqkHAdF0kQSRFKOgyIpx0GRlOOgSMpxUCTlOBiSif4ZP+uQlOOgSMpxUCTlOCiSJpIgknIcFEk5DoqkHAdFUo6DIinHAZGkf07XOiTlOCiSchwUSTkOiqSJJIikHAdFUo6DIinHQZGU46BIynFAJOmfe7gOSTkOiqQcB0VSjoMiaSIJIinHQZGU46BIynFQJOU4KJJyHBBJ+ufIrkNSjoMiKcdBkZTjoEiaSIJIynFQJOU4KJJyHBRJOQ6KpBwHRJL+udzrkJTjoEjKcVAk5TgokiaSIJJyHBRJOQ6KpBwHRVKOgyIpxwGRzHIcFEk5DoqkHAdFUo6DImkiCSIpx0GRlOOgSMpxUCTlOCiSchwQySLHQZGU46BIynFQJOU4KJImkiCSchwUSTkOiqQcB0VSjoMiKccBkaxyHBRJOQ6KpBwHRVKOgyJpIgkiKcdBkZTjoEjKcVAk5TgoknIcEMkmx0GRlOOgSMpxUCTlOCiSJpIgknIcFEk5DoqkHAdFUo6DIinHAZHschwUSTkOiqQcB0VSjoMiaSIJIinHQZGU46BIynFQJOU4KJJyHAxJ2+Q4KJJyHBRJOQ6KpBwHRdJEEkRSjoMiKcdBkZTjoEjKcVAk5TggkkGOgyIpx0GRlOOgSMpxUCRNJEEk5TgoknIcFEk5DoqkHAdFUo4DIhnlOCiSchwUSTkOiqQcB0XSRBJEUo6DIinHQZGU46BIynFQJOU4IJJJjoMiKcdBkZTjoEjKcVAkTSRBJOU4KJJyHBRJOQ6KpBwHRVKOAyJpchwUSTkOiqQcB0VSjoMiaSIJIinHQZGU46BIynFQJOU4KJJyHBDJLMdBkZTjoEjKcVAk5TgokiaSIJJyHBRJOQ6KpBwHRVKOgyIpxwGRLHIcFEk5DoqkHAdFUo6DImkiCSIpx0GRlOOgSMpxUCTlOCiSchwQySrHQZGU46BIynFQJOU4KJImkiCSchwUSTkOiqQcB0VSjoMiKccBkWxyHBRJOQ6KpBwHRVKOgyJpIgkiKcdBkZTjoEjKcVAk5TgoknIcEMkux0GRlOOgSMpxUCTlOCiSJpIgknIcFEk5DoqkHAdFUo6DIinHwZDMmxwHRVKOgyIpx0GRlOOgSJpIgkjKcVAk5TgoknIcFEk5DoqkHAdEMshxUCTlOCiSchwUSTkOiqSJJIikHAdFUo6DIinHQZGU46BIynFAJKMcB0VSjoMiKcdBkZTjoEiaSIJIynFQJOU4KJJyHBRJOQ6KpBwHRDLJcVAk5TgoknIcFEk5DoqkiSSIpBwHRVKOgyIpx0GRlOOgSMpxQCRNjoMiKcdBkZTjoEjKcVAkTSRBJOU4KJJyHBRJOQ6KpBwHRVKOAyKZ5TgoknIcFEk5DoqkHAdF0kQSRFKOgyIpx0GRlOOgSMpxUCTlOCCSRY6DIinHQZGU46BIynFQJE0kQSTlOCiSchwUSTkOiqQcB0VSjgMiWeU4KJJyHBRJOQ6KpBwHRdJEEkRSjoMiKcdBkZTjoEjKcVAk5Tggkk2OgyIpx0GRlOOgSMpxUCRNJEEk5TgoknIcFEk5DoqkHAdFUo4DItnlOCiSchwUSTkOiqQcB0XSRBJEUo6DIinHQZGU46BIynFQJOU4GJJlk+OgSMpxUCTpHSeHnU0qMfCSpHecZUiaSIJI0jvOMiTpHWcZkvSOswxJesdZhiS946xCMtA7zjIk6R1nGZJyHBRJOQ6KpIkkiKQcB0VSjoMiKcdBkZTjoEjKcUAkoxwHRVKOgyIpx0GRlOOgSJpIgkjKcVAk5TgoknIcFEk5DoqkHAdEMslxUCTlOCiSchwUSTkOiqSJJIikHAdFUo6DIinHQZGU46BIynFAJE2OgyIpx0GRlOOgSMpxUCRNJEEk5TgoknIcFEk5DoqkHAdFUo4DIpnlOCiSchwUSTkOiqQcB0XSRBJEUo6DIinHQZGU46BIynFQJOU4IJJFjoMiKcdBkZTjoEjKcVAkTSRBJOU4KJJyHBRJOQ6KpBwHRVKOAyJZ5TgoknIcFEk5DoqkHAdF0kQSRFKOgyIpx0GRlOOgSMpxUCTlOCCSTY6DIinHQZGU46BIynFQJE0kQSTlOCiSchwUSTkOiqQcB0VSjgMi2eU4KJJyHBRJOQ6KpBwHRdJEEkRSjoMiKcdBkZTjoEjKcVAk5TgYknWT46BIynFQJOU4KJJyHBRJE0kQSTkOiqQcB0VSjoMiKcdBkZTjgEgGOQ6KpBwHRVKOgyIpx0GRNJEEkZTjoEjKcVAk5TgoknIcFEk5DohklOOgSMpxUCTlOCiSchwUSRNJEEk5DoqkHAdFUo6DIinHQZGU44BIJjkOiqQcB0VSjoMiKcdBkTSRBJGU46BIynFQJOU4KJJyHBRJOQ6IpMlxUCTlOCiSchwUSTkOiqSJJIikHAdFUo6DIinHQZGU46BIynFAJLMcB0VSjoMiKcdBkZTjoEiaSIJIynFQJOU4KJJyHBRJOQ6KpBwHRLLIcVAk5TgoknIcFEk5DoqkiSSIpBwHRVKOgyIpx0GRlOOgSMpxQCSrHAdFUo6DIinHQZGU46BImkiCSMpxUCTlOCiSchwUSXrHKTk/4j7BmUwypnR/H/E2ugck6R1nFZKN3nGWIUnvOMuQpHecZUjSO84yJE0kQSTpHWcZkvSOswxJesdZhqQcB0VSjgMi2eU4KJJyHBRJOQ6KpBwHRdJEEkRSjoMiKcdBkZTjoEjKcVAk5TgYkm2T46BIynFQJOU4KJJyHBRJE0kQSTkOiqQcB0VSjoMiKcdBkZTjgEgGOQ6KpBwHRVKOgyIpx0GRNJEEkZTjoEjKcVAk5TgoknIcFEk5DohklOOgSMpxUCTlOCiSchwUSRNJEEk5DoqkHAdFUo6DIinHQZGU44BIJjkOiqQcB0VSjoMiKcdBkTSRBJGU46BIynFQJOU4KJJyHBRJOQ6IpMlxUCTlOCiSchwUSTkOiqSJJIikHAdFUo6DIinHQZGU46BIynFAJLMcB0VSjoMiKcdBkZTjoEiaSIJIynFQJOU4KJJyHBRJOQ6KpBwHRLLIcVAk5TgoknIcFEk5DoqkiSSIpBwHRVKOgyIpx0GRlOOgSMpxQCSrHAdFUo6DIinHQZGU46BImkiCSMpxUCTlOCiSchwUSTkOiqQcB0SyyXFQJOU4KJJyHBRJOQ6KpIkkiKQcB0VSjoMiKcdBkZTjoEjKcUAkuxwHRVKOgyIpx0GRlOOgSJpIgkjKcVAk5TgoknIcFEk5DoqkHAdDsm9yHBRJOQ6KpBwHRVKOgyJpIgkiKcdBkZTjoEjKcVAk5TgoknIcEMkgx0GRlOOgSMpxUCTlOCiSJpIgknIcFEk5DoqkHAdFUo6DIinHAZGMchwUSTkOiqQcB0VSjoMiaSIJIinHQZGU46BIynFQJOU4KJJyHBDJJMdBkZTjoEjKcVAk5TgokiaSIJJyHBRJOQ6KpBwHRVKOgyIpxwGRNDkOiqQcB0VSjoMiKcdBkTSRBJGU46BIynFQJOU4KJJyHBRJOQ6IZJbjoEjKcVAk5TgoknIcFEkjJ2kh2f2PW8j2TPJ7Ana3GCdg39OPE7DvpccJ2Pew4wTse8dhAvrnto8TsO+VxgnY9yjjBOx7g3GC5Wsy/fOwzdq+47IcR/uzr2y5bu9v/9O3zcnjnWz14NU5hx8vzvXpXecf2zP6x2EvA5J+h7IKSPqN0iog6fdri4CkfxT2MiDpd6+rgKTfRK8Ckn4vvwpIE0gMSJkNCOSVzabvIONm2wBksHonGXIqT682B/Yre9CJ2K9sTSdiv7JjnYed/sHdb4r9yv52IvYr296J2K/shidiN2E/A/uVvfNE7LLUU7DLUn8V+9NXB8vWB9hDCfsg1a09vTo5BklOu8AgyYD5B4n+IfAapNsgya4XGCS5+AKDJHNfYJBMg8Q/SOoKLDBI6iEsMEjqOCwwSOo4/JlBqulOMLSUf3OQ1HFgH6S0beo4LDBI6jgsMEjqOCwwSOo4LDBIpkHiHyR1HBYYJHUcFhgkdRwWGCR1HBYYJHUc/swgtbL/zEcv4fcGKajjsMAgqeOwwCCp47DAIKnjsMAgmQaJf5DUcVhgkNRxWGCQ1HFYYJDUcVhgkNRx4B+kqI7Dnxmk3tOD4Pabg6SOwwKDpI7DAoOkjsMCg2QaJP5BUsdhgUFSx2GBQVLHYYFBUsdhgUFSx4F/kJI6DgsMEnvHIYdyT3v77/bPT9e5JWDX8XECdlcdJ7DlE7BbzjgBuwKME7Dvj8cJ2DeP4wTsO6thAmPfdowT0NfkmOKeIMXymoC+Jg8T0NfkYQL6mjxMQF+T09Mn2Z427nsC+po8TEBfk4cJ6Guy7U8lv/13ra8J6GvyKEGmr8nDBPQ12fojQbbXXUWmr8nDBPQ1eZiAvibnp9W0bAcJ6GvyMAF9TR4moK/JJT4lyAerKXtNLlvd96YlxNddRWavySVY3RPELb4kKOw1ucS4PRK09JqAvSaXtO0/91ZSf/0cFPaaPE7AXpPHCdhrcrGw7yqK9YNPMntNHidgr8nlppZ7gts/qT0nOHh5qPt5/rg9Fq5gR6/O7b5Qt/T02px+sGGv9l9kE8Nel6LFAZuY7f7GY65P/9aZD/+21e2po/T06sM3vvW6T8vbP54+/7tr+8Gefp/yB9mnXO+7uPThX6UP2Zdwf3Fpj0U2pM1Jnn5/9SfJt/0f7VN/+l7CT2b9mGal3+t9jea2z8wQW/tA83te+p1h3uwpb/w8b97LZ06PNTDnH2HpN5HIsPT7TWRYu1JY+l0sMiz/hhcYln8HCwzLv2UEhuXfpeHC0j/HGxr2Sjso+mdWQ8O+7Q7KymtYu1LYt91BHYV92x3UUdi33UEdhX3bHdRR2DfbQdXHaZP+Epb+ya7QsG+2g/o87JvtoD4P+2Y7qM/D2pXCvtkO6vOwb7aD+jzsm+2gPg/7Zjuoz8KGE36l27b7P+alnOoobO8W97eypZdzDuGEHzn8UoIYbv98eX8rIZTBQenc73+7hO11uDp52C3Ux9HtuL18YSic8Et66ATkH5lxghMOHIM/9CccOEYnKKsnOOGQ33kLr5F/ZLBhyT9d2LDzP4gp7WFTKaMPYuj7bi8+f5Es3gPU1QO0xQNk8j1NqFby448frOWZXQNqK/tXAGt/+hjX469T3peHEp++FFzsR9p4qbTkdRqclrxQg9Oy74Oxadn3zNi09VJpyds44LTkfRxs2kK/P4KmvdReqtDvpbqFR9rycnwuFPr90TCBLZ+Afh8zTEC/NxkmoN9vDBPQ7yGGCej3BaMElb7WDxPQ1+9hAv6a3PcfCGlbSK8J+GvyKAF/TR4l4K/JowT8NXmUgL8mjxLw1+RRAv6aPEjQ+GvyKAF/TR4lYK/JbXv85FXbPv6b6vcE7DV5nIC9Jo8TsNfkcQL2mjxOwF6TxwnYa/I4AXtNHibo7DV5nIC9Jo8T0Nfkp5/kavnjruLLnfpOX7+haelrPTQt/b4AmpZ+DwFNS7/fgKal35tA09LvY4Bp40a/54Gmpd8fQdNeaS8VN/q91ON3cW933172vnGz5RPQ73mGCej3McME9HuTYQL6/cYwAf0eYpQg0O8Lhgnoa/0wAX39Hiagr8nlqR9VykEC+po8TEBfk4cJ6GvyMAF9TR4moK/JwwT0NXmUgP13Gn4hAX1NHiagr8nDBPQ1uYb9bG+rKb8moK/JwwT0NXmYgL4mDxPQ1+RhAvqaPExAX5NHCRJ9TR4moK/JwwT0NXmYgL8mt0eC9voI10j/+1XjBPw1eZSAvyaPEvDX5FEC/po8SsBfkwcJjL8mjxLw1+RRAv6aPEqwfE1m/4G80Nv+m3G3/y7pNQH9b0oOE9D/puQwAXtNHidgr8m9tUeCnrbXBOw1eZiA/vf4xglW/1nuSP8be+ME7DV5nIC+Jg8TrP47z5H+N+vGCchr8vD3ziP7b8v9QoLVf/c/sv8G3O1dp/RIUF8Nh/133X4hAXlN/oUE7L85f3snj89BtdfVlP232m7vutj+VlrorwnYfx1+a/uve9/eyva6u2b/rbbb7cP+VsIWDj4H9DV5mIC+Jg8TsNfksKV9ZxfC9vpJZv+ttl9IwF6TQ8jlkaB82BcdbcZrfPQFnv64HT7XYv9CdEtPZ5Ry+sGGvdp/jc1ti7k/8+NZU47Z3MrYYyfxgWQ9ivl0Niyn+MTyUJluf3B/nMJtij6mZdjaD/b8z8b5g+zj/si5mEIbsO/71xV6f5TqkIKTvIn8SeT5nxr0ruTZ97PvS559H/6+5Pkf+/mu5Om9513Js/+O5xuTfy/PXIn8pS32VPJy2LPIm8ifRF4OexZ5OexZ5OWwZ5GXw55F/tIOa9se0ywPyOf9i/8lP5OPPvLsv3v9xuQv7bCnkr+0w55K/tIOeyp5E/mTyF/aYU8lf2mHPZX8pR32VPKXdthTycthzyGf2J9j8Mbk5bBnkZfDnkVeDnsWeRP5k8hf2mFz319dYhiQL+3+Rmp/Orlg9oPkpZ0USvLSjgkleWlnhJK8tAMiSbI/g2Yhkpd2NCjJSzsXlOSlHQpK0kQSRFKOgyIpx0GRlOOgSMpxUCTlOCCS7M/0WojkpR2n7m8l1g+vPiIZetjfyRb7ActLWw6Y5aU9B8zSxBLG8tKuA2Z5adsBs7y074BZXtp4wCwv7TxYluxPTVyKpbwHx1Leg2Mp78GxNLGEsZT34FjKe3Asr+w9t39R2N9KenqU4TeW3+m8l8nc3uDjeQgtfqDzPS+/bexP3fuWt32eN4f7t4vz06PVcv4elv2Brdiw/Pt1YFj+DTUwLP+OFxjWrhSWf88IDMu/qQOG5d91AcPyb6KAYa+0g2J/vC427JV2UOwP7cWGfdsd1NNjB/ewdqWwb7uDOgr7tjuoo7Bvu4M6Cvu2O6ijsG+2g9p/3DbX/hKW/mHI0LBvtoP6POyb7aA+D/tmO6jPw9qVwr7ZDurzsG+2g/o87JvtoD4P+2Y7qM/DXmkHxf/oamTYK+2gFnhsNTDslXZQJzwgOLf7c71vH6IwCHvLV+6/YhZCix/Cfk9QyBPELd/fym3gtvD5cJX9WzMlPj1Avvz4ktAJD7c9M227VNp+pbQnPDj1zLThUmnjpdKmS6W1S6Vl3x9h015qL9Xo91IhxUfanF72vo1+fzRMQL/nGSXo9PuYYQL6vckwAf1+Y5iAfg8xTGDLJ6Cv9cME9PV7mIC/Jre0J4hPJ5X2BPw1eZSAvyZ/nsA2/po8SsBfk0cJ+GvyKAF/TR4l4K/JowT8NXmUgL8mjxLQ1+SYHl2BmPtrAvqaPExAX5NHCQJ9TR4moK/JwwT0NXmYgL4mDxPQ1+RhAvqaPExAX5OHCehrcikP069b/vtvdOot0NdvaFr6Wo9MG+n3BdC09HsIaFr6/QY0Lf3eBJrWLpWWfs8DTUu/P4KmvdReKtLvpWrte9q2bS9730i/PxolSPR7nmEC+n3MMAH93mSYgH6/MUxgyyeg3xcME9DX+mEC+vo9TEBfk1t6SlAOEtDX5FECo6/JwwT0NXmYgL4mDxPQ1+RhAvqaPExAX5OHCehr8jABfU0eJqCvyX3b/3jssb4moK/JowSZviYPE9DX5GEC+po8TEBfk4cJ6GvyMAF9TR4moK/JwwT0NXmYgL8m16cEvbwm4K/JgwSFvyaPEvDX5FEC/po8SsBfk0cJ+GvyKAF/TR4l4K/JowT8NXmUYPmaXNhrcgp1P6GRYv1wavLg5TnvnY3cHj+YVY7/dtrfd6px8OIt7e9js8eXUu+PsLPKvjdYhyT7HmUdkux7pXVIsu/Z1iFpIgkiyb6HXYck+156HZLse/p1SLK7xTok5TggkvS/W7oOSTkOiqQcB0VSjoMiaSIJIinHQZGU46BIynFQJOU4KJJyHBBJ+t80XoekHAdFUo6DIinHQZE0kQSRlOOgSMpxUCTlOCiSchwUSTkOhmSm/434dUjKcVAk5TgoknIcFEkTSRBJOQ6KpBwHRVKOgyIpx0GRlOOASNI/c2MdknIcFEk5DoqkHAdF0kQSRFKOgyIpx0GRlOOgSMpxUCTlOCCS9M8PWoekHAdFUo6DIinHQZE0kQSRlOOgSMpxUCTlOCiSchwUSTkOiCT988LWISnHQZGU46BIynFQJE0kQSTlOCiSchwUSTkOiqQcB0VSjgMiSf/8xXVIynFQJOU4KJJyHBRJE0kQSTkOiqQcB0VSjoMiKcdBkZTjgEjSP892HZJyHBRJOQ6KpBwHRdJEEkRSjoMiKcdBkZTjoEjKcVAk5TggkvTPB1+HpBwHRVKOgyIpx0GRNJEEkZTjoEjKcVAk5TgoknIcFEk5DohkleOgSMpxUCTlOCiSchwUSRNJEEk5DoqkHAdFUo6DIinHQZGU44BINjkOiqQcB0VSjoMiKcdBkTSRBJGU46BIynFQJOU4KJJyHBRJOQ6IZJfjoEjKcVAk5TgoknIcFEkTSRBJOQ6KpBwHRVKOgyIpx0GRlONgSJZNjoMiKcdBkZTjoEjKcVAkTSRBJOU4KJJyHBRJOQ6KpBwHRVKOAyIZ5DgoknIcFEk5DoqkHAdF0kQSRFKOgyIpx0GRlOOgSMpxUCTlOCCSUY6DIinHQZGU46BIynFQJE0kQSTlOCiSchwUSTkOiqQcB0VSjgMimeQ4KJJyHBRJOQ6KpBwHRdJEEkRSjoMiKcdBkZTjoEjKcVAk5TggkibHQZGU46BIynFQJOU4KJImkiCSchwUSTkOiqQcB0VSjoMiKccBkcxyHBRJOQ6KpBwHRVKOgyJpIgkiKcdBkZTjoEjKcVAk5TgoknIcEMkix0GRlOOgSMpxUCTlOCiSJpIgknIcFEk5DoqkHAdFUo6DIinHAZGschwUSTkOiqQcB0VSjoMiaSIJIinHQZGU46BIynFQJOU4KJJyHBDJJsdBkZTjoEjKcVAk5Tj/DiJpIgkiKcdBkZTjoEjKcVAk5TgoknIcEMkux0GRlOOgSMpxUCTlOCiSJpIgknIcFEk5DoqkHAdFUo6DIinHwZCsmxwHRVKOgyIpx0GRlOOgSJpIgkjKcVAk5TgoknIcFEk5DoqkHAdEMshxUCTlOCiSchwUSTkOiqSJJIikHAdFUo6DIinHQZGU46BIynFAJKMcB0VSjoMiKcdBkZTjoEiaSIJIynFQJOU4KJJyHBRJOQ6KpBwHRDLJcVAk5TgoknIcFEk5DoqkiSSIpBwHRVKOgyIpx0GRlOOgSMpxQCRNjoMiKcdBkZTjoEjKcVAkTSRBJOU4KJJyHBRJOQ6KpBwHRVKOAyKZ5TgoknIcFEk5DoqkHAdF0kQSRFKOgyIpx0GRlOOgSMpxUCTlOCCSRY6DIinHQZGU46BIynFQJE0kQSTlOCiSchwUSTkOiqQcB0VSjgMiWeU4KJJyHBRJOQ6KpBwHRdJEEkRSjoMiKcdBkZTjoEjKcVAk5Tggkk2OgyIpx0GRlOOgSMpxUCRNJEEk5TgoknIcFEk5DoqkHAdFUo4DItnlOCiSchwUSTkOiqQcB0XSRBJEUo6DIinHQZGU46BIynFQJOU4GJJtk+OgSMpxUCTlOCiSchwUSRNJEEk5DoqkHAdFUo6DIinHQZGU44BIBjkOiqQcB0VSjoMiKcdBkTSRBJGU46BIynFQJOU4KJJyHBRJOQ6IZJTjoEjSO04OO5tUYuAlSe84y5Ckd5xlSJpIgkjSO84yJOkdZxmS9I6zDEl6x1mGJL3jrEIy0TvOMiTlOCiSchwUSTkOiqSJJIikHAdFUo6DIinHQZGU46BIynFAJE2OgyIpx0GRlOOgSMpxUCRNJEEk5TgoknIcFEk5DoqkHAdFUo4DIpnlOCiSchwUSTkOiqQcB0XSRBJEUo6DIinHQZGU46BIynFQJOU4IJJFjoMiKcdBkZTjoEjKcVAkTSRBJOU4KJJyHBRJOQ6KpBwHRVKOAyJZ5TgoknIcFEk5DoqkHAdF0kQSRFKOgyIpx0GRlOOgSMpxUCTlOCCSTY6DIinHQZGU46BIynFQJE0kQSTlOCiSchwUSTkOiqQcB0VSjgMi2eU4KJJyHBRJOQ6KpBwHRdJEEkRSjoMiKcdBkZTjoEjKcVAk5TgYkn2T46BIynFQJOU4KJJyHBRJE0kQSTkOiqQcB0VSjoMiKcdBkZTjgEgGOQ6KpBwHRVKOgyIpx0GRNJEEkZTjoEjKcVAk5TgoknIcFEk5DohklOOgSMpxUCTlOCiSchwUSRNJEEk5DoqkHAdFUo6DIinHQZGU44BIJjkOiqQcB0VSjoMiKcdBkTSRBJGU46BIynFQJOU4KJJyHBRJOQ6IpMlxUCTlOCiSchwUSTkOiqSJJIikHAdFUo6DIinHQZGU46BIynFAJLMcB0VSjoMiKcdBkZTjoEiaSIJIynFQJOU4KJJyHBRJOQ6KpBwHRLLIcVAk5TgoknIcFEk5DoqkiSSIpBwHRVKOgyIpx0GRlOOgSMpxQCSrHAdFUo6DIinHQZGU46BImkiCSMpxUCTlOCiSchwUSTkOiqQcB0SyyXFQJOU4KJJyHBRJOQ6KpIkkiKQcB0VSjoMiKcdBkZTjoEjKcUAkuxwHRVKOgyIpx0GRlOOgSJpIgkjKcVAk5TgokvSOU3J+xH2CM5lkTOn+PuJtdA9I0jvOMiTpHWcNkrZt9I6zDEl6x1mGJL3jLEOS3nGWIWkiCSJJ7zjLkKR3nGVIynFQJOU4KJJyHBDJIMdBkZTjoEjKcVAk5TgokiaSIJJyHBRJOQ6KpBwHRVKOgyIpxwGRjHIcFEk5DoqkHAdFUo6DImkiCSIpx0GRlOOgSMpxUCTlOCiSchwQySTHQZGU46BIynFQJOU4KJImkiCSchwUSTkOiqQcB0VSjoMiKccBkTQ5DoqkHAdFUo6DIinHQZE0kQSRlOOgSMpxUCTlOCiSchwUSTkOiGSW46BIynFQJOU4KJJyHBRJE0kQSTkOiqQcB0VSjoMiKcdBkZTjgEgWOQ6KpBwHRVKOgyIpx0GRNJEEkZTjoEjKcVAk5TgoknIcFEk5DohkleOgSMpxUCTlOCiSchwUSRNJEEk5DoqkHAdFUo6DIinHQZGU44BINjkOiqQcB0VSjoMiKcdBkTSRBJGU46BIynFQJOU4KJJyHBRJOQ6IZJfjoEjKcVAk5TgoknIcFEkTSRBJOQ6KpBwHRVKOgyIpx0GRlONgSIZNjoMiKcdBkZTjoEjKcVAkTSRBJOU4KJJyHBRJOQ6KpBwHRVKOAyIZ5DgoknIcFEk5DoqkHAdF0kQSRFKOgyIpx0GRlOOgSMpxUCTlOCCSUY6DIinHQZGU46BIynFQJE0kQSTlOCiSchwUSTkOiqQcB0VSjgMimeQ4KJJyHBRJOQ6KpBwHRdJEEkRSjoMiKcdBkZTjoEjKcVAk5TggkibHQZGU46BIynFQJOU4KJImkiCSchwUSTkOiqQcB0VSjoMiKccBkcxyHBRJOQ6KpBwHRVKOgyJpIgkiKcdBkZTjoEjKcVAk5TgoknIcEMkix0GRlOOgSMpxUCTlOCiSJpIgknIcFEk5DoqkHAdFUo6DIinHAZGschwUSTkOiqQcB0WS3XG+HXS5//Fv/1jyTPJ7Als+AfuefpyAfS89TsC+hx0nYN87jhOw79mGCeiflz5OwL5HGSdg3xuMEyxfk+mfh23W9h2X5Tjan31ly3V7f/uf7vkp5VYPXp1z+PHiXJ/edf6xPaN/HPYyIOl3KKuApN8orQKSfr+2Ckj6beMiIOmfhL0MSPpN9Cog6ffyq4CkV4pVQJpAYkBe2Wz6DjJutg1ABqt3kiGn8vRqc2C/sgediP3K1nQi9is71onYr2xkp2GP9E/5flPsV7a9E7Ff2Q1PxH5lkzwRuwn7Gdhlqadgl6X+Kvanrw6WrQ+whxL2Qapbe3p1cgySnHaBQZIBLzBI8mX+QaJ/vrwG6TZIcvEFBknmvsAgyfMXGCTTIPEPknoICwySOg4LDJI6Dn9mkGq6Ewwt5d8cJHUcFhgkdRz4Bymq47DAIKnjsMAgqeOwwCCp47DAIJkGiX+Q1HFYYJDUcVhgkNRxWGCQ1HH4M4PUyv4zH72E3xwkdRz4Bymp47DAIKnjsMAgqeOwwCCp47DAIJkGiX+Q1HFYYJDUcVhgkNRxWGCQ1HFYYJDUcfgzg9R7ehDcfm+QTB2HBQZJHYcFBkkdhwUGSR2HBQbJNEj8g6SOwwKDpI7DAoOkjsMCg6SOwwKDpI4D/yBl9o5DDuWe9vbf7eXpOjGz6/g4AburjhOwi9w4gS2fgF0BxgnY98fjBOybx3EC9p3VOAH7tmOYoNDX5JjiniDF8pqAviYPE9DX5GEC+po8TEBfk9PTJ9meNu57AvqaPExAX5OHCehrsu1PJb/9d62vCehr8jABfU0eJaj0Ndn6I0G2111Fpa/JwwT0NXmYgL4m56fVtGwHCehr8jABfU0eJqCvySU+JcgHqyl7TS5b3femJcTXXUVlr8klWN0TxC2+JmCvySXG7ZGgpZcEjb0ml7TtP/dWUn/9HDT2mjxOwF6TxwnYa3KxsO8qivXXT3Jjr8njBOw1udzUck9w+ye15wQHLw91P88ft8fCFezo1bndF+qWnl6b0w827NX+i2xi2OtStDhgc/t3mfsbvzXXn/6tMx/+bavbU0fp6dWHb3zrdZ+Wt388ff531/aDPf0+5Q+yT7ned3Hpw79KH7Iv4f7i0h6LbEibkzz9/upPkm/7P9qn/vS9hJ/M+l+gSb/X+xrNbZ+ZIbb2geY/8nb6nWHe7Clv/Dxv3stnTo81MOcfYek3kciw9PtNZFj6rSkyrF0pLP+GFxiWfwcLDMu/ZQSG5d+lAcPyb6JgYRP907OhYS+0g0r0T4qGhr3QDipt9q5hrbyGfdsd1FHYt91BHYV92x3UUdi33UEdhX3bHdRBWPonpH4xbH2cI+qvYd9sB/V52DfbQX0e9s12UJ+HtSuFfbMd1Odh32wH9XnYN9tBfR72zXZQn4d9sx3Up2Hpn/gGDXulHRT9E8igYa+0g6J/IhYy7Am/Tmvb/XskKac6Ctu7xf2tbOnliF064ce9vpQghhDvI3D77zL4jY7c73+7hNf+6Ak/kvW1sFuoj18NiVt9Ha6yfALyj8w4QSEfg/GHviy/bJ1wIhKc4IRv/p+38J5wSODEsOlKYW162Nuu6x72thaPPoih77u9+Pwd5ngPkFcPUFYPwL6WVyv58ceP1vLOnqCV/dvntT99jOvxN/nvy0OJT+dRyvdfjEsnfLf6zLTkdRqclrxQg9OSV2pwWrtUWnLXB6dld1JsWnZ/xaal3x9B015pL2Ub/V6qW3ikLS8nt22j3x8NE9DveYYJ6PcxwwS2fAL6/cYwAf0eYpiAfl8wTEBf64cJ6Ov3KEHgr8l9/22qtoX0moC/Jo8S8NfkUQL+mjxKwF+TRwn4a/IoAX9NHiXgr8mjBPw1eZSAvyYPEkT2mty2x68ttu3jv6l+T8Bek8cJ2GvyOAF7TR4nYK/J4wTsNXmcgL0mjxOw1+RxAvaaPE7AXpOHCRJ9TX76NciWP+4qvtypT/T1G5qWvtZD09LvC6Bp7VJp6fcb0LT0exNoWvp9DDQt/Z4HmpZ+f4RMa5faSxn9Xurxk+y3u2+ve1+j3x8NE9DveYYJbPkE9HuTYQL6/cYwAf0eYpiAfl8wTEBf60cJMn39Hiagr8nlqR9VDvpRmb4mDxPQ1+RhAvqaPExAX5OHCehr8jABfU0eJqCvycME9DV5lKDQ1+RhAvqaXMN+trfVlF8T0NfkYQL6mjxMQF+Thwnoa/IwAX1NHiagr8nDBPQ1eZiAviaPElT6mjxMwF+T2yNBe316uFX+mjxKwF+TRwn4a/IoAX9NHiXgr8mjBPw1eZSAvyaPEvDX5EGCxl+TRwmWr8nsP5AXett/M+723+X1hAb7r979QgL2mjxOwF6Txwnof1u1tUeCnrbXBPS/rTpMQP/bqsME7DV59OuwRv8be+ME7DV5nIC+Jg8T0NfkYQL6mjxMsPpvzhv7b8v9QoLVf3Pe2H8D7vauU3okqK+Gw/67bsMEmf232n4hAftvzt/eyeNzUK28JmD/Ifnt9hf3t9JCf03A/uvwW9t/3fv2VrbtNQF5Tb7dPuxvJWzh4HNAX5OHCehr8jABe00OW9p3diFsB59k9po8TsBek0PI5ZGgfNgXHW3Ga3z0BZ7+uB0+12L/QnRLT2eUcvrOhv1X4L7I5rbF3J/58awpx2xuZeyxk/hAsh7FfDobllN8YnmoTLc/uD9O4TZFH9MybO0He/5n4/xB9nF/5FxMoQ3Y9/3rCr0/SnVIwUme/0E970qe/6lB70reRP4k8uz78Pclz+4P70ue3nveljy9r70t+ffyzIXIs/9u6huTl8OeRV4OexZ5OexZ5E3kTyIvhz2LvBz2LPKXdljb9phmeUA+71/8L/mZfHSSv7TDnkr+0g57Jnn23xl/Y/KXdthTyV/aYU8lf2mHPZW8ifxJ5C/tsKeSv7TDnkpeDnsWeTnsWeTlsCeRZ3++wxuTl8OeRV4Oexb5Szts7vurSwwD8qXd30jtTycXzH6QNJEEkby0Y0JJXtoZoSQv7YBQkpd2OijJSzsakiT7M3kWInlph4KSvLQTQUnKcVAkTSRBJOU4KJJyHBRJOQ6KpBwHRfLSjlP3txLrh1cfkQw97O9ki/2VJftTzpZieWnPAbO8tOmAWV7adcAsTSxhLC/tO2CWlzYeMMtLOw+Y5aWtB8xS3gNjyf4kyaVYyntwLOU9OJbyHhxLE0sYyyt7Twp9fyvp6VGG31h+p/NeJnN7g4/nIbT4gc73vPy2sT9171ve9nneHO7fLs5Pj1bL+UdYfh0AhuXfr+PCsj8GFhuWf8cLDMu/JQWG5d8zAsPalcLy77qAYfk3UcCwV9pBsT9eFxv2Sjso9of2YsO+7Q7q6bGDe9i33UEdhX3bHdRRWLtS2LfdQR2Ffdsd1FHYN9tB7T9ue+vBvIZ9sx3U52HfbAf1WdhC/4hlaNg320F9HvbNdlCfh32zHdTnYe1KYd9sB/V52DfbQX0e9kI7qML/6Gpk2CvtoBZ4bDUw7JV2UAs8mhkY9ko7qAUeQAwMe6Ud1AKP2QWGvdIO6oRHmua23cPWEAZhb/nK/TclQ2jxQ9h/JDjh0aBfSxC3fH8rt4HbwufDVfbvMJaYHn+62I+04VJp46XSpkultUulzZdKWy6Vtl4qbbtUWvb9ETRtutReKtHvpUKKj7Q5vex9E/3+aJiAfs8zTGDLJ6DfmwwT0O83hgno9xDDBPT7gmEC+lo/SmD09XuYgL8mt7QniE/nRvcE/DV5lIC/Jo8S8NfkUQL+mjxKwF+TRwn4a/IoAX9NHiXgr8mDBJm/Jo8S0NfkmB5dgZj7awL6mjxMQF+Thwnoa/IwAX1NHiagr8nDBPQ1eZiAviYPE9DX5FGCQl+Thwnoa3IpD9OvW/7773TqC339hqalr/XQtHaptPR7CGha+v0GNC393gSaln4fA01Lv+dBpq30+yNo2kvtpSr9XqrWvqdt2/ay9630+6NhAls+Af0+ZpiAfm8yTEC/3xgmoN9DDBPQ7wtGCRp9rR8moK/fwwT0NbmlpwTlIAF9TR4moK/JwwT0NXmYgL4mDxPQ1+RhAvqaPExAX5NHCTp9TR4moK/JwwT0Nblv+x+PPdbXBPQ1eZiAviYPE9DX5GEC+po8TEBfk4cJ6GvyMAF9TR4kqBt9TR4moK/JwwT8Nbk+JejlNQF/TR4l4K/JowT8NXmUgL8mjxLw1+RRAv6aPErAX5MHCQJ/TR4l4K/JowTL1+TAXpNTqPsJjRTrh1OTBy/Pee9s5Pb4waxy/LfT/r5TjYMXb2l/H5s9vpR6f6BoPeEXAN+VJPseZR2S7HuldUiy79nWIcm+d1yHJPsedhmS9L+juQ5J9j39OiTZ3WIdknIcFEkTSRBJOQ6KpBwHRVKOgyIpx0GRlOOASNL/vu06JOU4KJJyHBRJOQ6KpIkkiKQcB0VSjoMiKcdBkZTjoEjKcUAk6X8DfB2SchwUSTkOiqQcB0XSRBJEUo6DIinHQZGU46BIynFQJOU4IJL0z1RYh6QcB0VSjoMiKcdBkTSRBJGU46BIynFQJOU4KJJyHBRJOQ6IJP0zatYhKcdBkZTjoEjKcVAkTSRBJOU4KJJyHBRJOQ6KpBwHRVKOAyJJ/5ypdUjKcVAk5TgoknIcFEkTSRBJOQ6KpBwHRVKOgyIpx0GRlOOASNI/X28dknIcFEk5DoqkHAdF0kQSRFKOgyIpx0GRlOOgSMpxUCTlOCCS9M8rXYekHAdFUo6DIinHQZE0kQSRlOOgSMpxUCTlOCiSchwUSTkOhmSjf/7zOiTlOCiSchwUSTkOiqSJJIikHAdFUo6DIinHQZGU46BIynFAJIMcB0VSjoMiKcdBkZTjoEiaSIJIynFQJOU4KJJyHBRJOQ6KpBwHRDLKcVAk5TgoknIcFEk5DoqkiSSIpBwHRVKOgyIpx0GRlOOgSMpxQCSTHAdFUo6DIinHQZGU46BImkiCSMpxUCTlOCiSchwUSTkOiqQcB0TS5DgoknIcFEk5DoqkHAdF0kQSRFKOgyIpx0GRlOOgSMpxUCTlOCCSWY6DIinHQZGU46BIynFQJE0kQSTlOCiSchwUSTkOiqQcB0VSjgMiWeQ4KJJyHBRJOQ6KpBwHRdJEEkRSjoMiKcdBkZTjoEjKcVAk5TggklWOgyIpx0GRlOOgSMpxUCRNJEEk5TgoknIcFEk5DoqkHAdFUo4DItnkOCiSchwUSTkOiqQcB0XSRBJEUo6DIinHQZGU46BIynFQJOU4IJJdjoMiKcdBkZTjoEjKcVAkTSRBJOU4KJJyHBRJOQ6KpBwHRVKOgyHZNzkOiqQcB0VSjoMiKcdBkTSRBJGU46BIynFQJOU4KJJyHBRJOQ6IZJDjoEjKcVAk5TgoknIcFEkTSRBJOQ6KpBwHRVKOgyIpx0GRlOOASEY5DoqkHAdFUo6DIinHQZE0kQSRlOOgSMpxUCTlOCiSchwUSTkOiGSS46BIynFQJOU4KJJyHBRJE0kQSTkOiqQcB0VSjoMiKcdBkZTjgEiaHAdFUo6DIinHQZGU46BImkiCSMpxUCTlOCiSchwUSTkOiqQcB0Qyy3FQJOU4KJJyHBRJOQ6KpIkkiKQcB0VSjoMiKcdBkZTjoEjKcUAkixwHRVKOgyIpx0GRlOOgSJpIgkjKcVAk5TgoknIcFEk5DoqkHAdEsspxUCTlOCiSchwUSTkOiqSJJIikHAdFUo6DIinHQZGU46BIynFAJJscB0VSjoMiKcdBkZTjoEiaSIJIynFQJOU4KJJyHBRJOQ6KpBwHRLLLcVAk5TgoknIcFEk5DoqkiSSIpBwHRVKOgyIpx0GRlOOgSMpxICTztslxUCTlOCiSchwUSTkOiqSJJIikHAdFUo6DIinHQZGU46BIynFAJIMcB0VSjoMiKcdBkZTjoEiaSIJIynFQJOU4KJJyHBRJOQ6KpBwHRDLKcVAk5TgoknIcFEk5DoqkiSSIpBwHRVKOgyIpx0GRlOOgSMpxQCSTHAdFUo6DIinHQZGU46BImkiCSMpxUCTlOCiSchwUSTkOiqQcB0TS5DgoknIcFEk5DoqkHAdF0kQSRFKOgyIpx0GRlOOgSMpxUCTlOCCSWY6DIinHQZGU46BIynFQJE0kQSTlOCiSchwUSTkOiqQcB0VSjgMiWeQ4KJJyHBRJOQ6KpBwHRdJEEkSS3nFy2NmkEgMvSXrHWYYkveMsQ5LecZYhSe84q5Cs9I6zDEl6x1mGJL3jLEOS3nGWIWkiCSIpx0GRlOOgSMpxUCTlOCiSchwQySbHQZGU46BIynFQJOU4KJImkiCSchwUSTkOiqQcB0VSjoMiKccBkexyHBRJOQ6KpBwHRVKOgyJpIgkiKcdBkZTjoEjKcVAk5TgoknIcDMmwyXFQJOU4KJJyHBRJOQ6KpIkkiKQcB0VSjoMiKcdBkZTjoEjKcUAkgxwHRVKOgyIpx0GRlOOgSJpIgkjKcVAk5TgoknIcFEk5DoqkHAdEMspxUCTlOCiSchwUSTkOiqSJJIikHAdFUo6DIinHQZGU46BIynFAJJMcB0VSjoMiKcdBkZTjoEiaSIJIynFQJOU4KJJyHBRJOQ6KpBwHRNLkOCiSchwUSTkOiqQcB0XSRBJEUo6DIinHQZGU46BIynFQJOU4IJJZjoMiKcdBkZTjoEjKcVAkTSRBJOU4KJJyHBRJOQ6KpBwHRVKOAyJZ5DgoknIcFEk5DoqkHAdF0kQSRFKOgyIpx0GRlOOgSMpxUCTlOCCSVY6DIinHQZGU46BIynFQJE0kQSTlOCiSchwUSTkOiqQcB0VSjgMi2eQ4KJJyHBRJOQ6KpBwHRdJEEkRSjoMiKcdBkZTjoEjKcVAk5Tggkl2OgyIpx0GRlOOgSMpxUCRNJEEk5TgoknIcFEk5DoqkHAdFUo6DIRk3OQ6KpBwHRVKOgyIpx0GRNJEEkZTjoEjKcVAk5TgoknIcFEk5DohkkOOgSMpxUCTlOCiSchwUSRNJEEk5DoqkHAdFUo6DIinHQZGU44BIRjkOiqQcB0VSjoMiKcdBkTSRBJGU46BIynFQJOU4KJJyHBRJOQ6IZJLjoEjKcVAk5TgoknIcFEkTSRBJOQ6KpBwHRVKOgyIpx0GRlOOASJocB0WS3nFKzo+4T3Amk7ztvO/v47bhCQck6R1nGZL0jrMMSRNJEEl6x1mGJL3jLEOS3nGWIUnvOMuQpHecVUhmesdZhqQcB0VSjoMiKcdBkTSRBJGU46BIynFQJOU4KJJyHBRJOQ6IZJHjoEjKcVAk5TgoknIcFEkTSRBJOQ6KpBwHRVKOgyIpx0GRlOOASFY5DoqkHAdFUo6DIinHQZE0kQSRlOOgSMpxUCTlOCiSchwUSTkOiGST46BIynFQJOU4KJJyHBRJE0kQSTkOiqQcB0VSjoMiKcdBkZTjgEh2OQ6KpBwHRVKOgyIpx0GRNJEEkZTjoEjKcVAk5TgoknIcFEk5DoZk2uQ4KJJyHBRJOQ6KpBwHRdJEEkRSjoMiKcdBkZTjoEjKcVAk5TggkkGOgyIpx0GRlOOgSMpxUCRNJEEk5TgoknIcFEk5DoqkHAdFUo4DIhnlOCiSchwUSTkOiqQcB0XSRBJEUo6DIinHQZGU46BIynFQJOU4IJJJjoMiKcdBkZTjoEjKcVAkTSRBJOU4KJJyHBRJOQ6KpBwHRVKOAyJpchwUSTkOiqQcB0VSjoMiaSIJIinHQZGU46BIynFQJOU4KJJyHBDJLMdBkZTjoEjKcVAk5TgokiaSIJJyHBRJOQ6KpBwHRVKOgyIpxwGRLHIcFEk5DoqkHAdFUo6DImkiCSIpx0GRlOOgSMpxUCTlOCiSchwQySrHQZGU46BIynFQJOU4KJImkiCSchwUSTkOiqQcB0VSjoMiKccBkWxyHBRJOQ6KpBwHRVKOgyJpIgkiKcdBkZTjoEjKcVAk5TgoknIcEMkux0GRlOOgSMpxUCTlOCiSJpIgknIcFEk5DoqkHAdFUo6DIinHwZC0TY6DIinHQZGU46BIynFQJE0kQSTlOCiSchwUSTkOiqQcB0VSjgMiGeQ4KJJyHBRJOQ6KpBwHRdJEEkRSjoMiKcdBkWR3nNtKbvc/fvsE2TPJ7wnY3WKcgH1PP0wQ2ffS4wTse9hxAva94zgB+55tnMCWT8C+RxknYN8bjBMsX5Ppn4dt1vYdl+U42p99Zct1e3/7n+75KeVWD16dc/jx4lyf3nX+sT2jfxz2KiDpn4a9DEj6jdIqIOn3a6uApN82rgLSBBIDkn4TvQpI+r38KiDplWIVkDIbEMgrm03fQcbNtgHIYPVOMuRUnl5tX8dO/8TsN8V+ZWs6EfuVHetE7Fc2shOxm7Cfgf3Ktnci9iu74YnYr2ySJ2K/sneeiF2WegZ2+mee82B/+upg2foAeyhhH6S6tadXJ8cgyWkXGCQZ8AKDJF9eYJBMg8Q/SHLxBQZJ5r7AIMnzFxgkdQUWGCT1EPgHqajjsMAgqePwZwappjvB0FL+zUFSx2GBQVLHYYFBMg0S/yCp47DAIKnjsMAgqeOwwCCp47DAIKnjwD9IVR2HBQZJHYcFBkkdhz8zSK3sP/PRS/jNQVLHYYFBMg0S/yCp47DAIKnjsMAgqeOwwCCp47DAIKnjwD9ITR2HBQZJHYcFBkkdhwUGSR2HPzNIvacHwe03B8k0SPyDpI7DAoOkjsMCg6SOwwKDpI7DAoOkjgP/IHV1HBYYJHUcFhgkdRwWGCR1HBYYJCMfpBzKPe3tv9vr03U6u46PE7C76jgBu8iNE7BbzjgBuwKMEuSNfX88TsC+eRwnYN9ZjROwbzvGCehrckxxT5BieU1AX5OHCehr8jABfU0eJqCvyenpk2xPG/c9AX1NHiUI9DV5mIC+Jtv+VPLw7VuYrwnoa/IwAX1NHiagr8k3Ed4TZHvdVQT6mjxMQF+Thwnoa3J+Wk3LdpCAviYPE9DX5FGCSF+TS3xKkF9X08hek8tW971pCfF1VxHZa3IJVvcEcYuvCdhrcolxeyRo6TUBe00uadt/7q2kfvA5YK/J4wTsNXmcgL0mFwv7rqLc/unzNQF7TR4nYK/J5aaWe4LbHuI5wcHLQ93P88ftsXAFO3p1bveFuqWn1+b0nU1ir/ZfZBPDXpeixQGbmO3+xmOuT//WmQ//ttXtqaP09OrDN771uk/L2z+ePv+7a/vBnn6f8gfZp1zvu7j04V+lD9mXcH9xaY9FNqTNSZ5+f/Unybf9H+1Tf/pewk9m/S/QpN/rfY3mts/MEFv7QPN7XqPPu9lT3vh53ryXz5wea2DOP8LSbyKRYen3m8iw9FtTZFj6XSwyLP+GFxeW/inr0LD8W0ZgWP5dGjAs/yYKGNauFPZKOyj6J0VDw15pB0X/VGR3WCuvYd92B3UQlv4JwNCwb7uDOgr7tjuoo7Bvu4M6CmvvFbY+zhH117BvtoP6POyb7aA+D/tmO6jPw77ZDurzsG+2g/o0LP0TDaFh32wH9XnYN9tBfR72zXZQn4e1K4W90g6K/glk0LBX2kHRPxELGvZKOyj6JzRBw15pB0X/xCBo2CvtoOifYIMMe8LvDdl2/1ZfyqkOwsYt1MePAsXt9avoJ/wYDzpBXjtBTP9y/F10a2Gfe1t+fE273S87/pr2+LLguyz6Lku+y8x3WfZdVnyXVd9lzXeZb5aYb5aYb5aYb5aYb5aYb5aYb5aYb5aYb5aYb5aYb5Zk3yzJvlmSfbMk+2ZJ9s2S7Jsl2TdLsm+WZN8syb5ZUnyzpPhmSfHNkuKbJcU3S4pvlhTfLCm+WVJ8s6T4Zkn1zZLqmyXVN0uqb5ZU3yypvllSfbOk+mZJ9c2S6pslzTdLmm+WNN8sab5Z0nyzpPlmSfPNkuabJc03S5pvlnTfLOm+WdJ9s6T7Zkn3zZLumyXdN0u6b5Z03yzpvlkSts15XXBeF53XJed15rwuO68rzuuq87rmvM45X4JzvgTnfAnO+RKc8yU450twzpfgnC/BOV+Cc74E53yJzvkSnfMlOudLdM6X6Jwv0TlfonO+ROd8ic754uzMBmdrNjh7s8HZnA3O7mxwtmeDsz8bnA3a4OzQBmeLNjh7tMHZpA3OLm1wtmmDs08bnI3a4OzUBmerNjh7tcHZrA3Obm1wtmuDs18bnA3b4OzYBmfLNjh7tsHZtA3Orm1wtm2Ds28bnI3b4OzcBmfrNjh7t8HZvA3O7m1wtm+Ds38bnA3c4OzgBmcLNzh7uMHZxA3OLm5wtnGDs48bnI3c4OzkBmcrNzh7ucHZzA3Obm5wtnODs58bnA3d4OzoBmdLNzh7usHZ1A3Orm5wtnWDs68bnI3d4OzsBmdrNzh7u8HZ3A3O7m5wtneDs78bnf3d6OzvRmd/Nzr7u9HZ343O/m509nejs78bnf3d6OzvRmd/Nzr7u9HZ343O/m509nejs78bnf3d6OzvRmd/Nzr7u9HZ343O/m509nejs78bnf3d6OzvRmd/Nzr7u9HZ343O/m509nejs78bnf3d6OzvRmd/Nzr7u9HZ343O/m509nejs78bnf3d6OzvRmd/Nzr7u9HZ343O/m509nejs78bnf3d6OzvRmd/Nzr7u9HZ343O/m509nejs78bnf3d6OzvRmd/Nzr7u9HZ343O/m509nejs78bnf3d6OzvRmd/Nzr7u9HZ343O/m509nejs78bnf3d6OzvRmd/Nzr7u9HZ343O/m509nejs78bnf3d6OzvRmd/Nzr7u9HZ343O/m509nejs78bnf3d6OzvRmd/Nzr7u9HZ343O/m509nejs78bnf3d6OzvRmd/N3bvSVbnUVZnfzc5+7vJ2d9Nzv5ucvZ3k7O/m5z93eTs7yZnfzcF79Fn53xx9neTs7+bnP3d5OzvJmd/Nzn7u8nZ303O/m5y9ndT9J6Vd84XZ383Ofu7ydnfTc7+bnL2d5Ozv5u8v6zg/WkF728ruH9cwTlfvD+v4P19Be8PLHh/YcH7EwvO/m5y9neTs7+bnP3dZN5f43DOF2d/Nzn7u8nZ303O/m5y9neTs7+bnP3d5OzvJmd/Nzn7u8nZ303O/m5y9neTs7+bnP3d5OzvJmd/Nzn7u8nZ303O/m4q3t/7cc4XZ383Ofu7ydnfTc7+bnL2d5Ozv5uc/d3k7O8mZ383Ofu7ydnfTc7+bnL2d5Ozv5uc/d3k7O8mZ383Ofu7ydnfTc7+bnL2d5Ozv5uc/d3k7O8mZ383Ofu7ydnfTc7+bnL2d5Ozv5uc/d3k7O8mZ3/XnP1dc/Z3zdnfNWd/15z9XXP2d83Z3zVnf9ec/V1z9nfN2d81Z3/XnP1dc/Z3zdnfNWd/15z9XXP2d83Z3zVnf9ec/V1z9nfN2d81Z3/XnP1dc/Z3zdnfNWd/15z9XXP2d83Z3zVnf9ec/V1z9nfN2d81Z3/XnP1dc/Z3zdnfNe9v6Hp/RNf7K7ren9F1/46uc754f0nX+1O63t/S9f6YrrO/a87+rjn7u+bs75qzv2vO/q45+7vm7O+as79rzv6uOfu75uzvmrO/a87+rjn7u+bs75qzv2vO/q45+7vm7O+as79rzv6uOfu75uzvmrO/a87+rjn7u+bs75qzv2vO/q45+7vm7O+as79rzv6uOfu75uzvmrO/a87+rjn7u+bs75qzv2vO/q45+7vm7O+as79rzv6uOfu75uzvmrO/a87+rjn7u9nZ383O/m529nezs7+bnf3d7OzvZmd/Nzv7u9nZ383O/m529nezs7+bnf3d7OzvZmd/Nzv7u9nZ383O/m529nezs7+bnf3d7OzvZmd/Nzv7u9nZ383O/m529nezs7+bnf3d7OzvZmd/Nzv7u9nZ383O/m529nezs7+bnf3d7OzvZmd/Nzv7u9nZ383O/m529nezs7+bnf3d7OzvZmd/Nzv7u9nZ383ep6V5H5fmfV6a94Fp3iemuR+Z5pwv3oemeZ+a5n1smrO/m5393ezs72Znfzc7+7vZ2d/Nzv5udvZ3s7O/m5393ezs72Znfzc7+7vZ2d/Nzv5udvZ3s7O/m5393ezs72Znfzc7+7vZ2d/Nzv5udvZ3s7O/m5393ezs72Znfzc7+7vZ2d/Nzv5udvZ3s7O/m5393ezs7+Zf6e+Wo+uy87rivK46r2vO67rruvIr/d3D64Lzuui8LjmvM+d12XldcV5Xndc153XO+RKc8yU450twzpfgnC/BOV+Cc74E53wJzvkSnPMlOOdLdM6X6Jwv0TlfonO+ROd8ic75Ep3zJTrnS3TOl+icL8k5X5JzviTnfEnO+ZKc8yU550tyzpfknC/JOV+Sc76Yc76Yc76Yc76Yc76Yc76Yc76Yc76Yc76Yc76Yc75k53zJzvmSnfMlO+dLds6X7Jwv2TlfsnO+ZOd8yc75UpzzpTjnS3HOl+KcL8U5X4pzvhTnfCnO+fIL/d2Sn6/728uLb2Py47WlPl6aHrfof/wWv9A1/u1bhD9+i/7VW9yvi87rkvM6c16XndcV53XVeV1zXtdd19Vtc14XnNdF53XJeZ05r8vO64rzuuq8rjmvc86X4Jwvxz2maNv247p404zHdWm/LjqvS87rzHlddl5XnNdV53XNeV33XXfcY/qF65zzJTrnS3TOl+icL9E5X6JzvkTnfInO+RKd8yU550tyzpfknC/JOV+Sc74k53xJzvmSnPMlOedLcs4Xc84Xc84Xc84Xc84Xc84Xc84Xc84Xc84Xc84Xc86X7Jwv2TlfsnO+ZOd8yc75kp3zJTvnS3bOl+ycL9k5X4pzvhTnfCnO+VKc86U450txzpfinC/FOV+Kc74U53ypzvlSnfOlOudLdc6X6pwv1TlfqnO+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"
2388
+ "bytecode": "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",
2389
+ "debug_symbols": "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tszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhtszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhjszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszhrszh4pFB3PtI6I+k/sjSHyn9kdYfGf2RrT9y9Ef00w/99EM//dBPP/TTD/30Qz/90E8/9NMP/fRDP/3UTz/100/99FM//dRPP/XTT/30Uz/91E8/9dNf+ukv/fSXfvpLP/2ln/7ST3/pp7/001/66S/99Es//dJPv/TTL/30Sz/90k+/9NMv/fRLP/3ST7/102/99Fs//dZPv/XTb/30Wz/91k+/9dNv/fRHP/3RT3/00x/99Ec//dFPf/TTH/30Rz/90U9/66e/9dPf+ulv/fS3fvpbP/2tn/7WT3/rp7/10z/66R/99I9++kc//aOf/tFP/+inf/TTP/rpH/30r376Vz/9q5/+1U//6qd/9dO/+ulf/fSvfvo66wud9YXO+kJnfaGzvvdPvfojrT8y+iNbf+Toj+inr7O+0Flf6KwvdNYXOusLnfWFzvpCZ32hs77QWV/orC901hc66wud9YXO+kJnfaGzvtBZX+isL3TWFzrrC531hc76Qmd9obO+0Flf6KwvdNYXOusLnfWFzvpCZ32hs77QWV/orC901hc66wud9YXO+kJnfaGzvtBZX+isL3TWFzrrC531hc76Qmd9obO+0Flf6KwvdNYXOusLnfWFzvpCZ32hs77QWV/orC901hc66wud9YXO+kJnfaGzvtBZX+isL3TWFzrrC531hc76Qmd9obO+0Flf6KwvdNYXOusLnfWFzvpCZ32hs77QWV/orC901hc66wud9YXO+kJnfaGzvtBZX+qsL3XWlzrrS531pc76Umd9qbO+1Flf6qwvddaXOutLnfWlzvpSZ32ps77UWV/qrC911pc660ud9aXO+lJnfamzvtRZX+qsL3XWlzrrS531pc76Umd9qbO+1Flf6qwvddaXOutLnfWlzvpSZ32ps77UWV/qrC911pc660ud9aXO+lJnfamzvtRZX+qsL3XWlzrrS531pc76Umd9qbO+1Flf6qwvddaXOutLnfWlzvpSZ32ps77UWV/qrC911pc660ud9aXO+lJnfamzvtRZX+qsL3XWlzrrS531pc76Umd9qbO+1Flf6qwvddaXOutLnfWlzvpSZ32ps77UWV/qrC911pc660ud9aXO+lJnfamzvtRZX+qsL3XWlzrrS531LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31LZ31lc76Smd9pbO+0llf6ayvdNZXOusrnfWVzvpKZ32ls77SWV/prK901lc66yud9ZXO+kpnfaWzvtJZX+msr3TWVzrrK531lc76Smd9pbO+0llf6ayvdNZXOusrnfWVzvpKZ32ls77SWV/prK901lc66yud9ZXO+kpnfaWzvtJZX+msr3TWVzrrK531lc76Smd9pbO+0llf6ayvdNZXOusrnfWVzvpKZ32ls77SWV/prK901lc66yud9ZXO+kpnfaWzvtJZX+msr3TWVzrrK531lc76Smd9pbO+0llf6ayvdNZXOusrnfWVzvpKZ32ls77SWV/prK901lc66yud9ZXO+kpnfaWzvtJZX+msr3TWVzrrK531lc76Smd9pbO+0llf66yvddbXOutrnfW1zvpaZ32ts77WWV/rrK911tc662ud9bXO+lpnfa2zvtZZX+usrxXW99f/8Lp57k+vnJxvr63z7d3Pp777/cx3V2DjD7x7/C3v/m6Tn17Z2d9eO/2dl8beP700n5/fdsW3QZIyyKIMUpRB+lMG+Xj3+dR335/67udT3/1v2itd5+PdJ/+2H4D1UAYJyiBJGWRRBinKIE0ZZCiDbMoghzIIZbMWZbMWZbMWZbMWZbMWZbMWZbMWZbMWZbMWZbMWZbM2ZbM2ZbM2ZbM2ZbM2ZbM2ZbM2ZbM2ZbM2ZbM2ZbMOZbMOZbMOZbMOZbMOZbMOZbMOZbMOZbMOZbMOZbNuymbdlM26KZt1UzbrpmzWTdmsm7JZN2Wzbspm3ZTNeiib9VA266Fs1kPZrIeyWQ9lsx7KZj2UzXoom/VQNuulbNZL2ayXslkvZbNeyma9lM16KZv1UjbrpWzWC9ms80A26zyQzToPZLPOA9ms80A26zyQzToPZLPOA9ms80A26zyU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ptN1bjpd56bTdW46Xeem03VuOl3nptN1bjpd56bTdW46Xeem03VuOl3nptN1bjpd56bTdW46Xeem03VuOl3nptN1bjpd56bTdW46Xeem03VuOl3nptN1bjpd56bTdW46Xeem03VuOl3nptN1bjpd56bTdW46Xeem03VuOl3nptN1bjpd56bTdW46XeOm03qMm07v8L437Du87w37Du97w77D+96w7/C+N+w7vO8N+w7ve8O+w/vesO/wzjescdPpHd75hjVuOr3DO9+wxk2nd3jnG9a46fQO73zDGjed3uGdb1jjptM7vPMNa9x0eod3vmGNm07v8M43rHHT6R3e+YY1bjq9wzvfsMZNp3d45xvWuOn0Du98wxo3nd7hnW9Y46bTO7zzDWvcdHqHd75hjZtO7/DON6xx0+kd3vmGNW46vcM737DGTad3eOcb1rjp9A7vfMMaN53e4Z1vWOOm0zu88w1r3HR6h3e+YY2bTu/wzjescdPpHd75hjVuOr3DO9+wxk2nd3jnG9a46fQO73zDGjed3uGdb1jjptM7vPMNa9x0eod3vmGNm07v8M43rHHT6R3e+YY1bjq9wzvfsMZNp3d45xvWuOn0Du98wxo3nd7hnW9Y46bTO7zzDWvcdHqHd75hjZtO7/DON6xx0+kd3vmGNW46vcM737DGTad3eOcb1rjp9A7vfMMaN53e4Y1v2HBuOoVz0ymcm07h3HSKx/iGDeemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO6dx0SuemUzo3ndK56ZSP8Q2bzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N52Wc9NpOTedlnPTaTk3ndZjfMMu56bTcm46Leem03JuOi3nptNybjot56bTcm46Leem03JuOi3nptNybjot56bTcm46Leem03JuOi3nptNybjot56bTcm46Leem03JuOi3nptNybjot56bTcm46Leem03JuOi3nptNybjot56bTcm46Leem03JuOi3nptNybjot56bTcm46Leem03JuOi3nptNybjot56bTcm46Leem03JuOi3nptNybjot56bTcm46Leem03JuOi3nptNybjot56bTcm46Leem03JuOi3nptNybjot56bTcm46Leem03JuOi3nptNybjot56bTcm46Leem03JuOi3nptNybjot56bTcm46Leem03JuOi3nptNybjot56bTcm46Leem03JuOi3nptNybjot56bTcm46Leem03JuOi3nptNybjot56bTcm46Leem03JuOi3nplM5N53KuelUzk2ncm461WN8w5Zz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3ZuOrVz06mdm07t3HTqx/iGbeemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO49x0Guem0zg3nca56TSP8Q07zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N522c9NpOzedtnPTaTs3nfZjfMNu56bTdm46beem03ZuOm3nptN2bjpt56bTdm46beem03ZuOm3nptN2bjpt56bTdm46beem03ZuOm3nptN2bjpt56bTdm46beem03ZuOm3nptN2bjpt56bTdm46beem03ZuOm3nptN2bjpt56bT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"
2251
2390
  },
2252
2391
  {
2253
- "name": "set_is_valid_storage",
2254
- "function_type": "Open",
2255
- "is_internal": true,
2392
+ "name": "constructor",
2393
+ "function_type": "Secret",
2394
+ "is_internal": false,
2256
2395
  "abi": {
2257
2396
  "parameters": [
2258
2397
  {
2259
2398
  "name": "inputs",
2260
2399
  "type": {
2261
2400
  "kind": "struct",
2262
- "path": "authwit::aztec::abi::PublicContextInputs",
2401
+ "path": "authwit::aztec::abi::PrivateContextInputs",
2263
2402
  "fields": [
2264
2403
  {
2265
2404
  "name": "call_context",
@@ -2429,7 +2568,23 @@
2429
2568
  { "name": "chain_id", "type": { "kind": "field" } },
2430
2569
  { "name": "version", "type": { "kind": "field" } },
2431
2570
  { "name": "block_number", "type": { "kind": "field" } },
2432
- { "name": "timestamp", "type": { "kind": "field" } }
2571
+ { "name": "timestamp", "type": { "kind": "field" } },
2572
+ {
2573
+ "name": "coinbase",
2574
+ "type": {
2575
+ "kind": "struct",
2576
+ "path": "authwit::aztec::protocol_types::address::EthAddress",
2577
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
2578
+ }
2579
+ },
2580
+ {
2581
+ "name": "fee_recipient",
2582
+ "type": {
2583
+ "kind": "struct",
2584
+ "path": "authwit::aztec::protocol_types::address::AztecAddress",
2585
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
2586
+ }
2587
+ }
2433
2588
  ]
2434
2589
  }
2435
2590
  }
@@ -2437,15 +2592,51 @@
2437
2592
  }
2438
2593
  },
2439
2594
  {
2440
- "name": "public_global_variables",
2595
+ "name": "contract_deployment_data",
2441
2596
  "type": {
2442
2597
  "kind": "struct",
2443
- "path": "authwit::aztec::abi::PublicGlobalVariables",
2598
+ "path": "authwit::aztec::protocol_types::contrakt::deployment_data::ContractDeploymentData",
2599
+ "fields": [
2600
+ {
2601
+ "name": "public_key",
2602
+ "type": {
2603
+ "kind": "struct",
2604
+ "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint",
2605
+ "fields": [
2606
+ { "name": "x", "type": { "kind": "field" } },
2607
+ { "name": "y", "type": { "kind": "field" } }
2608
+ ]
2609
+ }
2610
+ },
2611
+ { "name": "initialization_hash", "type": { "kind": "field" } },
2612
+ {
2613
+ "name": "contract_class_id",
2614
+ "type": {
2615
+ "kind": "struct",
2616
+ "path": "authwit::aztec::protocol_types::contract_class::ContractClassId",
2617
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
2618
+ }
2619
+ },
2620
+ { "name": "contract_address_salt", "type": { "kind": "field" } },
2621
+ {
2622
+ "name": "portal_contract_address",
2623
+ "type": {
2624
+ "kind": "struct",
2625
+ "path": "authwit::aztec::protocol_types::address::EthAddress",
2626
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
2627
+ }
2628
+ }
2629
+ ]
2630
+ }
2631
+ },
2632
+ {
2633
+ "name": "private_global_variables",
2634
+ "type": {
2635
+ "kind": "struct",
2636
+ "path": "authwit::aztec::abi::PrivateGlobalVariables",
2444
2637
  "fields": [
2445
2638
  { "name": "chain_id", "type": { "kind": "field" } },
2446
- { "name": "version", "type": { "kind": "field" } },
2447
- { "name": "block_number", "type": { "kind": "field" } },
2448
- { "name": "timestamp", "type": { "kind": "field" } }
2639
+ { "name": "version", "type": { "kind": "field" } }
2449
2640
  ]
2450
2641
  }
2451
2642
  }
@@ -2453,18 +2644,26 @@
2453
2644
  },
2454
2645
  "visibility": "private"
2455
2646
  },
2456
- { "name": "message_hash", "type": { "kind": "field" }, "visibility": "private" },
2457
- { "name": "value", "type": { "kind": "boolean" }, "visibility": "private" }
2647
+ {
2648
+ "name": "signing_pub_key_x",
2649
+ "type": { "kind": "array", "length": 32, "type": { "kind": "integer", "sign": "unsigned", "width": 8 } },
2650
+ "visibility": "public"
2651
+ },
2652
+ {
2653
+ "name": "signing_pub_key_y",
2654
+ "type": { "kind": "array", "length": 32, "type": { "kind": "integer", "sign": "unsigned", "width": 8 } },
2655
+ "visibility": "public"
2656
+ }
2458
2657
  ],
2459
2658
  "param_witnesses": {
2460
- "inputs": [{ "start": 0, "end": 30 }],
2461
- "message_hash": [{ "start": 30, "end": 31 }],
2462
- "value": [{ "start": 31, "end": 32 }]
2659
+ "inputs": [{ "start": 0, "end": 36 }],
2660
+ "signing_pub_key_x": [{ "start": 36, "end": 68 }],
2661
+ "signing_pub_key_y": [{ "start": 68, "end": 100 }]
2463
2662
  },
2464
2663
  "return_type": {
2465
2664
  "abi_type": {
2466
2665
  "kind": "struct",
2467
- "path": "authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs",
2666
+ "path": "authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs",
2468
2667
  "fields": [
2469
2668
  {
2470
2669
  "name": "call_context",
@@ -2516,41 +2715,57 @@
2516
2715
  },
2517
2716
  { "name": "args_hash", "type": { "kind": "field" } },
2518
2717
  { "name": "return_values", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } },
2718
+ { "name": "meta_hwm", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } },
2519
2719
  {
2520
- "name": "contract_storage_update_requests",
2720
+ "name": "read_requests",
2521
2721
  "type": {
2522
2722
  "kind": "array",
2523
- "length": 16,
2723
+ "length": 32,
2524
2724
  "type": {
2525
2725
  "kind": "struct",
2526
- "path": "authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest",
2726
+ "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffect",
2527
2727
  "fields": [
2528
- { "name": "storage_slot", "type": { "kind": "field" } },
2529
- { "name": "old_value", "type": { "kind": "field" } },
2530
- { "name": "new_value", "type": { "kind": "field" } }
2728
+ { "name": "value", "type": { "kind": "field" } },
2729
+ { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }
2531
2730
  ]
2532
2731
  }
2533
2732
  }
2534
2733
  },
2535
2734
  {
2536
- "name": "contract_storage_reads",
2735
+ "name": "nullifier_key_validation_requests",
2537
2736
  "type": {
2538
2737
  "kind": "array",
2539
- "length": 16,
2738
+ "length": 1,
2540
2739
  "type": {
2541
2740
  "kind": "struct",
2542
- "path": "authwit::aztec::protocol_types::contrakt::storage_read::StorageRead",
2741
+ "path": "authwit::aztec::protocol_types::abis::nullifier_key_validation_request::NullifierKeyValidationRequest",
2543
2742
  "fields": [
2544
- { "name": "storage_slot", "type": { "kind": "field" } },
2545
- { "name": "current_value", "type": { "kind": "field" } }
2743
+ {
2744
+ "name": "public_key",
2745
+ "type": {
2746
+ "kind": "struct",
2747
+ "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint",
2748
+ "fields": [
2749
+ { "name": "x", "type": { "kind": "field" } },
2750
+ { "name": "y", "type": { "kind": "field" } }
2751
+ ]
2752
+ }
2753
+ },
2754
+ {
2755
+ "name": "secret_key",
2756
+ "type": {
2757
+ "kind": "struct",
2758
+ "path": "authwit::aztec::protocol_types::grumpkin_private_key::GrumpkinPrivateKey",
2759
+ "fields": [
2760
+ { "name": "high", "type": { "kind": "field" } },
2761
+ { "name": "low", "type": { "kind": "field" } }
2762
+ ]
2763
+ }
2764
+ }
2546
2765
  ]
2547
2766
  }
2548
2767
  }
2549
2768
  },
2550
- {
2551
- "name": "public_call_stack_hashes",
2552
- "type": { "kind": "array", "length": 4, "type": { "kind": "field" } }
2553
- },
2554
2769
  {
2555
2770
  "name": "new_commitments",
2556
2771
  "type": {
@@ -2582,11 +2797,22 @@
2582
2797
  }
2583
2798
  }
2584
2799
  },
2800
+ {
2801
+ "name": "private_call_stack_hashes",
2802
+ "type": { "kind": "array", "length": 4, "type": { "kind": "field" } }
2803
+ },
2804
+ {
2805
+ "name": "public_call_stack_hashes",
2806
+ "type": { "kind": "array", "length": 4, "type": { "kind": "field" } }
2807
+ },
2585
2808
  { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } },
2809
+ { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } },
2810
+ { "name": "encrypted_logs_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } },
2586
2811
  {
2587
2812
  "name": "unencrypted_logs_hash",
2588
2813
  "type": { "kind": "array", "length": 2, "type": { "kind": "field" } }
2589
2814
  },
2815
+ { "name": "encrypted_log_preimages_length", "type": { "kind": "field" } },
2590
2816
  { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } },
2591
2817
  {
2592
2818
  "name": "historical_header",
@@ -2706,7 +2932,23 @@
2706
2932
  { "name": "chain_id", "type": { "kind": "field" } },
2707
2933
  { "name": "version", "type": { "kind": "field" } },
2708
2934
  { "name": "block_number", "type": { "kind": "field" } },
2709
- { "name": "timestamp", "type": { "kind": "field" } }
2935
+ { "name": "timestamp", "type": { "kind": "field" } },
2936
+ {
2937
+ "name": "coinbase",
2938
+ "type": {
2939
+ "kind": "struct",
2940
+ "path": "authwit::aztec::protocol_types::address::EthAddress",
2941
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
2942
+ }
2943
+ },
2944
+ {
2945
+ "name": "fee_recipient",
2946
+ "type": {
2947
+ "kind": "struct",
2948
+ "path": "authwit::aztec::protocol_types::address::AztecAddress",
2949
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
2950
+ }
2951
+ }
2710
2952
  ]
2711
2953
  }
2712
2954
  }
@@ -2714,242 +2956,261 @@
2714
2956
  }
2715
2957
  },
2716
2958
  {
2717
- "name": "prover_address",
2959
+ "name": "contract_deployment_data",
2718
2960
  "type": {
2719
2961
  "kind": "struct",
2720
- "path": "authwit::aztec::protocol_types::address::AztecAddress",
2721
- "fields": [{ "name": "inner", "type": { "kind": "field" } }]
2962
+ "path": "authwit::aztec::protocol_types::contrakt::deployment_data::ContractDeploymentData",
2963
+ "fields": [
2964
+ {
2965
+ "name": "public_key",
2966
+ "type": {
2967
+ "kind": "struct",
2968
+ "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint",
2969
+ "fields": [
2970
+ { "name": "x", "type": { "kind": "field" } },
2971
+ { "name": "y", "type": { "kind": "field" } }
2972
+ ]
2973
+ }
2974
+ },
2975
+ { "name": "initialization_hash", "type": { "kind": "field" } },
2976
+ {
2977
+ "name": "contract_class_id",
2978
+ "type": {
2979
+ "kind": "struct",
2980
+ "path": "authwit::aztec::protocol_types::contract_class::ContractClassId",
2981
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
2982
+ }
2983
+ },
2984
+ { "name": "contract_address_salt", "type": { "kind": "field" } },
2985
+ {
2986
+ "name": "portal_contract_address",
2987
+ "type": {
2988
+ "kind": "struct",
2989
+ "path": "authwit::aztec::protocol_types::address::EthAddress",
2990
+ "fields": [{ "name": "inner", "type": { "kind": "field" } }]
2991
+ }
2992
+ }
2993
+ ]
2722
2994
  }
2723
- }
2995
+ },
2996
+ { "name": "chain_id", "type": { "kind": "field" } },
2997
+ { "name": "version", "type": { "kind": "field" } }
2724
2998
  ]
2725
2999
  },
2726
3000
  "visibility": "public"
2727
3001
  },
2728
3002
  "return_witnesses": [
2729
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2730
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2731
- 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2732
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2733
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2734
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
2735
- 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
2736
- 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
2737
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232
3003
+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
3004
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
3005
+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
3006
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
3007
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
3008
+ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
3009
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
3010
+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
3011
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
3012
+ 318, 319, 320, 321, 322, 323, 324, 325, 326
2738
3013
  ]
2739
3014
  },
2740
- "bytecode": "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",
2741
- "debug_symbols": "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Su7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hSu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hWu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hRu7hrtzDXbmHu3IPd+Ue7so93JV7uCv3cFfu4a7cw125h7tyD3flHu7KPdyVe7gr93BX7uGu3MNduYe7cg935R7uyj3clXu4K/dwV+7hrtzDXbmHu3IPd+Ue7so93JV7uCv3cFfu4a7cw125h7tyD3flHu7KPdyVe7gr93BX7uGu3MNduYe7cg935R7uyj3clXu4K/dwV+7hrtzDXbmHu3IPd+Ue7so93JV7uCv3cFfu4a7cw125h7tyD3flHu7KPdyVe7gr93BX7uGu3MNduYe7cg935R7uyj3clXu4K/dwV+7hrtzDXbmHu3IPd+Ue7so93JV7uCv3cFfu4a7cw125h7tyD3flHu7KPdyVe7gr93BX7uGu3MNduYe7cg935R7uyj3clXu4K/dwV+7hrtzDXbmHu3IPd+Uebr3kIu55ZOmPhP7I1h85+iOpP1L6I60/Mvoj+vaXvv2lb3/p21/69pe+/aVvf+nbX/r2l779pW8/9O2Hvv3Qtx/69kPffujbD337oW8/9O2Hvv2tb3/r29/69re+/a1vf+vb3/r2t779rW9/69s/+vaPvv2jb//o2z/69o++/aNv/+jbP/r2j7791Lef+vZT337q2099+6lvP/Xtp7791Lef+vZL337p2y99+6Vvv/Ttl7790rdf+vZL337p2299+61vv/Xtt7791rff+vZb337r2299+61vf/Ttj7790bc/+vZH3/7o2x99+6Nvf/Ttj779q2//6tu/+vavvv2rb//q27/69q++/atvX+/6lt71Lb3rW3rXt/Su7/lTr/5I6o+U/kjrj4z+iL59vetbete39K5v6V3f0ru+pXd9S+/6lt71Lb3rW3rXt/Sub+ld39K7vqV3fUvv+pbe9S2961t617f0rm/pXd/Su76ld31L7/qW3vUtvetbete39K5v6V3f0ru+pXd9S+/6lt71Lb3rW3rXt/Sub+ld39K7vqV3fUvv+pbe9S2961t617f0rm/pXd/Su76ld31L7/qW3vUtvetbete39K5v6V3f0ru+pXd9S+/6lt71Lb3rW3rXt/Sub+ld39K7vqV3fUvv+pbe9S2961t617f0rm/pXd/Su76ld31L7/qW3vUtvetbete39K5v6V3f0ru+pXd9S+/6lt71Lb3rW3rXt/Sub+ld39K7vqV3fUvv+pbe9S2961t61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xd61xdK1/eX//S6jPn2yjz5/trz/d33p777+dR3z0999/o97/4Ml2+vfX7d6/31/frg5U+h/fbi1/e33q/3YZo0zJCGuaBhlP5XHObtE9anf0J8+ifsT/+E8zs/4Z73T6jX/M4vRZKGKdIwTRpmSMNczjD79SINs0jDBGmYTRoGlMD7BUrg/QIl8H6BEni/QAm8X6QEXqQEXqQEXqQEXqQEXqQEXqQEXqQEXqQEXqQEXqQEDlICBymBg5TAQUrgICVwkBI4SAkcpAQOUgIHKYE3KYE3KYE3KYE3KYE3KYE3KYE3KYE3KYE3KYE3KYEPKYEPKYEPKYEPKYEPKYEPKYEPKYEPKYEPKYEPKYGTlMBJSuAkJXCSEjhJCZykBE5SAicpgZOUwElK4CIlcJESuEgJXKQELlICFymBi5TARUrgIiVwkRK4SQncpARuUgI3KYGblMBNSuAmJXCTErhJCdykBB5SAg8pgYeUwENK4CEl8JASeEgJPKQEHlICDymBLymBLymBLymBLymBSUzcJjFxm8TEbRITt0lM3CYxcYfExB0SE3dITNwhMXHnBUrgQ2LiDomJOyQm7pCYuENi4g6JiTskJu6QmLhDYuIOiYk7JCbukJi4Q2LiDomJOyQm7pCYuENi4g6JiTskJu6QmLhDYuIOiYk7JCbukJi4Q2LiDomJOyQm7pCYuENi4g6JiTskJu6QmLhDYuIOiYk7JCbukJi4Q2LiDomJOyQm7pCYuENi4g6JiTskJu6QmLhDYuIOiYk7JCbukJi4Q2LiDomJOyQm7pCYuENi4g6JiTskJu6QmLhDYuIOiYk7JCbukJi4Q2LiDomJOyQm7pCYuENi4g6JiTskJu6QmLhDYuIOiYk7JCbukJi4Q2LiDomJOyQm7pCYuENi4g6JiTskJu6QmLhDYuIOiYk7JCbukJi4Q2LiDomJOyQm7pCYuENi4g6J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"
2742
- },
2743
- {
2744
- "name": "compute_note_hash_and_nullifier",
2745
- "function_type": "Unconstrained",
2746
- "is_internal": false,
2747
- "abi": {
2748
- "parameters": [
2749
- {
2750
- "name": "contract_address",
2751
- "type": {
2752
- "kind": "struct",
2753
- "path": "authwit::aztec::protocol_types::address::AztecAddress",
2754
- "fields": [{ "name": "inner", "type": { "kind": "field" } }]
2755
- },
2756
- "visibility": "private"
2757
- },
2758
- { "name": "nonce", "type": { "kind": "field" }, "visibility": "private" },
2759
- { "name": "storage_slot", "type": { "kind": "field" }, "visibility": "private" },
2760
- {
2761
- "name": "serialized_note",
2762
- "type": { "kind": "array", "length": 5, "type": { "kind": "field" } },
2763
- "visibility": "private"
2764
- }
2765
- ],
2766
- "param_witnesses": {
2767
- "contract_address": [{ "start": 0, "end": 1 }],
2768
- "nonce": [{ "start": 1, "end": 2 }],
2769
- "serialized_note": [{ "start": 3, "end": 8 }],
2770
- "storage_slot": [{ "start": 2, "end": 3 }]
2771
- },
2772
- "return_type": {
2773
- "abi_type": { "kind": "array", "length": 4, "type": { "kind": "field" } },
2774
- "visibility": "public"
2775
- },
2776
- "return_witnesses": [8, 9, 10, 11]
2777
- },
2778
- "bytecode": "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",
2779
- "debug_symbols": "7d3dzuO6lebxe9nHwUBcn1y5lcEcNGZ6gAYa3YPpnAW591aA2K6NKGXXG73SXyKPUqjY5UWu7Uck7Z/859/+/T//97/86d/+8z/+67c//vm35X80/+2P//PPv/3X//uX//jrX/zXn/7l///ptz8uf/jtX//j/6z/+5c//PZ//+3f//W3P7Yef/nD3z1OepT/7bHSc6nn43PZeHjLfDx4ef3Tuvzlf/3hr6UEp5TklNI5pRSmFFk4pTROKcIpRTmlGKcUTtoKJ22Fk7bCSVvhpK1y0lY5aauctFVO2ionbZWTtspJW+WkrXLSVjlpa5y0NU7aGidtjZO2xklb46StcdLWOGlrnLQ1Tto6J22dk7bOSVvnpK1z0tY5aeuctHVO2jonbZ2TtsFJ2+CkbXDSNjhpG5y0DU7aBidtg5O2wUnb4KRtctI2OWmbnLRNTtomJ22Tk7bJSdvkpG1y0jY5ads5ads5ads5ads5ads5ads5ads5ads5ads5ads5aVuctC1O2hYnbYuTtsVJ2+KkbXHStjhpW5y0LU7atoUTt23h5G1bOIHbFk7itoUTuW0BGYcFhBwWkHJYQMxhAeVuA+VuA+VuA+VuA+VuA+UuyZaRcBlJl5F4GciXNRAwayBh1kDErIGMWQMhswZSZg3EzBrImTUQNGsgadZA1KyBrFkDYbMG0mYNxM0ayJs1EDhrIHHWQOSsgcxZA6GzBlJnDcTOGsidNRA8ayB51kD0rIHsWQPhswbSZw3EzxrInzUQQGsggdZABK2BDFoDIbQGUmgNxNAayKE1EERrIInWQBStgSxaA2G0BtJoDcTRGsijNRBIayCR1kAkrYFMWgOhtAZSaQ3E0hrIpTUQTGsgmdZANK2BbFoD4bQG0mkNxNMayKc1EFBrIKHWQEStgYxaAyG1BlJqDcTUGsipNRBUayCp1kBUrYGsWgNhtQbSag3E1RrIqwnIqwnIqwnIqwnIq8nCyV0BeTUBeTUBeTUBeTUBeTUBeTUBeTUBeTUBeTUBeTUBeTUBeTUBeTUBeTUh/R4a6QfRUL+IBspd0m+ikX4UjfSraKSfRSP9Lhrph9FAXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1AXk1BXk1BXk1BXk1BXk0XTu4qyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKspyKsZyKsZyKsZyKsZyKvZwsldA3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1A3k1B3k1B3k1B3k1B3k1Xzi56yCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCv5iCvFiCvFiCvFiCvFiCvFgsndwPk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1QLk1RLk1RLk1RLk1RLk1XLh5G6CvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFqCvFoHebUO8mod5NU6yKv1hZO7HeTVOsirdZBX6yCv1kFerYO8Wgd5tQ7yah3k1TrIq3WQV+sgr9ZBXq2DvFoHebUO8mod5NU6yKt1kFfrIK/WQV6tg7xaB3m1DvJqHeTVOsirdZBX6yCv1kFerYO8Wgd5tQ7yah3k1TrIq3WQV+sgr9ZBXq2DvFoHebUO8mod5NU6yKt1kFfrIK/WQV6tg7xaB3m1DvJqHeTVOsirdZBX6yCv1kFerYO8Wgd5tQ7yah3k1TrIq3WQV+sgr9ZBXq2DvFoHebUO8mod5NU6yKt1kFfrIK/WQV6tg7xaB3m1DvJqHeTVOsirdZBX6yCv1kFerYO8Wgd5tQ7yah3k1TrIq3WQV+sgr9ZBXq2DvFoHebUO8mod5NU6yKt1kFfrIK/WQV6tg7xaB3m1Anm1Anm1Anm1Anm1Wji5WyCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCvViCv1hYQWFuL4STvWgwnetdiONm7FsMJ37UYTvquxXDidy2Gk79rMZwAXoshJTCIrq3FkBIYhNfWYkgJDOJrazGkBAYBtrUYUgKDCNtaDCmBQYhtLYaUwCDGthZDSmAQZFuLISUwiLKtxZASGITZ1mJICQzibGsxpAQGgba1GFICg0jbWgwpgUGobS2GlMAg1rYWQ0pgEGxbiyElMIi2rcWQEhiE29ZiSAkM4m1rMaQEBgG3tRhSAoOI21oMKYFByG0thpTAIOa2FkNKYBB0W4shJTCIuq3FkBIYhN3WYkgJDOJuazGkBAaBt7UYUgKDyNtaDCmBQehtLYaUwCD2thZDSmAQfFuLISUwiL6txZAS+J/Fb6nyKsbinywmScV0UjEFKuafBXD7FtNIxQipGCUVY6RinFQMKYE7KYE7KYE7KYGLlMBFSuAiJXCRErhICVykBC5SAhcpgYuUwAVK4LaAErgtoARuCyiB2wJK4PWzZFIxoARuCyiB2wJK4LaAErgtpARupARupARupARupARupARupARupARupARupARupAQWUgILKYGFlMBCSmAhJbCQElhICSykBBZSAgspgZWUwEpKYCUlsJISWEkJrKQEVlICKymBlZTASkpgIyWwkRLYSAlspAQ2UgIbKYGNlMBGSmAjJbCREthJCeykBHZSAjspgZ2UwE5KYCclsJMS2EkJ7KQEDlICBymBg5TAQUrgICVwkBI4SAkcpAQOUgIHKYGTlMBJSuAkJXCSEjhJCZykBCaZuEYycY1k4hrJxDWSiWskE9dIJq6RTFwjmbhGMnGNZOIaycQ1kolrJBPXSCaukUxcI5m4RjJxjWTiGsnENZKJayQT10gmrpFMnJBMnJBMnJBMnJBMnCygBBaSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiVOSiVOSiVOSiVOSidMFlMBKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFKMnFGMnFGMnFGMnFGMnG2gBLYSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSCbOSSbOSSbOSSbOSSbOF1ACO8nEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEOcnEBcnEBcnEBcnEBcnExQJK4CCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCCZuCSZuCSZuCSZuCSZuFxACZwkE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE5ckE9dJJq6TTFwnmbhOMnF9ASVwJ5m4TjJxnWTiOsnEdZKJ6yQT10kmrpNMXCeZuE4ycZ1k4jrJxHWSieskE9dJJq6TTFwnmbhOMnGdZOI6ycR1konrJBPXSSauk0xcJ5m4TjJxnWTiOsnEdZKJ6yQT10kmrpNMXCeZuE4ycZ1k4jrJxHWSieskE9dJJq6TTFwnmbhOMnGdZOI6ycR1konrJBPXSSauk0xcJ5m4TjJxnWTiOsnEdZKJ6yQT10kmrpNMXCeZuE4ycZ1k4jrJxHWSieskE9dJJq6TTFwnmbhOMnGdZOI6ycR1konrJBPXSSauk0xcJ5m4TjJxnWTiOsnEdZKJ6yQT10kmrpNMXCeZuE4ycZ1k4jrJxHWSieskE9dJJq6TTFwnmbhOMnGdZOI6ycR1konrJBPXSSauSCauSCauSCauSCauFlACF8nEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcnEFcjErX/HSeD17zgJvP4dJ4HXv+Mk8Pp3nARe/46TwOvfcRJ4/TtOAq9/x0ng9e9ICQwycWsxpAQGmbi1GFICg0zcWgwpgUEmbi2GlMAgE7cWQ0pgkIlbiyElMMjErcWQEhhk4tZiSAkMMnFrMaQEBpm4tRhSAoNM3FoMKYFBJm4thpTAIBO3FkNKYJCJW4shJTDIxK3FkBIYZOLWYkgJDDJxazGkBAaZuLUYUgKDTNxaDCmBQSZuLYaUwCATtxZDSmCQiVuLISUwyMStxZASGGTi1mJICQwycWsxpAQGmbi1GFICg0zcWgwpgUEmbi2GlMAgE7cWQ0pgkIlbiyElMMjErcWQEhhk4tZiSAkMMnFrMaQEBpm4tRhSAoNM3FoMKYFBJm4thpTAIBO3FkNKYJCJW4shJTDIxK3FkBIYZOLWYkgJDDJxazGkBAaZuLUYUgKDTNxaDCmBQSZuLYaUwCATtxYDSuBGMnGNZOIaycQ1kolrCyiBG8nENZKJayQT10gmrpFMXCOZuEYycY1k4hrJxDWSiWskE9dIJq6RTFwjmbhGMnGNZOIaycQ1kolrJBPXSCaukUxc2zZxJv3xGiZVvyvp8cT86hP7V59YX3zituEylf54onbZfGL76hNl+4n1LNXK3jTa1lX449HrGvjV5ter6CGvYju8yhKvV2nLj6+y8eBwezw4SrdKcl5JwSspeSV1XkmFK8kWXkmNV5LwSlJeSbz0Nl56Gy+9jZfexktv46W389LbeentvPR2Xno7L72dl97OS2/npbfz0tt56R289A5eegcvvYOX3sFL7+Cld/DSO47OpbY8Klo/uXw+NPqjoFxoBR39bmvPM9f1HHirIKMV5LSCglZQ0gr63hXS41XqiFfpuySGx+tV2s8nV8UekbH+0X/4p/NZUwPWJMCaFFiTAWtyYE0BrCmBNXVgTcWrqYA5XsAcL2COFzDHC5jjBczxAuZ4AXO8gDlevByXhZfjsvByXBZejsvCy3FZeDkuCy/HZeHluCy8HJeFl+OyAHO8AXO8AXO8AXO8AXO8AXO8AXO8AXO8AXO8AXO8AXNcgDkuwBwXYI4LMMcFmOMCzHEB5rgAc1yAOS7AHFdgjiswxxWY4wrMcQXmuAJzXIE5rsAcV2COKzDHDZjjBsxxA+a4AXPcgDluwBw3YI4bMMcNmOMGzHEH5rgDc9yBOe7AHHdgjjswxx2Y4w7McQfmuANzPIA5HsAcD2COBzDHA5jjAczxAOZ4AHM8gDkewBxPYI4nMMcTmOMJzPEE5ngCczyBOZ7AHE9gjicwx4GeU4CeU4CeU4CeU4CeU4CeU4CeU4CeU4CeU4CeU4CeU4CeU4CeU4CeU4CeU4CeU4CeU4CeU4CeU4CeU4GeU4GeU4GeU4GeUxdejivQcyrQcyrQcyrQcyrQcyrQcyrQcyrQcyrQcyrQcyrQcyrQcyrQcyrQcyrQcyrQcyrQc+oJnjPrWVNfNmtSYE0GrMmBNQWwpgTW1IE1Fa+mEzzn+5oasCZgjiswxxWY4wrMcQXmuAJzXIE5rsAcN2COGzDHDZjjBsxxA+a4AXPcgDluwBw3YI4bMMcdmOMOzHEH5rgDc9yBOe7AHHdgjjswxx2Y4w7M8QDmeABzPIA5HsAcD2COBzDHA5jjAczxAOZ4AHM8gTmewBxPYI4nMMcTmOMJzPEE5ngCczyBOZ7AHO/AHO/AHO/AHO/AHO/AHO/AHO/AHO/AHO/AHO/AHC9gjhcwxwuY4wXM8QLmeAFzvIA5XsAcL2COFy/HbeHluC28HLeFl+O28HLcFl6O28LLcVt4OW4LL8dt4eW4LcAcb8Acb8Acb8Acb8Acb8Acb8Acb8Acb8Acb8Acb8AcF2COCzDHgZ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TgJ7TjvecuvijJhXdrMmANTmwpgDWlMCaOrCm4tV0vOf8sSat39X0949uS3sU0hb7sZCtB6+fijwevL55f3zwY7RtqNHKUKPVoUZrQ43WhxptDDXaHGq0fajR1kij7UOtpfpQa6k+1FqqD7WWOt6unzraodZSfai1VB9qLdWHWkv1odZSNdRaqoZaS9VQa6kaai11/P0jTh3tUGupGmotVUOtpWqotVSNtJbyZaS1lC8jraV8GWkt5ctIaylfbKjRjrSW8mWktZQvI62lfBlpLeXLUGupNtRaqg21lmpDraXaUGup4++j9JPRPmoirXgeNR2f5p7PmnyzpuPvxfNBTce/e1KeNaVu1mTAmhxYUwBrSmBNh69jrS2PmtZE36ypeDUdf4+ZD2pqwJoEWJMCazJgTX5mTb9b/x2wWjz+7jWnjjaHGm0farQ10mhtGWq0bajRylCj1aFGa0ONdqi1lA21lrKh1lI21FrKhlpL+VBrKR9qLeVDraV8qLXU8XdEO3W0Q62lfKi1lA+1lvKh1lI+1FoqhlpLxVBrqRhqLRVDraWOvyvhqaMdai0VQ62lYqi1VAy1loqh1lI51Foqh1pL5VBrqRxqLXX8HStPHe1Qa6kcai2VQ62lcqi1VJ67ltr87mVfgDU1YE0CrEmBNRmwJgfWFMCaElhTB9YEzPEC5vjxd56zxZ41LbFZkwBrUmBNBqzJgTUFsKYE1tSBNRWupjj+flof1MTL8Vh4OR4LL8dj4eV4LLwcj4WX47HwcjwWXo7HAszxBszxBszxBszxBszxBszxBszxBszxBszxBszxBsxxAea4AHNcgDkuwBwXYI4ffx8li/6sqW/XFMCaElhTB9ZUvJpOuI/S+5oasCY5sSZf5Hc1ffcn8nHCHZrOHK0NNVofarQx1GhzqNH2oUZbI43WlqFG24Ya7VBrKRtqLXXCXaXOHO1Qaykbai1lQ62lbKi1lA21lvKh1lI+1FrKh1pL+VBrqRPuKnXmaIdaS/lQaykfai3lQ62lfKi1VAy1loqh1lIx1FoqhlpLnXBXqTNHO9RaKoZaS8VQa6kYai0VQ62lcqi1VA61lsqh1lI51FrqhLtK/ePRPmoirXgeNR2e5i7Pew+4bNZ0/H1tPqjp8HeP6/M3mV03v+95/P1aPqjJgTUFsKYE1nT4OtZTnzVV26ypeDUdf7+WD2pqwJoEWJMCazJgTX5iTbHksavF4+8Ec+poc6jR9qFGWwONNpdlqNG2oUYrQ41WhxqtDTXakdZSuYy0lsplpLVULiOtpXIZai3VhlpLtaHWUm2otVQbai11/N3FTh3tUGupNtRaqg21lmpDraXaUGspGWotJUOtpWSotZQMtZY6/g5/p452qLWUDLWWkqHWUjLUWkqGWkvpUGspHWotpUOtpXSotdTxd6w8dbRDraV0qLWUDrWW0qHWUnrqWqptffcybQHW1IA1CbAmBdZkwJocWFMAa0pgTR1YEzDHHZjjx995ziMfNXnUZk0CrEmBNRmwJgfWFMCaElhTB9ZUvJqOv5/WBzUBczyAOR7AHA9gjgcwxwOY4wHM8QDmeABzPIE5nsAcT2COJzDHE5jjCczxBOZ4AnM8gTmewBzvwBzvwBzvwBzvwBzvwBzvwBzvwBzvwBzvwBzvwBwvYI4XMMcLmOMFzPHj76MU+awpyjdrcmBNAawpgTV1YE2Fq6kffxeeD2r63hx/vIoc8ip6yKvYIa/ih7xKHPIqecir9ENepY54lW++x8TjVQ5577dD3vvtkPd+O+S93w5577dD3vvtkPd+O+S93w5578sh73055L0vh7z35ZD3vhzy3pdD3vtyyHtfDnnvyyHvfTnkvb+L4Wstn6/ib3cIr4ri+dCqZ0GNVpDQClJaQXZwQab9+WBry+92mb/26McI/PIjiMuPIC8/gn75EdTVR2DL5UfQLj8CufwI9PIjuPw12S5/TbbLX5Pt8tdku/w12S5/TfbvvSY/XqUd8ipyyKvoIa+yxzVC9Lk5FK+f/5eV/WH+1zOU50P7cyO5C1nbtaCgFZS0gvrBBWm9fjmzur1Jp6by+KfXP+ZmOtXVR7CLgjt3BO3yI5DLj0DhI/DXCHx7BHb5EfjlRxCXH0HCR/C8Iq9/rM0R0K/J70dAvya/HUHSr8nvR0C/Jr8fATxN7XW/NGu2OQJ4mn4wAvg7OaweIwjf/K+ow9/JH4wA/k7+YATw1fUHI4Cvrj8YgV1+BPDrwQcjgF8PfhxB9M0RwFfXUe0xglza5gjgq+sPRkC/Jr8dQdGvye9HQL8mvx8B/Zr8fgT0a/IPI9j+ZG0XV3nuCOjX5PcjOP6a7PYaQX83gqXSH0Noi/6wrlj6cwx5gzH0G4yhLj+GWpYbjKHdYAxygzHoDcZgNxiD32AM179O13L963Qt179O13KD63S7wXW63eA63W5wnW43uE7vIu3PHsMNrtPtBtfpdoPrdLvBdbrd4DotN7hOyw2u03KD67Tc4Dq9y10x5IVW1OTnY3B9HAF72s8f+tkA/OoDiKsPIK8+gH71AdTFB7DLfVNOHUC7+gDk6gPQqw/g6ldivfqVWK9+JdarX4n16lfiXW75ovl6tPafV5X6GGzWHgPY5Y4vpw6gXX0AcvUB6NUHYFcfgF99AHH1AeTVB9CvPoCrX4n96ldiv/qV2K9+JfarX4l3uafOqQPY40psz9exdb/y86rWD+n+9tj66///zw8grj6AvPoA+tUHUBcfwC53BDp1AO3qA5CrD0CvPgC7+gCufiWOq1+J4+pX4rj6lTiufiXOq1+J83uvxI9XkUNeRQ95FTvkVfyQV4lDXiUPeZV+yKvUEa/Sl0Ne5ZD3fj/kvd8Pee/3Q977/ZD3fj/kvd8Pee/3Q977/ZD3/i43P4nn93ItSn++Tnh/i/fa5XYme9ckwJoUWJMdXVOrZ02iv78J6689+jECv/wI4vIjyMuPoKNHIKr6t0eLLf7m0fG8O2rU619+3re/drnTyDUGq8uyjDTYNtJg2deuXxusLvWQVdqa/t3Sbx0u+0K3+3DvlMgq7fFolWxbw71TJr8fbrtTKn8w3Dvl8gfDlTsNN/rjVF3T33zN5icPfsyNzrn5h3Nzqyv6znNzq8v/znPD3kF/49ys/8TzN21q2Zwb9t783Lm51Rpz57m51YJ037mRW61ef2luSu05N/WGK37wHYN1Lm+1ND55Loddd3/DXA67Tv+GubQ5l5/MpS/PC4/r5oVn2E3A3hM57o5h54kcd3ux80SOuxf5tYmMRx0tZNnj4jTuRufcide5izpp4ueW66SJn/uz/Se+2fNfbrFsXFl17uTOmHWbs37CrM8N4hmzPneT+8+62PN6KvHuRhjPr4p1eT309VUxnbtUeIPm7hfeoLlLZjfI5m763Ab94o/LqjwPBFU2TMLa0blNv1tH5/7/bh2dZwt366jNjt6so/NM5Fod9VdHfbuj87zlbh2dBzR36+g80blbR+cR0LU6+jwxWv9YWx31eWZ0t47OM6O7dXSeGd2to/PM6G4dnbuXS3XU2qMx6x9ts6Nz93KzjsZcGV2qo2H1rMM3UzfmyuhuHZ0ro7t11GZHb9bR+Wna3To6P027W0fnfvRuHZ370ct29Id/+seOzk/TrtXRao9/Ope21dGcn6bdraPzzOhuHZ1nRnfr6DwzultHbXb0Zh2dZ0aX7ejW70atHZ1nRnfr6DwzultH55nR2R19Tt7a0f6uo5/cQSrnqdHtetrnudH9ejpPju7X03l2dL+eztOj+/XUZk9v19N5gnS/ns4zpPv1dJ4i3a+n8xzpfj2d50i362nNc6T79XSeI92vp/Mc6X49nedI9+upzZ7erqfzHOl+PZ3nSPfr6TxHul9P5znS/Xo6z5Hu1tO2zHOk+/V0niPdr6fzHOl+PZ3nSPfrqc2e3q6n8xzpfj2d50jf0NPXvKv4zx/s+iBNnu8q/qih8xDpZg2dJ0g3a+g8PrpXQ9s8O7pZQ+fB0c0aOk+NbtbQeWR0s4babOi9GjoPi27W0HlSdLOGzpOimzV0nhTdrKHzpOheDZV5UnSzhs6Too8aGpLPhvY3n3KmPh6btUuP5uEPv0fzPIffI5s9wvdonrrwezQPUvg9mmcj/B7N4w5+j+YJBr5HOg8l+D2a5wz8Hs1zBn6P5jkDv0c2e4Tv0Txn4PdonjPwezTwOUM9HiyLv/mMr9rjsfXX//+fn/aBjw7OnPaBTwNOnHYbeIN/5rQPvGc/c9oH3oafOe0D76zPnHab037GtA+8/z1z2gfe0p457XOXesq0z13qKdM+d6lnTLvPXeop0z53qadM+9ylnjLt83Orjz4T+cZb2EV/1Fzd3oxw3Wc9i7ZYfvfoR0fnp1x36+j87u3dOjq/qXu3js7v9d6sozG/BXy3js7vDF+ro5avjrbNjs5vGN+to/P7yHfrqM2O3qyj88zobh2dZ0Z36+g8M7psR3N79zLPjO7W0XlmdLOO5jwzulZH63H3u+aLbnZ0nhldq6M9Xh21zY7OM6O7dXSeGV2qo27POtxqs6M2O3qzjs4zo7t1dJ4Z3a2j88zoWh3V18rIt/ej88zobh2dZ0Y362ifZ0Z36+g8M7pbR+eZ0d06Os+MrtvRzd1Lt9nRm3V0nhndraPzzOhaHe3Ls6M/FP1jR+eZ0bU6+iLBXpufePd5ZnS3js4zo5t1tOaZ0aU6Gsvzn47mmx2dZ0Z36+g8M7pbR+eZ0d06arOjN+vorfajSz1OVLS13xXyGO6tNmvvh3urncy74cpyq2X+++Heag0s7fFolWxvMvODW7XJcqsF5f7Tc6vV2f7TY3N6fjY9t/qs6Zemx5fXxzZqW7l8q09tdp6bW603d56bWy1Od56bW61kf21ufmUz+Ul2t1stk0+ey3HX4PvP5bgL9v3nctzV/S/NZbPnsV6LZePC02xO5D4TOfCOYd+JHHh7se9EDrwX+a4PKLI/Pp/o8npor+ecD7zHOW3O597p8DmXucc6fs7nXuy3kz9wVnme46xV/+7RjybNTd4FmjR3jxdoks0m8Zs0d70XaNLcUZ/eJH81ybebNHfrF2jS3N5foEnzPIDfJJ0HCKc36XnesP6xNps0Txwu0KR54nCBJs0Thws0yWaT+E2aS/Czm2TtMdfrH22zSXMJzm+SzYXD2U0Kq2cdm7dIEpsLhws0yWaT+E2aH1VcoEnzo4oLNGl+VHGBJs190gWaNPdJpCb98E//0CSfH1Wc3qTXDzPm0jabND+quECT5onDBZo0Txwu0CSbTeI3aZ44XKBJ88SB1KS2bDZpnjhcoEnzxOECTZonDt/QpOd8rE3q75r0yf0tYp45XKJN89ThEm2a5w6XaNM8ebhEm2y26QptmqcPl2jTPH+4RJvmCcQl2jTPIC7RpnkKcYU25TyFuESb5inEJdo0TyEu0aZ5CnGJNtls0xXaNE8hLtGmeQpxiTbNU4hLtGmeQlyiTfMU4gpt6vMU4hJtmqcQl2jTPIW4RJvmKcQl2mSzTVdo0zyFuESb5inEJdo0TyE+a9NrKlX85w92fXxz39Pe/Lsf9WgeQfB7NM8f8D2qefjA79E8eeD3aB478Hs0zxz4PbLZI3yP5mkDv0fzqIHfo3nOwO/RPGfg92ieM9B7pMs8Z+D3aJ4z8Hs07jlDSD571N/91rw+Hpu1y7SPe3Rw6rTbnPYzpn3cDf6p0z7unv3UaR93G37qtI+7sz512sfdLJ857W3c/e+p0z7ulvbUaZ+71FOmfe5ST5l2m9N+xrTPXeop0z53qadM+9ylnjHtMr/X99vZv/T9nL1msXXTf5X5xb4LNMlmk/hNml/tu0CT5nf7LtCk+eW+CzRpfrvv9CZZvprUNps0v97Hb5LO7/ddoEnzC34XaNI8cbhAk+aJwwWaZLNJoCbl5hJc54nDBZo0Txwu0KR54nB6k16/T+yLbjZpnjic3qQerybZZpPmiQO/STZPHM5uktuzDrfabNI8cbhAk+aJwwWaNE8cLtAkm006u0n6Wjj45j7J5onDBZo0Txwu0KR54nCBJs0Thws0aZ448Jvk88QB1aTNJbjPE4cLNGmeOFygSfPE4fQm9eXZpJLNJtls0tlNeikyr80P/XyeOFygSfPE4QJNmicOZzcpluc/Hc03mzRPHC7QpHniwG9SzBOHCzRpnjhcoEl2oyZJ5qNs6cvv5v0x3DvtOD4Y7p3W7h8M906r4A+Ge6v15CLPgF36u8z85BY1cauV3O7Tk7daQ+0/Pbdavew/Pbf6pOKXpqfZ8/YJLbZyOW/1AcHOc2Nzbv7h3NzqOHznubnVKfQvzc2v7A+zP7aHXV4P7fWcxludE583jeOuvHedxnFX6HtOYx93Jf+NZ2cqzy+CrCd+f9k4O+vjbhHOnfdx9x7nzvu4+5pz593mvJ8y7+Pux75z3v01774973Ovd868z83hOfM+d5PnzPvcfn7HvD93q+sfN79AX3O/es68z/3qOfM+96vnzPvcr54z73Md+Q3zbu0xfesfN+/8VXMdeca82zKvq98w72H1+KdjE2LaMq+r58z7vK6eM+825/2UeZ/nwOfM+zwHPmfe5/r9nHmf6/dvnvcf/ukf532eA3/HvL/u+Z7L1u+QWJvnwOfM+9yvnjPvc796zrzP/eo5825z3k+Z97lf/eZ5b8vmvM/96jnzPver58z73K9+Nu/PIa7z3t/N+wf6dp2HOfPnzLzMPetZMz93rWfN/Ny3njXzc+d61szbnPmTZn7uXs+a+bl/PWvm5w72rJmfe9izZn7uYU+aeZ172LNmfu5hz5r5uYc9a+bnHvasmbc58yfN/NzDnjXzcw971szPPexZMz/3sGfN/NzDnjTzNvewZ8383MOeNfNzD3vWzM897Fkzb3PmT5r5uYc9a+YH3sO+ZkfFf/5g18cXVD3tzb/70bQPvIE9c9oH3r2eOe0Db11PnHYfeN965rQPvGk9c9oH3rGeOe0Db1fPnHab037GtA+8UT1z2ucu9ZRpn7vUU6Z97lJPmfa5Sz1j2mPuUk+Zdvi63aQ/pz3e3UCg2mO85a95fP5q4foPjDRY+Bp138HCV4b7Dha+Htt3sPBV0L6Dha89dh1swq/4+w4Wfhq872DhZ7D7DnakFVTaSIMdaQWVI62gcqQVVI60gsqRVlB9pBUU/afv9x3sSCso+o+87ztYG2mwI62g6L8hvu9gR1pB0X8te9/BjrSCov8u9L6DHWkFRf8F5H0HO9IKqmykwY60gqqRVlD0n6zed7AjraBqoBWULwOtoJz+s9v7DnagFZTTf2B638HaSIMdaAXl9N8v3newA62gnP5LvfsOdqQVFP03afcd7EgrKPqvr+472JFWUPTfGd13sCOtoOi/qLnvYEdaQdF/O3LfwY60gqL/QuK+gx1pBUX/HcB9BzvSCor+a3f7DnakFRT9N932HexIKyj6L5ftO9iRVlD03+fad7AjraDov0K172BHWkHRf2tp38GOtIKi/6LQvoMdaQVF/92cfQc70gqK/usw+w52pBUU/TdQ9h3sSCso+i997DvYkVZQ9N+z2HewI62g6L/dsO9gR1pB0X+nYN/BjrSCot+Tf9/BjrSCot9/ft/BjrSCot9rfd/BjrSCot9XfN/BjrSCot9De9/BjrSCipFWUCPdk9xHuie5j3RPch/pnuQ+0j3JfaR7kvtI9yT3ke5J7iPdk9xHuie5j3RPch/pnuQ+0j3JfaR7kvtI9yT3ke5J7iPdk9xHuie5j3RPch/pnuQ+0j3JfaR7kvtI9yT3ke5J7iPdk9xHuie5j3RPch/pnuQ+0j3JnX5Pctd4DDZ8efPoT35e2Ok3Jv+GEdtwI4YvqL5hxPBV1TeMGL60+oYRw9dX3zBi+CJr9xEH/d7l3zBi+HLrG0Y82por6Lcy/4YR23AjHm3NFfQ7m3/DiEdbcwX9HuffMOLh1lz0u51/w4iHW3PR73Kiqs9DvcXfPFoXeTxal778vJAm9pwdif7zB2vF43BRq787XGz2nJBm8fs+PeYdniZ3nXf6vV9uO+/wZL3tvMP31Ledd/jO/rbzbnPev2HeLV/z3jbnHX7Kcdt5h5+13Hbe4Sc+t533uV89Z97nfvWUeaffaev6856b60j6Tb9uO+9zv3rOvM/96nfMe7XHP+2Lbs67zXn/hnnv8Zp325z3uV89Z97nfvUb5t1Nn/NutTnvc796zrzP/eo58z73q6fMO/2+hhedd31dV31z/U6/xeJt533uV8+Z97lfPWfebc77KfM+96vnzPvcr373vG+vI+d+9Zx5n/vVc+Z97le/Y9778pz3kq15p99F9qLz/oIHXpufe9BvaHvbeZ/71XPmfe5Xv2HeY3n+09F8c95tzvsp8z73q+fM+9yvnjPvc796yrzvcg9jeW7PTH7Ynh0jVna5MfG5I5DLj0AvPwK7/Aj88iMI+Ajeftt8l9vynjuCfvkR1NVHUPRr8vsR0K/J70dAvya//UZ60a/J70dAvya/HwH9mvz2+/VFvya//cZ00a/J70cAvya//1Zjwa/Jb0eQC/ya/MEI4NfkD0YAvya//TZMLvBr8gcjgF+TPxgB/Jr8wQjg1+QPRgC/Jn8wAvo1+d03ZnKhX5PfjqDRr8nvR0C/Jr/7/k82+jX53TcLstGvye9HQL8mvx8B/Jr89nO0bPBr8gcjgF+TPxgB/Jr8wQjg1+T3I5A9rgeLP0fQWnszApfHNWr94+Y1ShRYkwFrcmBNAawpD6/pedKs7ts1dWBNxatJF2BNDViTAGs6PsftlQW+uXJVA9bkwJoCWFMCa+rAmopXky3AmhqwJgHWdHyOqz9r0tisyYA1ObCmANaUwJo6sKbi1eQLsKYGrEmANQFz3IE57sAcd2COOzDHHZjjDszxAOZ4AHM8gDkewBwPYI4HMMcDmOMBzPEA5ngAczyBOZ7AHE9gjicwxxOY4wnM8QTmeAJzPIE53g/PJ/XnZ2W6/c3CLsCaFFiTAWtyYE2H55N2e9bUt2tKYE0dWFPxaqoFWFMD1nR8jucrC2rTPpQCazJgTQ6sKYA1JbCmDqypcDX1ZQHW1IA1nZDj8qwpdbMmBdZkwJocWFMAa0pgTR1YU/FqaguwpgasCZjjDZjjDZjjDZjjDZjjDZjjDZjjDZjjAsxxAea4AHNcgDkuwBwXYI4LMMcFmOMCzHEB5rgCc1yBOa7AHFdgjiswxxWY4wrMcQXm+D7+7nnzibWmdz+TsDxvH95eFUV/FtRoBQmtIKUVZLSC/OiCnr8q0qxvFRS0gpJWUKcVVLCCfKEVdHhSy+OxTWqrIKEVpLSCjFaQ0woKWkFJK6jTCipYQbHQCqIlddCSOmhJHbSkDlpSBy2pg5bUQUvqoCV10pI6aUmdtKROWlInLamTltRJS+qkJXXSkjppSd1pSd1pSd1pSd1pSd1pSd1pSd1pSf0PyFvW357l7fWL370ez/oHKO3ds9qXniVfepZ+6Vn2pWf5l561+Z+C16NfsWw+K7/0rP6lZ9UXnlXb0OXts9qXniVfetbmfxvRHu/BkLb1LPvSs/xLz4ovPSu/9Kz+pWfVV561/eX5eH6IHn3zWe1Lz5IvPUu/9Cz70rP8S8+KLz1r+7+N/nyn1NY7ZfvLxG+fVV951vYXct8+q33pWfKlZ+mvPesvf/lv"
3015
+ "bytecode": "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",
3016
+ "debug_symbols": "7ZzNbhoxFIXfZdYI+efa1+ZVqixQm0qRIlIVdoh3r2mxZ1osRuVEJKCzSpCurePPHs98zDD74fXt63r38rbZDqv9oGFYfdkP2x/rzfHjdrf+uRtWZjE8b76Vv4fF8P3l9XlY2RwPi7M6m1VPpTbn3KpFOsXOJ3cqduLHYmtSr2srUWrfNrj0V/3TYtB4t8n1dsmDjTV50AgnT3ebPPeSW5FQW8kkUT+/U5NqJBUd84desXW1a+eMu1w8Gz+Z+45v3yN+0BY/z8RPTusRm7yZLMzy/zGP+2R5/DvkSeP0Zudn8sR60KY8zpa67kpQ31sJ6jvFWSqTrPlyadlJW7+iYTI6vWqJCRGiCAMRoggjEaIIlQhRhIkIUYSZCEGE2RAhitASIYrQESGKkHYCIxQiRBHSTmCEtBMYIe0ERkg7gRHSTlCE5ZtXMoQZ0k9whhQUnCENBWcoZAgzpKPgDCkpOENaCs6QmoIzpKfADC09BWdIT8EZ0lNwhvQUnKGQIcyQnoIzpKfgDOkpOEN6Cs6QngIzdPQUnCE9BWdIT8EZ0lNwhkKGMEN6Cs6QnoIzpKfgDOkpOEN6CszQ01NwhvQUnCE9BWdIT8EZChnCDOkpOEN6Cs6QnoIzpKfgDOkpMEOhp+AM6Sk4Q3oKzpCegjOUB2FojdSOrclmpniey63dwxptXZfdYUrmd574oXn0LM+tr4nLNI155laOphZes/GT2TV/0qe7Tn/r68By978Wl5s2/nJ6H3I9tHx0ZmaHCu2FmEHHRVYiHwcazOMMVEN98aqmNB3oeWmUtlhimJwQyo3bq/ayYB8Io6/FycTLGG027VWiJiiO0T0OxmRzxSj57LDzn3qg0dcTvU9GZwbqYw0tQcYU/nSSX3a3UpVKR+N4Jm5t+r8dmmvUPQilTVqI44pLdZ9f9h+h9LkSEDH/zl5p1X9ocLaVvaqVu6qV/+9WwS/7D/9Iu6KUyZn1NMXHVuGqVt0LrpDazqzjJJcOng6HXw=="
2780
3017
  }
2781
3018
  ],
2782
3019
  "events": [],
2783
3020
  "file_map": {
2784
- "18": {
2785
- "source": "mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n \n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(_self: Self, _bit_size: u32) -> [u1] {}\n \n #[builtin(to_be_bits)]\n fn __to_be_bits(_self: Self, _bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(_self: Self, _bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(_self: Self, _radix: u32, _result_len: u32) -> [u8] {}\n \n #[builtin(to_be_radix)]\n fn __to_be_radix(_self: Self, _radix: u32, _result_len: u32) -> [u8] {}\n\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n\n}\n\n#[builtin(modulus_num_bits)]\npub fn modulus_num_bits() -> Field {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\n// Convert a 32 byte array to a field element\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\n",
3021
+ "3": {
3022
+ "source": "struct BoundedVec<T, MaxLen> {\n storage: [T; MaxLen],\n // TODO: change this to return a u64 as Noir now\n // uses u64 for indexing\n len: Field,\n empty_value: T,\n}\n\nimpl<T, MaxLen> BoundedVec<T, MaxLen> {\n pub fn new(initial_value: T) -> Self {\n BoundedVec { storage: [initial_value; MaxLen], len: 0, empty_value: initial_value }\n }\n\n pub fn get(mut self: Self, index: Field) -> T {\n assert(index as u64 < self.len as u64);\n self.storage[index]\n }\n\n pub fn get_unchecked(mut self: Self, index: Field) -> T {\n self.storage[index]\n }\n\n pub fn push(&mut self, elem: T) {\n assert(self.len as u64 < MaxLen as u64, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n pub fn len(self) -> Field {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> Field {\n MaxLen\n }\n\n // This is a intermediate method, while we don't have an\n // .extend method\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n pub fn extend_from_array<Len>(&mut self, array: [T; Len]) {\n let new_len = self.len + array.len();\n assert(new_len as u64 <= MaxLen as u64, \"extend_from_array out of bounds\");\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_bounded_vec<Len>(&mut self, vec: BoundedVec<T, Len>) {\n let append_len = vec.len();\n let new_len = self.len + append_len;\n assert(new_len as u64 <= MaxLen as u64, \"extend_from_bounded_vec out of bounds\");\n\n let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + (i as Field)] = vec.get_unchecked(i as Field);\n }\n }\n self.len = new_len;\n }\n\n pub fn pop(&mut self) -> T {\n assert(self.len as u64 > 0);\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = self.empty_value;\n elem\n }\n\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n let mut exceeded_len = false;\n for i in 0..MaxLen {\n exceeded_len |= i == self.len;\n if (!exceeded_len) {\n ret |= predicate(self.storage[i]);\n }\n }\n ret\n }\n}",
3023
+ "path": "std/collections/bounded_vec.nr"
3024
+ },
3025
+ "19": {
3026
+ "source": "mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n \n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(self, _bit_size: u32) -> [u1] {}\n \n #[builtin(to_be_bits)]\n fn __to_be_bits(self, bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(self, radix: u32, result_len: u32) -> [u8] {}\n \n #[builtin(to_be_radix)]\n fn __to_be_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n\n}\n\n#[builtin(modulus_num_bits)]\npub fn modulus_num_bits() -> Field {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\n// Convert a 32 byte array to a field element\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\n",
2786
3027
  "path": "std/field.nr"
2787
3028
  },
2788
- "30": {
3029
+ "31": {
2789
3030
  "source": "struct Option<T> {\n _is_some: bool,\n _value: T,\n}\n\nimpl<T> Option<T> {\n /// Constructs a None value\n pub fn none() -> Self {\n Self { _is_some: false, _value: crate::unsafe::zeroed() }\n }\n\n /// Constructs a Some wrapper around the given value\n pub fn some(_value: T) -> Self {\n Self { _is_some: true, _value }\n }\n\n /// True if this Option is None\n pub fn is_none(self) -> bool {\n !self._is_some\n }\n\n /// True if this Option is Some\n pub fn is_some(self) -> bool {\n self._is_some\n }\n\n /// Asserts `self.is_some()` and returns the wrapped value.\n pub fn unwrap(self) -> T {\n assert(self._is_some);\n self._value\n }\n\n /// Returns the inner value without asserting `self.is_some()`\n /// Note that if `self` is `None`, there is no guarantee what value will be returned,\n /// only that it will be of type `T`.\n pub fn unwrap_unchecked(self) -> T {\n self._value\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, returns the given default value.\n pub fn unwrap_or(self, default: T) -> T {\n if self._is_some {\n self._value\n } else {\n default\n }\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, calls the given function to return\n /// a default value.\n pub fn unwrap_or_else<Env>(self, default: fn[Env]() -> T) -> T {\n if self._is_some {\n self._value\n } else {\n default()\n }\n }\n\n /// If self is `Some(x)`, this returns `Some(f(x))`. Otherwise, this returns `None`.\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> Option<U> {\n if self._is_some {\n Option::some(f(self._value))\n } else {\n Option::none()\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns the given default value.\n pub fn map_or<U, Env>(self, default: U, f: fn[Env](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns `default()`.\n pub fn map_or_else<U, Env1, Env2>(self, default: fn[Env1]() -> U, f: fn[Env2](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default()\n }\n }\n\n /// Returns None if self is None. Otherwise, this returns `other`.\n pub fn and(self, other: Self) -> Self {\n if self.is_none() {\n Option::none()\n } else {\n other\n }\n }\n\n /// If self is None, this returns None. Otherwise, this calls the given function\n /// with the Some value contained within self, and returns the result of that call.\n ///\n /// In some languages this function is called `flat_map` or `bind`.\n pub fn and_then<U, Env>(self, f: fn[Env](T) -> Option<U>) -> Option<U> {\n if self._is_some {\n f(self._value)\n } else {\n Option::none()\n }\n }\n\n /// If self is Some, return self. Otherwise, return `other`.\n pub fn or(self, other: Self) -> Self {\n if self._is_some {\n self\n } else {\n other\n }\n }\n\n /// If self is Some, return self. Otherwise, return `default()`.\n pub fn or_else<U, Env>(self, default: fn[Env]() -> Self) -> Self {\n if self._is_some {\n self\n } else {\n default()\n }\n }\n\n // If only one of the two Options is Some, return that option.\n // Otherwise, if both options are Some or both are None, None is returned.\n pub fn xor(self, other: Self) -> Self {\n if self._is_some {\n if other._is_some {\n Option::none()\n } else {\n self\n }\n } else if other._is_some {\n other\n } else {\n Option::none()\n }\n }\n\n /// Returns `Some(x)` if self is `Some(x)` and `predicate(x)` is true.\n /// Otherwise, this returns `None`\n pub fn filter<Env>(self, predicate: fn[Env](T) -> bool) -> Self {\n if self._is_some {\n if predicate(self._value) {\n self\n } else {\n Option::none()\n }\n } else {\n Option::none()\n }\n }\n\n /// Flattens an Option<Option<T>> into a Option<T>.\n /// This returns None if the outer Option is None. Otherwise, this returns the inner Option.\n pub fn flatten(option: Option<Option<T>>) -> Option<T> {\n if option._is_some {\n option._value\n } else {\n Option::none()\n }\n }\n}\n",
2790
3031
  "path": "std/option.nr"
2791
3032
  },
2792
- "42": {
3033
+ "43": {
2793
3034
  "source": "use crate::context::{PrivateContext, PublicContext};\nuse crate::oracle;\nuse dep::protocol_types::{\n address::AztecAddress,\n grumpkin_point::GrumpkinPoint,\n};\n\npub fn emit_encrypted_log<N>(\n context: &mut PrivateContext,\n contract_address: AztecAddress,\n storage_slot: Field,\n encryption_pub_key: GrumpkinPoint,\n log: [Field; N]\n) {\n let _ = oracle::logs::emit_encrypted_log(contract_address, storage_slot, encryption_pub_key, log);\n context.accumulate_encrypted_logs(log);\n}\n\npub fn emit_unencrypted_log<T>(context: &mut PublicContext, log: T) {\n let contract_address = context.this_address();\n let event_selector = 5; // TODO: compute actual event selector.\n let _ = oracle::logs::emit_unencrypted_log(contract_address, event_selector, log);\n // context.accumulate_unencrypted_logs(log);\n}\n\n// TODO: We might want to remove this since emitting unencrypted logs from private functions is violating privacy.\n// --> might be a better approach to force devs to make a public function call that emits the log if needed then\n// it would be less easy to accidentally leak information.\n// If we decide to keep this function around would make sense to wait for traits and then merge it with emit_unencrypted_log.\npub fn emit_unencrypted_log_from_private<T>(context: &mut PrivateContext, log: T) {\n let contract_address = context.this_address();\n let event_selector = 5; // TODO: compute actual event selector.\n let _ = oracle::logs::emit_unencrypted_log(contract_address, event_selector, log);\n // context.accumulate_unencrypted_logs(log);\n}\n",
2794
3035
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/log.nr"
2795
3036
  },
2796
- "43": {
2797
- "source": "use dep::protocol_types::{\n abis::{\n call_context::CallContext,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_circuit_public_inputs::PublicCircuitPublicInputs,\n },\n contrakt::deployment_data::ContractDeploymentData,\n hash::hash_args,\n header::Header,\n};\n\n// docs:start:private-global-variables\nstruct PrivateGlobalVariables {\n chain_id: Field,\n version: Field,\n}\n// docs:end:private-global-variables\n\nimpl PrivateGlobalVariables {\n fn serialize(self) -> [Field; 2] {\n [self.chain_id, self.version]\n }\n}\n\n// docs:start:public-global-variables\nstruct PublicGlobalVariables {\n chain_id: Field,\n version: Field,\n block_number: Field,\n timestamp: Field,\n}\n// docs:end:public-global-variables\n\nimpl PublicGlobalVariables {\n fn serialize(self) -> [Field; 4] {\n [self.chain_id, self.version, self.block_number, self.timestamp]\n }\n}\n\n// PrivateContextInputs are expected to be provided to each private function\n// docs:start:private-context-inputs\nstruct PrivateContextInputs {\n call_context : CallContext,\n historical_header: Header,\n contract_deployment_data: ContractDeploymentData,\n private_global_variables: PrivateGlobalVariables,\n}\n// docs:end:private-context-inputs\n\n// PublicContextInputs are expected to be provided to each public function\n// docs:start:public-context-inputs\nstruct PublicContextInputs {\n call_context: CallContext,\n historical_header: Header,\n\n public_global_variables: PublicGlobalVariables,\n}\n// docs:end:public-context-inputs\n\nstruct Hasher {\n fields: [Field],\n}\n\nimpl Hasher {\n pub fn new()-> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<N>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n\n pub fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n",
3037
+ "44": {
3038
+ "source": "use dep::protocol_types::{\n abis::{\n call_context::CallContext,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_circuit_public_inputs::PublicCircuitPublicInputs,\n },\n address::{AztecAddress, EthAddress},\n contrakt::deployment_data::ContractDeploymentData,\n hash::hash_args,\n traits::{Hash, Serialize},\n header::Header,\n};\n\n// docs:start:private-global-variables\nstruct PrivateGlobalVariables {\n chain_id: Field,\n version: Field,\n}\n// docs:end:private-global-variables\n\nimpl Serialize<2> for PrivateGlobalVariables {\n fn serialize(self) -> [Field; 2] {\n [self.chain_id, self.version]\n }\n}\n\n// docs:start:public-global-variables\nstruct PublicGlobalVariables {\n chain_id: Field,\n version: Field,\n block_number: Field,\n timestamp: Field,\n coinbase: EthAddress,\n fee_recipient: AztecAddress,\n}\n// docs:end:public-global-variables\n\nimpl Serialize<6> for PublicGlobalVariables {\n fn serialize(self) -> [Field; 6] {\n [\n self.chain_id,\n self.version,\n self.block_number,\n self.timestamp,\n self.coinbase.to_field(),\n self.fee_recipient.to_field(),\n ]\n }\n}\n\n// PrivateContextInputs are expected to be provided to each private function\n// docs:start:private-context-inputs\nstruct PrivateContextInputs {\n call_context : CallContext,\n historical_header: Header,\n contract_deployment_data: ContractDeploymentData,\n private_global_variables: PrivateGlobalVariables,\n}\n// docs:end:private-context-inputs\n\n// PublicContextInputs are expected to be provided to each public function\n// docs:start:public-context-inputs\nstruct PublicContextInputs {\n call_context: CallContext,\n historical_header: Header,\n\n public_global_variables: PublicGlobalVariables,\n}\n// docs:end:public-context-inputs\n\nstruct Hasher {\n fields: [Field],\n}\n\nimpl Hash for Hasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl Hasher {\n pub fn new()-> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<N>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n",
2798
3039
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/abi.nr"
2799
3040
  },
2800
- "44": {
2801
- "source": "use dep::std::option::Option;\nuse dep::protocol_types::{\n address::AztecAddress,\n constants::{\n GENERATOR_INDEX__INITIALIZATION_NULLIFIER,\n },\n hash::pedersen_hash,\n};\n\nuse crate::context::{PrivateContext, Context};\nuse crate::note::{\n lifecycle::create_note,\n note_getter::{get_note, view_notes},\n note_interface::NoteInterface,\n note_viewer_options::NoteViewerOptions,\n};\nuse crate::oracle::notes::check_nullifier_exists;\n\n// docs:start:struct\nstruct ImmutableSingleton<Note, N> {\n context: Option<&mut PrivateContext>,\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n}\n// docs:end:struct\n\nimpl<Note, N> ImmutableSingleton<Note, N> {\n // docs:start:new\n pub fn new(\n context: Context,\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Self {\n context: context.private,\n storage_slot,\n note_interface,\n }\n }\n // docs:end:new\n\n // The following computation is leaky, in that it doesn't hide the storage slot that has been initialized, nor does it hide the contract address of this contract.\n // When this initialization nullifier is emitted, an observer could do a dictionary or rainbow attack to learn the preimage of this nullifier to deduce the storage slot and contract address.\n // For some applications, leaking the details that a particular state variable of a particular contract has been initialized will be unacceptable.\n // Under such circumstances, such application developers might wish to _not_ use this state variable type.\n // This is especially dangerous for initial assignment to elements of a `Map<AztecAddress, ImmutableSingleton>` type (for example), because the storage slot often also identifies an actor. \n // e.g. the initial assignment to `my_map.at(msg.sender)` will leak: `msg.sender`, the fact that an element of `my_map` was assigned-to for the first time, and the contract_address.\n pub fn compute_initialization_nullifier(self) -> Field {\n pedersen_hash([self.storage_slot], GENERATOR_INDEX__INITIALIZATION_NULLIFIER)\n }\n\n // docs:start:is_initialized\n unconstrained pub fn is_initialized(self) -> bool {\n let nullifier = self.compute_initialization_nullifier();\n check_nullifier_exists(nullifier)\n }\n // docs:end:is_initialized\n\n // docs:start:initialize\n pub fn initialize(\n self,\n note: &mut Note, \n broadcast: bool,\n ) {\n let context = self.context.unwrap();\n\n // Nullify the storage slot.\n let nullifier = self.compute_initialization_nullifier();\n context.push_new_nullifier(nullifier, 0);\n\n create_note(\n context,\n self.storage_slot,\n note,\n self.note_interface,\n broadcast,\n );\n }\n // docs:end:initialize\n\n // docs:start:get_note\n pub fn get_note(self) -> Note {\n let context = self.context.unwrap();\n let storage_slot = self.storage_slot;\n get_note(context, storage_slot, self.note_interface)\n }\n // docs:end:get_note\n\n // docs:start:view_note\n unconstrained pub fn view_note(self) -> Note {\n let options = NoteViewerOptions::new().set_limit(1);\n view_notes(self.storage_slot, self.note_interface, options)[0].unwrap()\n }\n // docs:end:view_note\n}\n",
3041
+ "45": {
3042
+ "source": "use dep::std::option::Option;\nuse dep::protocol_types::{\n address::AztecAddress,\n constants::{\n GENERATOR_INDEX__INITIALIZATION_NULLIFIER,\n },\n hash::pedersen_hash,\n};\n\nuse crate::context::{PrivateContext, Context};\nuse crate::note::{\n lifecycle::create_note,\n note_getter::{get_note, view_notes},\n note_interface::NoteInterface,\n note_viewer_options::NoteViewerOptions,\n};\nuse crate::oracle::notes::check_nullifier_exists;\nuse crate::state_vars::storage::Storage;\n\n// docs:start:struct\nstruct ImmutableSingleton<Note> {\n context: Option<&mut PrivateContext>,\n storage_slot: Field,\n}\n// docs:end:struct\n\nimpl<T> Storage<T> for ImmutableSingleton<T> {}\n\nimpl<Note> ImmutableSingleton<Note> {\n // docs:start:new\n pub fn new(\n context: Context,\n storage_slot: Field,\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Self {\n context: context.private,\n storage_slot,\n }\n }\n // docs:end:new\n\n // The following computation is leaky, in that it doesn't hide the storage slot that has been initialized, nor does it hide the contract address of this contract.\n // When this initialization nullifier is emitted, an observer could do a dictionary or rainbow attack to learn the preimage of this nullifier to deduce the storage slot and contract address.\n // For some applications, leaking the details that a particular state variable of a particular contract has been initialized will be unacceptable.\n // Under such circumstances, such application developers might wish to _not_ use this state variable type.\n // This is especially dangerous for initial assignment to elements of a `Map<AztecAddress, ImmutableSingleton>` type (for example), because the storage slot often also identifies an actor. \n // e.g. the initial assignment to `my_map.at(msg.sender)` will leak: `msg.sender`, the fact that an element of `my_map` was assigned-to for the first time, and the contract_address.\n pub fn compute_initialization_nullifier(self) -> Field {\n pedersen_hash([self.storage_slot], GENERATOR_INDEX__INITIALIZATION_NULLIFIER)\n }\n\n // docs:start:is_initialized\n unconstrained pub fn is_initialized(self) -> bool {\n let nullifier = self.compute_initialization_nullifier();\n check_nullifier_exists(nullifier)\n }\n // docs:end:is_initialized\n\n // docs:start:initialize\n pub fn initialize<N>(\n self,\n note: &mut Note, \n broadcast: bool,\n ) where Note: NoteInterface<N> {\n let context = self.context.unwrap();\n\n // Nullify the storage slot.\n let nullifier = self.compute_initialization_nullifier();\n context.push_new_nullifier(nullifier, 0);\n\n create_note(\n context,\n self.storage_slot,\n note,\n broadcast,\n );\n }\n // docs:end:initialize\n\n // docs:start:get_note\n pub fn get_note<N>(self) -> Note where Note: NoteInterface<N> {\n let context = self.context.unwrap();\n let storage_slot = self.storage_slot;\n get_note(context, storage_slot)\n }\n // docs:end:get_note\n\n // docs:start:view_note\n unconstrained pub fn view_note<N>(self) -> Note where Note: NoteInterface<N> {\n let options = NoteViewerOptions::new().set_limit(1);\n view_notes(self.storage_slot, options)[0].unwrap()\n }\n // docs:end:view_note\n}\n",
2802
3043
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/state_vars/immutable_singleton.nr"
2803
3044
  },
2804
- "45": {
2805
- "source": "use crate::context::{Context};\nuse crate::oracle::storage::storage_read;\nuse crate::oracle::storage::storage_write;\nuse crate::types::type_serialization::TypeSerializationInterface;\nuse dep::std::option::Option;\n\n// docs:start:public_state_struct\nstruct PublicState<T, T_SERIALIZED_LEN> {\n context: Context,\n storage_slot: Field,\n serialization_methods: TypeSerializationInterface<T, T_SERIALIZED_LEN>,\n}\n// docs:end:public_state_struct\n\nimpl<T, T_SERIALIZED_LEN> PublicState<T, T_SERIALIZED_LEN> {\n // docs:start:public_state_struct_new\n pub fn new(\n // Note: Passing the contexts to new(...) just to have an interface compatible with a Map.\n context: Context,\n storage_slot: Field,\n serialization_methods: TypeSerializationInterface<T, T_SERIALIZED_LEN>,\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n PublicState {\n context,\n storage_slot,\n serialization_methods,\n }\n }\n // docs:end:public_state_struct_new\n\n // docs:start:public_state_struct_read\n pub fn read(self) -> T {\n assert(self.context.private.is_none(), \"Public state reads only supported in public functions\");\n storage_read(self.storage_slot, self.serialization_methods.deserialize)\n }\n // docs:end:public_state_struct_read\n\n // docs:start:public_state_struct_write\n pub fn write(self, value: T) {\n assert(self.context.private.is_none(), \"Public state writes only supported in public functions\");\n let serialize = self.serialization_methods.serialize;\n let fields = serialize(value);\n storage_write(self.storage_slot, fields);\n }\n // docs:end:public_state_struct_write\n}\n",
3045
+ "46": {
3046
+ "source": "use crate::context::{Context};\nuse crate::oracle::storage::storage_read;\nuse crate::oracle::storage::storage_write;\nuse dep::std::option::Option;\nuse dep::protocol_types::traits::{Deserialize, Serialize};\nuse crate::state_vars::storage::Storage;\n\n// docs:start:public_state_struct\nstruct PublicState<T> {\n context: Context,\n storage_slot: Field,\n}\n// docs:end:public_state_struct\n\nimpl<T> Storage<T> for PublicState<T> {}\n\nimpl<T> PublicState<T> {\n // docs:start:public_state_struct_new\n pub fn new(\n // Note: Passing the contexts to new(...) just to have an interface compatible with a Map.\n context: Context,\n storage_slot: Field,\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n PublicState {\n context,\n storage_slot,\n }\n }\n // docs:end:public_state_struct_new\n\n // docs:start:public_state_struct_read\n pub fn read<T_SERIALIZED_LEN>(self) -> T where T: Deserialize<T_SERIALIZED_LEN> {\n assert(self.context.private.is_none(), \"Public state writes only supported in public functions\");\n let fields = storage_read(self.storage_slot);\n T::deserialize(fields)\n }\n // docs:end:public_state_struct_read\n\n // docs:start:public_state_struct_write\n pub fn write<T_SERIALIZED_LEN>(self, value: T) where T: Serialize<T_SERIALIZED_LEN> {\n assert(self.context.private.is_none(), \"Public state writes only supported in public functions\");\n let fields = T::serialize(value);\n storage_write(self.storage_slot, fields);\n }\n // docs:end:public_state_struct_write\n}\n",
2806
3047
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/state_vars/public_state.nr"
2807
3048
  },
2808
- "46": {
2809
- "source": "use crate::context::{PrivateContext, PublicContext, Context};\nuse dep::std::option::Option;\nuse dep::protocol_types::{\n hash::pedersen_hash,\n traits::{ToField}\n};\n\n// docs:start:map\nstruct Map<K, V> {\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V,\n}\n// docs:end:map\n\nimpl<K, V> Map<K, V> {\n // docs:start:new\n pub fn new(\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V,\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Map {\n context,\n storage_slot,\n state_var_constructor,\n }\n }\n // docs:end:new\n\n // docs:start:at\n pub fn at(self, key: K) -> V where K: ToField {\n // TODO(#1204): use a generator index for the storage slot\n let derived_storage_slot = pedersen_hash([self.storage_slot, key.to_field()],0);\n\n let state_var_constructor = self.state_var_constructor;\n state_var_constructor(self.context, derived_storage_slot)\n }\n // docs:end:at\n}\n",
3049
+ "48": {
3050
+ "source": "use crate::context::{PrivateContext, PublicContext, Context};\nuse dep::std::option::Option;\nuse dep::protocol_types::{\n hash::pedersen_hash,\n traits::{ToField}\n};\nuse crate::state_vars::storage::Storage;\n\n// docs:start:map\nstruct Map<K, V> {\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V,\n}\n// docs:end:map\n\nimpl<K, T> Storage<T> for Map<K, T> {}\n\nimpl<K, V> Map<K, V> {\n // docs:start:new\n pub fn new(\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V,\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Map {\n context,\n storage_slot,\n state_var_constructor,\n }\n }\n // docs:end:new\n\n // docs:start:at\n pub fn at(self, key: K) -> V where K: ToField {\n // TODO(#1204): use a generator index for the storage slot\n let derived_storage_slot = pedersen_hash([self.storage_slot, key.to_field()],0);\n\n let state_var_constructor = self.state_var_constructor;\n state_var_constructor(self.context, derived_storage_slot)\n }\n // docs:end:at\n}\n",
2810
3051
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/state_vars/map.nr"
2811
3052
  },
2812
- "53": {
2813
- "source": "use crate::types::type_serialization::TypeSerializationInterface;\n\nglobal BOOL_SERIALIZED_LEN: Field = 1;\n\nfn deserializeBool(fields: [Field; BOOL_SERIALIZED_LEN]) -> bool {\n fields[0] as bool\n}\n\nfn serializeBool(value: bool) -> [Field; BOOL_SERIALIZED_LEN] {\n [value as Field]\n}\n\nglobal BoolSerializationMethods = TypeSerializationInterface {\n deserialize: deserializeBool,\n serialize: serializeBool,\n};\n",
2814
- "path": "/usr/src/yarn-project/aztec-nr/aztec/src/types/type_serialization/bool_serialization.nr"
2815
- },
2816
- "55": {
2817
- "source": "struct BoundedVec<T, MaxLen> {\n storage: [T; MaxLen],\n len: Field,\n}\n\nimpl<T, MaxLen> BoundedVec<T, MaxLen> {\n pub fn new(initial_value: T) -> Self {\n BoundedVec { storage: [initial_value; MaxLen], len: 0 }\n }\n\n pub fn get(mut self: Self, index: Field) -> T {\n assert(index as u64 < self.len as u64);\n self.storage[index]\n }\n\n pub fn get_unchecked(mut self: Self, index: Field) -> T {\n self.storage[index]\n }\n\n pub fn push(&mut self, elem: T) {\n assert(self.len as u64 < MaxLen as u64);\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n pub fn push_array<Len>(&mut self, array: [T; Len]) {\n let newLen = self.len + array.len();\n assert(newLen as u64 <= MaxLen as u64);\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = newLen;\n }\n\n pub fn pop(&mut self) -> T {\n assert(self.len as u64 > 0);\n\n let elem = self.storage[self.len - 1];\n self.len -= 1;\n elem\n }\n\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n let mut exceeded_len = false;\n for i in 0..MaxLen {\n exceeded_len |= i == self.len;\n if (!exceeded_len) {\n ret |= predicate(self.storage[i]);\n }\n }\n ret\n }\n}\n\n#[test]\nfn test_vec_push_pop() {\n let mut vec: BoundedVec<Field, 3> = BoundedVec::new(0);\n assert(vec.len == 0);\n vec.push(2);\n assert(vec.len == 1);\n vec.push(4);\n assert(vec.len == 2);\n vec.push(6);\n assert(vec.len == 3);\n let x = vec.pop();\n assert(x == 6);\n assert(vec.len == 2);\n assert(vec.get(0) == 2);\n assert(vec.get(1) == 4);\n}\n\n#[test]\nfn test_vec_push_array() {\n let mut vec: BoundedVec<Field, 3> = BoundedVec::new(0);\n vec.push_array([2, 4]);\n assert(vec.len == 2);\n assert(vec.get(0) == 2);\n assert(vec.get(1) == 4);\n}\n\n#[test(should_fail)]\nfn test_vec_get_out_of_bound() {\n let mut vec: BoundedVec<Field, 2> = BoundedVec::new(0);\n vec.push_array([2, 4]);\n let _x = vec.get(2);\n}\n\n#[test(should_fail)]\nfn test_vec_get_not_declared() {\n let mut vec: BoundedVec<Field, 2> = BoundedVec::new(0);\n vec.push_array([2]);\n let _x = vec.get(1);\n}\n\n#[test(should_fail)]\nfn test_vec_get_uninitialized() {\n let mut vec: BoundedVec<Field, 2> = BoundedVec::new(0);\n let _x = vec.get(0);\n}\n\n#[test(should_fail)]\nfn test_vec_push_overflow() {\n let mut vec: BoundedVec<Field, 1> = BoundedVec::new(0);\n vec.push(1);\n vec.push(2);\n}\n\n#[test]\nfn test_vec_any() {\n let mut vec: BoundedVec<Field, 3> = BoundedVec::new(0);\n vec.push_array([2, 4, 6]);\n assert(vec.any(|v| v == 2) == true);\n assert(vec.any(|v| v == 4) == true);\n assert(vec.any(|v| v == 6) == true);\n assert(vec.any(|v| v == 3) == false);\n}\n\n#[test]\nfn test_vec_any_not_default() {\n let default_value = 1;\n let mut vec: BoundedVec<Field, 3> = BoundedVec::new(default_value);\n vec.push_array([2, 4]);\n assert(vec.any(|v| v == default_value) == false);\n}\n",
2818
- "path": "/usr/src/yarn-project/aztec-nr/aztec/src/types/vec.nr"
2819
- },
2820
- "68": {
2821
- "source": "pub fn arr_copy_slice<T, N, M>(src: [T; N], mut dst: [T; M], offset: Field) -> [T; M] {\n for i in 0..dst.len() {\n dst[i] = src[i + offset];\n }\n dst\n}\n\n// TODO(#3470): Copied over from https://github.com/AztecProtocol/aztec-packages/blob/a07c4bd47313be6aa604a63f37857eb0136b41ba/yarn-project/noir-protocol-circuits/src/crates/rollup-lib/src/base/base_rollup_inputs.nr#L599\n// move to a shared place?\n\n// TODO to radix returns u8, so we cannot use bigger radixes. It'd be ideal to use a radix of the maximum range-constrained integer noir supports\npub fn full_field_less_than(lhs: Field, rhs: Field) -> bool {\n lhs.lt(rhs)\n}\n\npub fn full_field_greater_than(lhs: Field, rhs: Field) -> bool {\n rhs.lt(lhs)\n}\n\nstruct Reader<N> {\n data: [Field; N],\n offset: Field,\n}\n\nimpl<N> Reader<N> {\n pub fn new(data: [Field; N]) -> Self {\n Self { data, offset: 0 }\n }\n\n pub fn read(&mut self) -> Field {\n let result = self.data[self.offset];\n self.offset += 1;\n result\n }\n\n pub fn read_array<K>(&mut self, mut result: [Field; K]) -> [Field; K] {\n for i in 0..K {\n result[i] = self.data[self.offset + i];\n }\n self.offset += K;\n result\n }\n\n pub fn read_struct<T, K>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array([0; K]));\n result\n }\n\n pub fn read_struct_array<T, K, C>(&mut self, deserialise: fn([Field; K]) -> T, mut result: [T; C]) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn finish(self) {\n assert(self.offset == self.data.len(), \"Reader did not read all data\");\n } \n}\n",
3053
+ "63": {
3054
+ "source": "pub fn arr_copy_slice<T, N, M>(src: [T; N], mut dst: [T; M], offset: Field) -> [T; M] {\n for i in 0..dst.len() {\n dst[i] = src[i + offset];\n }\n dst\n}\n\n// TODO(#3470): Copied over from https://github.com/AztecProtocol/aztec-packages/blob/a07c4bd47313be6aa604a63f37857eb0136b41ba/yarn-project/noir-protocol-circuits/src/crates/rollup-lib/src/base/base_rollup_inputs.nr#L599\n// move to a shared place?\n\n// TODO to radix returns u8, so we cannot use bigger radixes. It'd be ideal to use a radix of the maximum range-constrained integer noir supports\npub fn full_field_less_than(lhs: Field, rhs: Field) -> bool {\n lhs.lt(rhs)\n}\n\npub fn full_field_greater_than(lhs: Field, rhs: Field) -> bool {\n rhs.lt(lhs)\n}\n",
2822
3055
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/utils.nr"
2823
3056
  },
2824
- "70": {
2825
- "source": "use crate::{\n abi::{\n PrivateContextInputs,\n PublicContextInputs,\n },\n key::nullifier_key::validate_nullifier_key_against_address,\n messaging::process_l1_to_l2_message,\n oracle::{\n arguments,\n call_private_function::call_private_function_internal,\n public_call::call_public_function_internal,\n enqueue_public_function_call::enqueue_public_function_call_internal,\n context::get_portal_address,\n header::get_header_at,\n nullifier_key::{get_nullifier_key_pair, NullifierKeyPair},\n },\n types::vec::BoundedVec,\n utils::Reader,\n};\nuse dep::protocol_types::{\n abis::{\n append_only_tree_snapshot::AppendOnlyTreeSnapshot,\n call_context::CallContext,\n global_variables::GlobalVariables,\n function_data::FunctionData,\n function_selector::FunctionSelector,\n nullifier_key_validation_request::NullifierKeyValidationRequest,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_circuit_public_inputs::PublicCircuitPublicInputs,\n call_stack_item::PrivateCallStackItem,\n call_stack_item::PublicCallStackItem,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash},\n },\n address::{\n AztecAddress,\n EthAddress,\n },\n constants::{\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n RETURN_VALUES_LENGTH,\n },\n contrakt::{\n deployment_data::ContractDeploymentData,\n storage_read::StorageRead,\n storage_update_request::StorageUpdateRequest,\n },\n grumpkin_point::GrumpkinPoint,\n grumpkin_private_key::GrumpkinPrivateKey,\n hash::hash_args,\n header::Header,\n state_reference::StateReference,\n};\nuse dep::std::{\n option::Option,\n};\n\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n// use dep::std::collections::vec::Vec;\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n args_hash : Field,\n return_values : BoundedVec<Field, RETURN_VALUES_LENGTH>,\n\n read_requests: BoundedVec<SideEffect, MAX_READ_REQUESTS_PER_CALL>,\n nullifier_key_validation_requests: BoundedVec<NullifierKeyValidationRequest, MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n new_commitments: BoundedVec<SideEffect, MAX_NEW_COMMITMENTS_PER_CALL>,\n new_nullifiers: BoundedVec<SideEffectLinkedToNoteHash, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n private_call_stack_hashes : BoundedVec<Field, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n new_l2_to_l1_msgs : BoundedVec<Field, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n historical_header: Header,\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec<Field>,\n // unencrypted_logs_preimages: Vec<Field>,\n\n nullifier_key: Option<NullifierKeyPair>,\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs: inputs,\n side_effect_counter: inputs.call_context.start_side_effect_counter,\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n read_requests: BoundedVec::new(SideEffect::empty()),\n nullifier_key_validation_requests: BoundedVec::new(NullifierKeyValidationRequest::empty()),\n\n new_commitments: BoundedVec::new(SideEffect::empty()),\n new_nullifiers: BoundedVec::new(SideEffectLinkedToNoteHash::empty()),\n\n historical_header: inputs.historical_header,\n\n private_call_stack_hashes: BoundedVec::new(0),\n public_call_stack_hashes: BoundedVec::new(0),\n new_l2_to_l1_msgs: BoundedVec::new(0),\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n\n nullifier_key: Option::none(),\n }\n }\n\n pub fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n pub fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n pub fn this_portal_address(self) -> EthAddress {\n self.inputs.call_context.portal_contract_address\n }\n\n pub fn chain_id(self) -> Field {\n self.inputs.private_global_variables.chain_id\n }\n\n pub fn version(self) -> Field {\n self.inputs.private_global_variables.version\n }\n\n pub fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n // Returns the header of a block whose state is used during private execution\n pub fn get_header(self) -> Header {\n self.historical_header\n }\n\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let encrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let encrypted_log_preimages_length = 0;\n let unencrypted_log_preimages_length = 0;\n\n let priv_circuit_pub_inputs = PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n return_values: self.return_values.storage,\n read_requests: self.read_requests.storage,\n nullifier_key_validation_requests: self.nullifier_key_validation_requests.storage,\n new_commitments: self.new_commitments.storage,\n new_nullifiers: self.new_nullifiers.storage,\n private_call_stack_hashes: self.private_call_stack_hashes.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n end_side_effect_counter: self.side_effect_counter,\n encrypted_logs_hash: encrypted_logs_hash,\n unencrypted_logs_hash: unencrypted_logs_hash,\n encrypted_log_preimages_length: encrypted_log_preimages_length,\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\n historical_header: self.historical_header,\n contract_deployment_data: self.inputs.contract_deployment_data,\n chain_id: self.inputs.private_global_variables.chain_id,\n version: self.inputs.private_global_variables.version,\n };\n priv_circuit_pub_inputs\n }\n\n pub fn push_read_request(&mut self, read_request: Field) {\n let side_effect = SideEffect {\n value: read_request,\n counter: self.side_effect_counter,\n };\n self.read_requests.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn push_new_note_hash(&mut self, note_hash: Field) {\n let side_effect = SideEffect {\n value: note_hash,\n counter: self.side_effect_counter,\n };\n self.new_commitments.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn push_new_nullifier(&mut self, nullifier: Field, nullified_commitment: Field) {\n let side_effect = SideEffectLinkedToNoteHash {\n value: nullifier,\n note_hash: nullified_commitment,\n counter: self.side_effect_counter,\n };\n self.new_nullifiers.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn request_nullifier_secret_key(&mut self, account: AztecAddress) -> GrumpkinPrivateKey {\n let key_pair = if self.nullifier_key.is_none() {\n let key_pair = get_nullifier_key_pair(account);\n validate_nullifier_key_against_address(account, key_pair.public_key);\n let request = NullifierKeyValidationRequest { public_key: key_pair.public_key, secret_key: key_pair.secret_key };\n self.nullifier_key_validation_requests.push(request);\n self.nullifier_key = Option::some(key_pair);\n key_pair\n } else {\n let key_pair = self.nullifier_key.unwrap_unchecked();\n // If MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL is larger than 1, need to update the way the key pair is cached.\n assert(MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL == 1);\n assert(key_pair.account == account, \"Cannot query nullifier key for more than one account per call\");\n key_pair\n };\n key_pair.secret_key\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, content: Field) \n // docs:end:context_message_portal\n {\n self.new_l2_to_l1_msgs.push(content);\n }\n\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(\n &mut self,\n msg_key: Field,\n content: Field,\n secret: Field\n ) \n // docs:end:context_consume_l1_to_l2_message\n {\n let nullifier = process_l1_to_l2_message(self.historical_header.state.l1_to_l2_message_tree.root, self.this_address(), self.this_portal_address(), self.chain_id(), self.version(), msg_key, content, secret);\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n pub fn accumulate_encrypted_logs<N>(&mut self, log: [Field; N]) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn accumulate_unencrypted_logs<T>(&mut self, log: T) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress, \n function_selector: FunctionSelector, \n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash)\n }\n\n pub fn call_private_function_no_args(\n &mut self,\n contract_address: AztecAddress, \n function_selector: FunctionSelector, \n ) -> [Field; RETURN_VALUES_LENGTH] {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0)\n }\n\n pub fn call_private_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let fields = call_private_function_internal(\n contract_address,\n function_selector, \n args_hash,\n self.side_effect_counter,\n );\n let mut reader = Reader::new(fields);\n\n let item = PrivateCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: FunctionData {\n selector: FunctionSelector::from_field(reader.read()),\n is_internal: reader.read() as bool,\n is_private: reader.read() as bool,\n is_constructor: reader.read() as bool,\n },\n public_inputs: PrivateCircuitPublicInputs {\n call_context: CallContext {\n msg_sender : AztecAddress::from_field(reader.read()),\n storage_contract_address : AztecAddress::from_field(reader.read()),\n portal_contract_address : EthAddress::from_field(reader.read()),\n function_selector: FunctionSelector::from_field(reader.read()), // practically same as fields[1]\n is_delegate_call : reader.read() as bool,\n is_static_call : reader.read() as bool,\n is_contract_deployment: reader.read() as bool,\n start_side_effect_counter: reader.read() as u32,\n },\n args_hash: reader.read(),\n return_values: reader.read_array([0; RETURN_VALUES_LENGTH]), // +1\n read_requests: reader.read_struct_array(SideEffect::deserialise, [SideEffect::empty(); MAX_READ_REQUESTS_PER_CALL]),\n nullifier_key_validation_requests: reader.read_struct_array(NullifierKeyValidationRequest::deserialise, [NullifierKeyValidationRequest::empty(); MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL]),\n new_commitments: reader.read_struct_array(SideEffect::deserialise, [SideEffect::empty(); MAX_NEW_COMMITMENTS_PER_CALL]),\n new_nullifiers: reader.read_struct_array(SideEffectLinkedToNoteHash::deserialise, [SideEffectLinkedToNoteHash::empty(); MAX_NEW_NULLIFIERS_PER_CALL]),\n private_call_stack_hashes: reader.read_array([0; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n new_l2_to_l1_msgs: reader.read_array([0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL]),\n end_side_effect_counter: reader.read() as u32,\n encrypted_logs_hash: reader.read_array([0; NUM_FIELDS_PER_SHA256]),\n unencrypted_logs_hash: reader.read_array([0; NUM_FIELDS_PER_SHA256]),\n encrypted_log_preimages_length: reader.read(),\n unencrypted_log_preimages_length: reader.read(),\n historical_header: reader.read_struct(Header::deserialize),\n contract_deployment_data: ContractDeploymentData {\n deployer_public_key: GrumpkinPoint {\n x: reader.read(), \n y: reader.read()\n },\n constructor_vk_hash : reader.read(),\n function_tree_root : reader.read(),\n contract_address_salt : reader.read(),\n portal_contract_address : EthAddress::from_field(reader.read()),\n },\n chain_id: reader.read(),\n version: reader.read(),\n },\n is_execution_request: reader.read() as bool,\n };\n\n reader.finish();\n\n assert_eq(item.public_inputs.call_context.start_side_effect_counter, self.side_effect_counter);\n self.side_effect_counter = item.public_inputs.end_side_effect_counter + 1;\n \n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n assert(item.is_execution_request == false);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\n // the msg_sender in the nested call to be equal to our address, and the execution context address\n // for the nested call to be equal to the address we actually called.\n assert(item.public_inputs.call_context.is_delegate_call == false);\n assert(item.public_inputs.call_context.is_static_call == false);\n assert(item.public_inputs.call_context.is_contract_deployment == false);\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address));\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n\n self.private_call_stack_hashes.push(item.hash());\n\n item.public_inputs.return_values\n }\n\n pub fn call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress, \n function_selector: FunctionSelector, \n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress, \n function_selector: FunctionSelector,\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field\n ) {\n let fields = enqueue_public_function_call_internal(\n contract_address, \n function_selector, \n args_hash,\n self.side_effect_counter\n );\n\n let mut reader = Reader::new(fields);\n\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: FunctionData {\n selector: FunctionSelector::from_field(reader.read()),\n is_internal: reader.read() as bool,\n is_private: reader.read() as bool,\n is_constructor: reader.read() as bool,\n },\n public_inputs: PublicCircuitPublicInputs {\n call_context: CallContext {\n msg_sender : AztecAddress::from_field(reader.read()),\n storage_contract_address : AztecAddress::from_field(reader.read()),\n portal_contract_address : EthAddress::from_field(reader.read()),\n function_selector: FunctionSelector::from_field(reader.read()), // practically same as fields[1]\n is_delegate_call : reader.read() as bool,\n is_static_call : reader.read() as bool,\n is_contract_deployment: reader.read() as bool,\n start_side_effect_counter: reader.read() as u32,\n },\n args_hash: reader.read(),\n return_values: [0; RETURN_VALUES_LENGTH],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [SideEffect::empty(); MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs:[0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n unencrypted_logs_hash:[0; NUM_FIELDS_PER_SHA256],\n unencrypted_log_preimages_length: 0,\n historical_header: Header::empty(),\n prover_address: AztecAddress::zero(),\n },\n is_execution_request: true,\n };\n reader.finish();\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert_eq(item.public_inputs.call_context.start_side_effect_counter, self.side_effect_counter);\n // We increment the sideffect counter by one, to account for the call itself being a side effect.\n self.side_effect_counter = self.side_effect_counter + 1;\n \n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\n // the msg_sender in the nested call to be equal to our address, and the execution context address\n // for the nested call to be equal to the address we actually called.\n assert(item.public_inputs.call_context.is_delegate_call == false);\n assert(item.public_inputs.call_context.is_static_call == false);\n assert(item.public_inputs.call_context.is_contract_deployment == false);\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address));\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n\n self.public_call_stack_hashes.push(item.hash());\n }\n}\n\nstruct PublicContext {\n inputs: PublicContextInputs,\n side_effect_counter: u32,\n\n args_hash : Field,\n return_values : BoundedVec<Field, RETURN_VALUES_LENGTH>,\n\n contract_storage_update_requests: BoundedVec<StorageUpdateRequest, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL>,\n contract_storage_reads: BoundedVec<StorageRead, MAX_PUBLIC_DATA_READS_PER_CALL>,\n public_call_stack_hashes: BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n\n new_commitments: BoundedVec<SideEffect, MAX_NEW_COMMITMENTS_PER_CALL>,\n new_nullifiers: BoundedVec<SideEffectLinkedToNoteHash, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n new_l2_to_l1_msgs: BoundedVec<Field, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n\n unencrypted_logs_hash: BoundedVec<Field, NUM_FIELDS_PER_SHA256>,\n unencrypted_logs_preimages_length: Field,\n\n historical_header: Header,\n prover_address: AztecAddress,\n}\n\nimpl PublicContext {\n pub fn new(inputs: PublicContextInputs, args_hash: Field) -> PublicContext {\n let empty_storage_read = StorageRead::empty();\n let empty_storage_update = StorageUpdateRequest::empty();\n PublicContext {\n inputs: inputs,\n side_effect_counter: inputs.call_context.start_side_effect_counter,\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n contract_storage_update_requests: BoundedVec::new(empty_storage_update),\n contract_storage_reads: BoundedVec::new(empty_storage_read),\n public_call_stack_hashes: BoundedVec::new(0),\n\n new_commitments: BoundedVec::new(SideEffect::empty()),\n new_nullifiers: BoundedVec::new(SideEffectLinkedToNoteHash::empty()),\n\n new_l2_to_l1_msgs: BoundedVec::new(0),\n\n \n unencrypted_logs_hash: BoundedVec::new(0),\n unencrypted_logs_preimages_length: 0,\n\n historical_header: inputs.historical_header,\n prover_address: AztecAddress::zero(),\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n pub fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n pub fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n pub fn this_portal_address(self) -> EthAddress {\n self.inputs.call_context.portal_contract_address\n }\n\n pub fn chain_id(self) -> Field {\n self.inputs.public_global_variables.chain_id\n }\n\n pub fn version(self) -> Field {\n self.inputs.public_global_variables.version\n }\n\n pub fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n pub fn block_number(self) -> Field {\n self.inputs.public_global_variables.block_number\n }\n\n pub fn timestamp(self) -> Field {\n self.inputs.public_global_variables.timestamp\n }\n\n pub fn finish(self) -> PublicCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_log_preimages_length = 0;\n\n\n // Compute the public call stack hashes\n let pub_circuit_pub_inputs = PublicCircuitPublicInputs {\n call_context: self.inputs.call_context, // Done\n args_hash: self.args_hash, // Done\n contract_storage_update_requests: self.contract_storage_update_requests.storage,\n contract_storage_reads: self.contract_storage_reads.storage,\n return_values: self.return_values.storage,\n new_commitments: self.new_commitments.storage,\n new_nullifiers: self.new_nullifiers.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n unencrypted_logs_hash: unencrypted_logs_hash,\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\n historical_header: self.inputs.historical_header,\n prover_address: self.prover_address,\n };\n pub_circuit_pub_inputs\n }\n\n pub fn push_new_note_hash(&mut self, note_hash: Field) {\n let side_effect = SideEffect {\n value: note_hash,\n counter: self.side_effect_counter\n };\n self.new_commitments.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn push_new_nullifier(&mut self, nullifier: Field, _nullified_commitment: Field) {\n let side_effect = SideEffectLinkedToNoteHash {\n value: nullifier,\n note_hash: 0, // cannot nullify pending notes in public context\n counter: self.side_effect_counter\n };\n self.new_nullifiers.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn message_portal(&mut self, content: Field) {\n self.new_l2_to_l1_msgs.push(content);\n }\n\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\n pub fn consume_l1_to_l2_message(&mut self, msg_key: Field, content: Field, secret: Field) {\n let this = (*self).this_address();\n let nullifier = process_l1_to_l2_message(self.historical_header.state.l1_to_l2_message_tree.root, this, self.this_portal_address(), self.chain_id(), self.version(), msg_key, content, secret);\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, 0)\n }\n\n pub fn accumulate_encrypted_logs<N>(&mut self, log: [Field; N]) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn accumulate_unencrypted_logs<T>(&mut self, log: T) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\n _self: Self,\n contract_address: AztecAddress, \n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n call_public_function_internal(\n contract_address, \n function_selector, \n args_hash,\n )\n }\n\n pub fn call_public_function_no_args(\n _self: Self,\n contract_address: AztecAddress, \n function_selector: FunctionSelector,\n ) -> [Field; RETURN_VALUES_LENGTH] {\n call_public_function_internal(\n contract_address, \n function_selector, \n 0,\n )\n }\n\n}\n\nstruct Context {\n private: Option<&mut PrivateContext>,\n public: Option<&mut PublicContext>,\n}\n\nimpl Context {\n pub fn private(context: &mut PrivateContext) -> Context {\n Context {\n private: Option::some(context),\n public: Option::none()\n }\n }\n\n pub fn public(context: &mut PublicContext) -> Context {\n Context {\n public: Option::some(context),\n private: Option::none()\n }\n }\n\n pub fn none() -> Context {\n Context {\n public: Option::none(),\n private: Option::none()\n }\n }\n}\n",
3057
+ "65": {
3058
+ "source": "mod private;\nmod public;\nmod avm;\n\nuse public::PublicContext;\nuse private::PrivateContext;\nuse avm::AVMContext;\n\nstruct Context {\n private: Option<&mut PrivateContext>,\n public: Option<&mut PublicContext>,\n}\n\nimpl Context {\n pub fn private(context: &mut PrivateContext) -> Context {\n Context {\n private: Option::some(context),\n public: Option::none()\n }\n }\n\n pub fn public(context: &mut PublicContext) -> Context {\n Context {\n public: Option::some(context),\n private: Option::none()\n }\n }\n\n pub fn none() -> Context {\n Context {\n public: Option::none(),\n private: Option::none()\n }\n }\n}\n",
2826
3059
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/context.nr"
2827
3060
  },
2828
- "75": {
2829
- "source": "use crate::abi::PublicContextInputs;\nuse crate::context::{\n PrivateContext,\n PublicContext,\n};\nuse crate::note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n utils::compute_note_hash_for_read_or_nullify,\n};\nuse crate::oracle::notes::{notify_created_note, notify_nullified_note};\n\npub fn create_note<Note, N>(\n context: &mut PrivateContext,\n storage_slot: Field,\n note: &mut Note,\n note_interface: NoteInterface<Note, N>,\n broadcast: bool\n) {\n let contract_address = (*context).this_address();\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0, is_transient: true };\n let set_header = note_interface.set_header;\n set_header(note, header);\n // As `is_transient` is true, this will compute the inner note hsah\n let inner_note_hash = compute_note_hash_for_read_or_nullify(note_interface, *note);\n\n let serialize = note_interface.serialize;\n let serialized_note = serialize(*note);\n assert(notify_created_note(storage_slot, serialized_note, inner_note_hash) == 0);\n\n context.push_new_note_hash(inner_note_hash);\n\n if broadcast {\n let broadcast = note_interface.broadcast;\n broadcast(context, storage_slot, *note);\n }\n}\n\npub fn create_note_hash_from_public<Note, N>(\n context: &mut PublicContext,\n storage_slot: Field,\n note: &mut Note,\n note_interface: NoteInterface<Note, N>\n) {\n let contract_address = (*context).this_address();\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0, is_transient: true };\n let set_header = note_interface.set_header;\n set_header(note, header);\n let inner_note_hash = compute_note_hash_for_read_or_nullify(note_interface, *note);\n\n context.push_new_note_hash(inner_note_hash);\n}\n\npub fn destroy_note<Note, N>(\n context: &mut PrivateContext,\n note: Note,\n note_interface: NoteInterface<Note, N>\n) {\n let mut nullifier = 0;\n let mut nullified_commitment: Field = 0;\n let compute_nullifier = note_interface.compute_nullifier;\n nullifier = compute_nullifier(note, context);\n\n // We also need the note commitment corresponding to the \"nullifier\"\n let get_header = note_interface.get_header;\n let header = get_header(note);\n // `nullified_commitment` is used to inform the kernel which pending commitment\n // the nullifier corresponds to so they can be matched and both squashed/deleted.\n // nonzero nonce implies \"persistable\" nullifier (nullifies a persistent/in-tree\n // commitment) in which case `nullified_commitment` is not used since the kernel\n // just siloes and forwards the nullifier to its output.\n if (header.is_transient) {\n // TODO(1718): Can we reuse the note commitment computed in `compute_nullifier`?\n nullified_commitment = compute_note_hash_for_read_or_nullify(note_interface, note);\n }\n assert(notify_nullified_note(nullifier, nullified_commitment) == 0);\n\n context.push_new_nullifier(nullifier, nullified_commitment)\n}\n",
3061
+ "72": {
3062
+ "source": "use crate::context::{\n PrivateContext,\n PublicContext,\n};\nuse crate::note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n utils::{compute_note_hash_for_insertion, compute_note_hash_for_consumption},\n};\nuse crate::oracle::notes::{notify_created_note, notify_nullified_note};\n\npub fn create_note<Note, N>(\n context: &mut PrivateContext,\n storage_slot: Field,\n note: &mut Note,\n broadcast: bool\n) where Note: NoteInterface<N> {\n let contract_address = (*context).this_address();\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0, is_transient: true };\n // TODO: change this to note.setHeader(header) once https://github.com/noir-lang/noir/issues/4095 is fixed\n Note::set_header(note, header);\n // As `is_transient` is true, this will compute the inner note hsah\n let inner_note_hash = compute_note_hash_for_insertion(*note);\n\n // TODO: Strong typing required because of https://github.com/noir-lang/noir/issues/4088\n let serialized_note: [Field; N] = Note::serialize_content(*note);\n assert(notify_created_note(storage_slot, serialized_note, inner_note_hash) == 0);\n\n context.push_new_note_hash(inner_note_hash);\n\n if broadcast {\n Note::broadcast(*note, context, storage_slot);\n }\n}\n\npub fn create_note_hash_from_public<Note, N>(context: &mut PublicContext, storage_slot: Field, note: &mut Note) where Note: NoteInterface<N> {\n let contract_address = (*context).this_address();\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0, is_transient: true };\n // TODO: change this to note.setHeader(header) once https://github.com/noir-lang/noir/issues/4095 is fixed\n Note::set_header(note, header);\n let inner_note_hash = compute_note_hash_for_insertion(*note);\n\n context.push_new_note_hash(inner_note_hash);\n}\n\npub fn destroy_note<Note, N>(context: &mut PrivateContext, note: Note) where Note: NoteInterface<N> {\n let mut nullifier = 0;\n let mut consumed_note_hash: Field = 0;\n nullifier = note.compute_nullifier(context);\n\n // We also need the note hash corresponding to the \"nullifier\"\n let header = note.get_header();\n // `consumed_note_hash` is used to inform the kernel which pending note hash\n // the nullifier corresponds to so they can be matched and both squashed/deleted.\n // nonzero nonce implies \"persistable\" nullifier (nullifies a persistent/in-tree\n // note hash) in which case `consumed_note_hash` is not used since the kernel\n // just siloes and forwards the nullifier to its output.\n if (header.is_transient) {\n // TODO(1718): Can we reuse the note hash computed in `compute_nullifier`?\n consumed_note_hash = compute_note_hash_for_consumption(note);\n }\n assert(notify_nullified_note(nullifier, consumed_note_hash) == 0);\n\n context.push_new_nullifier(nullifier, consumed_note_hash)\n}\n",
2830
3063
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/note/lifecycle.nr"
2831
3064
  },
2832
- "76": {
2833
- "source": "use crate::{\n context::PrivateContext,\n note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n },\n utils::arr_copy_slice,\n};\n\nuse dep::protocol_types::{\n address::AztecAddress,\n constants::{\n GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__UNIQUE_COMMITMENT,\n GENERATOR_INDEX__SILOED_COMMITMENT,\n },\n hash::pedersen_hash,\n};\n\nfn compute_inner_hash(storage_slot: Field, note_hash: Field) -> Field {\n // TODO(#1205) Do we need a generator index here?\n pedersen_hash([storage_slot, note_hash], 0)\n}\n\nfn compute_siloed_hash(contract_address: AztecAddress, inner_note_hash: Field) -> Field {\n let inputs = [contract_address.to_field(), inner_note_hash];\n pedersen_hash(inputs, GENERATOR_INDEX__SILOED_COMMITMENT)\n}\n\nfn compute_unique_hash(nonce: Field, siloed_note_hash: Field) -> Field {\n let inputs = [nonce, siloed_note_hash];\n pedersen_hash(inputs, GENERATOR_INDEX__UNIQUE_COMMITMENT)\n}\n\nfn compute_inner_note_hash<Note, N>(note_interface: NoteInterface<Note, N>, note: Note) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note);\n\n let compute_note_hash = note_interface.compute_note_hash;\n let note_hash = compute_note_hash(note);\n\n compute_inner_hash(header.storage_slot, note_hash)\n}\n\nfn compute_siloed_note_hash<Note, N>(note_interface: NoteInterface<Note, N>, note_with_header: Note) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n let inner_note_hash = compute_inner_note_hash(note_interface, note_with_header);\n\n compute_siloed_hash(header.contract_address, inner_note_hash)\n}\n\nfn compute_unique_siloed_note_hash<Note, N>(note_interface: NoteInterface<Note, N>, note_with_header: Note) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n let siloed_note_hash = compute_siloed_note_hash(note_interface, note_with_header);\n\n compute_unique_hash(header.nonce, siloed_note_hash)\n}\n\npub fn compute_siloed_nullifier<Note, N>(\n note_interface: NoteInterface<Note, N>,\n note_with_header: Note,\n context: &mut PrivateContext\n) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n let compute_nullifier = note_interface.compute_nullifier;\n let inner_nullifier = compute_nullifier(note_with_header, context);\n\n let input = [header.contract_address.to_field(), inner_nullifier];\n pedersen_hash(input, GENERATOR_INDEX__OUTER_NULLIFIER)\n}\n\npub fn compute_note_hash_for_read_or_nullify<Note, N>(note_interface: NoteInterface<Note, N>, note_with_header: Note) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386)\n if (header.is_transient) {\n // If a note is transient, we just read the inner_note_hash (kernel will silo by contract address).\n compute_inner_note_hash(note_interface, note_with_header)\n } else if (header.nonce == 0) {\n // If not transient and nonce is zero, that means we are reading a public note.\n compute_siloed_note_hash(note_interface, note_with_header)\n } else {\n // When nonce is nonzero, that means we are reading a settled note (from tree) created in a\n // previous TX. So we need the unique_siloed_note_hash which has already been hashed with\n // contract address and then nonce. This hash will match the existing leaf in the private\n // data tree, so the kernel can just perform a membership check directly on this hash/leaf.\n compute_unique_siloed_note_hash(note_interface, note_with_header)\n }\n}\n\npub fn compute_note_hash_and_nullifier<Note, N, S>(\n note_interface: NoteInterface<Note, N>,\n note_header: NoteHeader,\n serialized_note: [Field; S]\n) -> [Field; 4] {\n let deserialize = note_interface.deserialize;\n let set_header = note_interface.set_header;\n let mut note = deserialize(arr_copy_slice(serialized_note, [0; N], 0));\n set_header(&mut note, note_header);\n\n let compute_note_hash = note_interface.compute_note_hash;\n let note_hash = compute_note_hash(note);\n let inner_note_hash = compute_inner_hash(note_header.storage_slot, note_hash);\n\n let siloed_note_hash = compute_siloed_hash(note_header.contract_address, inner_note_hash);\n\n let unique_siloed_note_hash = compute_unique_hash(note_header.nonce, siloed_note_hash);\n\n let compute_nullifier_without_context = note_interface.compute_nullifier_without_context;\n let inner_nullifier = compute_nullifier_without_context(note);\n\n [inner_note_hash, siloed_note_hash, unique_siloed_note_hash, inner_nullifier]\n}\n",
3065
+ "73": {
3066
+ "source": "use crate::{\n context::PrivateContext,\n note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n },\n utils::arr_copy_slice,\n};\n\nuse dep::protocol_types::{\n address::AztecAddress,\n constants::{\n GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__UNIQUE_COMMITMENT,\n GENERATOR_INDEX__SILOED_COMMITMENT,\n },\n hash::pedersen_hash,\n};\n\nfn compute_siloed_hash(contract_address: AztecAddress, inner_note_hash: Field) -> Field {\n let inputs = [contract_address.to_field(), inner_note_hash];\n pedersen_hash(inputs, GENERATOR_INDEX__SILOED_COMMITMENT)\n}\n\nfn compute_unique_hash(nonce: Field, siloed_note_hash: Field) -> Field {\n let inputs = [nonce, siloed_note_hash];\n pedersen_hash(inputs, GENERATOR_INDEX__UNIQUE_COMMITMENT)\n}\n\nfn compute_inner_note_hash<Note, N>(note: Note) -> Field where Note: NoteInterface<N> {\n let header = note.get_header();\n let note_hash = note.compute_note_content_hash();\n\n // TODO(#1205) Do we need a generator index here?\n pedersen_hash([header.storage_slot, note_hash], 0)\n}\n\nfn compute_siloed_note_hash<Note, N>(note_with_header: Note) -> Field where Note: NoteInterface<N> {\n let header = note_with_header.get_header();\n\n let inner_note_hash = compute_inner_note_hash(note_with_header);\n\n compute_siloed_hash(header.contract_address, inner_note_hash)\n}\n\nfn compute_unique_siloed_note_hash<Note, N>(note_with_header: Note) -> Field where Note: NoteInterface<N> {\n let header = note_with_header.get_header();\n\n let siloed_note_hash = compute_siloed_note_hash(note_with_header);\n\n compute_unique_hash(header.nonce, siloed_note_hash)\n}\n\npub fn compute_siloed_nullifier<Note, N>(\n note_with_header: Note,\n context: &mut PrivateContext\n) -> Field where Note: NoteInterface<N> {\n let header = note_with_header.get_header();\n let inner_nullifier = note_with_header.compute_nullifier(context);\n\n let input = [header.contract_address.to_field(), inner_nullifier];\n pedersen_hash(input, GENERATOR_INDEX__OUTER_NULLIFIER)\n}\n\npub fn compute_note_hash_for_insertion<Note, N>(note: Note) -> Field where Note: NoteInterface<N> {\n compute_inner_note_hash(note)\n}\n\npub fn compute_note_hash_for_consumption<Note, N>(note: Note) -> Field where Note: NoteInterface<N> {\n let header = note.get_header();\n // There are 3 cases for reading a note intended for consumption:\n // 1. The note was inserted in this transaction, and is transient.\n // 2. The note was inserted in a previous transaction, and was inserted in public\n // 3. The note was inserted in a previous transaction, and was inserted in private\n\n if (header.is_transient) {\n // If a note is transient, we just read the inner_note_hash (kernel will silo by contract address).\n compute_inner_note_hash(note)\n } else if (header.nonce == 0) {\n // If not transient and nonce is zero, that means we are reading a public note.\n compute_siloed_note_hash(note)\n } else {\n // When nonce is nonzero, that means we are reading a settled note (from tree) created in a\n // previous TX. So we need the unique_siloed_note_hash which has already been hashed with\n // contract address and then nonce. This hash will match the existing leaf in the private\n // data tree, so the kernel can just perform a membership check directly on this hash/leaf.\n compute_unique_siloed_note_hash(note)\n }\n}\n\npub fn compute_note_hash_and_nullifier<T, N, S>(\n deserialize_content: fn([Field; N]) -> T,\n note_header: NoteHeader,\n serialized_note: [Field; S]\n) -> [Field; 4] where T: NoteInterface<N> {\n let mut note = deserialize_content(arr_copy_slice(serialized_note, [0; N], 0));\n // TODO: change this to note.setHeader(header) once https://github.com/noir-lang/noir/issues/4095 is fixed\n T::set_header((&mut note), note_header);\n\n let inner_note_hash = compute_inner_note_hash(note);\n\n let siloed_note_hash = compute_siloed_hash(note_header.contract_address, inner_note_hash);\n\n let unique_siloed_note_hash = compute_unique_hash(note_header.nonce, siloed_note_hash);\n\n let inner_nullifier = note.compute_nullifier_without_context();\n\n [inner_note_hash, siloed_note_hash, unique_siloed_note_hash, inner_nullifier]\n}\n",
2834
3067
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/note/utils.nr"
2835
3068
  },
2836
- "80": {
2837
- "source": "use dep::std::option::Option;\nuse dep::protocol_types::constants::{\n MAX_READ_REQUESTS_PER_CALL,\n GET_NOTE_ORACLE_RETURN_LENGTH,\n GET_NOTES_ORACLE_RETURN_LENGTH,\n MAX_NOTES_PER_PAGE,\n VIEW_NOTE_ORACLE_RETURN_LENGTH,\n};\nuse crate::context::PrivateContext;\nuse crate::note::{\n note_getter_options::{NoteGetterOptions, Select, Sort, SortOrder, Comparator},\n note_interface::NoteInterface,\n note_viewer_options::NoteViewerOptions,\n utils::compute_note_hash_for_read_or_nullify,\n};\nuse crate::oracle;\nuse crate::types::vec::BoundedVec;\n\nfn check_note_header<Note, N>(\n context: PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n note: Note\n) {\n let get_header = note_interface.get_header;\n let header = get_header(note);\n let contract_address = context.this_address();\n assert(header.contract_address.eq(contract_address));\n assert(header.storage_slot == storage_slot);\n}\n\nfn check_note_fields<N>(fields: [Field; N], selects: BoundedVec<Option<Select>, N>) {\n for i in 0..selects.len {\n let select = selects.get_unchecked(i).unwrap_unchecked();\n\n // Values are computed ahead of time because circuits evaluate all branches\n let isEqual = fields[select.field_index] == select.value;\n let isLt = fields[select.field_index].lt(select.value);\n\n if (select.comparator == Comparator.EQ) {\n assert(isEqual, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.NEQ) {\n assert(!isEqual, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.LT) {\n assert(isLt, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.LTE) {\n assert(isLt | isEqual, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.GT) {\n assert(!isLt & !isEqual, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.GTE) {\n assert(!isLt, \"Mismatch return note field.\");\n }\n }\n}\n\nfn check_notes_order<N>(\n fields_0: [Field; N],\n fields_1: [Field; N],\n sorts: BoundedVec<Option<Sort>, N>\n) {\n for i in 0..sorts.len {\n let sort = sorts.get_unchecked(i).unwrap_unchecked();\n let eq = fields_0[sort.field_index] == fields_1[sort.field_index];\n let lt = fields_0[sort.field_index] as u120 < fields_1[sort.field_index] as u120;\n if sort.order == SortOrder.ASC {\n assert(eq | lt, \"Return notes not sorted in ascending order.\");\n } else if !eq {\n assert(!lt, \"Return notes not sorted in descending order.\");\n }\n }\n}\n\npub fn get_note<Note, N>(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>\n) -> Note {\n let note = get_note_internal(storage_slot, note_interface);\n\n check_note_header(*context, storage_slot, note_interface, note);\n\n let note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, note);\n\n context.push_read_request(note_hash_for_read_request);\n note\n}\n\npub fn get_notes<Note, N, FILTER_ARGS>(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n options: NoteGetterOptions<Note, N, FILTER_ARGS>\n) -> [Option<Note>; MAX_READ_REQUESTS_PER_CALL] {\n let opt_notes = get_notes_internal(storage_slot, note_interface, options);\n let mut num_notes = 0;\n let mut prev_fields = [0; N];\n for i in 0..opt_notes.len() {\n let opt_note = opt_notes[i];\n if opt_note.is_some() {\n let note = opt_note.unwrap_unchecked();\n let serialize = note_interface.serialize;\n let fields = serialize(note);\n check_note_header(*context, storage_slot, note_interface, note);\n check_note_fields(fields, options.selects);\n if i != 0 {\n check_notes_order(prev_fields, fields, options.sorts);\n }\n prev_fields = fields;\n\n let note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, note);\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1410): test to ensure\n // failure if malicious oracle injects 0 nonce here for a \"pre-existing\" note.\n context.push_read_request(note_hash_for_read_request);\n\n num_notes += 1;\n };\n }\n if options.limit != 0 {\n assert(num_notes <= options.limit, \"Invalid number of return notes.\");\n }\n opt_notes\n}\n\nunconstrained fn get_note_internal<Note, N>(storage_slot: Field, note_interface: NoteInterface<Note, N>) -> Note {\n let placeholder_note = [Option::none()];\n let placeholder_fields = [0; GET_NOTE_ORACLE_RETURN_LENGTH];\n oracle::notes::get_notes(\n storage_slot,\n note_interface,\n 0,\n [],\n [],\n [],\n [],\n [],\n 1, // limit\n 0, // offset\n placeholder_note,\n placeholder_fields\n )[0].unwrap() // Notice: we don't allow dummies to be returned from get_note (singular).\n}\n\nunconstrained fn get_notes_internal<Note, N, FILTER_ARGS>(\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n options: NoteGetterOptions<Note, N, FILTER_ARGS>\n) -> [Option<Note>; MAX_READ_REQUESTS_PER_CALL] {\n let (num_selects, select_by, select_values, select_comparators, sort_by, sort_order) = flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_READ_REQUESTS_PER_CALL];\n let placeholder_fields = [0; GET_NOTES_ORACLE_RETURN_LENGTH];\n let opt_notes = oracle::notes::get_notes(\n storage_slot,\n note_interface,\n num_selects,\n select_by,\n select_values,\n select_comparators,\n sort_by,\n sort_order,\n options.limit,\n options.offset,\n placeholder_opt_notes,\n placeholder_fields\n );\n\n let filter = options.filter;\n let filter_args = options.filter_args;\n filter(opt_notes, filter_args)\n}\n\nunconstrained pub fn view_notes<Note, N>(\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n options: NoteViewerOptions<Note, N>\n) -> [Option<Note>; MAX_NOTES_PER_PAGE] {\n let (num_selects, select_by, select_values, select_comparators, sort_by, sort_order) = flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_NOTES_PER_PAGE];\n let placeholder_fields = [0; VIEW_NOTE_ORACLE_RETURN_LENGTH];\n oracle::notes::get_notes(\n storage_slot,\n note_interface,\n num_selects,\n select_by,\n select_values,\n select_comparators,\n sort_by,\n sort_order,\n options.limit,\n options.offset,\n placeholder_opt_notes,\n placeholder_fields\n )\n}\n\nunconstrained fn flatten_options<Note, N>(\n selects: BoundedVec<Option<Select>, N>,\n sorts: BoundedVec<Option<Sort>, N>\n) -> (u8, [u8; N], [Field; N], [u3; N], [u8; N], [u2; N]) {\n let mut num_selects = 0;\n let mut select_by = [0; N];\n let mut select_values = [0; N];\n let mut select_comparators = [0; N];\n\n for i in 0..selects.len {\n let select = selects.get(i);\n if select.is_some() {\n select_by[num_selects] = select.unwrap_unchecked().field_index;\n select_values[num_selects] = select.unwrap_unchecked().value;\n select_comparators[num_selects] = select.unwrap_unchecked().comparator;\n num_selects += 1;\n };\n }\n\n let mut sort_by = [0; N];\n let mut sort_order = [0; N];\n for i in 0..sorts.len {\n let sort = sorts.get(i);\n if sort.is_some() {\n sort_by[i] = sort.unwrap_unchecked().field_index;\n sort_order[i] = sort.unwrap_unchecked().order;\n };\n }\n\n (num_selects, select_by, select_values, select_comparators, sort_by, sort_order)\n}\n",
3069
+ "74": {
3070
+ "source": "use dep::protocol_types::address::AztecAddress;\nuse dep::protocol_types::traits::Empty;\n\nstruct NoteHeader {\n contract_address: AztecAddress,\n nonce: Field,\n storage_slot: Field,\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386)\n // Remove this and check the nonce to see whether a note is transient or not.\n is_transient: bool,\n}\n\nimpl Empty for NoteHeader {\n fn empty() -> Self {\n NoteHeader { contract_address: AztecAddress::zero(), nonce: 0, storage_slot: 0, is_transient: false }\n }\n}\n\nimpl NoteHeader {\n pub fn new(contract_address: AztecAddress, nonce: Field, storage_slot: Field) -> Self {\n NoteHeader { contract_address, nonce, storage_slot, is_transient: false }\n }\n}\n",
3071
+ "path": "/usr/src/yarn-project/aztec-nr/aztec/src/note/note_header.nr"
3072
+ },
3073
+ "77": {
3074
+ "source": "use dep::std::option::Option;\nuse dep::protocol_types::{\n constants::{\n MAX_READ_REQUESTS_PER_CALL,\n GET_NOTE_ORACLE_RETURN_LENGTH,\n GET_NOTES_ORACLE_RETURN_LENGTH,\n MAX_NOTES_PER_PAGE,\n VIEW_NOTE_ORACLE_RETURN_LENGTH,\n },\n};\nuse crate::context::PrivateContext;\nuse crate::note::{\n note_getter_options::{NoteGetterOptions, Select, Sort, SortOrder, Comparator, NoteStatus},\n note_interface::NoteInterface,\n note_viewer_options::NoteViewerOptions,\n utils::compute_note_hash_for_consumption,\n};\nuse crate::oracle;\n\nfn check_note_header<Note, N>(\n context: PrivateContext,\n storage_slot: Field,\n note: Note\n) where Note: NoteInterface<N> {\n let header = note.get_header();\n let contract_address = context.this_address();\n assert(header.contract_address.eq(contract_address));\n assert(header.storage_slot == storage_slot);\n}\n\nfn check_note_fields<N>(fields: [Field; N], selects: BoundedVec<Option<Select>, N>) {\n for i in 0..selects.len {\n let select = selects.get_unchecked(i).unwrap_unchecked();\n\n // Values are computed ahead of time because circuits evaluate all branches\n let isEqual = fields[select.field_index] == select.value;\n let isLt = fields[select.field_index].lt(select.value);\n\n if (select.comparator == Comparator.EQ) {\n assert(isEqual, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.NEQ) {\n assert(!isEqual, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.LT) {\n assert(isLt, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.LTE) {\n assert(isLt | isEqual, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.GT) {\n assert(!isLt & !isEqual, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.GTE) {\n assert(!isLt, \"Mismatch return note field.\");\n }\n }\n}\n\nfn check_notes_order<N>(\n fields_0: [Field; N],\n fields_1: [Field; N],\n sorts: BoundedVec<Option<Sort>, N>\n) {\n for i in 0..sorts.len {\n let sort = sorts.get_unchecked(i).unwrap_unchecked();\n let eq = fields_0[sort.field_index] == fields_1[sort.field_index];\n let lt = fields_0[sort.field_index] as u120 < fields_1[sort.field_index] as u120;\n if sort.order == SortOrder.ASC {\n assert(eq | lt, \"Return notes not sorted in ascending order.\");\n } else if !eq {\n assert(!lt, \"Return notes not sorted in descending order.\");\n }\n }\n}\n\npub fn get_note<Note, N>(\n context: &mut PrivateContext,\n storage_slot: Field\n) -> Note where Note: NoteInterface<N> {\n let note = get_note_internal(storage_slot);\n\n check_note_header(*context, storage_slot, note);\n\n let note_hash_for_read_request = compute_note_hash_for_consumption(note);\n\n context.push_read_request(note_hash_for_read_request);\n note\n}\n\npub fn get_notes<Note, N, FILTER_ARGS>(\n context: &mut PrivateContext,\n storage_slot: Field,\n options: NoteGetterOptions<Note, N, FILTER_ARGS>\n) -> [Option<Note>; MAX_READ_REQUESTS_PER_CALL] where Note: NoteInterface<N> {\n let opt_notes = get_notes_internal(storage_slot, options);\n let mut num_notes = 0;\n let mut prev_fields = [0; N];\n for i in 0..opt_notes.len() {\n let opt_note = opt_notes[i];\n if opt_note.is_some() {\n let note = opt_note.unwrap_unchecked();\n let fields = note.serialize_content();\n check_note_header(*context, storage_slot, note);\n check_note_fields(fields, options.selects);\n if i != 0 {\n check_notes_order(prev_fields, fields, options.sorts);\n }\n prev_fields = fields;\n\n let note_hash_for_read_request = compute_note_hash_for_consumption(note);\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1410): test to ensure\n // failure if malicious oracle injects 0 nonce here for a \"pre-existing\" note.\n context.push_read_request(note_hash_for_read_request);\n\n num_notes += 1;\n };\n }\n if options.limit != 0 {\n assert(num_notes <= options.limit, \"Invalid number of return notes.\");\n }\n opt_notes\n}\n\nunconstrained fn get_note_internal<Note, N>(storage_slot: Field) -> Note where Note: NoteInterface<N> {\n let placeholder_note = [Option::none()];\n let placeholder_fields = [0; GET_NOTE_ORACLE_RETURN_LENGTH];\n let placeholder_note_length = [0; N];\n oracle::notes::get_notes(\n storage_slot,\n 0,\n [],\n [],\n [],\n [],\n [],\n 1, // limit\n 0, // offset\n NoteStatus.ACTIVE,\n placeholder_note,\n placeholder_fields,\n placeholder_note_length\n )[0].unwrap() // Notice: we don't allow dummies to be returned from get_note (singular).\n}\n\nunconstrained fn get_notes_internal<Note, N, FILTER_ARGS>(\n storage_slot: Field,\n options: NoteGetterOptions<Note, N, FILTER_ARGS>\n) -> [Option<Note>; MAX_READ_REQUESTS_PER_CALL] where Note: NoteInterface<N> {\n let (num_selects, select_by, select_values, select_comparators, sort_by, sort_order) = flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_READ_REQUESTS_PER_CALL];\n let placeholder_fields = [0; GET_NOTES_ORACLE_RETURN_LENGTH];\n let placeholder_note_length = [0; N];\n let opt_notes = oracle::notes::get_notes(\n storage_slot,\n num_selects,\n select_by,\n select_values,\n select_comparators,\n sort_by,\n sort_order,\n options.limit,\n options.offset,\n options.status,\n placeholder_opt_notes,\n placeholder_fields,\n placeholder_note_length\n );\n\n let filter = options.filter;\n let filter_args = options.filter_args;\n filter(opt_notes, filter_args)\n}\n\nunconstrained pub fn view_notes<Note, N>(\n storage_slot: Field,\n options: NoteViewerOptions<Note, N>\n) -> [Option<Note>; MAX_NOTES_PER_PAGE] where Note: NoteInterface<N> {\n let (num_selects, select_by, select_values, select_comparators, sort_by, sort_order) = flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_NOTES_PER_PAGE];\n let placeholder_fields = [0; VIEW_NOTE_ORACLE_RETURN_LENGTH];\n let placeholder_note_length = [0; N];\n oracle::notes::get_notes(\n storage_slot,\n num_selects,\n select_by,\n select_values,\n select_comparators,\n sort_by,\n sort_order,\n options.limit,\n options.offset,\n options.status,\n placeholder_opt_notes,\n placeholder_fields,\n placeholder_note_length\n )\n}\n\nunconstrained fn flatten_options<Note, N>(\n selects: BoundedVec<Option<Select>, N>,\n sorts: BoundedVec<Option<Sort>, N>\n) -> (u8, [u8; N], [Field; N], [u3; N], [u8; N], [u2; N]) {\n let mut num_selects = 0;\n let mut select_by = [0; N];\n let mut select_values = [0; N];\n let mut select_comparators = [0; N];\n\n for i in 0..selects.len {\n let select = selects.get(i);\n if select.is_some() {\n select_by[num_selects] = select.unwrap_unchecked().field_index;\n select_values[num_selects] = select.unwrap_unchecked().value;\n select_comparators[num_selects] = select.unwrap_unchecked().comparator;\n num_selects += 1;\n };\n }\n\n let mut sort_by = [0; N];\n let mut sort_order = [0; N];\n for i in 0..sorts.len {\n let sort = sorts.get(i);\n if sort.is_some() {\n sort_by[i] = sort.unwrap_unchecked().field_index;\n sort_order[i] = sort.unwrap_unchecked().order;\n };\n }\n\n (num_selects, select_by, select_values, select_comparators, sort_by, sort_order)\n}\n",
2838
3075
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/note/note_getter.nr"
2839
3076
  },
2840
- "83": {
2841
- "source": "use dep::std::option::Option;\nuse crate::note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n};\nuse crate::utils::arr_copy_slice;\n\nuse dep::protocol_types::address::AztecAddress;\n\n#[oracle(notifyCreatedNote)]\nfn notify_created_note_oracle<N>(_storage_slot: Field, _serialized_note: [Field; N], _inner_note_hash: Field) -> Field {}\n\nunconstrained pub fn notify_created_note<N>(storage_slot: Field, serialized_note: [Field; N], inner_note_hash: Field) -> Field {\n notify_created_note_oracle(storage_slot, serialized_note, inner_note_hash)\n}\n\n#[oracle(notifyNullifiedNote)]\nfn notify_nullified_note_oracle<N>(_nullifier: Field, _inner_note_hash: Field) -> Field {}\n\nunconstrained pub fn notify_nullified_note<N>(nullifier: Field, inner_note_hash: Field) -> Field {\n notify_nullified_note_oracle(nullifier, inner_note_hash)\n}\n\n#[oracle(getNotes)]\nfn get_notes_oracle<N, S>(\n _storage_slot: Field,\n _num_selects: u8,\n _select_by: [u8; N],\n _select_values: [Field; N],\n _select_comparators: [u3; N],\n _sort_by: [u8; N],\n _sort_order: [u2; N],\n _limit: u32,\n _offset: u32,\n _return_size: u32,\n _placeholder_fields: [Field; S]\n) -> [Field; S] {}\n\nunconstrained fn get_notes_oracle_wrapper<N, S>(\n storage_slot: Field,\n num_selects: u8,\n select_by: [u8; N],\n select_values: [Field; N],\n select_comparators: [u3; N],\n sort_by: [u8; N],\n sort_order: [u2; N],\n limit: u32,\n offset: u32,\n mut placeholder_fields: [Field; S]\n) -> [Field; S] {\n let return_size = placeholder_fields.len() as u32;\n get_notes_oracle(\n storage_slot,\n num_selects,\n select_by,\n select_values,\n select_comparators,\n sort_by,\n sort_order,\n limit,\n offset,\n return_size,\n placeholder_fields\n )\n}\n\nunconstrained pub fn get_notes<Note, N, M, S, NS>(\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n num_selects: u8,\n select_by: [u8; M],\n select_values: [Field; M],\n select_comparators: [u3; M],\n sort_by: [u8; M],\n sort_order: [u2; M],\n limit: u32,\n offset: u32,\n mut placeholder_opt_notes: [Option<Note>; S], // TODO: Remove it and use `limit` to initialize the note array.\n placeholder_fields: [Field; NS] // TODO: Remove it and use `limit` to initialize the note array.\n) -> [Option<Note>; S] {\n let fields = get_notes_oracle_wrapper(\n storage_slot,\n num_selects,\n select_by,\n select_values,\n select_comparators,\n sort_by,\n sort_order,\n limit,\n offset,\n placeholder_fields\n );\n let num_notes = fields[0] as u32;\n let contract_address = AztecAddress::from_field(fields[1]);\n let deserialize = note_interface.deserialize;\n let set_header = note_interface.set_header;\n for i in 0..placeholder_opt_notes.len() {\n if i as u32 < num_notes {\n // lengths named as per typescript.\n let return_header_length: Field = 2; // num_notes & contract_address.\n let extra_preimage_length: Field = 2; // nonce & is_transient.\n let read_offset: Field = return_header_length + i * (N + extra_preimage_length);\n let nonce = fields[read_offset];\n let is_transient = fields[read_offset + 1] as bool;\n let header = NoteHeader { contract_address, nonce, storage_slot, is_transient };\n let serialized_note = arr_copy_slice(fields, [0; N], read_offset + 2);\n let mut note = deserialize(serialized_note);\n set_header(&mut note, header);\n placeholder_opt_notes[i] = Option::some(note);\n };\n }\n placeholder_opt_notes\n}\n\n#[oracle(checkNullifierExists)]\nfn check_nullifier_exists_oracle(_inner_nullifier: Field) -> Field {}\n\nunconstrained pub fn check_nullifier_exists(inner_nullifier: Field) -> bool {\n check_nullifier_exists_oracle(inner_nullifier) == 1\n}\n",
3077
+ "80": {
3078
+ "source": "use dep::std::option::Option;\nuse crate::note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n};\nuse crate::utils::arr_copy_slice;\n\nuse dep::protocol_types::{\n address::AztecAddress,\n};\n\n#[oracle(notifyCreatedNote)]\nfn notify_created_note_oracle<N>(_storage_slot: Field, _serialized_note: [Field; N], _inner_note_hash: Field) -> Field {}\n\nunconstrained pub fn notify_created_note<N>(storage_slot: Field, serialized_note: [Field; N], inner_note_hash: Field) -> Field {\n notify_created_note_oracle(storage_slot, serialized_note, inner_note_hash)\n}\n\n#[oracle(notifyNullifiedNote)]\nfn notify_nullified_note_oracle<N>(_nullifier: Field, _inner_note_hash: Field) -> Field {}\n\nunconstrained pub fn notify_nullified_note<N>(nullifier: Field, inner_note_hash: Field) -> Field {\n notify_nullified_note_oracle(nullifier, inner_note_hash)\n}\n\n#[oracle(getNotes)]\nfn get_notes_oracle<N, S>(\n _storage_slot: Field,\n _num_selects: u8,\n _select_by: [u8; N],\n _select_values: [Field; N],\n _select_comparators: [u3; N],\n _sort_by: [u8; N],\n _sort_order: [u2; N],\n _limit: u32,\n _offset: u32,\n _status: u2,\n _return_size: u32,\n _placeholder_fields: [Field; S]\n) -> [Field; S] {}\n\nunconstrained fn get_notes_oracle_wrapper<N, S>(\n storage_slot: Field,\n num_selects: u8,\n select_by: [u8; N],\n select_values: [Field; N],\n select_comparators: [u3; N],\n sort_by: [u8; N],\n sort_order: [u2; N],\n limit: u32,\n offset: u32,\n status: u2,\n mut placeholder_fields: [Field; S]\n) -> [Field; S] {\n let return_size = placeholder_fields.len() as u32;\n get_notes_oracle(\n storage_slot,\n num_selects,\n select_by,\n select_values,\n select_comparators,\n sort_by,\n sort_order,\n limit,\n offset,\n status,\n return_size,\n placeholder_fields\n )\n}\n\nunconstrained pub fn get_notes<Note, N, M, S, NS>(\n storage_slot: Field,\n num_selects: u8,\n select_by: [u8; M],\n select_values: [Field; M],\n select_comparators: [u3; M],\n sort_by: [u8; M],\n sort_order: [u2; M],\n limit: u32,\n offset: u32,\n status: u2,\n mut placeholder_opt_notes: [Option<Note>; S], // TODO: Remove it and use `limit` to initialize the note array.\n placeholder_fields: [Field; NS], // TODO: Remove it and use `limit` to initialize the note array.\n _placeholder_note_length: [Field; N] // Turbofish hack? Compiler breaks calculating read_offset unless we add this parameter\n) -> [Option<Note>; S] where Note: NoteInterface<N> {\n let fields = get_notes_oracle_wrapper(\n storage_slot,\n num_selects,\n select_by,\n select_values,\n select_comparators,\n sort_by,\n sort_order,\n limit,\n offset,\n status,\n placeholder_fields\n );\n let num_notes = fields[0] as u32;\n let contract_address = AztecAddress::from_field(fields[1]);\n for i in 0..placeholder_opt_notes.len() {\n if i as u32 < num_notes {\n // lengths named as per typescript.\n let return_header_length: Field = 2; // num_notes & contract_address.\n let extra_preimage_length: Field = 2; // nonce & is_transient.\n let read_offset: Field = return_header_length + i * (N + extra_preimage_length);\n let nonce = fields[read_offset];\n let is_transient = fields[read_offset + 1] as bool;\n let header = NoteHeader { contract_address, nonce, storage_slot, is_transient };\n let serialized_note = arr_copy_slice(fields, [0; N], read_offset + 2);\n let mut note = Note::deserialize_content(serialized_note);\n // TODO: change this to note.setHeader(header) once https://github.com/noir-lang/noir/issues/4095 is fixed\n Note::set_header(&mut note, header);\n placeholder_opt_notes[i] = Option::some(note);\n };\n }\n placeholder_opt_notes\n}\n\n#[oracle(checkNullifierExists)]\nfn check_nullifier_exists_oracle(_inner_nullifier: Field) -> Field {}\n\nunconstrained pub fn check_nullifier_exists(inner_nullifier: Field) -> bool {\n check_nullifier_exists_oracle(inner_nullifier) == 1\n}\n",
2842
3079
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/notes.nr"
2843
3080
  },
2844
- "84": {
3081
+ "81": {
2845
3082
  "source": "use dep::protocol_types::{\n abis::function_selector::FunctionSelector,\n address::AztecAddress,\n};\n\n// contract_address + \n// args_hash +\n// crate::abi::FUNCTION_DATA_SIZE +\n// crate::abi::CALL_CONTEXT_SIZE\n// = 2 + 4 + 8\nglobal ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE: Field = 14;\n\n#[oracle(enqueuePublicFunctionCall)]\nfn enqueue_public_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE] {}\n\nunconstrained pub fn enqueue_public_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE] {\n enqueue_public_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter\n )\n}\n",
2846
3083
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr"
2847
3084
  },
2848
- "89": {
3085
+ "86": {
2849
3086
  "source": "use dep::protocol_types::{\n address::AztecAddress,\n grumpkin_point::GrumpkinPoint,\n grumpkin_private_key::GrumpkinPrivateKey,\n};\n\nstruct NullifierKeyPair {\n account: AztecAddress,\n public_key: GrumpkinPoint,\n secret_key: GrumpkinPrivateKey,\n}\n\n#[oracle(getNullifierKeyPair)]\nfn get_nullifier_key_pair_oracle(_account: AztecAddress) -> [Field; 4] {}\n\nunconstrained fn get_nullifier_key_pair_internal(account: AztecAddress) -> NullifierKeyPair {\n let result = get_nullifier_key_pair_oracle(account);\n NullifierKeyPair {\n account,\n public_key: GrumpkinPoint { x: result[0], y: result[1] },\n secret_key: GrumpkinPrivateKey { high: result[2], low: result[3] }\n }\n}\n\npub fn get_nullifier_key_pair(account: AztecAddress) -> NullifierKeyPair {\n get_nullifier_key_pair_internal(account)\n}\n\npub fn get_nullifier_secret_key(account: AztecAddress) -> GrumpkinPrivateKey {\n get_nullifier_key_pair_internal(account).secret_key\n}\n",
2850
3087
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/nullifier_key.nr"
2851
3088
  },
2852
- "91": {
2853
- "source": "use dep::protocol_types::{\n abis::function_selector::FunctionSelector,\n address::AztecAddress,\n constants::CALL_PRIVATE_FUNCTION_RETURN_SIZE,\n};\n\n#[oracle(callPrivateFunction)]\nfn call_private_function_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _start_side_effect_counter: u32\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {}\n\nunconstrained pub fn call_private_function_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n start_side_effect_counter: u32\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {\n call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter\n )\n}\n",
3089
+ "88": {
3090
+ "source": "use dep::protocol_types::{\n abis::{\n function_selector::FunctionSelector,\n private_call_stack_item::PrivateCallStackItem,\n },\n address::AztecAddress,\n constants::PRIVATE_CALL_STACK_ITEM_LENGTH,\n};\n\n#[oracle(callPrivateFunction)]\nfn call_private_function_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _start_side_effect_counter: u32\n) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {}\n\nunconstrained pub fn call_private_function_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n start_side_effect_counter: u32\n) -> PrivateCallStackItem {\n let fields = call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter\n );\n\n PrivateCallStackItem::deserialize(fields)\n}\n",
2854
3091
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/call_private_function.nr"
2855
3092
  },
2856
- "97": {
2857
- "source": "#[oracle(storageRead)]\nfn storage_read_oracle<N>(_storage_slot: Field, _number_of_elements: Field) -> [Field; N] {}\n\nunconstrained fn storage_read_oracle_wrapper<N>(_storage_slot: Field) -> [Field; N] {\n storage_read_oracle(_storage_slot, N)\n}\n\npub fn storage_read<T, N>(storage_slot: Field, deserialize: fn([Field; N]) -> T) -> T {\n let fields = storage_read_oracle_wrapper(storage_slot);\n deserialize(fields)\n}\n\n#[oracle(storageWrite)]\nfn storage_write_oracle<N>(_storage_slot: Field, _values: [Field; N]) -> [Field; N] {}\n\n// TODO: Remove return value.\nunconstrained pub fn storage_write<N>(storage_slot: Field, fields: [Field; N]) {\n let _hash = storage_write_oracle(storage_slot, fields);\n}\n",
3093
+ "94": {
3094
+ "source": "use dep::protocol_types::traits::{Deserialize, Serialize};\n\n#[oracle(storageRead)]\nfn storage_read_oracle<N>(_storage_slot: Field, _number_of_elements: Field) -> [Field; N] {}\n\nunconstrained fn storage_read_oracle_wrapper<N>(_storage_slot: Field) -> [Field; N] {\n storage_read_oracle(_storage_slot, N)\n}\n\npub fn storage_read<N>(storage_slot: Field) -> [Field; N] {\n storage_read_oracle_wrapper(storage_slot)\n}\n\n#[oracle(storageWrite)]\nfn storage_write_oracle<N>(_storage_slot: Field, _values: [Field; N]) -> [Field; N] {}\n\nunconstrained pub fn storage_write<N>(storage_slot: Field, fields: [Field; N]) {\n let _hash = storage_write_oracle(storage_slot, fields);\n}\n",
2858
3095
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/storage.nr"
2859
3096
  },
2860
- "99": {
2861
- "source": "use dep::protocol_types::{\n address::{\n AztecAddress,\n PartialAddress,\n },\n grumpkin_point::GrumpkinPoint,\n};\n\n#[oracle(getPublicKeyAndPartialAddress)]\nfn get_public_key_and_partial_address_oracle(_address: AztecAddress) -> [Field; 3] {}\n\nunconstrained fn get_public_key_and_partial_address_internal(address: AztecAddress) -> [Field; 3] {\n get_public_key_and_partial_address_oracle(address)\n}\n\npub fn get_public_key(address: AztecAddress) -> GrumpkinPoint {\n let result = get_public_key_and_partial_address_internal(address);\n let pub_key = GrumpkinPoint::new(result[0], result[1]);\n let partial_address = PartialAddress::from_field(result[2]);\n\n let calculated_address = AztecAddress::compute(pub_key, partial_address);\n assert(calculated_address.eq(address));\n\n pub_key\n}\n",
3097
+ "96": {
3098
+ "source": "use dep::protocol_types::{\n address::{\n AztecAddress,\n PartialAddress,\n PublicKeysHash,\n },\n grumpkin_point::GrumpkinPoint,\n};\n\n#[oracle(getPublicKeyAndPartialAddress)]\nfn get_public_key_and_partial_address_oracle(_address: AztecAddress) -> [Field; 3] {}\n\nunconstrained fn get_public_key_and_partial_address_internal(address: AztecAddress) -> [Field; 3] {\n get_public_key_and_partial_address_oracle(address)\n}\n\npub fn get_public_key(address: AztecAddress) -> GrumpkinPoint {\n let result = get_public_key_and_partial_address_internal(address);\n let pub_key = GrumpkinPoint::new(result[0], result[1]);\n let partial_address = PartialAddress::from_field(result[2]);\n\n let calculated_address = AztecAddress::compute(PublicKeysHash::compute(pub_key), partial_address);\n assert(calculated_address.eq(address));\n\n pub_key\n}\n",
2862
3099
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/get_public_key.nr"
2863
3100
  },
2864
- "101": {
3101
+ "98": {
2865
3102
  "source": "use dep::protocol_types::{\n address::AztecAddress,\n constants::NUM_FIELDS_PER_SHA256,\n grumpkin_point::GrumpkinPoint,\n};\n\n// TODO: Should take encrypted data.\n#[oracle(emitEncryptedLog)]\nfn emit_encrypted_log_oracle<N>(\n _contract_address: AztecAddress,\n _storage_slot: Field,\n _encryption_pub_key: GrumpkinPoint,\n _preimage: [Field; N]\n) -> Field {}\n\nunconstrained pub fn emit_encrypted_log<N>(\n contract_address: AztecAddress,\n storage_slot: Field,\n encryption_pub_key: GrumpkinPoint,\n preimage: [Field; N]\n) -> [Field; NUM_FIELDS_PER_SHA256] {\n [emit_encrypted_log_oracle(contract_address, storage_slot, encryption_pub_key, preimage), 0]\n}\n\n#[oracle(emitUnencryptedLog)]\nfn emit_unencrypted_log_oracle<T>(_contract_address: AztecAddress, _event_selector: Field, _message: T) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log<T>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: T\n) -> [Field; NUM_FIELDS_PER_SHA256] {\n // https://github.com/AztecProtocol/aztec-packages/issues/885\n [emit_unencrypted_log_oracle(contract_address, event_selector, message), 0]\n}\n",
2866
3103
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/logs.nr"
2867
3104
  },
3105
+ "99": {
3106
+ "source": "use crate::{\n abi::PublicContextInputs,\n messaging::process_l1_to_l2_message,\n oracle::{\n arguments,\n public_call::call_public_function_internal,\n },\n};\nuse dep::protocol_types::{\n abis::{\n global_variables::GlobalVariables,\n function_selector::FunctionSelector,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem,\n public_circuit_public_inputs::PublicCircuitPublicInputs,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash},\n },\n address::{\n AztecAddress,\n EthAddress,\n },\n constants::{\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_READ_REQUESTS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n RETURN_VALUES_LENGTH,\n },\n contrakt::{\n storage_read::StorageRead,\n storage_update_request::StorageUpdateRequest,\n },\n hash::hash_args,\n header::Header,\n utils::reader::Reader,\n};\n\nstruct PublicContext {\n inputs: PublicContextInputs,\n side_effect_counter: u32,\n\n args_hash : Field,\n return_values : BoundedVec<Field, RETURN_VALUES_LENGTH>,\n\n contract_storage_update_requests: BoundedVec<StorageUpdateRequest, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL>,\n contract_storage_reads: BoundedVec<StorageRead, MAX_PUBLIC_DATA_READS_PER_CALL>,\n public_call_stack_hashes: BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n\n new_commitments: BoundedVec<SideEffect, MAX_NEW_COMMITMENTS_PER_CALL>,\n new_nullifiers: BoundedVec<SideEffectLinkedToNoteHash, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n new_l2_to_l1_msgs: BoundedVec<Field, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n\n unencrypted_logs_hash: BoundedVec<Field, NUM_FIELDS_PER_SHA256>,\n unencrypted_logs_preimages_length: Field,\n\n // Header of a block whose state is used during public execution. Set by sequencer to be a header of a block\n // previous to the one in which the tx is included.\n historical_header: Header,\n prover_address: AztecAddress,\n}\n\nimpl PublicContext {\n pub fn new(inputs: PublicContextInputs, args_hash: Field) -> PublicContext {\n let empty_storage_read = StorageRead::empty();\n let empty_storage_update = StorageUpdateRequest::empty();\n PublicContext {\n inputs: inputs,\n side_effect_counter: inputs.call_context.start_side_effect_counter,\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n contract_storage_update_requests: BoundedVec::new(empty_storage_update),\n contract_storage_reads: BoundedVec::new(empty_storage_read),\n public_call_stack_hashes: BoundedVec::new(0),\n\n new_commitments: BoundedVec::new(SideEffect::empty()),\n new_nullifiers: BoundedVec::new(SideEffectLinkedToNoteHash::empty()),\n\n new_l2_to_l1_msgs: BoundedVec::new(0),\n\n\n unencrypted_logs_hash: BoundedVec::new(0),\n unencrypted_logs_preimages_length: 0,\n\n historical_header: inputs.historical_header,\n prover_address: AztecAddress::zero(),\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n pub fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n pub fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n pub fn this_portal_address(self) -> EthAddress {\n self.inputs.call_context.portal_contract_address\n }\n\n pub fn chain_id(self) -> Field {\n self.inputs.public_global_variables.chain_id\n }\n\n pub fn version(self) -> Field {\n self.inputs.public_global_variables.version\n }\n\n pub fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n pub fn block_number(self) -> Field {\n self.inputs.public_global_variables.block_number\n }\n\n pub fn timestamp(self) -> Field {\n self.inputs.public_global_variables.timestamp\n }\n\n pub fn coinbase(self) -> EthAddress {\n self.inputs.public_global_variables.coinbase\n }\n\n pub fn fee_recipient(self) -> AztecAddress {\n self.inputs.public_global_variables.fee_recipient\n }\n\n pub fn finish(self) -> PublicCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_log_preimages_length = 0;\n\n\n // Compute the public call stack hashes\n let pub_circuit_pub_inputs = PublicCircuitPublicInputs {\n call_context: self.inputs.call_context, // Done\n args_hash: self.args_hash, // Done\n contract_storage_update_requests: self.contract_storage_update_requests.storage,\n contract_storage_reads: self.contract_storage_reads.storage,\n return_values: self.return_values.storage,\n new_commitments: self.new_commitments.storage,\n new_nullifiers: self.new_nullifiers.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n unencrypted_logs_hash: unencrypted_logs_hash,\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\n historical_header: self.inputs.historical_header,\n prover_address: self.prover_address,\n };\n pub_circuit_pub_inputs\n }\n\n pub fn push_new_note_hash(&mut self, note_hash: Field) {\n let side_effect = SideEffect {\n value: note_hash,\n counter: self.side_effect_counter\n };\n self.new_commitments.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn push_new_nullifier(&mut self, nullifier: Field, _nullified_commitment: Field) {\n let side_effect = SideEffectLinkedToNoteHash {\n value: nullifier,\n note_hash: 0, // cannot nullify pending notes in public context\n counter: self.side_effect_counter\n };\n self.new_nullifiers.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn message_portal(&mut self, content: Field) {\n self.new_l2_to_l1_msgs.push(content);\n }\n\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\n pub fn consume_l1_to_l2_message(&mut self, msg_key: Field, content: Field, secret: Field) {\n let this = (*self).this_address();\n let nullifier = process_l1_to_l2_message(self.historical_header.state.l1_to_l2_message_tree.root, this, self.this_portal_address(), self.chain_id(), self.version(), msg_key, content, secret);\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, 0)\n }\n\n pub fn accumulate_encrypted_logs<N>(&mut self, log: [Field; N]) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn accumulate_unencrypted_logs<T>(&mut self, log: T) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\n _self: Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n call_public_function_internal(\n contract_address,\n function_selector,\n args_hash,\n )\n }\n\n pub fn call_public_function_no_args(\n _self: Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n ) -> [Field; RETURN_VALUES_LENGTH] {\n call_public_function_internal(\n contract_address,\n function_selector,\n 0,\n )\n }\n\n}\n",
3107
+ "path": "/usr/src/yarn-project/aztec-nr/aztec/src/context/public.nr"
3108
+ },
3109
+ "100": {
3110
+ "source": "use crate::{\n abi::PrivateContextInputs,\n key::nullifier_key::validate_nullifier_key_against_address,\n messaging::process_l1_to_l2_message,\n oracle::{\n arguments,\n call_private_function::call_private_function_internal,\n enqueue_public_function_call::enqueue_public_function_call_internal,\n context::get_portal_address,\n header::get_header_at,\n nullifier_key::{get_nullifier_key_pair, NullifierKeyPair},\n },\n};\nuse dep::protocol_types::{\n abis::{\n call_context::CallContext,\n function_data::FunctionData,\n function_selector::FunctionSelector,\n nullifier_key_validation_request::NullifierKeyValidationRequest,\n private_call_stack_item::PrivateCallStackItem,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem,\n public_circuit_public_inputs::PublicCircuitPublicInputs,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash},\n },\n address::{\n AztecAddress,\n EthAddress,\n },\n constants::{\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n RETURN_VALUES_LENGTH,\n },\n contract_class::ContractClassId,\n contrakt::{\n deployment_data::ContractDeploymentData,\n storage_read::StorageRead,\n storage_update_request::StorageUpdateRequest,\n },\n grumpkin_private_key::GrumpkinPrivateKey,\n hash::hash_args,\n header::Header,\n utils::reader::Reader,\n};\nuse dep::std::option::Option;\n\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n// use dep::std::collections::vec::Vec;\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n meta_hwm: u32,\n\n args_hash : Field,\n return_values : BoundedVec<Field, RETURN_VALUES_LENGTH>,\n\n read_requests: BoundedVec<SideEffect, MAX_READ_REQUESTS_PER_CALL>,\n nullifier_key_validation_requests: BoundedVec<NullifierKeyValidationRequest, MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n new_commitments: BoundedVec<SideEffect, MAX_NEW_COMMITMENTS_PER_CALL>,\n new_nullifiers: BoundedVec<SideEffectLinkedToNoteHash, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n private_call_stack_hashes : BoundedVec<Field, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n new_l2_to_l1_msgs : BoundedVec<Field, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec<Field>,\n // unencrypted_logs_preimages: Vec<Field>,\n\n nullifier_key: Option<NullifierKeyPair>,\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs: inputs,\n side_effect_counter: inputs.call_context.start_side_effect_counter,\n meta_hwm: 0,\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n read_requests: BoundedVec::new(SideEffect::empty()),\n nullifier_key_validation_requests: BoundedVec::new(NullifierKeyValidationRequest::empty()),\n\n new_commitments: BoundedVec::new(SideEffect::empty()),\n new_nullifiers: BoundedVec::new(SideEffectLinkedToNoteHash::empty()),\n\n historical_header: inputs.historical_header,\n\n private_call_stack_hashes: BoundedVec::new(0),\n public_call_stack_hashes: BoundedVec::new(0),\n new_l2_to_l1_msgs: BoundedVec::new(0),\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n\n nullifier_key: Option::none(),\n }\n }\n\n pub fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n pub fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n pub fn this_portal_address(self) -> EthAddress {\n self.inputs.call_context.portal_contract_address\n }\n\n pub fn chain_id(self) -> Field {\n self.inputs.private_global_variables.chain_id\n }\n\n pub fn version(self) -> Field {\n self.inputs.private_global_variables.version\n }\n\n pub fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n pub fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let encrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let encrypted_log_preimages_length = 0;\n let unencrypted_log_preimages_length = 0;\n\n let priv_circuit_pub_inputs = PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n return_values: self.return_values.storage,\n meta_hwm: self.meta_hwm,\n read_requests: self.read_requests.storage,\n nullifier_key_validation_requests: self.nullifier_key_validation_requests.storage,\n new_commitments: self.new_commitments.storage,\n new_nullifiers: self.new_nullifiers.storage,\n private_call_stack_hashes: self.private_call_stack_hashes.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n end_side_effect_counter: self.side_effect_counter,\n encrypted_logs_hash: encrypted_logs_hash,\n unencrypted_logs_hash: unencrypted_logs_hash,\n encrypted_log_preimages_length: encrypted_log_preimages_length,\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\n historical_header: self.historical_header,\n contract_deployment_data: self.inputs.contract_deployment_data,\n chain_id: self.inputs.private_global_variables.chain_id,\n version: self.inputs.private_global_variables.version,\n };\n priv_circuit_pub_inputs\n }\n\n pub fn push_read_request(&mut self, read_request: Field) {\n let side_effect = SideEffect {\n value: read_request,\n counter: self.side_effect_counter,\n };\n self.read_requests.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn push_new_note_hash(&mut self, note_hash: Field) {\n let side_effect = SideEffect {\n value: note_hash,\n counter: self.side_effect_counter,\n };\n self.new_commitments.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn push_new_nullifier(&mut self, nullifier: Field, nullified_commitment: Field) {\n let side_effect = SideEffectLinkedToNoteHash {\n value: nullifier,\n note_hash: nullified_commitment,\n counter: self.side_effect_counter,\n };\n self.new_nullifiers.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn request_nullifier_secret_key(&mut self, account: AztecAddress) -> GrumpkinPrivateKey {\n let key_pair = if self.nullifier_key.is_none() {\n let key_pair = get_nullifier_key_pair(account);\n validate_nullifier_key_against_address(account, key_pair.public_key);\n let request = NullifierKeyValidationRequest { public_key: key_pair.public_key, secret_key: key_pair.secret_key };\n self.nullifier_key_validation_requests.push(request);\n self.nullifier_key = Option::some(key_pair);\n key_pair\n } else {\n let key_pair = self.nullifier_key.unwrap_unchecked();\n // If MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL is larger than 1, need to update the way the key pair is cached.\n assert(MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL == 1);\n assert(key_pair.account == account, \"Cannot query nullifier key for more than one account per call\");\n key_pair\n };\n key_pair.secret_key\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, content: Field)\n // docs:end:context_message_portal\n {\n self.new_l2_to_l1_msgs.push(content);\n }\n\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(\n &mut self,\n msg_key: Field,\n content: Field,\n secret: Field\n )\n // docs:end:context_consume_l1_to_l2_message\n {\n let nullifier = process_l1_to_l2_message(self.historical_header.state.l1_to_l2_message_tree.root, self.this_address(), self.this_portal_address(), self.chain_id(), self.version(), msg_key, content, secret);\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n pub fn accumulate_encrypted_logs<N>(&mut self, log: [Field; N]) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn accumulate_unencrypted_logs<T>(&mut self, log: T) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash)\n }\n\n pub fn call_private_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n ) -> [Field; RETURN_VALUES_LENGTH] {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0)\n }\n\n pub fn call_private_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let item = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n );\n\n assert_eq(item.public_inputs.call_context.start_side_effect_counter, self.side_effect_counter);\n self.side_effect_counter = item.public_inputs.end_side_effect_counter + 1;\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\n // the msg_sender in the nested call to be equal to our address, and the execution context address\n // for the nested call to be equal to the address we actually called.\n assert(item.public_inputs.call_context.is_delegate_call == false);\n assert(item.public_inputs.call_context.is_static_call == false);\n assert(item.public_inputs.call_context.is_contract_deployment == false);\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address));\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n\n self.private_call_stack_hashes.push(item.hash());\n\n item.public_inputs.return_values\n }\n\n pub fn call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field\n ) {\n let fields = enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter\n );\n\n let mut reader = Reader::new(fields);\n\n // Note: Not using PublicCirclePublicInputs::deserialize here, because everything below args_hash is 0 and\n // there is no more data in fields because there is only ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE fields!\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n return_values: [0; RETURN_VALUES_LENGTH],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [SideEffect::empty(); MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs:[0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n unencrypted_logs_hash:[0; NUM_FIELDS_PER_SHA256],\n unencrypted_log_preimages_length: 0,\n historical_header: Header::empty(),\n prover_address: AztecAddress::zero(),\n },\n is_execution_request: true,\n };\n reader.finish();\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert_eq(item.public_inputs.call_context.start_side_effect_counter, self.side_effect_counter);\n // We increment the sideffect counter by one, to account for the call itself being a side effect.\n self.side_effect_counter = self.side_effect_counter + 1;\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\n // the msg_sender in the nested call to be equal to our address, and the execution context address\n // for the nested call to be equal to the address we actually called.\n assert(item.public_inputs.call_context.is_delegate_call == false);\n assert(item.public_inputs.call_context.is_static_call == false);\n assert(item.public_inputs.call_context.is_contract_deployment == false);\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address));\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n\n self.public_call_stack_hashes.push(item.hash());\n }\n}\n",
3111
+ "path": "/usr/src/yarn-project/aztec-nr/aztec/src/context/private.nr"
3112
+ },
2868
3113
  "102": {
2869
- "source": "global ARGS_LENGTH: Field = 16;\nglobal RETURN_VALUES_LENGTH: Field = 4;\n\n/**\n * Convention for constant array lengths are mainly divided in 2 classes:\n * - FUNCTION CALL\n * - TRANSACTION\n *\n * Agreed convention is to use MAX_XXX_PER_CALL resp. MAX_XXX_PER_TX, where XXX denotes a type of element such as\n * commitment, or nullifier, e.g.,:\n * - MAX_NEW_NULLIFIERS_PER_CALL\n * - MAX_NEW_COMMITMENTS_PER_TX\n *\n * In the kernel circuits, we accumulate elements such as commitments and the nullifiers from all functions calls in a\n * transaction. Therefore, we always must have:\n * MAX_XXX_PER_TX ≥ MAX_XXX_PER_CALL\n *\n * For instance:\n * MAX_NEW_COMMITMENTS_PER_TX ≥ MAX_NEW_COMMITMENTS_PER_CALL\n * MAX_NEW_NULLIFIERS_PER_TX ≥ MAX_NEW_NULLIFIERS_PER_CALL\n *\n */\n\n// docs:start:constants\n// \"PER CALL\" CONSTANTS\nglobal MAX_NEW_COMMITMENTS_PER_CALL: Field = 16;\nglobal MAX_NEW_NULLIFIERS_PER_CALL: Field = 16;\nglobal MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL: Field = 4;\nglobal MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL: Field = 4;\nglobal MAX_NEW_L2_TO_L1_MSGS_PER_CALL: Field = 2;\nglobal MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL: Field = 16;\nglobal MAX_PUBLIC_DATA_READS_PER_CALL: Field = 16;\nglobal MAX_READ_REQUESTS_PER_CALL: Field = 32;\nglobal MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL: Field = 1;\n\n// \"PER TRANSACTION\" CONSTANTS\nglobal MAX_NEW_COMMITMENTS_PER_TX: Field = 64;\nglobal MAX_NEW_NULLIFIERS_PER_TX: Field = 64;\nglobal MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX: Field = 8;\nglobal MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX: Field = 8;\nglobal MAX_NEW_L2_TO_L1_MSGS_PER_TX: Field = 2;\nglobal MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX: Field = 16;\nglobal MAX_PUBLIC_DATA_READS_PER_TX: Field = 16;\nglobal MAX_NEW_CONTRACTS_PER_TX: Field = 1;\nglobal MAX_OPTIONALLY_REVEALED_DATA_LENGTH_PER_TX: Field = 4;\nglobal MAX_READ_REQUESTS_PER_TX: Field = 128;\nglobal MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_TX: Field = 4;\nglobal NUM_ENCRYPTED_LOGS_HASHES_PER_TX: Field = 1;\nglobal NUM_UNENCRYPTED_LOGS_HASHES_PER_TX: Field = 1;\n// docs:end:constants\n\n// ROLLUP CONTRACT CONSTANTS - constants used only in l1-contracts\nglobal NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP: Field = 16;\n\n// TREES RELATED CONSTANTS\nglobal VK_TREE_HEIGHT: Field = 3;\nglobal FUNCTION_TREE_HEIGHT: Field = 5;\nglobal CONTRACT_TREE_HEIGHT: Field = 16;\nglobal NOTE_HASH_TREE_HEIGHT: Field = 32;\nglobal PUBLIC_DATA_TREE_HEIGHT: Field = 40;\nglobal NULLIFIER_TREE_HEIGHT: Field = 20;\nglobal L1_TO_L2_MSG_TREE_HEIGHT: Field = 16;\nglobal ROLLUP_VK_TREE_HEIGHT: Field = 8;\n\n// SUB-TREES RELATED CONSTANTS\nglobal CONTRACT_SUBTREE_HEIGHT: Field = 0;\nglobal CONTRACT_SUBTREE_SIBLING_PATH_LENGTH: Field = 16;\nglobal NOTE_HASH_SUBTREE_HEIGHT: Field = 6;\nglobal NOTE_HASH_SUBTREE_SIBLING_PATH_LENGTH: Field = 26;\nglobal NULLIFIER_SUBTREE_HEIGHT: Field = 6;\nglobal PUBLIC_DATA_SUBTREE_HEIGHT: Field = 4;\nglobal ARCHIVE_HEIGHT: Field = 16;\nglobal NULLIFIER_SUBTREE_SIBLING_PATH_LENGTH: Field = 14;\nglobal PUBLIC_DATA_SUBTREE_SIBLING_PATH_LENGTH: Field = 36;\nglobal L1_TO_L2_MSG_SUBTREE_HEIGHT: Field = 4;\nglobal L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH: Field = 12;\n\n// MISC CONSTANTS\nglobal FUNCTION_SELECTOR_NUM_BYTES: Field = 4;\nglobal MAPPING_SLOT_PEDERSEN_SEPARATOR: Field = 4;\n// sha256 hash is stored in two fields to accommodate all 256-bits of the hash\nglobal NUM_FIELDS_PER_SHA256: Field = 2;\nglobal ARGS_HASH_CHUNK_LENGTH: u32 = 32;\nglobal ARGS_HASH_CHUNK_COUNT: u32 = 16;\n\n// NOIR CONSTANTS - constants used only in yarn-packages/noir-contracts\n// Some are defined here because Noir doesn't yet support globals referencing other globals yet.\n// Move these constants to a noir file once the issue bellow is resolved:\n// https://github.com/noir-lang/noir/issues/1734\nglobal L1_TO_L2_MESSAGE_LENGTH: Field = 8;\nglobal L1_TO_L2_MESSAGE_ORACLE_CALL_LENGTH: Field = 25;\nglobal MAX_NOTE_FIELDS_LENGTH: Field = 20;\n// GET_NOTE_ORACLE_RETURN_LENGT = MAX_NOTE_FIELDS_LENGTH + 1 + 2\n// The plus 1 is 1 extra field for nonce.\n// + 2 for EXTRA_DATA: [number_of_return_notes, contract_address]\nglobal GET_NOTE_ORACLE_RETURN_LENGTH: Field = 23;\nglobal MAX_NOTES_PER_PAGE: Field = 10;\n// VIEW_NOTE_ORACLE_RETURN_LENGTH = MAX_NOTES_PER_PAGE * (MAX_NOTE_FIELDS_LENGTH + 1) + 2;\nglobal VIEW_NOTE_ORACLE_RETURN_LENGTH: Field = 212;\nglobal CALL_CONTEXT_LENGTH: Field = 8;\nglobal HEADER_LENGTH: Field = 18; // 2 for last_archive, 2 for body hash, 10 for state reference, 4 for global vars \nglobal FUNCTION_DATA_LENGTH: Field = 4;\nglobal CONTRACT_DEPLOYMENT_DATA_LENGTH: Field = 6;\n// Change this ONLY if you have changed the PrivateCircuitPublicInputs structure.\n// In other words, if the structure/size of the public inputs of a function call changes then we should change this\n// constant as well CALL_PRIVATE_FUNCTION_RETURN_SIZE and PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH\nglobal PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH: Field = 200;\nglobal CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH: Field = 3;\nglobal CONTRACT_STORAGE_READ_LENGTH: Field = 2;\n// Change this ONLY if you have changed the PublicCircuitPublicInputs structure.\nglobal PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH: Field = 190;\nglobal GET_NOTES_ORACLE_RETURN_LENGTH: Field = 674;\nglobal CALL_PRIVATE_FUNCTION_RETURN_SIZE: Field = 210;\nglobal PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH: Field = 98;\nglobal PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH: Field = 188;\nglobal COMMITMENTS_NUM_BYTES_PER_BASE_ROLLUP: Field = 2048;\nglobal NULLIFIERS_NUM_BYTES_PER_BASE_ROLLUP: Field = 2048;\nglobal PUBLIC_DATA_WRITES_NUM_BYTES_PER_BASE_ROLLUP: Field = 1024;\nglobal CONTRACTS_NUM_BYTES_PER_BASE_ROLLUP: Field = 32;\nglobal CONTRACT_DATA_NUM_BYTES_PER_BASE_ROLLUP: Field = 64;\nglobal CONTRACT_DATA_NUM_BYTES_PER_BASE_ROLLUP_UNPADDED: Field = 52;\nglobal L2_TO_L1_MSGS_NUM_BYTES_PER_BASE_ROLLUP: Field = 64;\nglobal LOGS_HASHES_NUM_BYTES_PER_BASE_ROLLUP: Field = 64;\n\n/**\n * Enumerate the hash_indices which are used for pedersen hashing.\n * We start from 1 to avoid the default generators. The generator indices are listed\n * based on the number of elements each index hashes. The following conditions must be met:\n *\n * +-----------+-------------------------------+----------------------+\n * | Hash size | Number of elements hashed (n) | Condition to use |\n * |-----------+-------------------------------+----------------------|\n * | LOW | n ≤ 8 | 0 < hash_index ≤ 32 |\n * | MID | 8 < n ≤ 16 | 32 < hash_index ≤ 40 |\n * | HIGH | 16 < n ≤ 48 | 40 < hash_index ≤ 48 |\n * +-----------+-------------------------------+----------------------+\n *\n * Note: When modifying, modify `GeneratorIndexPacker` in packer.hpp accordingly.\n */\n// Indices with size ≤ 8\nglobal GENERATOR_INDEX__COMMITMENT = 1;\nglobal GENERATOR_INDEX__COMMITMENT_NONCE = 2;\nglobal GENERATOR_INDEX__UNIQUE_COMMITMENT = 3;\nglobal GENERATOR_INDEX__SILOED_COMMITMENT = 4;\nglobal GENERATOR_INDEX__NULLIFIER = 5;\nglobal GENERATOR_INDEX__INITIALIZATION_NULLIFIER = 6;\nglobal GENERATOR_INDEX__OUTER_NULLIFIER = 7;\nglobal GENERATOR_INDEX__PUBLIC_DATA_READ = 8;\nglobal GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST = 9;\nglobal GENERATOR_INDEX__FUNCTION_DATA = 10;\nglobal GENERATOR_INDEX__FUNCTION_LEAF = 11;\nglobal GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA = 12;\nglobal GENERATOR_INDEX__CONSTRUCTOR = 13;\nglobal GENERATOR_INDEX__CONSTRUCTOR_ARGS = 14;\nglobal GENERATOR_INDEX__CONTRACT_ADDRESS = 15;\nglobal GENERATOR_INDEX__CONTRACT_LEAF = 16;\nglobal GENERATOR_INDEX__CALL_CONTEXT = 17;\nglobal GENERATOR_INDEX__CALL_STACK_ITEM = 18;\nglobal GENERATOR_INDEX__CALL_STACK_ITEM_2 = 19;\nglobal GENERATOR_INDEX__L1_TO_L2_MESSAGE_SECRET = 20;\nglobal GENERATOR_INDEX__L2_TO_L1_MSG = 21;\nglobal GENERATOR_INDEX__TX_CONTEXT = 22;\nglobal GENERATOR_INDEX__PUBLIC_LEAF_INDEX = 23;\nglobal GENERATOR_INDEX__PUBLIC_DATA_LEAF = 24;\nglobal GENERATOR_INDEX__SIGNED_TX_REQUEST = 25;\nglobal GENERATOR_INDEX__GLOBAL_VARIABLES = 26;\nglobal GENERATOR_INDEX__PARTIAL_ADDRESS = 27;\nglobal GENERATOR_INDEX__BLOCK_HASH = 28;\nglobal GENERATOR_INDEX__SIDE_EFFECT = 29;\n// Indices with size ≤ 16\nglobal GENERATOR_INDEX__TX_REQUEST = 33;\nglobal GENERATOR_INDEX__SIGNATURE_PAYLOAD = 34;\n// Indices with size ≤ 44\nglobal GENERATOR_INDEX__VK = 41;\nglobal GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS = 42;\nglobal GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS = 43;\nglobal GENERATOR_INDEX__FUNCTION_ARGS = 44;\n",
3114
+ "source": "global ARGS_LENGTH: Field = 16;\nglobal RETURN_VALUES_LENGTH: Field = 4;\n\n/**\n * Convention for constant array lengths are mainly divided in 2 classes:\n * - FUNCTION CALL\n * - TRANSACTION\n *\n * Agreed convention is to use MAX_XXX_PER_CALL resp. MAX_XXX_PER_TX, where XXX denotes a type of element such as\n * commitment, or nullifier, e.g.,:\n * - MAX_NEW_NULLIFIERS_PER_CALL\n * - MAX_NEW_COMMITMENTS_PER_TX\n *\n * In the kernel circuits, we accumulate elements such as commitments and the nullifiers from all functions calls in a\n * transaction. Therefore, we always must have:\n * MAX_XXX_PER_TX ≥ MAX_XXX_PER_CALL\n *\n * For instance:\n * MAX_NEW_COMMITMENTS_PER_TX ≥ MAX_NEW_COMMITMENTS_PER_CALL\n * MAX_NEW_NULLIFIERS_PER_TX ≥ MAX_NEW_NULLIFIERS_PER_CALL\n *\n */\n\n// docs:start:constants\n// \"PER CALL\" CONSTANTS\nglobal MAX_NEW_COMMITMENTS_PER_CALL: Field = 16;\nglobal MAX_NEW_NULLIFIERS_PER_CALL: Field = 16;\nglobal MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL: Field = 4;\nglobal MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL: Field = 4;\nglobal MAX_NEW_L2_TO_L1_MSGS_PER_CALL: Field = 2;\nglobal MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL: Field = 16;\nglobal MAX_PUBLIC_DATA_READS_PER_CALL: Field = 16;\nglobal MAX_READ_REQUESTS_PER_CALL: Field = 32;\nglobal MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL: Field = 1;\n\n// \"PER TRANSACTION\" CONSTANTS\nglobal MAX_NEW_COMMITMENTS_PER_TX: Field = 64;\nglobal MAX_NEW_NULLIFIERS_PER_TX: Field = 64;\nglobal MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX: Field = 8;\nglobal MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX: Field = 8;\nglobal MAX_NEW_L2_TO_L1_MSGS_PER_TX: Field = 2;\nglobal MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX: Field = 16;\nglobal MAX_PUBLIC_DATA_READS_PER_TX: Field = 16;\nglobal MAX_NEW_CONTRACTS_PER_TX: Field = 1;\nglobal MAX_READ_REQUESTS_PER_TX: Field = 128;\nglobal MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_TX: Field = 4;\nglobal NUM_ENCRYPTED_LOGS_HASHES_PER_TX: Field = 1;\nglobal NUM_UNENCRYPTED_LOGS_HASHES_PER_TX: Field = 1;\n\nglobal MAX_NEW_COMMITMENTS_PER_TX_META: Field = 8;\nglobal MAX_NEW_NULLIFIERS_PER_TX_META: Field = 8;\nglobal MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX_META: Field = 2;\n// docs:end:constants\n\n// ROLLUP CONTRACT CONSTANTS - constants used only in l1-contracts\nglobal NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP: Field = 16;\n\n// TREES RELATED CONSTANTS\nglobal VK_TREE_HEIGHT: Field = 3;\nglobal FUNCTION_TREE_HEIGHT: Field = 5;\nglobal CONTRACT_TREE_HEIGHT: Field = 16;\nglobal NOTE_HASH_TREE_HEIGHT: Field = 32;\nglobal PUBLIC_DATA_TREE_HEIGHT: Field = 40;\nglobal NULLIFIER_TREE_HEIGHT: Field = 20;\nglobal L1_TO_L2_MSG_TREE_HEIGHT: Field = 16;\nglobal ROLLUP_VK_TREE_HEIGHT: Field = 8;\nglobal ARTIFACT_FUNCTION_TREE_MAX_HEIGHT = 5;\n\n// SUB-TREES RELATED CONSTANTS\nglobal CONTRACT_SUBTREE_HEIGHT: Field = 0;\nglobal CONTRACT_SUBTREE_SIBLING_PATH_LENGTH: Field = 16;\nglobal NOTE_HASH_SUBTREE_HEIGHT: Field = 6;\nglobal NOTE_HASH_SUBTREE_SIBLING_PATH_LENGTH: Field = 26;\nglobal NULLIFIER_SUBTREE_HEIGHT: Field = 6;\nglobal PUBLIC_DATA_SUBTREE_HEIGHT: Field = 4;\nglobal ARCHIVE_HEIGHT: Field = 16;\nglobal NULLIFIER_SUBTREE_SIBLING_PATH_LENGTH: Field = 14;\nglobal PUBLIC_DATA_SUBTREE_SIBLING_PATH_LENGTH: Field = 36;\nglobal L1_TO_L2_MSG_SUBTREE_HEIGHT: Field = 4;\nglobal L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH: Field = 12;\n\n// MISC CONSTANTS\nglobal FUNCTION_SELECTOR_NUM_BYTES: Field = 4;\nglobal MAPPING_SLOT_PEDERSEN_SEPARATOR: Field = 4;\n// sha256 hash is stored in two fields to accommodate all 256-bits of the hash\nglobal NUM_FIELDS_PER_SHA256: Field = 2;\nglobal ARGS_HASH_CHUNK_LENGTH: u32 = 32;\nglobal ARGS_HASH_CHUNK_COUNT: u32 = 32;\n\n// CONTRACT CLASS CONSTANTS\n// This should be around 8192 (assuming 2**15 instructions packed at 8 bytes each), \n// but it's reduced to speed up build times, otherwise the ClassRegisterer takes over 5 mins to compile.\n// We are not using 1024 so we can squeeze in a few more args to methods that consume packed public bytecode,\n// such as the ClassRegisterer.register, and still land below the 32 * 32 max args limit for hashing.\nglobal MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS: Field = 1000;\n// Bytecode size for private functions is per function, not for the entire contract.\n// Note that private functions bytecode includes a mix of acir and brillig.\nglobal MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS: Field = 500;\n// Same for unconstrained functions: the size is per function.\nglobal MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS: Field = 500;\n// Since we are not yet emitting selectors we'll use this magic value to identify events emitted by the ClassRegisterer.\n// This is just a stopgap until we implement proper selectors.\n// sha224sum 'struct ContractClassRegistered {contract_class_id: ContractClassId, version: Field, artifact_hash: Field, private_functions_root: Field, packed_public_bytecode: [Field; MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS] }'\nglobal REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE = 0x6999d1e02b08a447a463563453cb36919c9dd7150336fc7c4d2b52f8;\n// sha224sum 'struct ClassPrivateFunctionBroadcasted'\nglobal REGISTERER_PRIVATE_FUNCTION_BROADCASTED_MAGIC_VALUE = 0x1b70e95fde0b70adc30496b90a327af6a5e383e028e7a43211a07bcd;\n// sha224sum 'struct ClassUnconstrainedFunctionBroadcasted'\nglobal REGISTERER_UNCONSTRAINED_FUNCTION_BROADCASTED_MAGIC_VALUE = 0xe7af816635466f128568edb04c9fa024f6c87fb9010fdbffa68b3d99;\n\n// CONTRACT INSTANCE CONSTANTS\n// sha224sum 'struct ContractInstanceDeployed'\nglobal DEPLOYER_CONTRACT_INSTANCE_DEPLOYED_MAGIC_VALUE = 0x85864497636cf755ae7bde03f267ce01a520981c21c3682aaf82a631;\n\n// NOIR CONSTANTS - constants used only in yarn-packages/noir-contracts\n// Some are defined here because Noir doesn't yet support globals referencing other globals yet.\n// Move these constants to a noir file once the issue below is resolved:\n// https://github.com/noir-lang/noir/issues/1734\nglobal L1_TO_L2_MESSAGE_LENGTH: Field = 8;\nglobal L1_TO_L2_MESSAGE_ORACLE_CALL_LENGTH: Field = 25;\nglobal MAX_NOTE_FIELDS_LENGTH: Field = 20;\n// GET_NOTE_ORACLE_RETURN_LENGT = MAX_NOTE_FIELDS_LENGTH + 1 + 2\n// The plus 1 is 1 extra field for nonce.\n// + 2 for EXTRA_DATA: [number_of_return_notes, contract_address]\nglobal GET_NOTE_ORACLE_RETURN_LENGTH: Field = 23;\nglobal MAX_NOTES_PER_PAGE: Field = 10;\n// VIEW_NOTE_ORACLE_RETURN_LENGTH = MAX_NOTES_PER_PAGE * (MAX_NOTE_FIELDS_LENGTH + 1) + 2;\nglobal VIEW_NOTE_ORACLE_RETURN_LENGTH: Field = 212;\nglobal CALL_CONTEXT_LENGTH: Field = 8;\nglobal GLOBAL_VARIABLES_LENGTH: Field = 6;\nglobal PARTIAL_STATE_REFERENCE_LENGTH: Field = 8;\nglobal STATE_REFERENCE_LENGTH: Field = 10; // 2 for snap + 8 for partial\nglobal HEADER_LENGTH: Field = 20; // 2 for last_archive, 2 for body hash, 10 for state reference, 6 for global vars \nglobal FUNCTION_DATA_LENGTH: Field = 4;\nglobal CONTRACT_DEPLOYMENT_DATA_LENGTH: Field = 6;\n// Change this ONLY if you have changed the PrivateCircuitPublicInputs structure.\n// In other words, if the structure/size of the public inputs of a function call changes then we should change this\n// constant as well PRIVATE_CALL_STACK_ITEM_LENGTH\nglobal PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH: Field = 207;\nglobal PRIVATE_CALL_STACK_ITEM_LENGTH: Field = 212;\nglobal CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH: Field = 3;\nglobal CONTRACT_STORAGE_READ_LENGTH: Field = 2;\n// Change this ONLY if you have changed the PublicCircuitPublicInputs structure.\nglobal PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH: Field = 203;\nglobal GET_NOTES_ORACLE_RETURN_LENGTH: Field = 674;\nglobal COMMITMENTS_NUM_BYTES_PER_BASE_ROLLUP: Field = 2048;\nglobal NULLIFIERS_NUM_BYTES_PER_BASE_ROLLUP: Field = 2048;\nglobal PUBLIC_DATA_WRITES_NUM_BYTES_PER_BASE_ROLLUP: Field = 1024;\nglobal CONTRACTS_NUM_BYTES_PER_BASE_ROLLUP: Field = 32;\nglobal CONTRACT_DATA_NUM_BYTES_PER_BASE_ROLLUP: Field = 64;\nglobal CONTRACT_DATA_NUM_BYTES_PER_BASE_ROLLUP_UNPADDED: Field = 52;\nglobal L2_TO_L1_MSGS_NUM_BYTES_PER_BASE_ROLLUP: Field = 64;\nglobal LOGS_HASHES_NUM_BYTES_PER_BASE_ROLLUP: Field = 64;\n\n/**\n * Enumerate the hash_indices which are used for pedersen hashing.\n * We start from 1 to avoid the default generators. The generator indices are listed\n * based on the number of elements each index hashes. The following conditions must be met:\n *\n * +-----------+-------------------------------+----------------------+\n * | Hash size | Number of elements hashed (n) | Condition to use |\n * |-----------+-------------------------------+----------------------|\n * | LOW | n ≤ 8 | 0 < hash_index ≤ 32 |\n * | MID | 8 < n ≤ 16 | 32 < hash_index ≤ 40 |\n * | HIGH | 16 < n ≤ 48 | 40 < hash_index ≤ 48 |\n * +-----------+-------------------------------+----------------------+\n *\n * Note: When modifying, modify `GeneratorIndexPacker` in packer.hpp accordingly.\n */\n// Indices with size ≤ 8\nglobal GENERATOR_INDEX__COMMITMENT = 1;\nglobal GENERATOR_INDEX__COMMITMENT_NONCE = 2;\nglobal GENERATOR_INDEX__UNIQUE_COMMITMENT = 3;\nglobal GENERATOR_INDEX__SILOED_COMMITMENT = 4;\nglobal GENERATOR_INDEX__NULLIFIER = 5;\nglobal GENERATOR_INDEX__INITIALIZATION_NULLIFIER = 6;\nglobal GENERATOR_INDEX__OUTER_NULLIFIER = 7;\nglobal GENERATOR_INDEX__PUBLIC_DATA_READ = 8;\nglobal GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST = 9;\nglobal GENERATOR_INDEX__FUNCTION_DATA = 10;\nglobal GENERATOR_INDEX__FUNCTION_LEAF = 11;\nglobal GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA = 12;\nglobal GENERATOR_INDEX__CONSTRUCTOR = 13;\nglobal GENERATOR_INDEX__CONSTRUCTOR_ARGS = 14;\nglobal GENERATOR_INDEX__CONTRACT_ADDRESS = 15;\nglobal GENERATOR_INDEX__CONTRACT_LEAF = 16;\nglobal GENERATOR_INDEX__CALL_CONTEXT = 17;\nglobal GENERATOR_INDEX__CALL_STACK_ITEM = 18;\nglobal GENERATOR_INDEX__CALL_STACK_ITEM_2 = 19;\nglobal GENERATOR_INDEX__L1_TO_L2_MESSAGE_SECRET = 20;\nglobal GENERATOR_INDEX__L2_TO_L1_MSG = 21;\nglobal GENERATOR_INDEX__TX_CONTEXT = 22;\nglobal GENERATOR_INDEX__PUBLIC_LEAF_INDEX = 23;\nglobal GENERATOR_INDEX__PUBLIC_DATA_LEAF = 24;\nglobal GENERATOR_INDEX__SIGNED_TX_REQUEST = 25;\nglobal GENERATOR_INDEX__GLOBAL_VARIABLES = 26;\nglobal GENERATOR_INDEX__PARTIAL_ADDRESS = 27;\nglobal GENERATOR_INDEX__BLOCK_HASH = 28;\nglobal GENERATOR_INDEX__SIDE_EFFECT = 29;\n// Indices with size ≤ 16\nglobal GENERATOR_INDEX__TX_REQUEST = 33;\nglobal GENERATOR_INDEX__SIGNATURE_PAYLOAD = 34;\n// Indices with size ≤ 44\nglobal GENERATOR_INDEX__VK = 41;\nglobal GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS = 42;\nglobal GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS = 43;\nglobal GENERATOR_INDEX__FUNCTION_ARGS = 44;\n",
2870
3115
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/constants.nr"
2871
3116
  },
2872
3117
  "103": {
2873
- "source": "use crate::{\n abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot,\n traits::Empty,\n};\n\nstruct PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot,\n nullifier_tree: AppendOnlyTreeSnapshot,\n contract_tree: AppendOnlyTreeSnapshot,\n public_data_tree: AppendOnlyTreeSnapshot,\n}\n\nglobal PARTIAL_STATE_REFERENCE_LENGTH: Field = 8; // APPEND_ONLY_TREE_SNAPSHOT_LENGTH * 4;\n\nimpl PartialStateReference {\n pub fn eq(self, other: PartialStateReference) -> bool {\n self.note_hash_tree.eq(other.note_hash_tree) &\n self.nullifier_tree.eq(other.nullifier_tree) &\n self.contract_tree.eq(other.contract_tree) &\n self.public_data_tree.eq(other.public_data_tree)\n }\n\n pub fn serialize(self) -> [Field; PARTIAL_STATE_REFERENCE_LENGTH] {\n let serialized_note_hash_tree = self.note_hash_tree.serialize();\n let serialized_nullifier_tree = self.nullifier_tree.serialize();\n let serialized_contract_tree = self.contract_tree.serialize();\n let serialized_public_data_tree = self.public_data_tree.serialize();\n\n [\n serialized_note_hash_tree[0],\n serialized_note_hash_tree[1],\n serialized_nullifier_tree[0],\n serialized_nullifier_tree[1],\n serialized_contract_tree[0],\n serialized_contract_tree[1],\n serialized_public_data_tree[0],\n serialized_public_data_tree[1],\n ]\n }\n\n pub fn deserialize(serialized: [Field; PARTIAL_STATE_REFERENCE_LENGTH]) -> PartialStateReference {\n PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[0], serialized[1]]\n ),\n nullifier_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[2], serialized[3]]\n ),\n contract_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[4], serialized[5]]\n ),\n public_data_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[6], serialized[7]]\n ),\n }\n }\n}\n\nimpl Empty for PartialStateReference {\n fn empty() -> Self {\n Self {\n note_hash_tree: AppendOnlyTreeSnapshot::zero(),\n nullifier_tree: AppendOnlyTreeSnapshot::zero(),\n contract_tree: AppendOnlyTreeSnapshot::zero(),\n public_data_tree: AppendOnlyTreeSnapshot::zero(),\n }\n }\n}\n",
3118
+ "source": "use crate::{\n abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot,\n constants::PARTIAL_STATE_REFERENCE_LENGTH,\n traits::{\n Deserialize,\n Empty,\n Hash,\n Serialize,\n },\n};\n\nstruct PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot,\n nullifier_tree: AppendOnlyTreeSnapshot,\n contract_tree: AppendOnlyTreeSnapshot,\n public_data_tree: AppendOnlyTreeSnapshot,\n}\n\nimpl Eq for PartialStateReference {\n fn eq(self, other: PartialStateReference) -> bool {\n self.note_hash_tree.eq(other.note_hash_tree) &\n self.nullifier_tree.eq(other.nullifier_tree) &\n self.contract_tree.eq(other.contract_tree) &\n self.public_data_tree.eq(other.public_data_tree)\n }\n}\n\nimpl Serialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn serialize(self) -> [Field; PARTIAL_STATE_REFERENCE_LENGTH] {\n let serialized_note_hash_tree = self.note_hash_tree.serialize();\n let serialized_nullifier_tree = self.nullifier_tree.serialize();\n let serialized_contract_tree = self.contract_tree.serialize();\n let serialized_public_data_tree = self.public_data_tree.serialize();\n\n [\n serialized_note_hash_tree[0],\n serialized_note_hash_tree[1],\n serialized_nullifier_tree[0],\n serialized_nullifier_tree[1],\n serialized_contract_tree[0],\n serialized_contract_tree[1],\n serialized_public_data_tree[0],\n serialized_public_data_tree[1],\n ]\n }\n}\n\nimpl Deserialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn deserialize(serialized: [Field; PARTIAL_STATE_REFERENCE_LENGTH]) -> PartialStateReference {\n PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[0], serialized[1]]\n ),\n nullifier_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[2], serialized[3]]\n ),\n contract_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[4], serialized[5]]\n ),\n public_data_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[6], serialized[7]]\n ),\n }\n }\n}\n\nimpl Empty for PartialStateReference {\n fn empty() -> Self {\n Self {\n note_hash_tree: AppendOnlyTreeSnapshot::zero(),\n nullifier_tree: AppendOnlyTreeSnapshot::zero(),\n contract_tree: AppendOnlyTreeSnapshot::zero(),\n public_data_tree: AppendOnlyTreeSnapshot::zero(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let partial: PartialStateReference = dep::std::unsafe::zeroed();\n let _serialized = partial.serialize();\n let _deserialized = PartialStateReference::deserialize(_serialized);\n}\n",
2874
3119
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/partial_state_reference.nr"
2875
3120
  },
2876
3121
  "104": {
2877
- "source": "use crate::{\n abis::append_only_tree_snapshot::{\n AppendOnlyTreeSnapshot,\n APPEND_ONLY_TREE_SNAPSHOT_LENGTH,\n },\n partial_state_reference::{\n PartialStateReference,\n PARTIAL_STATE_REFERENCE_LENGTH,\n },\n traits::Empty,\n utils::{\n arr_copy_slice,\n bounded_vec::BoundedVec,\n },\n};\n\nstruct StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot,\n partial: PartialStateReference,\n}\n\nglobal STATE_REFERENCE_LENGTH: Field = 10; // 2 for snap + 8 for partial\n\nimpl StateReference {\n fn eq(self, other: StateReference) -> bool {\n self.l1_to_l2_message_tree.eq(other.l1_to_l2_message_tree) &\n self.partial.eq(other.partial)\n }\n\n fn serialize(self) -> [Field; STATE_REFERENCE_LENGTH] {\n let mut fields: BoundedVec<Field, STATE_REFERENCE_LENGTH> = BoundedVec::new(0);\n\n fields.push_array(self.l1_to_l2_message_tree.serialize());\n fields.push_array(self.partial.serialize());\n\n fields.storage\n }\n\n fn deserialize(serialized: [Field; STATE_REFERENCE_LENGTH]) -> StateReference {\n let mut offset = 0;\n\n let l1_to_l2_message_tree_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let partial_fields = arr_copy_slice(serialized, [0; PARTIAL_STATE_REFERENCE_LENGTH], offset);\n\n StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::deserialize(l1_to_l2_message_tree_fields),\n partial: PartialStateReference::deserialize(partial_fields),\n }\n }\n}\n\nimpl Empty for StateReference {\n fn empty() -> Self {\n Self {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::zero(),\n partial: PartialStateReference::empty(),\n }\n }\n}\n",
3122
+ "source": "use crate::{\n abis::append_only_tree_snapshot::{\n AppendOnlyTreeSnapshot,\n APPEND_ONLY_TREE_SNAPSHOT_LENGTH,\n },\n constants::{\n PARTIAL_STATE_REFERENCE_LENGTH,\n STATE_REFERENCE_LENGTH,\n },\n partial_state_reference::PartialStateReference,\n traits::{\n Deserialize,\n Empty,\n Hash,\n Serialize,\n },\n utils::{\n arr_copy_slice,\n },\n};\n\nstruct StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot,\n partial: PartialStateReference,\n}\n\nimpl Eq for StateReference {\n fn eq(self, other: StateReference) -> bool {\n self.l1_to_l2_message_tree.eq(other.l1_to_l2_message_tree) &\n self.partial.eq(other.partial)\n }\n}\n\nimpl Serialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn serialize(self) -> [Field; STATE_REFERENCE_LENGTH] {\n let mut fields: BoundedVec<Field, STATE_REFERENCE_LENGTH> = BoundedVec::new(0);\n\n fields.extend_from_array(self.l1_to_l2_message_tree.serialize());\n fields.extend_from_array(self.partial.serialize());\n\n fields.storage\n }\n}\n\nimpl Deserialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn deserialize(serialized: [Field; STATE_REFERENCE_LENGTH]) -> StateReference {\n let mut offset = 0;\n\n let l1_to_l2_message_tree_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let partial_fields = arr_copy_slice(serialized, [0; PARTIAL_STATE_REFERENCE_LENGTH], offset);\n\n StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::deserialize(l1_to_l2_message_tree_fields),\n partial: PartialStateReference::deserialize(partial_fields),\n }\n }\n}\n\nimpl Empty for StateReference {\n fn empty() -> Self {\n Self {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::zero(),\n partial: PartialStateReference::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let state: StateReference = dep::std::unsafe::zeroed();\n let _serialized = state.serialize();\n let _deserialized = StateReference::deserialize(_serialized);\n}\n",
2878
3123
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/state_reference.nr"
2879
3124
  },
2880
3125
  "107": {
2881
- "source": "use crate::{\n abis::{\n append_only_tree_snapshot::{\n AppendOnlyTreeSnapshot,\n APPEND_ONLY_TREE_SNAPSHOT_LENGTH,\n },\n global_variables::{\n GlobalVariables,\n GLOBAL_VARIABLES_LENGTH,\n },\n },\n constants::{\n GENERATOR_INDEX__BLOCK_HASH,\n HEADER_LENGTH,\n NUM_FIELDS_PER_SHA256,\n },\n hash::pedersen_hash,\n state_reference::{\n StateReference,\n STATE_REFERENCE_LENGTH,\n },\n traits::Empty,\n utils::{\n arr_copy_slice,\n bounded_vec::BoundedVec,\n },\n};\n\n// docs:start:header\nstruct Header {\n last_archive: AppendOnlyTreeSnapshot,\n body_hash: [Field; NUM_FIELDS_PER_SHA256],\n state: StateReference,\n global_variables: GlobalVariables,\n}\n// docs:end:header\n\nimpl Header {\n\n pub fn serialize(self) -> [Field; HEADER_LENGTH] {\n let mut fields: BoundedVec<Field, HEADER_LENGTH> = BoundedVec::new(0);\n\n fields.push_array(self.last_archive.serialize());\n fields.push_array(self.body_hash);\n fields.push_array(self.state.serialize());\n fields.push_array(self.global_variables.serialize());\n\n fields.storage\n }\n\n pub fn deserialize(serialized: [Field; HEADER_LENGTH]) -> Self {\n let mut offset = 0;\n\n let last_archive_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let body_hash = arr_copy_slice(serialized, [0; NUM_FIELDS_PER_SHA256], offset);\n offset = offset + NUM_FIELDS_PER_SHA256;\n\n let state_fields = arr_copy_slice(serialized, [0; STATE_REFERENCE_LENGTH], offset);\n offset = offset + STATE_REFERENCE_LENGTH;\n\n let global_variables_fields = arr_copy_slice(serialized, [0; GLOBAL_VARIABLES_LENGTH], offset);\n\n Header {\n last_archive: AppendOnlyTreeSnapshot::deserialize(last_archive_fields),\n body_hash,\n state: StateReference::deserialize(state_fields),\n global_variables: GlobalVariables::deserialize(global_variables_fields),\n }\n }\n\n // TODO(#3941) Rename this as hash() and make it hash the whole header\n pub fn block_hash(self) -> Field {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)\n pedersen_hash([\n self.global_variables.hash(),\n self.state.partial.note_hash_tree.root,\n self.state.partial.nullifier_tree.root,\n self.state.partial.contract_tree.root,\n self.state.l1_to_l2_message_tree.root,\n self.state.partial.public_data_tree.root,\n ], GENERATOR_INDEX__BLOCK_HASH)\n }\n}\n\nimpl Empty for Header {\n fn empty() -> Self {\n Self {\n last_archive: AppendOnlyTreeSnapshot::zero(),\n body_hash: [0; NUM_FIELDS_PER_SHA256],\n state: StateReference::empty(),\n global_variables: GlobalVariables::empty(),\n }\n }\n}\n",
3126
+ "source": "use crate::{\n abis::{\n append_only_tree_snapshot::{\n AppendOnlyTreeSnapshot,\n APPEND_ONLY_TREE_SNAPSHOT_LENGTH,\n },\n global_variables::{\n GlobalVariables,\n GLOBAL_VARIABLES_LENGTH,\n },\n },\n constants::{\n GENERATOR_INDEX__BLOCK_HASH,\n HEADER_LENGTH,\n NUM_FIELDS_PER_SHA256,\n STATE_REFERENCE_LENGTH,\n },\n hash::pedersen_hash,\n state_reference::StateReference,\n traits::{\n Deserialize,\n Empty,\n Hash,\n Serialize,\n },\n utils::{\n arr_copy_slice,\n },\n};\n\n// docs:start:header\nstruct Header {\n last_archive: AppendOnlyTreeSnapshot,\n body_hash: [Field; NUM_FIELDS_PER_SHA256],\n state: StateReference,\n global_variables: GlobalVariables,\n}\n// docs:end:header\n\nimpl Eq for Header {\n fn eq(self, other: Self) -> bool {\n self.last_archive.eq(other.last_archive) &\n (self.body_hash == other.body_hash) &\n self.state.eq(other.state) &\n self.global_variables.eq(other.global_variables)\n }\n}\n\nimpl Serialize<HEADER_LENGTH> for Header {\n fn serialize(self) -> [Field; HEADER_LENGTH] {\n let mut fields: BoundedVec<Field, HEADER_LENGTH> = BoundedVec::new(0);\n\n fields.extend_from_array(self.last_archive.serialize());\n fields.extend_from_array(self.body_hash);\n fields.extend_from_array(self.state.serialize());\n fields.extend_from_array(self.global_variables.serialize());\n\n fields.storage\n }\n}\n\nimpl Deserialize<HEADER_LENGTH> for Header {\n fn deserialize(serialized: [Field; HEADER_LENGTH]) -> Self {\n let mut offset = 0;\n\n let last_archive_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let body_hash = arr_copy_slice(serialized, [0; NUM_FIELDS_PER_SHA256], offset);\n offset = offset + NUM_FIELDS_PER_SHA256;\n\n let state_fields = arr_copy_slice(serialized, [0; STATE_REFERENCE_LENGTH], offset);\n offset = offset + STATE_REFERENCE_LENGTH;\n\n let global_variables_fields = arr_copy_slice(serialized, [0; GLOBAL_VARIABLES_LENGTH], offset);\n\n Header {\n last_archive: AppendOnlyTreeSnapshot::deserialize(last_archive_fields),\n body_hash,\n state: StateReference::deserialize(state_fields),\n global_variables: GlobalVariables::deserialize(global_variables_fields),\n }\n }\n}\n\nimpl Empty for Header {\n fn empty() -> Self {\n Self {\n last_archive: AppendOnlyTreeSnapshot::zero(),\n body_hash: [0; NUM_FIELDS_PER_SHA256],\n state: StateReference::empty(),\n global_variables: GlobalVariables::empty(),\n }\n }\n}\n\nimpl Hash for Header {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__BLOCK_HASH)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let header: Header = dep::std::unsafe::zeroed();\n let serialized = header.serialize();\n let deserialized = Header::deserialize(serialized);\n assert(header.eq(deserialized));\n}\n\n#[test]\nfn hash_smoke() {\n let header: Header = dep::std::unsafe::zeroed();\n let _hashed = header.hash();\n}\n",
2882
3127
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/header.nr"
2883
3128
  },
2884
3129
  "108": {
2885
- "source": "use crate::address::{AztecAddress, EthAddress};\nuse crate::mocked::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::function_leaf_preimage::FunctionLeafPreimage;\nuse crate::abis::new_contract_data::NewContractData as ContractLeafPreimage;\nuse crate::abis::function_data::FunctionData;\nuse crate::abis::side_effect::{SideEffect};\nuse crate::utils::uint256::U256;\nuse crate::utils::bounded_vec::BoundedVec;\nuse crate::constants::{\n ARGS_HASH_CHUNK_COUNT,\n ARGS_HASH_CHUNK_LENGTH,\n CONTRACT_TREE_HEIGHT, \n FUNCTION_TREE_HEIGHT, \n NOTE_HASH_TREE_HEIGHT,\n NUM_FIELDS_PER_SHA256,\n GENERATOR_INDEX__SILOED_COMMITMENT,\n GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK,\n GENERATOR_INDEX__CONSTRUCTOR,\n GENERATOR_INDEX__PARTIAL_ADDRESS,\n GENERATOR_INDEX__CONTRACT_ADDRESS,\n GENERATOR_INDEX__COMMITMENT_NONCE,\n GENERATOR_INDEX__UNIQUE_COMMITMENT,\n GENERATOR_INDEX__FUNCTION_ARGS,\n};\n\nuse dep::std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (sha256_hashed[15 - i] as Field) * v;\n low = low + (sha256_hashed[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n let hash_in_a_field = low + high * v;\n\n hash_in_a_field\n}\n\npub fn hash_args<N>(args: [Field; N]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n for i in 0..ARGS_HASH_CHUNK_COUNT {\n let mut chunk_hash = 0;\n let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;\n if start_chunk_index < (args.len() as u32) {\n let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];\n for j in 0..ARGS_HASH_CHUNK_LENGTH {\n let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;\n if item_index < (args.len() as u32) {\n chunk_args[j] = args[item_index];\n }\n }\n chunk_hash = pedersen_hash(chunk_args, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n chunks_hashes[i] = chunk_hash;\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n// Checks that `value` is a member of a merkle tree with root `root` at position `index`\n// The witness being the `sibling_path`\npub fn assert_check_membership<N>(value: Field, index: Field, sibling_path: [Field; N], root: Field) {\n let calculated_root = root_from_sibling_path(value, index, sibling_path);\n assert(calculated_root == root, \"membership check failed\");\n}\n\n// Calculate the Merkle tree root from the sibling path and leaf.\n//\n// The leaf is hashed with its sibling, and then the result is hashed\n// with the next sibling etc in the path. The last hash is the root.\n//\n// TODO(David/Someone): The cpp code is using a uint256, whereas its\n// TODO a bit simpler in Noir to just have a bit array.\n// TODO: I'd generally like to avoid u256 for algorithms like \n// this because it means we never even need to consider cases where \n// the index is greater than p.\npub fn root_from_sibling_path<N>(leaf: Field, leaf_index: Field, sibling_path: [Field; N]) -> Field {\n let mut node = leaf;\n let indices = leaf_index.to_le_bits(N);\n\n for i in 0..N {\n let (hash_left, hash_right) = if indices[i] == 1 {\n (sibling_path[i], node)\n } else {\n (node, sibling_path[i])\n };\n node = merkle_hash(hash_left, hash_right);\n }\n node\n}\n\n// Calculate the function tree root from the sibling path and leaf preimage.\n//\n// TODO: The cpp code passes in components of the FunctionLeafPreimage and then \n// builds it up. We should build it up and then pass the leaf preimage as a parameter.\n// We can then choose to have a general method that takes in anything hashable\n// and deduplicate the logic in `contract_tree_root_from_siblings`\npub fn function_tree_root_from_siblings(\n selector: FunctionSelector,\n is_internal: bool,\n is_private: bool,\n vk_hash: Field,\n acir_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = FunctionLeafPreimage { selector, is_internal, is_private, vk_hash, acir_hash };\n\n let function_leaf = function_leaf_preimage.hash();\n\n let function_tree_root = root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path);\n\n function_tree_root\n}\n\n// Calculate the contract tree root from the sibling path and leaf preimage.\npub fn contract_tree_root_from_siblings(\n function_tree_root: Field,\n storage_contract_address: AztecAddress,\n portal_contract_address: EthAddress,\n contract_leaf_index: Field,\n contract_leaf_sibling_path: [Field; CONTRACT_TREE_HEIGHT]\n) -> Field {\n //TODO(Kev): if we use shorthand syntax here, we get an error as expected,\n // since variable name is `storage_contract_address` but the span is incorrect.\n let contract_leaf_preimage = ContractLeafPreimage { contract_address: storage_contract_address, portal_contract_address, function_tree_root };\n\n let contract_leaf = contract_leaf_preimage.hash();\n\n let computed_contract_tree_root = root_from_sibling_path(contract_leaf, contract_leaf_index, contract_leaf_sibling_path);\n\n computed_contract_tree_root\n}\n\npub fn read_request_root_from_siblings(\n read_request: Field,\n leaf_index: Field,\n sibling_path: [Field; NOTE_HASH_TREE_HEIGHT]\n) -> Field {\n root_from_sibling_path(read_request, leaf_index, sibling_path)\n}\n\npub fn silo_commitment(address: AztecAddress, inner_commitment: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n inner_commitment\n ],\n GENERATOR_INDEX__SILOED_COMMITMENT\n )\n}\n\npub fn silo_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\nfn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\n// TODO CPP uses blake2s for this\npub fn compute_new_contract_address_hash(new_contract_address: AztecAddress) -> Field {\n dep::std::hash::pedersen_hash([new_contract_address.to_field()])\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n rollup_version_id: Field,\n portal_contract_address: EthAddress,\n chain_id: Field,\n content: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new(0);\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, portal_contract_address.to_field(), chain_id, content\n ];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn compute_constructor_hash(\n function_data: FunctionData,\n args_hash: Field,\n constructor_vk_hash: Field\n) -> Field {\n let function_data_hash = function_data.hash();\n\n pedersen_hash(\n [\n function_data_hash,\n args_hash,\n constructor_vk_hash\n ],\n GENERATOR_INDEX__CONSTRUCTOR\n )\n}\n\n// Computes sha256 hash of 2 input hashes stored in 4 fields.\n// \n// This method is bn254 specific. Two fields is needed in order to \n// encode the sha256 output. It can be abstracted away with any 4-2 hash function.\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\n// Returning a Field would be desirable because then this can be replaced with \n// poseidon without changing the rest of the code\n//\npub fn accumulate_sha256(input: [U128; 4]) -> [Field; NUM_FIELDS_PER_SHA256] {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually \n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field \n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n //\n // Concatenate 4 u128 bit integers into a byte array.\n let mut hash_input_flattened = [0; 64];\n for offset in 0..4 {\n let input_as_bytes = input[offset].to_be_bytes();\n for byte_index in 0..16 {\n hash_input_flattened[offset * 16 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n let sha_digest = dep::std::hash::sha256(hash_input_flattened);\n\n U256::from_bytes32(sha_digest).to_u128_limbs()\n}\n\npub fn compute_logs_hash(\n previous_log_hash: [Field; 2],\n current_log_hash: [Field; 2]\n) -> [Field; NUM_FIELDS_PER_SHA256] {\n accumulate_sha256(\n [\n U128::from_integer(previous_log_hash[0]),\n U128::from_integer(previous_log_hash[1]),\n U128::from_integer(current_log_hash[0]),\n U128::from_integer(current_log_hash[1])\n ]\n )\n}\n\npub fn compute_commitment_nonce(first_nullifier: Field, commitment_index: Field) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n commitment_index\n ],\n GENERATOR_INDEX__COMMITMENT_NONCE\n )\n}\n\npub fn compute_unique_siloed_commitment(nonce: Field, siloed_commitment: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n siloed_commitment\n ],\n GENERATOR_INDEX__UNIQUE_COMMITMENT\n )\n}\n\npub fn compute_unique_siloed_commitments<N>(\n first_nullifier: Field,\n siloed_commitments: [SideEffect; N]\n) -> [SideEffect; N] {\n let mut unique_siloed_commitments = [SideEffect::empty(); N];\n for i in 0..N {\n let siloed_commitment = siloed_commitments[i];\n if siloed_commitment.value != 0 {\n let nonce = compute_commitment_nonce(first_nullifier, i);\n unique_siloed_commitments[i] = SideEffect {\n value: compute_unique_siloed_commitment(nonce, siloed_commitment.value),\n counter: siloed_commitment.counter\n };\n }\n }\n unique_siloed_commitments\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n",
3130
+ "source": "use crate::address::{AztecAddress, EthAddress};\nuse crate::mocked::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::function_leaf_preimage::{ContractClassFunctionLeafPreimage, FunctionLeafPreimage};\nuse crate::contract_class::ContractClassId;\nuse crate::abis::new_contract_data::NewContractData as ContractLeafPreimage;\nuse crate::abis::function_data::FunctionData;\nuse crate::abis::side_effect::{SideEffect};\nuse crate::utils::uint256::U256;\nuse crate::constants::{\n ARGS_HASH_CHUNK_COUNT,\n ARGS_HASH_CHUNK_LENGTH,\n CONTRACT_TREE_HEIGHT, \n FUNCTION_TREE_HEIGHT, \n NOTE_HASH_TREE_HEIGHT,\n NUM_FIELDS_PER_SHA256,\n GENERATOR_INDEX__SILOED_COMMITMENT,\n GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK,\n GENERATOR_INDEX__CONSTRUCTOR,\n GENERATOR_INDEX__PARTIAL_ADDRESS,\n GENERATOR_INDEX__CONTRACT_ADDRESS,\n GENERATOR_INDEX__COMMITMENT_NONCE,\n GENERATOR_INDEX__UNIQUE_COMMITMENT,\n GENERATOR_INDEX__FUNCTION_ARGS,\n};\n\nuse dep::std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (sha256_hashed[15 - i] as Field) * v;\n low = low + (sha256_hashed[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n let hash_in_a_field = low + high * v;\n\n hash_in_a_field\n}\n\npub fn hash_args<N>(args: [Field; N]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n for i in 0..ARGS_HASH_CHUNK_COUNT {\n let mut chunk_hash = 0;\n let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;\n if start_chunk_index < (args.len() as u32) {\n let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];\n for j in 0..ARGS_HASH_CHUNK_LENGTH {\n let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;\n if item_index < (args.len() as u32) {\n chunk_args[j] = args[item_index];\n }\n }\n chunk_hash = pedersen_hash(chunk_args, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n chunks_hashes[i] = chunk_hash;\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n// Checks that `value` is a member of a merkle tree with root `root` at position `index`\n// The witness being the `sibling_path`\npub fn assert_check_membership<N>(value: Field, index: Field, sibling_path: [Field; N], root: Field) {\n let calculated_root = root_from_sibling_path(value, index, sibling_path);\n assert(calculated_root == root, \"membership check failed\");\n}\n\n// Calculate the Merkle tree root from the sibling path and leaf.\n//\n// The leaf is hashed with its sibling, and then the result is hashed\n// with the next sibling etc in the path. The last hash is the root.\n//\n// TODO(David/Someone): The cpp code is using a uint256, whereas its\n// TODO a bit simpler in Noir to just have a bit array.\n// TODO: I'd generally like to avoid u256 for algorithms like \n// this because it means we never even need to consider cases where \n// the index is greater than p.\npub fn root_from_sibling_path<N>(leaf: Field, leaf_index: Field, sibling_path: [Field; N]) -> Field {\n let mut node = leaf;\n let indices = leaf_index.to_le_bits(N);\n\n for i in 0..N {\n let (hash_left, hash_right) = if indices[i] == 1 {\n (sibling_path[i], node)\n } else {\n (node, sibling_path[i])\n };\n node = merkle_hash(hash_left, hash_right);\n }\n node\n}\n\n// Calculate the function tree root from the sibling path and leaf preimage.\n//\n// TODO: The cpp code passes in components of the FunctionLeafPreimage and then \n// builds it up. We should build it up and then pass the leaf preimage as a parameter.\n// We can then choose to have a general method that takes in anything hashable\n// and deduplicate the logic in `contract_tree_root_from_siblings`\npub fn function_tree_root_from_siblings(\n selector: FunctionSelector,\n is_internal: bool,\n is_private: bool,\n vk_hash: Field,\n acir_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = FunctionLeafPreimage { selector, is_internal, is_private, vk_hash, acir_hash };\n\n let function_leaf = function_leaf_preimage.hash();\n\n let function_tree_root = root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path);\n\n function_tree_root\n}\n\n// Calculate the contract tree root from the sibling path and leaf preimage.\npub fn contract_tree_root_from_siblings(\n contract_class_id: ContractClassId,\n storage_contract_address: AztecAddress,\n portal_contract_address: EthAddress,\n contract_leaf_index: Field,\n contract_leaf_sibling_path: [Field; CONTRACT_TREE_HEIGHT]\n) -> Field {\n //TODO(Kev): if we use shorthand syntax here, we get an error as expected,\n // since variable name is `storage_contract_address` but the span is incorrect.\n let contract_leaf_preimage = ContractLeafPreimage { contract_address: storage_contract_address, portal_contract_address, contract_class_id };\n\n let contract_leaf = contract_leaf_preimage.hash();\n\n let computed_contract_tree_root = root_from_sibling_path(contract_leaf, contract_leaf_index, contract_leaf_sibling_path);\n\n computed_contract_tree_root\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\npub fn read_request_root_from_siblings(\n read_request: Field,\n leaf_index: Field,\n sibling_path: [Field; NOTE_HASH_TREE_HEIGHT]\n) -> Field {\n root_from_sibling_path(read_request, leaf_index, sibling_path)\n}\n\npub fn silo_commitment(address: AztecAddress, inner_commitment: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n inner_commitment\n ],\n GENERATOR_INDEX__SILOED_COMMITMENT\n )\n}\n\npub fn silo_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\nfn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\n// TODO CPP uses blake2s for this\npub fn compute_new_contract_address_hash(new_contract_address: AztecAddress) -> Field {\n dep::std::hash::pedersen_hash([new_contract_address.to_field()])\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n rollup_version_id: Field,\n portal_contract_address: EthAddress,\n chain_id: Field,\n content: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new(0);\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, portal_contract_address.to_field(), chain_id, content\n ];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn compute_constructor_hash(\n function_data: FunctionData,\n args_hash: Field,\n constructor_vk_hash: Field\n) -> Field {\n let function_data_hash = function_data.hash();\n\n pedersen_hash(\n [\n function_data_hash,\n args_hash,\n constructor_vk_hash\n ],\n GENERATOR_INDEX__CONSTRUCTOR\n )\n}\n\n// Computes sha256 hash of 2 input hashes stored in 4 fields.\n// \n// This method is bn254 specific. Two fields is needed in order to \n// encode the sha256 output. It can be abstracted away with any 4-2 hash function.\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\n// Returning a Field would be desirable because then this can be replaced with \n// poseidon without changing the rest of the code\n//\npub fn accumulate_sha256(input: [U128; 4]) -> [Field; NUM_FIELDS_PER_SHA256] {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually \n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field \n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n //\n // Concatenate 4 u128 bit integers into a byte array.\n let mut hash_input_flattened = [0; 64];\n for offset in 0..4 {\n let input_as_bytes = input[offset].to_be_bytes();\n for byte_index in 0..16 {\n hash_input_flattened[offset * 16 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n let sha_digest = dep::std::hash::sha256(hash_input_flattened);\n\n U256::from_bytes32(sha_digest).to_u128_limbs()\n}\n\npub fn compute_logs_hash(\n previous_log_hash: [Field; 2],\n current_log_hash: [Field; 2]\n) -> [Field; NUM_FIELDS_PER_SHA256] {\n accumulate_sha256(\n [\n U128::from_integer(previous_log_hash[0]),\n U128::from_integer(previous_log_hash[1]),\n U128::from_integer(current_log_hash[0]),\n U128::from_integer(current_log_hash[1])\n ]\n )\n}\n\npub fn compute_commitment_nonce(first_nullifier: Field, commitment_index: Field) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n commitment_index\n ],\n GENERATOR_INDEX__COMMITMENT_NONCE\n )\n}\n\npub fn compute_unique_siloed_commitment(nonce: Field, siloed_commitment: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n siloed_commitment\n ],\n GENERATOR_INDEX__UNIQUE_COMMITMENT\n )\n}\n\npub fn compute_unique_siloed_commitments<N>(\n first_nullifier: Field,\n siloed_commitments: [SideEffect; N]\n) -> [SideEffect; N] {\n let mut unique_siloed_commitments = [SideEffect::empty(); N];\n for i in 0..N {\n let siloed_commitment = siloed_commitments[i];\n if siloed_commitment.value != 0 {\n let nonce = compute_commitment_nonce(first_nullifier, i);\n unique_siloed_commitments[i] = SideEffect {\n value: compute_unique_siloed_commitment(nonce, siloed_commitment.value),\n counter: siloed_commitment.counter\n };\n }\n }\n unique_siloed_commitments\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n",
2886
3131
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/hash.nr"
2887
3132
  },
3133
+ "110": {
3134
+ "source": "// general util packages/modules are usually bad practice\n// because there is no criteria for what we should not put in here.\n// Reducing the size of this package would be welcome.\n\nmod arrays;\nmod field;\nmod reader;\nmod uint256;\n\n// if predicate == true then return lhs, else return rhs\npub fn conditional_assign(predicate: bool, lhs: Field, rhs: Field) -> Field {\n if predicate { lhs } else { rhs }\n}\n\n// Copied over from \"yarn-project/aztec-nr/aztec/src/utils.nr\"\npub fn arr_copy_slice<T, N, M>(src: [T; N], mut dst: [T; M], offset: Field) -> [T; M] {\n for i in 0..dst.len() {\n dst[i] = src[i + offset];\n }\n dst\n}\n",
3135
+ "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/utils.nr"
3136
+ },
2888
3137
  "125": {
2889
- "source": "use crate::{\n constants::{\n GENERATOR_INDEX__CONTRACT_ADDRESS,\n GENERATOR_INDEX__PARTIAL_ADDRESS,\n },\n hash::pedersen_hash,\n utils,\n grumpkin_point::GrumpkinPoint,\n};\nuse dep::std::cmp::Eq;\nuse crate::traits::{Empty, ToField};\n\n// Aztec address\nstruct AztecAddress {\n inner : Field\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self {\n inner: 0\n }\n }\n\n pub fn from_field(field : Field) -> Self {\n Self {\n inner : field\n }\n }\n\n pub fn compute(pub_key: GrumpkinPoint, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n pedersen_hash(\n [pub_key.x, pub_key.y, partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS\n )\n )\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n \n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs : Self, rhs : Self) -> Self{\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self {\n inner : result\n }\n }\n\n pub fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n\n pub fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0]\n }\n }\n}\n\nstruct EthAddress{\n inner : Field\n}\n\nimpl Eq for EthAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for EthAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for EthAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl EthAddress{\n pub fn zero() -> Self {\n Self {\n inner: 0\n }\n }\n\n pub fn from_field(field : Field) -> Self {\n Self {\n inner : field\n }\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs : Self, rhs : Self) -> Self{\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self {\n inner : result\n }\n }\n\n pub fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n\n pub fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0]\n }\n }\n}\n\n// Partial address\nstruct PartialAddress {\n inner : Field\n}\n\nimpl ToField for PartialAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl PartialAddress {\n pub fn from_field(field : Field) -> Self {\n Self {\n inner : field\n }\n }\n\n pub fn compute(contract_address_salt : Field, function_tree_root : Field, constructor_hash : Field) -> Self {\n PartialAddress::from_field(\n pedersen_hash([\n // TODO why the zeroes?\n 0,\n 0,\n contract_address_salt,\n function_tree_root,\n constructor_hash\n ], GENERATOR_INDEX__PARTIAL_ADDRESS)\n )\n }\n\n pub fn to_field(self) -> Field {\n self.inner\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n",
3138
+ "source": "use crate::{\n constants::{\n GENERATOR_INDEX__CONTRACT_ADDRESS,\n GENERATOR_INDEX__PARTIAL_ADDRESS,\n GENERATOR_INDEX__CONSTRUCTOR\n },\n hash::pedersen_hash,\n contract_class::ContractClassId,\n utils,\n grumpkin_point::GrumpkinPoint,\n};\nuse dep::std::cmp::Eq;\nuse crate::traits::{Empty, ToField, Serialize, Deserialize};\nuse crate::type_serialization::{ETH_ADDRESS_SERIALIZED_LEN, AZTEC_ADDRESS_SERIALIZED_LEN};\n\n// Aztec address\nstruct AztecAddress {\n inner : Field\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<AZTEC_ADDRESS_SERIALIZED_LEN> for AztecAddress {\n fn serialize(self: Self) -> [Field; AZTEC_ADDRESS_SERIALIZED_LEN] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<AZTEC_ADDRESS_SERIALIZED_LEN> for AztecAddress {\n fn deserialize(fields: [Field; AZTEC_ADDRESS_SERIALIZED_LEN]) -> Self {\n AztecAddress::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self {\n inner: 0\n }\n }\n\n pub fn from_field(field : Field) -> Self {\n Self {\n inner : field\n }\n }\n\n pub fn compute_from_public_key(pub_key: GrumpkinPoint, contract_class_id: ContractClassId, salt: Field, initialization_hash: Field, portal_contract_address: EthAddress) -> AztecAddress {\n AztecAddress::compute(PublicKeysHash::compute(pub_key), PartialAddress::compute(contract_class_id, salt, initialization_hash, portal_contract_address))\n }\n\n pub fn compute(pub_keys_hash: PublicKeysHash, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n pedersen_hash(\n [pub_keys_hash.to_field(), partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS\n )\n )\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n \n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs : Self, rhs : Self) -> Self{\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self {\n inner : result\n }\n }\n}\n\nstruct EthAddress{\n inner : Field\n}\n\nimpl Eq for EthAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for EthAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for EthAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<ETH_ADDRESS_SERIALIZED_LEN> for EthAddress {\n fn serialize(self: Self) -> [Field; ETH_ADDRESS_SERIALIZED_LEN] {\n [self.inner]\n }\n}\n\nimpl Deserialize<ETH_ADDRESS_SERIALIZED_LEN> for EthAddress {\n fn deserialize(fields: [Field; ETH_ADDRESS_SERIALIZED_LEN]) -> Self {\n Self {\n inner: fields[0]\n }\n }\n}\n\nimpl EthAddress{\n pub fn zero() -> Self {\n Self {\n inner: 0\n }\n }\n\n pub fn from_field(field : Field) -> Self {\n Self {\n inner : field\n }\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs : Self, rhs : Self) -> Self{\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self {\n inner : result\n }\n }\n}\n\n// Partial address\nstruct PartialAddress {\n inner : Field\n}\n\nimpl ToField for PartialAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl PartialAddress {\n pub fn from_field(field : Field) -> Self {\n Self {\n inner : field\n }\n }\n\n pub fn compute(contract_class_id: ContractClassId, salt: Field, initialization_hash: Field, portal_contract_address: EthAddress) -> Self {\n PartialAddress::compute_from_salted_initialization_hash(contract_class_id, SaltedInitializationHash::compute(salt, initialization_hash, portal_contract_address))\n }\n\n pub fn compute_from_salted_initialization_hash(contract_class_id: ContractClassId, salted_initialization_hash: SaltedInitializationHash) -> Self {\n PartialAddress::from_field(\n pedersen_hash([\n contract_class_id.to_field(),\n salted_initialization_hash.to_field()\n ], GENERATOR_INDEX__PARTIAL_ADDRESS)\n )\n }\n\n\n pub fn to_field(self) -> Field {\n self.inner\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n\n// Salted initialization hash. Used in the computation of a partial address.\nstruct SaltedInitializationHash {\n inner: Field\n}\n\nimpl ToField for SaltedInitializationHash {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl SaltedInitializationHash {\n pub fn from_field(field : Field) -> Self {\n Self {\n inner : field\n }\n }\n\n pub fn compute(salt : Field, initialization_hash: Field, portal_contract_address: EthAddress) -> Self {\n SaltedInitializationHash::from_field(\n pedersen_hash([\n salt,\n initialization_hash,\n portal_contract_address.to_field(),\n ], GENERATOR_INDEX__PARTIAL_ADDRESS)\n )\n }\n\n pub fn to_field(self) -> Field {\n self.inner\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n\n// Public keys hash. Used in the computation of an address.\nstruct PublicKeysHash {\n inner: Field\n}\n\nimpl ToField for PublicKeysHash {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<1> for PublicKeysHash {\n fn serialize(self: Self) -> [Field; 1] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<1> for PublicKeysHash {\n fn deserialize(fields: [Field; 1]) -> Self {\n PublicKeysHash::from_field(fields[0])\n }\n}\n\nimpl PublicKeysHash {\n pub fn from_field(field : Field) -> Self {\n Self {\n inner : field\n }\n }\n\n pub fn compute(public_key: GrumpkinPoint) -> Self {\n PublicKeysHash::from_field(\n pedersen_hash([\n public_key.x,\n public_key.y,\n ], GENERATOR_INDEX__PARTIAL_ADDRESS)\n )\n }\n\n pub fn to_field(self) -> Field {\n self.inner\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n\npub fn compute_initialization_hash(selector: Field, args_hash: Field) -> Field {\n pedersen_hash(\n [\n selector,\n args_hash\n ],\n GENERATOR_INDEX__CONSTRUCTOR\n )\n}\n",
2890
3139
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/address.nr"
2891
3140
  },
2892
- "130": {
2893
- "source": "use crate::address::EthAddress;\nuse crate::constants::{\n CONTRACT_DEPLOYMENT_DATA_LENGTH,\n GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA,\n};\nuse crate::hash::pedersen_hash;\nuse crate::grumpkin_point::GrumpkinPoint;\nuse crate::traits::Hash;\n\n// docs:start:contract-deployment-data\nstruct ContractDeploymentData {\n deployer_public_key : GrumpkinPoint,\n constructor_vk_hash : Field,\n function_tree_root : Field,\n contract_address_salt : Field,\n portal_contract_address : EthAddress,\n}\n// docs:end:contract-deployment-data\n\nimpl Hash for ContractDeploymentData {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA)\n }\n}\n\nimpl ContractDeploymentData {\n fn serialize(self) -> [Field; CONTRACT_DEPLOYMENT_DATA_LENGTH] {\n [\n self.deployer_public_key.x,\n self.deployer_public_key.y,\n self.constructor_vk_hash,\n self.function_tree_root,\n self.contract_address_salt,\n self.portal_contract_address.to_field(),\n ]\n }\n\n fn assert_is_zero(self) {\n self.deployer_public_key.assert_is_zero();\n assert(self.constructor_vk_hash == 0);\n assert(self.function_tree_root == 0);\n assert(self.contract_address_salt == 0);\n self.portal_contract_address.assert_is_zero();\n }\n\n}\n",
2894
- "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/contrakt/deployment_data.nr"
3141
+ "127": {
3142
+ "source": "use crate::traits::{Serialize, Deserialize};\n\nglobal BOOL_SERIALIZED_LEN: Field = 1;\nglobal U32_SERIALIZED_LEN: Field = 1;\nglobal U8_SERIALIZED_LEN: Field = 1;\nglobal FIELD_SERIALIZED_LEN: Field = 1;\nglobal AZTEC_ADDRESS_SERIALIZED_LEN = 1;\nglobal ETH_ADDRESS_SERIALIZED_LEN = 1;\n\nimpl Serialize<U32_SERIALIZED_LEN> for u32 {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U32_SERIALIZED_LEN> for u32 {\n fn deserialize(fields: [Field; U32_SERIALIZED_LEN]) -> Self {\n fields[0] as u32\n }\n}\n\nimpl Serialize<U8_SERIALIZED_LEN> for u8 {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U8_SERIALIZED_LEN> for u8 {\n fn deserialize(fields: [Field; U8_SERIALIZED_LEN]) -> Self {\n fields[0] as u8\n }\n}\n\nimpl Serialize<FIELD_SERIALIZED_LEN> for Field {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self]\n }\n}\n\nimpl Deserialize<FIELD_SERIALIZED_LEN> for Field {\n fn deserialize(fields: [Field; FIELD_SERIALIZED_LEN]) -> Self {\n fields[0]\n }\n}\n\nimpl Serialize<BOOL_SERIALIZED_LEN> for bool {\n fn serialize(self) -> [Field; BOOL_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<BOOL_SERIALIZED_LEN> for bool {\n fn deserialize(fields: [Field; BOOL_SERIALIZED_LEN]) -> bool {\n fields[0] as bool\n }\n}\n",
3143
+ "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/type_serialization.nr"
2895
3144
  },
2896
3145
  "131": {
2897
- "source": "use crate::{\n constants::{\n CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH,\n GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST,\n },\n hash::pedersen_hash,\n};\nuse dep::std::cmp::Eq;\nuse crate::traits::{Hash, Empty};\n\nstruct StorageUpdateRequest{\n storage_slot : Field,\n old_value : Field,\n new_value : Field,\n}\n\nimpl Eq for StorageUpdateRequest {\n fn eq(self, request: Self) -> bool {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)\n (request.storage_slot == self.storage_slot)\n & (request.old_value == self.old_value)\n & (request.new_value == self.new_value)\n }\n}\n\nimpl Empty for StorageUpdateRequest {\n fn empty() -> Self {\n StorageUpdateRequest {\n storage_slot: 0,\n old_value: 0,\n new_value: 0,\n }\n }\n}\n\nimpl Hash for StorageUpdateRequest {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST)\n }\n}\n\nimpl StorageUpdateRequest {\n pub fn serialize(self) -> [Field; CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH] {\n [self.storage_slot, self.old_value, self.new_value]\n }\n\n pub fn is_empty(self) -> bool {\n self.storage_slot == 0\n }\n}\n",
2898
- "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/contrakt/storage_update_request.nr"
3146
+ "source": "use crate::{\n address::EthAddress,\n contract_class::ContractClassId,\n constants::{\n CONTRACT_DEPLOYMENT_DATA_LENGTH,\n GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA,\n },\n grumpkin_point::GrumpkinPoint,\n hash::pedersen_hash,\n traits::{\n Deserialize,\n Hash,\n Serialize,\n },\n};\n\n// docs:start:contract-deployment-data\nstruct ContractDeploymentData {\n public_key : GrumpkinPoint,\n initialization_hash : Field,\n contract_class_id : ContractClassId,\n contract_address_salt : Field,\n portal_contract_address : EthAddress,\n}\n// docs:end:contract-deployment-data\n\nimpl Eq for ContractDeploymentData {\n fn eq(self, other: Self) -> bool {\n self.public_key.eq(other.public_key) &\n self.initialization_hash.eq(other.initialization_hash) &\n self.contract_class_id.eq(other.contract_class_id) &\n self.contract_address_salt.eq(other.contract_address_salt) &\n self.portal_contract_address.eq(other.portal_contract_address)\n }\n}\n\nimpl Hash for ContractDeploymentData {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA)\n }\n}\n\nimpl Serialize<CONTRACT_DEPLOYMENT_DATA_LENGTH> for ContractDeploymentData {\n fn serialize(self) -> [Field; CONTRACT_DEPLOYMENT_DATA_LENGTH] {\n [\n self.public_key.x,\n self.public_key.y,\n self.initialization_hash,\n self.contract_class_id.to_field(),\n self.contract_address_salt,\n self.portal_contract_address.to_field(),\n ]\n }\n}\n\nimpl Deserialize<CONTRACT_DEPLOYMENT_DATA_LENGTH> for ContractDeploymentData {\n fn deserialize(serialized: [Field; CONTRACT_DEPLOYMENT_DATA_LENGTH]) -> Self {\n Self {\n public_key: GrumpkinPoint {\n x: serialized[0],\n y: serialized[1],\n },\n initialization_hash: serialized[2],\n contract_class_id: ContractClassId::from_field(serialized[3]),\n contract_address_salt: serialized[4],\n portal_contract_address: EthAddress::from_field(serialized[5]),\n }\n }\n}\n\nimpl ContractDeploymentData {\n fn assert_is_zero(self) {\n self.public_key.assert_is_zero();\n assert(self.initialization_hash == 0);\n self.contract_class_id.assert_is_zero();\n assert(self.contract_address_salt == 0);\n self.portal_contract_address.assert_is_zero();\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let data: ContractDeploymentData = dep::std::unsafe::zeroed();\n let serialized = data.serialize();\n let deserialized = ContractDeploymentData::deserialize(serialized);\n assert(data.eq(deserialized));\n}\n",
3147
+ "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/contrakt/deployment_data.nr"
2899
3148
  },
2900
- "132": {
2901
- "source": "use crate::{\n constants::{\n CONTRACT_STORAGE_READ_LENGTH,\n GENERATOR_INDEX__PUBLIC_DATA_READ,\n },\n hash::pedersen_hash,\n};\nuse crate::traits::Empty;\n\nstruct StorageRead {\n storage_slot: Field,\n current_value: Field,\n}\n\nimpl Empty for StorageRead { \n fn empty() -> Self {\n Self {\n storage_slot: 0,\n current_value: 0,\n }\n }\n}\n\nimpl StorageRead {\n\n pub fn serialize(self) -> [Field; CONTRACT_STORAGE_READ_LENGTH] {\n [self.storage_slot, self.current_value]\n }\n\n pub fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_READ)\n }\n\n pub fn is_empty(self) -> bool {\n self.storage_slot == 0\n }\n}\n",
2902
- "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/contrakt/storage_read.nr"
3149
+ "139": {
3150
+ "source": "struct Reader<N> {\n data: [Field; N],\n offset: Field,\n}\n\nimpl<N> Reader<N> {\n pub fn new(data: [Field; N]) -> Self {\n Self { data, offset: 0 }\n }\n\n pub fn read(&mut self) -> Field {\n let result = self.data[self.offset];\n self.offset += 1;\n result\n }\n\n pub fn read_array<K>(&mut self, mut result: [Field; K]) -> [Field; K] {\n for i in 0..K {\n result[i] = self.data[self.offset + i];\n }\n self.offset += K;\n result\n }\n\n // TODO(#4394)\n pub fn read_struct<T, K>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array([0; K]));\n result\n }\n\n pub fn read_struct_array<T, K, C>(&mut self, deserialise: fn([Field; K]) -> T, mut result: [T; C]) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn finish(self) {\n assert(self.offset == self.data.len(), \"Reader did not read all data\");\n } \n}\n",
3151
+ "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/utils/reader.nr"
2903
3152
  },
2904
- "140": {
2905
- "source": "use crate::abis::{\n function_data::FunctionData,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_circuit_public_inputs::PublicCircuitPublicInputs,\n};\nuse crate::address::AztecAddress;\nuse crate::constants::{\n GENERATOR_INDEX__CALL_STACK_ITEM,\n};\nuse crate::traits::Hash;\n\nstruct PrivateCallStackItem {\n // This is the _actual_ contract address relating to where this function's code resides in the\n // contract tree. Regardless of whether this is a call or delegatecall, this\n // `contract_address` _does not change_. Amongst other things, it's used as a lookup for\n // getting the correct code from the tree. There is a separate `storage_contract_address`\n // within a CallStackItem which varies depending on whether this is a call or delegatecall.\n contract_address: AztecAddress,\n public_inputs: PrivateCircuitPublicInputs,\n function_data: FunctionData,\n // Not really needed for PrivateCallStackItem.\n is_execution_request: bool,\n}\n\nimpl Hash for PrivateCallStackItem {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator([\n self.contract_address.to_field(),\n self.function_data.hash(),\n self.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nstruct PublicCallStackItem {\n contract_address: AztecAddress,\n public_inputs: PublicCircuitPublicInputs,\n function_data: FunctionData,\n // True if this call stack item represents a request to execute a function rather than a\n // fulfilled execution. Used when enqueuing calls from private to public functions.\n is_execution_request: bool,\n}\n\nimpl Hash for PublicCallStackItem {\n fn hash(self) -> Field {\n let item = if self.is_execution_request {\n self.as_execution_request()\n } else {\n self\n };\n\n dep::std::hash::pedersen_hash_with_separator([\n item.contract_address.to_field(),\n item.function_data.hash(),\n item.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl PublicCallStackItem {\n fn as_execution_request(self) -> Self {\n let public_inputs = self.public_inputs;\n let mut request_public_inputs: PublicCircuitPublicInputs = dep::std::unsafe::zeroed();\n request_public_inputs.call_context = public_inputs.call_context;\n request_public_inputs.args_hash = public_inputs.args_hash;\n\n let call_stack_item = PublicCallStackItem {\n contract_address: self.contract_address,\n function_data: self.function_data,\n is_execution_request: true,\n public_inputs: request_public_inputs,\n };\n call_stack_item\n }\n}\n",
2906
- "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/call_stack_item.nr"
3153
+ "142": {
3154
+ "source": "use crate::constants::{GENERATOR_INDEX__SIDE_EFFECT};\nuse dep::std::cmp::Eq;\nuse crate::traits::{Empty, Hash, Serialize, Deserialize};\n\ntrait Ordered {\n fn counter(self) -> u32;\n}\n\nstruct SideEffect{\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for SideEffect {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for SideEffect {\n fn eq(self, side_effect: SideEffect) -> bool {\n (self.value == side_effect.value)\n & (self.counter == side_effect.counter)\n }\n}\n\nimpl Empty for SideEffect {\n fn empty() -> Self {\n SideEffect {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Hash for SideEffect {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator(\n self.serialize() , GENERATOR_INDEX__SIDE_EFFECT)\n }\n}\n\nimpl Serialize<2> for SideEffect {\n fn serialize(self) -> [Field; 2] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<2> for SideEffect {\n fn deserialize(values: [Field; 2]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nstruct SideEffectLinkedToNoteHash{\n value: Field,\n note_hash: Field,\n counter: u32,\n}\n\nimpl Ordered for SideEffectLinkedToNoteHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for SideEffectLinkedToNoteHash {\n fn eq(self, side_effect: SideEffectLinkedToNoteHash) -> bool {\n (self.value == side_effect.value)\n & (self.note_hash == side_effect.note_hash) \n & (self.counter == side_effect.counter)\n }\n}\n\nimpl Empty for SideEffectLinkedToNoteHash {\n fn empty() -> Self {\n SideEffectLinkedToNoteHash {\n value: 0,\n note_hash: 0,\n counter: 0,\n }\n }\n}\n\nimpl Hash for SideEffectLinkedToNoteHash {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__SIDE_EFFECT)\n }\n}\n\nimpl Serialize<3> for SideEffectLinkedToNoteHash {\n fn serialize(self) -> [Field; 3] {\n [self.value, self.note_hash, self.counter as Field]\n }\n}\n\nimpl Deserialize<3> for SideEffectLinkedToNoteHash {\n fn deserialize(values: [Field; 3]) -> Self {\n Self {\n value: values[0],\n note_hash: values[1],\n counter: values[2] as u32,\n }\n }\n}\n\n",
3155
+ "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/side_effect.nr"
2907
3156
  },
2908
3157
  "144": {
2909
- "source": "use crate::constants::{GENERATOR_INDEX__SIDE_EFFECT};\nuse dep::std::cmp::Eq;\nuse crate::traits::{Empty, Hash};\n\ntrait Ordered {\n fn counter(self) -> u32;\n}\n\nstruct SideEffect{\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for SideEffect {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for SideEffect {\n fn eq(self, side_effect: SideEffect) -> bool {\n (self.value == side_effect.value)\n & (self.counter == side_effect.counter)\n }\n}\n\nimpl Empty for SideEffect {\n fn empty() -> Self {\n SideEffect {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Hash for SideEffect {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator(\n self.serialize() , GENERATOR_INDEX__SIDE_EFFECT)\n }\n}\n\nimpl SideEffect {\n pub fn serialize(self) -> [Field; 2] {\n [self.value, self.counter as Field]\n }\n\n pub fn deserialise(values: [Field; 2]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n\n pub fn is_empty(self) -> bool {\n (self.value == 0)\n & (self.counter == 0)\n }\n}\n\nstruct SideEffectLinkedToNoteHash{\n value: Field,\n note_hash: Field,\n counter: u32,\n}\n\nimpl Ordered for SideEffectLinkedToNoteHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for SideEffectLinkedToNoteHash {\n fn eq(self, side_effect: SideEffectLinkedToNoteHash) -> bool {\n (self.value == side_effect.value)\n & (self.note_hash == side_effect.note_hash) \n & (self.counter == side_effect.counter)\n }\n}\n\nimpl Empty for SideEffectLinkedToNoteHash {\n fn empty() -> Self {\n SideEffectLinkedToNoteHash {\n value: 0,\n note_hash: 0,\n counter: 0,\n }\n }\n}\n\nimpl Hash for SideEffectLinkedToNoteHash {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__SIDE_EFFECT)\n }\n}\n\nimpl SideEffectLinkedToNoteHash{\n pub fn serialize(self) -> [Field; 3] {\n [self.value, self.note_hash, self.counter as Field]\n }\n\n pub fn deserialise(values: [Field; 3]) -> Self {\n Self {\n value: values[0],\n note_hash: values[1],\n counter: values[2] as u32,\n }\n }\n\n pub fn is_empty(self) -> bool {\n (self.value == 0)\n & (self.note_hash == 0)\n & (self.counter == 0)\n }\n}\n\n",
2910
- "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/side_effect.nr"
3158
+ "source": "use crate::abis::{\n function_data::FunctionData,\n public_circuit_public_inputs::PublicCircuitPublicInputs,\n};\nuse crate::address::AztecAddress;\nuse crate::constants::GENERATOR_INDEX__CALL_STACK_ITEM;\nuse crate::traits::Hash;\n\nstruct PublicCallStackItem {\n contract_address: AztecAddress,\n public_inputs: PublicCircuitPublicInputs,\n function_data: FunctionData,\n // True if this call stack item represents a request to execute a function rather than a\n // fulfilled execution. Used when enqueuing calls from private to public functions.\n is_execution_request: bool,\n}\n\nimpl Hash for PublicCallStackItem {\n fn hash(self) -> Field {\n let item = if self.is_execution_request {\n self.as_execution_request()\n } else {\n self\n };\n\n dep::std::hash::pedersen_hash_with_separator([\n item.contract_address.to_field(),\n item.function_data.hash(),\n item.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl PublicCallStackItem {\n fn as_execution_request(self) -> Self {\n let public_inputs = self.public_inputs;\n let mut request_public_inputs: PublicCircuitPublicInputs = dep::std::unsafe::zeroed();\n request_public_inputs.call_context = public_inputs.call_context;\n request_public_inputs.args_hash = public_inputs.args_hash;\n\n let call_stack_item = PublicCallStackItem {\n contract_address: self.contract_address,\n function_data: self.function_data,\n is_execution_request: true,\n public_inputs: request_public_inputs,\n };\n call_stack_item\n }\n}\n",
3159
+ "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/public_call_stack_item.nr"
2911
3160
  },
2912
- "147": {
2913
- "source": "use crate::constants::{\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n RETURN_VALUES_LENGTH,\n GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n};\nuse crate::{\n abis::{\n call_context::CallContext,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash},\n },\n address::AztecAddress,\n contrakt::{\n storage_read::StorageRead,\n storage_update_request::StorageUpdateRequest,\n },\n header::Header,\n utils::bounded_vec::BoundedVec,\n};\n\nstruct PublicCircuitPublicInputs{\n call_context: CallContext,\n\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n\n contract_storage_update_requests: [StorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\n\n // todo: add sideeffect ranges for the input to these hashes\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [SideEffect; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash; MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n\n // Here so that the gas cost of this request can be measured by circuits, without actually needing to feed in the\n // variable-length data.\n unencrypted_log_preimages_length: Field,\n\n historical_header: Header,\n\n prover_address: AztecAddress,\n}\n\nimpl PublicCircuitPublicInputs{\n fn hash(self) -> Field { \n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595) have mercy por favor \n let mut inputs: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH> = BoundedVec::new(0);\n inputs.push(self.call_context.hash());\n inputs.push(self.args_hash);\n inputs.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n inputs.push(self.contract_storage_update_requests[i].hash());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n inputs.push(self.contract_storage_reads[i].hash());\n }\n inputs.push_array(self.public_call_stack_hashes);\n\n for i in 0..MAX_NEW_COMMITMENTS_PER_CALL{\n inputs.push(self.new_commitments[i].hash());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL{\n inputs.push(self.new_nullifiers[i].hash());\n }\n inputs.push_array(self.new_l2_to_l1_msgs);\n inputs.push_array(self.unencrypted_logs_hash);\n inputs.push(self.unencrypted_log_preimages_length);\n inputs.push_array(self.historical_header.serialize());\n inputs.push(self.prover_address.to_field());\n\n assert_eq(inputs.len(), PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH, \"Incorrect number of input fields when hashing PublicCircuitPublicInputs\");\n\n dep::std::hash::pedersen_hash_with_separator(inputs.storage, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)\n }\n\n pub fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize()); \n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n fields.push_array(self.contract_storage_update_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n fields.push_array(self.contract_storage_reads[i].serialize());\n }\n fields.push_array(self.public_call_stack_hashes);\n\n for i in 0..MAX_NEW_COMMITMENTS_PER_CALL{\n fields.push_array(self.new_commitments[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL{\n fields.push_array(self.new_nullifiers[i].serialize());\n }\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.historical_header.serialize());\n fields.push(self.prover_address.to_field());\n fields.storage\n }\n}\n",
3161
+ "146": {
3162
+ "source": "use crate::{\n abis::{\n call_context::CallContext,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash},\n },\n address::AztecAddress,\n constants::{\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n RETURN_VALUES_LENGTH,\n GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n },\n contrakt::{\n storage_read::StorageRead,\n storage_update_request::StorageUpdateRequest,\n },\n hash::pedersen_hash,\n header::Header,\n traits::{\n Hash,\n Serialize,\n Deserialize,\n },\n utils::reader::Reader,\n};\n\nstruct PublicCircuitPublicInputs{\n call_context: CallContext,\n\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n\n contract_storage_update_requests: [StorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\n\n // todo: add sideeffect ranges for the input to these hashes\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [SideEffect; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash; MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n\n // Here so that the gas cost of this request can be measured by circuits, without actually needing to feed in the\n // variable-length data.\n unencrypted_log_preimages_length: Field,\n\n // Header of a block whose state is used during public execution. Set by sequencer to be a header of a block\n // previous to the one in which the tx is included.\n historical_header: Header,\n\n prover_address: AztecAddress,\n}\n\nimpl Eq for PublicCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.serialize() == other.serialize()\n }\n}\n\nimpl Serialize<PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PublicCircuitPublicInputs {\n fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new(0); \n fields.extend_from_array(self.call_context.serialize()); \n fields.push(self.args_hash);\n fields.extend_from_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n fields.extend_from_array(self.contract_storage_update_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n fields.extend_from_array(self.contract_storage_reads[i].serialize());\n }\n fields.extend_from_array(self.public_call_stack_hashes);\n\n for i in 0..MAX_NEW_COMMITMENTS_PER_CALL{\n fields.extend_from_array(self.new_commitments[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL{\n fields.extend_from_array(self.new_nullifiers[i].serialize());\n }\n fields.extend_from_array(self.new_l2_to_l1_msgs);\n fields.extend_from_array(self.unencrypted_logs_hash);\n fields.push(self.unencrypted_log_preimages_length);\n fields.extend_from_array(self.historical_header.serialize());\n fields.push(self.prover_address.to_field());\n fields.storage\n }\n}\n\nimpl Deserialize<PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PublicCircuitPublicInputs {\n fn deserialize(serialized: [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n return_values: reader.read_array([0; RETURN_VALUES_LENGTH]),\n contract_storage_update_requests: reader.read_struct_array(StorageUpdateRequest::deserialize, [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL]),\n contract_storage_reads: reader.read_struct_array(StorageRead::deserialize, [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n new_commitments: reader.read_struct_array(SideEffect::deserialize, [SideEffect::empty(); MAX_NEW_COMMITMENTS_PER_CALL]),\n new_nullifiers: reader.read_struct_array(SideEffectLinkedToNoteHash::deserialize, [SideEffectLinkedToNoteHash::empty(); MAX_NEW_NULLIFIERS_PER_CALL]),\n new_l2_to_l1_msgs: reader.read_array([0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL]),\n unencrypted_logs_hash: reader.read_array([0; NUM_FIELDS_PER_SHA256]),\n unencrypted_log_preimages_length: reader.read(),\n historical_header: reader.read_struct(Header::deserialize),\n prover_address: reader.read_struct(AztecAddress::deserialize),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PublicCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi: PublicCircuitPublicInputs = dep::std::unsafe::zeroed();\n let serialized = pcpi.serialize();\n let deserialized = PublicCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn hash_smoke() {\n let pcpi: PublicCircuitPublicInputs = dep::std::unsafe::zeroed();\n let _hashed = pcpi.hash();\n}\n",
2914
3163
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/public_circuit_public_inputs.nr"
2915
3164
  },
3165
+ "148": {
3166
+ "source": "use crate::{\n abis::{\n function_data::FunctionData,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n },\n address::AztecAddress,\n constants::{\n GENERATOR_INDEX__CALL_STACK_ITEM,\n PRIVATE_CALL_STACK_ITEM_LENGTH,\n },\n hash::pedersen_hash,\n traits::{\n Deserialize,\n Hash,\n Serialize,\n },\n utils::reader::Reader,\n};\n\nstruct PrivateCallStackItem {\n // This is the _actual_ contract address relating to where this function's code resides in the\n // contract tree. Regardless of whether this is a call or delegatecall, this\n // `contract_address` _does not change_. Amongst other things, it's used as a lookup for\n // getting the correct code from the tree. There is a separate `storage_contract_address`\n // within a CallStackItem which varies depending on whether this is a call or delegatecall.\n contract_address: AztecAddress,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n}\n\nimpl Eq for PrivateCallStackItem {\n fn eq(self, other: Self) -> bool {\n self.contract_address.eq(other.contract_address) &\n self.function_data.eq(other.function_data) &\n self.public_inputs.eq(other.public_inputs)\n }\n}\n\nimpl Serialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn serialize(self) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_STACK_ITEM_LENGTH> = BoundedVec::new(0); \n\n fields.push(self.contract_address.to_field());\n fields.extend_from_array(self.function_data.serialize());\n fields.extend_from_array(self.public_inputs.serialize());\n\n assert_eq(fields.len(), PRIVATE_CALL_STACK_ITEM_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn deserialize(serialized: [Field; PRIVATE_CALL_STACK_ITEM_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let item = Self {\n contract_address: reader.read_struct(AztecAddress::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: reader.read_struct(PrivateCircuitPublicInputs::deserialize),\n };\n\n reader.finish();\n item\n }\n}\n\nimpl Hash for PrivateCallStackItem {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item: PrivateCallStackItem = dep::std::unsafe::zeroed();\n let serialized = item.serialize();\n let deserialized = PrivateCallStackItem::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let mut item: PrivateCallStackItem = dep::std::unsafe::zeroed();\n item.function_data.is_private = true;\n let hash = item.hash();\n\n // Value from private_call_stack_item.test.ts \"computes empty item hash\" test\n assert_eq(hash, 0x2442dd521c59987a4291be0fd11198e5a4d87c8bc36cf3b65c5229f61fc37b30);\n}\n",
3167
+ "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/private_call_stack_item.nr"
3168
+ },
3169
+ "149": {
3170
+ "source": "use dep::std::cmp::Eq;\nuse crate::{\n address::AztecAddress,\n traits::{Empty, Serialize, Deserialize},\n grumpkin_point::GrumpkinPoint,\n grumpkin_private_key::GrumpkinPrivateKey,\n};\n\nglobal NULLIFIER_KEY_VALIDATION_REQUEST_SERIALIZED_LEN = 4;\nglobal NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_SERIALIZED_LEN = 5;\n\nstruct NullifierKeyValidationRequest {\n public_key: GrumpkinPoint,\n secret_key: GrumpkinPrivateKey,\n}\n\nimpl Eq for NullifierKeyValidationRequest {\n fn eq(self, request: NullifierKeyValidationRequest) -> bool {\n (request.public_key.eq(self.public_key))\n & (request.secret_key.eq(self.secret_key))\n }\n}\n\nimpl Empty for NullifierKeyValidationRequest {\n fn empty() -> Self {\n NullifierKeyValidationRequest {\n public_key: GrumpkinPoint::zero(),\n secret_key: GrumpkinPrivateKey::zero(),\n }\n }\n}\n\nimpl Serialize<NULLIFIER_KEY_VALIDATION_REQUEST_SERIALIZED_LEN> for NullifierKeyValidationRequest {\n fn serialize(self) -> [Field; NULLIFIER_KEY_VALIDATION_REQUEST_SERIALIZED_LEN] {\n [\n self.public_key.x,\n self.public_key.y,\n self.secret_key.high,\n self.secret_key.low,\n ]\n }\n}\n\nimpl Deserialize<NULLIFIER_KEY_VALIDATION_REQUEST_SERIALIZED_LEN> for NullifierKeyValidationRequest {\n fn deserialize(fields: [Field; NULLIFIER_KEY_VALIDATION_REQUEST_SERIALIZED_LEN]) -> Self {\n Self {\n public_key: GrumpkinPoint::new(fields[0], fields[1]),\n secret_key: GrumpkinPrivateKey::new(fields[2], fields[3]),\n }\n }\n}\n\nimpl NullifierKeyValidationRequest {\n pub fn to_context(self, contract_address: AztecAddress) -> NullifierKeyValidationRequestContext {\n NullifierKeyValidationRequestContext {\n public_key: self.public_key,\n secret_key: self.secret_key,\n contract_address,\n }\n }\n}\n\nstruct NullifierKeyValidationRequestContext {\n public_key: GrumpkinPoint,\n secret_key: GrumpkinPrivateKey,\n contract_address: AztecAddress,\n}\n\nimpl Eq for NullifierKeyValidationRequestContext {\n fn eq(self, request: NullifierKeyValidationRequestContext) -> bool {\n (request.public_key.eq(self.public_key))\n & (request.secret_key.eq(self.secret_key))\n & (request.contract_address.eq(self.contract_address))\n }\n}\n\nimpl Empty for NullifierKeyValidationRequestContext {\n fn empty() -> Self {\n NullifierKeyValidationRequestContext {\n public_key: GrumpkinPoint::zero(),\n secret_key: GrumpkinPrivateKey::zero(),\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_SERIALIZED_LEN> for NullifierKeyValidationRequestContext {\n fn serialize(self) -> [Field; NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_SERIALIZED_LEN] {\n [\n self.public_key.x,\n self.public_key.y,\n self.secret_key.high,\n self.secret_key.low,\n self.contract_address.to_field(),\n ]\n }\n}\n\nimpl Deserialize<NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_SERIALIZED_LEN> for NullifierKeyValidationRequestContext {\n fn deserialize(fields: [Field; NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_SERIALIZED_LEN]) -> Self {\n Self {\n public_key: GrumpkinPoint::new(fields[0], fields[1]),\n secret_key: GrumpkinPrivateKey::new(fields[2], fields[3]),\n contract_address: AztecAddress::from_field(fields[4]),\n }\n }\n}\n\n",
3171
+ "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/nullifier_key_validation_request.nr"
3172
+ },
2916
3173
  "150": {
2917
- "source": "use crate::{\n abis::{\n call_context::CallContext,\n nullifier_key_validation_request::NullifierKeyValidationRequest,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash},\n },\n contrakt::deployment_data::ContractDeploymentData,\n hash::{\n pedersen_hash,\n },\n header::Header,\n utils::bounded_vec::BoundedVec,\n};\nuse crate::constants::{\n MAX_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n RETURN_VALUES_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS,\n};\nuse crate::traits::Hash;\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n \n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n\n read_requests: [SideEffect; MAX_READ_REQUESTS_PER_CALL],\n nullifier_key_validation_requests: [NullifierKeyValidationRequest; MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL],\n\n new_commitments: [SideEffect; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash; MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_stack_hashes: [Field; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n end_side_effect_counter : u32,\n\n encrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n\n // Here so that the gas cost of this request can be measured by circuits, without actually needing to feed in the\n // variable-length data.\n encrypted_log_preimages_length: Field,\n unencrypted_log_preimages_length: Field,\n\n // Header of the block the transaction is executing against (not the block the transaction is included in).\n historical_header: Header,\n\n contract_deployment_data: ContractDeploymentData,\n\n chain_id: Field,\n version: Field,\n}\n\nimpl Hash for PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH> = BoundedVec::new(0); \n fields.push(self.call_context.hash());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n\n for i in 0..MAX_READ_REQUESTS_PER_CALL{\n fields.push_array(self.read_requests[i].serialize());\n }\n for i in 0..MAX_NEW_COMMITMENTS_PER_CALL{\n fields.push_array(self.new_commitments[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL{\n fields.push_array(self.new_nullifiers[i].serialize());\n }\n fields.push_array(self.private_call_stack_hashes);\n fields.push_array(self.public_call_stack_hashes);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push(self.end_side_effect_counter as Field);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.historical_header.serialize());\n fields.push(self.contract_deployment_data.hash());\n fields.push(self.chain_id);\n fields.push(self.version);\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH, \"Incorrect number of input fields when hashing PrivateCircuitPublicInputs\");\n\n pedersen_hash(fields.storage, GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl PrivateCircuitPublicInputs {\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n\n for i in 0..MAX_READ_REQUESTS_PER_CALL{\n fields.push_array(self.read_requests[i].serialize());\n }\n for i in 0..MAX_NEW_COMMITMENTS_PER_CALL{\n fields.push_array(self.new_commitments[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL{\n fields.push_array(self.new_nullifiers[i].serialize());\n }\n fields.push_array(self.private_call_stack_hashes);\n fields.push_array(self.public_call_stack_hashes);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push(self.end_side_effect_counter as Field);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.historical_header.serialize());\n fields.push_array(self.contract_deployment_data.serialize());\n fields.push(self.chain_id);\n fields.push(self.version);\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH);\n\n fields.storage\n }\n}\n\n#[test]\nfn serialization_smoke() {\n let pcpi: PrivateCircuitPublicInputs = dep::std::unsafe::zeroed();\n let _serialized = pcpi.serialize();\n}\n\n#[test]\nfn hash_smoke() {\n let pcpi: PrivateCircuitPublicInputs = dep::std::unsafe::zeroed();\n let _hashed = pcpi.hash();\n}\n",
3174
+ "source": "use crate::{\n abis::{\n call_context::CallContext,\n nullifier_key_validation_request::NullifierKeyValidationRequest,\n side_effect::{\n SideEffect,\n SideEffectLinkedToNoteHash,\n },\n },\n constants::{\n MAX_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n RETURN_VALUES_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS,\n },\n contrakt::deployment_data::ContractDeploymentData,\n header::Header,\n hash::pedersen_hash,\n traits::{\n Deserialize,\n Hash,\n Serialize,\n },\n utils::reader::Reader,\n};\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n\n meta_hwm: u32,\n\n read_requests: [SideEffect; MAX_READ_REQUESTS_PER_CALL],\n nullifier_key_validation_requests: [NullifierKeyValidationRequest; MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL],\n\n new_commitments: [SideEffect; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash; MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_stack_hashes: [Field; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n end_side_effect_counter : u32,\n\n encrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n\n // Here so that the gas cost of this request can be measured by circuits, without actually needing to feed in the\n // variable-length data.\n encrypted_log_preimages_length: Field,\n unencrypted_log_preimages_length: Field,\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n contract_deployment_data: ContractDeploymentData,\n\n // Note: The following 2 values are not redundant to the values in self.historical_header.global_variables because\n // they can be different in case of a protocol upgrade. In such a situation we could be using header from a block\n // before the upgrade took place but be using the updated protocol to execute and prove the transaction.\n chain_id: Field,\n version: Field,\n}\n\nimpl Eq for PrivateCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.call_context.eq(other.call_context) &\n self.args_hash.eq(other.args_hash) &\n (self.return_values == other.return_values) &\n (self.read_requests == other.read_requests) &\n (self.nullifier_key_validation_requests == other.nullifier_key_validation_requests) &\n (self.new_commitments == other.new_commitments) &\n (self.new_nullifiers == other.new_nullifiers) &\n (self.private_call_stack_hashes == other.private_call_stack_hashes) &\n (self.public_call_stack_hashes == other.public_call_stack_hashes) &\n (self.new_l2_to_l1_msgs == other.new_l2_to_l1_msgs) &\n (self.end_side_effect_counter == other.end_side_effect_counter) &\n (self.encrypted_logs_hash == other.encrypted_logs_hash) &\n (self.unencrypted_logs_hash == other.unencrypted_logs_hash) &\n (self.encrypted_log_preimages_length == other.encrypted_log_preimages_length) &\n (self.unencrypted_log_preimages_length == other.unencrypted_log_preimages_length) &\n self.historical_header.eq(other.historical_header) &\n self.contract_deployment_data.eq(other.contract_deployment_data) &\n self.chain_id.eq(other.chain_id) &\n self.version.eq(other.version)\n }\n}\n\nimpl Serialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new(0);\n fields.extend_from_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.extend_from_array(self.return_values);\n\n fields.push(self.meta_hwm as Field);\n\n for i in 0..MAX_READ_REQUESTS_PER_CALL{\n fields.extend_from_array(self.read_requests[i].serialize());\n }\n for i in 0..MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL{\n fields.extend_from_array(self.nullifier_key_validation_requests[i].serialize());\n }\n for i in 0..MAX_NEW_COMMITMENTS_PER_CALL{\n fields.extend_from_array(self.new_commitments[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL{\n fields.extend_from_array(self.new_nullifiers[i].serialize());\n }\n fields.extend_from_array(self.private_call_stack_hashes);\n fields.extend_from_array(self.public_call_stack_hashes);\n fields.extend_from_array(self.new_l2_to_l1_msgs);\n fields.push(self.end_side_effect_counter as Field);\n fields.extend_from_array(self.encrypted_logs_hash);\n fields.extend_from_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.extend_from_array(self.historical_header.serialize());\n fields.extend_from_array(self.contract_deployment_data.serialize());\n fields.push(self.chain_id);\n fields.push(self.version);\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn deserialize(serialized: [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = Self {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n return_values: reader.read_array([0; RETURN_VALUES_LENGTH]),\n meta_hwm: reader.read() as u32,\n read_requests: reader.read_struct_array(SideEffect::deserialize, [SideEffect::empty(); MAX_READ_REQUESTS_PER_CALL]),\n nullifier_key_validation_requests: reader.read_struct_array(NullifierKeyValidationRequest::deserialize, [NullifierKeyValidationRequest::empty(); MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL]),\n new_commitments: reader.read_struct_array(SideEffect::deserialize, [SideEffect::empty(); MAX_NEW_COMMITMENTS_PER_CALL]),\n new_nullifiers: reader.read_struct_array(SideEffectLinkedToNoteHash::deserialize, [SideEffectLinkedToNoteHash::empty(); MAX_NEW_NULLIFIERS_PER_CALL]),\n private_call_stack_hashes: reader.read_array([0; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n new_l2_to_l1_msgs: reader.read_array([0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL]),\n end_side_effect_counter: reader.read() as u32,\n encrypted_logs_hash: reader.read_array([0; NUM_FIELDS_PER_SHA256]),\n unencrypted_logs_hash: reader.read_array([0; NUM_FIELDS_PER_SHA256]),\n encrypted_log_preimages_length: reader.read(),\n unencrypted_log_preimages_length: reader.read(),\n historical_header: reader.read_struct(Header::deserialize),\n contract_deployment_data: reader.read_struct(ContractDeploymentData::deserialize),\n chain_id: reader.read(),\n version: reader.read(),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi: PrivateCircuitPublicInputs = dep::std::unsafe::zeroed();\n let serialized = pcpi.serialize();\n let deserialized = PrivateCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let inputs: PrivateCircuitPublicInputs = dep::std::unsafe::zeroed();\n let hash = inputs.hash();\n\n // Value from private_circuit_public_inputs.test.ts \"computes empty item hash\" test\n assert_eq(hash, 0x1304e6c42e3c53fc7c918cbf1ea70333b4f214726c0784cf9878cd641967dab1);\n}\n",
2918
3175
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/private_circuit_public_inputs.nr"
2919
3176
  },
2920
3177
  "153": {
2921
- "source": "use crate::abis::function_selector::FunctionSelector;\nuse crate::constants::GENERATOR_INDEX__FUNCTION_DATA;\n\nstruct FunctionData {\n // First four bytes of the abi encoding \n // of a function. \n selector : FunctionSelector,\n is_internal : bool,\n is_private : bool,\n is_constructor : bool,\n}\n\nimpl FunctionData {\n // A field is ~256 bits\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3057): Since, function data can fit into a Field,\n // This method will simply return a bit packed Field instead of hashing\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator([\n self.selector.to_field(),\n self.is_internal as Field,\n self.is_private as Field,\n self.is_constructor as Field,\n ], GENERATOR_INDEX__FUNCTION_DATA)\n }\n}\n",
3178
+ "source": "use crate::{\n abis::function_selector::FunctionSelector,\n constants::{\n GENERATOR_INDEX__FUNCTION_DATA,\n FUNCTION_DATA_LENGTH,\n },\n hash::pedersen_hash,\n traits::{\n Serialize,\n Hash,\n Deserialize,\n },\n};\n\nstruct FunctionData {\n // First four bytes of the abi encoding \n // of a function. \n selector : FunctionSelector,\n is_internal : bool,\n is_private : bool,\n is_constructor : bool,\n}\n\nimpl Eq for FunctionData {\n fn eq(self, other: Self) -> bool {\n self.selector.eq(other.selector) &\n self.is_internal == other.is_internal &\n self.is_private == other.is_private &\n self.is_constructor == other.is_constructor\n }\n}\n\nimpl Serialize<FUNCTION_DATA_LENGTH> for FunctionData {\n // A field is ~256 bits\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3057): Since, function data can fit into a Field,\n // This method will simply return a bit packed Field instead of hashing\n fn serialize(self) -> [Field; FUNCTION_DATA_LENGTH] {\n [\n self.selector.to_field(),\n self.is_internal as Field,\n self.is_private as Field,\n self.is_constructor as Field,\n ]\n }\n}\n\nimpl Deserialize<FUNCTION_DATA_LENGTH> for FunctionData {\n fn deserialize(serialized: [Field; FUNCTION_DATA_LENGTH]) -> Self {\n Self {\n selector: FunctionSelector::from_field(serialized[0]),\n is_internal: serialized[1] as bool,\n is_private: serialized[2] as bool,\n is_constructor: serialized[3] as bool,\n }\n }\n}\n\nimpl Hash for FunctionData {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__FUNCTION_DATA)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let data: FunctionData = dep::std::unsafe::zeroed();\n let serialized = data.serialize();\n let deserialized = FunctionData::deserialize(serialized);\n assert(data.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let data: FunctionData = dep::std::unsafe::zeroed();\n let hash = data.hash();\n\n // Value from function_data.test.ts \"computes empty item hash\" test\n assert_eq(hash, 0x200569267c0f73ac89aaa414239398db9445dd4ad3a8cf37015cd55b8d4c5e8d);\n}\n",
2922
3179
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/function_data.nr"
2923
3180
  },
2924
3181
  "154": {
2925
3182
  "source": "use dep::std::cmp::Eq;\n\nstruct AppendOnlyTreeSnapshot {\n root : Field,\n next_available_leaf_index : u32\n}\n\nglobal APPEND_ONLY_TREE_SNAPSHOT_LENGTH: Field = 2;\n\nimpl AppendOnlyTreeSnapshot {\n pub fn serialize(self) -> [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH] {\n [self.root, self.next_available_leaf_index as Field]\n }\n\n pub fn deserialize(serialized: [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH]) -> AppendOnlyTreeSnapshot {\n AppendOnlyTreeSnapshot {\n root : serialized[0],\n next_available_leaf_index : serialized[1] as u32\n }\n }\n\n pub fn zero() -> Self {\n Self {\n root: 0,\n next_available_leaf_index: 0,\n }\n }\n}\n\nimpl Eq for AppendOnlyTreeSnapshot {\n fn eq(self, other : AppendOnlyTreeSnapshot) -> bool {\n (self.root == other.root) & (self.next_available_leaf_index == other.next_available_leaf_index)\n }\n}\n",
2926
3183
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/append_only_tree_snapshot.nr"
2927
3184
  },
3185
+ "155": {
3186
+ "source": "use dep::std::cmp::Eq;\nuse crate::{\n address::{\n AztecAddress,\n EthAddress,\n },\n constants::{\n GENERATOR_INDEX__GLOBAL_VARIABLES,\n GLOBAL_VARIABLES_LENGTH,\n },\n traits::{\n Deserialize,\n Empty,\n Hash,\n Serialize,\n },\n};\n\nstruct GlobalVariables {\n chain_id : Field,\n version : Field,\n block_number : Field,\n timestamp : Field,\n coinbase : EthAddress,\n fee_recipient : AztecAddress,\n}\n\nimpl Serialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn serialize(self) -> [Field; GLOBAL_VARIABLES_LENGTH] {\n [\n self.chain_id,\n self.version,\n self.block_number,\n self.timestamp,\n self.coinbase.to_field(),\n self.fee_recipient.to_field(),\n ]\n }\n}\n\nimpl Deserialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn deserialize(serialized: [Field; GLOBAL_VARIABLES_LENGTH]) -> GlobalVariables {\n GlobalVariables {\n chain_id: serialized[0],\n version: serialized[1],\n block_number: serialized[2],\n timestamp: serialized[3],\n coinbase: EthAddress::from_field(serialized[4]),\n fee_recipient: AztecAddress::from_field(serialized[5]),\n }\n }\n}\n\nimpl Eq for GlobalVariables {\n fn eq(self, other : GlobalVariables) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.block_number == other.block_number) &\n (self.timestamp == other.timestamp) &\n (self.coinbase == other.coinbase) &\n (self.fee_recipient == other.fee_recipient)\n }\n}\n\nimpl Empty for GlobalVariables {\n fn empty() -> Self {\n Self {\n chain_id: 0,\n version: 0,\n block_number: 0,\n timestamp: 0,\n coinbase: EthAddress::empty(),\n fee_recipient: AztecAddress::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let vars: GlobalVariables = dep::std::unsafe::zeroed();\n let _serialized = vars.serialize();\n let _deserialized = GlobalVariables::deserialize(_serialized);\n}\n",
3187
+ "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/global_variables.nr"
3188
+ },
2928
3189
  "158": {
2929
- "source": "use crate::{\n abis::function_selector::FunctionSelector,\n address::{EthAddress,AztecAddress},\n constants::{\n CALL_CONTEXT_LENGTH,\n GENERATOR_INDEX__CALL_CONTEXT,\n },\n hash::pedersen_hash,\n};\nuse dep::std::cmp::Eq;\nuse crate::traits::Hash;\n\n// docs:start:call-context\nstruct CallContext {\n msg_sender : AztecAddress,\n storage_contract_address : AztecAddress,\n portal_contract_address : EthAddress,\n\n function_selector : FunctionSelector,\n\n is_delegate_call : bool,\n is_static_call : bool,\n is_contract_deployment : bool,\n\n start_side_effect_counter : u32,\n}\n// docs:end:call-context\n\nimpl Eq for CallContext {\n fn eq(self, call_context: CallContext) -> bool {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)\n call_context.msg_sender.eq(self.msg_sender)\n & call_context.storage_contract_address.eq(self.storage_contract_address)\n & call_context.portal_contract_address.eq(self.portal_contract_address)\n & call_context.function_selector.eq(self.function_selector)\n & (call_context.is_delegate_call == self.is_delegate_call)\n & (call_context.is_static_call == self.is_static_call)\n & (call_context.is_contract_deployment == self.is_contract_deployment)\n & (call_context.start_side_effect_counter == self.start_side_effect_counter)\n }\n}\n\nimpl Hash for CallContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)\n }\n}\n\nimpl CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n [\n self.msg_sender.to_field(),\n self.storage_contract_address.to_field(),\n self.portal_contract_address.to_field(),\n self.function_selector.to_field(),\n self.is_delegate_call as Field,\n self.is_static_call as Field,\n self.is_contract_deployment as Field,\n self.start_side_effect_counter as Field,\n ]\n }\n\n fn assert_is_zero(self) {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)\n assert(self.msg_sender.to_field() == 0);\n assert(self.storage_contract_address.to_field() == 0);\n assert(self.portal_contract_address.to_field() == 0);\n assert(self.function_selector.to_field() == 0);\n assert(self.is_delegate_call == false);\n assert(self.is_static_call == false);\n assert(self.is_contract_deployment == false);\n assert(self.start_side_effect_counter == 0);\n }\n}\n",
3190
+ "source": "use crate::{\n abis::function_selector::FunctionSelector,\n address::{EthAddress,AztecAddress},\n constants::{\n CALL_CONTEXT_LENGTH,\n GENERATOR_INDEX__CALL_CONTEXT,\n },\n hash::pedersen_hash,\n traits::{\n Deserialize,\n Hash,\n Serialize,\n },\n};\n\n// docs:start:call-context\nstruct CallContext {\n msg_sender : AztecAddress,\n storage_contract_address : AztecAddress,\n portal_contract_address : EthAddress,\n\n function_selector : FunctionSelector,\n\n is_delegate_call : bool,\n is_static_call : bool,\n is_contract_deployment : bool,\n\n start_side_effect_counter : u32,\n}\n// docs:end:call-context\n\nimpl CallContext {\n fn assert_is_zero(self) {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)\n assert(self.msg_sender.to_field() == 0);\n assert(self.storage_contract_address.to_field() == 0);\n assert(self.portal_contract_address.to_field() == 0);\n assert(self.function_selector.to_field() == 0);\n assert(self.is_delegate_call == false);\n assert(self.is_static_call == false);\n assert(self.is_contract_deployment == false);\n assert(self.start_side_effect_counter == 0);\n }\n}\n\nimpl Eq for CallContext {\n fn eq(self, call_context: CallContext) -> bool {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)\n call_context.msg_sender.eq(self.msg_sender)\n & call_context.storage_contract_address.eq(self.storage_contract_address)\n & call_context.portal_contract_address.eq(self.portal_contract_address)\n & call_context.function_selector.eq(self.function_selector)\n & (call_context.is_delegate_call == self.is_delegate_call)\n & (call_context.is_static_call == self.is_static_call)\n & (call_context.is_contract_deployment == self.is_contract_deployment)\n & (call_context.start_side_effect_counter == self.start_side_effect_counter)\n }\n}\n\nimpl Hash for CallContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)\n }\n}\n\nimpl Serialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n [\n self.msg_sender.to_field(),\n self.storage_contract_address.to_field(),\n self.portal_contract_address.to_field(),\n self.function_selector.to_field(),\n self.is_delegate_call as Field,\n self.is_static_call as Field,\n self.is_contract_deployment as Field,\n self.start_side_effect_counter as Field,\n ]\n }\n}\n\nimpl Deserialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn deserialize(serialized: [Field; CALL_CONTEXT_LENGTH]) -> CallContext {\n CallContext {\n msg_sender: AztecAddress::from_field(serialized[0]),\n storage_contract_address: AztecAddress::from_field(serialized[1]),\n portal_contract_address: EthAddress::from_field(serialized[2]),\n function_selector: FunctionSelector::from_field(serialized[3]),\n is_delegate_call: serialized[4] as bool,\n is_static_call: serialized[5] as bool,\n is_contract_deployment: serialized[6] as bool,\n start_side_effect_counter: serialized[7] as u32,\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let context: CallContext = dep::std::unsafe::zeroed();\n let serialized = context.serialize();\n let deserialized = CallContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn hash_smoke() {\n let context: CallContext = dep::std::unsafe::zeroed();\n let _hashed = context.hash();\n}\n",
2930
3191
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/call_context.nr"
2931
3192
  },
2932
3193
  "164": {
2933
- "source": "use crate::utils::field::field_from_bytes;\nuse dep::std::cmp::Eq;\n\nglobal SELECTOR_SIZE = 4;\n\nstruct FunctionSelector {\n // 1st 4-bytes of abi-encoding of function.\n inner: u32,\n}\n\nimpl Eq for FunctionSelector {\n fn eq(self, function_selector: FunctionSelector) -> bool {\n function_selector.inner == self.inner\n }\n}\n\nimpl FunctionSelector {\n fn to_field(self) -> Field {\n self.inner as Field\n }\n\n pub fn from_u32(value: u32) -> Self {\n Self {\n inner : value,\n }\n }\n\n pub fn from_field(value : Field) -> Self {\n Self {\n inner : value as u32,\n }\n }\n\n pub fn from_signature<N>(signature: str<N>) -> Self {\n let bytes = signature.as_bytes();\n let hash = dep::std::hash::keccak256(bytes, bytes.len() as u32);\n\n let mut selector_be_bytes = [0; SELECTOR_SIZE];\n for i in 0..SELECTOR_SIZE {\n selector_be_bytes[i] = hash[i];\n }\n\n FunctionSelector::from_field(field_from_bytes(selector_be_bytes, true))\n }\n\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn serialize(self: Self) -> [Field; 1] {\n [self.inner as Field]\n }\n\n pub fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0] as u32\n }\n }\n}\n",
3194
+ "source": "use crate::utils::field::field_from_bytes;\nuse dep::std::cmp::Eq;\nuse crate::traits::{Serialize, Deserialize};\n\nglobal SELECTOR_SIZE = 4;\n\nstruct FunctionSelector {\n // 1st 4-bytes of abi-encoding of function.\n inner: u32,\n}\n\nimpl Eq for FunctionSelector {\n fn eq(self, function_selector: FunctionSelector) -> bool {\n function_selector.inner == self.inner\n }\n}\n\nimpl Serialize<1> for FunctionSelector {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner as Field]\n }\n}\n\nimpl Deserialize<1> for FunctionSelector {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0] as u32\n }\n }\n}\n\nimpl FunctionSelector {\n fn to_field(self) -> Field {\n self.inner as Field\n }\n\n pub fn from_u32(value: u32) -> Self {\n Self {\n inner : value,\n }\n }\n\n pub fn from_field(value : Field) -> Self {\n Self {\n inner : value as u32,\n }\n }\n\n pub fn from_signature<N>(signature: str<N>) -> Self {\n let bytes = signature.as_bytes();\n let hash = dep::std::hash::keccak256(bytes, bytes.len() as u32);\n\n let mut selector_be_bytes = [0; SELECTOR_SIZE];\n for i in 0..SELECTOR_SIZE {\n selector_be_bytes[i] = hash[i];\n }\n\n FunctionSelector::from_field(field_from_bytes(selector_be_bytes, true))\n }\n\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n}\n",
2934
3195
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/function_selector.nr"
2935
3196
  },
2936
- "186": {
2937
- "source": "mod ecdsa_public_key_note;\n\n// Account contract that uses ECDSA signatures for authentication on the same curve as Ethereum.\n// The signing key is stored in an immutable private note and should be different from the signing key.\ncontract EcdsaAccount {\n use dep::aztec::protocol_types::address::AztecAddress;\n use dep::std;\n use dep::std::option::Option;\n use dep::aztec::{\n abi::CallContext,\n context::{PrivateContext, PublicContext, Context},\n note::{\n note_header::NoteHeader,\n utils as note_utils,\n },\n oracle::get_public_key::get_public_key,\n state_vars::immutable_singleton::ImmutableSingleton,\n };\n use dep::authwit:: {\n entrypoint::{ EntrypointPayload, ENTRYPOINT_PAYLOAD_SIZE },\n account::AccountActions,\n auth_witness::get_auth_witness,\n };\n\n use crate::ecdsa_public_key_note::{\n EcdsaPublicKeyNote, EcdsaPublicKeyNoteInterface, ECDSA_PUBLIC_KEY_NOTE_LEN,\n };\n\n struct Storage {\n public_key: ImmutableSingleton<EcdsaPublicKeyNote, ECDSA_PUBLIC_KEY_NOTE_LEN>,\n }\n\n impl Storage {\n fn init(context: Context) -> Self {\n Storage {\n public_key: ImmutableSingleton::new(context, 1, EcdsaPublicKeyNoteInterface),\n }\n }\n }\n\n global ACCOUNT_ACTIONS_STORAGE_SLOT = 2;\n\n // Creates a new account out of an ECDSA public key to use for signature verification\n #[aztec(private)]\n fn constructor(signing_pub_key_x: pub [u8; 32], signing_pub_key_y: pub [u8; 32]) {\n let this = context.this_address();\n let mut pub_key_note = EcdsaPublicKeyNote::new(signing_pub_key_x, signing_pub_key_y, this);\n storage.public_key.initialize(&mut pub_key_note, true);\n }\n\n // Note: If you globally change the entrypoint signature don't forget to update default_entrypoint.ts\n #[aztec(private)]\n fn entrypoint(payload: pub EntrypointPayload) {\n let actions = AccountActions::private(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.entrypoint(payload);\n }\n\n #[aztec(private)]\n fn is_valid(message_hash: Field) -> Field {\n let actions = AccountActions::private(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.is_valid(message_hash)\n }\n\n #[aztec(public)]\n fn is_valid_public(message_hash: Field) -> Field {\n let actions = AccountActions::public(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.is_valid_public(message_hash)\n }\n\n #[aztec(public)]\n internal fn set_is_valid_storage(message_hash: Field, value: bool) {\n let actions = AccountActions::public(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.internal_set_is_valid_storage(message_hash, value)\n }\n\n #[contract_library_method]\n fn is_valid_impl(context: &mut PrivateContext, message_field: Field) -> pub bool {\n // Load public key from storage\n let storage = Storage::init(Context::private(context));\n let public_key = storage.public_key.get_note();\n\n // Load auth witness\n let witness: [Field; 64] = get_auth_witness(message_field);\n let mut signature: [u8; 64] = [0; 64];\n for i in 0..64 {\n signature[i] = witness[i] as u8;\n }\n\n // Verify payload signature using Ethereum's signing scheme\n // Note that noir expects the hash of the message/challenge as input to the ECDSA verification.\n let hashed_message: [u8; 32] = std::hash::sha256(message_field.to_be_bytes(32));\n let verification = std::ecdsa_secp256k1::verify_signature(public_key.x, public_key.y, signature, hashed_message);\n assert(verification == true);\n\n true\n }\n\n // Computes note hash and nullifier.\n // Note 1: Needs to be defined by every contract producing logs.\n // Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.\n unconstrained fn compute_note_hash_and_nullifier(\n contract_address: AztecAddress,\n nonce: Field,\n storage_slot: Field,\n serialized_note: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]\n ) -> pub [Field; 4] {\n assert(storage_slot == 1);\n let note_header = NoteHeader::new(contract_address, nonce, storage_slot);\n note_utils::compute_note_hash_and_nullifier(EcdsaPublicKeyNoteInterface, note_header, serialized_note)\n }\n}\n",
3197
+ "196": {
3198
+ "source": "mod ecdsa_public_key_note;\n\n// Account contract that uses ECDSA signatures for authentication on the same curve as Ethereum.\n// The signing key is stored in an immutable private note and should be different from the signing key.\ncontract EcdsaAccount {\n use dep::aztec::protocol_types::address::AztecAddress;\n use dep::std;\n use dep::std::option::Option;\n use dep::aztec::{\n abi::CallContext,\n context::{PrivateContext, PublicContext, Context},\n note::{\n note_header::NoteHeader,\n utils as note_utils,\n },\n oracle::get_public_key::get_public_key,\n state_vars::immutable_singleton::ImmutableSingleton,\n };\n use dep::authwit:: {\n entrypoint::{ EntrypointPayload, ENTRYPOINT_PAYLOAD_SIZE },\n account::AccountActions,\n auth_witness::get_auth_witness,\n };\n\n use crate::ecdsa_public_key_note::{\n EcdsaPublicKeyNote, ECDSA_PUBLIC_KEY_NOTE_LEN,\n };\n\n struct Storage {\n public_key: ImmutableSingleton<EcdsaPublicKeyNote>,\n }\n\n global ACCOUNT_ACTIONS_STORAGE_SLOT = 2;\n\n // Creates a new account out of an ECDSA public key to use for signature verification\n #[aztec(private)]\n fn constructor(signing_pub_key_x: pub [u8; 32], signing_pub_key_y: pub [u8; 32]) {\n let this = context.this_address();\n let mut pub_key_note = EcdsaPublicKeyNote::new(signing_pub_key_x, signing_pub_key_y, this);\n storage.public_key.initialize(&mut pub_key_note, true);\n }\n\n // Note: If you globally change the entrypoint signature don't forget to update default_entrypoint.ts\n #[aztec(private)]\n fn entrypoint(payload: pub EntrypointPayload) {\n let actions = AccountActions::private(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.entrypoint(payload);\n }\n\n #[aztec(private)]\n fn is_valid(message_hash: Field) -> Field {\n let actions = AccountActions::private(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.is_valid(message_hash)\n }\n\n #[aztec(public)]\n fn is_valid_public(message_hash: Field) -> Field {\n let actions = AccountActions::public(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.is_valid_public(message_hash)\n }\n\n #[aztec(public)]\n internal fn set_is_valid_storage(message_hash: Field, value: bool) {\n let actions = AccountActions::public(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.internal_set_is_valid_storage(message_hash, value)\n }\n\n #[contract_library_method]\n fn is_valid_impl(context: &mut PrivateContext, message_field: Field) -> pub bool {\n // Load public key from storage\n let storage = Storage::init(Context::private(context));\n let public_key = storage.public_key.get_note();\n\n // Load auth witness\n let witness: [Field; 64] = get_auth_witness(message_field);\n let mut signature: [u8; 64] = [0; 64];\n for i in 0..64 {\n signature[i] = witness[i] as u8;\n }\n\n // Verify payload signature using Ethereum's signing scheme\n // Note that noir expects the hash of the message/challenge as input to the ECDSA verification.\n let hashed_message: [u8; 32] = std::hash::sha256(message_field.to_be_bytes(32));\n let verification = std::ecdsa_secp256k1::verify_signature(public_key.x, public_key.y, signature, hashed_message);\n assert(verification == true);\n\n true\n }\n\n // Computes note hash and nullifier.\n // Note 1: Needs to be defined by every contract producing logs.\n // Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.\n unconstrained fn compute_note_hash_and_nullifier(\n contract_address: AztecAddress,\n nonce: Field,\n storage_slot: Field,\n serialized_note: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]\n ) -> pub [Field; 4] {\n assert(storage_slot == storage.public_key.get_storage_slot());\n let note_header = NoteHeader::new(contract_address, nonce, storage_slot);\n note_utils::compute_note_hash_and_nullifier(\n EcdsaPublicKeyNote::deserialize_content,\n note_header,\n serialized_note\n )\n }\n}\n",
2938
3199
  "path": "/usr/src/yarn-project/noir-contracts/contracts/ecdsa_account_contract/src/main.nr"
2939
3200
  },
2940
- "187": {
2941
- "source": "use dep::aztec::protocol_types::address::AztecAddress;\nuse dep::aztec::{\n note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n utils::compute_note_hash_for_read_or_nullify,\n },\n oracle::{\n nullifier_key::get_nullifier_secret_key,\n get_public_key::get_public_key,\n },\n log::emit_encrypted_log,\n hash::pedersen_hash,\n context::PrivateContext,\n};\n\nglobal ECDSA_PUBLIC_KEY_NOTE_LEN: Field = 5;\n\n// Stores an ECDSA public key composed of two 32-byte elements\n// TODO: Do we need to include a nonce, in case we want to read/nullify/recreate with the same pubkey value?\nstruct EcdsaPublicKeyNote {\n x: [u8; 32],\n y: [u8; 32],\n owner: AztecAddress, // We store the owner address only to get the secret key to compute the nullifier\n header: NoteHeader,\n}\n\nimpl EcdsaPublicKeyNote {\n pub fn new(x: [u8; 32], y: [u8; 32], owner: AztecAddress) -> Self {\n EcdsaPublicKeyNote {\n x,\n y,\n owner,\n header: NoteHeader::empty(),\n }\n }\n\n // serialize the note as 5 fields where:\n // [0] = x[0..31] (upper bound excluded)\n // [1] = x[31]\n // [2] = y[0..31]\n // [3] = y[31]\n // [4] = owner\n pub fn serialize(self) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] {\n let mut x: Field = 0;\n let mut y: Field = 0;\n let mut mul: Field = 1;\n\n for i in 1..32 {\n let byte_x: Field = self.x[31 - i] as Field;\n x = x + (byte_x * mul);\n let byte_y: Field = self.y[31 - i] as Field;\n y = y + (byte_y * mul);\n mul *= 256;\n }\n\n let last_x = self.x[31] as Field;\n let last_y = self.y[31] as Field;\n \n [x, last_x, y, last_y, self.owner.to_field()]\n }\n\n pub fn compute_nullifier(self, context: &mut PrivateContext) -> Field {\n let unique_siloed_note_hash = compute_note_hash_for_read_or_nullify(EcdsaPublicKeyNoteInterface, self);\n let secret = context.request_nullifier_secret_key(self.owner);\n // TODO(#1205) Should use a non-zero generator index.\n pedersen_hash([\n unique_siloed_note_hash,\n secret.low,\n secret.high,\n ],0)\n }\n\n pub fn compute_nullifier_without_context(self) -> Field {\n let unique_siloed_note_hash = compute_note_hash_for_read_or_nullify(EcdsaPublicKeyNoteInterface, self);\n let secret = get_nullifier_secret_key(self.owner);\n // TODO(#1205) Should use a non-zero generator index.\n pedersen_hash([\n unique_siloed_note_hash,\n secret.low,\n secret.high,\n ],0)\n }\n\n pub fn set_header(&mut self, header: NoteHeader) {\n self.header = header;\n }\n\n // Broadcasts the note as an encrypted log on L1.\n pub fn broadcast(self, context: &mut PrivateContext, slot: Field) {\n let encryption_pub_key = get_public_key(self.owner);\n emit_encrypted_log(\n context,\n (*context).this_address(),\n slot,\n encryption_pub_key,\n self.serialize(),\n );\n }\n}\n\nfn deserialize(serialized_note: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]) -> EcdsaPublicKeyNote {\n let mut x: [u8; 32] = [0; 32];\n let mut y: [u8; 32] = [0; 32];\n\n let part_x = serialized_note[0].to_be_bytes(32);\n for i in 0..31 {\n x[i] = part_x[i + 1];\n }\n x[31] = serialized_note[1].to_be_bytes(32)[31];\n\n let part_y = serialized_note[2].to_be_bytes(32);\n for i in 0..31 {\n y[i] = part_y[i + 1];\n }\n y[31] = serialized_note[3].to_be_bytes(32)[31];\n\n EcdsaPublicKeyNote { x, y, owner: AztecAddress::from_field(serialized_note[4]), header: NoteHeader::empty() }\n}\n\nfn serialize(note: EcdsaPublicKeyNote) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] {\n note.serialize()\n}\n\nfn compute_note_hash(note: EcdsaPublicKeyNote) -> Field {\n // TODO(#1205) Should use a non-zero generator index.\n pedersen_hash(note.serialize(), 0)\n}\n\nfn compute_nullifier(note: EcdsaPublicKeyNote, context: &mut PrivateContext) -> Field {\n note.compute_nullifier(context)\n}\n\nfn compute_nullifier_without_context(note: EcdsaPublicKeyNote) -> Field {\n note.compute_nullifier_without_context()\n}\n\nfn get_header(note: EcdsaPublicKeyNote) -> NoteHeader {\n note.header\n}\n\nfn set_header(note: &mut EcdsaPublicKeyNote, header: NoteHeader) {\n note.set_header(header);\n}\n\n// Broadcasts the note as an encrypted log on L1.\nfn broadcast(context: &mut PrivateContext, slot: Field, note: EcdsaPublicKeyNote) {\n note.broadcast(context, slot);\n}\n\nglobal EcdsaPublicKeyNoteInterface = NoteInterface {\n deserialize,\n serialize,\n compute_note_hash,\n compute_nullifier,\n compute_nullifier_without_context,\n get_header,\n set_header,\n broadcast,\n};\n",
3201
+ "197": {
3202
+ "source": "use dep::aztec::protocol_types::address::AztecAddress;\nuse dep::aztec::{\n note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n utils::compute_note_hash_for_consumption,\n },\n oracle::{\n nullifier_key::get_nullifier_secret_key,\n get_public_key::get_public_key,\n },\n log::emit_encrypted_log,\n hash::pedersen_hash,\n context::PrivateContext,\n};\n\nglobal ECDSA_PUBLIC_KEY_NOTE_LEN: Field = 5;\n\n// Stores an ECDSA public key composed of two 32-byte elements\n// TODO: Do we need to include a nonce, in case we want to read/nullify/recreate with the same pubkey value?\nstruct EcdsaPublicKeyNote {\n x: [u8; 32],\n y: [u8; 32],\n owner: AztecAddress, // We store the owner address only to get the secret key to compute the nullifier\n header: NoteHeader,\n}\n\nimpl NoteInterface<ECDSA_PUBLIC_KEY_NOTE_LEN> for EcdsaPublicKeyNote {\n // serialize the note as 5 fields where:\n // [0] = x[0..31] (upper bound excluded)\n // [1] = x[31]\n // [2] = y[0..31]\n // [3] = y[31]\n // [4] = owner\n fn serialize_content(self) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] {\n let mut x: Field = 0;\n let mut y: Field = 0;\n let mut mul: Field = 1;\n\n for i in 1..32 {\n let byte_x: Field = self.x[31 - i] as Field;\n x = x + (byte_x * mul);\n let byte_y: Field = self.y[31 - i] as Field;\n y = y + (byte_y * mul);\n mul *= 256;\n }\n\n let last_x = self.x[31] as Field;\n let last_y = self.y[31] as Field;\n \n [x, last_x, y, last_y, self.owner.to_field()]\n }\n\n fn deserialize_content(serialized_note: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]) -> EcdsaPublicKeyNote {\n let mut x: [u8; 32] = [0; 32];\n let mut y: [u8; 32] = [0; 32];\n\n let part_x = serialized_note[0].to_be_bytes(32);\n for i in 0..31 {\n x[i] = part_x[i + 1];\n }\n x[31] = serialized_note[1].to_be_bytes(32)[31];\n\n let part_y = serialized_note[2].to_be_bytes(32);\n for i in 0..31 {\n y[i] = part_y[i + 1];\n }\n y[31] = serialized_note[3].to_be_bytes(32)[31];\n\n EcdsaPublicKeyNote { x, y, owner: AztecAddress::from_field(serialized_note[4]), header: NoteHeader::empty() }\n }\n\n fn compute_note_content_hash(note: EcdsaPublicKeyNote) -> Field {\n // TODO(#1205) Should use a non-zero generator index.\n pedersen_hash(note.serialize_content(), 0)\n }\n\n fn compute_nullifier(self, context: &mut PrivateContext) -> Field {\n let unique_siloed_note_hash = compute_note_hash_for_consumption(self);\n let secret = context.request_nullifier_secret_key(self.owner);\n // TODO(#1205) Should use a non-zero generator index.\n pedersen_hash([\n unique_siloed_note_hash,\n secret.low,\n secret.high,\n ],0)\n }\n\n fn compute_nullifier_without_context(self) -> Field {\n let unique_siloed_note_hash = compute_note_hash_for_consumption(self);\n let secret = get_nullifier_secret_key(self.owner);\n // TODO(#1205) Should use a non-zero generator index.\n pedersen_hash([\n unique_siloed_note_hash,\n secret.low,\n secret.high,\n ],0)\n }\n\n fn set_header(&mut self, header: NoteHeader) {\n self.header = header;\n }\n\n fn get_header(self) -> NoteHeader {\n self.header\n }\n\n // Broadcasts the note as an encrypted log on L1.\n fn broadcast(self, context: &mut PrivateContext, slot: Field) {\n let encryption_pub_key = get_public_key(self.owner);\n emit_encrypted_log(\n context,\n (*context).this_address(),\n slot,\n encryption_pub_key,\n self.serialize_content(),\n );\n }\n}\n\nimpl EcdsaPublicKeyNote {\n pub fn new(x: [u8; 32], y: [u8; 32], owner: AztecAddress) -> Self {\n EcdsaPublicKeyNote {\n x,\n y,\n owner,\n header: NoteHeader::empty(),\n }\n }\n\n \n}\n",
2942
3203
  "path": "/usr/src/yarn-project/noir-contracts/contracts/ecdsa_account_contract/src/ecdsa_public_key_note.nr"
2943
3204
  },
2944
- "188": {
2945
- "source": "use dep::aztec::abi;\nuse dep::aztec::types::vec::BoundedVec;\nuse dep::aztec::context::PrivateContext;\nuse dep::aztec::protocol_types::{\n abis::{\n call_stack_item::{\n PrivateCallStackItem,\n PublicCallStackItem,\n },\n function_selector::FunctionSelector,\n },\n address::AztecAddress,\n constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD,\n hash::pedersen_hash,\n};\n\nglobal ACCOUNT_MAX_CALLS: Field = 4;\n// 1 (ARGS_HASH) + 1 (FUNCTION_SELECTOR) + 1 (TARGET_ADDRESS) + 1 (IS_PUBLIC)\nglobal FUNCTION_CALL_SIZE: Field = 4;\n// 3 * 32 + 1\nglobal FUNCTION_CALL_SIZE_IN_BYTES: Field = 97;\n\nstruct FunctionCall {\n args_hash: Field,\n function_selector: FunctionSelector,\n target_address: AztecAddress,\n is_public: bool,\n}\n\nimpl FunctionCall {\n fn serialize(self) -> [Field; FUNCTION_CALL_SIZE] {\n [self.args_hash, self.function_selector.to_field(), self.target_address.to_field(), self.is_public as Field]\n }\n\n fn to_be_bytes(self) -> [u8; FUNCTION_CALL_SIZE_IN_BYTES] {\n let mut bytes: [u8; FUNCTION_CALL_SIZE_IN_BYTES] = [0; FUNCTION_CALL_SIZE_IN_BYTES];\n let args_hash_bytes = self.args_hash.to_be_bytes(32);\n for i in 0..32 { bytes[i] = args_hash_bytes[i]; }\n let function_selector_bytes = self.function_selector.to_field().to_be_bytes(32);\n for i in 0..32 { bytes[i + 32] = function_selector_bytes[i]; }\n let target_address_bytes = self.target_address.to_field().to_be_bytes(32);\n for i in 0..32 { bytes[i + 64] = target_address_bytes[i]; }\n bytes[96] = self.is_public as u8;\n bytes\n }\n}\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal ENTRYPOINT_PAYLOAD_SIZE: Field = 17;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES: Field = 420;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:entrypoint-struct\nstruct EntrypointPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:entrypoint-struct\n\nimpl EntrypointPayload {\n fn hash(self) -> Field {\n pedersen_hash(\n self.serialize(), \n GENERATOR_INDEX__SIGNATURE_PAYLOAD\n )\n }\n\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; ENTRYPOINT_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, ENTRYPOINT_PAYLOAD_SIZE> = BoundedVec::new(0); \n for call in self.function_calls {\n fields.push_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage\n }\n\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] = [0; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES];\n\n for i in 0..ACCOUNT_MAX_CALLS {\n let item_bytes = self.function_calls[i].to_be_bytes();\n for j in 0..FUNCTION_CALL_SIZE_IN_BYTES { \n bytes[i * FUNCTION_CALL_SIZE_IN_BYTES + j] = item_bytes[j];\n }\n }\n\n let nonce_bytes = self.nonce.to_be_bytes(32);\n let nonce_offset = FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS;\n for j in 0..32 {\n bytes[nonce_offset + j] = nonce_bytes[j];\n }\n \n bytes\n }\n\n // Executes all private and public calls \n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address, call.function_selector, call.args_hash\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address, call.function_selector, call.args_hash\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n",
3205
+ "198": {
3206
+ "source": "use dep::aztec::context::PrivateContext;\nuse dep::aztec::protocol_types::{\n abis::function_selector::FunctionSelector,\n address::AztecAddress,\n constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD,\n hash::pedersen_hash,\n traits::{Hash, Serialize}\n};\n\nglobal ACCOUNT_MAX_CALLS: Field = 4;\n// 1 (ARGS_HASH) + 1 (FUNCTION_SELECTOR) + 1 (TARGET_ADDRESS) + 1 (IS_PUBLIC)\nglobal FUNCTION_CALL_SIZE: Field = 4;\n// 3 * 32 + 1\nglobal FUNCTION_CALL_SIZE_IN_BYTES: Field = 97;\n\nstruct FunctionCall {\n args_hash: Field,\n function_selector: FunctionSelector,\n target_address: AztecAddress,\n is_public: bool,\n}\n\nimpl Serialize<FUNCTION_CALL_SIZE> for FunctionCall {\n fn serialize(self) -> [Field; FUNCTION_CALL_SIZE] {\n [self.args_hash, self.function_selector.to_field(), self.target_address.to_field(), self.is_public as Field]\n }\n}\n\nimpl FunctionCall {\n fn to_be_bytes(self) -> [u8; FUNCTION_CALL_SIZE_IN_BYTES] {\n let mut bytes: [u8; FUNCTION_CALL_SIZE_IN_BYTES] = [0; FUNCTION_CALL_SIZE_IN_BYTES];\n let args_hash_bytes = self.args_hash.to_be_bytes(32);\n for i in 0..32 { bytes[i] = args_hash_bytes[i]; }\n let function_selector_bytes = self.function_selector.to_field().to_be_bytes(32);\n for i in 0..32 { bytes[i + 32] = function_selector_bytes[i]; }\n let target_address_bytes = self.target_address.to_field().to_be_bytes(32);\n for i in 0..32 { bytes[i + 64] = target_address_bytes[i]; }\n bytes[96] = self.is_public as u8;\n bytes\n }\n}\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal ENTRYPOINT_PAYLOAD_SIZE: Field = 17;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES: Field = 420;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:entrypoint-struct\nstruct EntrypointPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:entrypoint-struct\n\nimpl Serialize<ENTRYPOINT_PAYLOAD_SIZE> for EntrypointPayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; ENTRYPOINT_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, ENTRYPOINT_PAYLOAD_SIZE> = BoundedVec::new(0); \n for call in self.function_calls {\n fields.extend_from_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage\n }\n}\n\nimpl Hash for EntrypointPayload {\n fn hash(self) -> Field {\n pedersen_hash(\n self.serialize(), \n GENERATOR_INDEX__SIGNATURE_PAYLOAD\n )\n }\n}\n\nimpl EntrypointPayload {\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] = [0; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES];\n\n for i in 0..ACCOUNT_MAX_CALLS {\n let item_bytes = self.function_calls[i].to_be_bytes();\n for j in 0..FUNCTION_CALL_SIZE_IN_BYTES { \n bytes[i * FUNCTION_CALL_SIZE_IN_BYTES + j] = item_bytes[j];\n }\n }\n\n let nonce_bytes = self.nonce.to_be_bytes(32);\n let nonce_offset = FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS;\n for j in 0..32 {\n bytes[nonce_offset + j] = nonce_bytes[j];\n }\n \n bytes\n }\n\n // Executes all private and public calls \n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address, call.function_selector, call.args_hash\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address, call.function_selector, call.args_hash\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n",
2946
3207
  "path": "/usr/src/yarn-project/aztec-nr/authwit/src/entrypoint.nr"
2947
3208
  },
2948
- "189": {
2949
- "source": "use dep::aztec::context::{PrivateContext, PublicContext, Context};\nuse dep::aztec::state_vars::{map::Map, public_state::PublicState};\nuse dep::aztec::types::type_serialization::bool_serialization::{BoolSerializationMethods,BOOL_SERIALIZED_LEN};\n\nuse crate::entrypoint::EntrypointPayload;\nuse crate::auth::IS_VALID_SELECTOR;\n\nstruct AccountActions {\n context: Context,\n is_valid_impl: fn(&mut PrivateContext, Field) -> bool,\n approved_action: Map<Field, PublicState<bool, BOOL_SERIALIZED_LEN>>,\n}\n\nimpl AccountActions {\n pub fn init(context: Context, approved_action_storage_slot: Field, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions {\n context: context,\n is_valid_impl: is_valid_impl,\n approved_action: Map::new(\n context,\n approved_action_storage_slot,\n |context, slot| {\n PublicState::new(context, slot, BoolSerializationMethods)\n },\n ),\n }\n }\n\n pub fn private(context: &mut PrivateContext, approved_action_storage_slot: Field, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions::init(Context::private(context), approved_action_storage_slot, is_valid_impl)\n }\n\n pub fn public(context: &mut PublicContext, approved_action_storage_slot: Field, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions::init(Context::public(context), approved_action_storage_slot, is_valid_impl)\n }\n \n // docs:start:entrypoint\n pub fn entrypoint(self, payload: EntrypointPayload) {\n let message_hash = payload.hash();\n let valid_fn = self.is_valid_impl;\n let private_context = self.context.private.unwrap();\n assert(valid_fn(private_context, message_hash));\n payload.execute_calls(private_context);\n }\n // docs:end:entrypoint\n\n pub fn is_valid(self, message_hash: Field) -> Field {\n let valid_fn = self.is_valid_impl;\n if (valid_fn(self.context.private.unwrap(), message_hash)) {\n IS_VALID_SELECTOR\n } else {\n 0\n }\n }\n\n pub fn is_valid_public(self, message_hash: Field) -> Field {\n let value = self.approved_action.at(message_hash).read();\n if (value){\n IS_VALID_SELECTOR\n } else {\n 0\n }\n }\n\n pub fn internal_set_is_valid_storage(self, message_hash: Field, value: bool) {\n self.approved_action.at(message_hash).write(value);\n }\n}\n",
3209
+ "199": {
3210
+ "source": "use dep::aztec::context::{PrivateContext, PublicContext, Context};\nuse dep::aztec::state_vars::{map::Map, public_state::PublicState};\n\nuse crate::entrypoint::EntrypointPayload;\nuse crate::auth::IS_VALID_SELECTOR;\n\nstruct AccountActions {\n context: Context,\n is_valid_impl: fn(&mut PrivateContext, Field) -> bool,\n approved_action: Map<Field, PublicState<bool>>,\n}\n\nimpl AccountActions {\n pub fn init(context: Context, approved_action_storage_slot: Field, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions {\n context: context,\n is_valid_impl: is_valid_impl,\n approved_action: Map::new(\n context,\n approved_action_storage_slot,\n |context, slot| {\n PublicState::new(context, slot)\n },\n ),\n }\n }\n\n pub fn private(context: &mut PrivateContext, approved_action_storage_slot: Field, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions::init(Context::private(context), approved_action_storage_slot, is_valid_impl)\n }\n\n pub fn public(context: &mut PublicContext, approved_action_storage_slot: Field, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions::init(Context::public(context), approved_action_storage_slot, is_valid_impl)\n }\n \n // docs:start:entrypoint\n pub fn entrypoint(self, payload: EntrypointPayload) {\n let message_hash = payload.hash();\n let valid_fn = self.is_valid_impl;\n let private_context = self.context.private.unwrap();\n assert(valid_fn(private_context, message_hash));\n payload.execute_calls(private_context);\n }\n // docs:end:entrypoint\n\n pub fn is_valid(self, message_hash: Field) -> Field {\n let valid_fn = self.is_valid_impl;\n if (valid_fn(self.context.private.unwrap(), message_hash)) {\n IS_VALID_SELECTOR\n } else {\n 0\n }\n }\n\n pub fn is_valid_public(self, message_hash: Field) -> Field {\n let value = self.approved_action.at(message_hash).read();\n if (value){\n IS_VALID_SELECTOR\n } else {\n 0\n }\n }\n\n pub fn internal_set_is_valid_storage(self, message_hash: Field, value: bool) {\n self.approved_action.at(message_hash).write(value);\n }\n}\n",
2950
3211
  "path": "/usr/src/yarn-project/aztec-nr/authwit/src/account.nr"
2951
3212
  },
2952
- "192": {
3213
+ "202": {
2953
3214
  "source": "#[oracle(getAuthWitness)]\nfn get_auth_witness_oracle<N>(_message_hash: Field) -> [Field; N] {}\n\nunconstrained pub fn get_auth_witness<N>(message_hash: Field) -> [Field; N] {\n get_auth_witness_oracle(message_hash)\n}\n",
2954
3215
  "path": "/usr/src/yarn-project/aztec-nr/authwit/src/auth_witness.nr"
2955
3216
  }