@aztec/accounts 0.17.0 → 0.18.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/README.md +1 -1
- package/dest/artifacts/EcdsaAccount.json +85 -73
- package/dest/artifacts/SchnorrAccount.json +85 -73
- package/dest/artifacts/SchnorrSingleKeyAccount.json +74 -58
- package/dest/defaults/account_contract.d.ts +2 -1
- package/dest/defaults/account_contract.d.ts.map +1 -1
- package/dest/defaults/account_contract.js +1 -1
- package/dest/defaults/account_entrypoint.d.ts +1 -1
- package/dest/defaults/account_entrypoint.d.ts.map +1 -1
- package/dest/defaults/account_entrypoint.js +2 -2
- package/dest/defaults/account_interface.d.ts +2 -1
- package/dest/defaults/account_interface.d.ts.map +1 -1
- package/dest/defaults/account_interface.js +1 -1
- package/dest/defaults/entrypoint_payload.d.ts +1 -1
- package/dest/defaults/entrypoint_payload.d.ts.map +1 -1
- package/dest/defaults/entrypoint_payload.js +2 -2
- package/dest/ecdsa/account_contract.d.ts +1 -1
- package/dest/ecdsa/account_contract.d.ts.map +1 -1
- package/dest/ecdsa/account_contract.js +2 -2
- package/dest/ecdsa/index.d.ts +1 -1
- package/dest/ecdsa/index.d.ts.map +1 -1
- package/dest/schnorr/account_contract.d.ts +1 -1
- package/dest/schnorr/account_contract.d.ts.map +1 -1
- package/dest/schnorr/account_contract.js +2 -2
- package/dest/schnorr/index.d.ts +1 -1
- package/dest/schnorr/index.d.ts.map +1 -1
- package/dest/single_key/account_contract.d.ts +1 -1
- package/dest/single_key/account_contract.d.ts.map +1 -1
- package/dest/single_key/account_contract.js +2 -2
- package/dest/single_key/index.d.ts +1 -1
- package/dest/single_key/index.d.ts.map +1 -1
- package/dest/testing/configuration.d.ts +28 -0
- package/dest/testing/configuration.d.ts.map +1 -0
- package/dest/testing/configuration.js +61 -0
- package/dest/testing/create_account.d.ts +1 -1
- package/dest/testing/create_account.d.ts.map +1 -1
- package/dest/testing/create_account.js +4 -1
- package/dest/testing/index.d.ts +2 -2
- package/dest/testing/index.d.ts.map +1 -1
- package/dest/testing/index.js +3 -3
- package/package.json +7 -6
- package/dest/testing/sandbox.d.ts +0 -22
- package/dest/testing/sandbox.d.ts.map +0 -1
- package/dest/testing/sandbox.js +0 -48
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
],
|
|
60
|
-
"bytecode": "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",
|
|
60
|
+
"bytecode": "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",
|
|
61
61
|
"verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"
|
|
62
62
|
},
|
|
63
63
|
{
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
}
|
|
94
94
|
],
|
|
95
95
|
"returnTypes": [],
|
|
96
|
-
"bytecode": "H4sIAAAAAAAA/+
|
|
96
|
+
"bytecode": "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",
|
|
97
97
|
"verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"
|
|
98
98
|
},
|
|
99
99
|
{
|
|
@@ -176,7 +176,7 @@
|
|
|
176
176
|
}
|
|
177
177
|
],
|
|
178
178
|
"returnTypes": [],
|
|
179
|
-
"bytecode": "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",
|
|
179
|
+
"bytecode": "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",
|
|
180
180
|
"verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"
|
|
181
181
|
},
|
|
182
182
|
{
|
|
@@ -193,7 +193,7 @@
|
|
|
193
193
|
}
|
|
194
194
|
],
|
|
195
195
|
"returnTypes": [],
|
|
196
|
-
"bytecode": "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",
|
|
196
|
+
"bytecode": "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",
|
|
197
197
|
"verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"
|
|
198
198
|
},
|
|
199
199
|
{
|
|
@@ -303,7 +303,9 @@
|
|
|
303
303
|
{
|
|
304
304
|
"name": "start_side_effect_counter",
|
|
305
305
|
"type": {
|
|
306
|
-
"kind": "
|
|
306
|
+
"kind": "integer",
|
|
307
|
+
"sign": "unsigned",
|
|
308
|
+
"width": 32
|
|
307
309
|
}
|
|
308
310
|
}
|
|
309
311
|
]
|
|
@@ -409,7 +411,9 @@
|
|
|
409
411
|
{
|
|
410
412
|
"name": "counter",
|
|
411
413
|
"type": {
|
|
412
|
-
"kind": "
|
|
414
|
+
"kind": "integer",
|
|
415
|
+
"sign": "unsigned",
|
|
416
|
+
"width": 32
|
|
413
417
|
}
|
|
414
418
|
}
|
|
415
419
|
]
|
|
@@ -440,7 +444,9 @@
|
|
|
440
444
|
{
|
|
441
445
|
"name": "counter",
|
|
442
446
|
"type": {
|
|
443
|
-
"kind": "
|
|
447
|
+
"kind": "integer",
|
|
448
|
+
"sign": "unsigned",
|
|
449
|
+
"width": 32
|
|
444
450
|
}
|
|
445
451
|
}
|
|
446
452
|
]
|
|
@@ -542,7 +548,7 @@
|
|
|
542
548
|
]
|
|
543
549
|
}
|
|
544
550
|
],
|
|
545
|
-
"bytecode": "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",
|
|
551
|
+
"bytecode": "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",
|
|
546
552
|
"verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"
|
|
547
553
|
},
|
|
548
554
|
{
|
|
@@ -659,7 +665,9 @@
|
|
|
659
665
|
{
|
|
660
666
|
"name": "start_side_effect_counter",
|
|
661
667
|
"type": {
|
|
662
|
-
"kind": "
|
|
668
|
+
"kind": "integer",
|
|
669
|
+
"sign": "unsigned",
|
|
670
|
+
"width": 32
|
|
663
671
|
}
|
|
664
672
|
}
|
|
665
673
|
]
|
|
@@ -765,7 +773,9 @@
|
|
|
765
773
|
{
|
|
766
774
|
"name": "counter",
|
|
767
775
|
"type": {
|
|
768
|
-
"kind": "
|
|
776
|
+
"kind": "integer",
|
|
777
|
+
"sign": "unsigned",
|
|
778
|
+
"width": 32
|
|
769
779
|
}
|
|
770
780
|
}
|
|
771
781
|
]
|
|
@@ -796,7 +806,9 @@
|
|
|
796
806
|
{
|
|
797
807
|
"name": "counter",
|
|
798
808
|
"type": {
|
|
799
|
-
"kind": "
|
|
809
|
+
"kind": "integer",
|
|
810
|
+
"sign": "unsigned",
|
|
811
|
+
"width": 32
|
|
800
812
|
}
|
|
801
813
|
}
|
|
802
814
|
]
|
|
@@ -898,23 +910,23 @@
|
|
|
898
910
|
]
|
|
899
911
|
}
|
|
900
912
|
],
|
|
901
|
-
"bytecode": "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",
|
|
913
|
+
"bytecode": "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",
|
|
902
914
|
"verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"
|
|
903
915
|
}
|
|
904
916
|
],
|
|
905
917
|
"events": [],
|
|
906
918
|
"debug": {
|
|
907
919
|
"debugSymbols": [
|
|
908
|
-
"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DgxicEcYUgcGQbgjDKkDgyjcEYbUgUEY7ghD6sAgDneEIXVgEIg7wpA6MIjEHWFAHVhIJk5IJk5IJk5IJk42UAcWkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokLJBMXSCYukExcIJm4sIE6cCCZuEAycYFk4gLJxAWSiQskExdIJi6QTFwgmbhAMnGBZOICycQFkokLJBMXSCYukExcIJm4QDJxgWTiAsnEBZKJCyQTF0gmLpBMXCCZuEAycYFk4gLJxAWSiQskExdIJi6QTFwgmbhAMnGBZOICycQFkokLJBMXSCYukExcIJm4QDJxgWTiAsnEBZKJCyQTF0gmLpBMXCCZuEAycYFk4gLJxAWSiQskExdIJi6QTFwgmbhAMnGBZOICycQFkokLJBMXSCYukExcIJm4QDJxgWTiAsnEBZKJCyQTF0gmLpBMXCCZuEAycYFk4gLJxAWSiQskExdIJi6QTFwgmbhAMnGBZOICycQFkokLJBMXSCYukExcIJm4QDJxgWTiAsnEBZKJCyQTF0gmTkkmTkkmTkkmTkkmTjdQB1aSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOS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usAnard1gQ/Ibuuy5t32uqx5t70ua95tr8uad9vrsubd5rqENe+212XNu+11WfNue13WvNtelzXvttdlzbvtdVnzbntd1rzbXpc177bXZc27zXXRNe+212XNu+11WfNue13WvNtelzXvttdlzbvtdVnzbntd1rzbXpc177bXZc27zXWJa95tr8uad9vrsubd9rqsebe9Lmveba/Lmnfb67Lm3fa6rHm3vS5r3m2vy5p3m+uS1rzbXpc177bXZc277XVZ8257Xda8216XNe+212XNu+11WfNue13WvNtelzXvNteF/mp0t3VZ8257Xda8216XNe+212XNu+11WfNue13WvNtelzXvttdlzbvtdVnzbnNd6C/1dVuXNe+212XNu+11WfNue13WvNtelzXvttdlzbvtdVnzbntd1rzbXpc17zbXhf7STrd1WfNue13WvNtelzXvttdlzbvtdVnzbntd1rzbXpc177bXZc277XVZ825zXeivD3RblzXvttdlzbvtdVnzbntd1rzbXpc177bXZc277XVZ8257Xda8216XNe+21mWnv1TObV3WvNtelzXvttdlzbvtdVnzbntd1rzbXpc177bXZc277XVZ8257Xda821yX9X61H6zLmnfb6zLrvLuH80s3aa3LrPNub11mnXd76zLpvJu388/NElrrMum8212XSefd7rpMOu/mXM8vLaW1LpPOu711mfX9at11mXTeLbJ9+9KSvluXP35prVeELXyKIK0/V2TbzxByfEn6+LP3a80nnaVd13zSOd11zSe9B3Bd80nvL1zXfNJ7F9c1n/S+yHXNJ73ncl3zSe/nPNd81ncTuq75ug8dv+brPnT8mq/70PFrvu5Dx6/5ug8dv+brPnT8mq/70PFrvu5Dx6/5ug8dvuazvjPUdc1nvQ8t55rXbfu85ue6zHqv2FuXWe/neuvyqHuucqYu8t26nMU+6manV+yj7jJ6xT5qvO8V+6i5ulfsowbaTrHPehtnr9hHjXC9Yh81l/WKfdSw1St2pgnqWa+t7BU70wT1rBdM9oqdaYJ61qsgO8U+6/2OvWJnmqCe9SbGXrEzTVDPemdir9iZJqhnvd2wV+xME9Sz3kPYK3amCepZbwzsFTvTBPWsd/v1ip1pgnrWW/h6xc40QT3rfXm9YmeaoJ71ZrtesTNNUM96B12v2JkmqGe9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",
|
|
909
|
-
"
|
|
910
|
-
"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mPyuZfK7lsnvWia/a5n8rmXyu5bJ71omv2uZ/K5l8ruWye9aJr9rmfyuZfK7lsnvWia/a5n8rmXyu5bJ71omv2uZ/K5l8ruWye9aJr9rmfyuZfK7lsnvWia/a5n8rmXyu5bJ71omv2uZ/K5l8ruWye9aJr9rmfyuZfK7lsnvWia/a5n8rmXyu5bJ71omv2uZ/K5j8ruOye86Jr/rmPyuY/K7jsnvOia/65j8rmPyu47J7zomv+uY/K5j8ruOye86Jr/rmPyuY/K7jsnvOia/65j8rmPyu47J7zomv+uY/K5j8ruOye86Jr/rmPyuY/K7jttZgdtagdtbgd1cgTlfuO0VuP0VuA0WuB0WuC0WmPyuY/K7jsnvOia/65j8rmPyu47J7zomv+uY/K5j8ruOye86Jr/rmPyuY/K7jsnvOia/65j8rmPyu47J7zomv+uY/K5j8ruOye86Jr/rmPyuY/K7jsnvOia/65j8rmPyu47J7zomv+uY/K5j8ruOye86Jr/rmPyuY/K7jsnvOia/65j8rmPyu47J7zomv+uY/K5j8ruOye86Jr/rmPyuY/K7jsnvOia/65j8rmPyu47J7zomv+uY/K5j8ruOye86Jr/rmPyuZ/K7nsnveia/65n8rmfyu57J73omv+uZ/K5n8rueye96Jr/rmfyuZ/K7nsnveia/65n8rmfyu57J73omv+uZ/K5n8rueye96Jr/rmfyuZ/K7nsnveia/65n8rmfyu57J73omv+uZ/K5n8rueye96Jr/rmfyuZ/K7nsnveia/67k9dLlNdLlddLltdNl9dJnzhdtJl9tKl9tLl9tMl8nveia/65n8rmfyu57J73omv+uZ/K5n8rueye96Jr/rmfyuZ/K7nsnveia/65n8rmfyu57J73omv+uZ/K5n8rueye96Jr/rmfyuZ/K7nsnveia/65n8rmfyu57J73omv+uZ/K5n8rueye96Jr/rmfyuZ/K7nsnveia/65n8rmfyu57J73omv+uZ/K5n8rueye96Jr/rmfyuZ/K7nsnveia/65n8bmDyu4HJ7wYmvxuY/G5g8ruBye8GJr8bmPxuYPK7gcnvBia/G5j8bmDyu4HJ7wYmvxuY/G5g8ruBye8GJr8bmPxuYPK7gcnvBia/G5j8bmDyu4HJ7wYmvxuY/G5g8ruBye8GJr8bmPxuYPK7gcnvBia/G5j8bmDyu4HJ7wYmvxuY/G5g8ruBye8GJr8bmPxuYPK7gcnvBia/G5j8bmDyu4F7Wxr3ujTufWncC9O4N6axr0xjzhfupWncW9O416Yx+d3A5HcDk98NTH43MPndwOR3A5PfDUx+NzD53cDkdwOT3w1Mfjcw+d3A5HcDk98NTH439PC7qWbXMV+qdh3zpWrXMV+qdh3zpWbXw+9W7TrmS9WuY75U7TrmS9WuY75U7ZjzpYffrdox50sPv1u1Y86XHn63asecLz38btWOOV96+N2qHXO+9PC7VTvmfOnhd6t2vPkSe/jdqh1vvsQefrdqx5svsYffrdrx5kvs4Xerdrz5Env43aodc7708LtVO+Z86eF3q3bM+dLD71btmPOlh9+t2tHzZY17u78cfhyj/fpt/Pj/v35qU3FBT60fu6Bn4U9ddBDMP3XRwTF9d7HZ0e9E3Y5+J+p29DtRt6Pfibod/U7U7eh3om539p3Y7M5O9M3u7Oz9suvgmOp2zPnSwTHV7ZjzpYNjqtsx50sHx1S3Y86XOsdkbdqWCeuze9qVdaLOMdF2dY6pw646XzrsqvOlw646XzrsqvOlw646XzrsqvOlw646XzrsmPOlzjHRdnWOqcOOOV/qHFOHHXO+1DmmDjvmfKlzTB12zPlS55g67Jjzpc4xddgx50udY+qwY86XOsfUYcecL3WOqcOOOV/qHFOHHXO+1DmmDjvmfKlzTB12zPlS55g67Jjzpc4xddgx50udY+qw482XVOeYOux48yXVOaYOO958SXWOqcOON19SnWPqsOPNl1TnmDrsmPOlzjF12DHnS51j6rBjzpc6x9Rhx5wvdY6pw445X+rEUYcdc77UKZ4OO+Z8qZ8h7LBjzpf6GcIOO+Z8qZ8h7LBjzpf6GcIOO+Z8qZ8h7LBjzpf6GcIOO+Z8qZ8h7LBjzpf6GcIOO+Z8qZ8h7LBjzpc6v9thx5wvdX63w445X+r8bocdc77U+d0OO+Z8qfO7HXbM+VLndzvsmPOlzu922DHnS53f7bBjzpc6v9thx5wvTH43MfndxOR3E5PfTUx+NzH53cTkdxOT301Mfjcx+d3E5HcTk99NTH43MfndxOR3E5PfTUx+NzH53cTkdxOT301Mfjcx+d3E5HcTk99NTH43MfndxOR3E5PfTUx+NzH53cTkdxOT301Mfjcx+d3E5HcTk99NTH43MfndxOR3E5PfTUx+NzH53czkdzOT381Mfjcz+d3M5Hczk9/NTH43M/ndzOR3M5PfzUx+NzP53czkdzOT381Mfjcz+d3M5Hczk9/NTH43M/ndzOR3M5PfzUx+NzP53czkdzOT381Mfjcz+d3M5Hczk9/NTH43M/ndzOR3M5PfzUx+NzP53czkdzOT381Mfjcz+d3M5Hczk9/NTH43M/ndzOR3M5PfzUx+NzP53czkdzOT381Mfjcz+d3M5Hczk9/NTH43M/ndzOR3M5PfzUx+NzP53czkdzOT381Mfjcz+d3M5Hczk9/NTH43M/ndzOR3c4PfDUvY7ILxFbsGv0vb1ecLbVefL3s7a2p29flC29XnS0hPu1wdZ32+0Hb1+ULb1edLWsxml2yu2dXnC2nX4Ftpu/rzo+3qeguft3nt6vO6oaGm7ep6C9qurs+h7er6HNKuwfMlX973FJaaXX2e0XaNebazi/Zotza0u4tbNnxLrLx/a0O7S9vVdUTLkgi7uo6ItquuE27Jxc4ssWZXn9e0XX1eGx+LXX2c9XlN29XntXHr06763OvzmrRraHf3dqkyP9eGdpe2q88X95xnzoeaXX2+0Hb1+ULb1eeLXden3bf5cpSIkovK2hD6Cjupz0RhJ/VpK+ykPsdlnTS0wcJO6m+PsJP6qybspP5eCjupv8TCTka88Y1WnMJORrzxjSafwk5GvPGN9qHCTka88Y3GpMJORrzxjZanwk5GvPGNZqrCTka88Y02rcJORrzxjeYcwk5GvPGNth/CTka88Y2GIsJORrzxjVYlwk5GvPGNJiiyThodTM44McvWncOYp4vHfndz8fO3hHTx85llbN5c2LXm4ufzinTx81lFuvj5nCJd/DyHUC4aLX7bLja7s5N9szs7gze7s0v3ZtegTQo97vziXofQpsIF2eSfXJDJS/FSf2mkvdTfG2kv9VdH2kv97ZH2Un+BhL002h5Le6m/cdJeGrSmsJcGCSrsZci732juLO1lyLvfaBwt7WXIu99oSi3spdHCWtrLkHe/0R5b2suQd7/Relvay5B3v/FJWtrLkHe/8blb2suQd7/Rjlzay5B3v9HqXNrLkHe/0UZd2suQd7/Rol3ay5B3v9H+XdrLiHffLI3zKeJuRrz9DzcjXv+HmxHv/8PNiAXg4WbECvBwM2IJeLgZsQY83IxYBB5uxqwCjVNH4m7GrAKtM03SbsasAq0TU9JuxqwCjSNW4m7GrAKNY1bibsasAo2jVuJuxqwCjeNW4m7GrAKNI1fibsasAo1jV+JuxqwCjaNX4m7GrAKN41fibsasAo0jWOJuxqwCjWNY4m7GrAKNo1jibsasAo3jWOJuxqwCjSNZ4m7GrAKNY1nibsasAo2jWeJuxqwCjeNZ4m7GrAKNI1ribsasAo1bsMTdjFkFGsfOxN2MWQUaN3iJuxmzCjQO04m7GbMKNA7VibsZswo0DteJuxmzCjSO7om7GbMKDDkY+HAzZhUYcjTw4WbMKjDkcODDzZhVYMjxwIebMavAkAOCDzdjVoEhRwQfbsasAkMOCT7cjFkFhhwTfLgZswoMOSj4cDNmFRhyVPDhZswqMOSw4MPNmFVgyHHBh5sxq8CQA4MPN2NWgSFHBh9uxqwCQw4NPtyMWQWGHBt8uBmzCgw5OPhwM2YVGHJ08OFmyCpgxpwdNGPODpoxZwfNmLODZhmyCpgxZweNyNnB5IubFOpuJFaBDjcSq0CHG4lVgHYjcnaww43EKtDhRmIV6HAjsQp0uJFYBTrcSKwCHW7GrAIiZwc73IxZBUTODtJuRM4OdrgZswqInB3scDNmFRA5O9jhZswqIHJ2sMPNmFVA5Oxgh5sxq4DI2cEON2NWAZGzgx1uxqwCImcHO9yMWQVEzg52uBmzCoicHexwM2YVEDk72OFmzCogcnaww82YVUDk7GCHmzGrgMjZwQ43Y1YBkbODHW7GrAIiZwc73IxZBUTODna4GbMKiJwd7HAzZhUQOTvY4WbMKiBydrDDzZhVQOTsYIebMauAyNnBDjdjVgGRs4MdbsasAiJnBzvcjFkFRM4OdrgZswqInB3scDNmFRA5O9jhZswqIHJ2sMPNmFVA5Oxgh5sxq4DI2cEON2NWAZGzgx1uxqwCImcHO9yMWQVEzg52uBmzCoicHexwM2YVEDk72OFmzCogcnaww82YVUDk7GCHmzGrgMjZwQ43Y1YBkbODHW7GrAIiZwc73AxZBazI2cEON0NWAStydrDDzZBVwC5DVgErcnaww82QVcCOOTtox5wdtGPODtoxZwftmLODdszZQTvm7KAdc3bQjjk7aMecHbRjzg7aMWcH7Zizg3bM2UE75uygHXN20I45O2jHnB20Y84O2jFnB+2Ys4N2zNlBO+bsoB1zdtCOOTtox5wdtGPODtoxZwftmLODdszZQTvm7KAdc3bQjjk7aMecHbRjzg7aMWcH7Zizg3bM2UE75uygHXN20EqcHczLsrnJJtfdCKwCPW4EVoEONxJnB/dunP/m5vjrGN3Xj+O6e46h8tOPVitfv/2QpO1/XIYvsLpoDl9g1dIcvsBqqDl8gVVWc/gCq7fm8AWygubwhbPN6OELZ7HRwxfOjoOHL3FWV3P47511Jc4Waw7/vbOuxFlozeG/d9aVOLutOfz3zroSZ801h//eWVfibLzm8N8760qc5dcc/ntnXQntgebw3zvrSmglNIf/3llXQtuhOfz3zroSWhTN4b931pXQzmgO/72zroTWR3P47511JbRJmsN/76wroaXSHP57Z10J7Zfm8N8760po1TSH/95ZV0Jb92L4xc3vzY7FjcRCFGxxE6punIRMrMeNxNSKqbiJ1WMtbpGYAh1uJKZAhxuJQqbDjUTB0eFGoDBYl+3Hj7XW1d0IvDcdbiSEVT1uBBLi3o1bRy7JTkKwpTl8gVVLc/gCq6Hm8AVWWc3hC6zemsMXyAqawxfONqOHL5zFBg9fQnCoOfz3zroSAknN4b931pUQdGoO/72zroQAVXP47511JQSzmsN/76wrIfDVHP57Z10JQbLm8N8760oIqDWH/95ZV0LwrTn89866EgJ1zeG/d9aVENRrDv+9s65EAwDN4b931pVoWKA5/PfOuhINFjSH/95ZV6IhhObw3zvrSjSw0Bz+e2ddiQYWmsN/76wr0cBCc/jCWdfXj05INJrocSOcxVpuhLNNy41wVmi4kWiE0ONGeJVtuRFeDVtuhFetlhvh1aXlRuIM3boWN4upu5E4Q9fhRuIMXYcbicP1HW4kzp7SbkSE2R1uJA6Vd7iROPzd4UbiJG2HG4FVoMfNmFVARIjb4WbMKiAibO1wM2YVEBGKdrgZswqICC873IxZBUSEjB1uxqwCIsLADjdjVgERoV2HmzGrgIhwrcPNmFVARAjW4WbMKiAirOpwI8ELFKbCrrnhRoIX6HAjwQt0uJHgBXZu1vTNze/mgiRUbnrD9xLqOc3hS/AjisOX4F0Uhy/B5ygOX4InUhy+cLYZPXzhLDZ6+MLZcfTw3zrrehGNrN7wRbS3isN/76wroulVHP57Z10RTa/i8N8764poehWH/95ZV0TTqzj89866IppexeG/d9YV0fQqDv+9s66Ipldx+O+ddUU0vYrDf++sK6LpVRz+e2ddEU2v4vDfO+uKaHoVh//eWVdE06s4/PfOuiKaXsXhv3fWFdH0Kg7/vbOuiKa3Pfzi5vdmx+Lm5wuRW0z58WIabn6+YHS5+fnUcotbihtXPVjhBQRmXW5+PgW63Py8kOly8/OCo8vNzwsDt8Rc3ORYdyPx3nS4kXhvOtz8PCHu3ZjFDl2SBQRQqsOXWLX0hi8g2FIdvsQqqzh8idVbcfgSWUFx+LLZZvjwZbPY8OHLZsfhw3/vrCsgOFQd/ntnXQGBpOrw3zvrCgg6VYf/3llXQICqOvz3zroCglnV4b931hUQ+KoO/72zroAgWXX47511BQTUqsN/76wrIPhWHf57Z10Bgbrq8N876woI6lWH/95ZV6ABgOrw3zvrCjQsUB3+e2ddgQYLqsN/76wr0BBCdfjvnXUFGlioDv+ts24QaGChOnzprFs9OhEEGk10uZHOYg030tmm4UY6KzTcSK/eDTfSq2zDjfRq2HAjvWrV3QgI9bvciKwC2x32j39W77APAsL3LjciqwDtRmQVoN2IrAK0G5FVgHYjsgrQbkRWAdqNyCpAuhEQDne5GbMKCAhxu9yMWQUEhK1dbsasAgJC0S43Y1YBAeFll5sxq4CAkLHLzZhVQEAY2OVmzCogILTrcjNmFRAQrnW5GbMKCAjButyMWQUEhFVdbsasAgKXD3a5GbMKCFzm1+VmzCogokbrcDNmFRC4bK7LzZhVQEJbZ1JxY9al7kZgFehxI7AK9Lg5uwoUw7PvdTE8+6YWw7PvXjE8+zYVw7PvRzE8O+M3w9OKqGJ4dlYWw7PzrBhyZ85p5Usx5M6c02qPYsidOacVDsWQO3NOn+ovhtyZc/okezHkzpzTp7eLIXfmnD6xXAy5M+f0Kd1iyJ05p0+mFkPuzGmcxvQmFUMf//U6t8X49Vu/+4i32qeP+iST9VGfj7I+6lNX1kd9lp/ykez2CdYl//2Lyrlfl0HV3yDlQdXfTuVB1d983UE1Tt4pD6q+YikPSmA1lB+UwPIpPyiB9VZ+UAILtPygEFf0xpky5UEhruiN81+qg4qNU13Kgzq7ohfDs6tuMTy7MhbDs6tXMTy7whTDs6tAMTz7phbDs29TMTw74zfDxmkgn4thWAIxK30uPJnPtR1LbBwGkvbSmJPCXhoTWNhLY7bTho3ZThs2Zjtt2JjttGFjttOGjdlOGjZOvXQYtiYwadiak6Rha5qRhtyZ0zgP0mHInTmNMxsdhtyZ0zhXQRs2Tkp0GHJnTuM0Q4chd+Y0Thx0GHJnTuNUQIchd+Y0vtx3GHJnTuPreochd+Y0voB3GHJnTuMrdYchd+Y0viR3GHJnTuNrb4chd+Y0vsh2GHJnTuOraYchd+Y0voN2GHJnTuM7aIchd+Y0voN2GHJnTuM7aIchd+Y0voN2GHJnTuM7aIchd+Y0voN2GHJnTuM7aIchd+Y0voN2GHJnTuM7aIchd+Y0voN2GHJnTuM7aIchd+Y0voN2GHJnTuM7aIchd+a0voPShtyZ0/piSRtyZ07r2yJtyJ05rW90tCF35rS+ddGG3JnT+mZEG3JnTuvbC23InTmtbxi0IXfmtL4F0IbMmZNanDptyJw5qcV704bMmZNavDdtyJw5qcV704bMmZNavDdtyJ05Td6bNOTOnCY7TRpyZw6XQ05cDjlxOeTE5ZATl0NOXA45cTnkxOWQE5dDTlwOOXE55MTlkBOXQ05cDjlxOeTE5ZATl0NOXA45cTnkxOWQE5dDTlwOOXE55MTlkBOXQ05cDjlxOeTE5ZATl0NOXA45cTnkxOWQE5dDTlwOOXE55MTlkBOXQ05cDjlxOeTE5ZATl0NOXA45cTnkxOWQE5dDTlwOOXE55MTlkBOXQ05cDjlxOeTE5ZATl0NOXA45cTnkxOWQE5dDTlwOOXE55MTlkBOXQ05cDjlxOeTE5ZATl0NOXA45cTnkxOWQE5dDTlwOOXE55MTlkBOXQ05cDjlxOeTE5ZATl0NOXA45cTnkxOWQE5dDTlwOOXE55MTlkBOXQ05cDjlzOeTM5ZAzl0POXA45cznkzOWQM5dDzlwOOXM55MzlkDOXQ85cDjlzOeTM5ZAzl0POXA45cznkzOWQM5dDzlwOOXM55MzlkDOXQ85cDjlzOeTM5ZAzl0POXA45cznkzOWQM5dDzlwOOXM55MzlkDOXQ85cDjlzOeTM5ZAzl0POXA45cznkzOWQM5dDzlwOOXM55MylgjOXCs4S7ZYWU368mFR+vBP4ZYl2Sz1uJJqudbiRaLrW4aY+jcTdSDRd82WiLb7hRqLpWocbiaZrHW4kmq51uJFouka7Od2wiulGYhVwzwntc92NxCrQ4UZiFehwI7EKdLiRWAU63EisAh1uJFaBDjcSq4Bbihtn6m4kVgHajciV4h1uRFYB2o3IKkC7EVkFaDciqwDtRmQVoN2IrAK0G5FVgHYzZhUQuTqZdiNyxXGHmzGrgMiVwR1uxqwCIlfwdrgZswqIXGnb4WbMKiByRWyHmzGrgMiVqx1uxqwCIleYdrgZswqIXAna4WbMKiByxWaHmzGrgMiVlR1uhqwCq8DlhjaHjRd4/LPa830VuNywy83P35suNz9/b7rc/Py96XLz8/fG5nJZp32UMHU3P39vutz8/L3pcSNwuWGXm59nzy43EqtAhxuJVSA9J3QOdTcSq0CHG4lVoMONxCrQ4UZkFaDdiKwCtBuRVYB0I3C5oc0xFTexSkKuApcbdrmRWAU63EisAh1uJFaBDjcSq0CHG4lVoMONxCrQ4UZiFehwI7EK0G4ELjfscjNmFRC43LDLzZhVQOBywy43Y1YBgcsNu9yMWQUELjfscjNmFRC43LDLzZhVQOBywy43Y1YBgcsNu9yMWQUELjfscjNmFRC43LDLzZhVQOC0XZebMatA43yaXbetvnPUVQJm8V+/NeY5omifPuovjayP+hsj66P+usj6qL8rsj7qL8opH26bWWZ3Tmzno3Ea7ZwPV3zkqo/6KyLro54lT/mwefNh16qPeoqU9SHwnpM+BN5z0ofAe076EHjPSR8C7znpQ+A9p3w0zpvJ+hB4z0kfA97zxjEzWR8D3vPGATNZHwPe88bRMlkfA97zxqEyUR+NE2WyPga8542zZLI+BrznjVNksj4GvOeN82OyPga8542TY7I+BrznjTNjsj4GvOeN02KyPga85/WTVbRZdcrTZtVZ/NjilV1SWPweUTGsTk3S0C71lhk9htVJ1GNYnRk9htXH3WNYXat7DKsLcI9hfdZ0GNbnTYdhfeYEs51P++jnWTWszxzasH4+p8ewPnM6DOszp8OwPnNeGq7p3+rPIm3vsDX7Iwvhy6j+HAij+jMgjBoPgLKqR/+VVV7WhllK5stsf/Qt5WJVfWKkVfVxkVbVt5y0qr7ir6we5X4jGiFtpFwMT+Ivu2JVjQZpVY0GaVWNBmlVjcYrK2MWy5gcn2anZ8en2enp8Wl2en58mp2eIMYtC2OGfJqdniKfZqfnyKfZ6UnyaXZ+lvhsOLPkl9n5WfLL7Pws+WV2fpb8Mjs/S2KOnFnyy+z8LPlldn6W/DI7P0t+mZ2fJbkZkpeRzM2Q0GbnZ0luhoQ2Oz1L7NJM2a8i+Wl2epZ8mp2eJZ9mp2fJp9nJWfKvf/1/Z0J9/A==",
|
|
911
|
-
"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VDofpNL5IJXOB6l0Pkil80EqnQ9S6XyQSueDVDofpNL5IJXOB6l0Pkil80EqnQ9S6XyQSueDVDofpNL5IJXOB6l0Pkil80EqnQ9S6XyQSueDVDofpNL5IJXOB6l0Pkil80EqnQ9S6XyQSueDVDofpNL5IJXOB6l0Pkil80EqnQ9S6XyQSueDVDofpNL5IJXOB6l0Pkil80EqnQ9S6XyQSueDVDofpNL5IJXOB6l0Pkil80EqnQ9S6XyQSueDVDofpNL5IJXOB6l0PshM54PMdD7ITOeDzHQ+yLyx9exM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzngyx0PshC54MsdD7IQueDLBtbzy50PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueD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",
|
|
912
|
-
"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DxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dw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7R8CPrbT2z8tfGynt3+s+NhOpX+1M7T1NENbTzO09TRDW08ztPU0Q1tPM7T1NENbTzO09TRDW08ztPU0Q1tPM7T1NENbTzO09TRDW08ztPU0Q1tPM7T1NENbTzO09TRDW08ztPU0Q1tPM7T1NENbTzO09TRDW08ztPU0Q1tPM7T1NENbTzO09TRDW08ztPU0Q1tPM7T1NENbTzO09TRDW08ztPU0Q1tPM7T1NENbTzO09TRDW08ztPU0Q1tPM7T1NENbTzO09TRDW08ztPU0Q1tPM7T1NENbTzO09TRDW08ztPU0Q1tPM7T1NENbTzO09TSDXE9zGF/71iUXyRzG1751yZUvh/G1b93WvnWX9q27tG/dpX3rLu1bd2nfukv71j3d33VzfO1b93R3183xpW/debq36+b40rfuPN3ZdXN86Vt3PqRv3Xm6revm+NK37jzd1HVzfOlbd55u6bo3/umOrpvja9+6p/u5bo6vfeuerty6Ob72rXu6HOvm+Nq37ukaq5vja9+62m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mMnI3lT8ez5/1sX4bf+d16yvE6Prxqv29U+4L+sydct/lZ+6U+9r/YztdsbdT7k8IJ+50X73y9fKPgz3GqudP5vjxs/E97/bNKKe9+u4HodNeffdzymmvvvsx4rRX373lT3v13Uv4rFffd1qc9uq799Jpr757F5z26pe+V/d9Cqe9+qXv1X0bwWmvful7dZ/lP+3VL32v7pPwp736pe/VfY78tFe/9L26T2Gf9uqXvlf3GebTXv3S9+o+AXzaq1/6Xt3nZ0979Qvfqz7e+5uZj0d8fRJ/zB//ZWN7Pzza1/d/BcWPl17rK8x7f5Fnh3nr7/3sMG+N1LPDvDWBzw7z1sAGw/SP/+Qbvhfmrfl+dpi3roOzw7x1e5wd5q3L5uwwd07gozD7UOo1YZaN7zC199beR0w/Fea+OTMfY3z/8Jh7Ye6bMz8R5r458xNh7pszPxHmvjnzE2HumzPHYfYxvE+FuW/O/ESY+z7p/USY+z7p/UQYpgm8D6N9KgzTBN4HxT4VhmkC70NcHwqzj2R9KgzTBN7HpT4VhmkC76NMnwrDNIH3MaNPhWGawPsI0KfCME3gfTznU2GYJvA+OvOpMEwTeB9r+VQYpgm8j5x8KgzTBN7HQT4VhmkC76ManwrDNIH3MYpPhWGawPuIw6fCME3gffzgU2GYJvA+GvCpMEQT+MVXSn8qDNEEfvF1z58KQzSBX3wV86fCEE3gF1+T/KkwRBP4xVcYfyoM0wTe/3rhT4VhmsD7X/37qTBME/g9+OTsMEwT+D205ewwTBP4PXDm7DBME/g9LOfsMEwT+D3o5+wwTBP4PaTo7DBME/g9YOnsMEwT+D0c6uwwTBP4Pdjq7DBME/g9lOvsMEwT+D1Q7OwwTBP4PQzt7DBME/g9yO3sMEwT+Eby6yfCME3gG8mvnwjDNIFvJL9+IgzTBL6R/PqJMEwT+Eby6yfCME3gG8mvnwjDNIH3vyrwU2GYJjATE/fiS/k+FYZpAjMxcS++/u5TYZgmMBMT9+KL5j4VhmkCMzFxL77S7VNhmCYwExP34svTPhWGaQIzMXEvvqbsU2GYJjATE/fiC8E+FYZpAjMxcS++eutTYZgmMBMT9+JLrj4UhomJe/EFVJ8KwzSBmZi4F1/19KkwTBOYiYl78aVKnwrDNIGZmLgXX1/0qTBME5iJiXvxRUGfCsM0gZmYuBffqnJRmKzvH+71+zAvviPlU2Fu/Ac84/vbJWbEXpgb/wEfh7nxH/BxmBs/QhyHufEjxHGY+z5C9KO/Xnf7v7+ZM/kd5r45cxzmTqTIPL9+2B/222P6/Q+P8Vhf83qMsXuqdxJIp2e/8QPK6dlvvA5Oz37j7XF69hsvm9fZv8LcON+Pw9z4n4jHYW78HHkY5k5g6TgMxcD+CkMxgb/C3DhS3b9/2D33wtw4I4/D3Dj0jsPc+An7OMyNE/g4zI0T+DjMjRP4MMydwNJxmBsn8HGYGyfwcRimCXwnsHQchmkC3wksHYdhmsB3AkvHYZgm8J3A0nEYpgl8J7B0HIZpAt8JLB2HYZrAdwJLx2GYJvCdwNJxGKYJfCewdByGaQLfCSwdh2GawHcCS8dhbpwzY359jeLc74HvxHKOw9w4Zw7D3InlHIe5cc4ch7lxzhyHuXHO/H9h9h5uuBPLOQ5z4ye94zA3ftI7DvOpCbwb5s4J3D8ebhh7d9OdWM5hmDvhk+Mwd86ZwzB3zpnDMHfOmcMwd86ZwzC3Prf0PWdm7V2Ud8Inx2FunDOHYe6ET47D3PhJ7zjMjRP4OMytT44ehblxAh+HufXJ0aMwtz45ehSGaQLfCZ8ch2GawHfCJ8dhmCbwnfDJ4aPPd8Inx2FuncBHYZie3b/zC5mOwzA9u3/nFzIdh7l1Av/rMH4nI3Qc5tYJfBSGaAI7Ez3lD6IJ7Ez0lDPRU85ET/mdX8h0HIZpAt9JTx2HYZrAd/JNx2GYJvCdBNJxGKYJfOcXMh2HYZrAd/JNx2GYJvCdfNNxGKYJfCdSdByGaejtgzPz8W1BcP+x6vG9avc9eLhq981ytGqfGTlctfvP73DV7k39etU//vFfnrYIgg==",
|
|
913
|
-
"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"
|
|
920
|
+
"eJzt3d+OLLmR3/F3OdeCkUEG/+lVDF8I9hpYYKE1LN0J8+5OwSer++ywh3VUUYzvSfLKgrd6KoI5/WNkTn+Y//j2H//5P//y93//z7/+7duf//Ht+G+Svv35v//j29/+z1/++s//j7/9/S//9+/f/nz86du//fV/nf/vb3/69r///T/+7dufpabf/vS7z4VcS/r+2fN/1/b4fM6dj0sp14ePj390KL/9jz/9s5TMKaVwSqmcUhqmlHBwShFOKYFTSuSUopxSOGkbOGkbOGkbOGkbOGkbOWkbOWkbOWkbOWkbOWkbOWkbOWkbOWkbOWkbOWmrnLRVTtoqJ22Vk7bKSVvlpK1y0lY5aauctFVO2iZO2iZO2iZO2iZO2iZO2iZO2iZO2iZO2iZO2iZO2mZO2mZO2mZO2mZO2mZO2mZO2mZO2mZO2mZO2mZO2hZO2hZO2hZO2hZO2hZO2hZO2hZO2hZO2hZO2hZO2lZO2lZO2lZO2lZO2lZO2lZO2lZO2lZO2lZO2lZO2jZO2jZO2jZO2jZO2jZO2jZO2jZO2jZO2jZO2jZO2srBiVs5OHkrBydw5eAkrhycyJWDk7lycEJXDk7qysGJXTlAuSug3BVQ7goodwWUuwLKXZItI+Eyki4j8TKQLxMQMBOQMBMQMROQMRMQMhOQMhMQMxOQMxMQNBOQNBMQNROQNRMQNhOQNhMQNxOQNxMQOBOQOBMQOROQORMQOhOQOhMQOxOQOxMQPBOQPBMQPROQPRMQPhOQPhMQPxOQPxMQQBOQQBMQQROQQRMQQhOQQhMQQxOQQxMQRBOQRBMQRROQRRMQRhOQRhMQRxOQRxMQSBOQSBMQSROQSRMQShOQShMQSxOQSxMQTBOQTBMQTROQTRMQThOQThMQTxOQTxMQUBOQUBMQUROQURMQUhOQUhMQUxOQUxMQVBOQVBMQVROQVRMQVhOQVhMQVxOQVwsgrxZAXi2AvFoAebVwcHI3gLxaAHm1APJqAeTVAsirBZBXCyCvFkBeLYC8WgB5tQDyagHk1QLIqwWQVwsgrxZAXi2AvFoAebUA8moB5NUCyKsFkFcLIK8WQF4tgLxaAHm1APJqAeTVAsirBZBXCyCvFkBeLYC8WgB5tQDyagHk1QLIqwWQVwsgrxZAXi2AvFoAebUA8moB5NUCyKsFkFcLIK8WQF4tgLxaAHm1APJqAeTVAsirBZBXCyCvFkBeLYC8WgB5tQDyagHk1QLIqwWQVwsgrxZAXi2AvFoAebUA8moB5NUCyKsFkFcLIK8WQF4tgLxaAHm1APJqAeTVAsirBZBXCyCvFkBeLYC8WgB5tQDyagHk1QLIqwWQVwsgrxZAXi2AvFoAebUA8moB5NUCyKsFkFcLIK8WQV4tgrxaBHm1CPJq8eDkbgR5tQjyahHk1SLIq0WQV4sgrxZBXi2CvFoEebUI8moR5NUiyKtFkFeLIK8WQV4tgrxaBHm1CPJqEeTVIsirRZBXiyCvFkFeLYK8WgR5tQjyahHk1SLIq0WQV4sgrxZBXi2CvFoEebUI8moR5NUiyKtFkFeLIK8WQV4tgrxaBHm1CPJqEeTVIsirRZBXiyCvFkFeLYK8WgR5tQjyahHk1SLIq0WQV4sgrxZBXi2CvFoEebUI8moR5NUiyKtFkFeLIK8WQV4tgrxaBHm1CPJqEeTVIsirRZBXiyCvFkFeLYK8WgR5tQjyahHk1SLIq0WQV4sgrxZBXi2CvFoEebUI8moR5NUiyKtFkFeLIK8WQV4tgrxaBHm1CPJqEeTVIsirRZBXiyCvFkFeTUFeTUFeTUFeTUFeTQ9O7irIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqynIqyWQV0sgr5ZAXi2BvFo6OLmbQF4tgbxaAnm1BPJqCeTVEsirJZBXSyCvlkBeLYG8WgJ5tQTyagnk1RLIqyWQV0sgr5ZAXi2BvFoCebUE8moJ5NUSyKslkFdLIK+WQF4tgbxaAnm1BPJqCeTVEsirJZBXSyCvlkBeLYG8WgJ5tQTyagnk1RLIqyWQV0sgr5ZAXi2BvFoC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Lnve7a/Lnnf767Ln3f667Hm3vy573u2uS9jzbn9d9rzbX5c97/bXZc+7/XXZ825/Xfa821+XPe/212XPu/112fNuf132vNtdl7jn3f667Hm3vy573u2vy553++uy593+uux5t78ue97tr8ued/vrsufd/rrsebe7Lrrn3f667Hm3vy573u2vy553++uy593+uux5t78ue97tr8ued/vrsufd/rrsebe7LmnPu/112fNuf132vNtflz3v9tdlz7v9ddnzbn9d9rzbX5c97/bXZc+7/XXZ8253XejvDXdblz3v9tdlz7v9ddnzbn9d9rzbX5c97/bXZc+7/XXZ825/Xfa821+XPe9214X+nlu3ddnzbn9d9rzbX5c97/bXZc+7/XXZ825/Xfa821+XPe/212XPu/112fNud13ob8R0W5c97/bXZc+7/XXZ825/Xfa821+XPe/212XPu/112fNuf132vNtflz3vdteF/qY/t3XZ825/Xfa821+XPe/212XPu/112fNuf132vNtflz3v9tdlz7v9ddnzbm9dGv2tb27rsufd/rrsebe/Lnve7a/Lnnf767Ln3f667Hm3vy573u2vy553++uy593uuiz7frUWro8e0luXVefd0bqsOu+O1mXReTcfV8lZQm9dFp13h+uy6Lw7XJdF592crwZzKb11WXTeHa7LovPucF0WnXeLXP/ckn5Yl99/tNVylSDxYzaWcPQKPlpJj48fsX18/ngs+qovb/Nd9EUndd9FX/Q2wHfRF73H8F30RW9gfBd90bsj30Vf9NbLd9EXva/zXfRFbxp9F33fkc5f9FVfr+i76PuO1GHR9x2pw6LvO1KHRd93pA6Lvu9IHRZ935E6LPq+I3VY9H1H6rDoq96RluufW4/j86J/X5dV31E6XJdV7+tG63KrW69yrUuRH9blavZWtzyjZm91qzFq9lYj/qjZW43Wo2ZvNdKOmr3VKDlq9lYj3KDZe71Lc9TsrYatUbMrTVD3epXlqNmVJqh7vXRy1OxKE9S9Xg85analCepeL3IcNHuvtzOOml1pgrrXexRHza40Qd3rjYejZleaoO71bsJRsytNUPd6i+Co2ZUmqHu972/U7EoT1L3ezDdqdqUJ6l7v0Bs1u9IEda+33Y2aXWmCutd76UbNrjRB3esNcqNmV5qg7vWut1GzK01Q93or26jZ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",
|
|
921
|
+
"eJztnMuKGzEQRf+l18aopNLLvxKyMJkJDAyeEHtn/O+xY0vdE18s8HQaP+5qMFRpLkfV6rNotO3eP34sN28fq3W32HYhd4tv2279a7k6/Fxvlr833cLMutfVy/7vbtb9fHt/7RaS/G52VmeN8adSa2ys1WpQsVMtxWqkX9ooqBaTY1lbxLj8qf77rIvmbpPLdMk1plLsXfpycnu3yR1KLlGkdMUkjfySY6z5ne/zCyhO2Z1qcxiUXhde7zm8/3p4a7SfnNQIH8WViYzi+8kJ4W+ccFtx4hhxcihx7GGTLsaxpTZGW0sjKvW5hAjSr3roOit16suyTvPwIAhXzUwiFUAFvqufnUqCHvD0VKBjPD0V6C9PT2UEN3pAKiNI1wNSGcXmHo7KKFL5cFTotogK3RZRodsCKplui6jQbREVui2iQrdFVOi2iArdFlGh2yIqdFtEhW6LqNBtARUxlFuIhXYLsVBvIRb6LcRCwYVYaLgQCxUXYqHjQiyUXIiFlouwCC0XYqHlQiy0XIiFlgux0HIhFlouxELLhVhouRALLRdioeUiLJaWC7HQciEWWi7EQsuFWGi5EAstF2Kh5UIstFyIhZYLsdByERZHy4VYaLkQCy0XYqHlQiy0XIiFlgux0HIhFlouxHLDlhtsxRKlgcXmQmW46lW3koibWnFTLLVZ3ZDJIY1ObZbDNOkszdRCl+u855wb8xKdqwMT+hTH61REp5auEaNPLUZiYq7PiKTL4V2qK7tsfeNMslpTW3WxUe1NKfa+fzTy8UHVqcXoZrBEqRcH+TjEAqYwxRrZ9QjFoqu12oejTm1dt8M8FubJmLNRnNq6/isWrfeBBQmNahfKwKjvM+8n5/gqneMPdHwu/yJID9Pb2gUf7WYXHE5Nvp4hg3M4n47WOTRDFwoxHSAou+3m0JtaTVAsWk34M8FmF3xRX+4Kc/zFg4Yy+ZrTv1t86IIwml2Qhq+bFQYml/fvwd3uD/BH/M0=",
|
|
922
|
+
"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2nEoknYciqQdhyJpx6FI2nEgkqMdhyJpx6FI2nEoknYciqQdhyJpx6FI2nEoknYciqQdhyJpx4FITnYciqQdhyJpx6FI2nEoknYciqQdhyJpx6FI2nEoknYciqQdByI523EoknYciqQdhyJpx6FI2nEoknYciqQdhyJpx6FI2nEoknYciORix6FI2nEoknYciqQdhyJpx6FI2nEoknYciqQdhyJpx6FI2nEYkqWz41Ak7TgUSTsORdKOQ5G041Ak7TgUSTsORdKOQ5G041Ak7TgQyd6OQ5G041Ak7TgUSTsORdKOQ5G041Ak7TgUSTsORdKOQ5G040Akkx2HImnHoUjacSiSdhyKpB2HImnHoUjacSiSdhyKpB2HImnHgUhmOw5F0o5DkbTjUCTtOBRJOw5F0o5DkbTjUCTtOBRJOw5F0o4DkSx2HIqkHYciacehSNpxKJJ2HIqkHYciacehSNpxKJJ2HIqkHQciOdhxKJJ2HIqkHYciacehSNpxKJJ2HIqkHYciacehSNpxKJJ2HIjkaMehSNpxKJJ2HIqkHYciacehSNpxKJJ2HIqkHYciacehSNpxIJKTHYciacehSNpxKJJ2HIqkHYciacehSNpxKJJ2HIqkHYciaceBSM52HIqkHYciacehSNpxKJJ2HIqkHYciacehSNpxKJJ2HIqkHQciudhxKJJ2HIqkHYciacehSNpxKJJ2HIqkHYciacehSNpxKJJ2HIbk0NlxKJJ2HIqkHYciacehSNpxKJJ2HIqkHYciacehSNpxKJJ2HIhkb8ehSNpxKJJ2HIqkHYciacehSNpxKJJ2HIqkHYciacehSNpxIJLJjkORtONQJO04FEk7DkXSjkORtONQJO04FEk7DkXSjkORtONAJLO846RxWEnmcdIlKe84pyEp7zinISnvOKchKe84pyEp7zinISnvOKchKe84pyEp7zinISnvOGchWew4FEk7DkXSjkORtONQJO04FEk7DkXSjkORtONQJO04FEk7DkRysONQJO04FEk7DkXSjkORtONQJO04FEk7DkXSjkORtONQJO04EMnRjkORtONQJO04FEk7DkXSjkORtONQJO04FEk7DkXSjkORtONAJCc7DkXSjkORtONQJO04FEk7DkXSjkORtONQJO04FEk7DkXSjgORnO04FEk7DkXSjkORtONQJO04FEk7DkXSjkORtONQJO04FEk7DkRyseNQJO04FEk7DkXSjkORtONQJO04FEk7DkXSjkORtONQJO04DMmxs+NQJO04FEk7DkXSjkORtONQJO04FEk7DkXSjkORtONQJO04EMnejkORtONQJO04FEk7DkXSjkORtONQJO04FEk7DkXSjkORtONAJJMdhyJpx6FI2nEoknYciqQdhyJpx6FI2nEoknYciqQdhyJpx4FIZjsORdKOQ5G041Ak7TgUSTsORdKOQ5G041Ak7TgUSTsORdKOA5EsdhyKpB2HImnHoUjacSiSdhyKpB2HImnHoUjacSiSdhyKpB0HIjnYcSiSdhyKpB2HImnHoUjacSiSdhyKpB2HImnHoUjacSiSdhyI5GjHoUjacSiSdhyKpB2HImnHoUjacSiSdhyKpB2HImnHoUjacSCSkx2HImnHoUjacSiSdhyKpB2HImnHoUjacSiSdhyKpB2HImnHgUjOdhyKpB2HImnHoUjacSiSdhyKpB2HImnHoUjacSiSdhyKpB0HIrnYcSiSdhyKpB2HImnHoUjacSiSdhyKpB2HImnHoUjacSiSdhyG5NTZcSiSdhyKpB2HImnHoUjacSiSdhyKpLzjlG5l0w+5tCKZcr5/oykP/QZJecc5DUl5xzkNSXnHOQvJXt5xTkNS3nFOQ1LecU5DUt5xTkNS3nFOQ1LecU5D0o5DkbTjUCTtOBRJOw5EMtlxKJJ2HIqkHYciacehSNpxKJJ2HIqkHYciacehSNpxKJJ2HIhktuNQJO04FEk7DkXSjkORtONQJO04FEk7DkXSjkORtONQJO04EMlix6FI2nEoknYciqQdhyJpx6FI2nEoknYciqQdhyJpx6FI2nEgkoMdhyJpx6FI2nEoknYciqQdhyJpx6FI2nEoknYciqQdhyJpx4FIjnYciqQdhyJpx6FI2nEoknYciqQdhyJpx6FI2nEoknYciqQdByI52XEoknYciqQdhyJpx6FI2nEoknYciqQdhyJpx6FI2nEoknYciORsx6FI2nEoknYciqQdhyJpx6FI2nEoknYciqQdhyJpx6FI2nEgkosdhyJpx6FI2nEoknYciqQdhyJpx6FI2nEoknYciqQdhyJpx2FIzp0dhyJpx6FI2nEoknYciqQdhyJpx6FI2nEoknYciqQdhyJpx4FI9nYciqQdhyJpx6FI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oUjacSiSdhyKpB0HIjnZcSiSdhyKpB2HImnHoUjacSiSdhyKpB2HImnHoUjacSiSdhyI5GzHoUjacSiSdhyKpB2HImnHoUjacSiSdhyKpB2HImnHoUjacSCSix2HImnHoUjacSiSdhyKpB2HImnHoUjacSiSdhyKpB2HImnHYUgOnR2HImnHoUjacSiSdhyKpB2HImnHoUjacSiSdhyKpB2HImnHgUj2dhyKpB2HImnHoUjacSiSdhyKpB2HImnHoUjacSiSdhyKpB0HIpnsOBRJOw5F0o5DkbTjUCTtOBRJOw5F0o5DkbTjUCTtOBRJOw5EMttxKJJ2HIqkHYciacehSNpxKJJ2HIqkHYciacehSNpxKJJ2HIhkseNQJO04FEk7DkXSjkORtONQJO04FEk7DkXSjkORtONQJO04EMnBjkORtONQJO04FEk7DkXSjkORtONQJO04FEk7DkXSjkORtONAJEc7DkXSjkORtONQJO04FEk7DkXSjkORtONQJO04FEk7DkXSjgORnOw4FEk7DkXSjkORtONQJO04FEk7DkXSjkORtONQJO04FEk7DkRytuNQJO04FEk7DkXSjkORtONQJO04FEk7DkXSjkORtONQJO04EMnFjkORtONQJO04FEk7DkXSjkORtONQJO04FEk7DkXSjkORtOMwJMfOjkORtONQJO04FEk7DkXSjkORtONQJO04FEk7DkXSjkORtONAJHs7DkXSjkORtONQJO04FEk7DkXSjkORtONQJO04FEk7DkXSjgORTHYciqQdhyJpx6FI2nEoknYciqQdhyJpx6FI2nEoknYciqQdByKZ7TgUSTsORdKOQ5G041Ak7TgUSTsORdKOQ5G041Ak7TgUSTsORLLYcSiSdhyKpB2HImnHoUjacSiSdhyKpB2HImnHoUjacSiSdhyI5GDHoUjacSiSdhyKpB2HImnHoUjacSiSdhyKpB2HImnHoUjacSCSox2HImnHoUjacSiSdhyKpB2HImnHoUjacSiSdhyKpB2HImnHgUhOdhyKpB2HImnHoUjacSiSdhyKpB2HImnHoUjacSiSdhyKpB0HIjnbcSiSdhyKpB2HIinvOGkcVpK367ouSXnHOQ1Jecc5DUl5xzkNSXnHOQ1Jecc5DUl5xzkLyUXecU5DUt5xTkNS3nFOQ9KOQ5G041Ak7TgUSTsO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9ndzZX83V/Z3c2V/N1f2d3NlfzdX9ndzZX83V/Z3c2V/N1f2d3NlfzdX9ndzZX83V/Z3c2V/N1f2d3NlfzdX9ndzZX83V/Z3c2V/N1f2d3NlfzdX9ndLZX+3VPZ3S2V/t1T2d0tlf7dU9ndLZX+3VPZ3S2V/t1T2d0tlf7dU9ndLZX+3VPZ3S2V/t1T2d0tlf7dU9ndLZX+3VPZ3S2V/t1T2d0tlf7dU9ndLZX+3VPZ3S2V/t1T2d0tlf7dU9ndLZX+3VPZ3S2V/t1T2d0tlf7dU9ndLZX+3VPZ3S2V/t9Q+Q7f2Ibq1T9GtfYxu9XN0K8+X2ifp1j5Kt/ZZurUP063s75bK/m6p7O+Wyv5uqezvlsr+bqns75bK/m6p7O+Wyv5uqezvlsr+bqns75bK/m6p7O+Wyv5uqezvlsr+bqns75bK/m6p7O+Wyv5uqezvlsr+bqns75bK/m6p7O+Wyv5uqezvlsr+bqns75bK/m6p7O+Wyv5uqezvlsr+bqns75bK/m6p7O+Wyv5uqezvlsr+bqns75bK/m6p7O+Wyv5uqezvlsr+bqns75bK/m6p7O8Olf3dobK/O1T2d4fK/u5Q2d8dKvu7Q2V/d6js7w6V/d2hsr87VPZ3h8r+7lDZ3x0q+7tDZX93qOzvDpX93aGyvztU9neHyv7uUNnfHSr7u0Nlf3eo7O8Olf3dobK/O1T2d4fK/u5Q2d8dKvu7Q2V/d6js7w6V/d2hsr87VPZ3h8r+7lDZ3x0q+7tDZX93qOzvDpX93aGyvztU9neHyv7uUNnfHSr7u0Nlf3eo7O8Olf3dofZtabWvS6t9X1rtC9Nq35hW/cq0yvOl9qVptW9Nq31tWmV/d6js7w6V/d2hsr87VPZ3h8r+7lDZ3x0q+7tDZX93qOzvDpX93aGyvztU9neHyv7uUNnfHSr7u8Oe/u60td2O82Vzux3ny+Z2O86Xze12nC9b2+3p725ut+N82dxux/myud2O82Vzux3ny+Z2lefLnv7u5naV58ue/u7mdpXny57+7uZ2lefLnv7u5naV58ue/u7mdpXny57+7uZ2lefLnv7u5nZ158u4p7+7uV3d+TLu6e9ubld3vox7+rub29WdL+Oe/u7mdnXny7inv7u5XeX5sqe/u7ld5fmyp7+7uV3l+bKnv7u5XeX5sqe/u7ldfL4s4/N2/3j58Dim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",
|
|
923
|
+
"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mc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB1nofJCFzgdZ6HyQhc4HWTa2nl3ofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kJXOB1npfJCVzgdZ6XyQdWPr2ZXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HudP5IHc6H+RO54Pc6XyQ+8bWs3c6H+RO54Pc6XyQO50PcqfzQe50Psidzge50/kgdzof5E7ng9zpfJA7nQ9yp/NB7nQ+yJ3OB7nT+SB3Oh/kTueD3Ol8kDudD3Kn80HudD7Inc4HudP5IHc6H+RO54Pc6XyQO50PcqfzQe50Psidzge50/kgdzof5E7ng9zpfJA7nQ9yp/NB7nQ+yJ3OB7nT+SB3Oh/kTueD3Ol8kDudD3Kn80HudD7Inc4HudP5IHc6H+RO54Pc6XyQO50PcqfzQe50Psidzge50/kgdzof5E7ng9zpfJA7nQ9yp/NB7nQ+yJ3OB7nT+SB3Oh/kTueD3Ol8kDudD3Kn80HudD7Inc4HudP5IHc6H+RO54Pc6XyQO50PcqfzQe50Psidzge50/kgdzof5E7ng9zpfJA7nQ9yp/NB7nQ+yJ3OB7nT+SB3Oh/kTueD3Ol8kDudD3Kn80HudD7Inc4H2eh8kI3OB9nofJCNzgfZNrae3eh8kI3OB9nofJCNzgfZ6HyQjc4H2eh8kI3OB9nofJCNzgfZ6HyQjc4H2eh8kI3OB9nofJCNzgfZ6HyQjc4H2eh8kI3OB9nofJCNzgfZ6HyQjc4H2eh8kI3OB9nofJBtgQ+ydnmsaE/J+LePlh//9LbV14fVdeT+XEeR/eOH/7jU+M1g2aXG7zLLLjV++1p2qfH74rJLjd9wl11q/E6+7FLjvyKsutQFft5llxr/pWbZpX6db0sLrM3LLvXrfFtaYMZedqlf59vSAvv4skv9Ot+WFhjeV13qAif9skv9Ot+WFnj/l13q1/m2tOC0gmWX+nW+LS04X2HZpX6db0sLToRYdqlf59vSgjMsll3q1/m2tODUjWWX+nW+LS04J2TZpX6db0sLTjZZdqlf59vSgrNYll3q1/m2tOD0mGWX+nW+LS0472bZpX6db0sLTuhZdqlf59vSgjOFll3q1/m2tOAUpGWX+nW+LS04t2nZpX6db0sLTppadqlf59vSgrOxll3q1/m2tOA0r2WX+nW+LS04f2zZpX6db0sLTkxbdqlf59vSgjPell3q1/m2tOBUumWX+nW+LS04R6/u5XWp8t2//ceK4r/U7CU9VtT+4d/+Y0Xx3z1afa2opR9XFP8VYTv2x4qSVOPfllIe6SzleK2kJG0hR38ue8uvi23t92vtC07o+3XXel5gf3w4bd9d648f7mX79tneyw9/lvjvEyx/luPx2SPnH/4s8d89fuGfJT0bk8i2/fzPIq+TCiT3D39DUT5cj8c/vKfy84/mUp/XV46PJyDs2t9uO1p9/PHSlo/X57fy9zsU/5XpvkPv3aH4b3r3HXrvDsV/Qb3v0Ht3KP579X2H3rtD8b8z7jv03h2K/91136H37tCf6Xfon/IOLTgr+b5D792hP9UP+T/lHbqZAvsdupkC+x26mQL7HbqZAvsdupkC+x26mQL7HbqZAvsdupkC+R1a8C6P+w69d4dupsB+h26mwH6HbqbAfodupsB+h26mwH6HbqbAfodupsB+h26mwH6HbqZAfocWvGvuvkPv3aGbKbDfoZspsN+hmymw36GbKbDfoZspsN+hmymw36GbKbDfoZspsN+hmymQ36EF75C979B7d+hmCux36GYK7HfoZgrsd+hmCux36GYK7HfoZgrsd+hmCux36GYK7HfoZgrkd2jBm9bvO/TeHbqZAvsdupkC+x26mQL7HbqZAvsdupkC+x26mQL7HbqZAvsdupkC+x26mQL5HdpvpsB+h26mwH6HbqbAfodupjBzh3Z53qFmfDTL44+R2+tv0Qp2e74wUDja81/+vir++MN84d/xP//DfOGfzz//w3zd30Q1Pa+xfuxJWvs60uMtdkfbfv7RldvW1/359Itu5qodrn3dn1lv3cn26G3nX7EbdZkff4167J++P1/3K/xxPN70l7daf/43T9If779LuexuZbmwx7av+9OA4c4va8hf9yfHr7vty7r31/2Z9NbNzPX57uayGX22yeNv3vrnq+0L/1y7AH9p96NO6tvzdX/TX+L2/Kl+pcv2xEuyG7dnL89NYi/19T7sff/jD9P/VD96Pf8w8Y/00vG41CySv/u3/1hR/O/fV2mf//T244rif5dZK4r/yWCtKP57r7Wi+C961oriv9tYK4rfzq0Vxe9gxoqO+K3DWlF8z7ZWRNezD7qefdD17IOuZx90Pfug69kHXc8+2Hr2sbH17GNj69nHxtazj42tZx8bW88+NraefWxsPfvY2Hr2sbH17GOj69mJrmcveCW9tSK6nr3glePWiuh69oJXSlsrouvZC14ZbK2IrmcveCWssaIFr0C1VkTXsxe84tJaEV3PXvAKQ2tFdD17wSvqrBXR9ewFryCzVkTXsxe8YspaEV3PXvAKIWtFdD17wStirBXR9ewFrwCxVkTXsxe84sFaEV3PXnCEv7Uiup694Ih2a0V0PXvBEdzWiuh69oIjlq0V0fXsBUfoWiui69kLjki1VkTXsxccgWmtiK5nLzji0FoRXc9ecISdtSK6nr3giDJrRXQ9e8ERVNaK6Hr2giOGrBXR9ewFp8hYK6Lr2QvOTbFWRNezFxyhYq2IrmcvOM/CWhFdz15wpoS1IrqevcCGb62IrmcvME9bK6Lr2QssstaK6Hr2AjumtSK6nk3ngzzofJAHnQ/yoPNBHnQ+yIPOB3nQ+SAPOh/kQeeDPOh8kAedD/Kg80EedD7Ig84HedD5IA86H+RB54M86HyQaaMzQp5LYuva55LY2va5JLa+fS6JrXGfS2Lr3OeS2Fr3uSS23n0uia15n0vi6950lshzSXzdm84UeS6Jr3vT2SLPJfF1bzpj5Lkkvu5NZ408l8TXvenMkeeS+Lo3nT3yXBJf96YzSJ5L4uvedBbJc0l83ZvOJHkuia9709kkzyXxdW86o+S5JL7uTWeVPJfE173pzJLnkvi6N51d8veDyOmWRGeYPJfE173pLJPnkvi6N51p8lwSX/ems02eS+Lr3nTGyXNJfN2bzjp5Lomve9OZJ88l8XVvOvvkuSS+7k1noDyXxNe96SyU55L4ujedifJcEl/3prNRnkvi6950RspzSXzdm85KeS6Jr3vTmSnPJfF1bzo75bkkvu5NZ6g8l8TXveksleeS+Lo3nanyXBJf96azVZ5L4uvedMbKc0l83ZvOWnkuia9705krzyXxdW86e+W5JL7uTWewPJfE173pLJbnkvi6N53J8lwSX/ems1meS+Lr3nRGy9/f8c63JL7uzee1THxey8TntUx8XsvE57VMG133Tnxey8TntUx8XsvE57VMfF7LxOe1THxey8TntUx8XsvE57VMfF7LxOe1THxey8TntUx8XsvE57VMfF7LxOe1THxey8TntUx8XsvE57VMfF7LxOe1THxey8TntUx8XsvE57VMfF7LxOe1THxey8TntUx8XsvE57VMfF7LxOe1THxey8TntUx8XsvE57VMfF7LxOe1THxey8TntUx8XsvE57VMfF7LxOe1THxey8TntUx8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",
|
|
924
|
+
"eJzVnc2OK8mVpN/lrgsNup9f16s0ZiHM9AANNNSNlnaC3n2iB8y8V1BQpBUjgmYrFRJ0yrw8eZxlye/jX3/8x3/+7z/+5d//809//vGHv/64/UvdfvzhX//648//9cc//c8P/vyXP/73X3784fbbj3/70//Z/vdvv/34v//+H//24w+j42//67f/WTDQBRNdYOgCRxcEuiBfX/DbPzxuVOb9oaOWfz/ab/dnr1OfvU999nXmszfw2/k7nh34Vf4dzw783v+OZwdeJL/j2YFX1O94duDl9zue/dTXap/6Wu1TX6t96mt1nfpaXae+Vtepr9V16mt1nfpaXae+Vtdbr9V5u8X9ofM269dn34vi9h3Ff0YZN79neeuVfXCWt+bAwVnemhrHZhm3t4bM0WHemklHh3lrhB0d5q2Jd3SYtwbk0WHemqdHhyEav+NGNH/HjWgAjxvTBB5ME3gwTeDBNIEH0wQeTBN4ME3gwTSBB9MEHkwTeDBN4Mk0gSfTBJ5ME3gyTeDJNIEn0wSeTBN4Mk3gyTSBJ9MENqYJbEwT2JgmsDFNYGOawMY0gY1pAhvTBDamCWxME9iZJrAzTWBnmsDONIGdaQI70wR2pgnsTBPYmSawM03gYJrAwTSBg2kCB9MEDqYJHEwTOJgmcDBN4GCawME0gZNpAifTBE6mCZxMEziZJnAyTeBkmsDJNIGTaQIn0wRG4InzwzBNYAT6OD8M0wR+D/YAw6yv5x09xl6YK1/az8K8h2NAYaZ/H9P2j3vH9B69cXSY636BXwhz3VuIF8Jc9xbihTDXvYXo7T9F7g/u7b3394NXf2W5bsw8z3LdlJle/fXgsP67Q8IefY9+3duNo6O/x+OcGH3cVn099xg3W3vhr7wLDg9/5d1xeHiUjR0IxHNfAQyn+wpghNxXAK/c/79iImzJfQXKQk+E0rivQGnoeQMu6PsK9MwnQg7cV6BnPpHP4N9XwGeOfJr9vgI+c+Rz4fcV8Jkjn7C+r4DPHPms8n0FfObIp37vK+AzRz4/e18BnznySdT7CvjMkc903lfAZ458OvK+Aj5z5HOG9xXwmSOf2LuvgM8c+ezbfQV85sinyO4r4DNHPo91XwGfOfLJpvsK+MyRzwjdV8Bnjnza5r4CPnPkcyv3FfCZI58Aua+Azxz5LMV9BXzmyKcS7ivgM0f+vn9fAZ858pfy+wr4zJG/Od9XwGeO/PX2vgI+c+TvoPcV8Jkjf1G8r4DPHPnb3H0FfObIX7nuK+AzR/5edF8BnzmsrZqwt2rC4qoJm6smrK6asLtqIvKq+wr4zJE/JNxXwGeOyKDuK+AzR2r/+wr4zJEC/b4CPnOkir6vgM8cqXXvK+AzR0rM+wr4zJG67r4CPnNE0nNfAZ853MNNuIebcA834R7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4B7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R7O4R4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4B4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R4u4R6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4B6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R6u4R5uwT3cgnu4BfdwC+7hFtzDLbiHW3APt+AebsE93IJ7uAX3cAvu4Rbcwy24h1twD7fgHm7BPdyCe7gF93AL7uEW3MMtuIdbcA+34B5uwT3cgnu4BfdwC+7hFtzDLbiHW3APt+AebsE93IJ7uAX3cAvu4Rbcwy24h1twD7fgHm7BPdyCe7gF93AL7uEW3MMtuIdbcA+34B5uwT3cgnu4BfdwC+7hFtzDLbiHW3APt+AebsE93IJ7uAX3cAvu4Rbcwy24h1twD7fgHm7BPdyCe7gF93AL7uEW3MMtuIdbcA+34B5uwT3cgnu4BfdwC+7hFtzDLbiHW3APt+AebsE93IJ7uAX3cAvu4Rbcwy24h1twD7fgHm7BPdyCe7gF93AL7uEW3MMtuIdbcA+34B5uwT3cgnu4BfdwC+7hxg0u4rYl6KlvS9Bj35ag574tQQ9+W4Ke/LYEPfptCXr22xL08Lcl+OnDldy2BD99uJTbluCnD9dy2xL89OFibluCnz5czW1L8NOHy7ltCX76cD23LcFPHy7otiX46cMV3bYEP324pNuW4KcP13TbEvz04aJuW4KfPlzVbUvw04fLum0JfvpwXbctwU8fLuy2Jfjpw5XdtgQ/fbi025bgpw/XdtsS/PTh4m5bgp8+XN1tS/DTh8u7bQl++nB9ty3BTx8u8LYl+OnDFd62BD99uMTbluCnD9d42xL89OEib1uCnz5c5W1L8NOHy7xtCX76cJ23LcFPHy70tiX46cOV3rYEP3241NuW4KcP13rbEvz04WJvW4KfPlztbUvw04fLvW0JfvpwvbctwU8fLvi2JfjpwxXftgQ/fbjk25bgpw/XfNsS/PThom9bgp8+XPVtS+DTH3jXN/Cub+Bd38C7voF3fQPv+gbe9Q286xt41zfwrm/gXd/Au76Bd30D7/oG3vUNvOsbeNc38K5v4F3fwLu+gXd9A+/6Bt71DbzrG3jXN/Cub+Bd38C7voF3fQPv+gbe9Q286xt41zfwrm/gXd/Au76Bd30D7/oG3vUNvOsbeNc3kK7vt3943Mwqvz92++fu78dn7jx8VH09+PbzqWd9hwF+r84PA/zGnh8GeC2cHwZ4lZ0fBnj9nh8GmAznhwFmzvlhgGl2ehikFT8/DNMERpr888MwTWDkrw/nh2GawMhfTM4PwzSBkb/ynB+GaQIjf5k6PwzTBEb+mnZ+GKYJjPwF8PwwTBMY+avl+WGYJjDyl9bzwzBNYOSvw+eHYZrAyF+0zw/DNIGRv8KfH4ZpAiOfHDg/DNMERj7tcH4YpgmMfELj/DBMExj5VMn5YZgmMPJJmPPDME1g5NM754dhmsDIJ47OD8M0gZFPSZ0fhmkCI5/sOj8M0wRGPo12fhimCYx8gu78MEwTGPnU3/lhiCbwRD6peH4Yogk8kU9Xnh+GaALPG9EEnshnTc8PQzSBJ/L52PPDEE3giXym9/QwyKeFzw/DNIGRTzifH4ZpAiOfyj4/DNMERj5Jfn4YpgmMfPr9/DBMExj5xP75YZgmMEIZnB+GaQIjZMT5YZgmMEJznB+GaQIjBMr5YZgmMELNnB+GaQIjpM/5YZgmMEInnR+GaQIjRNX5YZgmMEKBnR+GaQIj5Nr5YZgmMBMTN5mYuMnExE0mJm4yMXGTiYmbTEzcZGLiJhMTN5mYuMnExE0mJm4yMXGTiYmbTEzcZGLiJhMTN5mYuMnExE0mJm4yMXGTiYmbTEzcZGLiJhMTN5mYuMnExE0mJm4yMXGTiYmbTEzcZGLiJhMTN5mYuMnExE0mJm4yMXGTiYmbTEzcZGLiJhMTN5mYuMnExE0mJm4yMXGTiYmbTEzcZGLiJhMTN5mYuMnExE0mJm4yMXGTiYmbTEzcZGLiJhMTN5mYOGNi4oyJiTMmJs6YmDi7EU1gY2LijImJMyYmzpiYOGNi4oyJiTMmJs6YmDhjYuKMiYkzJibOmJg4Y2LijImJMyYmzpiYOGNi4oyJiTMmJs6YmDhjYuKMiYkzJibOmJg4Y2LijImJMyYmzpiYOGNi4oyJiTMmJs6YmDhjYuKMiYkzJibOmJg4Y2LijImJMyYmzpiYOGNi4oyJiTMmJs6YmDhjYuKMiYkzJibOmJg4Y2LijImJMyYmzpiYOGNi4oyJiTMmJs6YmDhjYuKMiYkzJibOmJg4Y2LijImJMyYmzpiYOGNi4oyJiTMmJs6YmDhjYuKMiYkzJibOmJg4Y2LijImJMyYmzpiYOGNi4oyJiTMmJs6YmDhjYuKMiYkzJibOmJg4Y2LijImJMyYmzpiYOGNi4oyJiTMmJs6YmDhjYuKMiYkzJibOmZg4Z2LinImJcyYmzm9EE9iZmDhnYuKciYlzJibOmZg4Z2LinImJcyYmzpmYOGdi4pyJiXMmJs6ZmDhnYuKciYlzJibOmZg4Z2LinImJcyYmzpmYOGdi4pyJiXMmJs6ZmDhnYuKciYlzJibOmZg4Z2LinImJcyYmzpmYOGdi4pyJiXMmJs6ZmDhnYuKciYlzJibOmZg4Z2LinImJcyYmzpmYOGdi4pyJiXMmJs6ZmDhnYuKciYlzJibOmZg4Z2LinImJcyYmzpmYOGdi4pyJiXMmJs6ZmDhnYuKciYlzJibOmZg4Z2LinImJcyYmzpmYOGdi4pyJiXMmJs6ZmDhnYuKciYlzJibOmZg4Z2LinImJcyYmzpmYOGdi4pyJiXMmJs6ZmDhnYuKciYlzJibOmZg4Z2LinImJcyYmzpmYOGdi4pyJiQsmJi6YmLhgYuKCiYmLG9EEDiYmLpiYuGBi4oKJiQsmJi6YmLhgYuKCiYkLJiYumJi4YGLigomJCyYmLpiYuGBi4oKJiQsmJi6YmLhgYuKCiYkLJiYumJi4YGLigomJCyYmLpiYuGBi4oKJiQsmJi6YmLhgYuKCiYkLJiYumJi4YGLigomJCyYmLpiYuGBi4oKJiQsmJi6YmLhgYuKCiYkLJiYumJi4YGLigomJCyYmLpiYuGBi4oKJiQsmJi6YmLhgYuKCiYkLJiYumJi4YGLigomJCyYmLpiYuGBi4oKJiQsmJi6YmLhgYuKCiYkLJiYumJi4YGLigomJCyYmLpiYuGBi4oKJiQsmJi6YmLhgYuKCiYkLJiYumJi4YGLigomJCyYmLpiYuGBi4oKJiQsmJi6YmLhgYuKCiYkLJiYumJi4YGLikomJSyYmLpmYuGRi4vJGNIGTiYlLJiYumZi4ZGLikomJSyYmLpmYuGRi4pKJiUsmJi6ZmLhkYuKSiYlLJiYumZi4ZGLikomJSyYmLpmYuGRi4pKJiUsmJi6ZmLhkYuKSiYlLJiYumZi4ZGLikomJSyYmLpmYuGRi4pKJiUsmJi6ZmLhkYuKSiYlLJiYumZi4ZGLikomJSyYmLpmYuGRi4pKJiUsmJi6ZmLhkYuKSiYlLJiYumZi4ZGLikomJSyYmLpmYuGRi4pKJiUsmJi6ZmLhkYuKSiYlLJiYumZi4ZGLikomJSyYmLpmYuGRi4pKJiUsmJi6ZmLhkYuKSiYlLJiYumZi4ZGLikomJSyYmLpmYuGRi4pKJiUsmJi6ZmLhkYuKSiYlLJiYumZi4ZGLikomJSyYmLpmYuGRi4pKJiUsmJi6ZmLhiYuKKiYkrJiaumJi4uhFN4GJi4oqJiSsmJq6YmLhiYuKKiYkrJiaumJi4YmLiiomJKyYmrpiYuGJi4oqJiSsmJq6YmLhiYuKKiYkrJiaumJi4YmLiiomJKyYmrpiYuGJi4oqJiSsmJq6YmLhiYuKKiYkrJiaumJi4YmLiiomJKyYmrpiYuGJi4oqJiSsmJq6YmLhiYuKKiYkrJiaumJi4YmLiiomJKyYmrpiYuGJi4oqJiSsmJq6YmLhiYuKKiYkrJiaumJi4YmLiiomJKyYmrpiYuGJi4oqJiSsmJq6YmLhiYuKKiYkrJiaumJi4YmLiiomJKyYmrpiYuGJi4oqJiSsmJq6YmLhiYuKKiYkrJiaumJi4YmLiiomJKyYmrpiYuGJi4oqJiSsmJq6YmLhiYuKKiYkrJiaumJi4YmLiiomJKyYmrpmYuGZi4pqJiWsmJq5vRBO4mZi4ZmLimomJayYmrpmYuGZi4pqJiWsmJq6ZmLhmYuKaiYlrJiaumZi4ZmLimomJayYmrpmYuGZi4pqJiWsmJq6ZmLhmYuKaiYlrJiaumZi4ZmLimomJayYmrpmYuGZi4pqJiWsmJq6ZmLhmYuKaiYlrJiaumZi4ZmLimomJayYmrpmYuGZi4pqJiWsmJq6ZmLhmYuKaiYlrJiaumZi4ZmLimomJayYmrpmYuGZi4pqJiWsmJq6ZmLhmYuKaiYlrJiaumZi4ZmLimomJayYmrpmYuGZi4pqJiWsmJq6ZmLhmYuKaiYlrJiaumZi4ZmLimomJayYmrpmYuGZi4pqJiWsmJq6ZmLhmYuKaiYlrJiaumZi4ZmLimomJayYmrpmYuGZi4pqJiWsmJq6ZmLhmYuKaiYlbTEzcYmLiFhMTt5iYuHUjmsCLiYlbTEzcYmLiFhMTt5iYuMXExC0mJm4xMXGLiYlbTEzcYmLiFhMTt5iYuMXExC0mJm4xMXGLiYlbTEzcYmLiFhMTt5iYuMXExC0mJm4xMXGLiYlbTEzcYmLiFhMTt5iYuMXExC0mJm4xMXGLiYlbTEzcYmLiFhMTt5iYuMXExC0mJm4xMXGLiYlbTEzcYmLiFhMTt5iYuMXExC0mJm4xMXGLiYlbTEzcYmLiFhMTt5iYuMXExC0mJm4xMXGLiYlbTEzcYmLiFhMTt5iYuMXExC0mJm4xMXGLiYlbTEzcYmLiFhMTt5iYuMXExC0mJm4xMXGLiYlbTEzcYmLiFhMTt5iYuMXExC0mJm4xMXGLiYlbTEzcYmLiFhMTt5iYuMXExC0mJm4xMXGLiYlbTEzcYmLiFhMTt5iYuMXExC0iJm77Gc8E3n7GM4G3n/FM4O1nPBN4+xnPBN5+xjOBt5/xTODtZzwTePsZzwTefsY0gYmYuC0M0wQmYuK2MEwTmIiJ28IwTWAiJm4LwzSBiZi4LQzTBCZi4rYwuxN4un/lmTHHk0jDyu6PHrbql0f3BRvYndpKG9id9Eob2L0dlDawe6MobWD3FlLawO7NpbSB3dtOaQO7N6TQBvY5R6UNqN/E+zyl0gbUb+J9blNpA+o38T4fqrQB9Zt4n0NV2oD6TbzPuyptQP0m3udqlTagfhPv87tKG1C/ifc5YaUNqN/E+zyy0gbUb+J97llpA+o38T5frbQB9Zt4n+NW2oD6TbzPiyttQP0m3ufSlTagfhPv8+9KG1C/ifc5e6UNqN/E+zy/0gbUb+J9b4DSBtRv4n0/gdIG1G/ifQ+C0gbUb+J934LSBtRv4n2vg9IG1G/ifX+E0gbUb+J9T4XSBtRv4n0fhtIG1G/ife+G0gbUb+J9v4fSBtRv4n2PiNIG1G/ifV+J0gbUb+J9L4rSBtRv4n3/itIG1G/ifc+L0gbUb+J9n4zSBtRv4n1vjdIGxG/ise/HUdqA+E089j08ShsQv4nHTfwmHvuOIKUNiN/EY99FpLQB8Zt47DuPhDaw70lS2oD6TbzvY1LagPpNvO99UtqA+k2875dS2oD6TbzvsVLagPpNvO/LUtqA+k2s7tga6o6toe7YGuqOraHu2Brqjq2h7tga6o6toe7YGuqOraHu2Brqjq2h7tga6o6toe7YGuqOraHu2Brqjq2h7tga6o6toe7YGuqOraHu2Brqjq2h7tga6o6toe7YGuqOraHu2Brqjq2h7tga6o6toe7YGuqOraHu2Brqjq2h7tga6o6toe7YGuqOraHu2Brqjq2h7tga6o6toe7YGuqOraHu2Brqjq2h7tga6o6toe7YGuqOraHu2Brqjq2h7tga6o6toe7YGuqOraHu2Brqjq2h7tga6o6toe7YGuqOraHu2Brqjq2h7tga6o6toe7YGuqOraHu2Brqjq2h7tga6o6toe7YGuqOraHu2Brqjq2p7tia6o6tqe7YmuqOrXkTv4mnumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y8vUHVum7tgydceWqTu27CZ+E5u6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVd3bLm6Y8vVHVuu7tjym/hN7OqOLVd3bLm6Y8vVHVuu7thydceWqzu2XN2x5eqOLVd3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evnbgY9t9YEb7I2trmdbnTm/qwuzXzP944MtvmoOWz//rayf8Q9/03Bt/MPfMVwb//C3C9fGP/y9wrXxD3+jcG38w98lXBv/8Jv/2viH3+bXxj/8hr40/gMPmEx87Vv3gQNMJr72rfvA/yUTX/vWfeD+komvfes+8H7JxNe+dR84v2Tia9+6D3xfMvG1b90Hri+Z+Nq37gPPl0x87Vv3geNLJr72rfvA7yUTX/vWfeD2komvfes+8HrJxNe+dR84vWTia9+6D3xeMvG1b90HLi+Z+Nq37gOPl0x87Vv3gcNLJr72rfvA3yUTX/vWfeDukomvfes+8HbJxNe+dR84u2Tia9+6D3xdMvG1b90Hri6Z+Nq37gNPl0x87Vv3gaNLJr72rfvAzyUTX/vWfeDmkomvfes+8HLJxNe+dR84uWTia9+6D3xcMvG1b90HLi6Z+Nq37gMPl0x87Vv3gYNLJr72rfvAvyUTX/nWtdvx7q1r4yvfult85Vt3i698627xlW/dLb7yrbvFV751t/jKt+4WX/nW3eJr37rH27Wuja996x7v1bo2vvate7xR69r42rfu8S6ta+Nr37rHO6+uja9960q7qbb42reutJtqi69960q7qbb42reutJtqi69960q7qbb42reutJtqi69960q7qbb42reutJtqi69960q7qbb42reutJtqi69960q7qbb42reutJtqi69960q7qbb42reutJtqi69960q7qbb42reutJtqi69960q7qbb42reutJtqi69960q7qbb42reutJtqi69960q7qbb42reutJtqi69960q7qbb42reutJtqi69960q7qbb42reutJtqi69960q7qbb42reutJtqi69960q7qbb42reutJtqi69960q7qbb42reutJtqi8996/rt63vjfaxf4+88b/XX03Z9PzRu3zvlvqCP3Cn3XX7kTrmv/d+30xV7O+V+h3DkTrnfTBy40+MtLfPJTtf8Cr/q52Pd9sJv8b6eeYzbr/8Sb/69g8PP6vIdHP7e7+IdjON1LZfv4PB3gJfv4PA3gZfv4PD3gZfv4PD3d5fv4PD3bZfv4PD3Y5fvQP1OHsdrXC7fgfydfLzM5fIdyN/JxytdLt+B/J18vNjl2Q62//P6mcr/+R46v3Ks0U+euL8zt/98rM/vrV5+eX9uq5ff8p/b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",
|
|
925
|
+
"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"
|
|
914
926
|
],
|
|
915
927
|
"fileMap": {
|
|
916
928
|
"15": {
|
|
917
|
-
"source": "impl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n \n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(_self: Self, _bit_size: u32) -> [u1] {}\n \n #[builtin(to_be_bits)]\n fn __to_be_bits(_self: Self, _bit_size: u32) -> [u1] {}\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(_self: Self, _radix: u32, _result_len: u32) -> [u8] {}\n \n #[builtin(to_be_radix)]\n fn __to_be_radix(_self: Self, _radix: u32, _result_len: u32) -> [u8] {}\n\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n}\n\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",
|
|
929
|
+
"source": "impl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n \n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(_self: Self, _bit_size: u32) -> [u1] {}\n \n #[builtin(to_be_bits)]\n fn __to_be_bits(_self: Self, _bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(_self: Self, _bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(_self: Self, _radix: u32, _result_len: u32) -> [u8] {}\n \n #[builtin(to_be_radix)]\n fn __to_be_radix(_self: Self, _radix: u32, _result_len: u32) -> [u8] {}\n\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n}\n\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",
|
|
918
930
|
"path": "std/field.nr"
|
|
919
931
|
},
|
|
920
932
|
"16": {
|
|
@@ -929,159 +941,159 @@
|
|
|
929
941
|
"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",
|
|
930
942
|
"path": "std/option.nr"
|
|
931
943
|
},
|
|
932
|
-
"
|
|
944
|
+
"39": {
|
|
933
945
|
"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",
|
|
934
946
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/log.nr"
|
|
935
947
|
},
|
|
936
|
-
"
|
|
948
|
+
"40": {
|
|
937
949
|
"source": "use dep::protocol_types::{\n abis::{\n block_header::BlockHeader,\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};\n\n// docs:start:private-global-variables\nstruct PrivateGlobalVariables {\n chain_id: Field,\n version: Field,\n}\n// docs:end:private-global-variables\n\nimpl PrivateGlobalVariables {\n fn serialize(self) -> [Field; 2] {\n [self.chain_id, self.version]\n }\n}\n\n// docs:start:public-global-variables\nstruct PublicGlobalVariables {\n chain_id: Field,\n version: Field,\n block_number: Field,\n timestamp: Field,\n}\n// docs:end:public-global-variables\n\nimpl PublicGlobalVariables {\n fn serialize(self) -> [Field; 4] {\n [self.chain_id, self.version, self.block_number, self.timestamp]\n }\n}\n\n// PrivateContextInputs are expected to be provided to each private function\n// docs:start:private-context-inputs\nstruct PrivateContextInputs {\n call_context : CallContext,\n block_header: BlockHeader,\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 block_header: BlockHeader,\n\n public_global_variables: PublicGlobalVariables,\n}\n// docs:end:public-context-inputs\n\nstruct Hasher {\n fields: [Field],\n}\n\nimpl Hasher {\n pub fn new()-> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<N>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n\n pub fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n",
|
|
938
950
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/abi.nr"
|
|
939
951
|
},
|
|
940
|
-
"
|
|
952
|
+
"41": {
|
|
941
953
|
"source": "use dep::std::option::Option;\nuse dep::protocol_types::{\n address::AztecAddress,\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::singleton::compute_singleton_initialization_nullifier;\n\n// docs:start:struct\nstruct ImmutableSingleton<Note, N> {\n context: Option<&mut PrivateContext>,\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n compute_initialization_nullifier: fn (Field, Option<AztecAddress>) -> Field,\n}\n// docs:end:struct\n\nimpl<Note, N> ImmutableSingleton<Note, N> {\n // docs:start:new\n pub fn new(\n context: Context,\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n ImmutableSingleton {\n context: context.private,\n storage_slot,\n note_interface,\n compute_initialization_nullifier: compute_singleton_initialization_nullifier,\n }\n }\n // docs:end:new\n\n // docs:start:is_initialized\n unconstrained pub fn is_initialized(self, owner: Option<AztecAddress>) -> bool {\n let compute_initialization_nullifier = self.compute_initialization_nullifier;\n let nullifier = compute_initialization_nullifier(self.storage_slot, owner);\n check_nullifier_exists(nullifier)\n }\n // docs:end:is_initialized\n\n // docs:start:initialize\n pub fn initialize(\n self,\n note: &mut Note, \n owner: Option<AztecAddress>,\n broadcast: bool,\n ) {\n let context = self.context.unwrap();\n\n // Nullify the storage slot.\n let compute_initialization_nullifier = self.compute_initialization_nullifier;\n let nullifier = compute_initialization_nullifier(self.storage_slot, owner);\n context.push_new_nullifier(nullifier, 0);\n\n create_note(\n context,\n self.storage_slot,\n note,\n self.note_interface,\n broadcast,\n );\n }\n // docs:end:initialize\n\n // docs:start:get_note\n pub fn get_note(self) -> Note {\n let context = self.context.unwrap();\n let storage_slot = self.storage_slot;\n get_note(context, storage_slot, self.note_interface)\n }\n // docs:end:get_note\n\n // docs:start:view_note\n unconstrained pub fn view_note(self) -> Note {\n let options = NoteViewerOptions::new().set_limit(1);\n view_notes(self.storage_slot, self.note_interface, options)[0].unwrap()\n }\n // docs:end:view_note\n}\n",
|
|
942
954
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/state_vars/immutable_singleton.nr"
|
|
943
955
|
},
|
|
944
|
-
"
|
|
956
|
+
"42": {
|
|
945
957
|
"source": "use crate::context::{Context};\nuse crate::oracle::storage::storage_read;\nuse crate::oracle::storage::storage_write;\nuse crate::types::type_serialization::TypeSerializationInterface;\nuse dep::std::option::Option;\n\n// docs:start:public_state_struct\nstruct PublicState<T, T_SERIALIZED_LEN> {\n context: Context,\n storage_slot: Field,\n serialization_methods: TypeSerializationInterface<T, T_SERIALIZED_LEN>,\n}\n// docs:end:public_state_struct\n\nimpl<T, T_SERIALIZED_LEN> PublicState<T, T_SERIALIZED_LEN> {\n // docs:start:public_state_struct_new\n pub fn new(\n // Note: Passing the contexts to new(...) just to have an interface compatible with a Map.\n context: Context,\n storage_slot: Field,\n serialization_methods: TypeSerializationInterface<T, T_SERIALIZED_LEN>,\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n PublicState {\n context,\n storage_slot,\n serialization_methods,\n }\n }\n // docs:end:public_state_struct_new\n\n // docs:start:public_state_struct_read\n pub fn read(self) -> T {\n assert(self.context.private.is_none(), \"Public state writes only supported in public functions\");\n storage_read(self.storage_slot, self.serialization_methods.deserialize)\n }\n // docs:end:public_state_struct_read\n\n // docs:start:public_state_struct_write\n pub fn write(self, value: T) {\n assert(self.context.private.is_none(), \"Public state writes only supported in public functions\");\n let serialize = self.serialization_methods.serialize;\n let fields = serialize(value);\n storage_write(self.storage_slot, fields);\n }\n // docs:end:public_state_struct_write\n}\n",
|
|
946
958
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/state_vars/public_state.nr"
|
|
947
959
|
},
|
|
948
|
-
"
|
|
949
|
-
"source": "use crate::context::{PrivateContext, PublicContext, Context};\nuse dep::std::option::Option;\nuse dep::protocol_types::hash::pedersen_hash;\n\n// docs:start:map\nstruct Map<V> {\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V,\n}\n// docs:end:map\n\nimpl<V> Map<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 ) ->
|
|
960
|
+
"43": {
|
|
961
|
+
"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",
|
|
950
962
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/state_vars/map.nr"
|
|
951
963
|
},
|
|
952
|
-
"
|
|
964
|
+
"44": {
|
|
953
965
|
"source": "use dep::std::option::Option;\n\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, PublicContext, Context};\nuse crate::note::{\n lifecycle::{create_note, destroy_note},\n note_getter::{get_note, view_notes},\n note_interface::NoteInterface,\n note_viewer_options::NoteViewerOptions,\n};\nuse crate::oracle::{\n get_secret_key::get_secret_key,\n notes::check_nullifier_exists,\n};\n\npub fn compute_singleton_initialization_nullifier(storage_slot: Field, owner: Option<AztecAddress>) -> Field {\n if owner.is_some() {\n let secret = get_secret_key(owner.unwrap_unchecked());\n pedersen_hash(\n [storage_slot, secret.low, secret.high],\n GENERATOR_INDEX__INITIALIZATION_NULLIFIER\n )\n } else {\n pedersen_hash([storage_slot], GENERATOR_INDEX__INITIALIZATION_NULLIFIER)\n }\n}\n\n// docs:start:struct\nstruct Singleton<Note, N> {\n context: Option<&mut PrivateContext>,\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n compute_initialization_nullifier: fn (Field, Option<AztecAddress>) -> Field,\n}\n// docs:end:struct\n\nimpl<Note, N> Singleton<Note, N> {\n // docs:start:new\n pub fn new(\n context: Context,\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Singleton {\n context: context.private,\n storage_slot,\n note_interface,\n compute_initialization_nullifier: compute_singleton_initialization_nullifier,\n }\n }\n // docs:end:new\n\n // docs:start:is_initialized\n unconstrained pub fn is_initialized(self, owner: Option<AztecAddress>) -> bool {\n let compute_initialization_nullifier = self.compute_initialization_nullifier;\n let nullifier = compute_initialization_nullifier(self.storage_slot, owner);\n check_nullifier_exists(nullifier)\n }\n // docs:end:is_initialized\n\n // docs:start:initialize\n pub fn initialize(\n self,\n note: &mut Note,\n owner: Option<AztecAddress>,\n broadcast: bool,\n ) {\n let context = self.context.unwrap();\n\n // Nullify the storage slot.\n let compute_initialization_nullifier = self.compute_initialization_nullifier;\n let nullifier = compute_initialization_nullifier(self.storage_slot, owner);\n context.push_new_nullifier(nullifier, 0);\n\n create_note(context, self.storage_slot, note, self.note_interface, broadcast);\n }\n // docs:end:initialize\n\n // docs:start:replace\n pub fn replace(\n self,\n new_note: &mut Note,\n broadcast: bool,\n ) {\n let context = self.context.unwrap();\n let prev_note = get_note(context, self.storage_slot, self.note_interface);\n\n // Nullify previous note.\n destroy_note(context, prev_note, self.note_interface);\n\n // Add replacement note.\n create_note(context, self.storage_slot, new_note, self.note_interface, broadcast);\n }\n // docs:end:replace\n\n // docs:start:get_note\n pub fn get_note(self, broadcast: bool) -> Note {\n let context = self.context.unwrap();\n let mut note = get_note(context, self.storage_slot, self.note_interface);\n\n // Nullify current note to make sure it's reading the latest note.\n destroy_note(context, note, self.note_interface);\n\n // Add the same note again.\n // Because a nonce is added to every note in the kernel, its nullifier will be different.\n create_note(context, self.storage_slot, &mut note, self.note_interface, broadcast);\n\n note\n }\n // docs:end:get_note\n\n // docs:start:view_note\n unconstrained pub fn view_note(self) -> Note {\n let options = NoteViewerOptions::new().set_limit(1);\n view_notes(self.storage_slot, self.note_interface, options)[0].unwrap()\n }\n // docs:end:view_note\n}\n",
|
|
954
966
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/state_vars/singleton.nr"
|
|
955
967
|
},
|
|
956
|
-
"
|
|
968
|
+
"50": {
|
|
957
969
|
"source": "use crate::types::type_serialization::TypeSerializationInterface;\n\nglobal BOOL_SERIALIZED_LEN: Field = 1;\n\nfn deserializeBool(fields: [Field; BOOL_SERIALIZED_LEN]) -> bool {\n fields[0] as bool\n}\n\nfn serializeBool(value: bool) -> [Field; BOOL_SERIALIZED_LEN] {\n [value as Field]\n}\n\nglobal BoolSerializationMethods = TypeSerializationInterface {\n deserialize: deserializeBool,\n serialize: serializeBool,\n};\n",
|
|
958
970
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/types/type_serialization/bool_serialization.nr"
|
|
959
971
|
},
|
|
960
|
-
"
|
|
972
|
+
"52": {
|
|
961
973
|
"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",
|
|
962
974
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/types/vec.nr"
|
|
963
975
|
},
|
|
964
|
-
"
|
|
976
|
+
"64": {
|
|
965
977
|
"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 dep::std::eddsa::lt_bytes32(lhs, rhs)\n}\n\npub fn full_field_greater_than(lhs: Field, rhs: Field) -> bool {\n dep::std::eddsa::lt_bytes32(rhs, 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",
|
|
966
978
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/utils.nr"
|
|
967
979
|
},
|
|
968
|
-
"
|
|
969
|
-
"source": "use dep::protocol_types::{\n abis::{\n block_header::BlockHeader,\n call_context::CallContext,\n function_data::FunctionData,\n function_selector::FunctionSelector,\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 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 hash::hash_args,\n grumpkin_point::GrumpkinPoint,\n};\n\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n// use dep::std::collections::vec::Vec;\n\nuse crate::abi::{\n PrivateContextInputs,\n PublicContextInputs,\n};\n\n// l1 to l2 messaging\nuse crate::messaging::process_l1_to_l2_message;\n\nuse crate::types::{\n vec::BoundedVec,\n};\n\nuse crate::utils::Reader;\n\nuse crate::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 get_block_header::get_block_header,\n};\n\nuse dep::std::option::Option;\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: Field,\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\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 block_header: BlockHeader,\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\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs: inputs,\n // starts at 1 because all private calls have txhash nullifier as 0th nullifier\n // and therefore 0th sideeffect. increment this for each side effect in this context\n side_effect_counter: 1,\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n read_requests: BoundedVec::new(SideEffect::empty()),\n\n new_commitments: BoundedVec::new(SideEffect::empty()),\n new_nullifiers: BoundedVec::new(SideEffectLinkedToNoteHash::empty()),\n\n block_header: inputs.block_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 }\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 pub fn get_block_header(self, block_number: u32) -> BlockHeader {\n get_block_header(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 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 block_header: self.block_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 // 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.block_header.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 );\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(),\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 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(),\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 block_header: BlockHeader{\n // Must match order in `private_circuit_public_inputs.hpp`\n note_hash_tree_root : reader.read(),\n nullifier_tree_root : reader.read(),\n contract_tree_root : reader.read(),\n l1_to_l2_message_tree_root : reader.read(),\n archive_root : reader.read(),\n public_data_tree_root: reader.read(),\n global_variables_hash: reader.read(),\n },\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(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 );\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(fields[0]),\n function_data: FunctionData {\n selector: FunctionSelector::from_field(fields[1]),\n is_internal: fields[2] as bool,\n is_private: fields[3] as bool,\n is_constructor: fields[4] as bool,\n },\n public_inputs: PublicCircuitPublicInputs {\n call_context: CallContext {\n msg_sender : AztecAddress::from_field(fields[5]),\n storage_contract_address : AztecAddress::from_field(fields[6]),\n portal_contract_address : EthAddress::from_field(fields[7]),\n function_selector: FunctionSelector::from_field(fields[8]), // practically same as fields[1]\n is_delegate_call : fields[9] as bool,\n is_static_call : fields[10] as bool,\n is_contract_deployment: fields[11] as bool,\n start_side_effect_counter: fields[12],\n },\n args_hash: fields[13],\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 block_header: BlockHeader::empty(),\n prover_address: AztecAddress::zero(),\n },\n is_execution_request: true,\n };\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.public_call_stack_hashes.push(item.hash());\n }\n}\n\nstruct PublicContext {\n inputs: PublicContextInputs,\n side_effect_counter: Field,\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 block_header: BlockHeader,\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: 0, // no initial nullifier in new public context. increment on every side effect\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 block_header: inputs.block_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 block_header: self.inputs.block_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.block_header.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",
|
|
980
|
+
"66": {
|
|
981
|
+
"source": "use dep::protocol_types::{\n abis::{\n block_header::BlockHeader,\n call_context::CallContext,\n function_data::FunctionData,\n function_selector::FunctionSelector,\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 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 hash::hash_args,\n grumpkin_point::GrumpkinPoint,\n};\n\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n// use dep::std::collections::vec::Vec;\n\nuse crate::abi::{\n PrivateContextInputs,\n PublicContextInputs,\n};\n\n// l1 to l2 messaging\nuse crate::messaging::process_l1_to_l2_message;\n\nuse crate::types::{\n vec::BoundedVec,\n};\n\nuse crate::utils::Reader;\n\nuse crate::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 get_block_header::get_block_header,\n};\n\nuse dep::std::option::Option;\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\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 block_header: BlockHeader,\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\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\n new_commitments: BoundedVec::new(SideEffect::empty()),\n new_nullifiers: BoundedVec::new(SideEffectLinkedToNoteHash::empty()),\n\n block_header: inputs.block_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 }\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 pub fn get_block_header(self, block_number: u32) -> BlockHeader {\n get_block_header(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 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 block_header: self.block_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 // 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.block_header.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 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 block_header: BlockHeader{\n // Must match order in `private_circuit_public_inputs.hpp`\n note_hash_tree_root : reader.read(),\n nullifier_tree_root : reader.read(),\n contract_tree_root : reader.read(),\n l1_to_l2_message_tree_root : reader.read(),\n archive_root : reader.read(),\n public_data_tree_root: reader.read(),\n global_variables_hash: reader.read(),\n },\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 block_header: BlockHeader::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 block_header: BlockHeader,\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 block_header: inputs.block_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 block_header: self.inputs.block_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.block_header.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",
|
|
970
982
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/context.nr"
|
|
971
983
|
},
|
|
972
|
-
"
|
|
984
|
+
"71": {
|
|
973
985
|
"source": "use crate::abi::PublicContextInputs;\nuse crate::context::{\n PrivateContext,\n PublicContext,\n};\nuse crate::note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n utils::compute_inner_note_hash,\n};\nuse crate::oracle::notes::{notify_created_note, notify_nullified_note};\n\npub fn create_note<Note, N>(\n context: &mut PrivateContext,\n storage_slot: Field,\n note: &mut Note,\n note_interface: NoteInterface<Note, N>,\n broadcast: bool\n) {\n let contract_address = (*context).this_address();\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0, is_transient: true };\n let set_header = note_interface.set_header;\n set_header(note, header);\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\n\n let serialize = note_interface.serialize;\n let serialized_note = serialize(*note);\n assert(notify_created_note(storage_slot, serialized_note, inner_note_hash) == 0);\n\n context.push_new_note_hash(inner_note_hash);\n\n if broadcast {\n let broadcast = note_interface.broadcast;\n broadcast(context, storage_slot, *note);\n }\n}\n\npub fn create_note_hash_from_public<Note, N>(\n context: &mut PublicContext,\n storage_slot: Field,\n note: &mut Note,\n note_interface: NoteInterface<Note, N>\n) {\n let contract_address = (*context).this_address();\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0, is_transient: true };\n let set_header = note_interface.set_header;\n set_header(note, header);\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\n\n context.push_new_note_hash(inner_note_hash);\n}\n\npub fn destroy_note<Note, N>(\n context: &mut PrivateContext,\n note: Note,\n note_interface: NoteInterface<Note, N>\n) {\n let mut nullifier = 0;\n let mut nullified_commitment: Field = 0;\n let compute_nullifier = note_interface.compute_nullifier;\n nullifier = compute_nullifier(note);\n\n // We also need the note commitment corresponding to the \"nullifier\"\n let get_header = note_interface.get_header;\n let header = get_header(note);\n // `nullified_commitment` is used to inform the kernel which pending commitment\n // the nullifier corresponds to so they can be matched and both squashed/deleted.\n // nonzero nonce implies \"persistable\" nullifier (nullifies a persistent/in-tree\n // commitment) in which case `nullified_commitment` is not used since the kernel\n // just siloes and forwards the nullifier to its output.\n if (header.is_transient) {\n // TODO(1718): Can we reuse the note commitment computed in `compute_nullifier`?\n nullified_commitment = compute_inner_note_hash(note_interface, note);\n }\n assert(notify_nullified_note(nullifier, nullified_commitment) == 0);\n\n context.push_new_nullifier(nullifier, nullified_commitment)\n}\n",
|
|
974
986
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/note/lifecycle.nr"
|
|
975
987
|
},
|
|
976
|
-
"
|
|
988
|
+
"72": {
|
|
977
989
|
"source": "use dep::protocol_types::{\n constants::GENERATOR_INDEX__OUTER_NULLIFIER,\n hash::pedersen_hash,\n};\nuse crate::{\n note::{\n note_hash::{compute_inner_hash, compute_siloed_hash, compute_unique_hash},\n note_header::NoteHeader,\n note_interface::NoteInterface,\n },\n utils::arr_copy_slice,\n};\n\npub fn compute_inner_note_hash<Note, N>(note_interface: NoteInterface<Note, N>, note: Note) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note);\n\n let compute_note_hash = note_interface.compute_note_hash;\n let note_hash = compute_note_hash(note);\n\n compute_inner_hash(header.storage_slot, note_hash)\n}\n\npub fn compute_siloed_note_hash<Note, N>(note_interface: NoteInterface<Note, N>, note_with_header: Note) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n let inner_note_hash = compute_inner_note_hash(note_interface, note_with_header);\n\n compute_siloed_hash(header.contract_address, inner_note_hash)\n}\n\npub fn compute_unique_siloed_note_hash<Note, N>(note_interface: NoteInterface<Note, N>, note_with_header: Note) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n let siloed_note_hash = compute_siloed_note_hash(note_interface, note_with_header);\n\n compute_unique_hash(header.nonce, siloed_note_hash)\n}\n\npub fn compute_siloed_nullifier<Note, N>(note_interface: NoteInterface<Note, N>, note_with_header: Note) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n let compute_nullifier = note_interface.compute_nullifier;\n let inner_nullifier = compute_nullifier(note_with_header);\n\n let input = [header.contract_address.to_field(), inner_nullifier];\n pedersen_hash(input, GENERATOR_INDEX__OUTER_NULLIFIER)\n}\n\npub fn compute_note_hash_for_read_or_nullify<Note, N>(note_interface: NoteInterface<Note, N>, note_with_header: Note) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386)\n if (header.is_transient) {\n // If a note is transient, we just read the inner_note_hash (kernel will silo by contract address).\n compute_inner_note_hash(note_interface, note_with_header)\n } else if (header.nonce == 0) {\n // If not transient and nonce is zero, that means we are reading a public note.\n compute_siloed_note_hash(note_interface, note_with_header)\n } else {\n // When nonce is nonzero, that means we are reading a settled note (from tree) created in a\n // previous TX. So we need the unique_siloed_note_hash which has already been hashed with\n // contract address and then nonce. This hash will match the existing leaf in the private\n // data tree, so the kernel can just perform a membership check directly on this hash/leaf.\n compute_unique_siloed_note_hash(note_interface, note_with_header)\n }\n}\n\npub fn compute_note_hash_and_nullifier<Note, N, S>(\n note_interface: NoteInterface<Note, N>,\n note_header: NoteHeader,\n serialized_note: [Field; S]\n) -> [Field; 4] {\n let deserialize = note_interface.deserialize;\n let set_header = note_interface.set_header;\n let mut note = deserialize(arr_copy_slice(serialized_note, [0; N], 0));\n set_header(&mut note, note_header);\n\n let compute_note_hash = note_interface.compute_note_hash;\n let note_hash = compute_note_hash(note);\n let inner_note_hash = compute_inner_hash(note_header.storage_slot, note_hash);\n\n let siloed_note_hash = compute_siloed_hash(note_header.contract_address, inner_note_hash);\n\n let unique_siloed_note_hash = compute_unique_hash(note_header.nonce, siloed_note_hash);\n\n let compute_nullifier = note_interface.compute_nullifier;\n let inner_nullifier = compute_nullifier(note);\n\n [inner_note_hash, siloed_note_hash, unique_siloed_note_hash, inner_nullifier]\n}\n",
|
|
978
990
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/note/utils.nr"
|
|
979
991
|
},
|
|
980
|
-
"
|
|
992
|
+
"74": {
|
|
981
993
|
"source": "use dep::protocol_types::{\n address::AztecAddress,\n constants::{\n GENERATOR_INDEX__UNIQUE_COMMITMENT,\n GENERATOR_INDEX__SILOED_COMMITMENT,\n },\n hash::pedersen_hash,\n};\n\npub fn compute_inner_hash(storage_slot: Field, note_hash: Field) -> Field {\n // TODO(#1205) Do we need a generator index here?\n pedersen_hash([storage_slot, note_hash], 0)\n}\n\npub fn 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\npub fn 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",
|
|
982
994
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/note/note_hash.nr"
|
|
983
995
|
},
|
|
984
|
-
"
|
|
996
|
+
"77": {
|
|
985
997
|
"source": "use dep::std::option::Option;\nuse dep::protocol_types::constants::{\n MAX_READ_REQUESTS_PER_CALL,\n GET_NOTE_ORACLE_RETURN_LENGTH,\n GET_NOTES_ORACLE_RETURN_LENGTH,\n MAX_NOTES_PER_PAGE,\n VIEW_NOTE_ORACLE_RETURN_LENGTH,\n};\nuse crate::context::PrivateContext;\nuse crate::note::{\n note_getter_options::{NoteGetterOptions, Select, Sort, SortOrder},\n note_interface::NoteInterface,\n note_viewer_options::NoteViewerOptions,\n utils::compute_note_hash_for_read_or_nullify,\n};\nuse crate::oracle;\nuse crate::types::vec::BoundedVec;\n\nfn check_note_header<Note, N>(\n context: PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n note: Note\n) {\n let get_header = note_interface.get_header;\n let header = get_header(note);\n let contract_address = context.this_address();\n assert(header.contract_address.eq(contract_address));\n assert(header.storage_slot == storage_slot);\n}\n\nfn check_note_fields<N>(fields: [Field; N], selects: BoundedVec<Option<Select>, N>) {\n for i in 0..selects.len {\n let select = selects.get_unchecked(i).unwrap_unchecked();\n assert(fields[select.field_index] == select.value, \"Mismatch return note field.\");\n }\n}\n\nfn check_notes_order<N>(\n fields_0: [Field; N],\n fields_1: [Field; N],\n sorts: BoundedVec<Option<Sort>, N>\n) {\n for i in 0..sorts.len {\n let sort = sorts.get_unchecked(i).unwrap_unchecked();\n let eq = fields_0[sort.field_index] == fields_1[sort.field_index];\n let lt = fields_0[sort.field_index] as u120 < fields_1[sort.field_index] as u120;\n if sort.order == SortOrder.ASC {\n assert(eq | lt, \"Return notes not sorted in ascending order.\");\n } else if !eq {\n assert(!lt, \"Return notes not sorted in descending order.\");\n }\n }\n}\n\npub fn get_note<Note, N>(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>\n) -> Note {\n let note = get_note_internal(storage_slot, note_interface);\n\n check_note_header(*context, storage_slot, note_interface, note);\n\n let note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, note);\n\n context.push_read_request(note_hash_for_read_request);\n note\n}\n\npub fn get_notes<Note, N, FILTER_ARGS>(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n options: NoteGetterOptions<Note, N, FILTER_ARGS>\n) -> [Option<Note>; MAX_READ_REQUESTS_PER_CALL] {\n let opt_notes = get_notes_internal(storage_slot, note_interface, options);\n let mut num_notes = 0;\n let mut prev_fields = [0; N];\n for i in 0..opt_notes.len() {\n let opt_note = opt_notes[i];\n if opt_note.is_some() {\n let note = opt_note.unwrap_unchecked();\n let serialize = note_interface.serialize;\n let fields = serialize(note);\n check_note_header(*context, storage_slot, note_interface, note);\n check_note_fields(fields, options.selects);\n if i != 0 {\n check_notes_order(prev_fields, fields, options.sorts);\n }\n prev_fields = fields;\n\n let note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, note);\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1410): test to ensure\n // failure if malicious oracle injects 0 nonce here for a \"pre-existing\" note.\n context.push_read_request(note_hash_for_read_request);\n\n num_notes += 1;\n };\n }\n if options.limit != 0 {\n assert(num_notes <= options.limit, \"Invalid number of return notes.\");\n }\n opt_notes\n}\n\nunconstrained fn get_note_internal<Note, N>(storage_slot: Field, note_interface: NoteInterface<Note, N>) -> Note {\n let placeholder_note = [Option::none()];\n let placeholder_fields = [0; GET_NOTE_ORACLE_RETURN_LENGTH];\n oracle::notes::get_notes(\n storage_slot,\n note_interface,\n 0,\n [],\n [],\n [],\n [],\n 1, // limit\n 0, // offset\n placeholder_note,\n placeholder_fields\n )[0].unwrap() // Notice: we don't allow dummies to be returned from get_note (singular).\n}\n\nunconstrained fn get_notes_internal<Note, N, FILTER_ARGS>(\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n options: NoteGetterOptions<Note, N, FILTER_ARGS>\n) -> [Option<Note>; MAX_READ_REQUESTS_PER_CALL] {\n let (num_selects, select_by, select_values, sort_by, sort_order) = flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_READ_REQUESTS_PER_CALL];\n let placeholder_fields = [0; GET_NOTES_ORACLE_RETURN_LENGTH];\n let opt_notes = oracle::notes::get_notes(\n storage_slot,\n note_interface,\n num_selects,\n select_by,\n select_values,\n sort_by,\n sort_order,\n options.limit,\n options.offset,\n placeholder_opt_notes,\n placeholder_fields\n );\n\n let filter = options.filter;\n let filter_args = options.filter_args;\n filter(opt_notes, filter_args)\n}\n\nunconstrained pub fn view_notes<Note, N>(\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n options: NoteViewerOptions<Note, N>\n) -> [Option<Note>; MAX_NOTES_PER_PAGE] {\n let (num_selects, select_by, select_values, sort_by, sort_order) = flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_NOTES_PER_PAGE];\n let placeholder_fields = [0; VIEW_NOTE_ORACLE_RETURN_LENGTH];\n oracle::notes::get_notes(\n storage_slot,\n note_interface,\n num_selects,\n select_by,\n select_values,\n sort_by,\n sort_order,\n options.limit,\n options.offset,\n placeholder_opt_notes,\n placeholder_fields\n )\n}\n\nunconstrained fn flatten_options<Note, N>(\n selects: BoundedVec<Option<Select>, N>,\n sorts: BoundedVec<Option<Sort>, N>\n) -> (u8, [u8; N], [Field; N], [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 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 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, sort_by, sort_order)\n}\n",
|
|
986
998
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/note/note_getter.nr"
|
|
987
999
|
},
|
|
988
|
-
"
|
|
1000
|
+
"79": {
|
|
989
1001
|
"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 _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 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 sort_by,\n sort_order,\n limit,\n offset,\n return_size,\n placeholder_fields\n )\n}\n\nunconstrained pub fn get_notes<Note, N, M, S, NS>(\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n num_selects: u8,\n select_by: [u8; M],\n select_values: [Field; M],\n sort_by: [u8; M],\n sort_order: [u2; M],\n limit: u32,\n offset: u32,\n mut placeholder_opt_notes: [Option<Note>; S], // TODO: Remove it and use `limit` to initialize the note array.\n placeholder_fields: [Field; NS] // TODO: Remove it and use `limit` to initialize the note array.\n) -> [Option<Note>; S] {\n let fields = get_notes_oracle_wrapper(\n storage_slot,\n num_selects,\n select_by,\n select_values,\n sort_by,\n sort_order,\n limit,\n offset,\n placeholder_fields\n );\n let num_notes = fields[0] as u32;\n let contract_address = AztecAddress::from_field(fields[1]);\n let deserialize = note_interface.deserialize;\n let set_header = note_interface.set_header;\n for i in 0..placeholder_opt_notes.len() {\n if i as u32 < num_notes {\n // lengths named as per typescript.\n let return_header_length: Field = 2; // num_notes & contract_address.\n let extra_preimage_length: Field = 2; // nonce & is_transient.\n let read_offset: Field = return_header_length + i * (N + extra_preimage_length);\n let nonce = fields[read_offset];\n let is_transient = fields[read_offset + 1] as bool;\n let header = NoteHeader { contract_address, nonce, storage_slot, is_transient };\n let serialized_note = arr_copy_slice(fields, [0; N], read_offset + 2);\n let mut note = deserialize(serialized_note);\n set_header(&mut note, header);\n placeholder_opt_notes[i] = Option::some(note);\n };\n }\n placeholder_opt_notes\n}\n\n#[oracle(checkNullifierExists)]\nfn check_nullifier_exists_oracle(_inner_nullifier: Field) -> Field {}\n\nunconstrained pub fn check_nullifier_exists(inner_nullifier: Field) -> bool {\n check_nullifier_exists_oracle(inner_nullifier) == 1\n}\n",
|
|
990
1002
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/notes.nr"
|
|
991
1003
|
},
|
|
992
|
-
"
|
|
993
|
-
"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
|
|
1004
|
+
"80": {
|
|
1005
|
+
"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",
|
|
994
1006
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr"
|
|
995
1007
|
},
|
|
996
|
-
"
|
|
997
|
-
"source": "use dep::protocol_types::{\n abis::function_selector::FunctionSelector,\n address::AztecAddress,\n constants::CALL_PRIVATE_FUNCTION_RETURN_SIZE,\n};\n\n#[oracle(callPrivateFunction)]\nfn call_private_function_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {}\n\nunconstrained pub fn call_private_function_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {\n call_private_function_oracle(contract_address
|
|
1008
|
+
"85": {
|
|
1009
|
+
"source": "use dep::protocol_types::{\n abis::function_selector::FunctionSelector,\n address::AztecAddress,\n constants::CALL_PRIVATE_FUNCTION_RETURN_SIZE,\n};\n\n#[oracle(callPrivateFunction)]\nfn call_private_function_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _start_side_effect_counter: u32\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {}\n\nunconstrained pub fn call_private_function_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n start_side_effect_counter: u32\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {\n call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter\n )\n}\n",
|
|
998
1010
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/call_private_function.nr"
|
|
999
1011
|
},
|
|
1000
|
-
"
|
|
1012
|
+
"92": {
|
|
1001
1013
|
"source": "#[oracle(storageRead)]\nfn storage_read_oracle<N>(_storage_slot: Field, _number_of_elements: Field) -> [Field; N] {}\n\nunconstrained fn storage_read_oracle_wrapper<N>(_storage_slot: Field) -> [Field; N] {\n storage_read_oracle(_storage_slot, N)\n}\n\npub fn storage_read<T, N>(storage_slot: Field, deserialize: fn([Field; N]) -> T) -> T {\n let fields = storage_read_oracle_wrapper(storage_slot);\n deserialize(fields)\n}\n\n#[oracle(storageWrite)]\nfn storage_write_oracle<N>(_storage_slot: Field, _values: [Field; N]) -> [Field; N] {}\n\n// TODO: Remove return value.\nunconstrained pub fn storage_write<N>(storage_slot: Field, fields: [Field; N]) {\n let _hash = storage_write_oracle(storage_slot, fields);\n}\n",
|
|
1002
1014
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/storage.nr"
|
|
1003
1015
|
},
|
|
1004
|
-
"
|
|
1016
|
+
"94": {
|
|
1005
1017
|
"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",
|
|
1006
1018
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/get_public_key.nr"
|
|
1007
1019
|
},
|
|
1008
|
-
"
|
|
1020
|
+
"96": {
|
|
1009
1021
|
"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",
|
|
1010
1022
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/logs.nr"
|
|
1011
1023
|
},
|
|
1012
|
-
"
|
|
1024
|
+
"97": {
|
|
1013
1025
|
"source": "use crate::oracle::get_public_key::get_public_key;\nuse dep::protocol_types::{\n address::AztecAddress,\n grumpkin_point::GrumpkinPoint,\n};\n\n#[oracle(getSecretKey)]\nfn get_secret_key_oracle(_owner: GrumpkinPoint) -> [Field; dep::std::grumpkin_scalar::GRUMPKIN_SCALAR_SERIALIZED_LEN] {}\n\nunconstrained fn get_secret_key_internal(owner_public_key: GrumpkinPoint) -> dep::std::grumpkin_scalar::GrumpkinScalar {\n dep::std::grumpkin_scalar::deserialize_grumpkin_scalar(get_secret_key_oracle(owner_public_key))\n}\n\npub fn get_secret_key(owner: AztecAddress) -> dep::std::grumpkin_scalar::GrumpkinScalar {\n let owner_public_key = get_public_key(owner);\n let secret = get_secret_key_internal(owner_public_key);\n\n // Constrain the owner - Nullifier secret key is currently just the encryption private key so we can constrain\n // the owner by deriving the public key from the secret key and checking the result.\n let computed_public_key = dep::std::grumpkin_scalar_mul::grumpkin_fixed_base(secret);\n assert(owner_public_key.x == computed_public_key[0]);\n assert(owner_public_key.y == computed_public_key[1]);\n\n secret\n}\n",
|
|
1014
1026
|
"path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/get_secret_key.nr"
|
|
1015
1027
|
},
|
|
1016
|
-
"
|
|
1017
|
-
"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;\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 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;\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 = 26;\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 BLOCK_HEADER_LENGTH: Field = 7;\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\n// should change this constant as well as the offsets in private_call_stack_item.nr\nglobal PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH: Field = 189;\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 = 195;\nglobal PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH: Field = 87;\nglobal PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH: Field = 177;\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",
|
|
1028
|
+
"98": {
|
|
1029
|
+
"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;\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 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 = 26;\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 BLOCK_HEADER_LENGTH: Field = 7;\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\n// should change this constant as well as the offsets in private_call_stack_item.nr\nglobal PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH: Field = 189;\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 = 195;\nglobal PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH: Field = 87;\nglobal PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH: Field = 177;\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",
|
|
1018
1030
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/constants.nr"
|
|
1019
1031
|
},
|
|
1020
|
-
"
|
|
1021
|
-
"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::uint128::U128;\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 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// sha256 hash is stored in two fields to accommodate all 256-bits of the hash\nglobal NUM_FIELDS_PER_SHA256 : Field = 2;\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_field(previous_log_hash[0]),\n U128::from_field(previous_log_hash[1]),\n U128::from_field(current_log_hash[0]),\n U128::from_field(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",
|
|
1032
|
+
"104": {
|
|
1033
|
+
"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",
|
|
1022
1034
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/hash.nr"
|
|
1023
1035
|
},
|
|
1024
|
-
"
|
|
1025
|
-
"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;\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 AztecAddress {\n pub fn zero() -> Self {\n Self {\n inner: 0\n }\n }\n\n pub fn from_field(field : Field) -> Self {\n Self {\n inner : field\n }\n }\n\n pub fn compute(pub_key: GrumpkinPoint, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n pedersen_hash(\n [pub_key.x, pub_key.y, partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS\n )\n )\n }\n\n pub fn
|
|
1036
|
+
"120": {
|
|
1037
|
+
"source": "use crate::{\n constants::{\n GENERATOR_INDEX__CONTRACT_ADDRESS,\n GENERATOR_INDEX__PARTIAL_ADDRESS,\n },\n hash::pedersen_hash,\n utils,\n grumpkin_point::GrumpkinPoint,\n};\nuse dep::std::cmp::Eq;\nuse crate::traits::{Empty, ToField};\n\n// Aztec address\nstruct AztecAddress {\n inner : Field\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self {\n inner: 0\n }\n }\n\n pub fn from_field(field : Field) -> Self {\n Self {\n inner : field\n }\n }\n\n pub fn compute(pub_key: GrumpkinPoint, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n pedersen_hash(\n [pub_key.x, pub_key.y, partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS\n )\n )\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n \n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs : Self, rhs : Self) -> Self{\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self {\n inner : result\n }\n }\n\n pub fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n\n pub fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0]\n }\n }\n}\n\nstruct EthAddress{\n inner : Field\n}\n\nimpl Eq for EthAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for EthAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for EthAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl EthAddress{\n pub fn zero() -> Self {\n Self {\n inner: 0\n }\n }\n\n pub fn from_field(field : Field) -> Self {\n Self {\n inner : field\n }\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs : Self, rhs : Self) -> Self{\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self {\n inner : result\n }\n }\n\n pub fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n\n pub fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0]\n }\n }\n}\n\n// Partial address\nstruct PartialAddress {\n inner : Field\n}\n\nimpl ToField for PartialAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl PartialAddress {\n pub fn from_field(field : Field) -> Self {\n Self {\n inner : field\n }\n }\n\n pub fn compute(contract_address_salt : Field, function_tree_root : Field, constructor_hash : Field) -> Self {\n PartialAddress::from_field(\n pedersen_hash([\n // TODO why the zeroes?\n 0,\n 0,\n contract_address_salt,\n function_tree_root,\n constructor_hash\n ], GENERATOR_INDEX__PARTIAL_ADDRESS)\n )\n }\n\n pub fn to_field(self) -> Field {\n self.inner\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n",
|
|
1026
1038
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/address.nr"
|
|
1027
1039
|
},
|
|
1028
|
-
"
|
|
1040
|
+
"125": {
|
|
1029
1041
|
"source": "use crate::address::EthAddress;\nuse crate::constants::{\n CONTRACT_DEPLOYMENT_DATA_LENGTH,\n GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA,\n};\nuse crate::hash::pedersen_hash;\nuse crate::grumpkin_point::GrumpkinPoint;\nuse crate::traits::Hash;\n\n// docs:start:contract-deployment-data\nstruct ContractDeploymentData {\n deployer_public_key : GrumpkinPoint,\n constructor_vk_hash : Field,\n function_tree_root : Field,\n contract_address_salt : Field,\n portal_contract_address : EthAddress,\n}\n// docs:end:contract-deployment-data\n\nimpl Hash for ContractDeploymentData {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA)\n }\n}\n\nimpl ContractDeploymentData {\n fn serialize(self) -> [Field; CONTRACT_DEPLOYMENT_DATA_LENGTH] {\n [\n self.deployer_public_key.x,\n self.deployer_public_key.y,\n self.constructor_vk_hash,\n self.function_tree_root,\n self.contract_address_salt,\n self.portal_contract_address.to_field(),\n ]\n }\n\n fn assert_is_zero(self) {\n self.deployer_public_key.assert_is_zero();\n assert(self.constructor_vk_hash == 0);\n assert(self.function_tree_root == 0);\n assert(self.contract_address_salt == 0);\n self.portal_contract_address.assert_is_zero();\n }\n\n}\n",
|
|
1030
1042
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/contrakt/deployment_data.nr"
|
|
1031
1043
|
},
|
|
1032
|
-
"
|
|
1044
|
+
"126": {
|
|
1033
1045
|
"source": "use crate::{\n constants::{\n CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH,\n GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST,\n },\n hash::pedersen_hash,\n};\nuse dep::std::cmp::Eq;\nuse crate::traits::{Hash, Empty};\n\nstruct StorageUpdateRequest{\n storage_slot : Field,\n old_value : Field,\n new_value : Field,\n}\n\nimpl Eq for StorageUpdateRequest {\n fn eq(self, request: Self) -> bool {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)\n (request.storage_slot == self.storage_slot)\n & (request.old_value == self.old_value)\n & (request.new_value == self.new_value)\n }\n}\n\nimpl Empty for StorageUpdateRequest {\n fn empty() -> Self {\n StorageUpdateRequest {\n storage_slot: 0,\n old_value: 0,\n new_value: 0,\n }\n }\n}\n\nimpl Hash for StorageUpdateRequest {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST)\n }\n}\n\nimpl StorageUpdateRequest {\n pub fn serialize(self) -> [Field; CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH] {\n [self.storage_slot, self.old_value, self.new_value]\n }\n\n pub fn is_empty(self) -> bool {\n self.storage_slot == 0\n }\n}\n",
|
|
1034
1046
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/contrakt/storage_update_request.nr"
|
|
1035
1047
|
},
|
|
1036
|
-
"
|
|
1048
|
+
"127": {
|
|
1037
1049
|
"source": "use crate::{\n constants::{\n CONTRACT_STORAGE_READ_LENGTH,\n GENERATOR_INDEX__PUBLIC_DATA_READ,\n },\n hash::pedersen_hash,\n};\nuse crate::traits::Empty;\n\nstruct StorageRead {\n storage_slot: Field,\n current_value: Field,\n}\n\nimpl Empty for StorageRead { \n fn empty() -> Self {\n Self {\n storage_slot: 0,\n current_value: 0,\n }\n }\n}\n\nimpl StorageRead {\n\n pub fn serialize(self) -> [Field; CONTRACT_STORAGE_READ_LENGTH] {\n [self.storage_slot, self.current_value]\n }\n\n pub fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_READ)\n }\n\n pub fn is_empty(self) -> bool {\n self.storage_slot == 0\n }\n}\n",
|
|
1038
1050
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/contrakt/storage_read.nr"
|
|
1039
1051
|
},
|
|
1040
|
-
"
|
|
1052
|
+
"135": {
|
|
1041
1053
|
"source": "use crate::abis::{\n function_data::FunctionData,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_circuit_public_inputs::PublicCircuitPublicInputs,\n};\nuse crate::address::AztecAddress;\nuse crate::constants::{\n GENERATOR_INDEX__CALL_STACK_ITEM,\n};\nuse crate::traits::Hash;\n\nstruct PrivateCallStackItem {\n // This is the _actual_ contract address relating to where this function's code resides in the\n // contract tree. Regardless of whether this is a call or delegatecall, this\n // `contract_address` _does not change_. Amongst other things, it's used as a lookup for\n // getting the correct code from the tree. There is a separate `storage_contract_address`\n // within a CallStackItem which varies depending on whether this is a call or delegatecall.\n contract_address: AztecAddress,\n public_inputs: PrivateCircuitPublicInputs,\n function_data: FunctionData,\n // Not really needed for PrivateCallStackItem.\n is_execution_request: bool,\n}\n\nimpl Hash for PrivateCallStackItem {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator([\n self.contract_address.to_field(),\n self.function_data.hash(),\n self.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nstruct PublicCallStackItem {\n contract_address: AztecAddress,\n public_inputs: PublicCircuitPublicInputs,\n function_data: FunctionData,\n // True if this call stack item represents a request to execute a function rather than a\n // fulfilled execution. Used when enqueuing calls from private to public functions.\n is_execution_request: bool,\n}\n\nimpl Hash for PublicCallStackItem {\n fn hash(self) -> Field {\n let item = if self.is_execution_request {\n self.as_execution_request()\n } else {\n self\n };\n\n dep::std::hash::pedersen_hash_with_separator([\n item.contract_address.to_field(),\n item.function_data.hash(),\n item.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl PublicCallStackItem {\n fn as_execution_request(self) -> Self {\n let public_inputs = self.public_inputs;\n let mut request_public_inputs: PublicCircuitPublicInputs = dep::std::unsafe::zeroed();\n request_public_inputs.call_context = public_inputs.call_context;\n request_public_inputs.args_hash = public_inputs.args_hash;\n\n let call_stack_item = PublicCallStackItem {\n contract_address: self.contract_address,\n function_data: self.function_data,\n is_execution_request: true,\n public_inputs: request_public_inputs,\n };\n call_stack_item\n }\n}\n",
|
|
1042
1054
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/call_stack_item.nr"
|
|
1043
1055
|
},
|
|
1044
|
-
"
|
|
1045
|
-
"source": "use crate::constants::{GENERATOR_INDEX__SIDE_EFFECT};\nuse dep::std::cmp::Eq;\nuse crate::traits::{Empty, Hash};\n\nstruct SideEffect{\n value: Field,\n counter:
|
|
1056
|
+
"140": {
|
|
1057
|
+
"source": "use crate::constants::{GENERATOR_INDEX__SIDE_EFFECT};\nuse dep::std::cmp::Eq;\nuse crate::traits::{Empty, Hash};\n\ntrait Ordered {\n fn counter(self) -> u32;\n}\n\nstruct SideEffect{\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for SideEffect {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for SideEffect {\n fn eq(self, side_effect: SideEffect) -> bool {\n (self.value == side_effect.value)\n & (self.counter == side_effect.counter)\n }\n}\n\nimpl Empty for SideEffect {\n fn empty() -> Self {\n SideEffect {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Hash for SideEffect {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator(\n self.serialize() , GENERATOR_INDEX__SIDE_EFFECT)\n }\n}\n\nimpl SideEffect {\n pub fn serialize(self) -> [Field; 2] {\n [self.value, self.counter as Field]\n }\n\n pub fn deserialise(values: [Field; 2]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n\n pub fn is_empty(self) -> bool {\n (self.value == 0)\n & (self.counter == 0)\n }\n}\n\nstruct SideEffectLinkedToNoteHash{\n value: Field,\n note_hash: Field,\n counter: u32,\n}\n\nimpl Ordered for SideEffectLinkedToNoteHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for SideEffectLinkedToNoteHash {\n fn eq(self, side_effect: SideEffectLinkedToNoteHash) -> bool {\n (self.value == side_effect.value)\n & (self.note_hash == side_effect.note_hash) \n & (self.counter == side_effect.counter)\n }\n}\n\nimpl Empty for SideEffectLinkedToNoteHash {\n fn empty() -> Self {\n SideEffectLinkedToNoteHash {\n value: 0,\n note_hash: 0,\n counter: 0,\n }\n }\n}\n\nimpl Hash for SideEffectLinkedToNoteHash {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__SIDE_EFFECT)\n }\n}\n\nimpl SideEffectLinkedToNoteHash{\n pub fn serialize(self) -> [Field; 3] {\n [self.value, self.note_hash, self.counter as Field]\n }\n\n pub fn deserialise(values: [Field; 3]) -> Self {\n Self {\n value: values[0],\n note_hash: values[1],\n counter: values[2] as u32,\n }\n }\n\n pub fn is_empty(self) -> bool {\n (self.value == 0)\n & (self.note_hash == 0)\n & (self.counter == 0)\n }\n}\n\n",
|
|
1046
1058
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/side_effect.nr"
|
|
1047
1059
|
},
|
|
1048
|
-
"
|
|
1049
|
-
"source": "use crate::constants::{\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n RETURN_VALUES_LENGTH,\n GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n};\nuse crate::{\n abis::{\n call_context::CallContext,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash},\n block_header::BlockHeader,\n },\n address::AztecAddress,\n contrakt::{\n storage_read::StorageRead,\n storage_update_request::StorageUpdateRequest,\n },\n
|
|
1060
|
+
"143": {
|
|
1061
|
+
"source": "use crate::constants::{\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n RETURN_VALUES_LENGTH,\n GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n};\nuse crate::{\n abis::{\n call_context::CallContext,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash},\n block_header::BlockHeader,\n },\n address::AztecAddress,\n contrakt::{\n storage_read::StorageRead,\n storage_update_request::StorageUpdateRequest,\n },\n utils::bounded_vec::BoundedVec,\n};\n\nstruct PublicCircuitPublicInputs{\n call_context: CallContext,\n\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n\n contract_storage_update_requests: [StorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\n\n // todo: add sideeffect ranges for the input to these hashes\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [SideEffect; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash; MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n\n // Here so that the gas cost of this request can be measured by circuits, without actually needing to feed in the\n // variable-length data.\n unencrypted_log_preimages_length: Field,\n\n block_header: BlockHeader,\n\n prover_address: AztecAddress,\n}\n\nimpl PublicCircuitPublicInputs{\n fn hash(self) -> Field { \n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595) have mercy por favor \n let mut inputs: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH> = BoundedVec::new(0);\n inputs.push(self.call_context.hash());\n inputs.push(self.args_hash);\n inputs.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n inputs.push(self.contract_storage_update_requests[i].hash());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n inputs.push(self.contract_storage_reads[i].hash());\n }\n inputs.push_array(self.public_call_stack_hashes);\n\n for i in 0..MAX_NEW_COMMITMENTS_PER_CALL{\n inputs.push(self.new_commitments[i].hash());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL{\n inputs.push(self.new_nullifiers[i].hash());\n }\n inputs.push_array(self.new_l2_to_l1_msgs);\n inputs.push_array(self.unencrypted_logs_hash);\n inputs.push(self.unencrypted_log_preimages_length);\n inputs.push_array(self.block_header.serialize());\n inputs.push(self.prover_address.to_field());\n\n assert_eq(inputs.len(), PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH, \"Incorrect number of input fields when hashing PublicCircuitPublicInputs\");\n\n dep::std::hash::pedersen_hash_with_separator(inputs.storage, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)\n }\n\n pub fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize()); \n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n fields.push_array(self.contract_storage_update_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n fields.push_array(self.contract_storage_reads[i].serialize());\n }\n fields.push_array(self.public_call_stack_hashes);\n\n for i in 0..MAX_NEW_COMMITMENTS_PER_CALL{\n fields.push_array(self.new_commitments[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL{\n fields.push_array(self.new_nullifiers[i].serialize());\n }\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_header.serialize());\n fields.push(self.prover_address.to_field());\n fields.storage\n }\n}\n",
|
|
1050
1062
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/public_circuit_public_inputs.nr"
|
|
1051
1063
|
},
|
|
1052
|
-
"
|
|
1053
|
-
"source": "use crate::{\n abis::{\n call_context::CallContext,\n block_header::BlockHeader,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash},\n },\n contrakt::deployment_data::ContractDeploymentData,\n hash::{\n
|
|
1064
|
+
"145": {
|
|
1065
|
+
"source": "use crate::{\n abis::{\n call_context::CallContext,\n block_header::BlockHeader,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash},\n },\n contrakt::deployment_data::ContractDeploymentData,\n hash::{\n pedersen_hash,\n },\n utils::bounded_vec::BoundedVec,\n};\nuse crate::constants::{\n MAX_READ_REQUESTS_PER_CALL,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n RETURN_VALUES_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS,\n};\nuse crate::traits::Hash;\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n \n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n\n read_requests: [SideEffect; MAX_READ_REQUESTS_PER_CALL],\n\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 block_header: BlockHeader,\n\n contract_deployment_data: ContractDeploymentData,\n\n chain_id: Field,\n version: Field,\n}\n\nimpl Hash for PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH> = BoundedVec::new(0); \n fields.push(self.call_context.hash());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n\n for i in 0..MAX_READ_REQUESTS_PER_CALL{\n fields.push_array(self.read_requests[i].serialize());\n }\n for i in 0..MAX_NEW_COMMITMENTS_PER_CALL{\n fields.push_array(self.new_commitments[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL{\n fields.push_array(self.new_nullifiers[i].serialize());\n }\n fields.push_array(self.private_call_stack_hashes);\n fields.push_array(self.public_call_stack_hashes);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push(self.end_side_effect_counter as Field);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_header.serialize());\n fields.push(self.contract_deployment_data.hash());\n fields.push(self.chain_id);\n fields.push(self.version);\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH, \"Incorrect number of input fields when hashing PrivateCircuitPublicInputs\");\n\n pedersen_hash(fields.storage, GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl PrivateCircuitPublicInputs {\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n\n for i in 0..MAX_READ_REQUESTS_PER_CALL{\n fields.push_array(self.read_requests[i].serialize());\n }\n for i in 0..MAX_NEW_COMMITMENTS_PER_CALL{\n fields.push_array(self.new_commitments[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL{\n fields.push_array(self.new_nullifiers[i].serialize());\n }\n fields.push_array(self.private_call_stack_hashes);\n fields.push_array(self.public_call_stack_hashes);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push(self.end_side_effect_counter as Field);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_header.serialize());\n fields.push_array(self.contract_deployment_data.serialize());\n fields.push(self.chain_id);\n fields.push(self.version);\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH);\n\n fields.storage\n }\n}\n\n#[test]\nfn serialization_smoke() {\n let pcpi: PrivateCircuitPublicInputs = dep::std::unsafe::zeroed();\n let _serialized = pcpi.serialize();\n}\n\n#[test]\nfn hash_smoke() {\n let pcpi: PrivateCircuitPublicInputs = dep::std::unsafe::zeroed();\n let _hashed = pcpi.hash();\n}\n",
|
|
1054
1066
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/private_circuit_public_inputs.nr"
|
|
1055
1067
|
},
|
|
1056
|
-
"
|
|
1068
|
+
"148": {
|
|
1057
1069
|
"source": "use crate::abis::function_selector::FunctionSelector;\nuse crate::constants::GENERATOR_INDEX__FUNCTION_DATA;\n\nstruct FunctionData {\n // First four bytes of the abi encoding \n // of a function. \n selector : FunctionSelector,\n is_internal : bool,\n is_private : bool,\n is_constructor : bool,\n}\n\nimpl FunctionData {\n // A field is ~256 bits\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3057): Since, function data can fit into a Field,\n // This method will simply return a bit packed Field instead of hashing\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator([\n self.selector.to_field(),\n self.is_internal as Field,\n self.is_private as Field,\n self.is_constructor as Field,\n ], GENERATOR_INDEX__FUNCTION_DATA)\n }\n}\n",
|
|
1058
1070
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/function_data.nr"
|
|
1059
1071
|
},
|
|
1060
|
-
"
|
|
1061
|
-
"source": "use crate::{\n abis::function_selector::FunctionSelector,\n address::{EthAddress,AztecAddress},\n constants::{\n CALL_CONTEXT_LENGTH,\n GENERATOR_INDEX__CALL_CONTEXT,\n },\n hash::pedersen_hash,\n};\nuse dep::std::cmp::Eq;\nuse crate::traits::Hash;\n\n// docs:start:call-context\nstruct CallContext {\n msg_sender : AztecAddress,\n storage_contract_address : AztecAddress,\n portal_contract_address : EthAddress,\n\n function_selector : FunctionSelector,\n\n is_delegate_call : bool,\n is_static_call : bool,\n is_contract_deployment : bool,\n\n start_side_effect_counter :
|
|
1072
|
+
"153": {
|
|
1073
|
+
"source": "use crate::{\n abis::function_selector::FunctionSelector,\n address::{EthAddress,AztecAddress},\n constants::{\n CALL_CONTEXT_LENGTH,\n GENERATOR_INDEX__CALL_CONTEXT,\n },\n hash::pedersen_hash,\n};\nuse dep::std::cmp::Eq;\nuse crate::traits::Hash;\n\n// docs:start:call-context\nstruct CallContext {\n msg_sender : AztecAddress,\n storage_contract_address : AztecAddress,\n portal_contract_address : EthAddress,\n\n function_selector : FunctionSelector,\n\n is_delegate_call : bool,\n is_static_call : bool,\n is_contract_deployment : bool,\n\n start_side_effect_counter : u32,\n}\n// docs:end:call-context\n\nimpl Eq for CallContext {\n fn eq(self, call_context: CallContext) -> bool {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)\n call_context.msg_sender.eq(self.msg_sender)\n & call_context.storage_contract_address.eq(self.storage_contract_address)\n & call_context.portal_contract_address.eq(self.portal_contract_address)\n & call_context.function_selector.eq(self.function_selector)\n & (call_context.is_delegate_call == self.is_delegate_call)\n & (call_context.is_static_call == self.is_static_call)\n & (call_context.is_contract_deployment == self.is_contract_deployment)\n & (call_context.start_side_effect_counter == self.start_side_effect_counter)\n }\n}\n\nimpl Hash for CallContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)\n }\n}\n\nimpl CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n [\n self.msg_sender.to_field(),\n self.storage_contract_address.to_field(),\n self.portal_contract_address.to_field(),\n self.function_selector.to_field(),\n self.is_delegate_call as Field,\n self.is_static_call as Field,\n self.is_contract_deployment as Field,\n self.start_side_effect_counter as Field,\n ]\n }\n\n fn assert_is_zero(self) {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)\n assert(self.msg_sender.to_field() == 0);\n assert(self.storage_contract_address.to_field() == 0);\n assert(self.portal_contract_address.to_field() == 0);\n assert(self.function_selector.to_field() == 0);\n assert(self.is_delegate_call == false);\n assert(self.is_static_call == false);\n assert(self.is_contract_deployment == false);\n assert(self.start_side_effect_counter == 0);\n }\n}\n",
|
|
1062
1074
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/call_context.nr"
|
|
1063
1075
|
},
|
|
1064
|
-
"
|
|
1076
|
+
"159": {
|
|
1065
1077
|
"source": "use crate::utils::field::field_from_bytes;\nuse dep::std::cmp::Eq;\n\nglobal SELECTOR_SIZE = 4;\n\nstruct FunctionSelector {\n // 1st 4-bytes of abi-encoding of function.\n inner: u32,\n}\n\nimpl Eq for FunctionSelector {\n fn eq(self, function_selector: FunctionSelector) -> bool {\n function_selector.inner == self.inner\n }\n}\n\nimpl FunctionSelector {\n fn to_field(self) -> Field {\n self.inner as Field\n }\n\n pub fn from_u32(value: u32) -> Self {\n Self {\n inner : value,\n }\n }\n\n pub fn from_field(value : Field) -> Self {\n Self {\n inner : value as u32,\n }\n }\n\n pub fn from_signature<N>(signature: str<N>) -> Self {\n let bytes = signature.as_bytes();\n let hash = dep::std::hash::keccak256(bytes, bytes.len() as u32);\n\n let mut selector_be_bytes = [0; SELECTOR_SIZE];\n for i in 0..SELECTOR_SIZE {\n selector_be_bytes[i] = hash[i];\n }\n\n FunctionSelector::from_field(field_from_bytes(selector_be_bytes, true))\n }\n\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn serialize(self: Self) -> [Field; 1] {\n [self.inner as Field]\n }\n\n pub fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0] as u32\n }\n }\n}\n",
|
|
1066
1078
|
"path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/function_selector.nr"
|
|
1067
1079
|
},
|
|
1068
|
-
"
|
|
1069
|
-
"source": "mod ecdsa_public_key_note;\n\n// Account contract that uses ECDSA signatures for authentication on the same curve as Ethereum.\n// The signing key is stored in an immutable private note and should be different from the signing key.\ncontract EcdsaAccount {\n use dep::protocol_types::address::AztecAddress;\n use dep::std;\n use dep::std::option::Option;\n use dep::aztec::{\n abi::CallContext,\n context::{PrivateContext, PublicContext, Context},\n note::{\n note_header::NoteHeader,\n utils as note_utils,\n },\n oracle::get_public_key::get_public_key,\n state_vars::immutable_singleton::ImmutableSingleton,\n };\n use dep::authwit:: {\n entrypoint::{ EntrypointPayload, ENTRYPOINT_PAYLOAD_SIZE },\n account::AccountActions,\n auth_witness::get_auth_witness,\n };\n\n use crate::ecdsa_public_key_note::{\n EcdsaPublicKeyNote, EcdsaPublicKeyNoteInterface, ECDSA_PUBLIC_KEY_NOTE_LEN,\n };\n\n struct Storage {\n public_key: ImmutableSingleton<EcdsaPublicKeyNote, ECDSA_PUBLIC_KEY_NOTE_LEN>,\n }\n\n impl Storage {\n fn init(context: Context) -> Self {\n Storage {\n public_key: ImmutableSingleton::new(context, 1, EcdsaPublicKeyNoteInterface),\n }\n }\n }\n\n global ACCOUNT_ACTIONS_STORAGE_SLOT = 2;\n\n // Creates a new account out of an ECDSA public key to use for signature verification\n #[aztec(private)]\n fn constructor(signing_pub_key_x: pub [u8; 32], signing_pub_key_y: pub [u8; 32]) {\n let this = context.this_address();\n let mut pub_key_note = EcdsaPublicKeyNote::new(signing_pub_key_x, signing_pub_key_y, this);\n storage.public_key.initialize(&mut pub_key_note, Option::none(), true);\n }\n\n // Note: If you globally change the entrypoint signature don't forget to update default_entrypoint.ts\n #[aztec(private)]\n fn entrypoint(payload: pub EntrypointPayload) {\n let actions = AccountActions::private(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.entrypoint(payload);\n }\n\n #[aztec(private)]\n fn is_valid(message_hash: Field) -> Field {\n let actions = AccountActions::private(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.is_valid(message_hash)\n }\n\n #[aztec(public)]\n fn is_valid_public(message_hash: Field) -> Field {\n let actions = AccountActions::public(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.is_valid_public(message_hash)\n }\n\n #[aztec(public)]\n internal fn set_is_valid_storage(message_hash: Field, value: bool) {\n let actions = AccountActions::public(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.internal_set_is_valid_storage(message_hash, value)\n }\n\n #[contract_library_method]\n fn is_valid_impl(context: &mut PrivateContext, message_field: Field) -> pub bool {\n // Load public key from storage\n let storage = Storage::init(Context::private(context));\n let public_key = storage.public_key.get_note();\n\n // Load auth witness\n let witness: [Field; 64] = get_auth_witness(message_field);\n let mut signature: [u8; 64] = [0; 64];\n for i in 0..64 {\n signature[i] = witness[i] as u8;\n }\n\n // Verify payload signature using Ethereum's signing scheme\n // Note that noir expects the hash of the message/challenge as input to the ECDSA verification.\n let hashed_message: [u8; 32] = std::hash::sha256(message_field.to_be_bytes(32));\n let verification = std::ecdsa_secp256k1::verify_signature(public_key.x, public_key.y, signature, hashed_message);\n assert(verification == true);\n\n true\n }\n\n // Computes note hash and nullifier.\n // Note 1: Needs to be defined by every contract producing logs.\n // Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.\n unconstrained fn compute_note_hash_and_nullifier(\n contract_address: AztecAddress,\n nonce: Field,\n storage_slot: Field,\n serialized_note: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]\n ) -> pub [Field; 4] {\n assert(storage_slot == 1);\n let note_header = NoteHeader::new(contract_address, nonce, storage_slot);\n note_utils::compute_note_hash_and_nullifier(EcdsaPublicKeyNoteInterface, note_header, serialized_note)\n }\n}\n",
|
|
1080
|
+
"185": {
|
|
1081
|
+
"source": "mod ecdsa_public_key_note;\n\n// Account contract that uses ECDSA signatures for authentication on the same curve as Ethereum.\n// The signing key is stored in an immutable private note and should be different from the signing key.\ncontract EcdsaAccount {\n use dep::aztec::protocol_types::address::AztecAddress;\n use dep::std;\n use dep::std::option::Option;\n use dep::aztec::{\n abi::CallContext,\n context::{PrivateContext, PublicContext, Context},\n note::{\n note_header::NoteHeader,\n utils as note_utils,\n },\n oracle::get_public_key::get_public_key,\n state_vars::immutable_singleton::ImmutableSingleton,\n };\n use dep::authwit:: {\n entrypoint::{ EntrypointPayload, ENTRYPOINT_PAYLOAD_SIZE },\n account::AccountActions,\n auth_witness::get_auth_witness,\n };\n\n use crate::ecdsa_public_key_note::{\n EcdsaPublicKeyNote, EcdsaPublicKeyNoteInterface, ECDSA_PUBLIC_KEY_NOTE_LEN,\n };\n\n struct Storage {\n public_key: ImmutableSingleton<EcdsaPublicKeyNote, ECDSA_PUBLIC_KEY_NOTE_LEN>,\n }\n\n impl Storage {\n fn init(context: Context) -> Self {\n Storage {\n public_key: ImmutableSingleton::new(context, 1, EcdsaPublicKeyNoteInterface),\n }\n }\n }\n\n global ACCOUNT_ACTIONS_STORAGE_SLOT = 2;\n\n // Creates a new account out of an ECDSA public key to use for signature verification\n #[aztec(private)]\n fn constructor(signing_pub_key_x: pub [u8; 32], signing_pub_key_y: pub [u8; 32]) {\n let this = context.this_address();\n let mut pub_key_note = EcdsaPublicKeyNote::new(signing_pub_key_x, signing_pub_key_y, this);\n storage.public_key.initialize(&mut pub_key_note, Option::none(), true);\n }\n\n // Note: If you globally change the entrypoint signature don't forget to update default_entrypoint.ts\n #[aztec(private)]\n fn entrypoint(payload: pub EntrypointPayload) {\n let actions = AccountActions::private(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.entrypoint(payload);\n }\n\n #[aztec(private)]\n fn is_valid(message_hash: Field) -> Field {\n let actions = AccountActions::private(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.is_valid(message_hash)\n }\n\n #[aztec(public)]\n fn is_valid_public(message_hash: Field) -> Field {\n let actions = AccountActions::public(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.is_valid_public(message_hash)\n }\n\n #[aztec(public)]\n internal fn set_is_valid_storage(message_hash: Field, value: bool) {\n let actions = AccountActions::public(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.internal_set_is_valid_storage(message_hash, value)\n }\n\n #[contract_library_method]\n fn is_valid_impl(context: &mut PrivateContext, message_field: Field) -> pub bool {\n // Load public key from storage\n let storage = Storage::init(Context::private(context));\n let public_key = storage.public_key.get_note();\n\n // Load auth witness\n let witness: [Field; 64] = get_auth_witness(message_field);\n let mut signature: [u8; 64] = [0; 64];\n for i in 0..64 {\n signature[i] = witness[i] as u8;\n }\n\n // Verify payload signature using Ethereum's signing scheme\n // Note that noir expects the hash of the message/challenge as input to the ECDSA verification.\n let hashed_message: [u8; 32] = std::hash::sha256(message_field.to_be_bytes(32));\n let verification = std::ecdsa_secp256k1::verify_signature(public_key.x, public_key.y, signature, hashed_message);\n assert(verification == true);\n\n true\n }\n\n // Computes note hash and nullifier.\n // Note 1: Needs to be defined by every contract producing logs.\n // Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.\n unconstrained fn compute_note_hash_and_nullifier(\n contract_address: AztecAddress,\n nonce: Field,\n storage_slot: Field,\n serialized_note: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]\n ) -> pub [Field; 4] {\n assert(storage_slot == 1);\n let note_header = NoteHeader::new(contract_address, nonce, storage_slot);\n note_utils::compute_note_hash_and_nullifier(EcdsaPublicKeyNoteInterface, note_header, serialized_note)\n }\n}\n",
|
|
1070
1082
|
"path": "/usr/src/yarn-project/noir-contracts/contracts/ecdsa_account_contract/src/main.nr"
|
|
1071
1083
|
},
|
|
1072
|
-
"
|
|
1073
|
-
"source": "use dep::protocol_types::address::AztecAddress;\nuse dep::aztec::{\n note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n utils::compute_unique_siloed_note_hash,\n },\n oracle::{\n get_secret_key::get_secret_key,\n get_public_key::get_public_key,\n },\n log::emit_encrypted_log,\n hash::pedersen_hash,\n context::PrivateContext,\n};\n\nglobal ECDSA_PUBLIC_KEY_NOTE_LEN: Field = 5;\n\n// Stores an ECDSA public key composed of two 32-byte elements\n// TODO: Do we need to include a nonce, in case we want to read/nullify/recreate with the same pubkey value?\nstruct EcdsaPublicKeyNote {\n x: [u8; 32],\n y: [u8; 32],\n owner: AztecAddress, // We store the owner address only to get the secret key to compute the nullifier\n header: NoteHeader,\n}\n\nimpl EcdsaPublicKeyNote {\n pub fn new(x: [u8; 32], y: [u8; 32], owner: AztecAddress) -> Self {\n EcdsaPublicKeyNote {\n x,\n y,\n owner,\n header: NoteHeader::empty(),\n }\n }\n\n // serialize the note as 5 fields where:\n // [0] = x[0..31] (upper bound excluded)\n // [1] = x[31]\n // [2] = y[0..31]\n // [3] = y[31]\n // [4] = owner\n pub fn serialize(self) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] {\n let mut x: Field = 0;\n let mut y: Field = 0;\n let mut mul: Field = 1;\n\n for i in 1..32 {\n let byte_x: Field = self.x[31 - i] as Field;\n x = x + (byte_x * mul);\n let byte_y: Field = self.y[31 - i] as Field;\n y = y + (byte_y * mul);\n mul *= 256;\n }\n\n let last_x = self.x[31] as Field;\n let last_y = self.y[31] as Field;\n \n [x, last_x, y, last_y, self.owner.to_field()]\n }\n\n pub fn compute_nullifier(self) -> Field {\n let unique_siloed_note_hash = compute_unique_siloed_note_hash(EcdsaPublicKeyNoteInterface, self);\n let secret = get_secret_key(self.owner);\n // TODO(#1205) Should use a non-zero generator index.\n pedersen_hash([\n unique_siloed_note_hash,\n secret.low,\n secret.high,\n ],0)\n }\n\n pub fn set_header(&mut self, header: NoteHeader) {\n self.header = header;\n }\n\n // Broadcasts the note as an encrypted log on L1.\n pub fn broadcast(self, context: &mut PrivateContext, slot: Field) {\n let encryption_pub_key = get_public_key(self.owner);\n emit_encrypted_log(\n context,\n (*context).this_address(),\n slot,\n encryption_pub_key,\n self.serialize(),\n );\n }\n}\n\nfn deserialize(serialized_note: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]) -> EcdsaPublicKeyNote {\n let mut x: [u8; 32] = [0; 32];\n let mut y: [u8; 32] = [0; 32];\n\n let part_x = serialized_note[0].to_be_bytes(32);\n for i in 0..31 {\n x[i] = part_x[i + 1];\n }\n x[31] = serialized_note[1].to_be_bytes(32)[31];\n\n let part_y = serialized_note[2].to_be_bytes(32);\n for i in 0..31 {\n y[i] = part_y[i + 1];\n }\n y[31] = serialized_note[3].to_be_bytes(32)[31];\n\n EcdsaPublicKeyNote { x, y, owner: AztecAddress::from_field(serialized_note[4]), header: NoteHeader::empty() }\n}\n\nfn serialize(note: EcdsaPublicKeyNote) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] {\n note.serialize()\n}\n\nfn compute_note_hash(note: EcdsaPublicKeyNote) -> Field {\n // TODO(#1205) Should use a non-zero generator index.\n pedersen_hash(note.serialize(), 0)\n}\n\nfn compute_nullifier(note: EcdsaPublicKeyNote) -> Field {\n note.compute_nullifier()\n}\n\nfn get_header(note: EcdsaPublicKeyNote) -> NoteHeader {\n note.header\n}\n\nfn set_header(note: &mut EcdsaPublicKeyNote, header: NoteHeader) {\n note.set_header(header);\n}\n\n// Broadcasts the note as an encrypted log on L1.\nfn broadcast(context: &mut PrivateContext, slot: Field, note: EcdsaPublicKeyNote) {\n note.broadcast(context, slot);\n}\n\nglobal EcdsaPublicKeyNoteInterface = NoteInterface {\n deserialize,\n serialize,\n compute_note_hash,\n compute_nullifier,\n get_header,\n set_header,\n broadcast,\n};\n",
|
|
1084
|
+
"186": {
|
|
1085
|
+
"source": "use dep::aztec::protocol_types::address::AztecAddress;\nuse dep::aztec::{\n note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n utils::compute_unique_siloed_note_hash,\n },\n oracle::{\n get_secret_key::get_secret_key,\n get_public_key::get_public_key,\n },\n log::emit_encrypted_log,\n hash::pedersen_hash,\n context::PrivateContext,\n};\n\nglobal ECDSA_PUBLIC_KEY_NOTE_LEN: Field = 5;\n\n// Stores an ECDSA public key composed of two 32-byte elements\n// TODO: Do we need to include a nonce, in case we want to read/nullify/recreate with the same pubkey value?\nstruct EcdsaPublicKeyNote {\n x: [u8; 32],\n y: [u8; 32],\n owner: AztecAddress, // We store the owner address only to get the secret key to compute the nullifier\n header: NoteHeader,\n}\n\nimpl EcdsaPublicKeyNote {\n pub fn new(x: [u8; 32], y: [u8; 32], owner: AztecAddress) -> Self {\n EcdsaPublicKeyNote {\n x,\n y,\n owner,\n header: NoteHeader::empty(),\n }\n }\n\n // serialize the note as 5 fields where:\n // [0] = x[0..31] (upper bound excluded)\n // [1] = x[31]\n // [2] = y[0..31]\n // [3] = y[31]\n // [4] = owner\n pub fn serialize(self) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] {\n let mut x: Field = 0;\n let mut y: Field = 0;\n let mut mul: Field = 1;\n\n for i in 1..32 {\n let byte_x: Field = self.x[31 - i] as Field;\n x = x + (byte_x * mul);\n let byte_y: Field = self.y[31 - i] as Field;\n y = y + (byte_y * mul);\n mul *= 256;\n }\n\n let last_x = self.x[31] as Field;\n let last_y = self.y[31] as Field;\n \n [x, last_x, y, last_y, self.owner.to_field()]\n }\n\n pub fn compute_nullifier(self) -> Field {\n let unique_siloed_note_hash = compute_unique_siloed_note_hash(EcdsaPublicKeyNoteInterface, self);\n let secret = get_secret_key(self.owner);\n // TODO(#1205) Should use a non-zero generator index.\n pedersen_hash([\n unique_siloed_note_hash,\n secret.low,\n secret.high,\n ],0)\n }\n\n pub fn set_header(&mut self, header: NoteHeader) {\n self.header = header;\n }\n\n // Broadcasts the note as an encrypted log on L1.\n pub fn broadcast(self, context: &mut PrivateContext, slot: Field) {\n let encryption_pub_key = get_public_key(self.owner);\n emit_encrypted_log(\n context,\n (*context).this_address(),\n slot,\n encryption_pub_key,\n self.serialize(),\n );\n }\n}\n\nfn deserialize(serialized_note: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]) -> EcdsaPublicKeyNote {\n let mut x: [u8; 32] = [0; 32];\n let mut y: [u8; 32] = [0; 32];\n\n let part_x = serialized_note[0].to_be_bytes(32);\n for i in 0..31 {\n x[i] = part_x[i + 1];\n }\n x[31] = serialized_note[1].to_be_bytes(32)[31];\n\n let part_y = serialized_note[2].to_be_bytes(32);\n for i in 0..31 {\n y[i] = part_y[i + 1];\n }\n y[31] = serialized_note[3].to_be_bytes(32)[31];\n\n EcdsaPublicKeyNote { x, y, owner: AztecAddress::from_field(serialized_note[4]), header: NoteHeader::empty() }\n}\n\nfn serialize(note: EcdsaPublicKeyNote) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] {\n note.serialize()\n}\n\nfn compute_note_hash(note: EcdsaPublicKeyNote) -> Field {\n // TODO(#1205) Should use a non-zero generator index.\n pedersen_hash(note.serialize(), 0)\n}\n\nfn compute_nullifier(note: EcdsaPublicKeyNote) -> Field {\n note.compute_nullifier()\n}\n\nfn get_header(note: EcdsaPublicKeyNote) -> NoteHeader {\n note.header\n}\n\nfn set_header(note: &mut EcdsaPublicKeyNote, header: NoteHeader) {\n note.set_header(header);\n}\n\n// Broadcasts the note as an encrypted log on L1.\nfn broadcast(context: &mut PrivateContext, slot: Field, note: EcdsaPublicKeyNote) {\n note.broadcast(context, slot);\n}\n\nglobal EcdsaPublicKeyNoteInterface = NoteInterface {\n deserialize,\n serialize,\n compute_note_hash,\n compute_nullifier,\n get_header,\n set_header,\n broadcast,\n};\n",
|
|
1074
1086
|
"path": "/usr/src/yarn-project/noir-contracts/contracts/ecdsa_account_contract/src/ecdsa_public_key_note.nr"
|
|
1075
1087
|
},
|
|
1076
|
-
"
|
|
1077
|
-
"source": "use dep::aztec::abi;\nuse dep::aztec::types::vec::BoundedVec;\nuse dep::aztec::context::PrivateContext;\nuse dep::protocol_types::{\n abis::{\n call_stack_item::{\n PrivateCallStackItem,\n PublicCallStackItem,\n },\n function_selector::FunctionSelector,\n },\n address::AztecAddress,\n constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD,\n hash::pedersen_hash,\n};\n\nglobal ACCOUNT_MAX_CALLS: Field = 4;\n// 1 (ARGS_HASH) + 1 (FUNCTION_SELECTOR) + 1 (TARGET_ADDRESS) + 1 (IS_PUBLIC)\nglobal FUNCTION_CALL_SIZE: Field = 4;\n// 3 * 32 + 1\nglobal FUNCTION_CALL_SIZE_IN_BYTES: Field = 97;\n\nstruct FunctionCall {\n args_hash: Field,\n function_selector: FunctionSelector,\n target_address: AztecAddress,\n is_public: bool,\n}\n\nimpl FunctionCall {\n fn serialize(self) -> [Field; FUNCTION_CALL_SIZE] {\n [self.args_hash, self.function_selector.to_field(), self.target_address.to_field(), self.is_public as Field]\n }\n\n fn to_be_bytes(self) -> [u8; FUNCTION_CALL_SIZE_IN_BYTES] {\n let mut bytes: [u8; FUNCTION_CALL_SIZE_IN_BYTES] = [0; FUNCTION_CALL_SIZE_IN_BYTES];\n let args_hash_bytes = self.args_hash.to_be_bytes(32);\n for i in 0..32 { bytes[i] = args_hash_bytes[i]; }\n let function_selector_bytes = self.function_selector.to_field().to_be_bytes(32);\n for i in 0..32 { bytes[i + 32] = function_selector_bytes[i]; }\n let target_address_bytes = self.target_address.to_field().to_be_bytes(32);\n for i in 0..32 { bytes[i + 64] = target_address_bytes[i]; }\n bytes[96] = self.is_public as u8;\n bytes\n }\n}\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal ENTRYPOINT_PAYLOAD_SIZE: Field = 17;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES: Field = 420;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:entrypoint-struct\nstruct EntrypointPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:entrypoint-struct\n\nimpl EntrypointPayload {\n fn hash(self) -> Field {\n pedersen_hash(\n self.serialize(), \n GENERATOR_INDEX__SIGNATURE_PAYLOAD\n )\n }\n\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; ENTRYPOINT_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, ENTRYPOINT_PAYLOAD_SIZE> = BoundedVec::new(0); \n for call in self.function_calls {\n fields.push_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage\n }\n\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] = [0; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES];\n\n for i in 0..ACCOUNT_MAX_CALLS {\n let item_bytes = self.function_calls[i].to_be_bytes();\n for j in 0..FUNCTION_CALL_SIZE_IN_BYTES { \n bytes[i * FUNCTION_CALL_SIZE_IN_BYTES + j] = item_bytes[j];\n }\n }\n\n let nonce_bytes = self.nonce.to_be_bytes(32);\n let nonce_offset = FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS;\n for j in 0..32 {\n bytes[nonce_offset + j] = nonce_bytes[j];\n }\n \n bytes\n }\n\n // Executes all private and public calls \n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address, call.function_selector, call.args_hash\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address, call.function_selector, call.args_hash\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n",
|
|
1088
|
+
"187": {
|
|
1089
|
+
"source": "use dep::aztec::abi;\nuse dep::aztec::types::vec::BoundedVec;\nuse dep::aztec::context::PrivateContext;\nuse dep::aztec::protocol_types::{\n abis::{\n call_stack_item::{\n PrivateCallStackItem,\n PublicCallStackItem,\n },\n function_selector::FunctionSelector,\n },\n address::AztecAddress,\n constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD,\n hash::pedersen_hash,\n};\n\nglobal ACCOUNT_MAX_CALLS: Field = 4;\n// 1 (ARGS_HASH) + 1 (FUNCTION_SELECTOR) + 1 (TARGET_ADDRESS) + 1 (IS_PUBLIC)\nglobal FUNCTION_CALL_SIZE: Field = 4;\n// 3 * 32 + 1\nglobal FUNCTION_CALL_SIZE_IN_BYTES: Field = 97;\n\nstruct FunctionCall {\n args_hash: Field,\n function_selector: FunctionSelector,\n target_address: AztecAddress,\n is_public: bool,\n}\n\nimpl FunctionCall {\n fn serialize(self) -> [Field; FUNCTION_CALL_SIZE] {\n [self.args_hash, self.function_selector.to_field(), self.target_address.to_field(), self.is_public as Field]\n }\n\n fn to_be_bytes(self) -> [u8; FUNCTION_CALL_SIZE_IN_BYTES] {\n let mut bytes: [u8; FUNCTION_CALL_SIZE_IN_BYTES] = [0; FUNCTION_CALL_SIZE_IN_BYTES];\n let args_hash_bytes = self.args_hash.to_be_bytes(32);\n for i in 0..32 { bytes[i] = args_hash_bytes[i]; }\n let function_selector_bytes = self.function_selector.to_field().to_be_bytes(32);\n for i in 0..32 { bytes[i + 32] = function_selector_bytes[i]; }\n let target_address_bytes = self.target_address.to_field().to_be_bytes(32);\n for i in 0..32 { bytes[i + 64] = target_address_bytes[i]; }\n bytes[96] = self.is_public as u8;\n bytes\n }\n}\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal ENTRYPOINT_PAYLOAD_SIZE: Field = 17;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES: Field = 420;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:entrypoint-struct\nstruct EntrypointPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:entrypoint-struct\n\nimpl EntrypointPayload {\n fn hash(self) -> Field {\n pedersen_hash(\n self.serialize(), \n GENERATOR_INDEX__SIGNATURE_PAYLOAD\n )\n }\n\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; ENTRYPOINT_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, ENTRYPOINT_PAYLOAD_SIZE> = BoundedVec::new(0); \n for call in self.function_calls {\n fields.push_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage\n }\n\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] = [0; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES];\n\n for i in 0..ACCOUNT_MAX_CALLS {\n let item_bytes = self.function_calls[i].to_be_bytes();\n for j in 0..FUNCTION_CALL_SIZE_IN_BYTES { \n bytes[i * FUNCTION_CALL_SIZE_IN_BYTES + j] = item_bytes[j];\n }\n }\n\n let nonce_bytes = self.nonce.to_be_bytes(32);\n let nonce_offset = FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS;\n for j in 0..32 {\n bytes[nonce_offset + j] = nonce_bytes[j];\n }\n \n bytes\n }\n\n // Executes all private and public calls \n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address, call.function_selector, call.args_hash\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address, call.function_selector, call.args_hash\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n",
|
|
1078
1090
|
"path": "/usr/src/yarn-project/aztec-nr/authwit/src/entrypoint.nr"
|
|
1079
1091
|
},
|
|
1080
|
-
"
|
|
1081
|
-
"source": "use dep::aztec::context::{PrivateContext, PublicContext, Context};\nuse dep::aztec::state_vars::{map::Map, public_state::PublicState};\nuse dep::aztec::types::type_serialization::bool_serialization::{BoolSerializationMethods,BOOL_SERIALIZED_LEN};\n\nuse crate::entrypoint::EntrypointPayload;\nuse crate::auth::IS_VALID_SELECTOR;\n\nstruct AccountActions {\n context: Context,\n is_valid_impl: fn(&mut PrivateContext, Field) -> bool,\n approved_action: Map<PublicState<bool, BOOL_SERIALIZED_LEN>>,\n}\n\nimpl AccountActions {\n pub fn init(context: Context, approved_action_storage_slot: Field, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions {\n context: context,\n is_valid_impl: is_valid_impl,\n approved_action: Map::new(\n context,\n approved_action_storage_slot,\n |context, slot| {\n PublicState::new(context, slot, BoolSerializationMethods)\n },\n ),\n }\n }\n\n pub fn private(context: &mut PrivateContext, approved_action_storage_slot: Field, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions::init(Context::private(context), approved_action_storage_slot, is_valid_impl)\n }\n\n pub fn public(context: &mut PublicContext, approved_action_storage_slot: Field, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions::init(Context::public(context), approved_action_storage_slot, is_valid_impl)\n }\n \n // docs:start:entrypoint\n pub fn entrypoint(self, payload: EntrypointPayload) {\n let message_hash = payload.hash();\n let valid_fn = self.is_valid_impl;\n let private_context = self.context.private.unwrap();\n assert(valid_fn(private_context, message_hash));\n payload.execute_calls(private_context);\n }\n // docs:end:entrypoint\n\n pub fn is_valid(self, message_hash: Field) -> Field {\n let valid_fn = self.is_valid_impl;\n if (valid_fn(self.context.private.unwrap(), message_hash)) {\n IS_VALID_SELECTOR\n } else {\n 0\n }\n }\n\n pub fn is_valid_public(self, message_hash: Field) -> Field {\n let value = self.approved_action.at(message_hash).read();\n if (value){\n IS_VALID_SELECTOR\n } else {\n 0\n }\n }\n\n pub fn internal_set_is_valid_storage(self, message_hash: Field, value: bool) {\n self.approved_action.at(message_hash).write(value);\n }\n}\n",
|
|
1092
|
+
"188": {
|
|
1093
|
+
"source": "use dep::aztec::context::{PrivateContext, PublicContext, Context};\nuse dep::aztec::state_vars::{map::Map, public_state::PublicState};\nuse dep::aztec::types::type_serialization::bool_serialization::{BoolSerializationMethods,BOOL_SERIALIZED_LEN};\n\nuse crate::entrypoint::EntrypointPayload;\nuse crate::auth::IS_VALID_SELECTOR;\n\nstruct AccountActions {\n context: Context,\n is_valid_impl: fn(&mut PrivateContext, Field) -> bool,\n approved_action: Map<Field, PublicState<bool, BOOL_SERIALIZED_LEN>>,\n}\n\nimpl AccountActions {\n pub fn init(context: Context, approved_action_storage_slot: Field, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions {\n context: context,\n is_valid_impl: is_valid_impl,\n approved_action: Map::new(\n context,\n approved_action_storage_slot,\n |context, slot| {\n PublicState::new(context, slot, BoolSerializationMethods)\n },\n ),\n }\n }\n\n pub fn private(context: &mut PrivateContext, approved_action_storage_slot: Field, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions::init(Context::private(context), approved_action_storage_slot, is_valid_impl)\n }\n\n pub fn public(context: &mut PublicContext, approved_action_storage_slot: Field, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions::init(Context::public(context), approved_action_storage_slot, is_valid_impl)\n }\n \n // docs:start:entrypoint\n pub fn entrypoint(self, payload: EntrypointPayload) {\n let message_hash = payload.hash();\n let valid_fn = self.is_valid_impl;\n let private_context = self.context.private.unwrap();\n assert(valid_fn(private_context, message_hash));\n payload.execute_calls(private_context);\n }\n // docs:end:entrypoint\n\n pub fn is_valid(self, message_hash: Field) -> Field {\n let valid_fn = self.is_valid_impl;\n if (valid_fn(self.context.private.unwrap(), message_hash)) {\n IS_VALID_SELECTOR\n } else {\n 0\n }\n }\n\n pub fn is_valid_public(self, message_hash: Field) -> Field {\n let value = self.approved_action.at(message_hash).read();\n if (value){\n IS_VALID_SELECTOR\n } else {\n 0\n }\n }\n\n pub fn internal_set_is_valid_storage(self, message_hash: Field, value: bool) {\n self.approved_action.at(message_hash).write(value);\n }\n}\n",
|
|
1082
1094
|
"path": "/usr/src/yarn-project/aztec-nr/authwit/src/account.nr"
|
|
1083
1095
|
},
|
|
1084
|
-
"
|
|
1096
|
+
"191": {
|
|
1085
1097
|
"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",
|
|
1086
1098
|
"path": "/usr/src/yarn-project/aztec-nr/authwit/src/auth_witness.nr"
|
|
1087
1099
|
}
|