@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.
- package/dest/artifacts/EcdsaAccount.json +658 -397
- package/dest/artifacts/SchnorrAccount.json +652 -390
- package/dest/artifacts/SchnorrSingleKeyAccount.json +580 -327
- package/dest/ecdsa/index.d.ts +4 -4
- package/dest/ecdsa/index.d.ts.map +1 -1
- package/dest/ecdsa/index.js +5 -5
- package/dest/schnorr/index.d.ts +3 -3
- package/dest/schnorr/index.d.ts.map +1 -1
- package/dest/schnorr/index.js +4 -4
- package/dest/single_key/index.d.ts +4 -5
- package/dest/single_key/index.d.ts.map +1 -1
- package/dest/single_key/index.js +5 -6
- package/package.json +7 -7
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"noir_version": "0.23.0+
|
|
2
|
+
"noir_version": "0.23.0+9a70040211d205f472aa31924649c2fef999eb49",
|
|
3
3
|
"name": "SchnorrAccount",
|
|
4
4
|
"functions": [
|
|
5
5
|
{
|
|
6
|
-
"name": "
|
|
6
|
+
"name": "set_is_valid_storage",
|
|
7
7
|
"function_type": "Open",
|
|
8
|
-
"is_internal":
|
|
8
|
+
"is_internal": true,
|
|
9
9
|
"abi": {
|
|
10
10
|
"parameters": [
|
|
11
11
|
{
|
|
@@ -182,7 +182,23 @@
|
|
|
182
182
|
{ "name": "chain_id", "type": { "kind": "field" } },
|
|
183
183
|
{ "name": "version", "type": { "kind": "field" } },
|
|
184
184
|
{ "name": "block_number", "type": { "kind": "field" } },
|
|
185
|
-
{ "name": "timestamp", "type": { "kind": "field" } }
|
|
185
|
+
{ "name": "timestamp", "type": { "kind": "field" } },
|
|
186
|
+
{
|
|
187
|
+
"name": "coinbase",
|
|
188
|
+
"type": {
|
|
189
|
+
"kind": "struct",
|
|
190
|
+
"path": "authwit::aztec::protocol_types::address::EthAddress",
|
|
191
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
192
|
+
}
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"name": "fee_recipient",
|
|
196
|
+
"type": {
|
|
197
|
+
"kind": "struct",
|
|
198
|
+
"path": "authwit::aztec::protocol_types::address::AztecAddress",
|
|
199
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
200
|
+
}
|
|
201
|
+
}
|
|
186
202
|
]
|
|
187
203
|
}
|
|
188
204
|
}
|
|
@@ -198,7 +214,23 @@
|
|
|
198
214
|
{ "name": "chain_id", "type": { "kind": "field" } },
|
|
199
215
|
{ "name": "version", "type": { "kind": "field" } },
|
|
200
216
|
{ "name": "block_number", "type": { "kind": "field" } },
|
|
201
|
-
{ "name": "timestamp", "type": { "kind": "field" } }
|
|
217
|
+
{ "name": "timestamp", "type": { "kind": "field" } },
|
|
218
|
+
{
|
|
219
|
+
"name": "coinbase",
|
|
220
|
+
"type": {
|
|
221
|
+
"kind": "struct",
|
|
222
|
+
"path": "authwit::aztec::protocol_types::address::EthAddress",
|
|
223
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"name": "fee_recipient",
|
|
228
|
+
"type": {
|
|
229
|
+
"kind": "struct",
|
|
230
|
+
"path": "authwit::aztec::protocol_types::address::AztecAddress",
|
|
231
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
232
|
+
}
|
|
233
|
+
}
|
|
202
234
|
]
|
|
203
235
|
}
|
|
204
236
|
}
|
|
@@ -206,9 +238,14 @@
|
|
|
206
238
|
},
|
|
207
239
|
"visibility": "private"
|
|
208
240
|
},
|
|
209
|
-
{ "name": "message_hash", "type": { "kind": "field" }, "visibility": "private" }
|
|
241
|
+
{ "name": "message_hash", "type": { "kind": "field" }, "visibility": "private" },
|
|
242
|
+
{ "name": "value", "type": { "kind": "boolean" }, "visibility": "private" }
|
|
210
243
|
],
|
|
211
|
-
"param_witnesses": {
|
|
244
|
+
"param_witnesses": {
|
|
245
|
+
"inputs": [{ "start": 0, "end": 34 }],
|
|
246
|
+
"message_hash": [{ "start": 34, "end": 35 }],
|
|
247
|
+
"value": [{ "start": 35, "end": 36 }]
|
|
248
|
+
},
|
|
212
249
|
"return_type": {
|
|
213
250
|
"abi_type": {
|
|
214
251
|
"kind": "struct",
|
|
@@ -454,7 +491,23 @@
|
|
|
454
491
|
{ "name": "chain_id", "type": { "kind": "field" } },
|
|
455
492
|
{ "name": "version", "type": { "kind": "field" } },
|
|
456
493
|
{ "name": "block_number", "type": { "kind": "field" } },
|
|
457
|
-
{ "name": "timestamp", "type": { "kind": "field" } }
|
|
494
|
+
{ "name": "timestamp", "type": { "kind": "field" } },
|
|
495
|
+
{
|
|
496
|
+
"name": "coinbase",
|
|
497
|
+
"type": {
|
|
498
|
+
"kind": "struct",
|
|
499
|
+
"path": "authwit::aztec::protocol_types::address::EthAddress",
|
|
500
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
501
|
+
}
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
"name": "fee_recipient",
|
|
505
|
+
"type": {
|
|
506
|
+
"kind": "struct",
|
|
507
|
+
"path": "authwit::aztec::protocol_types::address::AztecAddress",
|
|
508
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
509
|
+
}
|
|
510
|
+
}
|
|
458
511
|
]
|
|
459
512
|
}
|
|
460
513
|
}
|
|
@@ -474,22 +527,22 @@
|
|
|
474
527
|
"visibility": "public"
|
|
475
528
|
},
|
|
476
529
|
"return_witnesses": [
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
530
|
+
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,
|
|
531
|
+
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,
|
|
532
|
+
90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
|
|
533
|
+
114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
|
|
534
|
+
136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
|
|
535
|
+
158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
|
|
536
|
+
180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
|
|
537
|
+
202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
|
|
538
|
+
224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238
|
|
486
539
|
]
|
|
487
540
|
},
|
|
488
|
-
"bytecode": "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",
|
|
489
|
-
"debug_symbols": "5Z3NjmTZkZzfpdeEcN2P//JVBC0G0ggYYMARRO4IvrvuSBVZRTCb1ZaVEW2mWrFRiBvhhyfDPNvI76u//vLv//Hf/+Uv//Yff/rzL3/86y/Xf7HLf/njf/3rL3/+X//yp//8kz//5V/+919++eP1h1/+9U//4/7Pv/3hl//5b//+r7/80e3623/7w/994sBPBPxEwk8U/ETDT8xvf+IP//A667QvL7XufXt1nMfb71Pf3q7nvr099+39uW9/nvv28dy3z+e+fT337fu5b//cb60991vrz/3W+nO/tf7cb60/91vrz/3W+nO/tf7cb60/91vrP/at3X281C/zb9/+vVnivM0S8fbie98/hlmiYc7FNIwxDeNMwxymYYJpmGQappiGaaZhmBL4MCVwMCVwMCVwMCVwMCVwMCVwMCVwMCVwMCVwMCVwMCVwMiVwMiVwMiVwMiVwMiVwMiVwMiVwMiVwMiVwMiVwMSVwMSVwMSVwMSVwMSVwMSVwMSVwMSVwMSVwMSVwMyVwMyVwMyVwMyVwMyVwMyVwMyVwMyVwMyVwMyXwMCXwMCXwMCXwMCXwMCXwMCXwMCXwMCXwMCXwMCXwMiXwMiXwMiXwMiXwMiXwMiXwMiXwMiXwMiXwEiWwX0QJfL8F0zBECewXUQL7RZTAfhElsF+v/Gq/vfj+d0d7Zxi7mIZ53Q+wx9s13f/43jVZMA2TTMMU0zDNNMzrfoWYuObLiyfs+mYYfwyzRMP49cJr6scwnmf+7pqwV38Z3XRHd9LR7drOxzKw6+x7wx/l4UN5eJSadYTk+fLED6XT/ZOdj1Pc/zxfw7gfH/BjCM1v+YAfyoV7vvP2Afc/1zsf4M/+AJTydoQx+fJEwk8U/AT883rgn1cETvh/TyAEwZcnDH7C4SfgOw/4zgO+84DvPOA7D/jOA77zhO884TtP+M4TvvOE7zzhO0/4zhO+84TvPOE7L/jOC77zgu+84Dsv+M4LvvOC77zgOy/4zgu+84bvvOE7b/jOG77zhu+84Ttv+M4bvvOG77zhOx/4zge+84HvfOA7H/jOB77zge984Dsf+M4HvvOF73zhO1/4zhe+84XvfOE7X/jOF77zhe980Ts/1wU/YfATDj9x4CcCfiLhJwp+ouEnBn4CvnOD79zgOzf4zg2+c4Pv3OA7N/jODb5zg+/c4Dt3+M4dvnOH79zhO3f4zh2+c4fvHO4QD9whHofv/MB3fuA7P/Cdwz3cgXu4A/dwB+7hDtzDHbiHO3APd+Ae7sA93IF7uAP3cAfu4Q7cwx24hztwD3fgHu7APdyBe7gD93AH7uEO3MMduIc7cA934B7uwD3cgXu4A/dwB+7hDtzDHbiHO3APd+Ae7sA93IF7uAP3cAfu4Q7cwx24hztwD3fgHu7APdyBe7gD93AH7uEO3MMduIc7cA934B7uwD3cgXu4A/dwB+7hDtzDHbiHO3APd+Ae7sA93IF7uAP3cAfu4Q7cwx24hztwD3fgHu7APdyBe7gD93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AB93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AJ93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AF93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AN93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AD93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93AL93B2wUXc/Yjhjzj+yMEfCfyRxB8p/JHGHxn8Efz2Db99w2/f8Ns3/PYNv33Db9/w2zf89g2/fcNv3/Hbd/z2Hb99x2/f8dt3/PYdv33Hb9/x23f89g9++we//YPf/sFv/+C3f/DbP/jtH/z2D377B7/9wG8/8NsP/PYDv/3Abz/w2w/89gO//cBvP/DbT/z2E7/9xG8/8dtP/PYTv/3Ebz/x20/89hO//cJvv/DbL/z2C7/9wm+/8Nsv/PYLv/3Cb7/w22/89hu//cZvv/Hbb/z2G7/9xm+/8dtv/PYbv/3Bb3/w2x/89ge//cFvf/DbH/z2B7/9wW9/8Ntf/PYXv/3Fb3/x21/89he//cVvf/HbX/z28a7P8K7P8K7P8K7P8K7v/q0XfyTxRwp/pPFHBn8Ev3286zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO86zO863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863O863Ok6/vDP7wufb68MiPfXhv19u711Hfvp777PPXd90fe3Sfz8dr7n9veXt/vvfzuWh8vvr6+9Xn7IUAaz+cPY0zDONMw52nDPD4hnv4J+fRPqKd/Qv/gJ2y8fUJd84M/FMM0zBINsxfTMMY0jDMNc5iGCaZhkmmYYhqGKYGXKYGXKIHPRZTA5yJK4HMRJfC5iBL4XEQJfC6iBD4XUQKfiyiBz0WUwOdiSmBjSmBjSmBjSmBjSmBjSmBjSmBjSmBjSmBjSmBjSmBnSmBnSmBnSmBnSmBnSmBnSmBnSmBnSmBnSmBnSuDDlMCHKYEPUwIfpgQ+TAl8mBL4MCXwYUrgw5TAhymBgymBgymBgymBgymBgymBgymBgymBgymBgymBgymBkymBkymBkymBkymBkymBkymBkymBkymBkymBkymBiymBiymBiymBiymBiymBiymBiymBiymBiymBiymBmymBmymBmymBmymBmymBmymBmymBmymBmymBmymBhymBhymBhymBhymBhymBhymBhymBmZi4w8TEHSYm7jAxcYeJiTtMTNxhYuIOExN3mJi4w8TEHSYm7jAxcYeJiQsmJi6YmLhgYuKCiYmLiyiBg4mJCyYmLpiYuGBi4oKJiQsmJi6YmLhgYuKCiYkLJiYumJi4YGLigomJCyYmLpiYuGBi4oKJiQsmJi6YmLhgYuKCiYkLJiYumJi4YGLigomJCyYmLpiYuGBi4oKJiQsmJi6YmLhgYuKCiYkLJiYumJi4YGLigomJCyYmLpiYuGBi4oKJiQsmJi6YmLhgYuKCiYkLJiYumJi4YGLigomJCyYmLpiYuGBi4oKJiQsmJi6YmLhgYuKCiYkLJiYumJi4YGLigomJCyYmLpiYuGBi4oKJiQsmJi6YmLhgYuKCiYkLJiYumJi4YGLigomJCyYmLpiYuGBi4oKJiQsmJi6YmLhgYuKCiYkLJiYumJi4YGLigomJCyYmLpiYuGBi4oKJiQsmJi6YmLhgYuKCiYkLJiYumJi4ZGLikomJSyYmLpmYuLyIEjiZmLhkYuKSiYlLJiYumZi4ZGLikomJSyYmLpmYuGRi4pKJiUsmJi6ZmLhkYuKSiYlLJiYumZi4ZGLikomJSyYmLpmYuGRi4pKJiUsmJi6ZmLhkYuKSiYlLJiYumZi4ZGLikomJSyYmLpmYuGRi4pKJiUsmJi6ZmLhkYuKSiYlLJiYumZi4ZGLikomJSyYmLpmYuGRi4pKJiUsmJi6ZmLhkYuKSiYlLJiYumZi4ZGLikomJSyYmLpmYuGRi4pKJiUsmJi6ZmLhkYuKSiYlLJiYumZi4ZGLikomJSyYmLpmYuGRi4pKJiUsmJi6ZmLhkYuKSiYlLJiYumZi4ZGLikomJSyYmLpmYuGRi4pKJiUsmJi6ZmLhkYuKSiYlLJiYumZi4ZGLikomJSyYmLpmYuGRi4pKJiSsmJq6YmLhiYuKKiYmriyiBi4mJKyYmrpiYuGJi4oqJiSsmJq6YmLhiYuKKiYkrJiaumJi4YmLiiomJKyYmrpiYuGJi4oqJiSsmJq6YmLhiYuKKiYkrJiaumJi4YmLiiomJKyYmrpiYuGJi4oqJiSsmJq6YmLhiYuKKiYkrJiaumJi4YmLiiomJKyYmrpiYuGJi4oqJiSsmJq6YmLhiYuKKiYkrJiaumJi4YmLiiomJKyYmrpiYuGJi4oqJiSsmJq6YmLhiYuKKiYkrJiaumJi4YmLiiomJKyYmrpiYuGJi4oqJiSsmJq6YmLhiYuKKiYkrJiaumJi4YmLiiomJKyYmrpiYuGJi4oqJiSsmJq6YmLhiYuKKiYkrJiaumJi4YmLiiomJKyYmrpiYuGJi4oqJiSsmJq6YmLhiYuKKiYkrJiaumJi4ZmLimomJayYmrpmYuL6IEriZmLhmYuKaiYlrJiaumZi4ZmLimomJayYmrpmYuGZi4pqJiWsmJq6ZmLhmYuKaiYlrJiaumZi4ZmLimomJayYmrpmYuGZi4pqJiWsmJq6ZmLhmYuKaiYlrJiaumZi4ZmLimomJayYmrpmYuGZi4pqJiWsmJq6ZmLhmYuKaiYlrJiaumZi4ZmLimomJayYmrpmYuGZi4pqJiWsmJq6ZmLhmYuKaiYlrJiaumZi4ZmLimomJayYmrpmYuGZi4pqJiWsmJq6ZmLhmYuKaiYlrJiaumZi4ZmLimomJayYmrpmYuGZi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tYUErS0kaG0hQWsLCUZbSDDaQoLRFhKMtpBgLumtO9pCgtEWEoy2kGC0hQSjLSQYbSHBaAsJRltIMNpCgtEWEoy2kGC0hQSjLSQYbSHBaAsJRltIMORCgu+Or711ydUB3x1fe+uSQ/7fHV9765Lj+N8dX3vrkoPz3xufnIb/7vjaW/dob92jvXWP9tY92lv3aG/do711j/bWPdpbN7S3bmhv3dDeuqG9dXHxDtf42ls3tLduaG/d0N66ob11U3vrpvbWTe2tm9pb9/NtU68dX3vrpvbWTe2tm9pbN7W3bmlv3dLeuqW9dUt7636+T+q142tv3dLeuqW9dUt765b21m3trdvaW7e1t25rb93Pt169dnztrdvaW7e1t25rb93W3rqjvXVHe+uO9tYd7a37+U6m146vvXVHe+uO9tYd7a072ltX20012m6q0XZTjbabarTdVKPtphptN9Vou6lG20012m6q1XZTrbabarXdVKvtptpLeuuutptqtd1Uq+2mWm031Wq7qVbbTbXabqrVdlOttptqtd1Uq+2mWm031Wq7qVbbTbXabqrVdlOttptqtd1Uq+2mWm031Wq7qVbbTbXabqrVdlOttptqtd1Uq+2mWm031Wq7qVbbTbXabqrVdlOttptqtd1Uq+2mWm031Wq7qVbbTbXabqrVdlOttptqtd1Uq+2mWm031Wq7qVbbTbXabqrVdlOttptqtd1Uq+2mWm031Wq7qVbbTbXabqrVdlOttptqtd1Uq+2mWm031Wq7qVbbTbXabqrVdlOttptqtd1Uq+2mWm031Wq7qVbbTbXabqrVdlOttptqtd1Uq+2mWm031Wq7qVbbTbXabqrVdlOttptqtd1Uq+2mWm031Wq7qVbbTbXabqrVdlOttptqtd1Uq+2mWm031Wq7qVbbTbXSbqq4pN1U9/jKW/ceX3nr3uMrb917fOWte4+vvHXv8ZW37j2+8ta9x1feuvf42ltX2k11j6+9daXdVPf42ltX2k11j6+9daXdVPf42ltX2k11j6+9daXdVPf42ltX2k11j6+9daXdVPf42ltX2k11j6+9daXdVPf42ltX2k11j6+9daXdVPf42ltX2k11j6+9daXdVPf43Fv3LmG/vDZsvx3/nfftebzt9NtL87ydlHtBf+ZJuXf5J56UXI71mSfl/g3hM0/K/cvEZ56U+/eOzzxp/H940s33Tsr928xnnpT7F59PPOn7RpnH23/vjLn95ZVlX1+b+fbu9dR376e++zz13feZ7/6+bOTT3t2e+u7+1Hc/T333eOq7P/W7Wk/9rtZTv6v11O9qPfW72k/9rvZTv6v91O9qP/W72k/9rvZTv6v91O9qP/W72k/9rvZTv6vz1O/qPPW7Ok/9rs5Tv6sDfFcfjyT+SOGPNP7ID/38e4S//WvF/c/19vr++gn77E/Y6+mfYE/+hF/5CzZ/6yfY7uOlftk3/7523nvxRL91CDFf/1XwmrdpDtU0QTVNUk1TVNP0C6eZeusSvnnxt9MM1TTLNI1fVNMY1TRONc0Ls3h936apd7/hHlTTvC5v/Lr264uvd6cZqmmWaZpzUU1jVNM41TSHapqgmiappimqaaiy+FBl8aHK4qDK4qDK4qDK4qDK4qDK4qDK4qDK4qDK4qDK4qDK4qTK4qTK4qTK4qTK4qTK4qTK4qTK4qTK4qTK4qTK4qLK4qLK4qLK4qLK4qLK4qLK4qLK4qLK4qLK4qLK4qbK4qbK4qbK4qbK4qbK4qbK4qbK4qbK4qbK4qbK4qHK4qHK4qHK4qHK4qHK4qHK4qHK4qHK4qHK4qHK4qXK4qXK4qXK4qXK4qXK4qXK4qXK4qXK4qXK4iXK4vyVv2zhd5uGKIvzV/4qhN9tGqIszl/5iwp+t2mIsjh/5a8R+N2mIcri/BXJ/+82DVUWG1UWG1UWG1UWG1UWG1UWG1UWG1UWG1UWG1UWG1UWO1UWO1UWO1UWO1UWO1UWO1UWO1UWM3F3eTFxd3kxcXd5MXF3eTFxd3kxcXd5MXF3eTFxd3kxcXd5MXF3eTFxd3kxcXd5MXF3eTFxd3kxcXd5MXF3eTFxd3kxcXd5MXF3eTFxd/c0VFnMxN3d01BlMRN3d09DlcVM3N09DVUWM3F3eTFxd3kxcXd5MXF3eTFxd3kxcXd5MXF3eTFxd3kxcXd5MXF3eTFxd3kxcXd5MXF3eTFxd3kxcXd5vZTmqjcP7fXNXx/z7TSHapoX/hR7+uPFnufdaZpqmqGaZpmmeSWx9Bumed1vFBPX42/Ymfi7vPG3aZxqmhfmzYl4vDgu+7ubeuetr+1HPJld3/6VSd/cbEhPn9LTl/T0LT39UEz/ZZpXMlG/YRqjmsappuFI+8c0HOn9mIYjjR/TvDBdI97+IsOIeHeapppmqKZZomnslUzUb5jGqKZxqmkO1TRBNU1STcOUxXYxZbFdTFlsF1UWG1UWG1UWG1UWG1UWG1UWG1UWG1UWG1UWG1UWG1UWO1UWO1UWO1UWO1UWO1UWO1UWO1UWO1UWO1UWO1UWH6osPlRZ/Eru5/7KPF5s7/4vp/ZK7uc3TFNU0zTVNEM1zTJN80ru5++m6XenMappnGqaQzVNUE3zyiyer/+fGnt3T72S+/kN0yzTNK9kW37DNEY1jVNNc6imeWHeeL7ljfe7W/OVbMtvmKaopmmqaYZqmmWapi6qaYxqGqea5lBNQ5XFRZXFRZXFRZXFRZXFRZXFTZXFTZXF/dIs/g4xYX2opgmqaZJqGiZCy6gILaMitIyK0DIqQsvGqKahyuKhyuKhyuKhyuKhyuKhyuKhyuKhyuKlyuKlyuKlyuKlyuKlyuKlyuKlyuKlyuKlyuJlymK/mLLYL6Ys9ospi/1iymK/mLLYL6Ys9osp/fxiSj9/n8q5/yt7PPfN/01w++0p/9BT50NPxYeeyg89VdhTf/vb/wE="
|
|
541
|
+
"bytecode": "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",
|
|
542
|
+
"debug_symbols": "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OdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyWOdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyROdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOdyVOVw8Moh7Hwn9kdQfKf2RpT/S+iOjP7L1R47+iH76oZ9+6Kcf+umHfvqhn37opx/66Yd++qGffuinn/rpp376qZ9+6qef+umnfvqpn37qp5/66ad++qWffumnX/rpl376pZ9+6adf+umXfvqln37pp7/001/66S/99Jd++ks//aWf/tJPf+mnv/TTX/rpt376rZ9+66ff+um3fvqtn37rp9/66bd++q2f/uinP/rpj376o5/+6Kc/+umPfvqjn/7opz/66W/99Ld++ls//a2f/tZPf+unv/XT3/rpb/30t376Rz/9o5/+0U//6Kd/9NM/+ukf/fSPfvpHP/2jn/7VT//qp3/107/66V/99K9++lc//auf/tVPX2d9obO+0Flf6KwvdNb3/qlXf6T1R0Z/ZOuPHP0R/fR11hc66wud9YXO+kJnfaGzvtBZX+isL3TWFzrrC531hc76Qmd9obO+0Flf6KwvdNYXOusLnfWFzvpCZ32hs77QWV/orC901hc66wud9YXO+kJnfaGzvtBZX+isL3TWFzrrC531hc76Qmd9obO+0Flf6KwvdNYXOusLnfWFzvpCZ32hs77QWV/orC901hc66wud9YXO+kJnfaGzvtBZX+isL3TWFzrrC531hc76Qmd9obO+0Flf6KwvdNYXOusLnfWFzvpCZ32hs77QWV/orC901hc66wud9YXO+kJnfaGzvtBZX+isL3TWFzrrC531hc76Qmd9obO+0Flf6KwvdNYXOutLnfWlzvpSZ32ps77UWV/qrC911pc660ud9aXO+lJnfamzvtRZX+qsL3XWlzrrS531pc76Umd9qbO+1Flf6qwvddaXOutLnfWlzvpSZ32ps77UWV/qrC911pc660ud9aXO+lJnfamzvtRZX+qsL3XWlzrrS531pc76Umd9qbO+1Flf6qwvddaXOutLnfWlzvpSZ32ps77UWV/qrC911pc660ud9aXO+lJnfamzvtRZX+qsL3XWlzrrS531pc76Umd9qbO+1Flf6qwvddaXOutLnfWlzvpSZ32ps77UWV/qrC911pc660ud9aXO+lJnfamzvtRZX+qsL3XWlzrrS531pc76Umd9qbO+1Flf6qwvddaXOutLnfWlzvpSZ32ps77SWV/prK901lc66yud9ZXO+kpnfaWzvtJZX+msr3TWVzrrK531lc76Smd9pbO+0llf6ayvdNZXOusrnfWVzvpKZ32ls77SWV/prK901lc66yud9ZXO+kpnfaWzvtJZX+msr3TWVzrrK531lc76Smd9pbO+0llf6ayvdNZXOusrnfWVzvpKZ32ls77SWV/prK901lc66yud9ZXO+kpnfaWzvtJZX+msr3TWVzrrK531lc76Smd9pbO+0llf6ayvdNZXOusrnfWVzvpKZ32ls77SWV/prK901lc66yud9ZXO+kpnfaWzvtJZX+msr3TWVzrrK531lc76Smd9pbO+0llf6ayvdNZXOusrnfWVzvpKZ32ls77SWV/prK901lc661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s661s662ud9bXO+lpnfa2zvtZZX+usr3XW1zrra531tc76Wmd9rbO+1llf66yvddbXOutrnfW1wvr++j+9bp770ysn59tr1/n27udT3/1+5rsrsPEH3j3+nnd/t8lPr+zsb6+d/s5LY++fXprPz29b8W2QpAxSlEEWZZD+lEE+3n0+9d33p777+dR3/7v2Sq/z8e6Tf98PQD2UQYIySFIGKcogizJIUwYZyiCbMsihDELZrIuyWRdlsy7KZl2Uzboom3VRNuuibNZF2ayLslkXZbM2ZbM2ZbM2ZbM2ZbM2ZbM2ZbM2ZbM2ZbM2ZbM2ZbMOZbMOZbMOZbMOZbMOZbMOZbMOZbMOZbMOZbMOZbNuymbdlM26KZt1UzbrpmzWTdmsm7JZN2Wzbspm3ZTNeiib9VA266Fs1kPZrIeyWQ9lsx7KZj2UzXoom/VQNuulbNZL2ayXslkvZbNeyma9lM16KZv1UjbrpWzWC9ms80A26zyQzToPZLPOA9ms80A26zyQzToPZLPOA9ms80A26zyUzRqU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H+Mbdj/GN+x+jG/Y/RjfsPsxvmH3Y3zD7sf4ht2P8w0bzjdsON+w4XzDhvMNG843bDjfsOF8w4bzDRvON2w437DpfMOm8w2bzjdsOt+w6XzDpvMNm843bDrfsOl8w6bzDVvON2w537DlfMOW8w1bzjdsOd+w5XzDlvMNW843bDnfsMv5hl3ON+xyvmGX8w27nG/Y5XzDLucbdjnfsMv5hl3ON2w737DtfMO28w3bzjdsO9+w7XzDtvMN2843bDvfsO18w47zDTvON+w437DjfMOO8w07zjfsON+w43zDjvMNO8437Ha+YbfzDbudb9jtfMP+LiWfP2x45xt2O9+w2/mG3c437Ha+YY/zDXucb9jjfMMe5xv2D+gk/Y7DO9+wx/mGPc43rHPTaTs3nbZz02k7N522c9NpOzedtnPTaTs3nbZz02k7N522c9NpOzedjnPT6Tg3nY5z0+k4N53OY3zDHuem03FuOh3nptNxbjod56bTcW46Heem03FuOh3nptNxbjod56bTcW46Heem03FuOh3nptNxbjod56bTcW46Heem03FuOh3nptNxbjod56bTcW46Heem03FuOh3nptNxbjod56bTcW46Heem03FuOh3nptNxbjod56bTcW46Heem03FuOh3nptNxbjod56bTcW46Heem03FuOh3nptNxbjod56bTcW46Heem03FuOh3nptNxbjod56bTcW46Heem03FuOh3nptNxbjod56bTcW46Heem03FuOh3nptNxbjod56bTcW46Heem03FuOh3nptNxbjod56bTcW46Heem03FuOh3nptNxbjod56bTcW46Heem03FuOh3nptNxbjod56bTcW46Heem03FuOh3nptNxbjod56bTcW46Heem03FuOh3nptNxbjod56bTdW46Xeem03VuOl3nptN9jG/Y69x0us5Np+vcdLrOTafr3HS6zk2n69x0us5Np+vcdLrOTafr3HS6zk2n69x0us5Np+vcdLrOTafr3HS6zk2n69x0us5Np+vcdLrOTafr3HS6zk2n69x0us5Np+vcdLrOTafr3HS6zk2n69x0us5Np+vcdLrOTafr3HS6zk2n69x0us5Np+vcdLrOTafr3HS6zk2n69x0us5Np+vcdLrOTafr3HS6zk2n69x0us5Np+vcdLrOTafr3HS6zk2n69x0us5Np+vcdLrOTafr3HS6zk2n69x0us5Np+vcdLrOTafr3HS6zk2n69x0us5Np+vcdLrOTafr3HS6zk2n69x0us5Np+vcdLrOTafr3HS6zk2n69x0us5Np+vcdLrOTafr3HS6zk2n69x0us5Np+vcdLrOTafr3HS6zk2n69x0us5Np+vcdLrOTadr3HSqx7jp9A7ve8O+w/vesO/wvjfsO7zvDfsO73vDvsP73rDv8L437Du87w37Du98wxo3nd7hnW9Y46bTO7zzDWvcdHqHd75hjZtO7/DON6xx0+kd3vmGNW46vcM737DGTad3eOcb1rjp9A7vfMMaN53e4Z1vWOOm0zu88w1r3HR6h3e+YY2bTu/wzjescdPpHd75hjVuOr3DO9+wxk2nd3jnG9a46fQO73zDGjed3uGdb1jjptM7vPMNa9x0eod3vmGNm07v8M43rHHT6R3e+YY1bjq9wzvfsMZNp3d45xvWuOn0Du98wxo3nd7hnW9Y46bTO7zzDWvcdHqHd75hjZtO7/DON6xx0+kd3vmGNW46vcM737DGTad3eOcb1rjp9A7vfMMaN53e4Z1vWOOm0zu88w1r3HR6h3e+YY2bTu/wzjescdPpHd75hjVuOr3DO9+wxk2nd3jnG9a46fQO73zDGjed3uGdb1jjptM7vPMNa9x0eod3vmGNm07v8M43rHHT6R3e+IYN56ZTODedwrnpFM5Np3iMb9hwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56RTOTadwbjqFc9MpnJtO4dx0CuemUzg3ncK56ZTOTad0bjqlc9MpnZtO+RjfsOncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTKZ2bTuncdErnplM6N53SuemUzk2ndG46pXPTqZybTuXcdCrnplM5N53qMb5hy7npVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56ZTOTedyrnpVM5Np3JuOpVz06mcm07l3HQq56bTcm46Leem03JuOi3nptN6jG/Y5dx0Ws5Np+XcdFrOTafl3HRazk2n5dx0Ws5Np+XcdFrOTafl3HRazk2n5dx0Ws5Np+XcdFrOTafl3HRazk2n5dx0Ws5Np+XcdFrOTafl3HRazk2n5dx0Ws5Np+XcdFrOTafl3HRazk2n5dx0Ws5Np+XcdFrOTafl3HRazk2n5dx0Ws5Np+XcdFrOTafl3HRazk2n5dx0Ws5Np+XcdFrOTafl3HRazk2n5dx0Ws5Np+XcdFrOTafl3HRazk2n5dx0Ws5Np+XcdFrOTafl3HRazk2n5dx0Ws5Np+XcdFrOTafl3HRazk2n5dx0Ws5Np+XcdFrOTafl3HRazk2n5dx0Ws5Np+XcdFrOTafl3HRazk2n5dx0Ws5Np+XcdFrOTafl3HRazk2n5dx0Ws5Np+XcdFrOTafl3HRazk2n5dx0Ws5Np+XcdFrOTafl3HRq56ZTOzed2rnp1M5Np36Mb9h2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56dTOTad2bjq1c9OpnZtO7dx0auemUzs3ndq56TTOTadxbjqNc9NpnJtO8xjfsOPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaZybTuPcdBrnptM4N53Guek0zk2ncW46jXPTaTs3nbZz02k7N522c9NpP8Y37HZuOm3nptN2bjpt56bTdm46beem03ZuOm3nptN2bjpt56bTdm46beem03ZuOm3nptN2bjpt56bTdm46beem03ZuOm3nptN2bjpt56bTdm46beem03ZuOm3nptN2bjpt56bTdm46beem03ZuOm3nptN2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"
|
|
490
543
|
},
|
|
491
544
|
{
|
|
492
|
-
"name": "
|
|
545
|
+
"name": "is_valid",
|
|
493
546
|
"function_type": "Secret",
|
|
494
547
|
"is_internal": false,
|
|
495
548
|
"abi": {
|
|
@@ -668,7 +721,23 @@
|
|
|
668
721
|
{ "name": "chain_id", "type": { "kind": "field" } },
|
|
669
722
|
{ "name": "version", "type": { "kind": "field" } },
|
|
670
723
|
{ "name": "block_number", "type": { "kind": "field" } },
|
|
671
|
-
{ "name": "timestamp", "type": { "kind": "field" } }
|
|
724
|
+
{ "name": "timestamp", "type": { "kind": "field" } },
|
|
725
|
+
{
|
|
726
|
+
"name": "coinbase",
|
|
727
|
+
"type": {
|
|
728
|
+
"kind": "struct",
|
|
729
|
+
"path": "authwit::aztec::protocol_types::address::EthAddress",
|
|
730
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
731
|
+
}
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
"name": "fee_recipient",
|
|
735
|
+
"type": {
|
|
736
|
+
"kind": "struct",
|
|
737
|
+
"path": "authwit::aztec::protocol_types::address::AztecAddress",
|
|
738
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
739
|
+
}
|
|
740
|
+
}
|
|
672
741
|
]
|
|
673
742
|
}
|
|
674
743
|
}
|
|
@@ -682,7 +751,7 @@
|
|
|
682
751
|
"path": "authwit::aztec::protocol_types::contrakt::deployment_data::ContractDeploymentData",
|
|
683
752
|
"fields": [
|
|
684
753
|
{
|
|
685
|
-
"name": "
|
|
754
|
+
"name": "public_key",
|
|
686
755
|
"type": {
|
|
687
756
|
"kind": "struct",
|
|
688
757
|
"path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint",
|
|
@@ -692,8 +761,15 @@
|
|
|
692
761
|
]
|
|
693
762
|
}
|
|
694
763
|
},
|
|
695
|
-
{ "name": "
|
|
696
|
-
{
|
|
764
|
+
{ "name": "initialization_hash", "type": { "kind": "field" } },
|
|
765
|
+
{
|
|
766
|
+
"name": "contract_class_id",
|
|
767
|
+
"type": {
|
|
768
|
+
"kind": "struct",
|
|
769
|
+
"path": "authwit::aztec::protocol_types::contract_class::ContractClassId",
|
|
770
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
771
|
+
}
|
|
772
|
+
},
|
|
697
773
|
{ "name": "contract_address_salt", "type": { "kind": "field" } },
|
|
698
774
|
{
|
|
699
775
|
"name": "portal_contract_address",
|
|
@@ -721,52 +797,9 @@
|
|
|
721
797
|
},
|
|
722
798
|
"visibility": "private"
|
|
723
799
|
},
|
|
724
|
-
{
|
|
725
|
-
"name": "payload",
|
|
726
|
-
"type": {
|
|
727
|
-
"kind": "struct",
|
|
728
|
-
"path": "authwit::entrypoint::EntrypointPayload",
|
|
729
|
-
"fields": [
|
|
730
|
-
{
|
|
731
|
-
"name": "function_calls",
|
|
732
|
-
"type": {
|
|
733
|
-
"kind": "array",
|
|
734
|
-
"length": 4,
|
|
735
|
-
"type": {
|
|
736
|
-
"kind": "struct",
|
|
737
|
-
"path": "authwit::entrypoint::FunctionCall",
|
|
738
|
-
"fields": [
|
|
739
|
-
{ "name": "args_hash", "type": { "kind": "field" } },
|
|
740
|
-
{
|
|
741
|
-
"name": "function_selector",
|
|
742
|
-
"type": {
|
|
743
|
-
"kind": "struct",
|
|
744
|
-
"path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector",
|
|
745
|
-
"fields": [
|
|
746
|
-
{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }
|
|
747
|
-
]
|
|
748
|
-
}
|
|
749
|
-
},
|
|
750
|
-
{
|
|
751
|
-
"name": "target_address",
|
|
752
|
-
"type": {
|
|
753
|
-
"kind": "struct",
|
|
754
|
-
"path": "authwit::aztec::protocol_types::address::AztecAddress",
|
|
755
|
-
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
756
|
-
}
|
|
757
|
-
},
|
|
758
|
-
{ "name": "is_public", "type": { "kind": "boolean" } }
|
|
759
|
-
]
|
|
760
|
-
}
|
|
761
|
-
}
|
|
762
|
-
},
|
|
763
|
-
{ "name": "nonce", "type": { "kind": "field" } }
|
|
764
|
-
]
|
|
765
|
-
},
|
|
766
|
-
"visibility": "public"
|
|
767
|
-
}
|
|
800
|
+
{ "name": "message_hash", "type": { "kind": "field" }, "visibility": "private" }
|
|
768
801
|
],
|
|
769
|
-
"param_witnesses": { "inputs": [{ "start": 0, "end":
|
|
802
|
+
"param_witnesses": { "inputs": [{ "start": 0, "end": 36 }], "message_hash": [{ "start": 36, "end": 37 }] },
|
|
770
803
|
"return_type": {
|
|
771
804
|
"abi_type": {
|
|
772
805
|
"kind": "struct",
|
|
@@ -822,6 +855,7 @@
|
|
|
822
855
|
},
|
|
823
856
|
{ "name": "args_hash", "type": { "kind": "field" } },
|
|
824
857
|
{ "name": "return_values", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } },
|
|
858
|
+
{ "name": "meta_hwm", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } },
|
|
825
859
|
{
|
|
826
860
|
"name": "read_requests",
|
|
827
861
|
"type": {
|
|
@@ -1038,7 +1072,23 @@
|
|
|
1038
1072
|
{ "name": "chain_id", "type": { "kind": "field" } },
|
|
1039
1073
|
{ "name": "version", "type": { "kind": "field" } },
|
|
1040
1074
|
{ "name": "block_number", "type": { "kind": "field" } },
|
|
1041
|
-
{ "name": "timestamp", "type": { "kind": "field" } }
|
|
1075
|
+
{ "name": "timestamp", "type": { "kind": "field" } },
|
|
1076
|
+
{
|
|
1077
|
+
"name": "coinbase",
|
|
1078
|
+
"type": {
|
|
1079
|
+
"kind": "struct",
|
|
1080
|
+
"path": "authwit::aztec::protocol_types::address::EthAddress",
|
|
1081
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
1082
|
+
}
|
|
1083
|
+
},
|
|
1084
|
+
{
|
|
1085
|
+
"name": "fee_recipient",
|
|
1086
|
+
"type": {
|
|
1087
|
+
"kind": "struct",
|
|
1088
|
+
"path": "authwit::aztec::protocol_types::address::AztecAddress",
|
|
1089
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
1090
|
+
}
|
|
1091
|
+
}
|
|
1042
1092
|
]
|
|
1043
1093
|
}
|
|
1044
1094
|
}
|
|
@@ -1052,7 +1102,7 @@
|
|
|
1052
1102
|
"path": "authwit::aztec::protocol_types::contrakt::deployment_data::ContractDeploymentData",
|
|
1053
1103
|
"fields": [
|
|
1054
1104
|
{
|
|
1055
|
-
"name": "
|
|
1105
|
+
"name": "public_key",
|
|
1056
1106
|
"type": {
|
|
1057
1107
|
"kind": "struct",
|
|
1058
1108
|
"path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint",
|
|
@@ -1062,8 +1112,15 @@
|
|
|
1062
1112
|
]
|
|
1063
1113
|
}
|
|
1064
1114
|
},
|
|
1065
|
-
{ "name": "
|
|
1066
|
-
{
|
|
1115
|
+
{ "name": "initialization_hash", "type": { "kind": "field" } },
|
|
1116
|
+
{
|
|
1117
|
+
"name": "contract_class_id",
|
|
1118
|
+
"type": {
|
|
1119
|
+
"kind": "struct",
|
|
1120
|
+
"path": "authwit::aztec::protocol_types::contract_class::ContractClassId",
|
|
1121
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
1122
|
+
}
|
|
1123
|
+
},
|
|
1067
1124
|
{ "name": "contract_address_salt", "type": { "kind": "field" } },
|
|
1068
1125
|
{
|
|
1069
1126
|
"name": "portal_contract_address",
|
|
@@ -1083,26 +1140,26 @@
|
|
|
1083
1140
|
"visibility": "public"
|
|
1084
1141
|
},
|
|
1085
1142
|
"return_witnesses": [
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1143
|
+
1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067,
|
|
1144
|
+
1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085,
|
|
1145
|
+
1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103,
|
|
1146
|
+
1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121,
|
|
1147
|
+
1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139,
|
|
1148
|
+
1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157,
|
|
1149
|
+
1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175,
|
|
1150
|
+
1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193,
|
|
1151
|
+
1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211,
|
|
1152
|
+
1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229,
|
|
1153
|
+
1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247,
|
|
1154
|
+
1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256
|
|
1098
1155
|
]
|
|
1099
1156
|
},
|
|
1100
|
-
"bytecode": "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",
|
|
1101
|
-
"debug_symbols": "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OEchmeQd5zAk5R3nMCTlHecwJOUd5zAkq0lCJO04FEk7DkXSjkORtONQJO04EMlsx6FI2nEoknYciqQdhyJZTRIiacehSNpxKJJ2HIqkHYciaceBSBY7DkXSjkORtONQJO04FMlqkhBJOw5F0o5DkbTjUCTtOBRJOw5EstpxKJJ2HIqkHYciacehSFaThEjacSiSdhyKpB2HImnHoUjacSCSzY5DkbTjUCTtOBRJOw5FspokRNKOQ5G041Ak7TgUSTsORdKOA5HsdhyKpB2HImnHoUjacSiS1SQhknYciqQdhyJpx6FI2nEoknYciORqx6FI2nEoknYciqQdhyJZTRIiacehSNpxKJJ2HIqkHYciaceBSG52HIqkHYciacehSNpxKJLVJCGSdhyKpB2HImnHoUjacSiSdhyI5LDjUCTtOBRJOw5F0o5DkawmCZG041Ak7TgUSTsORdKOQ5G04zAk02LHoUjacSiSdhyKpB2HIllNEiJpx6FI2nEoknYciqQdhyJpx4FIJjsORdKOQ5G041Ak7TgUyWqSEEk7DkXSjkORtONQJO04FEk7DkQy23EoknYciqQdhyJpx6FIVpOESNpxKJJ2HIqkHYciacehSNpxIJLFjkORtONQJO04FEk7DkWymiRE0o5DkbTjUCTtOBRJOw5F0o4Dkax2HIqkHYciacehSNpxKJLVJCGSdhyKpB2HImnHoUjacSiSdhyIZLPjUCTtOBRJOw5F0o5DkawmCZG041Ak7TgUSTsORdKOQ5G040Akux2HImnHoUjacSiSdhyKZDVJiKQdhyJpx6FI2nEoknYciqQdByK52nEoknYciqQdhyJpx6FIVpOESNpxKJJ2HIqkHYciacehSNpxIJKbvOP01m5x7+C8mGQu5fo58uXsPiEp7ziHISnvOIchKe84hyFZTRIiKe84hyEp7ziHISnvOIchKe84hyEp7zhHITnsOBRJOw5F0o5DkbTjUCSrSUIk7TgUSTsORdKOQ5G041Ak7TgMybzYcSiSdhyKpB2HImnHoUhWk4RI2nEoknYciqQdhyJpx6FI2nEgksmOQ5G041Ak7TgUSTsORbKaJETSjkORtONQJO04FEk7DkXSjgORzHYciqQdhyJpx6FI2nEoktUkIZJ2HIqkHYciacehSNpxKJJ2HIhkseNQJO04FEk7DkXSjkORrCYJ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"
|
|
1157
|
+
"bytecode": "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",
|
|
1158
|
+
"debug_symbols": "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SW96y6mW+yHJTW/Tcy1Nz7U0PdfS9FzL/VN5vUOSm96m51qanmtpeq6l6bmWpudamp5raXqupem5lqbnWpqea2l6rqXpuZam51qanmtpeq6l6bmWpudamp5raXqupem5lqbnWpqea2l6rqXpuZam51qanmtpeq6l6bmWpudamp5raXqupem5lqbnWpqea2l6rqXpuZam51qanmtpeq6l6bmWpudamp5raXqupem5lqbnWpqea2l6rqXpuZam51qanmtpeq6l6bmWpudamp5raXqupem5lqbnWpqea2l6rqXpuZam51qanmtpeq6l6bmWpudamp5raXqupem5lqbnWpqea2l6rqXpuZam51qanmtpeq6l6bmWpudamp5raXqupem5lqbnWpqea2l6rqXpuZam51qanmtpeq6l6bmWpudamp5raXqupem5lqbnWpqea+l6rqXruZau51q6nmvpm9z0dj3X0vVcS9dzLV3PtXQ919L1XEvXcy1dz7V0PdfS9VxL13MtXc+1dD3X0vVcS9dzLV3PtXQ919L1XEvXcy1dz7V0PdfS9VxL13MtXc+1dD3X0vVcS9dzLV3PtXQ919L1XEvXcy1dz7V0PdfS9VxL13MtXc+1dD3X0vVcS9dzLV3PtXQ919L1XEvXcy1dz7V0PdfS9VxL13MtXc+1dD3X0vVcS9dzLV3PtXQ919L1XEvXcy1dz7V0PdfS9VxL13MtXc+1dD3X0vVcS9dzLV3PtXQ919L1XEvXcy1dz7V0PdfS9VxL13MtXc+1dD3X0vVcS9dzLV3PtXQ919L1XEvXcy1dz7V0PdfS9VxL13MtXc+1dD3X0vVcS9dzLV3PtXQ919L1XEvXcy1dz7V0PdfS9VxL13MtQ8+1DD3XMvRcy9BzLWOTm96h51qGnmsZeq5l6LmWoedahp5rGXquZei5lqHnWoaeaxl6rmXouZah51qGnmsZeq5l6LmWoedahp5rGXquZei5lqHnWoaeaxl6rmXouZah51qGnmsZeq5l6LmWoedahp5rGXquZei5lqHnWoaeaxl6rmXouZah51qGnmsZeq5l6LmWoedahp5rGXquZei5lqHnWoaeaxl6rmXouZah51qGnmsZeq5l6LmWoedahp5rGXquZei5lqHnWoaeaxl6rmXouZah51qGnmsZeq5l6LmWoedahp5rGXquZei5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"
|
|
1102
1159
|
},
|
|
1103
1160
|
{
|
|
1104
|
-
"name": "
|
|
1105
|
-
"function_type": "
|
|
1161
|
+
"name": "is_valid_public",
|
|
1162
|
+
"function_type": "Open",
|
|
1106
1163
|
"is_internal": false,
|
|
1107
1164
|
"abi": {
|
|
1108
1165
|
"parameters": [
|
|
@@ -1110,7 +1167,7 @@
|
|
|
1110
1167
|
"name": "inputs",
|
|
1111
1168
|
"type": {
|
|
1112
1169
|
"kind": "struct",
|
|
1113
|
-
"path": "authwit::aztec::abi::
|
|
1170
|
+
"path": "authwit::aztec::abi::PublicContextInputs",
|
|
1114
1171
|
"fields": [
|
|
1115
1172
|
{
|
|
1116
1173
|
"name": "call_context",
|
|
@@ -1280,7 +1337,23 @@
|
|
|
1280
1337
|
{ "name": "chain_id", "type": { "kind": "field" } },
|
|
1281
1338
|
{ "name": "version", "type": { "kind": "field" } },
|
|
1282
1339
|
{ "name": "block_number", "type": { "kind": "field" } },
|
|
1283
|
-
{ "name": "timestamp", "type": { "kind": "field" } }
|
|
1340
|
+
{ "name": "timestamp", "type": { "kind": "field" } },
|
|
1341
|
+
{
|
|
1342
|
+
"name": "coinbase",
|
|
1343
|
+
"type": {
|
|
1344
|
+
"kind": "struct",
|
|
1345
|
+
"path": "authwit::aztec::protocol_types::address::EthAddress",
|
|
1346
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
1347
|
+
}
|
|
1348
|
+
},
|
|
1349
|
+
{
|
|
1350
|
+
"name": "fee_recipient",
|
|
1351
|
+
"type": {
|
|
1352
|
+
"kind": "struct",
|
|
1353
|
+
"path": "authwit::aztec::protocol_types::address::AztecAddress",
|
|
1354
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
1355
|
+
}
|
|
1356
|
+
}
|
|
1284
1357
|
]
|
|
1285
1358
|
}
|
|
1286
1359
|
}
|
|
@@ -1288,63 +1361,45 @@
|
|
|
1288
1361
|
}
|
|
1289
1362
|
},
|
|
1290
1363
|
{
|
|
1291
|
-
"name": "
|
|
1364
|
+
"name": "public_global_variables",
|
|
1292
1365
|
"type": {
|
|
1293
1366
|
"kind": "struct",
|
|
1294
|
-
"path": "authwit::aztec::
|
|
1367
|
+
"path": "authwit::aztec::abi::PublicGlobalVariables",
|
|
1295
1368
|
"fields": [
|
|
1369
|
+
{ "name": "chain_id", "type": { "kind": "field" } },
|
|
1370
|
+
{ "name": "version", "type": { "kind": "field" } },
|
|
1371
|
+
{ "name": "block_number", "type": { "kind": "field" } },
|
|
1372
|
+
{ "name": "timestamp", "type": { "kind": "field" } },
|
|
1296
1373
|
{
|
|
1297
|
-
"name": "
|
|
1374
|
+
"name": "coinbase",
|
|
1298
1375
|
"type": {
|
|
1299
1376
|
"kind": "struct",
|
|
1300
|
-
"path": "authwit::aztec::protocol_types::
|
|
1301
|
-
"fields": [
|
|
1302
|
-
{ "name": "x", "type": { "kind": "field" } },
|
|
1303
|
-
{ "name": "y", "type": { "kind": "field" } }
|
|
1304
|
-
]
|
|
1377
|
+
"path": "authwit::aztec::protocol_types::address::EthAddress",
|
|
1378
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
1305
1379
|
}
|
|
1306
1380
|
},
|
|
1307
|
-
{ "name": "constructor_vk_hash", "type": { "kind": "field" } },
|
|
1308
|
-
{ "name": "function_tree_root", "type": { "kind": "field" } },
|
|
1309
|
-
{ "name": "contract_address_salt", "type": { "kind": "field" } },
|
|
1310
1381
|
{
|
|
1311
|
-
"name": "
|
|
1382
|
+
"name": "fee_recipient",
|
|
1312
1383
|
"type": {
|
|
1313
1384
|
"kind": "struct",
|
|
1314
|
-
"path": "authwit::aztec::protocol_types::address::
|
|
1385
|
+
"path": "authwit::aztec::protocol_types::address::AztecAddress",
|
|
1315
1386
|
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
1316
1387
|
}
|
|
1317
1388
|
}
|
|
1318
1389
|
]
|
|
1319
1390
|
}
|
|
1320
|
-
},
|
|
1321
|
-
{
|
|
1322
|
-
"name": "private_global_variables",
|
|
1323
|
-
"type": {
|
|
1324
|
-
"kind": "struct",
|
|
1325
|
-
"path": "authwit::aztec::abi::PrivateGlobalVariables",
|
|
1326
|
-
"fields": [
|
|
1327
|
-
{ "name": "chain_id", "type": { "kind": "field" } },
|
|
1328
|
-
{ "name": "version", "type": { "kind": "field" } }
|
|
1329
|
-
]
|
|
1330
|
-
}
|
|
1331
1391
|
}
|
|
1332
1392
|
]
|
|
1333
1393
|
},
|
|
1334
1394
|
"visibility": "private"
|
|
1335
1395
|
},
|
|
1336
|
-
{ "name": "
|
|
1337
|
-
{ "name": "signing_pub_key_y", "type": { "kind": "field" }, "visibility": "public" }
|
|
1396
|
+
{ "name": "message_hash", "type": { "kind": "field" }, "visibility": "private" }
|
|
1338
1397
|
],
|
|
1339
|
-
"param_witnesses": {
|
|
1340
|
-
"inputs": [{ "start": 0, "end": 34 }],
|
|
1341
|
-
"signing_pub_key_x": [{ "start": 34, "end": 35 }],
|
|
1342
|
-
"signing_pub_key_y": [{ "start": 35, "end": 36 }]
|
|
1343
|
-
},
|
|
1398
|
+
"param_witnesses": { "inputs": [{ "start": 0, "end": 34 }], "message_hash": [{ "start": 34, "end": 35 }] },
|
|
1344
1399
|
"return_type": {
|
|
1345
1400
|
"abi_type": {
|
|
1346
1401
|
"kind": "struct",
|
|
1347
|
-
"path": "authwit::aztec::protocol_types::abis::
|
|
1402
|
+
"path": "authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs",
|
|
1348
1403
|
"fields": [
|
|
1349
1404
|
{
|
|
1350
1405
|
"name": "call_context",
|
|
@@ -1397,55 +1452,40 @@
|
|
|
1397
1452
|
{ "name": "args_hash", "type": { "kind": "field" } },
|
|
1398
1453
|
{ "name": "return_values", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } },
|
|
1399
1454
|
{
|
|
1400
|
-
"name": "
|
|
1455
|
+
"name": "contract_storage_update_requests",
|
|
1401
1456
|
"type": {
|
|
1402
1457
|
"kind": "array",
|
|
1403
|
-
"length":
|
|
1458
|
+
"length": 16,
|
|
1404
1459
|
"type": {
|
|
1405
1460
|
"kind": "struct",
|
|
1406
|
-
"path": "authwit::aztec::protocol_types::
|
|
1461
|
+
"path": "authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest",
|
|
1407
1462
|
"fields": [
|
|
1408
|
-
{ "name": "
|
|
1409
|
-
{ "name": "
|
|
1463
|
+
{ "name": "storage_slot", "type": { "kind": "field" } },
|
|
1464
|
+
{ "name": "old_value", "type": { "kind": "field" } },
|
|
1465
|
+
{ "name": "new_value", "type": { "kind": "field" } }
|
|
1410
1466
|
]
|
|
1411
1467
|
}
|
|
1412
1468
|
}
|
|
1413
1469
|
},
|
|
1414
1470
|
{
|
|
1415
|
-
"name": "
|
|
1471
|
+
"name": "contract_storage_reads",
|
|
1416
1472
|
"type": {
|
|
1417
1473
|
"kind": "array",
|
|
1418
|
-
"length":
|
|
1474
|
+
"length": 16,
|
|
1419
1475
|
"type": {
|
|
1420
1476
|
"kind": "struct",
|
|
1421
|
-
"path": "authwit::aztec::protocol_types::
|
|
1477
|
+
"path": "authwit::aztec::protocol_types::contrakt::storage_read::StorageRead",
|
|
1422
1478
|
"fields": [
|
|
1423
|
-
{
|
|
1424
|
-
|
|
1425
|
-
"type": {
|
|
1426
|
-
"kind": "struct",
|
|
1427
|
-
"path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint",
|
|
1428
|
-
"fields": [
|
|
1429
|
-
{ "name": "x", "type": { "kind": "field" } },
|
|
1430
|
-
{ "name": "y", "type": { "kind": "field" } }
|
|
1431
|
-
]
|
|
1432
|
-
}
|
|
1433
|
-
},
|
|
1434
|
-
{
|
|
1435
|
-
"name": "secret_key",
|
|
1436
|
-
"type": {
|
|
1437
|
-
"kind": "struct",
|
|
1438
|
-
"path": "authwit::aztec::protocol_types::grumpkin_private_key::GrumpkinPrivateKey",
|
|
1439
|
-
"fields": [
|
|
1440
|
-
{ "name": "high", "type": { "kind": "field" } },
|
|
1441
|
-
{ "name": "low", "type": { "kind": "field" } }
|
|
1442
|
-
]
|
|
1443
|
-
}
|
|
1444
|
-
}
|
|
1479
|
+
{ "name": "storage_slot", "type": { "kind": "field" } },
|
|
1480
|
+
{ "name": "current_value", "type": { "kind": "field" } }
|
|
1445
1481
|
]
|
|
1446
1482
|
}
|
|
1447
1483
|
}
|
|
1448
1484
|
},
|
|
1485
|
+
{
|
|
1486
|
+
"name": "public_call_stack_hashes",
|
|
1487
|
+
"type": { "kind": "array", "length": 4, "type": { "kind": "field" } }
|
|
1488
|
+
},
|
|
1449
1489
|
{
|
|
1450
1490
|
"name": "new_commitments",
|
|
1451
1491
|
"type": {
|
|
@@ -1477,22 +1517,11 @@
|
|
|
1477
1517
|
}
|
|
1478
1518
|
}
|
|
1479
1519
|
},
|
|
1480
|
-
{
|
|
1481
|
-
"name": "private_call_stack_hashes",
|
|
1482
|
-
"type": { "kind": "array", "length": 4, "type": { "kind": "field" } }
|
|
1483
|
-
},
|
|
1484
|
-
{
|
|
1485
|
-
"name": "public_call_stack_hashes",
|
|
1486
|
-
"type": { "kind": "array", "length": 4, "type": { "kind": "field" } }
|
|
1487
|
-
},
|
|
1488
1520
|
{ "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } },
|
|
1489
|
-
{ "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } },
|
|
1490
|
-
{ "name": "encrypted_logs_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } },
|
|
1491
1521
|
{
|
|
1492
1522
|
"name": "unencrypted_logs_hash",
|
|
1493
1523
|
"type": { "kind": "array", "length": 2, "type": { "kind": "field" } }
|
|
1494
1524
|
},
|
|
1495
|
-
{ "name": "encrypted_log_preimages_length", "type": { "kind": "field" } },
|
|
1496
1525
|
{ "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } },
|
|
1497
1526
|
{
|
|
1498
1527
|
"name": "historical_header",
|
|
@@ -1612,7 +1641,23 @@
|
|
|
1612
1641
|
{ "name": "chain_id", "type": { "kind": "field" } },
|
|
1613
1642
|
{ "name": "version", "type": { "kind": "field" } },
|
|
1614
1643
|
{ "name": "block_number", "type": { "kind": "field" } },
|
|
1615
|
-
{ "name": "timestamp", "type": { "kind": "field" } }
|
|
1644
|
+
{ "name": "timestamp", "type": { "kind": "field" } },
|
|
1645
|
+
{
|
|
1646
|
+
"name": "coinbase",
|
|
1647
|
+
"type": {
|
|
1648
|
+
"kind": "struct",
|
|
1649
|
+
"path": "authwit::aztec::protocol_types::address::EthAddress",
|
|
1650
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
1651
|
+
}
|
|
1652
|
+
},
|
|
1653
|
+
{
|
|
1654
|
+
"name": "fee_recipient",
|
|
1655
|
+
"type": {
|
|
1656
|
+
"kind": "struct",
|
|
1657
|
+
"path": "authwit::aztec::protocol_types::address::AztecAddress",
|
|
1658
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
1659
|
+
}
|
|
1660
|
+
}
|
|
1616
1661
|
]
|
|
1617
1662
|
}
|
|
1618
1663
|
}
|
|
@@ -1620,68 +1665,81 @@
|
|
|
1620
1665
|
}
|
|
1621
1666
|
},
|
|
1622
1667
|
{
|
|
1623
|
-
"name": "
|
|
1668
|
+
"name": "prover_address",
|
|
1624
1669
|
"type": {
|
|
1625
1670
|
"kind": "struct",
|
|
1626
|
-
"path": "authwit::aztec::protocol_types::
|
|
1627
|
-
"fields": [
|
|
1628
|
-
{
|
|
1629
|
-
"name": "deployer_public_key",
|
|
1630
|
-
"type": {
|
|
1631
|
-
"kind": "struct",
|
|
1632
|
-
"path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint",
|
|
1633
|
-
"fields": [
|
|
1634
|
-
{ "name": "x", "type": { "kind": "field" } },
|
|
1635
|
-
{ "name": "y", "type": { "kind": "field" } }
|
|
1636
|
-
]
|
|
1637
|
-
}
|
|
1638
|
-
},
|
|
1639
|
-
{ "name": "constructor_vk_hash", "type": { "kind": "field" } },
|
|
1640
|
-
{ "name": "function_tree_root", "type": { "kind": "field" } },
|
|
1641
|
-
{ "name": "contract_address_salt", "type": { "kind": "field" } },
|
|
1642
|
-
{
|
|
1643
|
-
"name": "portal_contract_address",
|
|
1644
|
-
"type": {
|
|
1645
|
-
"kind": "struct",
|
|
1646
|
-
"path": "authwit::aztec::protocol_types::address::EthAddress",
|
|
1647
|
-
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
1648
|
-
}
|
|
1649
|
-
}
|
|
1650
|
-
]
|
|
1671
|
+
"path": "authwit::aztec::protocol_types::address::AztecAddress",
|
|
1672
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
1651
1673
|
}
|
|
1652
|
-
}
|
|
1653
|
-
{ "name": "chain_id", "type": { "kind": "field" } },
|
|
1654
|
-
{ "name": "version", "type": { "kind": "field" } }
|
|
1674
|
+
}
|
|
1655
1675
|
]
|
|
1656
1676
|
},
|
|
1657
1677
|
"visibility": "public"
|
|
1658
1678
|
},
|
|
1659
1679
|
"return_witnesses": [
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1680
|
+
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,
|
|
1681
|
+
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,
|
|
1682
|
+
89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
|
|
1683
|
+
113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
|
|
1684
|
+
135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
|
|
1685
|
+
157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
|
|
1686
|
+
179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
|
|
1687
|
+
201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
|
|
1688
|
+
223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237
|
|
1669
1689
|
]
|
|
1670
1690
|
},
|
|
1671
|
-
"bytecode": "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",
|
|
1672
|
-
"debug_symbols": "5ZfLTiMxEEX/xesoqqernF8ZsYhmGAkJhdEkuyj/Tgdiu2msWDQoEFglLd0qnb71aHsf7h9+r3d3D5ttWO0DYlj92oftv/Xm+Ljdrf/vwgoW4XbzZ/g9LMLfu/vbsCIc/r/SYUpZSoBU1MINMbFIFgtgESN4KzUk05McETi90N8sAtLVkvPlyMU8i5X93eTSIsfoJcrEOvxkmNVkKpVfWmKMxXkSPC/u4+t148ePwK9EDh18R8rd46ixiA2ecOxr4fgH4Hgtborcxck0VsfQtCFlID5pGbxOuMVWH5AUZIp+XkzJU8lMPHo/nNVi6duYWF+USc+LlfGkVZNO3p6DBBd2MFnMmUF4bOGRBj+Txqc0dGEaBK04KZ3vL7PSBmaaJuuF+IrZ5dLsaKmsMPTOXGssc62JOiuMKFnm4O7CUyiTrVU7uHl0RX+qK4b5BGlqY1ca8+xWth3XvEg6aznGH2u5ZcsdYNqI9o1cYeZy4YCemmOGlvFRmp4/pMv2RUmL7xGrlao5SOYENXeBlAroaKc6P+/UZbNsHPPWFozTQsvSZ8SkGTEIc4LwzUG2bF8DJOZ+l+TTyg5BPieoaYSWIsXRCRKHa/rN4fAI"
|
|
1691
|
+
"bytecode": "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",
|
|
1692
|
+
"debug_symbols": "5Z3NjiTZlZzfpdeE4Of/Hr6KoMVAGgEDDDiCyB3Bd5dTqMhqgsnutuyMaLPsFQuFcI/jfTPsZFrx+/KvP/znf/3Pf/vLf/zXn/78wx//+sP132zzhz/+97/+8Of/829/+vvf/Pkv//Z///LDH68//PDvf/pf9//+7Q8//O//+M9//+GP7tff/scf/v8VBV/R8BUDX3HgKxa8wq/rl1/xh396nVueby91m357debj9vbc2/tzbx/PvX0+9/b13Nv3c28/z739ee7t96m3t+d+au25n1p77qfWnvupted+au25n1p77qfWnvupted+au25n1r/VZ/a+xuI+fbSe8/vj2//zovn2OPFc/ztxXadxzDGNIwzDRNMwyTTMMU0TDMNM0zDHKZhlmiYYErgYErgYErgYErgYErgYErgYErgYErgYErgYErgZErgZErgZErgZErgZErgZErgZErgZErgZErgZErgYkrgYkrgYkrgYkrgYkrgYkrgYkrgYkrgYkrgYkrgZkrgZkrgZkrgZkrgZkrgZkrgZkrgZkrgZkrgZkrgYUrgYUrgYUrgYUrgYUrgYUrgYUrgYUrgYUrgYUrgw5TAhymBD1MCH6YEPkwJfJgS+DAl8GFK4MOUwIcpgZcpgZcpgZcpgZcpgZcpgZcpgZcpgZcpgZcpgZcogeMiSuC4iBI4LqIEjosogeMiSuC4iBI4LqIEjosogeMiSuC4mBLYmBLYmBLYmBLYmBLYmBLYmBLYmBLYmBLYmBLYmBKYiYkLJiYumJi4YGLigomJCyYmLpiYuGBi4oKJiQsmJi6YmLhgYuKCiYkLJiYumJi4YGLigomJCyYmLpiYuGBi4oKJiQsmJi6YmLhgYuKCiYkLJiYumJi4YGLigomJCyYmLpiYuGBi4oKJiQsmJi6YmLhgYuKCiYkLJiYumJi4YGLigomJCyYmLl4JWx1/GOzs5L43TDMN87ovYM+3Y7r/+N4xvRAp+gXDGNMwzjRMMA2Tr/s0XbnxePX95/rROP4Yp7jGeV3WeFk/jqp+pO78+1Fhr/42+uiOfkhHN8vOx72t/Lw3/AoP/0Ik6gnDA7n67YqEr/h1auT0eYvj+v7M93+rb7fv597+V2VC2Na3l95/fO/257m3R3+zQCB8ybcrDL7C4Svgr1P4t0kE/NskAv5tEgH/NomAf5tEwL9NIq8LvsLgKxy+IuArEr6i4CsavmLgKw58BXzmBp+5wWdu8JkbfOYGn7nBZ27wmRt85gafucFn7vCZO3zmDp+5w2fu8Jk7fOYOn7nDZ+7wmTt85gGfecBnHvCZB3zmAZ95wGce8JkHfOYBn3nAZ57wmSd85gmfecJnnvCZJ3zmCZ95wmee8JknfOYFn3nBZ17wmRd85gWfecFnXvCZF3zmBZ95wWfe8Jk3fOYNn3nDZ97wmTd85g2fecNn3vCZN3zmA5/5wGc+8JkPfOYDn/nAZz7wmQ985gOf+cBnfuAzP/CZH/jM4e4w4e4wD3zmBz7zA5/5gc8c7uES7uES7uES7uES7uES7uES7uES7uES7uES7uES7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEK7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEa7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEG7uEO3MMduIc7cA934B7uwD3cgXu4A/dwB+7hDtzDHbiHO3APd+Ae7sA93IF7uAP3cAfu4Q7cwx24hztwD3fgHu7APdyBe7gD93AH7uEO3MMduIc7cA934B7uwD3cgXu4A/dwB+7hDtzDHbiHO3APd+Ae7sA93IF7uAP3cAfu4Q7cwx24hztwD3fgHu7APdyBe7gD93AH7uEO3MMduIc7cA934B7uwD3cgXu4A/dwB+7hDtzDHbiHO3APd+Ae7sA93IF7uAP3cAfu4Q7cwx24hztwD3fgHu7APdyBe7gD93AH7uEO3MMduIc7cA934B7uwD3cgXu4A/dwB+7hDtzDHbiHO3APd+Ae7sA93IF7uAP3cAfu4Q7cwx24hztwD3fgHu7APdyBe7gD93AH7uEO3MMduIc7cA934B5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R5u4R7OLriIuy8x/BLHLwn8ksQvKfySxi8Z/JKDX4KfvuGnb/jpG376hp++4adv+OkbfvqGn77hp2/46Tt++o6fvuOn7/jpO376jp++46fv+Ok7fvqOn37gpx/46Qd++oGffuCnH/jpB376gZ9+4Kcf+OknfvqJn37ip5/46Sd++omffuKnn/jpJ376iZ9+4adf+OkXfvqFn37hp1/46Rd++oWffuGnX/jpN376jZ9+46ff+Ok3fvqNn37jp9/46Td++o2f/uCnP/jpD376g5/+4Kc/+OkPfvqDn/7gpz/46R/89A9++gc//YOf/sFP/+Cnf/DTP/jpH/z0D376i5/+4qe/+OkvfvqLn/7ip7/46S9++oufPt71Gd71Gd71Gd71Gd713d/14pcUfknjlwx+ycEvwU8f7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oM7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oc7/oC7/oC7/oC7/oC7/oC7/oC7/oC7/oC7/oC7/oC7/oC7/oC7/oC7/oC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TqvsdFplp9MqO51W2em0yk6nVXY6rbLTaZWdTqvsdFplp9MqO51W2em0yk6nVXY6rbLTaZWdTqvsdFplp9MqO51W2em0yk6nVXY6rbLTaZWdTqvsdFplp9MqO51W2em0yk6nVXY6rbLTaZWdTqvsdFplp9MqO51W2em0yk6nVXY6rbLTaZWdTqvsdFplp9MqO51W2em0yk6nVXY6rbLTaZWdTqvsdFplp9MqO51W2em0yk6nVXY6rbLTaZWdTqvsdFplp9MqO51W2em0yk6nVXY6rbLTaZWdTqvsdFplp9MqO51W2em0yk6nFXY6xSXsdLqH192w9/C6G/YeXnfD3sPrbth7eN0New+vu2Hv4XU37D287oa9h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t45Q0r7HS6h1fesMJOp3t44Q1ryk4nU3Y6mbLTyZSdTveQysMLb1hTdjqZstPJlJ1Opux0MmWnkyk7nUzZ6WTKTidTdjqZstPJlJ1Opux0MmWnkyk7nUzZ6WTKTidTdjqZstPJlJ1Opux0MmWnkyk7nUzZ6WTKTidTdjqZstPJlJ1Opux0MmWnkyk7nUzZ6WTKTidTdjqZstPJlJ1Opux0MmWnkyk7nUzZ6WTKTidTdjqZstPJlJ1Opux0MmWnkyk7nUzZ6WTKTidTdjqZstPJlJ1Opux0MmWnkyk7nUzZ6WTKTidTdjqZstPJlJ1Opux0MmWnkyk7nUzZ6WTKTidTdjqZstPJlJ1Opux0MmWnkyk7nUzZ6WTKTidTdjqZstPJlJ1Opux0MmWnkyk7nUzZ6WTKTidTdjqZstPJlJ1Opux0MmWnkyk7nUzZ6WTKTidTdjqZstPJlJ1Opux0MmWnkyk7nVzZ6eTKTidXdjq5stPJL+EN68pOJ1d2Ormy08mVnU6u7HRyZaeTKzudXNnp5MpOJ1d2Ormy08mVnU6u7HRyZaeTKzudXNnp5MpOJ1d2Ormy08mVnU6u7HRyZaeTKzudXNnp5MpOJ1d2Ormy08mVnU6u7HRyZaeTKzudXNnp5MpOJ1d2Ormy08mVnU6u7HRyZaeTKzudXNnp5MpOJ1d2Ormy08mVnU6u7HRyZaeTKzudXNnp5MpOJ1d2Ormy08mVnU6u7HRyZaeTKzudXNnp5MpOJ1d2Ormy08mVnU6u7HRyZaeTKzudXNnp5MpOJ1d2Ormy08mVnU6u7HRyZaeTKzudXNnp5MpOJ1d2Ormy08mVnU6u7HRyZaeTKzudXNnp5MpOJ1d2Ormy08mVnU6u7HRyZaeTKzudXNnp5MpOJ1d2Ormy08mVnU6u7HRyZaeTKzudQtnpFMpOp1B2OoWy0yku4Q0byk6nUHY6hbLTKZSdTqHsdAplp1MoO51C2ekUyk6nUHY6hbLTKZSdTqHsdAplp1MoO51C2ekUyk6nUHY6hbLTKZSdTqHsdAplp1MoO51C2ekUyk6nUHY6hbLTKZSdTqHsdAplp1MoO51C2ekUyk6nUHY6hbLTKZSdTqHsdAplp1MoO51C2ekUyk6nUHY6hbLTKZSdTqHsdAplp1MoO51C2ekUyk6nUHY6hbLTKZSdTqHsdAplp1MoO51C2ekUyk6nUHY6hbLTKZSdTqHsdAplp1MoO51C2ekUyk6nUHY6hbLTKZSdTqHsdAplp1MoO51C2ekUyk6nUHY6hbLTKZSdTqHsdAplp1MoO51C2ekUyk6nUHY6hbLTKZSdTqHsdAplp1MoO51C2ekUyk6nUHY6hbLTKZSdTqHsdAplp1MoO51S2emUyk6nVHY6pbLTKS/hDZvKTqdUdjqlstMplZ1Oqex0SmWnUyo7nVLZ6ZTKTqdUdjqlstMplZ1Oqex0SmWnUyo7nVLZ6ZTKTqdUdjqlstMplZ1Oqex0SmWnUyo7nVLZ6ZTKTqdUdjqlstMplZ1Oqex0SmWnUyo7nVLZ6ZTKTqdUdjqlstMplZ1Oqex0SmWnUyo7nVLZ6ZTKTqdUdjqlstMplZ1Oqex0SmWnUyo7nVLZ6ZTKTqdUdjqlstMplZ1Oqex0SmWnUyo7nVLZ6ZTKTqdUdjqlstMplZ1Oqex0SmWnUyo7nVLZ6ZTKTqdUdjqlstMplZ1Oqex0SmWnUyo7nVLZ6ZTKTqdUdjqlstMplZ1Oqex0SmWnUyo7nVLZ6ZTKTqdUdjqlstMplZ1Oqex0SmWnUyo7nVLZ6ZTKTqdUdjqlstMplZ1Oqex0SmWnUyo7nUrZ6VTKTqdSdjqVstOpLuENW8pOp1J2OpWy06mUnU6l7HQqZadTKTudStnpVMpOp1J2OpWy06mUnU6l7HQqZadTKTudStnpVMpOp1J2OpWy06mUnU6l7HQqZadTKTudStnpVMpOp1J2OpWy06mUnU6l7HQqZadTKTudStnpVMpOp1J2OpWy06mUnU6l7HQqZadTKTudStnpVMpOp1J2OpWy06mUnU6l7HQqZadTKTudStnpVMpOp1J2OpWy06mUnU6l7HQqZadTKTudStnpVMpOp1J2OpWy06mUnU6l7HQqZadTKTudStnpVMpOp1J2OpWy06mUnU6l7HQqZadTKTudStnpVMpOp1J2OpWy06mUnU6l7HQqZadTKTudStnpVMpOp1J2OpWy06mUnU6l7HQqZadTKTudStnpVMpOp1J2OpWy06mUnU6l7HQqZadTKTudWtnp1MpOp1Z2OrWy06kv4Q3byk6nVnY6tbLTqZWdTq3sdGplp1MrO51a2enUyk6nVnY6tbLTqZWdTq3sdGplp1MrO51a2enUyk6nVnY6tbLTqZWdTq3sdGplp1MrO51a2enUyk6nVnY6tbLTqZWdTq3sdGplp1MrO51a2enUyk6nVnY6tbLTqZWdTq3sdGplp1MrO51a2enUyk6nVnY6tbLTqZWdTq3sdGplp1MrO51a2enUyk6nVnY6tbLTqZWdTq3sdGplp1MrO51a2enUyk6nVnY6tbLTqZWdTq3sdGplp1MrO51a2enUyk6nVnY6tbLTqZWdTq3sdGplp1MrO51a2enUyk6nVnY6tbLTqZWdTq3sdGplp1MrO51a2enUyk6nVnY6tbLTqZWdTq3sdGplp1MrO51a2enUyk6nVnY6tbLTqZWdTq3sdGplp1MrO51G2ek0yk6nUXY6jbLTaS7hDTvKTqdRdjqNstNplJ1Oo+x0GmWn0yg7nUbZ6TTKTqdRdjqNstNplJ1Oo+x0GmWn0yg7nUbZ6TTKTqdRdjqNstNplJ1Oo+x0GmWn0yg7nUbZ6TTKTqdRdjqNstNplJ1Oo+x0GmWn0yg7nUbZ6TTKTqdRdjqNstNplJ1Oo+x0GmWn0yg7nUbZ6TTKTqdRdjqNstNplJ1Oo+x0GmWn0yg7nUbZ6TTKTqdRdjqNstNplJ1Oo+x0GmWn0yg7nUbZ6TTKTqdRdjqNstNplJ1Oo+x0GmWn0yg7nUbZ6TTKTqdRdjqNstNplJ1Oo+x0GmWn0yg7nUbZ6TTKTqdRdjqNstNplJ1Oo+x0GmWn0yg7nUbZ6TTKTqdRdjqNstNplJ1Oo+x0GmWn0yg7nUbZ6TTKTqdRdjqNstNplJ1Oo+x0GmWn0yg7nY6y0+koO52OstPpKDudziW8YY+y0+koO52OstPpKDudjrLT6Sg7nY6y0+k82+n0eJt4zdvka96mXvM2n7EJbPPtbX706ve/sH7q1Y+hhnGowzjUEg71KW6fTx/KGIdyxqGCcah89VDtjwV4/+v4z7322m+vbe+31+Z5m76kp2/p6Ud6+sMz/WOkpRspLr6RjG8keNs8LoyPXpgfvbA+emF/9ML56IXnoxfuBy/EvROPC+2jF370Kyc/+pWTH/3KyY9+5eRHv3Lyo185/4or38cPbe7hPxMRk4/9MT/6MT3e3mKf/hb/itH+zLew57+F//q3sI1HEWI7+XPf9F6XPV59Vfx497+3CbLfVoGVn+83v96+V/hX2LPUM+QXeIb6As/QX+AZ5gs8w/kCz7D6z9DXF3gG+wLP8AX2dH+BPd1fYE/3F9jT/QX2dH+BPd1Me/oxE9Pe/TbTMO3Rx0xMe/Ex0+v3nL31h/bjwuLdz8TPdo0T4vOn+PwlPn9Tzz/+vU26fubGvY8pxr4Pkf32qPP7edTz+3nU/d086rl+P49qv59H5f4O5FMflfublU991Hzuoz7epl7zNv2at5nXvM1nb8djP/tl2PH2Zbj/8PXyzy+O8W+vTfv+I8t91WP8lR5/L+3xTXt81x4/tMdP7fFLe/zWHn+0x9feuiu9dfeS3rp7SW/dvaS37l7SW3cv6a27l/TW3Ut66+4lvXX3kt66e2lvXdPeuqa9dU1765r21jXtrWvaW9e0t65pb13T3rqmvXVde+u69tZ17a3r2lvXtbeua29d1966rr11XXvruvbWDe2tG9pbN7S3bmhv3dDeuqG9dUN764b21g3trRvaWze1t25qb93U3rqpvXVTe+um9tZN7a2b2ls3tbduam/d0t66pb11S3vrlvbW/XRz1IvH1966pb11S3vrlvbWLe2t29pbt7W3bmtv3dbeup/ugXrx+Npbt7W3bmtv3dbeuq29dUd764721h3trTvaW/fT7VQvHl9764721h3trTvaW3e0t+7R3rpHe+se7a17tLfup7uTXjy+9tY92lv3aG9dbTfVarupVttNtdpuqtV2U622m2q13VSr7aZabTfVarupVttNtdJuqryk3VT3+Mpb9x5feeve4ytv3Xt85a17j6+8de/xlbfuPb7y1r3HV9669/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPr711pd1U9/jaW1faTXWPL711TdtNZdpuKtN2U5m2m8ou6a1r2m4q03ZTmbabyrTdVKbtpjJtN5Vpu6lM201l2m4q03ZTmbabyrTdVKbtpjJtN5Vpu6lM201l2m4q03ZTmbabyrTdVKbtpjJtN5Vpu6lM201l2m4q03ZTGZWb6jET0yp9zMS0Hx8zMS29x0yv32R+5ePV7v3THweLeXuAON8HuXfA2xO0/BOM/BMc+SdY9Sf4DfRPn/0EJv8ErvMEe737BCH/BKn+BLgV5HFhfvTC+uiF/dEL56MXno9euB+8EHcNPC78hDyb3G8vnv7+2nh7C3/+W8Tz3yKf/xaf/X3u5M+lwnXZ49VXff9ZLs+736hnv2WIlZ/vN7/O2zP0F3iG+QLPcL7AM6z+M3w6jv5b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"
|
|
1673
1693
|
},
|
|
1674
1694
|
{
|
|
1675
|
-
"name": "
|
|
1676
|
-
"function_type": "
|
|
1677
|
-
"is_internal":
|
|
1695
|
+
"name": "compute_note_hash_and_nullifier",
|
|
1696
|
+
"function_type": "Unconstrained",
|
|
1697
|
+
"is_internal": false,
|
|
1698
|
+
"abi": {
|
|
1699
|
+
"parameters": [
|
|
1700
|
+
{
|
|
1701
|
+
"name": "contract_address",
|
|
1702
|
+
"type": {
|
|
1703
|
+
"kind": "struct",
|
|
1704
|
+
"path": "authwit::aztec::protocol_types::address::AztecAddress",
|
|
1705
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
1706
|
+
},
|
|
1707
|
+
"visibility": "private"
|
|
1708
|
+
},
|
|
1709
|
+
{ "name": "nonce", "type": { "kind": "field" }, "visibility": "private" },
|
|
1710
|
+
{ "name": "storage_slot", "type": { "kind": "field" }, "visibility": "private" },
|
|
1711
|
+
{
|
|
1712
|
+
"name": "serialized_note",
|
|
1713
|
+
"type": { "kind": "array", "length": 3, "type": { "kind": "field" } },
|
|
1714
|
+
"visibility": "private"
|
|
1715
|
+
}
|
|
1716
|
+
],
|
|
1717
|
+
"param_witnesses": {
|
|
1718
|
+
"contract_address": [{ "start": 0, "end": 1 }],
|
|
1719
|
+
"nonce": [{ "start": 1, "end": 2 }],
|
|
1720
|
+
"serialized_note": [{ "start": 3, "end": 6 }],
|
|
1721
|
+
"storage_slot": [{ "start": 2, "end": 3 }]
|
|
1722
|
+
},
|
|
1723
|
+
"return_type": {
|
|
1724
|
+
"abi_type": { "kind": "array", "length": 4, "type": { "kind": "field" } },
|
|
1725
|
+
"visibility": "public"
|
|
1726
|
+
},
|
|
1727
|
+
"return_witnesses": [6, 7, 8, 9]
|
|
1728
|
+
},
|
|
1729
|
+
"bytecode": "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",
|
|
1730
|
+
"debug_symbols": "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R3XER3XER3XER3XER3XER3XER3XER3XER3XER3XER3XER3XER3XER3XER3XER3XER3XERw3ERw3ERw3ERw3ER43D6NOB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiB+KiJ+KiJ+KiJ+KiJ+Kh5GH06ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER81ER+1EB+1EB+1EB+1EB+1DqNPF+KjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKjFuKj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YrBKMVilGKxSDFYpBqsUg1WKwSrFYJVisEoxWKUYrFIMVikGqxSDVYrBKsVglWKwSjFYpRisUgxWKQarFINVisHqisHqisHqisHqisHqB9KsXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYXTFYQzFYQzFYQzFYQzFY40CadSgGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGaygGayoGayoGayoGayoGax5Is07FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYE3FYC3FYC3FYC3FYC3FYK0DadalGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKylGKytGKytGKytGKytGKx9IM26FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1FYO1EYN1fs1o1vNrRrOeXzOa9fya0azn14xmPb9mNOv5NaNZz68ZzXp+zWjW82tKsyIG6wyiNCtisM4gSrMiBusMojQrYrDOIEqzIgbrDKI0K2KwziBKsyIG6wyiNCtisM4gSrMiBusMojQrYrDOIEqzIgbrDKI0K2KwziBKsyIG6wyiNCtisM4gSrMiBusMojQrYrDOIEqzIgbrDKI0K2KwziBKsyIG6wyiNCtisM4gSrMiBusMojQrYrDOIEqzIgbrDKI0K2KwziBKsyIG6wyiNCtisM4gSrMiBusMojQrYrDOIEqzIgbrDKI0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7w+OMX6Q48afINjjkY6bdx3kI50g7zrIeg3yNoN8pHPeXQf5SEe3uw7ykU5jdx3kIx2w7jrIRzoz3XOQ+UjHoLsO8nWyudEgXyebGw3ydbK50SDrNcjbDPJ1srnRIF8nmxsN0n4dmXu8f9LF3j/4IyXX+biN3uxXnQ87dvs16sOO3X5F+7Bjt1//PuzY6zX2e4zdfm39sGO3X4k/7NjxP6D3qGO3f37xsGN/nVLvMfZ6nVLvMvbXKfUuY3+dUu8y9tcp9S5jr9fY7zH21yn1LmN/nVLvMvbXKfUuY3+dUu8y9mc9pd78Y6h6f9aT508Y5bOeJn/CKJ/1hPgTRvmsp76fMMp6jfJWo3zW09lPGOWznrh+wiif9RT1E0b5rCejnzDK12nnVqMcr9POzUb5Ou3cbJSv087NRvk67dxslPVAo7znJ9GMRzrr3HWQj3TSuesgH+mcc9dBPtIp566DfKQzzj0HOR/phHPXQT7S+eaug3yk081dB/lIZ5u7DrJeg7zNIF8nmxsN8nWyudEgXyebGw3ydbK50SBfJ5vbDHJ9/a4921uo/ZvPuv54kDv69wfv3t8fu8Z7/H7t+OPa8ee1469rx9+Xjn+HP4F+0/hx7fh57fjt2vGvvevua++6+9q77r72rruvvevuS++647j0rjuOS++647j0rjuOS++647j0rjuOS++647j0rjuOS++647j0rjuOa++6ce1dN66968a1d9249q57h78rdtP4195149q7blx7141r77px7V03r73r5rV33bz2rpvX3nXv8Ddvbhr/2rtuXnvXzWvvunntXTevveu2a++67dq7brv2rtuuveve4W9n3DT+tXfddu1dt117123X3nXbtXfduvauW9fedevau25de9e9w2eB3zT+tXfduvauW9fedevau25de9ft1951+7V33X7tXbdfe9e9w+e23jT+tXfdfu1dt1971+3X3nX7tXfdce1dd1x71x3X3nXHtXfdO3x+4E3jX3vXHdfedce1d91x7V13XHvXndfedee1d9157V13XnvXvcNnW900/rV33XntXffrPz1pr7d/Oo/dfxD/7/mYmPH1H1z0E9awr7+GdTzAGuIB1pAPsIb2AGuoB1hDf4A1jAdYwwPs0+sB9un1APv0foB9ej/APr0fYJ/eD7BPf/0HXv2ENTzAPr2vv0/PW8i8No/8/ug2q36whuPXTO39oaO9ByotUNcCDS3Q1AKtrw7U3t/iqvVRoI0FuoUru22g0AKlFqhpgb68qfP9o71zfxSoa4GGFmhqgZYWaGOB6tAChRYotUBNC6Q1dWlNXVpTl9bUpTV1aU3dtabuWlN3ram71tRda+quNXXXmrprTd21pu5aUw+tqYfW1ENr6qE19dCaemhNPbSmHlpTD62ph9bU/8Vvas/9/ar+mx+Zvf+S6PwvfkH6R1fVp67qn7pqfOqq+amr1qeu+vA/hb7f7tc4Prrq41+p/OFV8amr8lNXtU9dVZ+6qn/qqg//2xjx9l01fvlp73++an7qqvWpq/Znrvr413h+eFV86qr81FUf/rcx5vtV68Or6lNX9U9dNT511fzUVetTV+1PXLU+/ktKY71/p+z50VXxqavyU1e1T11Vn7qqf+qq8T+76q9//Q8="
|
|
1731
|
+
},
|
|
1732
|
+
{
|
|
1733
|
+
"name": "constructor",
|
|
1734
|
+
"function_type": "Secret",
|
|
1735
|
+
"is_internal": false,
|
|
1678
1736
|
"abi": {
|
|
1679
1737
|
"parameters": [
|
|
1680
1738
|
{
|
|
1681
1739
|
"name": "inputs",
|
|
1682
1740
|
"type": {
|
|
1683
1741
|
"kind": "struct",
|
|
1684
|
-
"path": "authwit::aztec::abi::
|
|
1742
|
+
"path": "authwit::aztec::abi::PrivateContextInputs",
|
|
1685
1743
|
"fields": [
|
|
1686
1744
|
{
|
|
1687
1745
|
"name": "call_context",
|
|
@@ -1851,7 +1909,23 @@
|
|
|
1851
1909
|
{ "name": "chain_id", "type": { "kind": "field" } },
|
|
1852
1910
|
{ "name": "version", "type": { "kind": "field" } },
|
|
1853
1911
|
{ "name": "block_number", "type": { "kind": "field" } },
|
|
1854
|
-
{ "name": "timestamp", "type": { "kind": "field" } }
|
|
1912
|
+
{ "name": "timestamp", "type": { "kind": "field" } },
|
|
1913
|
+
{
|
|
1914
|
+
"name": "coinbase",
|
|
1915
|
+
"type": {
|
|
1916
|
+
"kind": "struct",
|
|
1917
|
+
"path": "authwit::aztec::protocol_types::address::EthAddress",
|
|
1918
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
1919
|
+
}
|
|
1920
|
+
},
|
|
1921
|
+
{
|
|
1922
|
+
"name": "fee_recipient",
|
|
1923
|
+
"type": {
|
|
1924
|
+
"kind": "struct",
|
|
1925
|
+
"path": "authwit::aztec::protocol_types::address::AztecAddress",
|
|
1926
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
1927
|
+
}
|
|
1928
|
+
}
|
|
1855
1929
|
]
|
|
1856
1930
|
}
|
|
1857
1931
|
}
|
|
@@ -1859,15 +1933,51 @@
|
|
|
1859
1933
|
}
|
|
1860
1934
|
},
|
|
1861
1935
|
{
|
|
1862
|
-
"name": "
|
|
1936
|
+
"name": "contract_deployment_data",
|
|
1863
1937
|
"type": {
|
|
1864
1938
|
"kind": "struct",
|
|
1865
|
-
"path": "authwit::aztec::
|
|
1939
|
+
"path": "authwit::aztec::protocol_types::contrakt::deployment_data::ContractDeploymentData",
|
|
1940
|
+
"fields": [
|
|
1941
|
+
{
|
|
1942
|
+
"name": "public_key",
|
|
1943
|
+
"type": {
|
|
1944
|
+
"kind": "struct",
|
|
1945
|
+
"path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint",
|
|
1946
|
+
"fields": [
|
|
1947
|
+
{ "name": "x", "type": { "kind": "field" } },
|
|
1948
|
+
{ "name": "y", "type": { "kind": "field" } }
|
|
1949
|
+
]
|
|
1950
|
+
}
|
|
1951
|
+
},
|
|
1952
|
+
{ "name": "initialization_hash", "type": { "kind": "field" } },
|
|
1953
|
+
{
|
|
1954
|
+
"name": "contract_class_id",
|
|
1955
|
+
"type": {
|
|
1956
|
+
"kind": "struct",
|
|
1957
|
+
"path": "authwit::aztec::protocol_types::contract_class::ContractClassId",
|
|
1958
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
1959
|
+
}
|
|
1960
|
+
},
|
|
1961
|
+
{ "name": "contract_address_salt", "type": { "kind": "field" } },
|
|
1962
|
+
{
|
|
1963
|
+
"name": "portal_contract_address",
|
|
1964
|
+
"type": {
|
|
1965
|
+
"kind": "struct",
|
|
1966
|
+
"path": "authwit::aztec::protocol_types::address::EthAddress",
|
|
1967
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
1968
|
+
}
|
|
1969
|
+
}
|
|
1970
|
+
]
|
|
1971
|
+
}
|
|
1972
|
+
},
|
|
1973
|
+
{
|
|
1974
|
+
"name": "private_global_variables",
|
|
1975
|
+
"type": {
|
|
1976
|
+
"kind": "struct",
|
|
1977
|
+
"path": "authwit::aztec::abi::PrivateGlobalVariables",
|
|
1866
1978
|
"fields": [
|
|
1867
1979
|
{ "name": "chain_id", "type": { "kind": "field" } },
|
|
1868
|
-
{ "name": "version", "type": { "kind": "field" } }
|
|
1869
|
-
{ "name": "block_number", "type": { "kind": "field" } },
|
|
1870
|
-
{ "name": "timestamp", "type": { "kind": "field" } }
|
|
1980
|
+
{ "name": "version", "type": { "kind": "field" } }
|
|
1871
1981
|
]
|
|
1872
1982
|
}
|
|
1873
1983
|
}
|
|
@@ -1875,18 +1985,18 @@
|
|
|
1875
1985
|
},
|
|
1876
1986
|
"visibility": "private"
|
|
1877
1987
|
},
|
|
1878
|
-
{ "name": "
|
|
1879
|
-
{ "name": "
|
|
1988
|
+
{ "name": "signing_pub_key_x", "type": { "kind": "field" }, "visibility": "public" },
|
|
1989
|
+
{ "name": "signing_pub_key_y", "type": { "kind": "field" }, "visibility": "public" }
|
|
1880
1990
|
],
|
|
1881
1991
|
"param_witnesses": {
|
|
1882
|
-
"inputs": [{ "start": 0, "end":
|
|
1883
|
-
"
|
|
1884
|
-
"
|
|
1992
|
+
"inputs": [{ "start": 0, "end": 36 }],
|
|
1993
|
+
"signing_pub_key_x": [{ "start": 36, "end": 37 }],
|
|
1994
|
+
"signing_pub_key_y": [{ "start": 37, "end": 38 }]
|
|
1885
1995
|
},
|
|
1886
1996
|
"return_type": {
|
|
1887
1997
|
"abi_type": {
|
|
1888
1998
|
"kind": "struct",
|
|
1889
|
-
"path": "authwit::aztec::protocol_types::abis::
|
|
1999
|
+
"path": "authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs",
|
|
1890
2000
|
"fields": [
|
|
1891
2001
|
{
|
|
1892
2002
|
"name": "call_context",
|
|
@@ -1938,41 +2048,57 @@
|
|
|
1938
2048
|
},
|
|
1939
2049
|
{ "name": "args_hash", "type": { "kind": "field" } },
|
|
1940
2050
|
{ "name": "return_values", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } },
|
|
2051
|
+
{ "name": "meta_hwm", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } },
|
|
1941
2052
|
{
|
|
1942
|
-
"name": "
|
|
2053
|
+
"name": "read_requests",
|
|
1943
2054
|
"type": {
|
|
1944
2055
|
"kind": "array",
|
|
1945
|
-
"length":
|
|
2056
|
+
"length": 32,
|
|
1946
2057
|
"type": {
|
|
1947
2058
|
"kind": "struct",
|
|
1948
|
-
"path": "authwit::aztec::protocol_types::
|
|
2059
|
+
"path": "authwit::aztec::protocol_types::abis::side_effect::SideEffect",
|
|
1949
2060
|
"fields": [
|
|
1950
|
-
{ "name": "
|
|
1951
|
-
{ "name": "
|
|
1952
|
-
{ "name": "new_value", "type": { "kind": "field" } }
|
|
2061
|
+
{ "name": "value", "type": { "kind": "field" } },
|
|
2062
|
+
{ "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }
|
|
1953
2063
|
]
|
|
1954
2064
|
}
|
|
1955
2065
|
}
|
|
1956
2066
|
},
|
|
1957
2067
|
{
|
|
1958
|
-
"name": "
|
|
2068
|
+
"name": "nullifier_key_validation_requests",
|
|
1959
2069
|
"type": {
|
|
1960
2070
|
"kind": "array",
|
|
1961
|
-
"length":
|
|
2071
|
+
"length": 1,
|
|
1962
2072
|
"type": {
|
|
1963
2073
|
"kind": "struct",
|
|
1964
|
-
"path": "authwit::aztec::protocol_types::
|
|
2074
|
+
"path": "authwit::aztec::protocol_types::abis::nullifier_key_validation_request::NullifierKeyValidationRequest",
|
|
1965
2075
|
"fields": [
|
|
1966
|
-
{
|
|
1967
|
-
|
|
2076
|
+
{
|
|
2077
|
+
"name": "public_key",
|
|
2078
|
+
"type": {
|
|
2079
|
+
"kind": "struct",
|
|
2080
|
+
"path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint",
|
|
2081
|
+
"fields": [
|
|
2082
|
+
{ "name": "x", "type": { "kind": "field" } },
|
|
2083
|
+
{ "name": "y", "type": { "kind": "field" } }
|
|
2084
|
+
]
|
|
2085
|
+
}
|
|
2086
|
+
},
|
|
2087
|
+
{
|
|
2088
|
+
"name": "secret_key",
|
|
2089
|
+
"type": {
|
|
2090
|
+
"kind": "struct",
|
|
2091
|
+
"path": "authwit::aztec::protocol_types::grumpkin_private_key::GrumpkinPrivateKey",
|
|
2092
|
+
"fields": [
|
|
2093
|
+
{ "name": "high", "type": { "kind": "field" } },
|
|
2094
|
+
{ "name": "low", "type": { "kind": "field" } }
|
|
2095
|
+
]
|
|
2096
|
+
}
|
|
2097
|
+
}
|
|
1968
2098
|
]
|
|
1969
2099
|
}
|
|
1970
2100
|
}
|
|
1971
2101
|
},
|
|
1972
|
-
{
|
|
1973
|
-
"name": "public_call_stack_hashes",
|
|
1974
|
-
"type": { "kind": "array", "length": 4, "type": { "kind": "field" } }
|
|
1975
|
-
},
|
|
1976
2102
|
{
|
|
1977
2103
|
"name": "new_commitments",
|
|
1978
2104
|
"type": {
|
|
@@ -2004,11 +2130,22 @@
|
|
|
2004
2130
|
}
|
|
2005
2131
|
}
|
|
2006
2132
|
},
|
|
2133
|
+
{
|
|
2134
|
+
"name": "private_call_stack_hashes",
|
|
2135
|
+
"type": { "kind": "array", "length": 4, "type": { "kind": "field" } }
|
|
2136
|
+
},
|
|
2137
|
+
{
|
|
2138
|
+
"name": "public_call_stack_hashes",
|
|
2139
|
+
"type": { "kind": "array", "length": 4, "type": { "kind": "field" } }
|
|
2140
|
+
},
|
|
2007
2141
|
{ "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } },
|
|
2142
|
+
{ "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } },
|
|
2143
|
+
{ "name": "encrypted_logs_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } },
|
|
2008
2144
|
{
|
|
2009
2145
|
"name": "unencrypted_logs_hash",
|
|
2010
2146
|
"type": { "kind": "array", "length": 2, "type": { "kind": "field" } }
|
|
2011
2147
|
},
|
|
2148
|
+
{ "name": "encrypted_log_preimages_length", "type": { "kind": "field" } },
|
|
2012
2149
|
{ "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } },
|
|
2013
2150
|
{
|
|
2014
2151
|
"name": "historical_header",
|
|
@@ -2128,7 +2265,23 @@
|
|
|
2128
2265
|
{ "name": "chain_id", "type": { "kind": "field" } },
|
|
2129
2266
|
{ "name": "version", "type": { "kind": "field" } },
|
|
2130
2267
|
{ "name": "block_number", "type": { "kind": "field" } },
|
|
2131
|
-
{ "name": "timestamp", "type": { "kind": "field" } }
|
|
2268
|
+
{ "name": "timestamp", "type": { "kind": "field" } },
|
|
2269
|
+
{
|
|
2270
|
+
"name": "coinbase",
|
|
2271
|
+
"type": {
|
|
2272
|
+
"kind": "struct",
|
|
2273
|
+
"path": "authwit::aztec::protocol_types::address::EthAddress",
|
|
2274
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
2275
|
+
}
|
|
2276
|
+
},
|
|
2277
|
+
{
|
|
2278
|
+
"name": "fee_recipient",
|
|
2279
|
+
"type": {
|
|
2280
|
+
"kind": "struct",
|
|
2281
|
+
"path": "authwit::aztec::protocol_types::address::AztecAddress",
|
|
2282
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
2283
|
+
}
|
|
2284
|
+
}
|
|
2132
2285
|
]
|
|
2133
2286
|
}
|
|
2134
2287
|
}
|
|
@@ -2136,34 +2289,67 @@
|
|
|
2136
2289
|
}
|
|
2137
2290
|
},
|
|
2138
2291
|
{
|
|
2139
|
-
"name": "
|
|
2292
|
+
"name": "contract_deployment_data",
|
|
2140
2293
|
"type": {
|
|
2141
2294
|
"kind": "struct",
|
|
2142
|
-
"path": "authwit::aztec::protocol_types::
|
|
2143
|
-
"fields": [
|
|
2295
|
+
"path": "authwit::aztec::protocol_types::contrakt::deployment_data::ContractDeploymentData",
|
|
2296
|
+
"fields": [
|
|
2297
|
+
{
|
|
2298
|
+
"name": "public_key",
|
|
2299
|
+
"type": {
|
|
2300
|
+
"kind": "struct",
|
|
2301
|
+
"path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint",
|
|
2302
|
+
"fields": [
|
|
2303
|
+
{ "name": "x", "type": { "kind": "field" } },
|
|
2304
|
+
{ "name": "y", "type": { "kind": "field" } }
|
|
2305
|
+
]
|
|
2306
|
+
}
|
|
2307
|
+
},
|
|
2308
|
+
{ "name": "initialization_hash", "type": { "kind": "field" } },
|
|
2309
|
+
{
|
|
2310
|
+
"name": "contract_class_id",
|
|
2311
|
+
"type": {
|
|
2312
|
+
"kind": "struct",
|
|
2313
|
+
"path": "authwit::aztec::protocol_types::contract_class::ContractClassId",
|
|
2314
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
2315
|
+
}
|
|
2316
|
+
},
|
|
2317
|
+
{ "name": "contract_address_salt", "type": { "kind": "field" } },
|
|
2318
|
+
{
|
|
2319
|
+
"name": "portal_contract_address",
|
|
2320
|
+
"type": {
|
|
2321
|
+
"kind": "struct",
|
|
2322
|
+
"path": "authwit::aztec::protocol_types::address::EthAddress",
|
|
2323
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
2324
|
+
}
|
|
2325
|
+
}
|
|
2326
|
+
]
|
|
2144
2327
|
}
|
|
2145
|
-
}
|
|
2328
|
+
},
|
|
2329
|
+
{ "name": "chain_id", "type": { "kind": "field" } },
|
|
2330
|
+
{ "name": "version", "type": { "kind": "field" } }
|
|
2146
2331
|
]
|
|
2147
2332
|
},
|
|
2148
2333
|
"visibility": "public"
|
|
2149
2334
|
},
|
|
2150
2335
|
"return_witnesses": [
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2336
|
+
55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
|
|
2337
|
+
82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
|
|
2338
|
+
107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
|
|
2339
|
+
129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
|
|
2340
|
+
151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
|
|
2341
|
+
173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
|
|
2342
|
+
195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
|
|
2343
|
+
217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
|
|
2344
|
+
239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
|
|
2345
|
+
261
|
|
2160
2346
|
]
|
|
2161
2347
|
},
|
|
2162
|
-
"bytecode": "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",
|
|
2163
|
-
"debug_symbols": "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uYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYcruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYdruYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYcbuYe7cg935R7uyj3clXu4K/dwV+7hrtzDXbmHu3IPd+Ue7so93JV7uCv3cFfu4a7cw125h7tyD3flHu7KPdyVe7gr93BX7uGu3MNduYe7cg935R7uyj3clXu4K/dwV+7hrtzDXbmHu3IPd+Ue7so93JV7uCv3cFfu4a7cw125h7tyD3flHu7KPdyVe7gr93BX7uGu3MNduYe7cg935R7uyj3clXu4K/dwV+7hrtzDXbmHu3IPd+Ue7so93JV7uCv3cFfu4a7cw125h7tyD3flHu7KPdyVe7gr93BX7uGu3MNduYe7cg935R7uyj3clXu4K/dwV+7hrtzDXbmHu3IPd+Ue7so93JV7uCv3cFfu4a7cw125h7tyD3flHu7KPdyVe7gr93BX7uGu3MNduYe7cg935R7uyj3clXu49ZKLuOeRpT8S+iNbf+Toj6T+SOmPtP7I6I/o21/69pe+/aVvf+nbX/r2l779pW9/6dtf+vaXvv3Qtx/69kPffujbD337oW8/9O2Hvv3Qtx/69re+/a1vf+vb3/r2t779rW9/69vf+va3vv2tb//o2z/69o++/aNv/+jbP/r2j779o2//6Ns/+vZT337q2099+6lvP/Xtp7791Lef+vZT337q2y99+6Vvv/Ttl7790rdf+vZL337p2y99+6Vvv/Xtt7791rff+vZb337r2299+61vv/Xtt7790bc/+vZH3/7o2x99+6Nvf/Ttj7790bc/+vavvv2rb//q27/69q++/atv/+rbv/r2r759vetbete39K5v6V3f0ru+50+9+iOpP1L6I60/Mvoj+vb1rm/pXd/Su76ld31L7/qW3vUtvetbete39K5v6V3f0ru+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+ldX+hdX+hdX+hdX+hdX+hdX+hdX+hdX+hdX+hdX+hdX+hdX+hdX+hdX+hdX+hdX+hdX+hdX+hdX+hdX+hdX+hdX+hd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"
|
|
2348
|
+
"bytecode": "H4sIAAAAAAAA/+2dB3QcxRnH55qapRjjEEiA5BJsU4LhTneyTlQbY5qNMb0XyXeyBbJk5LON6JCE9IT0nhCSkJ6Q3hNCeoX0HnrvvRu+v7SDPtZn4D1968e8P/Pe/+3u3N7s/GZnp+3sfLmUc7e7cSe7Li3KiPLqOBvt++Nc7Lgpdtwc+39r7Lgjdjw1djwtdjw9drxZdKxdKtrOjbalwpxyudbdWSuWir2Fzp6+Sleh3NU3p1KsFLsqXdXOSqlUq5Qr3T19Pd2FnmK5VCv2d/WU+gvjbpYKqzBJh7i1qDjPEK0TzYy2s8i2O4q2je6ZTpdtSdNDp8t27pnOOl9v78zyddHfPx/H7SOOJtEOMY50jKMwOVdsNkyT1xqnCVgRZt5N5PFMFH782U9FWxfdf39+OpamO6rzZkfhZdyG3VxDnvh1UsbXmGEXViGpOM4MII6pBOKYRDxnO9u61bud3HhbAq5Z+eetrlcuzEHbZ6xB5MbbQdq1uYnn1p+DeGTs4zFW/mWtw5V706a4stEFUJ63KsZc5O9Zpyq/lEr/pgTil1LcPmx/7K+HuE6L9oeG6wP9o/NHar31WnXxcL2mM4z/g/bThV1a/Z5p8HuugV/qWcJrcxMZs0n5+ev431piYYy5udG2MDlXdLHIWoa9k0umBLJuPegaf7Kth52dfesBYeajzLNeRnAv7JojpeLoMz9uJjJep2jryC+hErqsS+h42jUqofEgTldxMi9Vo9I6Zx1uoVBqdhPpaBju0z1Wnz55dZ2cSitfKxjmn6K+ti9M/XW8f0btb+omXKvajxeqU9wza4hG/8nG/tOufm9qwJ035o4/E82xOGaVH2rdVHYiPXzckshnbW7DvQAdX+90HkmilYL08OXIslp9yeq+wYGlC2uj84aqS3pH6gO9g/Oq1ZHaqlWNCqNMDGBDNbb2Szfw002ljPLzGSWr/NKxhNEJ6s9PtNaP9ytRIqM/WYy2W4pKbv3+Zyn6vTPaIteVY3GM186TrVEtS5OyXViFjFu/ze9cOP046zyVZBoUEkoD63gWnW2t++JYC99Yi66IfFnaJZrjxsc04BJqLffo1rK+Blyj1rKuuFLKz1d2aeX3dOWowjcfE5AWf0Kt4CLiuoVK/wR6Bt0Jtdg6X+wZOLe5m3AMPYP2aB9ttObs+qwtGzluLSqOm0T7tRUD9QVDS0dGV8p43KLhZbrBq++td7q9lVb7up7MNjgfYTTFzm3UdvPnNuoAgGNKtJ93ds8mysbWBnHQLq/2p6j4tNnHp5gQ51jd2644WmM87er3FsXYngBjSl3Xh63jEb/2OmebDh3PkQ4dDeLSsZHTwV+vTfnpcX/9u9+mYyy6feDP32jD2dbDxDqsyXZqu51thkqKOWXIXAmEOW3I3BMIc8aQeZdAmLOGzLsGwpwzZN4tEOYmQ+bdA2G2nBC1RyDM2xky7xkI8yxD5rmEzPMImfciZJ5PyLw3IfMCQuZ9CJn3JWTej5B5f0LmAwiZFxIyLyJkPpCQeTEh80GEzEsImQ8mZD6EkPlQQubDCJkPJ2Q+gpD5SELmowiZjyZkPoaQ+VhC5uMImY8nZD6BkPlEQuaTCJl7CZn7CJmXEjJXCZlrhMz9hMzLCJmXEzIPEDKfTMh8CiHzICHzCkLmIULmYULmlYTMpxIyjxAyryJkrhMyryZkXkPIvJaQ+TRC5lFC5tMJmc8gZD6TkPksQuazCZnPIWQ+l5D5PELm8wmZX0fI/HpC5jcQMl9AyPxGQuY3BcI825D5zYEwW5pQeUsgzJZ5+62EzG8jZH47IfM7CJnfSch8ISHzuwiZ303I/B5C5vcSMr+PkPn9hMwfIGT+ICHzhwiZP0zI/BFC5o8SMn+MkPnjhMyfIGS+iJD5k4TMFxMyf4qQ+dOEzJ8hZL6EkPmzhMyfC4R5B0PmzxPe5y8Ewmxp4+eLhPf5S4TMXyZk/goh81cJmS8lZP4aIfPXCZm/Qcj8TULmbxEyf5uQ+TuEzN8lZP4eIfP3CZl/QMj8Q0LmHxEy/5iQ+SeEzJcRMv+UkPlyQuafETL/nJD5F4TMvyRk/hUh868JmX9DyPxbQubfETL/npD5D4TMfyRkvoKQ+UpC5j8RMv+ZkPkvhMx/JWT+GyHz3wmZ/0HI/E9C5n8RMv+bkPk/hMz/JWT+HyHz/wmZryJkvpqQ+RpC5msDYd7ZkPk6wvt8PSHzDYTMNxIy30TIfDMh8y2BMLcYMt8aCHOrIfNtgTC3GTLfHgjzFEPmOwJhbjdkvjMQ5g5D5rsCYX6JIfPdgTBPNWS+JxDmTQyZ7w2EeZoh832BMG9qyHx/IMzTDZkfCIT5pYbMDwbCvJkh80OBML/MkPnhQJg3N2R+JBDmLQyZHw2E+eWGzI8FwvwKQ+bHA2He0pD5iUCYtzJkXhcI89aGzE8GwvxKQ2aXCoP5VYbMqUCY84bM6UCYX23InAmE+TWGzNlAmLcxZM4ZMktQLhOFNUPxp6I0wG9ZUU7UJMJ6tHgPhfcyeE+BcXuMY2NcF+OcGPfDOBjGhTBOgnED9KPRr0Q/C/0OtMPRLkU7De0W1OOo11DOo9zLi/BcIJ9so+4F4jdTdEV03C2qiHpEu4h2Fe0m2l20h2jPKM3nifYSzRftLVog2ke0r2g/0f6iA0QLRYtEB4oWiw4SLREdLDpEdKjoMNHhoiNER4qOEh0tOkZ0rOg40fGiE0Qnik4S9Yr6REtFVVFN1C9aJlouGhCdLDpFNChaIRoSDYtWik4VjYhWieqi1aI1orWi00SjotNFZ4jOFJ0lOlt0juhc0Xmi80WwDw976bAffoEI9qVhbxn2h2GPF/ZpYa8V9kthzxP2LS8Uwf4h7AHCPh7sxcF+GuyJwb4W7E3B/hLsEcE+D+zVwH4L7JnAvsdFIth/uFgE+wBYLx/rx18iwvriWG8b609jPWasT4z1erF+LdZzxfqml4qw/iXWg8T6iFgvEOvnYT05rK+G9caw/hbWo8L6TFivCOv3YD0brO9ymQjrf1wuwvoQWC8B6wfge3p8X47vrfH9Mb7Hxfep+F4T3y/iez7ksytF+P4J3wPh+xh8L4LvJ/A9AebXY7455l9jPjLm52K+KuZvYj4j5vddLcL8r2tFmB+E+TKYP4L5FJhfgPfteP+M97F4P4n3dXh/hfc5eL+B8X6Mf2M8GOOjGC/E+BnGkzC+gvEG9L/RH0X/DP0VtN/RnkX7Dg8y6n/Uh6gfUF6i/PDPFNy0aLtVtO2t12srVtbz9eF8b7WaXztQX54fXlMb6R8cRpYbe4af9/lPAaJEStNu7AAA",
|
|
2349
|
+
"debug_symbols": "3ZbdTkIxDMffZdeEtF27tryK8YL4kZgYNMId4d09KtuOuLB4NChcwUn+bX79WNtteHy6WW4enlbrsNgGxLC42ob183L19rneLF82YQGzcLe6HX53s3D/8HgXFkTD/y86dNW9FN29qJkbYopGezFxrGIEa7lGTpx9o5B90l/PAtLZksfTkQumTC6afkzOLXKMXIgYvMNPCpaRlLXyS0uMJFlMQMfFfXw5b/z0G/iiBd87+Eaa+94iwIgH3nn0n/HYL/BYLa9T7PCk/GjNa7WUmp2gsdUJGhtiL8SuflxKw2wqfm08O3BSi/mFpBCBs2MEh464lxaCE6cFQaUAMY0T84aDf4qjhzh0ahyUitNrG7XCrg7xcGhQPGd4PjX8MGSya9LYebDixXMi7swmKatStHaYp/c45XLiVMkXmZqN4/wqTVxaJcloEwxXxaQpli4oizGHapCOZxEdyokBoj/Ool5OFg09Z5H98M3Zv44zlQYgQ+zEGVN+Ryw1Jxw/dvu8efQo59xoqgs4myBMsGmubfYciKTabLaf7/P2RRY9XzfMcFg4nrfvlZ4RTjGiKUbx20Y2b+86Lvcjj3bpvrKDkUwxas5JsTKLtdZ2sL/e7V4B"
|
|
2164
2350
|
},
|
|
2165
2351
|
{
|
|
2166
|
-
"name": "
|
|
2352
|
+
"name": "entrypoint",
|
|
2167
2353
|
"function_type": "Secret",
|
|
2168
2354
|
"is_internal": false,
|
|
2169
2355
|
"abi": {
|
|
@@ -2342,7 +2528,23 @@
|
|
|
2342
2528
|
{ "name": "chain_id", "type": { "kind": "field" } },
|
|
2343
2529
|
{ "name": "version", "type": { "kind": "field" } },
|
|
2344
2530
|
{ "name": "block_number", "type": { "kind": "field" } },
|
|
2345
|
-
{ "name": "timestamp", "type": { "kind": "field" } }
|
|
2531
|
+
{ "name": "timestamp", "type": { "kind": "field" } },
|
|
2532
|
+
{
|
|
2533
|
+
"name": "coinbase",
|
|
2534
|
+
"type": {
|
|
2535
|
+
"kind": "struct",
|
|
2536
|
+
"path": "authwit::aztec::protocol_types::address::EthAddress",
|
|
2537
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
2538
|
+
}
|
|
2539
|
+
},
|
|
2540
|
+
{
|
|
2541
|
+
"name": "fee_recipient",
|
|
2542
|
+
"type": {
|
|
2543
|
+
"kind": "struct",
|
|
2544
|
+
"path": "authwit::aztec::protocol_types::address::AztecAddress",
|
|
2545
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
2546
|
+
}
|
|
2547
|
+
}
|
|
2346
2548
|
]
|
|
2347
2549
|
}
|
|
2348
2550
|
}
|
|
@@ -2356,7 +2558,7 @@
|
|
|
2356
2558
|
"path": "authwit::aztec::protocol_types::contrakt::deployment_data::ContractDeploymentData",
|
|
2357
2559
|
"fields": [
|
|
2358
2560
|
{
|
|
2359
|
-
"name": "
|
|
2561
|
+
"name": "public_key",
|
|
2360
2562
|
"type": {
|
|
2361
2563
|
"kind": "struct",
|
|
2362
2564
|
"path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint",
|
|
@@ -2366,8 +2568,15 @@
|
|
|
2366
2568
|
]
|
|
2367
2569
|
}
|
|
2368
2570
|
},
|
|
2369
|
-
{ "name": "
|
|
2370
|
-
{
|
|
2571
|
+
{ "name": "initialization_hash", "type": { "kind": "field" } },
|
|
2572
|
+
{
|
|
2573
|
+
"name": "contract_class_id",
|
|
2574
|
+
"type": {
|
|
2575
|
+
"kind": "struct",
|
|
2576
|
+
"path": "authwit::aztec::protocol_types::contract_class::ContractClassId",
|
|
2577
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
2578
|
+
}
|
|
2579
|
+
},
|
|
2371
2580
|
{ "name": "contract_address_salt", "type": { "kind": "field" } },
|
|
2372
2581
|
{
|
|
2373
2582
|
"name": "portal_contract_address",
|
|
@@ -2395,9 +2604,52 @@
|
|
|
2395
2604
|
},
|
|
2396
2605
|
"visibility": "private"
|
|
2397
2606
|
},
|
|
2398
|
-
{
|
|
2607
|
+
{
|
|
2608
|
+
"name": "payload",
|
|
2609
|
+
"type": {
|
|
2610
|
+
"kind": "struct",
|
|
2611
|
+
"path": "authwit::entrypoint::EntrypointPayload",
|
|
2612
|
+
"fields": [
|
|
2613
|
+
{
|
|
2614
|
+
"name": "function_calls",
|
|
2615
|
+
"type": {
|
|
2616
|
+
"kind": "array",
|
|
2617
|
+
"length": 4,
|
|
2618
|
+
"type": {
|
|
2619
|
+
"kind": "struct",
|
|
2620
|
+
"path": "authwit::entrypoint::FunctionCall",
|
|
2621
|
+
"fields": [
|
|
2622
|
+
{ "name": "args_hash", "type": { "kind": "field" } },
|
|
2623
|
+
{
|
|
2624
|
+
"name": "function_selector",
|
|
2625
|
+
"type": {
|
|
2626
|
+
"kind": "struct",
|
|
2627
|
+
"path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector",
|
|
2628
|
+
"fields": [
|
|
2629
|
+
{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }
|
|
2630
|
+
]
|
|
2631
|
+
}
|
|
2632
|
+
},
|
|
2633
|
+
{
|
|
2634
|
+
"name": "target_address",
|
|
2635
|
+
"type": {
|
|
2636
|
+
"kind": "struct",
|
|
2637
|
+
"path": "authwit::aztec::protocol_types::address::AztecAddress",
|
|
2638
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
2639
|
+
}
|
|
2640
|
+
},
|
|
2641
|
+
{ "name": "is_public", "type": { "kind": "boolean" } }
|
|
2642
|
+
]
|
|
2643
|
+
}
|
|
2644
|
+
}
|
|
2645
|
+
},
|
|
2646
|
+
{ "name": "nonce", "type": { "kind": "field" } }
|
|
2647
|
+
]
|
|
2648
|
+
},
|
|
2649
|
+
"visibility": "public"
|
|
2650
|
+
}
|
|
2399
2651
|
],
|
|
2400
|
-
"param_witnesses": { "inputs": [{ "start": 0, "end":
|
|
2652
|
+
"param_witnesses": { "inputs": [{ "start": 0, "end": 36 }], "payload": [{ "start": 36, "end": 53 }] },
|
|
2401
2653
|
"return_type": {
|
|
2402
2654
|
"abi_type": {
|
|
2403
2655
|
"kind": "struct",
|
|
@@ -2453,6 +2705,7 @@
|
|
|
2453
2705
|
},
|
|
2454
2706
|
{ "name": "args_hash", "type": { "kind": "field" } },
|
|
2455
2707
|
{ "name": "return_values", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } },
|
|
2708
|
+
{ "name": "meta_hwm", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } },
|
|
2456
2709
|
{
|
|
2457
2710
|
"name": "read_requests",
|
|
2458
2711
|
"type": {
|
|
@@ -2669,7 +2922,23 @@
|
|
|
2669
2922
|
{ "name": "chain_id", "type": { "kind": "field" } },
|
|
2670
2923
|
{ "name": "version", "type": { "kind": "field" } },
|
|
2671
2924
|
{ "name": "block_number", "type": { "kind": "field" } },
|
|
2672
|
-
{ "name": "timestamp", "type": { "kind": "field" } }
|
|
2925
|
+
{ "name": "timestamp", "type": { "kind": "field" } },
|
|
2926
|
+
{
|
|
2927
|
+
"name": "coinbase",
|
|
2928
|
+
"type": {
|
|
2929
|
+
"kind": "struct",
|
|
2930
|
+
"path": "authwit::aztec::protocol_types::address::EthAddress",
|
|
2931
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
2932
|
+
}
|
|
2933
|
+
},
|
|
2934
|
+
{
|
|
2935
|
+
"name": "fee_recipient",
|
|
2936
|
+
"type": {
|
|
2937
|
+
"kind": "struct",
|
|
2938
|
+
"path": "authwit::aztec::protocol_types::address::AztecAddress",
|
|
2939
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
2940
|
+
}
|
|
2941
|
+
}
|
|
2673
2942
|
]
|
|
2674
2943
|
}
|
|
2675
2944
|
}
|
|
@@ -2683,7 +2952,7 @@
|
|
|
2683
2952
|
"path": "authwit::aztec::protocol_types::contrakt::deployment_data::ContractDeploymentData",
|
|
2684
2953
|
"fields": [
|
|
2685
2954
|
{
|
|
2686
|
-
"name": "
|
|
2955
|
+
"name": "public_key",
|
|
2687
2956
|
"type": {
|
|
2688
2957
|
"kind": "struct",
|
|
2689
2958
|
"path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint",
|
|
@@ -2693,8 +2962,15 @@
|
|
|
2693
2962
|
]
|
|
2694
2963
|
}
|
|
2695
2964
|
},
|
|
2696
|
-
{ "name": "
|
|
2697
|
-
{
|
|
2965
|
+
{ "name": "initialization_hash", "type": { "kind": "field" } },
|
|
2966
|
+
{
|
|
2967
|
+
"name": "contract_class_id",
|
|
2968
|
+
"type": {
|
|
2969
|
+
"kind": "struct",
|
|
2970
|
+
"path": "authwit::aztec::protocol_types::contract_class::ContractClassId",
|
|
2971
|
+
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
2972
|
+
}
|
|
2973
|
+
},
|
|
2698
2974
|
{ "name": "contract_address_salt", "type": { "kind": "field" } },
|
|
2699
2975
|
{
|
|
2700
2976
|
"name": "portal_contract_address",
|
|
@@ -2714,234 +2990,220 @@
|
|
|
2714
2990
|
"visibility": "public"
|
|
2715
2991
|
},
|
|
2716
2992
|
"return_witnesses": [
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
|
|
2993
|
+
1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959,
|
|
2994
|
+
1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977,
|
|
2995
|
+
1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
|
|
2996
|
+
1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013,
|
|
2997
|
+
2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031,
|
|
2998
|
+
2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049,
|
|
2999
|
+
2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067,
|
|
3000
|
+
2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085,
|
|
3001
|
+
2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103,
|
|
3002
|
+
2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121,
|
|
3003
|
+
2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139,
|
|
3004
|
+
2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148
|
|
2729
3005
|
]
|
|
2730
3006
|
},
|
|
2731
|
-
"bytecode": "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",
|
|
2732
|
-
"debug_symbols": "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"
|
|
2733
|
-
},
|
|
2734
|
-
{
|
|
2735
|
-
"name": "compute_note_hash_and_nullifier",
|
|
2736
|
-
"function_type": "Unconstrained",
|
|
2737
|
-
"is_internal": false,
|
|
2738
|
-
"abi": {
|
|
2739
|
-
"parameters": [
|
|
2740
|
-
{
|
|
2741
|
-
"name": "contract_address",
|
|
2742
|
-
"type": {
|
|
2743
|
-
"kind": "struct",
|
|
2744
|
-
"path": "authwit::aztec::protocol_types::address::AztecAddress",
|
|
2745
|
-
"fields": [{ "name": "inner", "type": { "kind": "field" } }]
|
|
2746
|
-
},
|
|
2747
|
-
"visibility": "private"
|
|
2748
|
-
},
|
|
2749
|
-
{ "name": "nonce", "type": { "kind": "field" }, "visibility": "private" },
|
|
2750
|
-
{ "name": "storage_slot", "type": { "kind": "field" }, "visibility": "private" },
|
|
2751
|
-
{
|
|
2752
|
-
"name": "serialized_note",
|
|
2753
|
-
"type": { "kind": "array", "length": 3, "type": { "kind": "field" } },
|
|
2754
|
-
"visibility": "private"
|
|
2755
|
-
}
|
|
2756
|
-
],
|
|
2757
|
-
"param_witnesses": {
|
|
2758
|
-
"contract_address": [{ "start": 0, "end": 1 }],
|
|
2759
|
-
"nonce": [{ "start": 1, "end": 2 }],
|
|
2760
|
-
"serialized_note": [{ "start": 3, "end": 6 }],
|
|
2761
|
-
"storage_slot": [{ "start": 2, "end": 3 }]
|
|
2762
|
-
},
|
|
2763
|
-
"return_type": {
|
|
2764
|
-
"abi_type": { "kind": "array", "length": 4, "type": { "kind": "field" } },
|
|
2765
|
-
"visibility": "public"
|
|
2766
|
-
},
|
|
2767
|
-
"return_witnesses": [6, 7, 8, 9]
|
|
2768
|
-
},
|
|
2769
|
-
"bytecode": "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",
|
|
2770
|
-
"debug_symbols": "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tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQF5tQl5tQl5tQl5tQl5tXlzcndCXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1CXm1BXm1BXm1BXm1BXm3dnNxdkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFdbkFfbkFfbkFfbkFfbkFfbNyd3N+TVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVNuTVCvJqBXm1grxaQV6tbk7uFuTVCvJqBXm1grxaQV6tIK9WkFcryKsV5NUK8moFebWCvFpBXq0gr1aQVyvIqxXk1QryagV5tYK8WkFerSCvVpBXK8irFeTVCvJqBXm1grxaQV6tIK9WkFcryKsV5NUK8moFebWCvFpBXq0gr1aQVyvIqxXk1QryagV5tYK8WkFerSCvVpBXK8irFeTVCvJqBXm1grxaQV6tIK9WkFcryKsV5NUK8moFebWCvFpBXq0gr1aQVyvIqxXk1QryagV5tYK8WkFerSCvVpBXK8irFeTVCvJqBXm1grxaQV6tIK9WkFcryKsV5NUK8moFebWCvFpBXq0gr1aQVyvIqxXk1QryagV5tYK8WkFerSCvVpBXazcIrB3FOMl7FONE71GMk71HMU74HsU46XsU48TvUYyTv0cxTgAfxUgJDNG1oxgpgSG8dhQjJTDE145ipASGANtRjJTAEGE7ipESGEJsRzFSAkOM7ShGSmAIsh3FSAkMUbajGCmBIcx2FCMlMMTZjmKkBIZA21GMlMAQaTuKkRIYQm1HMVICQ6ztKEZKYAi2HcVICQzRtqMYKYEh3HYUIyUwxNuOYqQEhoDbUYyUwBBxO4qREhhCbkcxUgJDzO0oRkpgCLodxUgJDFG3oxgpgSHsdhQjJTDE3Y5ipASGwNtRjJTAEHk7ipESGEJvRzFSAkPs7ShGSmAIvh3FSAkM0bejGCmB/1H8tqJ/KybnP1jMkorZUjEFFfOPArj7FtOkYrpUTEjFpFTMkIqREnhLCbylBN5SApeUwCUlcEkJXFICl5TAJSVwSQlcUgKXlMAFJXC7QQncblACtxuUwO0GJfDxu2SpGCiB2w1K4HaDErjdoARuNymBm5TATUrgJiVwkxK4SQncpARuUgI3KYGblMBNSuAuJXCXErhLCdylBO5SAncpgbuUwF1K4C4lcJcSOKQEDimBQ0rgkBI4pAQOKYFDSuCQEjikBA4pgVNK4JQSOKUETimBU0rglBI4pQROKYFTSuCUEnhICTykBB5SAg8pgYeUwENK4CEl8JASeEgJPKQEnlICTymBp5TAU0rgKSXwlBJ4Sgk8pQSeUgJPKYGXlMBLSuAlJfCSEnhJCbykBJZMXJNMXJNMXJNMXJNMXJNMXJNMXJNMXJNMXJNMXJNMXJNMXJNMXJNMXJNMXJNMXJNMXJNMXJNMXJNMXJNMXJNMXJNMXJNMXJdMXJdMXJdMXJdMXL9BCdwlE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clE9clExeSiQvJxIVk4kIycXGDEjgkExeSiQvJxIVk4kIycSGZuJBMXEgmLiQTF5KJC8nEhWTiQjJxIZm4kExcSCYuJBMXkokLycSFZOJCMnEhmbiQTFxIJi4kExeSiQvJxIVk4kIycSGZuJBMXEgmLiQTF5KJC8nEhWTiQjJxIZm4kExcSCYuJBMXkokLycSFZOJCMnEhmbiQTFxIJi4kExeSiQvJxIVk4kIycSGZuJBMXEgmLiQTF5KJC8nEhWTiQjJxIZm4kExcSCYuJBMXkokLycSFZOJCMnEhmbiQTFxIJi4kExeSiQvJxIVk4kIycSGZuJBMXEgmLiQTF5KJC8nEhWTiQjJxIZm4kExcSCYuJBMXkokLycSFZOJCMnEhmbiQTFxKJi4lE5eSiUvJxOUNSuCUTFxKJi4lE5eSiUvJxKVk4lIycSmZuJRMXEomLiUTl5KJS8nEpWTiUjJxKZm4lExcSiYuJROXkolLycSlZOJSMnEpmbiUTFxKJi4lE5eSiUvJxKVk4lIycSmZuJRMXEomLiUTl5KJS8nEpWTiUjJxKZm4lExcSiYuJROXkolLycSlZOJSMnEpmbiUTFxKJi4lE5eSiUvJxKVk4lIycSmZuJRMXEomLiUTl5KJS8nEpWTiUjJxKZm4lExc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"
|
|
3007
|
+
"bytecode": "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",
|
|
3008
|
+
"debug_symbols": "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plNjznRqzJlOjTnTqTFnOjXmTKfGnOnUmDOdGnOmU2POdGrMmU6NOdOpMWc6NeZMp8ac6dSYM53cwhzq9KieuMc+qiduso/qibvso3riNvuonrjPPqonbrSP6ok77aN64lb7qJ661zLHOz2qp+61zAFPj+qpey1zxNOjeupeyxzy9Kieutcyxzw9qqfutcxBT4/qqXstc9TTo3rqXssc9vSonrrXMsc9Paqn7rXMgU+P6ql7LXPk06N66l7LHPr0qJ661zLHPj2qp+61zMFPj+qpey1z9NOjeupeyxz+9Kieutcyxz89qqfutcwBUI/qqXstcwTUo3rqXsscAvWonrrXMsdAPaqn7rXMQVCP6ql7LXMU1KN66l7LHAb1qJ661zLHQT2qp+61zIFQj+qpey1zJNSjeupeyxwK9aieutcyx0I9qqfutczBUI/qqXstczTUo3rqXsscDvWonrrXMsdDPaqn7rXMAVGP6ql7LXNE1KN66l7LHBL1qJ661zLHRD2qp+61zEFRj+qpey1zVNSjeupeyxwW9aieutcyx0U9qqfutcyBUY/qqXstc2TUo3rqXsscGvWonrrXMsdGPapn7rWOOjfKUedGOercKEedG+UW5l7rqHOjHHVulKPOjXLUuVGOOjfKUedGOercKEedG+Woc6McdW6Uo86NctS5UY46N8pR50Y56twoR50b5ahzoxx1bpSjzo1y1LlRjjo3ylHnRjnq3ChHnRvlqHOjHHVulKPOjXLUuVGOOjfKUedGOercKEedG+Woc6McdW6Uo86NctS5UY46N8pR50Y56twoR50b5ahzoxx1bpSjzo1y1LlRjjo3ylHnRjnq3ChHnRvlqHOjHHVulKPOjXLUuVGOOjfKUedGOercKEedG+Woc6McdW6Uo86NctS5UY46N8pR50Y56twoR50b5ahzoxx1bpSjzo1y1LlRjjo3ylHnRjnq3ChHnRvlqHOjHHVulKPOjXLUuVGOOjfKUedGOercKEedG+Woc6McdW6Uo86NctS5UY46N8pR50Y56twoR50b5ahzoxx1bpSjzo1y1LlRjjo3ylHnRjnq3ChPnRvlqXOjPHVulKfOjfILc6/11LlRnjo3ylPnRnnq3ChPnRvlqXOjPHVulKfOjfLUuVGeOjfKU+dGeercKE+dG+Wpc6M8dW6Up86N8tS5UZ46N8pT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b3LI53uJa9XjmxzyeVniWhX5JuTzp8S1KvJNyOc5iWsF7q9urSK71g60yp6l5JDPsLmVC3DfvpULcI+/lQuwH7iTC/KZMLdyAfYZt3IB9iS3cgFe97mVSzQum1zM725z0eh3j/f1OOTzTa7jcvg7e4d8ZsmtXDT63Q4uyGeL3MpFo9/t4aLR7/Zw0eh3O9Yxkc/quJWLRr/bw0Wl3+3gotLvdnBR6Xc7uKj0u8dckM+ouJWLSr/bwUWl3+3gYn53m0s0LptczO9uczG/u83F/O42F/O721zM725yQT7r4FYu5ne3uZjf3eZifnebSzQum1zM725zMb+7zcX87jYX87vbXMzvbnJBPhPiVi7md7e5mN/d5mJ+d5tLNC6bXMzvbnMxv7vNxfzuNhfzu5tcPn2Og+yv+D99MoNw9YG6+khdfaKuPlNXX6irr9TVN+bqP31SgHD11L224vbajn1tFbfXduyC+HTivnD1uL22p3rcXttTPW6v7aket9f2VI/bazsmw4bba3uqx+21PdUD99qO6oF7bUf1wL22o3rgXttRPXCv7ageuNd2VA/cazuqZ+61fmHutX5h7rV+Ye61fmHutX5h7rV+Ye61fmHutX5h7rV+Ye61fqHutY661zrqXuuoe62j7rWOutc66l7rqHuto+61jrrXOupe66l7rafutZ6613rqXvvpNGLh6s8/75dnQQ8USbD6498peIGk1jurb8zVC6Se3lm9o67eU1cfqKuP1NUn6uozdfXUvTbg9trj3wT6gNtrj39d5CNur+2pHrfX9lSP22t7qsfttT3V4/banupxe23HZBhxe21P9bi9tqd64F7bUT1wrz2uPgH32o7qgXttR/XAvbajeuBe21E9cK/tqJ661ybqXpuoe22i7rWJutdm6l6bqXttpu61mbrXCiQg3Vk9da/N1L02U/faTN1rM3WvLdS9tlD32kLdawt1rxXILrqzeupeW6h7baHutYW61xbqXlupe+35/Bznnx/iXXGC1Xf8TuF8fs6t1Sfq6jN19YW6+kpdfWOu/nx+zq3VO+rqPXX11L32fH7OZdV3/Caw4fbajl8XNdxe21M9bq/tqR631/ZUj9trj6sPC26v7aket9ceT4Zhwe21PdXj9tqe6oF7bUf1wL22o3rgXttRPXCv7ageuNd2VA/ca4+rd8C9tqN66l7rqHuto+615/Nzbq2eutc66l7rqHuto+61jrrXeupe66l7rafutZ66157Pz7m1eupe66l7rafutZ6613rqXhuoe22g7rWButcG6l57Prvo1uqpe20g7bVuWdJ/3DHIy/O69lcNz+Ld67IwdlkcuyyNXZZ/fZlL9T/uhOqXpTz/Qd+vq2/XlcHr6uB1bey67cXfjuvc4HV+8LoweF0cvO7sY2j3pa+PyNd/xGnzvMQ1tnTJ5eBxFPMTa6zh2yPm74oqXEXtworWTzm/8NP1Ke4jn+I/8inhI58SP/Ip6SOfkj/yKeUjn1I/8ikf+e6Hj3z3w0e+++Ej3/3wke9++Mh3P3zku//pwSM9+2pOdbuvhgJXEe5iXPZ1fW3cqR53Ma6j+oi7GNdTPe5iXE/1uItxPdXjLsb1VB+pq8ddjOupHncxrqd63D989VRP3Wsjda9N1L02UffaRN1rE3WvPR9uemv1pBvT/1RPujH97+oz6R/b/1RP+sf2P9WT/rH9T/W4z5ye6kn/2P6netY/tv9dPfAP247/apaBf9jWUT3wD9uOqy/AP2zrqB6413ZUD9xrO6oH7rUd1QP32o7qgXttR/XAvbajeupeW6h7baHutRWl174qQumfr4o+3BN311K+v9a58nxn5+pbxKZPb/UH8vojef2JvP5MXn8hr7+S139lh1w/5dL4ytenfDjC//hXP83DVYQbtd/xd4rzcZC3Vo8btd9TPW7Ufk/1uFH7PdXjRu33VI8btX9cvUAc5K3V4x5r01M97rE2PdUz91qBOMhbq2futQJxkLdWz9xrBeIgb62eutc66l7rqHuto+61jrrXno+DvLV66l7rqHuto+61jrrXOupe66l7rafutR73eX/8i2WBSMJbqyc9tvJP9aTHVv5dfSA9tvJP9aRHRP+pnvSI6D/Vkx4R/ad63Of98e+QBGLxbq0e+IjojuqBj4juqB6413ZUD9xrj6uPwL22o3rgXttRPXCv7ageuNd2VE/dayN1r43UvTai9NpXRSj981XRh3vib37vGEP782IXk3+9OoVX/Wkhr9+R1+/J6w/k9Ufy+hN5/Rm4fre86g9f6v/+6hafK60tvVXx+JSX1qJIa1WkFdkD1JfWFra/gxnZA/TUj+wBeupH9gA99SN7gJ76I3n9yB6gp35kD/CqPy1up37kvt5TP3Kv7qkfuP8mX9b647JdfwHuv131A/ffrvqB+29X/cD9t6t+4P7bVT9w/+2qH7j/fqm/7tQP3H+76gfuv131I/ffUtf6245/qMj9t6d+5P7bUz9y/+2pH7n/9tSP3H976kfuvz31I/ff9/rbTv3I/benfuT+21P/lf13/ZS2fORTzveysp7QFUI4+rc4TIgJApk10hWFz1Yku9dDILPmzuoTdfWZuvpCXX2lrr4RVx8FMmvurN5RV++pq2futXFh7rVxYe61cWHutXFh7rVxYe61caHutY661zrqXuuoe62j7rUCmTV3Vk/dax11r3XUvdZR91pH3Ws9da/11L3WU/daT91rBfKC7qyeutd66l7rqXutp+61nrrXBupeG6h7baDutYG61wpkNd1ZPXWvDdS9NlD32kDdawN1r43UvTZS99pI3Wsjda8VyGq6s3rqXhupe22k7rWRutdG6l6bqHttou61ibrXJupeK5D8dGf11L02UffaRN1rE3WvTdS9NlP32kzdazN1r83UvVYgYenO6ql7babutZm612bqXpupe22h7rWFutcW6l5bqHutQJrSndVT99pC3WsLda8t1L22UPfaSt1rK3WvrdS9tlL3WoHkpDurp+61lbrXVupeW6l7baXutY261zbqXtuoey11blSkzo2K1LlRkTo3KlLnRkXq3KhInRuVqHOjEnVuVKLOjUrUuVFpYe61iTo3KlHnRiXq3KhEnRuVqHOjEnVuVKLOjUrUuVGJOjcqUedGJercqESdG5Woc6MSdW5Uos6NStS5UYk6NypR50Yl6tyoRJ0blahzoxJ1blSizo1K1LlRiTo3KlHnRiXq3KhEnRuVqHOjEnVuVKLOjUrUuVGJOjcqUedGJercqESdG5Woc6MSdW5Uos6NStS5UYk6NypR50Yl6tyoRJ0blahzoxJ1blSizo1K1LlRiTo3KlHnRiXq3KhEnRuVqHOjEnVuVKLOjUrUuVGJOjcqUedGJercqESdG5Woc6MSdW5Uos6NStS5UYk6NypR50Yl6tyoRJ0blahzoxJ1blSizo1K1LlRiTo3KlHnRiXq3KhEnRuVqHOjEnVuVKLOjUrUuVGJOjcqUedGJercqESdG5Woc6MSdW5Uos6NStS5UYk6NypR50Yl6tyoRJ0blahzoxJ1blSizo3K1LlRmTo3KlPnRmXq3Ki8MPfaTJ0blalzozJ1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b1QL3RvVQvdGtdC9US10b1QL3RvVQvdGtdC9US10b1RaQhdH3caPvG1v40det7fxI+/b2/iRF+5t/Mgb9zZ+5JV7Gz/yzr2NH3np3saPvXVDV0jdxo+9dUOXSN3Gj711Q9dI3caPvXVDF0ndxo+9dUNXSd3Gj711Q5dJ3caPvXVD10ndxo+9dUMXSt3Gj711Q1dK3caPvXVDl0rdxo+9dUPXSt3Gj711QxdL3caPvXVDV0vdxo+9dUOXS93Gj711Q9dL3caPvXVDF0zdxo+9dUNXTN3Gj711Q5dM3caPvXVD10zdxo+9dUMXTd3Gj711Q1dN3caPvXVDl03dxo+9dUPXTd3Gj711QxdO3caPvXVDV07dxo+9dUOXTt3Gj711Q9dO3caPvXVDF0/dxo+9dUNXT93Gj711Q5dP3caPvXVD10/dxo+9dUMXUN3Gj711Q1dQ3caPvXVDl1Ddxo+9dUPXUN3Gj711QxdR3caPvXVDV1Hdxo+9dUOXUd3Gj711Q9dR3caPvXVDF1Ldxo+9dUNXUt3Gj711Q5dS3caPvXVD11Ldxo+9dUMXU93Gj711Q1dT3cYPvXVT7G6qFLubKsXupkqxu6nSEnrrptjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U2VYndTpdjdVCl2N1WK3U21xu6mWmN3U62xu6nW2N1U6xJ6666xu6nW2N1Ua+xuqjV2N9Uau5tqjd1Ntcbuplpjd1Otsbup1tjdVGvsbqo1djfVGrubao3dTbXG7qZaY3dTrbG7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lec27ivkcrkqz43cV8jlclWeW7mvkMvlqjw3c18hl8tVeW7nvkIul6vy3NB9hVwuV+W5/fsKuVyuynWz+AVyuVyV63bxC+RyuSrXDeMXyOVyVa5bxi+Qy+WqXDeNXyCXylUV123jF8ilclXFdeP4BXKpXFVZMpdcKldVXDeaXyCXylUVz23pV8jlclVc3eqFq1u9cHWrF65u9cLVrV64utULV7d64epWL1zd6oWrW71wdasXrm71wtWtXri61QtXt3rh6lYvXN3qhatbvXB1qxeubvXC1a1euLrVC1e3euHqVi9c3eqFq1u9cHWrF65u9cLVrV64utULV7d64epWL1zd6oWrW71wdasXrm71wtWtXri61QtXt3rh6lYvXN3qhatbvXB1qxeubvXC1a1euLrVC1e3euHqVi9c3eqFq1u9cHWrF65u9cLVrV64utULV7d64epWL1zd6oWrW71wdasXrm71wtWtXri61QtXt3rh6lYvXN3qhatbvXB1qxeubvXC1a1euLrVC1e3euHqVi9c3eqFq1u9cHWrF65u9cLVrV64utULV7d64epWL1zd6oWrW71wdasXrm71wtWtXri61QtXt3rh6lYvXN3qhatbvXJ1q1eubvXK1a1eubrV65K55FK5qsrVrV65utUrV7d65epWr1zd6pWrW71ydatXrm71ytWtXrm61StXt3rl6lavXN3qlatbvXJ1q1eubvXK1a1eubrVK1e3euXqVq9c3eqVq1u9cnWrV65u9crVrV65utUrV7d65epWr1zd6pWrW71ydatXrm71ytWtXrm61StXt3rl6lavXN3qlatbvXJ1q1eubvXK1a1eubrVK1e3euXqVq9c3eqVq1u9cnWrV65u9crVrV65utUrV7d65epWr1zd6pWrW71ydatXrm71ytWtXrm61StXt3rl6lavXN3qlatbvXJ1q1eubvXK1a1eubrVK1e3euXqVq9c3eqVq1u9cnWrV65u9crVrV65utXrNHXUx3r/4mP9/Z1PYmdZQyaxs7xMHbncR861J3aWFymT2Fleoixip6kpNomdJfSZxMaMfCcBMXfnSYDjfbhv6+OL2/LK6+xru3udvZ6+d/71F85xLLtCruNYdoVcx37nCrmOHc8Vch17Hrzcw3ON8BVyHfueK+Q6dj5XyHXsk66Qm7nkUrmqw3ON8BVyqVzV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uSrPDblXyOVyVZ5bcq+Qy+WqPDflXiGXy1V5bsu9Qi6Xq/LcmHuFXC5X5bmN9wq5XK7KcyPvFXK5XJXnVt4r5HK5Ks/NvFfI5XJVntt5r5DL5ao8N/ReIZfLVXlu6b1CLper8tzUe4VcLlflua33CrlcrspzY+8VcrlclefW3ivkcrkqz829V8jlclWe23uvkMvlqjw3+F4hl8tVeW7xvUIul6sqXK7Kc0vzBXI99zRfIZfLVVUuV+W5h/sKuZlLLper8tzGfYVcLlfluZH7CrlcrspzK/cVcrlcledm7ivkcrkqz+3cV8jlclWeG7qvkMvlqjy3f18hl8tVuW4Wv0Aul6ty3S5+gVwuV+W6YfwCuVyuynXL+AVyuVyV66bxC+RSuarium38ArlUrqq4bhy/QC6VqypL5pJL5aqK60bzC+RSuariuS39CrlcroqrW71wdasXrm71wtWtXri61QtXt3rh6lYvXN3qhatbvXB1qxeubvXC1a1euLrVC1e3euHqVi9c3eqFq1u9cHWrF65u9cLVrV64utULV7d64epWL1zd6oWrW71wdasXrm71wtWtXri61QtXt3rh6lYvXN3qhatbvXB1qxeubvXC1a1euLrVC1e3euHqVi9c3eqFq1u9cHWrF65u9cLVrV64utULV7d64epWL1zd6oWrW71wdasXrm71wtWtXri61QtXt3rh6lYvXN3qhatbvXB1qxeubvXC1a1euLrVC1e3euHqVi9c3eqFq1u9cHWrF65u9cLVrV64utULV7d64epWL1zd6oWrW71wdasXrm71wtWtXri61QtXt3rh6lYvXN3qhatbvXB1qxeubvXC1a1euLrVC1e3euHqVi9c3eqFq1u9cHWrV65u9crVrV65utUrV7d6XTKXXCpXVbm61StXt3rl6lavXN3qlatbvXJ1q1eubvXK1a1eubrVK1e3euXqVq9c3eqVq1u9cnWrV65u9crVrV65utUrV7d65epWr1zd6pWrW71ydatXrm71ytWtXrm61StXt3rl6lavXN3qlatbvXJ1q1eubvXK1a1eubrVK1e3euXqVq9c3eqVq1u9cnWrV65u9crVrV65utUrV7d65epWr1zd6pWrW71ydatXrm71ytWtXrm61StXt3rl6lavXN3qlatbvXJ1q1eubvXK1a1eubrVK1e3euXqVq9c3eqV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"
|
|
2771
3009
|
}
|
|
2772
3010
|
],
|
|
2773
3011
|
"events": [],
|
|
2774
3012
|
"file_map": {
|
|
2775
|
-
"
|
|
2776
|
-
"source": "
|
|
3013
|
+
"3": {
|
|
3014
|
+
"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}",
|
|
3015
|
+
"path": "std/collections/bounded_vec.nr"
|
|
3016
|
+
},
|
|
3017
|
+
"19": {
|
|
3018
|
+
"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",
|
|
2777
3019
|
"path": "std/field.nr"
|
|
2778
3020
|
},
|
|
2779
|
-
"
|
|
3021
|
+
"31": {
|
|
2780
3022
|
"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",
|
|
2781
3023
|
"path": "std/option.nr"
|
|
2782
3024
|
},
|
|
2783
|
-
"
|
|
3025
|
+
"43": {
|
|
2784
3026
|
"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",
|
|
2785
3027
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/log.nr"
|
|
2786
3028
|
},
|
|
2787
|
-
"
|
|
2788
|
-
"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;
|
|
3029
|
+
"44": {
|
|
3030
|
+
"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",
|
|
2789
3031
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/abi.nr"
|
|
2790
3032
|
},
|
|
2791
|
-
"
|
|
2792
|
-
"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
|
|
3033
|
+
"45": {
|
|
3034
|
+
"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",
|
|
2793
3035
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/state_vars/immutable_singleton.nr"
|
|
2794
3036
|
},
|
|
2795
|
-
"
|
|
2796
|
-
"source": "use crate::context::{Context};\nuse crate::oracle::storage::storage_read;\nuse crate::oracle::storage::storage_write;\nuse
|
|
3037
|
+
"46": {
|
|
3038
|
+
"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",
|
|
2797
3039
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/state_vars/public_state.nr"
|
|
2798
3040
|
},
|
|
2799
|
-
"
|
|
2800
|
-
"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",
|
|
3041
|
+
"48": {
|
|
3042
|
+
"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",
|
|
2801
3043
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/state_vars/map.nr"
|
|
2802
3044
|
},
|
|
2803
|
-
"
|
|
2804
|
-
"source": "
|
|
2805
|
-
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/types/type_serialization/bool_serialization.nr"
|
|
2806
|
-
},
|
|
2807
|
-
"55": {
|
|
2808
|
-
"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",
|
|
2809
|
-
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/types/vec.nr"
|
|
2810
|
-
},
|
|
2811
|
-
"68": {
|
|
2812
|
-
"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",
|
|
3045
|
+
"63": {
|
|
3046
|
+
"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",
|
|
2813
3047
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/utils.nr"
|
|
2814
3048
|
},
|
|
2815
|
-
"
|
|
2816
|
-
"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",
|
|
3049
|
+
"65": {
|
|
3050
|
+
"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",
|
|
2817
3051
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/context.nr"
|
|
2818
3052
|
},
|
|
2819
|
-
"
|
|
2820
|
-
"source": "use crate::
|
|
3053
|
+
"72": {
|
|
3054
|
+
"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",
|
|
2821
3055
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/note/lifecycle.nr"
|
|
2822
3056
|
},
|
|
2823
|
-
"
|
|
2824
|
-
"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
|
|
3057
|
+
"73": {
|
|
3058
|
+
"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",
|
|
2825
3059
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/note/utils.nr"
|
|
2826
3060
|
},
|
|
2827
|
-
"
|
|
2828
|
-
"source": "use dep::
|
|
3061
|
+
"74": {
|
|
3062
|
+
"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",
|
|
3063
|
+
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/note/note_header.nr"
|
|
3064
|
+
},
|
|
3065
|
+
"77": {
|
|
3066
|
+
"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",
|
|
2829
3067
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/note/note_getter.nr"
|
|
2830
3068
|
},
|
|
2831
|
-
"
|
|
2832
|
-
"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
|
|
3069
|
+
"80": {
|
|
3070
|
+
"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",
|
|
2833
3071
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/notes.nr"
|
|
2834
3072
|
},
|
|
2835
|
-
"
|
|
3073
|
+
"81": {
|
|
2836
3074
|
"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",
|
|
2837
3075
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr"
|
|
2838
3076
|
},
|
|
2839
|
-
"
|
|
3077
|
+
"86": {
|
|
2840
3078
|
"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",
|
|
2841
3079
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/nullifier_key.nr"
|
|
2842
3080
|
},
|
|
2843
|
-
"
|
|
2844
|
-
"source": "use dep::protocol_types::{\n abis::function_selector::FunctionSelector,\n address::AztecAddress,\n constants::
|
|
3081
|
+
"88": {
|
|
3082
|
+
"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",
|
|
2845
3083
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/call_private_function.nr"
|
|
2846
3084
|
},
|
|
2847
|
-
"
|
|
2848
|
-
"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<
|
|
3085
|
+
"94": {
|
|
3086
|
+
"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",
|
|
2849
3087
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/storage.nr"
|
|
2850
3088
|
},
|
|
2851
|
-
"
|
|
2852
|
-
"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",
|
|
3089
|
+
"96": {
|
|
3090
|
+
"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",
|
|
2853
3091
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/get_public_key.nr"
|
|
2854
3092
|
},
|
|
2855
|
-
"
|
|
3093
|
+
"98": {
|
|
2856
3094
|
"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",
|
|
2857
3095
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/logs.nr"
|
|
2858
3096
|
},
|
|
3097
|
+
"99": {
|
|
3098
|
+
"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",
|
|
3099
|
+
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/context/public.nr"
|
|
3100
|
+
},
|
|
3101
|
+
"100": {
|
|
3102
|
+
"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",
|
|
3103
|
+
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/context/private.nr"
|
|
3104
|
+
},
|
|
2859
3105
|
"102": {
|
|
2860
|
-
"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",
|
|
3106
|
+
"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",
|
|
2861
3107
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/constants.nr"
|
|
2862
3108
|
},
|
|
2863
3109
|
"103": {
|
|
2864
|
-
"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\
|
|
3110
|
+
"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",
|
|
2865
3111
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/partial_state_reference.nr"
|
|
2866
3112
|
},
|
|
2867
3113
|
"104": {
|
|
2868
|
-
"source": "use crate::{\n abis::append_only_tree_snapshot::{\n AppendOnlyTreeSnapshot,\n APPEND_ONLY_TREE_SNAPSHOT_LENGTH,\n },\n
|
|
3114
|
+
"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",
|
|
2869
3115
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/state_reference.nr"
|
|
2870
3116
|
},
|
|
2871
3117
|
"107": {
|
|
2872
|
-
"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
|
|
3118
|
+
"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",
|
|
2873
3119
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/header.nr"
|
|
2874
3120
|
},
|
|
2875
3121
|
"108": {
|
|
2876
|
-
"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",
|
|
3122
|
+
"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",
|
|
2877
3123
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/hash.nr"
|
|
2878
3124
|
},
|
|
3125
|
+
"110": {
|
|
3126
|
+
"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",
|
|
3127
|
+
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/utils.nr"
|
|
3128
|
+
},
|
|
2879
3129
|
"125": {
|
|
2880
|
-
"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
|
|
3130
|
+
"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",
|
|
2881
3131
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/address.nr"
|
|
2882
3132
|
},
|
|
2883
|
-
"
|
|
2884
|
-
"source": "use crate::
|
|
2885
|
-
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/
|
|
3133
|
+
"127": {
|
|
3134
|
+
"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",
|
|
3135
|
+
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/type_serialization.nr"
|
|
2886
3136
|
},
|
|
2887
3137
|
"131": {
|
|
2888
|
-
"source": "use crate::{\n constants::{\n
|
|
2889
|
-
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/contrakt/
|
|
3138
|
+
"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",
|
|
3139
|
+
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/contrakt/deployment_data.nr"
|
|
2890
3140
|
},
|
|
2891
|
-
"
|
|
2892
|
-
"source": "
|
|
2893
|
-
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/
|
|
3141
|
+
"139": {
|
|
3142
|
+
"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",
|
|
3143
|
+
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/utils/reader.nr"
|
|
2894
3144
|
},
|
|
2895
|
-
"
|
|
2896
|
-
"source": "use crate::
|
|
2897
|
-
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/
|
|
3145
|
+
"142": {
|
|
3146
|
+
"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",
|
|
3147
|
+
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/side_effect.nr"
|
|
2898
3148
|
},
|
|
2899
3149
|
"144": {
|
|
2900
|
-
"source": "use crate::
|
|
2901
|
-
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/
|
|
3150
|
+
"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",
|
|
3151
|
+
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/public_call_stack_item.nr"
|
|
2902
3152
|
},
|
|
2903
|
-
"
|
|
2904
|
-
"source": "use crate::constants::{\n
|
|
3153
|
+
"146": {
|
|
3154
|
+
"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",
|
|
2905
3155
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/public_circuit_public_inputs.nr"
|
|
2906
3156
|
},
|
|
3157
|
+
"148": {
|
|
3158
|
+
"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",
|
|
3159
|
+
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/private_call_stack_item.nr"
|
|
3160
|
+
},
|
|
3161
|
+
"149": {
|
|
3162
|
+
"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",
|
|
3163
|
+
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/nullifier_key_validation_request.nr"
|
|
3164
|
+
},
|
|
2907
3165
|
"150": {
|
|
2908
|
-
"source": "use crate::{\n abis::{\n call_context::CallContext,\n nullifier_key_validation_request::NullifierKeyValidationRequest,\n side_effect::{SideEffect
|
|
3166
|
+
"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",
|
|
2909
3167
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/private_circuit_public_inputs.nr"
|
|
2910
3168
|
},
|
|
2911
3169
|
"153": {
|
|
2912
|
-
"source": "use crate::abis::function_selector::FunctionSelector
|
|
3170
|
+
"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",
|
|
2913
3171
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/function_data.nr"
|
|
2914
3172
|
},
|
|
2915
3173
|
"154": {
|
|
2916
3174
|
"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",
|
|
2917
3175
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/append_only_tree_snapshot.nr"
|
|
2918
3176
|
},
|
|
3177
|
+
"155": {
|
|
3178
|
+
"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",
|
|
3179
|
+
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/global_variables.nr"
|
|
3180
|
+
},
|
|
2919
3181
|
"158": {
|
|
2920
|
-
"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
|
|
3182
|
+
"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",
|
|
2921
3183
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/call_context.nr"
|
|
2922
3184
|
},
|
|
2923
3185
|
"164": {
|
|
2924
|
-
"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
|
|
3186
|
+
"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",
|
|
2925
3187
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/function_selector.nr"
|
|
2926
3188
|
},
|
|
2927
|
-
"
|
|
2928
|
-
"source": "use dep::aztec::
|
|
3189
|
+
"198": {
|
|
3190
|
+
"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",
|
|
2929
3191
|
"path": "/usr/src/yarn-project/aztec-nr/authwit/src/entrypoint.nr"
|
|
2930
3192
|
},
|
|
2931
|
-
"
|
|
2932
|
-
"source": "use dep::aztec::context::{PrivateContext, PublicContext, Context};\nuse dep::aztec::state_vars::{map::Map, public_state::PublicState};\
|
|
3193
|
+
"199": {
|
|
3194
|
+
"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",
|
|
2933
3195
|
"path": "/usr/src/yarn-project/aztec-nr/authwit/src/account.nr"
|
|
2934
3196
|
},
|
|
2935
|
-
"
|
|
3197
|
+
"202": {
|
|
2936
3198
|
"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",
|
|
2937
3199
|
"path": "/usr/src/yarn-project/aztec-nr/authwit/src/auth_witness.nr"
|
|
2938
3200
|
},
|
|
2939
|
-
"
|
|
2940
|
-
"source": "mod public_key_note;\n\n// Account contract that uses Schnorr signatures for authentication.\n// The signing key is stored in an immutable private note and should be different from the encryption/nullifying key.\ncontract SchnorrAccount {\n use dep::std;\n use dep::std::option::Option;\n\n use dep::aztec::protocol_types::address::AztecAddress;\n\n use dep::aztec::{\n context::{PrivateContext, Context},\n note::{ note_header::NoteHeader, utils as note_utils },\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::public_key_note::{PublicKeyNote,
|
|
3201
|
+
"220": {
|
|
3202
|
+
"source": "mod public_key_note;\n\n// Account contract that uses Schnorr signatures for authentication.\n// The signing key is stored in an immutable private note and should be different from the encryption/nullifying key.\ncontract SchnorrAccount {\n use dep::std;\n use dep::std::option::Option;\n\n use dep::aztec::protocol_types::address::AztecAddress;\n\n use dep::aztec::{\n context::{PrivateContext, Context},\n note::{ note_header::NoteHeader, utils as note_utils },\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::public_key_note::{PublicKeyNote, PUBLIC_KEY_NOTE_LEN};\n\n struct Storage {\n // docs:start:storage\n signing_public_key: ImmutableSingleton<PublicKeyNote>,\n // docs:end:storage\n }\n\n global ACCOUNT_ACTIONS_STORAGE_SLOT = 2;\n\n // Constructs the contract\n #[aztec(private)]\n fn constructor(signing_pub_key_x: pub Field, signing_pub_key_y: pub Field) {\n let this = context.this_address();\n // docs:start:initialize\n let mut pub_key_note = PublicKeyNote::new(signing_pub_key_x, signing_pub_key_y, this);\n storage.signing_public_key.initialize(&mut pub_key_note, true);\n // docs:end:initialize\n }\n\n // Note: If you globally change the entrypoint signature don't forget to update default_entrypoint.ts file\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_hash: Field) -> pub bool {\n // docs:start:entrypoint\n // Load public key from storage\n let storage = Storage::init(Context::private(context));\n // docs:start:get_note\n let public_key = storage.signing_public_key.get_note();\n // docs:end:get_note\n // Load auth witness\n let witness: [Field; 64] = get_auth_witness(message_hash);\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 signature of the payload bytes\n let verification = std::schnorr::verify_signature(\n public_key.x,\n public_key.y,\n signature,\n message_hash.to_be_bytes(32)\n );\n assert(verification == true);\n // docs:end:entrypoint\n true\n }\n\n // Computes notes 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; PUBLIC_KEY_NOTE_LEN]\n ) -> pub [Field; 4] {\n assert(storage_slot == storage.signing_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 PublicKeyNote::deserialize_content,\n note_header,\n serialized_note\n )\n }\n}\n",
|
|
2941
3203
|
"path": "/usr/src/yarn-project/noir-contracts/contracts/schnorr_account_contract/src/main.nr"
|
|
2942
3204
|
},
|
|
2943
|
-
"
|
|
2944
|
-
"source": "use dep::aztec::{\n note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n utils::
|
|
3205
|
+
"221": {
|
|
3206
|
+
"source": "use dep::aztec::{\n note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n utils::compute_note_hash_for_consumption,\n },\n hash::pedersen_hash,\n oracle::{\n nullifier_key::get_nullifier_secret_key,\n get_public_key::get_public_key,\n },\n log::emit_encrypted_log,\n context::PrivateContext,\n protocol_types::{\n address::AztecAddress,\n }\n};\n\nglobal PUBLIC_KEY_NOTE_LEN: Field = 3;\n\n// Stores a public key composed of two fields\n// TODO: Do we need to include a nonce, in case we want to read/nullify/recreate with the same pubkey value?\nstruct PublicKeyNote {\n x: Field,\n y: Field,\n owner: AztecAddress, // We store the owner address only to get the secret key to compute the nullifier and to broadcast\n header: NoteHeader,\n}\n\nimpl NoteInterface<PUBLIC_KEY_NOTE_LEN> for PublicKeyNote {\n fn serialize_content(self) -> [Field; PUBLIC_KEY_NOTE_LEN] {\n [self.x, self.y, self.owner.to_field()]\n }\n\n fn deserialize_content(serialized_note: [Field; PUBLIC_KEY_NOTE_LEN]) -> PublicKeyNote {\n PublicKeyNote {\n x: serialized_note[0],\n y: serialized_note[1],\n owner: AztecAddress::from_field(serialized_note[2]),\n header: NoteHeader::empty()\n }\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 compute_note_content_hash(note: PublicKeyNote) -> Field {\n // TODO(#1205) Should use a non-zero generator index.\n pedersen_hash(note.serialize_content(), 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 PublicKeyNote {\n pub fn new(x: Field, y: Field, owner: AztecAddress) -> Self {\n PublicKeyNote {\n x,\n y,\n owner,\n header: NoteHeader::empty(),\n }\n }\n}\n",
|
|
2945
3207
|
"path": "/usr/src/yarn-project/noir-contracts/contracts/schnorr_account_contract/src/public_key_note.nr"
|
|
2946
3208
|
}
|
|
2947
3209
|
}
|