@aztec/protocol-contracts 4.0.0-nightly.20260107 → 4.0.0-nightly.20260108
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/artifacts/AuthRegistry.json +28 -24
- package/artifacts/ContractClassRegistry.json +22 -18
- package/artifacts/ContractInstanceRegistry.json +28 -24
- package/artifacts/FeeJuice.json +26 -22
- package/artifacts/MultiCallEntrypoint.json +17 -13
- package/artifacts/Router.json +20 -16
- package/dest/protocol_contract_data.js +13 -13
- package/package.json +4 -4
- package/src/protocol_contract_data.ts +13 -13
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"transpiled": true,
|
|
3
|
-
"noir_version": "1.0.0-beta.
|
|
3
|
+
"noir_version": "1.0.0-beta.18+c9a8bf882069681672e68b2612e4119592c4485a",
|
|
4
4
|
"name": "MultiCallEntrypoint",
|
|
5
5
|
"functions": [
|
|
6
6
|
{
|
|
@@ -1877,8 +1877,8 @@
|
|
|
1877
1877
|
}
|
|
1878
1878
|
}
|
|
1879
1879
|
},
|
|
1880
|
-
"bytecode": "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",
|
|
1881
|
-
"debug_symbols": "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gzEMxjAYw2AMgzEMxjAYw2AMgzEMxjAYw2AMgzEMxjAYw2AMgzEMxjAYw2AMgzEMxjAYw2AMgzEMxjAYw2AMgzEMxjAYw2AMgzEMxjAYw2AMgzEMxjAYw2AMgzEMxjAYw2AMgzEMxjAYw2AMgzEMxjAYw2AMgzEMxjAYw2AMgzEMxjAYw2AMgzEMxjAYw2AMgzEMxjCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jCYw2AOgzkM5jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jBYw2ANgzUM1jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jDYw2APgz0M9jB4DYPXMHgNg9cweA2D1zB4DYPXMHgNg9cweA2D1zB4DYPXMHgNg9cweA2D1zB4DYPXMHgNg9cweA2D1zB4DYPXMHgNg9cweA2D1zB4DYPXMHgNg9cweA2D1zB4DYPXMHgNg9cweA2D1zB4DYPXMHgNg9cweA2D1zB4DYPXMHgNg9cweA2D1zB4DYPXMHgNg9cweA2D1zB4DYPXMHgNg9cweA2D1zB4DYPXMHgNg9cweA2D1zB4DYPXMHgNg9cweA2D1zB4DYPXMHgNg9cweA2D1zB4DYPXMHgNg9cweA2D1zB4DYPXMHgNg9cweA2D1zB4DYPXMHgNg9cweA+D9zB4D4P3MHgPg/cweA+D9zB4D4P3MHgPg/cweA+D9zB4D4P3MHgPg/cweA+D9zB4D4P3MHgPg/cweA+D9zB4D4P3MHgPg/cweA+D9zB4D4P3MHgPg/cweA+D9zB4D4P3MHgPg/cweA+D9zB4D4P3MHgPg/cweA+D9zB4D4P3MHgPg/cweA+D9zB4D4P3MHgPg/cweA+D9zB4D4P3MHgPg/cweA+D9zB4D4P3MHgPg/cweA+D9zB4D4P3MHgPg/cweA+D9zB4D4P3MHgPg/cweA+D9zB4D4P3MHgPg/cweA+D9zB4D4P3MHgPg/cweA+D9zB4D4P3MHiGwTMMnmHwDINnGDzD4BkGzzB4hsEzDJ5h8AyDZxg8w+AZBs8weIbBMwyeYfAMg2cYPMPgGQbPMHiGwTMMnmHwDINnGDzD4BkGzzB4hsEzDJ5h8AyDZxg8w+AZBs8weIbBMwyeYfAMg2cYPMPgGQbPMHiGwTMMnmHwDINnGDzD4BkGzzB4hsEzDJ5PBuPjcN6HTwY/D2sOew4xh5xDzaHncM1hbu65+Zqbr7n5mpuvufmam6+5+Zqbr7n5mpuvufmem++5+Z6b77n5npvvufmem++5+Z6b77n5zM1nbj5z85mbz9x85uYzN5+5+czN533zt/9H/uW0nLZTOKVTObXT5XQ7yVgylowlY8lYMpaMJWPJWDKWjC1jy9gytowtY8vYMraMLWPLCBkhI2SEjJARMkJGyAgZISNlpIyUkTJSRspIGSkjZaSMklEySkbJKBklo2SUjJJRMlpGy2gZLaNltIyW0TJaRsu4ZFwyLhmXjEvGJeOSccm4ZFwybhm3jFvGLeOWccu4Zdwybhm3jCPjyDgyjowj48g4Mo6MIwPnC+cL5wvnC+cL5wvnC+cL5wvnC+cL5wvnC+cL5wvnC+cL5wvnC+cL5+uD84/O0fps6LxP+6t3tD47Ou/TR8bXqZza6XK6nc6cPjn/On38OurztJ3CKZ3KqZ0up9vpzOmT86+TjJSRMlJGykgZKSNlpIySUTJKRskoGSWjZJSMklEyWkbLaBkto2W0jJbRMlpGy7hkXDIuGZeMS8Yl45JxybhkXDJuGbeMW8Yt45Zxy7hl3DJuGbeMI+PIODKOjCPjyDgyjowj40zGV+Hn67SctlM4pVM5tdPldDvJWDKWjCVjyVgylowlY8lYMpaMLWPL2DK2jC1jy9gytowtY8sIGTjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON84D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPEeeI8cZ44T5wnzhPnifPEeeI8cZ44T5wnzhPnifPEeeI8cZ44T5wnzhPnifPEeeI8cZ44T5wnzhPnifPEeeI8cZ44T5wnzhPnifPEeeI8cZ44T5wnzhPnifPEeeI8cZ44T5wnzhPnifPEeeI8cZ44T5wnzhPnifPEeeI8cZ44T5wnzhPnifPEeeI8cZ44T5wnzhPnifPEeeI8cZ44T5wnzhPnifPEeeI8cZ44T5wnzhPnifPEeeI8cZ44L5wXzgvnhfPCeeG8cF44L5wXzgvnhfPCeeG8cF44L5wXzgvnhfPCeeG8cF44L5wXzgvnhfPCeeG8cF44L5wXzgvnhfPCeeG8cF44L5wXzgvnhfPCeeG8cF44L5wXzgvnhfPCeeG8cF44L5wXzgvnhfPCeeG8cF44L5wXzgvnhfPCeeG8cF44L5wXzgvnhfPCeeG8cF44L5wXzgvnhfPCeeG8cF44L5wXzgvnhfPCeeG8cF44L5wXzgvnhfPGeeO8cd44b5w3zhvnjfPGeeO8cd44b5w3zhvnjfPGeeO8cd44b5w3zhvnjfPGeeO8cd44b5w3zhvnjfPGeeO8cd44b5x/trQ+ngVfnzWt9+nM6YPz92k57fdjip9drfcpncqpnS6n2+nM6YPz92k5ySgZJaNklIySUTJKRstoGS2jZbSMltEyWkbLaBmXjEvGJeOSccm4ZFwyLhmXjEvGLeOWccu4Zdwybhm3jFvGLeOWcWQcGUfGkXFkHBlHxpFxZHjS9fKo62fL633aTuGUTuXUTpfTvHc/215fpyXj8/HX/Dxtp3DK9/Oul0dgL8/Afra+3qfb6czpg/P3aTnt99Oyn92v9ynfD85+lb6+TpfT7XTm9En31+n9/x4v1a+l+7WUv5b211L/WvpfSwFsaYAtFbClA7aUwJYW2FIDW3pgSxFsaYItVbClC7aUwZY22FIHW/pgSyFsaYQtlbClE7aUwpZW2FILW3phSzFsaYYt1bClG7aUw5Z22FIPW9fz3Ozz4Ozz5Ozz6Ozz7Ozz8Ozz9Ox3j8/KeB6g9QStqtjSFVvKYktbbKmLLX2xpTC2NMaWytjSGVtKY0trbKmNLb2xpTi2NMeW6tjSHVvKY0t7bKmPLf2xpUC2NMiWCtnSIVtKZEuLbKmRLT2ypUi2NMmWKtnSJVvKZEubbKmTLX2ypVC2NMqWStnSKVtKZUurbKmVLb2ypVi2NMuWatnSLVvKZUu7bKmXLf2ypWC2NMyWitnSMVtKZkvLbKmZLT2zpWi2NM2WqtnSNVvKZkvbbKmbLX2zpXC2NM6WytnSOVtKZ0vrbKmdLb2zpXi2NM+W6tnSPVvKZ0v7bKmfLf2zpYC2NNCWCtrSQVtKaEsLbamhLT20pYi2NNGWKtrSRVvKaOt+npR/HpV/npV/HpZ/npZ/Hpd/npd/Hpj/7ol5GThXTFuaaUs1bemmLeW0pZ221NOWftpSUFsaaktFbemoLSW1paW21NSWntpSVFuaaktVbemqLWW1pa221NWWvtpSWFsaa0tlbemsLaW1pbW21NaW3tpSXFuaa0t1bemuLeW1pb221NeW/tpSYFsabEuFbemwLSW2pcW21NiWHttSZFuabEuVbemyLWW2pc221NmWPttSaFsabUulbem0LaW2pdW21NqWXttSbFuabUu1bem2rYPzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pz87gxHjnGY8d49BiPH+MRZDyGjEeR8TgyvpNkvDP269FkPJ6MR5TxmDIeVcbjynhkGY8t49Fl8GW8CDNejBkvyowXZ8aLNOPFmvGizXjxZryIM17MGS/qjBd3xos848We8aLPePFnvAg0XgwaLwqNF4fGi0TjxaLxotF48Wi8iDReTBovKo0Xl8aLTOPFpvGi03jxabwINV6MGi9KjRenxotU48Wq8aLVePFqvIg1XswaL2qNF7fGi1zjxa7xotd48Wu8CDZeDBsvio0Xx8aLZOPFsvGi2XjxbLyINl5MGy+qjRfXxots48W28aLbePFtvAg3XowbL8qNF+fGi3Tjxbrxot148W68iDdezBsv6o0X98aLfOPFvvGi33jxb7wIOF4MHC8KjhcHx4uE48XC8aLhePFwvIg4XjhfOF84XzhfOF84XzhfOF84XzhfjxfnOzGOjEeN87hxHjnOY8d59DiPH+cR5OB84XzhfOF84XzhfOGcrGqzVW26qs1XtQmrNmPVpqzanFWbtGqzVm3aqs1btYmrNnPVpq7a3FWbvGqzV236qs1ftQmsNoPVprDaHFabxGqzWG0aq81jtYmsNpPVprLaXFabzGqzWW06q81ntQmtNqPVprTanFab1GqzWm1aq81rtYmtNrPVprba3Fab3GqzW216q81vtQmuNsPVprjaHFeb5GqzXG2aq81ztYmuNtPVprraXFeb7GqzXW26q813tQmvNuPVprzanFeb9Go/1qtHe/V4rx7x1WO+etRXj/vqkV899qtHf/X4rx4B1mPAehRYjwPrkWA9FqxHg/V4sB4R1ncmrEeF9Z0LS8Zjw3p0WI8P6xFiPUasR4mF80eK9VixHi3W48V6xFiPGetRYz1urEeO9dixHj3W48d6BFmPIetRZD2OrEeS9ViyHk3W48l6RFmPKetRZT2urEeW9diyHl3W48t6hFmPMetRZj3OrEea9VizHm3W4816xFmPOetRZz3urEee9dizHn3W4896BFqPQetRaD0OrUei9Vi0Ho3W49F6RFqPSetRaT0urUem9di0Hp3W49N6hFqPUetRaj1OrUeq9Vi1Hq3W49V6xFrMWptaa3NrbXKtza616bU2v9Ym2NoMW5tia3NsbZKtzbK1abY2z9Ym2tpMW5tqa3NtbbKtzba16bY239Ym3NqMW5tya3NubdKtzbq1abd2PO67R3732O++09/JeAR4jwHvUeA9DrxHgodzCq7NwbVJuDYL16bh2jxcm4hrM3FtKq7NxbXJuDYb16bj2nxcm5BrM3JtSq7NybVJuTYr16bl2rxcm5hrM3Ntaq7NzbXJuTY716bn2vxcm6BrM3Rtiq7N0bVJujZL16bp2jxdm6hrM3Vtqq7N1bXJujZb16br2nxdm7BrM3Ztyq7N2bVJuzZr16bt2rxdm7hrM3dt6q7N3bXJuzZ716bv2vxdm8BrM3htCq/N4bVJvDaL16bx2jxem8hrM3ltKq/N5bXJvDab16bz2nxem9BrM3ptSq/N6bVJvTar16b12rxem9hrM3ttaq/N7bXJvTa716b32vxem+BrM3xtiq/N8bVJvnY+tstHd/n4Lh/h5XfGSxmP8/KRXj7Wy0d7iXPCr834tSm/NufXJv3arF+b9mvzfm3ir838tam/NvfXJv/a7F+b/mvzf20CsM0AtinANgfYJgHbLGCbBmzzgG0isM0EtqnANhfYJgPbbGCbDmzzgW1CsM0ItinBNifYJgXbrGCbFmzzgm1isM0MtqnBNjfYJgfb7GCbHmzzg22CsM0QtinCNkfYJgnbLGGbJmzzhG2isM0UtqnCNlfYJgvbbGGbLmzzhW3CsM0YtinDNmfYJg3brGGbNmzzhm3isM0ctqnDNnfYJg/b7GGbPmzzh20Csc0gtinENofYJhHbLGKbRmzziG0isc0ktqnENpfYJhPbbGKbTmzziW1Csc0otinFdj1+20dw+xhuH8Xt47j9TnIr49HcPp7bR3Q7T6PumqdRd83TqLvmadRd8zTqrnkaddc8jbprnkbdNU+j7pqnUXe1jEvGJeOSccm4ZFwyLhmXjEvGJeOWccu4Zdwybhm3jFvGLeOWccs4Mo6MI+PIODKOjCPjyDgy5mnU3fM06u55GnX3PI26e55G3T1Po+6ep1F3z9Oou+dp1N3zNOrul4wlY8lYMpaMJWPJWDKWjCVjydgytowtY8vYMraMLWPL2DK2jJARMkJGyAgZISNkhIyQETJSRspIGSkjZaSMlJEyUkbKKBklo2SUjJJRMkpGySgZOG+cN84b543zxnnjvHHeOG+cN84b543zxnnjvHHeOG+cN84b543zxnnjvHHeOG+cN84b543zxnnjvHHeOG+cN84b543zxnnjvHHeOL9wfuH8wvmF8wvnF84vnF84v3B+4fzC+YXzC+cXzi+cXzi/cH7h/ML5hfML5xfOv1pw+/MUTvn1/Pn+dKC9Tx8ZX6fL6XY6c5qnzvdXH+7rtJ3ebdd9Tdt1X9N23de0Xfc1rfZ9Tat9X9Nq39e02vc1rfZ9Tat9XykjZaSMlJEyUkbKKBklo2SUjJJRMkpGySgZJaNltIyW0TJaRstoGS2jZbSMS8Yl45JxybhkXDIuGZeMS8Yl45Zxy7hl3DJuGbeMW8Yt45Zxyzgyjowj48g4Mo6MI+PIODKm1b7vabXve1rt+55W+76n1b7vabXve1rt+55W+76n1b7vabXv+yVjyVgylowlY8lYMpaMJWPJWDK2jC1jy9gytowtY8vYMraMLSNkhIyQgfMb5zfOb5zfOL9xfuP8xvmN8xvnN85vnN84v3F+4/zG+Y3zG+c3zm+c3zi/cX7j/Mb5jfMb5zfOb5zfOL9xfuP8xvmN8xvnN85vnN84v3F+4/zG+Y3zG+c3zm+c3zi/cX7j/Mb5jfMb5zfOb5zfOL9xfuP8xvmN8xvnN85vnN84v3F+4/zG+Y3zG+c3zg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzs9wHq/hPF7DebyG83gN5/EazuM1nMdrOI/XcB6v4TxeLxlLxpKxZCwZS8aSsWQsGUvGkrFlbBlbxpaxZWwZW8aWsWVsGSEjZISMkBEyQkbICBkhI2SkjJSRMlJGykgZKSNlpIyUUTJKRskoGSWjZJSMklEySkbLaBkto2W0jJbRMlpGy2gZl4xLxiXjknHJuGRcMi4Zl4xLxi3jlnHLuGXcMm4Zt4xbxi3jlnFkHBlHxpFxZBwZR8aRcWTgfOF84XzhfOF84XzhfOF84XzhfOF84XzhfOF84XzhfOF84XzhfOF84XzhfOF84XzhfOF84XzhfOF84XzhfOGcFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4YIVLljhghUuWOGCFS5Y4eKzD/fxpHd89uHep8vpdjrvU8xT5xHz1HnEPHUeMU+dR8xT5xHz1HnEPHUeMU+dx2cf7n06c1oylowlY8lYMpaMJWPJWDKWjC1jy9gytowtY8vYMraMLWPLCBkhI2SEjJARMkJGyAgZISNlpIyUkTJSRspIGSkjZaSMklEySkbJKBklo2SUjJJRMlpGy2gZLaNltIye9+5nH+59kvHB+YelID77cO/TctpfzoH47MO9T+lUTu10Od1OZ06fdonzeVpO+8tcEF8tuK9TObXT5XQ7vVsM8UxXPtuVz3jls175zFc++5XPgOWzYPlMWGrBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlzkszf7DM4+i7PP5Ox3m7MyntXZZ3b22Z19hmctz2rBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlxowYUWXGjBhRZcaMGFFlxowYUWXGjBhRZcaMFFPQvTz8T0szH9jEw/K9PfzUzLeIamn6XpZ2oa50Y2w8pmmNkMO5thaDMsbYapzbC1GcY2w9pmmNsMe5thcDMsbobJzbC5GUY3w+pmmN0Mu5theDMsb4bpzbC9GcY3w/pmmN8M+5thgDMscIYJzrDBGUY4wwpnmOEMO5xhiDMscYYpzrDFGcY4wxpnmOMMe5xhkDMscoZJzrDJGUY5wypnmOUMu5xhmDMsc4ZpzrDNGcY5wzpnmOcM+5xhoDMsdIaJzrDRGUY6w0pnmOkMO51hqDMsdYapzrDVGcY6w1pnmOsMe51hsDMsdobJzrDZGUY7w2pnmO0Mu51huDMsd4bpzrDdGcY7w3pnmO8M+51hwDMseIYJz7DhGUY8w4pnmPGMfjbln1H5Z1X+mZV/duWfYfnvluVlPNvyz7g8zk16hk3PMOoZVj3DrGfY9QzDnmHZM0x7hm3PMO4Z1j3DvGfY9wwDn2HhM0x8ho3PMPIZVj7DzGfY+QxDn2HpM0x9hq3PMPYZ1j7D3GfY+wyDn2HxM0x+hs3PMPoZVj/D7GfY/QzDn2H5M0x/hu3PMP4Z1j/D/GfY/wwDoGEBNEyAhg3QMAIaVkDDDGjYAQ1DoGEJNEyBhi3QMAYa1kDDHGiwwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1zueRo19zyNmnueRs09T6PmnqdRc89T57nnqfPc89R57nnqPPc8dZ57y9gytoyQETJCRsgIGSEjZISMkBEyUkbKSBkpI2WkjJSRMlJGyigZJaNklIySUTJKRskoGSWjZbSMltEyWkbLaBkto2W0jEvGJeOSccm4ZFwyLhmXjEvGJeOWccu4Zdwybhm3jFvGLeOWccs4Mo6MI+PIODKOjCPjyDgy5qnzjHnqPGOeOs+Yp84z5qnzjHnqPGOeOs+Yp84z5qnzjHnqPOMlY8lYMpaMJWPJWDKWDJwHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cP7Vgtufp+W0v3wF+WmFe58+Mr5O5dROl9PtdOb0yfnX6d12TduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZq2UdM2atpGTduoaRs1baOmbdS0jZqN88Z547xx3jhvnDfOG+eN88Z547xx3jhvnDfOG+eN88Z547xx3jhvnDfOG+eN88Z547xx3jhvnDfOG+eN88Z547xx3jhvnDfOG+eN88Z547xx3jhvnDfOG+eN88Z547xx3jhvnDfOG+eN88Z547xx3jhvnDfOL5xfOL9wfuH8wvmF8wvnF84vnF84v3B+4fzC+YXzC+cXzi+cXzi/cH7h/ML5hfML5xfOL5xfOL9wfuH8wvmF8wvnF84vnLPCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1x+9uE+nvTOzz7c+1RO7XQ53V9PhOeZp87zzFPneeap8zzz1Hmeeeo8zzx1nmeeOs/PPtz7dDnJaBmXjEvGJeOSccm4ZFwyLhmXjEvGLeOWccu4Zdwybhm3jFvGLeOWcWQcGUfGkXFkHBlHxpFxZJx3Rr3GLlGvsUvUa+wS9Rq7RL3GLlGvsUvUa+wS9Rq7RL3GLlGvl4wlY8lYMpaMJWPJWDKWjCVjydgytowtY8vY7/duffbh3icZH5x/WArqsw/3Pp05fXD+4Ryozz7c+7SdwimdyqmdLqf7y1dQn324r9OnXWJ9nj7I+zqFUzqVUzu9WwylBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVdacKUFV1pwpQVXWnClBVe2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoZRu1bKOWbdSyjVq2Ucs2atlGLduoxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwxQpXrHDFClescMUKV6xwdc/TqHXP06h1z9Oodc/TqHXP06h1z1Pndc9T53XPU+d1z1Pndc9T53XfMm4Zt4xbxi3jyDgyjowj48g4Mo6MI+PImKfO68xT53XmqfM689R5nXnqvM48dV5nnjqvM0+d15mnzuvMU+d1XjKWjCVjyVgylowlY8lYMpaMJWPL2DK2jC1jy9gytowtY8vYMkJGyAgZISNkhIyQETJCRshIGSkjZaSMlJEyUkbKSBkpo2SUjJJRMkpGySgZJaNklIyW0TJaRstoGS2jZbSMltEyLhmXjEvGJeOSgfOD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84Pzg/OD84PzM5z3azjv13Der+G8X8N5v4bzfg3n/RrO+zWc92s479dLxpKxZCwZS8aSsWQsGUvGkrFkbBlbxpaxZWwZW8aWsWVsGVtGyAgZISNkhIyQETJCxmcLbn+ezpw+W3D5eVpOHxlfp3BKp3Jqp8vpdnq3Xds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baO2bdS2jdq2Uds2attGbduobRu1baP2xvnG+cb5xvnGeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44D5wHzgPngfPAeeA8cB44Z4VrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuP7sw3086d2ffbj3KZzSqZz664nw7nnqvHueOu+ep86756nz7nnqvHueOu+ep877sw/3PpWTjC1jy9gyQkbICBkhI2SEjJARMkJGyEgZKSNlpIyUkTJSRspIGSmjZJSMklEySkbJKBklo2SUjJbRMlpGy2gZLaNltIyW0TIuGZeMS8Yl45JxybhkXDIuGZeMW8Yt4/bevb13v+wSf/nVL//nN3/63W/++fe//c9ffv3f3/7y3/7rD//y59/98Q/vv/zz//cf89/8859+9/vf/+7f/+k//vTHf/ntv/7Xn377T7//4798/He/vD7+4wOa/7X6V3v972//4+Vv7fWr3R9/a/tbuX6V3/7WX/7yv//y/wM=",
|
|
1880
|
+
"bytecode": "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9L+1Mv1vrUz/WyvT/9bK9L+1Mv1vrUz/WyvT/9bK9L+1Mv1vrUz/WyvT/9bK9L+1Mv1vrUz/WyvT/9bK9L+1Mv1vrUz/WyvT/9bK9L+1Mv1vbXkZWZn+t1am/62V6X9rZfrfWpn+t1am/62V6X9rZfrfWpn+t1am/62V6X9rZfrfWpn+t1am/62V6X9rZfrfWpn+t1am/62V6X9rZfrfWpn+t1am/62V6X9rZfrfWpn+t1am/62V6X9rZfrfWpn+t1am/62V6X9rm8jIyvS/tTL9b61M/1sr0//WyvS/tTL9b61M/1sr0//WyvS/tTL9b61M/1sr0//WyvS/tTL9b61M/1sr0//WyvS/tTL9b61M/1sr0//WyvS/tTL9b61M/1sr0//WyvS/tTL9b61M/1sr0//WyvS/tTL9b61M/1ubIiMr0//WyvS/tTL9b61M/1sr0//WyvS/tTL9b61M/1sr0//WyvS/tTL9b61M/1sr0//WyvS/tTL9b61M/1sr0//WyvS/tTL9b61M/1sr0//WyvS/tTL9b61M/1sr0//WyvS/tTL9b61M/1sr0//WyvS/tTL9b22GjKxM/1sr0//WyvS/tTL9b61M/1sr0//WyvS/tTL9b61M/1sr0//WyvS/tTL9b61M/1sr0//WyvS/tTL9b61M/1sr0//WyvS/tTL9b61M/1sr0//WyvS/tTL9b61M/1sr0//WyvS/tTL9b61M/1sr0//WyvS/tctkZGX631qZ/rdWpv+tlel/a2X631qZ/rdWpv+tlel/a2X631qZ/rdWpv+tlel/a2X631qZ/rdWpv+tlel/a2X631qZ/rdWpv+tlel/a2X631qZ/reW1P+2fkLvPilDaicnpk4y2+291arXqFmrdp269eo3aNiocZOmzZq3aNmqdZu27dp36NgpvnOXrgnduvdI7NkrqXdyn779UvqnDhg4aPCQocOGjxg5KnpXNC16d3R09J7omOi90fui90fHRh+Ijos+GB0ffSg6IToxmh7NiE6KTo5OiT4cnRp9JPpodFr0sej06OPRGdEnojOjT0ZnRWdH50TnRudF50cXRJ+KLowuii6OPh1dEn0mujT6bHRZ9Lno89EXosujL0ZXRF+Kroy+HF0VfSW6OvpqdE30teja6OvRddE3ouujb0bfir4dfSf6bjQaRfS96Iboxuj70U3R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",
|
|
1881
|
+
"debug_symbols": "rd3djl3JeaXre6ljHayI72fO8K00GoZsy4YAQTJkuYENQ/e+M5PreyYlgIRa6hOtqCoxRjK53mQWa8x3/M8v//abf/nv//jn3/7+3//wX7/80//6n1/+5Y+//d3vfvsf//y7P/zrr//02z/8/uPv/s8vr8//WfnLP50//+qX9fUX55d/uj/+Yn/+xY5f/ml9nPPbS3176W8v17eX+9vLxw/LX/0Sr28v69vLxyX18RLfXvLby8ct18dLf3v5uOX680fefFj//Kc//uY3n9nffZwfH/1//vqPv/n9n375p9//9+9+96tf/s+vf/ffX/+n//rPX//+6/VPv/7jxz99/eqX3/z+3z5ePy7899/+7jefpz//6vnRrx//0M5+/+B7bT989flbL7jPel9wXv3DC/aPL4iu9wVxpQvytf7igvjxBTvngt3XDy/42z6CO354wU8+BydiPgeZP/wc9D/6U/jJR5DXeV/QsZ6P4PqbL1ivNb+O69Xf/ULef/M74Tr3vBHvVz6fyLXyL65YP3037flMRv49H8THJ31+LdZVzxVR919+ED95P+y95o69r5/c8ZM3Zd45vyJ51/P5jLP+vjv6J3fU/4OfS/8/+JxeP7nj1D13nGv9+Ofyk4+j98ubPH54w0/eHDt6PqE7V/7wHbp/ekemO17Ph3H91Re89TNQfBj367svmh83/+UdP3mPXtfret9x/cWvyV/f8ZP3V9TAluv5KHb91Q35s3fX7RMar/3jO37yDl2r58NY666/7454zcexYt8/vuMn79Dja/DHW/XvumG99n6+hv7kZ3J+xvyq5+vGd78jn7/nJ3LV3/fLeq35rmBf8frhHfGTN+i6rueLxvnxWyPiH/0l+Rtv+Mnn4mc3/K2/qNH/8C/qTz+d53mHn/3jT+fPvnKl7/V2reuHX/3i/OyzUYj/+HSc573xV9/s/PySj69eLrm/+wr4t3/bmWe+/NV3n436y98K8mef0N2+4dn38+76+L36L6742e/Px+eiXq/vvgZ/fCf9t38YGyY79w8/jJ9dEfl88Tv9wyt+8ga9qmPeGx/nih/9iuRPvu58fJvj5/Jx/u59/teX/Pwj8S8UV115/X2XXL7buOqs9aNL6mff1H/321LUD7+n/unH0cvb9OqP779++HH85Je3755vOPq+vrvib3+DtO831vfI/t+8xz5+QX35ef3wivrJ79F9bZ+Mvmr98D3280sq8rnku6/Hf33J9Y9+Rn/6Ydx97+eK1/m7fi5dfl26e9ffA93f9i9+P31/XdfzGT3rR5+Nn75Dd/lk5A8/n9c//DFc/+jH8LN/e/0gwzfU3/2Cfv3u+L8//vLX//rbP/7lnyJ9/pHO5781f/6ZTry+/aHO1+v9fj3fXvP1fl3v1/1+jfdrvl/r/fq+L9/35fu+fN9X7/vqfV+976v3ffW+r9731fu+et9X7/vqfV+/7+v3ff2+r9/39fu+ft/X7/v6fV+/7+v3fdf7vut93/W+73rfd73vuz7v+/g1vfr9er1f788/+/h4Pd9e788/Xfv4PN/r/fpx3+e/hN3xfs33a31+f/Xx2u/X6/16v1/P53cIv/rlfP74D2zO5x/Qffy4k+/X+vyC9vHa79ePH1+f/7/7/Xq+va7Xaw6fN9XnIb5duV45f6e+fbAf3yV9++g+vuuZwz2H8+0DW+s1hzWHPYeYQ86h5tBz+Lj587uZj39/msP7p7r2+vz35s/DnkPMIedQc+jPLyOfh2sO9xzO+/D5R53fDmsOew4xh5xDzWFujrk55uaYm3Nuzrk55+acm3Nuzrk55+acm3Nuzrm55uaam2turrm55uaam2turrm55uaam3tu7rm55+aem3tu7rm55+aem3tu7rn5mpuvufmam6+5+Zqbr7n5mpuvufmam6+5+Z6b77n5npvvufmem++5+Z6b77n5npvvufnMzWduPnPzmZvP3Hzm5jM3n7n5zM3nffN+veaw5rDnEHPIOdQceg7XHO45zM1rbl5z85qb19y85uY1N6+5ec3Na25ec/Oem/fcvOfmPTfvuXnPzcPgHgb3MLiHwT0M7mFwD4N7GNzD4B4G9zC4h8E9DO5hcA+Dexjcw+AeBvcwuIfBPQzuYXAPg3sY3MPgHgb3MLiHwT0M7mFwD4N7GNzD4B4G9zC4h8E9DO5hcA+Dexjcw+AeBvcwuIfBPQzuYXAPg3sY3MPgHgb3MLiHwT0M7mFwD4N7GNzD4B4G9zC4h8E9DO5hcA+Dexjcw+AeBvcwuIfBPQzuYXAPg3sY3MPgHgZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZjGIxhMIbBGAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZzGMxhMIfBHAZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZrGKxhsIbBGgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgZ7GOxhsIfBHgavYfAaBq9h8BoGr2HwGgavYfAaBq9h8BoGr2HwGgavYfAaBq9h8BoGr2HwGgavYfAaBq9h8BoGr2HwGgavYfAaBq9h8BoGr2HwGgavYfAaBq9h8BoGr2HwGgavYfAaBq9h8BoGr2HwGgavYfAaBq9h8BoGr2HwGgavYfAaBq9h8BoGr2HwGgavYfAaBq9h8BoGr2HwGgavYfAaBq9h8BoGr2HwGgavYfAaBq9h8BoGr2HwGgavYfAaBq9h8BoGr2HwGgavYfAaBq9h8BoGr2HwGgavYfAaBq9h8BoGr2HwGgavYfAaBq9h8BoGr2HwGgavYfAaBq9h8BoG72HwHgbvYfAeBu9h8B4G72HwHgbvYfAeBu9h8B4G72HwHgbvYfAeBu9h8B4G72HwHgbvYfAeBu9h8B4G72HwHgbvYfAeBu9h8B4G72HwHgbvYfAeBu9h8B4G72HwHgbvYfAeBu9h8B4G72HwHgbvYfAeBu9h8B4G72HwHgbvYfAeBu9h8B4G72HwHgbvYfAeBu9h8B4G72HwHgbvYfAeBu9h8B4G72HwHgbvYfAeBu9h8B4G72HwHgbvYfAeBu9h8B4G72HwHgbvYfAeBu9h8B4G72HwHgbvYfAeBu9h8B4G72HwHgbvYfAeBu9h8B4G72HwHgbvYfAeBs8weIbBMwyeYfAMg2cYPMPgGQbPMHiGwTMMnmHwDINnGDzD4BkGzzB4hsEzDJ5h8AyDZxg8w+AZBs8weIbBMwyeYfAMg2cYPMPgGQbPMHiGwTMMnmHwDINnGDzD4BkGzzB4hsEzDJ5h8AyDZxg8w+AZBs8weIbBMwyeYfAMg2cYPMPgGQbPMHiGwfPJYH0dzvvwyeC3w5rDnkPMIedQc+g5XHOYm3tuvubma26+5uZrbr7m5mtuvubma26+5uZrbr7n5ntuvufme26+5+Z7br7n5ntuvufme24+c/OZm8/cfObmMzefufnMzWduPnPzed/88V/kX07LaTuFUzqVUztdTreTjCVjyVgylowlY8lYMpaMJWPJ2DK2jC1jy9gytowtY8vYMraMkBEyQkbICBkhI2SEjJARMlJGykgZKSNlpIyUkTJSRsooGSWjZJSMklEySkbJKBklo2W0jJbRMlpGy2gZLaNltIxLxiXjknHJuGRcMi4Zl4xLxiXjlnHLuGXcMm4Zt4xbxi3jlnHLODKOjCPjyDgyjowj48g4MnC+cL5wvnC+cL5wvnC+cL5wvnC+cL5wvnC+cL5wvnC+cL5wvnC+cL5wvr44z6/TcvrM6K9TOH3+tvPtn5ZTO11Ot9OZ09dvxd9On7+v1ddpO4VTOpVTO11Ot9OZ09dvyt9OMlJGykgZKSNlpIyUkTJKRskoGSWjZJSMklEySkbJaBkto2W0jJbRMlpGy2gZLeOSccm4ZFwyLhmXjEvGJeOSccm4Zdwybhm3jFvGLeOWccu4Zdwyjowj48g4Mo6MI+PIODKOjDMZ3wo/307LaTuFUzqVUztdTreTjCVjyVgylowlY8lYMpaMJWPJ2DK2jC1jy9gytowtY8vYMraMkIHzjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON843zjfON88B54DxwHjgPnAfOA+eB88B54DxwHjgPnAfOA+eB88B54DxwHjgPnAfOA+eB88B54DxwHjgPnAfOA+eB88B54DxwHjgPnAfOA+eB88B54DxwHjgPnAfOA+eB88B54DxwHjgPnAfOA+eB88B54DxwHjgPnAfOA+eB88B54DxwHjgPnAfOA+eB88B54DxwHjgPnAfOA+eB88B54DxwHjgPnAfOA+eB88B54DxwHjgPnAfOA+eB88B54DxwHjhPnCfOE+eJ88R54jxxnjhPnCfOE+eJ88R54jxxnjhPnCfOE+eJ88R54jxxnjhPnCfOE+eJ88R54jxxnjhPnCfOE+eJ88R54jxxnjhPnCfOE+eJ88R54jxxnjhPnCfOE+eJ88R54jxxnjhPnCfOE+eJ88R54jxxnjhPnCfOE+eJ88R54jxxnjhPnCfOE+eJ88R54jxxnjhPnCfOE+eJ88R54jxxnjhPnCfOE+eJ88R54jxxnjhPnCfOE+eJ88J54bxwXjgvnBfOC+eF88J54bxwXjgvnBfOC+eF88J54bxwXjgvnBfOC+eF88J54bxwXjgvnBfOC+eF88J54bxwXjgvnBfOC+eF88J54bxwXjgvnBfOC+eF88J54bxwXjgvnBfOC+eF88J54bxwXjgvnBfOC+eF88J54bxwXjgvnBfOC+eF88J54bxwXjgvnBfOC+eF88J54bxwXjgvnBfOC+eF88J54bxwXjgvnBfOC+eF88J54bxwXjhvnDfOG+eN88Z5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BStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIFK1ywwgUrXLDCBStcsMIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLCJStcssIlK1yywiUrXLLC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WrZRyzZq2UYt26hlG7Vso5Zt1LKNWrZRyzZq2UYt26hlG7Vso5Zt1LKNWrZRyzZq2UYt26hlG7Vso5Zt1LKNWrZRyzZq2UYt26hlG7Vso5Zt1LKNWrZRyzZq2UYt26hlG7Vso5Zt1LKNWrZRyzZq2UYt26hlG7Vso5Zt1LKNWrZRyzZq2UYt26hlG7Vso5Zt1LKNWrZRyzZq2UYt26hlG7Vso5Zt1LKNWrZRyzZq2UYt26hlG7Vso5Zt1LKNWrZRyzZq2UYt26hlG7VsoxYrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHCFStcscIVK1yxwhUrXLHC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uGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4ZoVrVrhmhWtWuGaFa1a4/urDfT7p3V99uPcpnNKpnD4yPp8I756nzrvnqfPueeq8e546756nzrvnqfPueeq8v/pw71M5ydgytowtI2SEjJARMkJGyAgZISNkhIyUkTJSRspIGSkjZaSMlJEySkbJKBklo2SUjJJRMkpGyWgZLaNltIyW0TJaRstoGS3jknHJuGRcMi4Zl4xLxiXjknHJuGXcMm7v3dt795td4s+/+uX//PqPv/31v/zuN//1yz/9z8df/vt///5f//TbP/z+/Zd/+v/+c/7Jv/zxt7/73W//45//849/+Nff/Nt///E3//y7P/zr5z/75fX5P5/Q/K/Vv9rrf3/8n5e/tdevdn/+re1v5fpVfvytP//5f//5/wc=",
|
|
1882
1882
|
"verification_key": "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"
|
|
1883
1883
|
},
|
|
1884
1884
|
{
|
|
@@ -2129,8 +2129,8 @@
|
|
|
2129
2129
|
}
|
|
2130
2130
|
}
|
|
2131
2131
|
},
|
|
2132
|
-
"bytecode": "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",
|
|
2133
|
-
"debug_symbols": "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"
|
|
2132
|
+
"bytecode": "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",
|
|
2133
|
+
"debug_symbols": "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"
|
|
2134
2134
|
},
|
|
2135
2135
|
{
|
|
2136
2136
|
"name": "sync_private_state",
|
|
@@ -2287,8 +2287,8 @@
|
|
|
2287
2287
|
}
|
|
2288
2288
|
}
|
|
2289
2289
|
},
|
|
2290
|
-
"bytecode": "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",
|
|
2291
|
-
"debug_symbols": "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"
|
|
2290
|
+
"bytecode": "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",
|
|
2291
|
+
"debug_symbols": "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XjPPa+Z5zTyvmec187xmntfM85p5XjPPa+Z5zTyvmec187xmntfM85p5XjPPa+Z5zTyvmec187xmntfM85p5XjPPa+Z5zTyvmec187xmntfM85p5XjPPa+Z5zTyvmec181y1QrMedOT5RSWpJrWknmRJI8mTZlI6PB2eDk+Hp8PT4enwdHg6PB2ejpmOmY6ZjpmOI89nE1nSSPKkmbSCjjy/qCTVpJaUjpWOlY6VjpWOFQ4VFV1UkmpSS+pJljSSPGkmpaOko6SjpKOko6SjpKOko6SjpKOko6ajpqOmo6ajpqOmo6ajpqOmo6ajpaOlo6WjpaOlo6WjpaOlo6WjpaOno6ejp6Ono6ejp6Ono6ejp6Onw9Jh6bB0WDosHZYOS4elw9KhPD9rjR9JJelwTFFL6kmWNJI8aSatIOX5SSUpHZ4OT4enw9Ph6fB0eDpmOmY6ZjpmOmY6ZjpmOmY6ZjpmOlY6VjpWOlY6VjpWOlY6VjpWOlY4VLh0UUmqSS2pJ1nSSPKkmZSOko6SjpKOko6SjpKOko6SjpKOko6ajpqOmo6ajpqOmo6ajpqOmo6ajpaOlo6WjpaOlo6WjpaOlo6WjpaOno6ejp6Ono6ejp6Ono6ejp6Ong5Lh6XD0mHpsHRYOiwdlg5Lh6VjpGOkI/O8Z573zPOeed4zz3vmec8875nnPfO8Z573zPOeed4zz3vmec8875nnPfO8Z573zPOeed4zz3vmec8875nnPfO8Z573zPOeed4zz3vmec8875nnPfO8Z573zPOeed4zz3vmuWWeW+a5ZZ5b5rllnlvmuWWeW+a5ZZ5b5rllnlvmuWWeW+a5ZZ5b5rllnlvmuWWeW+a5ZZ5b5rllnlvmuWWeW+a5ZZ5b5rllnlvmuWWeW+a5ZZ5b5rllnlvmuWWeW+a5ZZ5b5rllnlvmuWWeW+a5ZZ5b5rllnlvmuWWeW+a5ZZ5b5rllnlvmuWWeW+a5ZZ5b5rllnlvmuWWeW+a5ZZ5b5rllnlvmuWWeW+a5ZZ5b5rllnlvmuWWeW+a5ZZ5b5rllnlvmuWWeW+a5ZZ5b5rllnlvmuWWeW+a5ZZ5b5rllnlvmuWWeW+a5ZZ5b5rllnlvmuWWeW+a5ZZ5b5vnIPB+Z5yPzfGSej8zzkXk+Ms9H5vnIPB+Z5yPzfGSej8zzkXk+Ms9H5vnIPB+Z5yPzfGSej8zz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"
|
|
2292
2292
|
},
|
|
2293
2293
|
{
|
|
2294
2294
|
"name": "public_dispatch",
|
|
@@ -2566,7 +2566,7 @@
|
|
|
2566
2566
|
},
|
|
2567
2567
|
"128": {
|
|
2568
2568
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/messages/discovery/private_events.nr",
|
|
2569
|
-
"source": "use crate::messages::{\n
|
|
2569
|
+
"source": "use crate::{\n event::event_interface::compute_private_serialized_event_commitment,\n messages::{\n encoding::MAX_MESSAGE_CONTENT_LEN, logs::event::decode_private_event_message,\n processing::enqueue_event_for_validation,\n },\n};\nuse protocol_types::{address::AztecAddress, traits::ToField};\n\npub unconstrained fn process_private_event_msg(\n contract_address: AztecAddress,\n recipient: AztecAddress,\n msg_metadata: u64,\n msg_content: BoundedVec<Field, MAX_MESSAGE_CONTENT_LEN>,\n tx_hash: Field,\n) {\n let (event_type_id, randomness, serialized_event) =\n decode_private_event_message(msg_metadata, msg_content);\n\n let event_commitment = compute_private_serialized_event_commitment(\n serialized_event,\n randomness,\n event_type_id.to_field(),\n );\n\n enqueue_event_for_validation(\n contract_address,\n event_type_id,\n serialized_event,\n event_commitment,\n tx_hash,\n recipient,\n );\n}\n"
|
|
2570
2570
|
},
|
|
2571
2571
|
"129": {
|
|
2572
2572
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/messages/discovery/private_notes.nr",
|
|
@@ -2586,7 +2586,7 @@
|
|
|
2586
2586
|
},
|
|
2587
2587
|
"137": {
|
|
2588
2588
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/messages/logs/event.nr",
|
|
2589
|
-
"source": "use crate::{\n event::{event_interface::EventInterface, event_selector::EventSelector},\n messages::{\n encoding::{encode_message, MAX_MESSAGE_CONTENT_LEN, MESSAGE_EXPANDED_METADATA_LEN},\n msg_type::PRIVATE_EVENT_MSG_TYPE_ID,\n },\n utils::array,\n};\nuse protocol_types::
|
|
2589
|
+
"source": "use crate::{\n event::{event_interface::EventInterface, event_selector::EventSelector},\n messages::{\n encoding::{encode_message, MAX_MESSAGE_CONTENT_LEN, MESSAGE_EXPANDED_METADATA_LEN},\n msg_type::PRIVATE_EVENT_MSG_TYPE_ID,\n },\n utils::array,\n};\nuse protocol_types::traits::{FromField, Serialize, ToField};\n\n/// The number of fields in a private event message content that are not the event's serialized representation\n/// (1 field for randomness).\npub(crate) global PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN: u32 = 1;\npub(crate) global PRIVATE_EVENT_MSG_PLAINTEXT_RANDOMNESS_INDEX: u32 = 0;\n\n/// The maximum length of the packed representation of an event's contents. This is limited by private log size,\n/// encryption overhead and extra fields in the message (e.g. message type id, randomness, etc.).\npub global MAX_EVENT_SERIALIZED_LEN: u32 =\n MAX_MESSAGE_CONTENT_LEN - PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN;\n\n/// Creates the plaintext for a private event message (i.e. one of type [PRIVATE_EVENT_MSG_TYPE_ID]).\n///\n/// This plaintext is meant to be decoded via [decode_private_event_message].\npub fn encode_private_event_message<Event>(\n event: Event,\n randomness: Field,\n ) -> [Field; PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN + <Event as Serialize>::N + MESSAGE_EXPANDED_METADATA_LEN]\nwhere\n Event: EventInterface + Serialize,\n{\n // We use `Serialize` because we want for events to be processable by off-chain actors, e.g. block explorers,\n // wallets and apps, without having to rely on contract invocation. If we used `Packable` we'd need to call utility\n // functions in order to unpack events, which would introduce a level of complexity we don't currently think is\n // worth the savings in DA (for public events) and proving time (when encrypting private event messages).\n let serialized_event = event.serialize();\n\n // If PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN is changed, causing the assertion below to fail, then the\n // encoding below must be updated as well.\n std::static_assert(\n PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN == 1,\n \"unexpected value for PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN\",\n );\n\n let mut msg_plaintext =\n [0; PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN + <Event as Serialize>::N];\n msg_plaintext[PRIVATE_EVENT_MSG_PLAINTEXT_RANDOMNESS_INDEX] = randomness;\n\n for i in 0..serialized_event.len() {\n msg_plaintext[PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN + i] = serialized_event[i];\n }\n\n // The event type id is stored in the message metadata\n encode_message(\n PRIVATE_EVENT_MSG_TYPE_ID,\n Event::get_event_type_id().to_field() as u64,\n msg_plaintext,\n )\n}\n\n/// Decodes the plaintext from a private event message (i.e. one of type [PRIVATE_EVENT_MSG_TYPE_ID]).\n///\n/// This plaintext is meant to have originated from [encode_private_event_message].\n///\n/// Note that while [encode_private_event_message] returns a fixed-size array, this function takes a [BoundedVec]\n/// instead. This is because when decoding we're typically processing runtime-sized plaintexts, more specifically, those\n/// that originate from [crate::messages::encryption::message_encryption::MessageEncryption::decrypt].\npub(crate) unconstrained fn decode_private_event_message(\n msg_metadata: u64,\n msg_content: BoundedVec<Field, MAX_MESSAGE_CONTENT_LEN>,\n) -> (EventSelector, Field, BoundedVec<Field, MAX_EVENT_SERIALIZED_LEN>) {\n // Private event messages contain the event type id in the metadata\n let event_type_id = EventSelector::from_field(msg_metadata as Field);\n\n assert(\n msg_content.len() > PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN,\n f\"Invalid private event message: all private event messages must have at least {PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN} fields\",\n );\n\n // If PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN is changed, causing the assertion below to fail, then the\n // destructuring of the private event message encoding below must be updated as well.\n std::static_assert(\n PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN == 1,\n \"unexpected value for PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN\",\n );\n\n let randomness = msg_content.get(PRIVATE_EVENT_MSG_PLAINTEXT_RANDOMNESS_INDEX);\n let serialized_event =\n array::subbvec(msg_content, PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN);\n\n (event_type_id, randomness, serialized_event)\n}\n\nmod test {\n use crate::{\n event::event_interface::EventInterface,\n messages::{\n encoding::decode_message,\n logs::event::{decode_private_event_message, encode_private_event_message},\n msg_type::PRIVATE_EVENT_MSG_TYPE_ID,\n },\n };\n use crate::test::mocks::mock_event::MockEvent;\n use protocol_types::traits::Serialize;\n\n global VALUE: Field = 7;\n global RANDOMNESS: Field = 10;\n\n #[test]\n unconstrained fn encode_decode() {\n let event = MockEvent::new(VALUE).build_event();\n\n let message_plaintext = encode_private_event_message(event, RANDOMNESS);\n\n let (msg_type_id, msg_metadata, msg_content) =\n decode_message(BoundedVec::from_array(message_plaintext));\n\n assert_eq(msg_type_id, PRIVATE_EVENT_MSG_TYPE_ID);\n\n let (event_type_id, randomness, serialized_event) =\n decode_private_event_message(msg_metadata, msg_content);\n\n assert_eq(event_type_id, MockEvent::get_event_type_id());\n assert_eq(randomness, RANDOMNESS);\n assert_eq(serialized_event, BoundedVec::from_array(event.serialize()));\n }\n}\n"
|
|
2590
2590
|
},
|
|
2591
2591
|
"139": {
|
|
2592
2592
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/messages/logs/note.nr",
|
|
@@ -2622,7 +2622,7 @@
|
|
|
2622
2622
|
},
|
|
2623
2623
|
"18": {
|
|
2624
2624
|
"path": "std/field/mod.nr",
|
|
2625
|
-
"source": "pub mod bn254;\nuse crate::{runtime::is_unconstrained, static_assert};\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n /// Asserts that `self` can be represented in `bit_size` bits.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^{bit_size}`.\n // docs:start:assert_max_bit_size\n pub fn assert_max_bit_size<let BIT_SIZE: u32>(self) {\n // docs:end:assert_max_bit_size\n static_assert(\n BIT_SIZE < modulus_num_bits() as u32,\n \"BIT_SIZE must be less than modulus_num_bits\",\n );\n __assert_max_bit_size(self, BIT_SIZE);\n }\n\n /// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n /// This slice will be zero padded should not all bits be necessary to represent `self`.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// The bit decomposition returned is canonical and is guaranteed to not overflow the modulus.\n // docs:start:to_le_bits\n pub fn to_le_bits<let N: u32>(self: Self) -> [u1; N] {\n // docs:end:to_le_bits\n let bits = __to_le_bits(self);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_le_bits();\n assert(bits.len() <= p.len());\n let mut ok = bits.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bits[N - 1 - i] != p[N - 1 - i]) {\n assert(p[N - 1 - i] == 1);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bits\n }\n\n /// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n /// This array will be zero padded should not all bits be necessary to represent `self`.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// The bit decomposition returned is canonical and is guaranteed to not overflow the modulus.\n // docs:start:to_be_bits\n pub fn to_be_bits<let N: u32>(self: Self) -> [u1; N] {\n // docs:end:to_be_bits\n let bits = __to_be_bits(self);\n\n if !is_unconstrained() {\n // Ensure that the decomposition does not overflow the modulus\n let p = modulus_be_bits();\n assert(bits.len() <= p.len());\n let mut ok = bits.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bits[i] != p[i]) {\n assert(p[i] == 1);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bits\n }\n\n /// Decomposes `self` into its little endian byte decomposition as a `[u8;N]` array\n /// This array will be zero padded should not all bytes be necessary to represent `self`.\n ///\n /// # Failures\n /// The length N of the array must be big enough to contain all the bytes of the 'self',\n /// and no more than the number of bytes required to represent the field modulus\n ///\n /// # Safety\n /// The result is ensured to be the canonical decomposition of the field element\n // docs:start:to_le_bytes\n pub fn to_le_bytes<let N: u32>(self: Self) -> [u8; N] {\n // docs:end:to_le_bytes\n static_assert(\n N <= modulus_le_bytes().len(),\n \"N must be less than or equal to modulus_le_bytes().len()\",\n );\n // Compute the byte decomposition\n let bytes = self.to_le_radix(256);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_le_bytes();\n assert(bytes.len() <= p.len());\n let mut ok = bytes.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bytes[N - 1 - i] != p[N - 1 - i]) {\n assert(bytes[N - 1 - i] < p[N - 1 - i]);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bytes\n }\n\n /// Decomposes `self` into its big endian byte decomposition as a `[u8;N]` array of length required to represent the field modulus\n /// This array will be zero padded should not all bytes be necessary to represent `self`.\n ///\n /// # Failures\n /// The length N of the array must be big enough to contain all the bytes of the 'self',\n /// and no more than the number of bytes required to represent the field modulus\n ///\n /// # Safety\n /// The result is ensured to be the canonical decomposition of the field element\n // docs:start:to_be_bytes\n pub fn to_be_bytes<let N: u32>(self: Self) -> [u8; N] {\n // docs:end:to_be_bytes\n static_assert(\n N <= modulus_le_bytes().len(),\n \"N must be less than or equal to modulus_le_bytes().len()\",\n );\n // Compute the byte decomposition\n let bytes = self.to_be_radix(256);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_be_bytes();\n assert(bytes.len() <= p.len());\n let mut ok = bytes.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bytes[i] != p[i]) {\n assert(bytes[i] < p[i]);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bytes\n }\n\n fn to_le_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n // Brillig does not need an immediate radix\n if !crate::runtime::is_unconstrained() {\n static_assert(1 < radix, \"radix must be greater than 1\");\n static_assert(radix <= 256, \"radix must be less than or equal to 256\");\n static_assert(radix & (radix - 1) == 0, \"radix must be a power of 2\");\n }\n __to_le_radix(self, radix)\n }\n\n fn to_be_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n // Brillig does not need an immediate radix\n if !crate::runtime::is_unconstrained() {\n static_assert(1 < radix, \"radix must be greater than 1\");\n static_assert(radix <= 256, \"radix must be less than or equal to 256\");\n static_assert(radix & (radix - 1) == 0, \"radix must be a power of 2\");\n }\n __to_be_radix(self, radix)\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: [u1; 32] = exponent.to_le_bits();\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 `elem` {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n\n /// Convert a little endian byte array to a field element.\n /// If the provided byte array overflows the field modulus then the Field will silently wrap around.\n pub fn from_le_bytes<let N: u32>(bytes: [u8; N]) -> Field {\n static_assert(\n N <= modulus_le_bytes().len(),\n \"N must be less than or equal to modulus_le_bytes().len()\",\n );\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bytes[i] as Field) * v;\n v = v * 256;\n }\n result\n }\n\n /// Convert a big endian byte array to a field element.\n /// If the provided byte array overflows the field modulus then the Field will silently wrap around.\n pub fn from_be_bytes<let N: u32>(bytes: [u8; N]) -> Field {\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bytes[N - 1 - i] as Field) * v;\n v = v * 256;\n }\n result\n }\n}\n\n#[builtin(apply_range_constraint)]\nfn __assert_max_bit_size(value: Field, bit_size: u32) {}\n\n// `_radix` must be less than 256\n#[builtin(to_le_radix)]\nfn __to_le_radix<let N: u32>(value: Field, radix: u32) -> [u8; N] {}\n\n// `_radix` must be less than 256\n#[builtin(to_be_radix)]\nfn __to_be_radix<let N: u32>(value: Field, radix: u32) -> [u8; N] {}\n\n/// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n/// This slice will be zero padded should not all bits be necessary to represent `self`.\n///\n/// # Failures\n/// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n/// be able to represent the original `Field`.\n///\n/// # Safety\n/// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n/// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n/// wrap around due to overflow when verifying the decomposition.\n#[builtin(to_le_bits)]\nfn __to_le_bits<let N: u32>(value: Field) -> [u1; N] {}\n\n/// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n/// This array will be zero padded should not all bits be necessary to represent `self`.\n///\n/// # Failures\n/// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n/// be able to represent the original `Field`.\n///\n/// # Safety\n/// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n/// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n/// wrap around due to overflow when verifying the decomposition.\n#[builtin(to_be_bits)]\nfn __to_be_bits<let N: u32>(value: Field) -> [u1; N] {}\n\n#[builtin(modulus_num_bits)]\npub comptime fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub comptime fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub comptime fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub comptime fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub comptime fn modulus_le_bytes() -> [u8] {}\n\n/// An unconstrained only built in to efficiently compare fields.\n#[builtin(field_less_than)]\nunconstrained fn __field_less_than(x: Field, y: Field) -> bool {}\n\npub(crate) unconstrained fn field_less_than(x: Field, y: Field) -> bool {\n __field_less_than(x, y)\n}\n\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n if is_unconstrained() {\n // Safety: unconstrained context\n unsafe {\n field_less_than(x, y)\n }\n } else {\n let x_bytes: [u8; 32] = x.to_le_bytes();\n let y_bytes: [u8; 32] = y.to_le_bytes();\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..32 {\n if (!done) {\n let x_byte = x_bytes[32 - 1 - i] as u8;\n let y_byte = y_bytes[32 - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n }\n}\n\nmod tests {\n use crate::{panic::panic, runtime, static_assert};\n use super::{\n field_less_than, modulus_be_bits, modulus_be_bytes, modulus_le_bits, modulus_le_bytes,\n };\n\n #[test]\n // docs:start:to_be_bits_example\n fn test_to_be_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_be_bits();\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 1, 0]);\n }\n // docs:end:to_be_bits_example\n\n #[test]\n // docs:start:to_le_bits_example\n fn test_to_le_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_le_bits();\n assert_eq(bits, [0, 1, 0, 0, 0, 0, 0, 0]);\n }\n // docs:end:to_le_bits_example\n\n #[test]\n // docs:start:to_be_bytes_example\n fn test_to_be_bytes() {\n let field = 2;\n let bytes: [u8; 8] = field.to_be_bytes();\n assert_eq(bytes, [0, 0, 0, 0, 0, 0, 0, 2]);\n assert_eq(Field::from_be_bytes::<8>(bytes), field);\n }\n // docs:end:to_be_bytes_example\n\n #[test]\n // docs:start:to_le_bytes_example\n fn test_to_le_bytes() {\n let field = 2;\n let bytes: [u8; 8] = field.to_le_bytes();\n assert_eq(bytes, [2, 0, 0, 0, 0, 0, 0, 0]);\n assert_eq(Field::from_le_bytes::<8>(bytes), field);\n }\n // docs:end:to_le_bytes_example\n\n #[test]\n // docs:start:to_be_radix_example\n fn test_to_be_radix() {\n // 259, in base 256, big endian, is [1, 3].\n // i.e. 3 * 256^0 + 1 * 256^1\n let field = 259;\n\n // The radix (in this example, 256) must be a power of 2.\n // The length of the returned byte array can be specified to be\n // >= the amount of space needed.\n let bytes: [u8; 8] = field.to_be_radix(256);\n assert_eq(bytes, [0, 0, 0, 0, 0, 0, 1, 3]);\n assert_eq(Field::from_be_bytes::<8>(bytes), field);\n }\n // docs:end:to_be_radix_example\n\n #[test]\n // docs:start:to_le_radix_example\n fn test_to_le_radix() {\n // 259, in base 256, little endian, is [3, 1].\n // i.e. 3 * 256^0 + 1 * 256^1\n let field = 259;\n\n // The radix (in this example, 256) must be a power of 2.\n // The length of the returned byte array can be specified to be\n // >= the amount of space needed.\n let bytes: [u8; 8] = field.to_le_radix(256);\n assert_eq(bytes, [3, 1, 0, 0, 0, 0, 0, 0]);\n assert_eq(Field::from_le_bytes::<8>(bytes), field);\n }\n // docs:end:to_le_radix_example\n\n #[test(should_fail_with = \"radix must be greater than 1\")]\n fn test_to_le_radix_1() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(1);\n } else {\n panic(f\"radix must be greater than 1\");\n }\n }\n\n // Updated test to account for Brillig restriction that radix must be greater than 2\n #[test(should_fail_with = \"radix must be greater than 1\")]\n fn test_to_le_radix_brillig_1() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 1;\n let _: [u8; 8] = field.to_le_radix(1);\n } else {\n panic(f\"radix must be greater than 1\");\n }\n }\n\n #[test(should_fail_with = \"radix must be a power of 2\")]\n fn test_to_le_radix_3() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(3);\n } else {\n panic(f\"radix must be a power of 2\");\n }\n }\n\n #[test]\n fn test_to_le_radix_brillig_3() {\n // this test should only fail in constrained mode\n if runtime::is_unconstrained() {\n let field = 1;\n let out: [u8; 8] = field.to_le_radix(3);\n let mut expected = [0; 8];\n expected[0] = 1;\n assert(out == expected, \"unexpected result\");\n }\n }\n\n #[test(should_fail_with = \"radix must be less than or equal to 256\")]\n fn test_to_le_radix_512() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(512);\n } else {\n panic(f\"radix must be less than or equal to 256\")\n }\n }\n\n #[test(should_fail_with = \"Field failed to decompose into specified 16 limbs\")]\n unconstrained fn not_enough_limbs_brillig() {\n let _: [u8; 16] = 0x100000000000000000000000000000000.to_le_bytes();\n }\n\n #[test(should_fail_with = \"Field failed to decompose into specified 16 limbs\")]\n fn not_enough_limbs() {\n let _: [u8; 16] = 0x100000000000000000000000000000000.to_le_bytes();\n }\n\n #[test]\n unconstrained fn test_field_less_than() {\n assert(field_less_than(0, 1));\n assert(field_less_than(0, 0x100));\n assert(field_less_than(0x100, 0 - 1));\n assert(!field_less_than(0 - 1, 0));\n }\n\n #[test]\n unconstrained fn test_large_field_values_unconstrained() {\n let large_field = 0xffffffffffffffff;\n\n let bits: [u1; 64] = large_field.to_le_bits();\n assert_eq(bits[0], 1);\n\n let bytes: [u8; 8] = large_field.to_le_bytes();\n assert_eq(Field::from_le_bytes::<8>(bytes), large_field);\n\n let radix_bytes: [u8; 8] = large_field.to_le_radix(256);\n assert_eq(Field::from_le_bytes::<8>(radix_bytes), large_field);\n }\n\n #[test]\n fn test_large_field_values() {\n let large_val = 0xffffffffffffffff;\n\n let bits: [u1; 64] = large_val.to_le_bits();\n assert_eq(bits[0], 1);\n\n let bytes: [u8; 8] = large_val.to_le_bytes();\n assert_eq(Field::from_le_bytes::<8>(bytes), large_val);\n\n let radix_bytes: [u8; 8] = large_val.to_le_radix(256);\n assert_eq(Field::from_le_bytes::<8>(radix_bytes), large_val);\n }\n\n #[test]\n fn test_decomposition_edge_cases() {\n let zero_bits: [u1; 8] = 0.to_le_bits();\n assert_eq(zero_bits, [0; 8]);\n\n let zero_bytes: [u8; 8] = 0.to_le_bytes();\n assert_eq(zero_bytes, [0; 8]);\n\n let one_bits: [u1; 8] = 1.to_le_bits();\n let expected: [u1; 8] = [1, 0, 0, 0, 0, 0, 0, 0];\n assert_eq(one_bits, expected);\n\n let pow2_bits: [u1; 8] = 4.to_le_bits();\n let expected: [u1; 8] = [0, 0, 1, 0, 0, 0, 0, 0];\n assert_eq(pow2_bits, expected);\n }\n\n #[test]\n fn test_pow_32() {\n assert_eq(2.pow_32(3), 8);\n assert_eq(3.pow_32(2), 9);\n assert_eq(5.pow_32(0), 1);\n assert_eq(7.pow_32(1), 7);\n\n assert_eq(2.pow_32(10), 1024);\n\n assert_eq(0.pow_32(5), 0);\n assert_eq(0.pow_32(0), 1);\n\n assert_eq(1.pow_32(100), 1);\n }\n\n #[test]\n fn test_sgn0() {\n assert_eq(0.sgn0(), 0);\n assert_eq(2.sgn0(), 0);\n assert_eq(4.sgn0(), 0);\n assert_eq(100.sgn0(), 0);\n\n assert_eq(1.sgn0(), 1);\n assert_eq(3.sgn0(), 1);\n assert_eq(5.sgn0(), 1);\n assert_eq(101.sgn0(), 1);\n }\n\n #[test(should_fail_with = \"Field failed to decompose into specified 8 limbs\")]\n fn test_bit_decomposition_overflow() {\n // 8 bits can't represent large field values\n let large_val = 0x1000000000000000;\n let _: [u1; 8] = large_val.to_le_bits();\n }\n\n #[test(should_fail_with = \"Field failed to decompose into specified 4 limbs\")]\n fn test_byte_decomposition_overflow() {\n // 4 bytes can't represent large field values\n let large_val = 0x1000000000000000;\n let _: [u8; 4] = large_val.to_le_bytes();\n }\n\n #[test]\n fn test_to_from_be_bytes_bn254_edge_cases() {\n if crate::compat::is_bn254() {\n // checking that decrementing this byte produces the expected 32 BE bytes for (modulus - 1)\n let mut p_minus_1_bytes: [u8; 32] = modulus_be_bytes().as_array();\n assert(p_minus_1_bytes[32 - 1] > 0);\n p_minus_1_bytes[32 - 1] -= 1;\n\n let p_minus_1 = Field::from_be_bytes::<32>(p_minus_1_bytes);\n assert_eq(p_minus_1 + 1, 0);\n\n // checking that converting (modulus - 1) from and then to 32 BE bytes produces the same bytes\n let p_minus_1_converted_bytes: [u8; 32] = p_minus_1.to_be_bytes();\n assert_eq(p_minus_1_converted_bytes, p_minus_1_bytes);\n\n // checking that incrementing this byte produces 32 BE bytes for (modulus + 1)\n let mut p_plus_1_bytes: [u8; 32] = modulus_be_bytes().as_array();\n assert(p_plus_1_bytes[32 - 1] < 255);\n p_plus_1_bytes[32 - 1] += 1;\n\n let p_plus_1 = Field::from_be_bytes::<32>(p_plus_1_bytes);\n assert_eq(p_plus_1, 1);\n\n // checking that converting p_plus_1 to 32 BE bytes produces the same\n // byte set to 1 as p_plus_1_bytes and otherwise zeroes\n let mut p_plus_1_converted_bytes: [u8; 32] = p_plus_1.to_be_bytes();\n assert_eq(p_plus_1_converted_bytes[32 - 1], 1);\n p_plus_1_converted_bytes[32 - 1] = 0;\n assert_eq(p_plus_1_converted_bytes, [0; 32]);\n\n // checking that Field::from_be_bytes::<32> on the Field modulus produces 0\n assert_eq(modulus_be_bytes().len(), 32);\n let p = Field::from_be_bytes::<32>(modulus_be_bytes().as_array());\n assert_eq(p, 0);\n\n // checking that converting 0 to 32 BE bytes produces 32 zeroes\n let p_bytes: [u8; 32] = 0.to_be_bytes();\n assert_eq(p_bytes, [0; 32]);\n }\n }\n\n #[test]\n fn test_to_from_le_bytes_bn254_edge_cases() {\n if crate::compat::is_bn254() {\n // checking that decrementing this byte produces the expected 32 LE bytes for (modulus - 1)\n let mut p_minus_1_bytes: [u8; 32] = modulus_le_bytes().as_array();\n assert(p_minus_1_bytes[0] > 0);\n p_minus_1_bytes[0] -= 1;\n\n let p_minus_1 = Field::from_le_bytes::<32>(p_minus_1_bytes);\n assert_eq(p_minus_1 + 1, 0);\n\n // checking that converting (modulus - 1) from and then to 32 BE bytes produces the same bytes\n let p_minus_1_converted_bytes: [u8; 32] = p_minus_1.to_le_bytes();\n assert_eq(p_minus_1_converted_bytes, p_minus_1_bytes);\n\n // checking that incrementing this byte produces 32 LE bytes for (modulus + 1)\n let mut p_plus_1_bytes: [u8; 32] = modulus_le_bytes().as_array();\n assert(p_plus_1_bytes[0] < 255);\n p_plus_1_bytes[0] += 1;\n\n let p_plus_1 = Field::from_le_bytes::<32>(p_plus_1_bytes);\n assert_eq(p_plus_1, 1);\n\n // checking that converting p_plus_1 to 32 LE bytes produces the same\n // byte set to 1 as p_plus_1_bytes and otherwise zeroes\n let mut p_plus_1_converted_bytes: [u8; 32] = p_plus_1.to_le_bytes();\n assert_eq(p_plus_1_converted_bytes[0], 1);\n p_plus_1_converted_bytes[0] = 0;\n assert_eq(p_plus_1_converted_bytes, [0; 32]);\n\n // checking that Field::from_le_bytes::<32> on the Field modulus produces 0\n assert_eq(modulus_le_bytes().len(), 32);\n let p = Field::from_le_bytes::<32>(modulus_le_bytes().as_array());\n assert_eq(p, 0);\n\n // checking that converting 0 to 32 LE bytes produces 32 zeroes\n let p_bytes: [u8; 32] = 0.to_le_bytes();\n assert_eq(p_bytes, [0; 32]);\n }\n }\n\n /// Convert a little endian bit array to a field element.\n /// If the provided bit array overflows the field modulus then the Field will silently wrap around.\n fn from_le_bits<let N: u32>(bits: [u1; N]) -> Field {\n static_assert(\n N <= modulus_le_bits().len(),\n \"N must be less than or equal to modulus_le_bits().len()\",\n );\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bits[i] as Field) * v;\n v = v * 2;\n }\n result\n }\n\n /// Convert a big endian bit array to a field element.\n /// If the provided bit array overflows the field modulus then the Field will silently wrap around.\n fn from_be_bits<let N: u32>(bits: [u1; N]) -> Field {\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bits[N - 1 - i] as Field) * v;\n v = v * 2;\n }\n result\n }\n\n #[test]\n fn test_to_from_be_bits_bn254_edge_cases() {\n if crate::compat::is_bn254() {\n // checking that decrementing this bit produces the expected 254 BE bits for (modulus - 1)\n let mut p_minus_1_bits: [u1; 254] = modulus_be_bits().as_array();\n assert(p_minus_1_bits[254 - 1] > 0);\n p_minus_1_bits[254 - 1] -= 1;\n\n let p_minus_1 = from_be_bits::<254>(p_minus_1_bits);\n assert_eq(p_minus_1 + 1, 0);\n\n // checking that converting (modulus - 1) from and then to 254 BE bits produces the same bits\n let p_minus_1_converted_bits: [u1; 254] = p_minus_1.to_be_bits();\n assert_eq(p_minus_1_converted_bits, p_minus_1_bits);\n\n // checking that incrementing this bit produces 254 BE bits for (modulus + 4)\n let mut p_plus_4_bits: [u1; 254] = modulus_be_bits().as_array();\n assert(p_plus_4_bits[254 - 3] < 1);\n p_plus_4_bits[254 - 3] += 1;\n\n let p_plus_4 = from_be_bits::<254>(p_plus_4_bits);\n assert_eq(p_plus_4, 4);\n\n // checking that converting p_plus_4 to 254 BE bits produces the same\n // bit set to 1 as p_plus_4_bits and otherwise zeroes\n let mut p_plus_4_converted_bits: [u1; 254] = p_plus_4.to_be_bits();\n assert_eq(p_plus_4_converted_bits[254 - 3], 1);\n p_plus_4_converted_bits[254 - 3] = 0;\n assert_eq(p_plus_4_converted_bits, [0; 254]);\n\n // checking that Field::from_be_bits::<254> on the Field modulus produces 0\n assert_eq(modulus_be_bits().len(), 254);\n let p = from_be_bits::<254>(modulus_be_bits().as_array());\n assert_eq(p, 0);\n\n // checking that converting 0 to 254 BE bytes produces 254 zeroes\n let p_bits: [u1; 254] = 0.to_be_bits();\n assert_eq(p_bits, [0; 254]);\n }\n }\n\n #[test]\n fn test_to_from_le_bits_bn254_edge_cases() {\n if crate::compat::is_bn254() {\n // checking that decrementing this bit produces the expected 254 LE bits for (modulus - 1)\n let mut p_minus_1_bits: [u1; 254] = modulus_le_bits().as_array();\n assert(p_minus_1_bits[0] > 0);\n p_minus_1_bits[0] -= 1;\n\n let p_minus_1 = from_le_bits::<254>(p_minus_1_bits);\n assert_eq(p_minus_1 + 1, 0);\n\n // checking that converting (modulus - 1) from and then to 254 BE bits produces the same bits\n let p_minus_1_converted_bits: [u1; 254] = p_minus_1.to_le_bits();\n assert_eq(p_minus_1_converted_bits, p_minus_1_bits);\n\n // checking that incrementing this bit produces 254 LE bits for (modulus + 4)\n let mut p_plus_4_bits: [u1; 254] = modulus_le_bits().as_array();\n assert(p_plus_4_bits[2] < 1);\n p_plus_4_bits[2] += 1;\n\n let p_plus_4 = from_le_bits::<254>(p_plus_4_bits);\n assert_eq(p_plus_4, 4);\n\n // checking that converting p_plus_4 to 254 LE bits produces the same\n // bit set to 1 as p_plus_4_bits and otherwise zeroes\n let mut p_plus_4_converted_bits: [u1; 254] = p_plus_4.to_le_bits();\n assert_eq(p_plus_4_converted_bits[2], 1);\n p_plus_4_converted_bits[2] = 0;\n assert_eq(p_plus_4_converted_bits, [0; 254]);\n\n // checking that Field::from_le_bits::<254> on the Field modulus produces 0\n assert_eq(modulus_le_bits().len(), 254);\n let p = from_le_bits::<254>(modulus_le_bits().as_array());\n assert_eq(p, 0);\n\n // checking that converting 0 to 254 LE bytes produces 254 zeroes\n let p_bits: [u1; 254] = 0.to_le_bits();\n assert_eq(p_bits, [0; 254]);\n }\n }\n}\n"
|
|
2625
|
+
"source": "pub mod bn254;\nuse crate::{runtime::is_unconstrained, static_assert};\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n /// Asserts that `self` can be represented in `bit_size` bits.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^{bit_size}`.\n // docs:start:assert_max_bit_size\n pub fn assert_max_bit_size<let BIT_SIZE: u32>(self) {\n // docs:end:assert_max_bit_size\n static_assert(\n BIT_SIZE < modulus_num_bits() as u32,\n \"BIT_SIZE must be less than modulus_num_bits\",\n );\n __assert_max_bit_size(self, BIT_SIZE);\n }\n\n /// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n /// This array will be zero padded should not all bits be necessary to represent `self`.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting array will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// The bit decomposition returned is canonical and is guaranteed to not overflow the modulus.\n // docs:start:to_le_bits\n pub fn to_le_bits<let N: u32>(self: Self) -> [u1; N] {\n // docs:end:to_le_bits\n let bits = __to_le_bits(self);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_le_bits();\n assert(bits.len() <= p.len());\n let mut ok = bits.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bits[N - 1 - i] != p[N - 1 - i]) {\n assert(p[N - 1 - i] == 1);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bits\n }\n\n /// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n /// This array will be zero padded should not all bits be necessary to represent `self`.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting array will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// The bit decomposition returned is canonical and is guaranteed to not overflow the modulus.\n // docs:start:to_be_bits\n pub fn to_be_bits<let N: u32>(self: Self) -> [u1; N] {\n // docs:end:to_be_bits\n let bits = __to_be_bits(self);\n\n if !is_unconstrained() {\n // Ensure that the decomposition does not overflow the modulus\n let p = modulus_be_bits();\n assert(bits.len() <= p.len());\n let mut ok = bits.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bits[i] != p[i]) {\n assert(p[i] == 1);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bits\n }\n\n /// Decomposes `self` into its little endian byte decomposition as a `[u8;N]` array\n /// This array will be zero padded should not all bytes be necessary to represent `self`.\n ///\n /// # Failures\n /// The length N of the array must be big enough to contain all the bytes of the 'self',\n /// and no more than the number of bytes required to represent the field modulus\n ///\n /// # Safety\n /// The result is ensured to be the canonical decomposition of the field element\n // docs:start:to_le_bytes\n pub fn to_le_bytes<let N: u32>(self: Self) -> [u8; N] {\n // docs:end:to_le_bytes\n static_assert(\n N <= modulus_le_bytes().len(),\n \"N must be less than or equal to modulus_le_bytes().len()\",\n );\n // Compute the byte decomposition\n let bytes = self.to_le_radix(256);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_le_bytes();\n assert(bytes.len() <= p.len());\n let mut ok = bytes.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bytes[N - 1 - i] != p[N - 1 - i]) {\n assert(bytes[N - 1 - i] < p[N - 1 - i]);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bytes\n }\n\n /// Decomposes `self` into its big endian byte decomposition as a `[u8;N]` array of length required to represent the field modulus\n /// This array will be zero padded should not all bytes be necessary to represent `self`.\n ///\n /// # Failures\n /// The length N of the array must be big enough to contain all the bytes of the 'self',\n /// and no more than the number of bytes required to represent the field modulus\n ///\n /// # Safety\n /// The result is ensured to be the canonical decomposition of the field element\n // docs:start:to_be_bytes\n pub fn to_be_bytes<let N: u32>(self: Self) -> [u8; N] {\n // docs:end:to_be_bytes\n static_assert(\n N <= modulus_le_bytes().len(),\n \"N must be less than or equal to modulus_le_bytes().len()\",\n );\n // Compute the byte decomposition\n let bytes = self.to_be_radix(256);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_be_bytes();\n assert(bytes.len() <= p.len());\n let mut ok = bytes.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bytes[i] != p[i]) {\n assert(bytes[i] < p[i]);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bytes\n }\n\n fn to_le_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n // Brillig does not need an immediate radix\n if !crate::runtime::is_unconstrained() {\n static_assert(1 < radix, \"radix must be greater than 1\");\n static_assert(radix <= 256, \"radix must be less than or equal to 256\");\n static_assert(radix & (radix - 1) == 0, \"radix must be a power of 2\");\n }\n __to_le_radix(self, radix)\n }\n\n fn to_be_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n // Brillig does not need an immediate radix\n if !crate::runtime::is_unconstrained() {\n static_assert(1 < radix, \"radix must be greater than 1\");\n static_assert(radix <= 256, \"radix must be less than or equal to 256\");\n static_assert(radix & (radix - 1) == 0, \"radix must be a power of 2\");\n }\n __to_be_radix(self, radix)\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: [u1; 32] = exponent.to_le_bits();\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 `elem` {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n\n /// Convert a little endian byte array to a field element.\n /// If the provided byte array overflows the field modulus then the Field will silently wrap around.\n pub fn from_le_bytes<let N: u32>(bytes: [u8; N]) -> Field {\n static_assert(\n N <= modulus_le_bytes().len(),\n \"N must be less than or equal to modulus_le_bytes().len()\",\n );\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bytes[i] as Field) * v;\n v = v * 256;\n }\n result\n }\n\n /// Convert a big endian byte array to a field element.\n /// If the provided byte array overflows the field modulus then the Field will silently wrap around.\n pub fn from_be_bytes<let N: u32>(bytes: [u8; N]) -> Field {\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bytes[N - 1 - i] as Field) * v;\n v = v * 256;\n }\n result\n }\n}\n\n#[builtin(apply_range_constraint)]\nfn __assert_max_bit_size(value: Field, bit_size: u32) {}\n\n// `_radix` must be less than 256\n#[builtin(to_le_radix)]\nfn __to_le_radix<let N: u32>(value: Field, radix: u32) -> [u8; N] {}\n\n// `_radix` must be less than 256\n#[builtin(to_be_radix)]\nfn __to_be_radix<let N: u32>(value: Field, radix: u32) -> [u8; N] {}\n\n/// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n/// This array will be zero padded should not all bits be necessary to represent `self`.\n///\n/// # Failures\n/// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting array will not\n/// be able to represent the original `Field`.\n///\n/// # Safety\n/// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n/// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n/// wrap around due to overflow when verifying the decomposition.\n#[builtin(to_le_bits)]\nfn __to_le_bits<let N: u32>(value: Field) -> [u1; N] {}\n\n/// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n/// This array will be zero padded should not all bits be necessary to represent `self`.\n///\n/// # Failures\n/// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting array will not\n/// be able to represent the original `Field`.\n///\n/// # Safety\n/// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n/// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n/// wrap around due to overflow when verifying the decomposition.\n#[builtin(to_be_bits)]\nfn __to_be_bits<let N: u32>(value: Field) -> [u1; N] {}\n\n#[builtin(modulus_num_bits)]\npub comptime fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub comptime fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub comptime fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub comptime fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub comptime fn modulus_le_bytes() -> [u8] {}\n\n/// An unconstrained only built in to efficiently compare fields.\n#[builtin(field_less_than)]\nunconstrained fn __field_less_than(x: Field, y: Field) -> bool {}\n\npub(crate) unconstrained fn field_less_than(x: Field, y: Field) -> bool {\n __field_less_than(x, y)\n}\n\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n if is_unconstrained() {\n // Safety: unconstrained context\n unsafe {\n field_less_than(x, y)\n }\n } else {\n let x_bytes: [u8; 32] = x.to_le_bytes();\n let y_bytes: [u8; 32] = y.to_le_bytes();\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..32 {\n if (!done) {\n let x_byte = x_bytes[32 - 1 - i] as u8;\n let y_byte = y_bytes[32 - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n }\n}\n\nmod tests {\n use crate::{panic::panic, runtime, static_assert};\n use super::{\n field_less_than, modulus_be_bits, modulus_be_bytes, modulus_le_bits, modulus_le_bytes,\n };\n\n #[test]\n // docs:start:to_be_bits_example\n fn test_to_be_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_be_bits();\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 1, 0]);\n }\n // docs:end:to_be_bits_example\n\n #[test]\n // docs:start:to_le_bits_example\n fn test_to_le_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_le_bits();\n assert_eq(bits, [0, 1, 0, 0, 0, 0, 0, 0]);\n }\n // docs:end:to_le_bits_example\n\n #[test]\n // docs:start:to_be_bytes_example\n fn test_to_be_bytes() {\n let field = 2;\n let bytes: [u8; 8] = field.to_be_bytes();\n assert_eq(bytes, [0, 0, 0, 0, 0, 0, 0, 2]);\n assert_eq(Field::from_be_bytes::<8>(bytes), field);\n }\n // docs:end:to_be_bytes_example\n\n #[test]\n // docs:start:to_le_bytes_example\n fn test_to_le_bytes() {\n let field = 2;\n let bytes: [u8; 8] = field.to_le_bytes();\n assert_eq(bytes, [2, 0, 0, 0, 0, 0, 0, 0]);\n assert_eq(Field::from_le_bytes::<8>(bytes), field);\n }\n // docs:end:to_le_bytes_example\n\n #[test]\n // docs:start:to_be_radix_example\n fn test_to_be_radix() {\n // 259, in base 256, big endian, is [1, 3].\n // i.e. 3 * 256^0 + 1 * 256^1\n let field = 259;\n\n // The radix (in this example, 256) must be a power of 2.\n // The length of the returned byte array can be specified to be\n // >= the amount of space needed.\n let bytes: [u8; 8] = field.to_be_radix(256);\n assert_eq(bytes, [0, 0, 0, 0, 0, 0, 1, 3]);\n assert_eq(Field::from_be_bytes::<8>(bytes), field);\n }\n // docs:end:to_be_radix_example\n\n #[test]\n // docs:start:to_le_radix_example\n fn test_to_le_radix() {\n // 259, in base 256, little endian, is [3, 1].\n // i.e. 3 * 256^0 + 1 * 256^1\n let field = 259;\n\n // The radix (in this example, 256) must be a power of 2.\n // The length of the returned byte array can be specified to be\n // >= the amount of space needed.\n let bytes: [u8; 8] = field.to_le_radix(256);\n assert_eq(bytes, [3, 1, 0, 0, 0, 0, 0, 0]);\n assert_eq(Field::from_le_bytes::<8>(bytes), field);\n }\n // docs:end:to_le_radix_example\n\n #[test(should_fail_with = \"radix must be greater than 1\")]\n fn test_to_le_radix_1() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(1);\n } else {\n panic(\"radix must be greater than 1\");\n }\n }\n\n // Updated test to account for Brillig restriction that radix must be greater than 2\n #[test(should_fail_with = \"radix must be greater than 1\")]\n fn test_to_le_radix_brillig_1() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 1;\n let _: [u8; 8] = field.to_le_radix(1);\n } else {\n panic(\"radix must be greater than 1\");\n }\n }\n\n #[test(should_fail_with = \"radix must be a power of 2\")]\n fn test_to_le_radix_3() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(3);\n } else {\n panic(\"radix must be a power of 2\");\n }\n }\n\n #[test]\n fn test_to_le_radix_brillig_3() {\n // this test should only fail in constrained mode\n if runtime::is_unconstrained() {\n let field = 1;\n let out: [u8; 8] = field.to_le_radix(3);\n let mut expected = [0; 8];\n expected[0] = 1;\n assert(out == expected, \"unexpected result\");\n }\n }\n\n #[test(should_fail_with = \"radix must be less than or equal to 256\")]\n fn test_to_le_radix_512() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(512);\n } else {\n panic(\"radix must be less than or equal to 256\")\n }\n }\n\n #[test(should_fail_with = \"Field failed to decompose into specified 16 limbs\")]\n unconstrained fn not_enough_limbs_brillig() {\n let _: [u8; 16] = 0x100000000000000000000000000000000.to_le_bytes();\n }\n\n #[test(should_fail_with = \"Field failed to decompose into specified 16 limbs\")]\n fn not_enough_limbs() {\n let _: [u8; 16] = 0x100000000000000000000000000000000.to_le_bytes();\n }\n\n #[test]\n unconstrained fn test_field_less_than() {\n assert(field_less_than(0, 1));\n assert(field_less_than(0, 0x100));\n assert(field_less_than(0x100, 0 - 1));\n assert(!field_less_than(0 - 1, 0));\n }\n\n #[test]\n unconstrained fn test_large_field_values_unconstrained() {\n let large_field = 0xffffffffffffffff;\n\n let bits: [u1; 64] = large_field.to_le_bits();\n assert_eq(bits[0], 1);\n\n let bytes: [u8; 8] = large_field.to_le_bytes();\n assert_eq(Field::from_le_bytes::<8>(bytes), large_field);\n\n let radix_bytes: [u8; 8] = large_field.to_le_radix(256);\n assert_eq(Field::from_le_bytes::<8>(radix_bytes), large_field);\n }\n\n #[test]\n fn test_large_field_values() {\n let large_val = 0xffffffffffffffff;\n\n let bits: [u1; 64] = large_val.to_le_bits();\n assert_eq(bits[0], 1);\n\n let bytes: [u8; 8] = large_val.to_le_bytes();\n assert_eq(Field::from_le_bytes::<8>(bytes), large_val);\n\n let radix_bytes: [u8; 8] = large_val.to_le_radix(256);\n assert_eq(Field::from_le_bytes::<8>(radix_bytes), large_val);\n }\n\n #[test]\n fn test_decomposition_edge_cases() {\n let zero_bits: [u1; 8] = 0.to_le_bits();\n assert_eq(zero_bits, [0; 8]);\n\n let zero_bytes: [u8; 8] = 0.to_le_bytes();\n assert_eq(zero_bytes, [0; 8]);\n\n let one_bits: [u1; 8] = 1.to_le_bits();\n let expected: [u1; 8] = [1, 0, 0, 0, 0, 0, 0, 0];\n assert_eq(one_bits, expected);\n\n let pow2_bits: [u1; 8] = 4.to_le_bits();\n let expected: [u1; 8] = [0, 0, 1, 0, 0, 0, 0, 0];\n assert_eq(pow2_bits, expected);\n }\n\n #[test]\n fn test_pow_32() {\n assert_eq(2.pow_32(3), 8);\n assert_eq(3.pow_32(2), 9);\n assert_eq(5.pow_32(0), 1);\n assert_eq(7.pow_32(1), 7);\n\n assert_eq(2.pow_32(10), 1024);\n\n assert_eq(0.pow_32(5), 0);\n assert_eq(0.pow_32(0), 1);\n\n assert_eq(1.pow_32(100), 1);\n }\n\n #[test]\n fn test_sgn0() {\n assert_eq(0.sgn0(), 0);\n assert_eq(2.sgn0(), 0);\n assert_eq(4.sgn0(), 0);\n assert_eq(100.sgn0(), 0);\n\n assert_eq(1.sgn0(), 1);\n assert_eq(3.sgn0(), 1);\n assert_eq(5.sgn0(), 1);\n assert_eq(101.sgn0(), 1);\n }\n\n #[test(should_fail_with = \"Field failed to decompose into specified 8 limbs\")]\n fn test_bit_decomposition_overflow() {\n // 8 bits can't represent large field values\n let large_val = 0x1000000000000000;\n let _: [u1; 8] = large_val.to_le_bits();\n }\n\n #[test(should_fail_with = \"Field failed to decompose into specified 4 limbs\")]\n fn test_byte_decomposition_overflow() {\n // 4 bytes can't represent large field values\n let large_val = 0x1000000000000000;\n let _: [u8; 4] = large_val.to_le_bytes();\n }\n\n #[test]\n fn test_to_from_be_bytes_bn254_edge_cases() {\n if crate::compat::is_bn254() {\n // checking that decrementing this byte produces the expected 32 BE bytes for (modulus - 1)\n let mut p_minus_1_bytes: [u8; 32] = modulus_be_bytes().as_array();\n assert(p_minus_1_bytes[32 - 1] > 0);\n p_minus_1_bytes[32 - 1] -= 1;\n\n let p_minus_1 = Field::from_be_bytes::<32>(p_minus_1_bytes);\n assert_eq(p_minus_1 + 1, 0);\n\n // checking that converting (modulus - 1) from and then to 32 BE bytes produces the same bytes\n let p_minus_1_converted_bytes: [u8; 32] = p_minus_1.to_be_bytes();\n assert_eq(p_minus_1_converted_bytes, p_minus_1_bytes);\n\n // checking that incrementing this byte produces 32 BE bytes for (modulus + 1)\n let mut p_plus_1_bytes: [u8; 32] = modulus_be_bytes().as_array();\n assert(p_plus_1_bytes[32 - 1] < 255);\n p_plus_1_bytes[32 - 1] += 1;\n\n let p_plus_1 = Field::from_be_bytes::<32>(p_plus_1_bytes);\n assert_eq(p_plus_1, 1);\n\n // checking that converting p_plus_1 to 32 BE bytes produces the same\n // byte set to 1 as p_plus_1_bytes and otherwise zeroes\n let mut p_plus_1_converted_bytes: [u8; 32] = p_plus_1.to_be_bytes();\n assert_eq(p_plus_1_converted_bytes[32 - 1], 1);\n p_plus_1_converted_bytes[32 - 1] = 0;\n assert_eq(p_plus_1_converted_bytes, [0; 32]);\n\n // checking that Field::from_be_bytes::<32> on the Field modulus produces 0\n assert_eq(modulus_be_bytes().len(), 32);\n let p = Field::from_be_bytes::<32>(modulus_be_bytes().as_array());\n assert_eq(p, 0);\n\n // checking that converting 0 to 32 BE bytes produces 32 zeroes\n let p_bytes: [u8; 32] = 0.to_be_bytes();\n assert_eq(p_bytes, [0; 32]);\n }\n }\n\n #[test]\n fn test_to_from_le_bytes_bn254_edge_cases() {\n if crate::compat::is_bn254() {\n // checking that decrementing this byte produces the expected 32 LE bytes for (modulus - 1)\n let mut p_minus_1_bytes: [u8; 32] = modulus_le_bytes().as_array();\n assert(p_minus_1_bytes[0] > 0);\n p_minus_1_bytes[0] -= 1;\n\n let p_minus_1 = Field::from_le_bytes::<32>(p_minus_1_bytes);\n assert_eq(p_minus_1 + 1, 0);\n\n // checking that converting (modulus - 1) from and then to 32 BE bytes produces the same bytes\n let p_minus_1_converted_bytes: [u8; 32] = p_minus_1.to_le_bytes();\n assert_eq(p_minus_1_converted_bytes, p_minus_1_bytes);\n\n // checking that incrementing this byte produces 32 LE bytes for (modulus + 1)\n let mut p_plus_1_bytes: [u8; 32] = modulus_le_bytes().as_array();\n assert(p_plus_1_bytes[0] < 255);\n p_plus_1_bytes[0] += 1;\n\n let p_plus_1 = Field::from_le_bytes::<32>(p_plus_1_bytes);\n assert_eq(p_plus_1, 1);\n\n // checking that converting p_plus_1 to 32 LE bytes produces the same\n // byte set to 1 as p_plus_1_bytes and otherwise zeroes\n let mut p_plus_1_converted_bytes: [u8; 32] = p_plus_1.to_le_bytes();\n assert_eq(p_plus_1_converted_bytes[0], 1);\n p_plus_1_converted_bytes[0] = 0;\n assert_eq(p_plus_1_converted_bytes, [0; 32]);\n\n // checking that Field::from_le_bytes::<32> on the Field modulus produces 0\n assert_eq(modulus_le_bytes().len(), 32);\n let p = Field::from_le_bytes::<32>(modulus_le_bytes().as_array());\n assert_eq(p, 0);\n\n // checking that converting 0 to 32 LE bytes produces 32 zeroes\n let p_bytes: [u8; 32] = 0.to_le_bytes();\n assert_eq(p_bytes, [0; 32]);\n }\n }\n\n /// Convert a little endian bit array to a field element.\n /// If the provided bit array overflows the field modulus then the Field will silently wrap around.\n fn from_le_bits<let N: u32>(bits: [u1; N]) -> Field {\n static_assert(\n N <= modulus_le_bits().len(),\n \"N must be less than or equal to modulus_le_bits().len()\",\n );\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bits[i] as Field) * v;\n v = v * 2;\n }\n result\n }\n\n /// Convert a big endian bit array to a field element.\n /// If the provided bit array overflows the field modulus then the Field will silently wrap around.\n fn from_be_bits<let N: u32>(bits: [u1; N]) -> Field {\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bits[N - 1 - i] as Field) * v;\n v = v * 2;\n }\n result\n }\n\n #[test]\n fn test_to_from_be_bits_bn254_edge_cases() {\n if crate::compat::is_bn254() {\n // checking that decrementing this bit produces the expected 254 BE bits for (modulus - 1)\n let mut p_minus_1_bits: [u1; 254] = modulus_be_bits().as_array();\n assert(p_minus_1_bits[254 - 1] > 0);\n p_minus_1_bits[254 - 1] -= 1;\n\n let p_minus_1 = from_be_bits::<254>(p_minus_1_bits);\n assert_eq(p_minus_1 + 1, 0);\n\n // checking that converting (modulus - 1) from and then to 254 BE bits produces the same bits\n let p_minus_1_converted_bits: [u1; 254] = p_minus_1.to_be_bits();\n assert_eq(p_minus_1_converted_bits, p_minus_1_bits);\n\n // checking that incrementing this bit produces 254 BE bits for (modulus + 4)\n let mut p_plus_4_bits: [u1; 254] = modulus_be_bits().as_array();\n assert(p_plus_4_bits[254 - 3] < 1);\n p_plus_4_bits[254 - 3] += 1;\n\n let p_plus_4 = from_be_bits::<254>(p_plus_4_bits);\n assert_eq(p_plus_4, 4);\n\n // checking that converting p_plus_4 to 254 BE bits produces the same\n // bit set to 1 as p_plus_4_bits and otherwise zeroes\n let mut p_plus_4_converted_bits: [u1; 254] = p_plus_4.to_be_bits();\n assert_eq(p_plus_4_converted_bits[254 - 3], 1);\n p_plus_4_converted_bits[254 - 3] = 0;\n assert_eq(p_plus_4_converted_bits, [0; 254]);\n\n // checking that Field::from_be_bits::<254> on the Field modulus produces 0\n assert_eq(modulus_be_bits().len(), 254);\n let p = from_be_bits::<254>(modulus_be_bits().as_array());\n assert_eq(p, 0);\n\n // checking that converting 0 to 254 BE bytes produces 254 zeroes\n let p_bits: [u1; 254] = 0.to_be_bits();\n assert_eq(p_bits, [0; 254]);\n }\n }\n\n #[test]\n fn test_to_from_le_bits_bn254_edge_cases() {\n if crate::compat::is_bn254() {\n // checking that decrementing this bit produces the expected 254 LE bits for (modulus - 1)\n let mut p_minus_1_bits: [u1; 254] = modulus_le_bits().as_array();\n assert(p_minus_1_bits[0] > 0);\n p_minus_1_bits[0] -= 1;\n\n let p_minus_1 = from_le_bits::<254>(p_minus_1_bits);\n assert_eq(p_minus_1 + 1, 0);\n\n // checking that converting (modulus - 1) from and then to 254 BE bits produces the same bits\n let p_minus_1_converted_bits: [u1; 254] = p_minus_1.to_le_bits();\n assert_eq(p_minus_1_converted_bits, p_minus_1_bits);\n\n // checking that incrementing this bit produces 254 LE bits for (modulus + 4)\n let mut p_plus_4_bits: [u1; 254] = modulus_le_bits().as_array();\n assert(p_plus_4_bits[2] < 1);\n p_plus_4_bits[2] += 1;\n\n let p_plus_4 = from_le_bits::<254>(p_plus_4_bits);\n assert_eq(p_plus_4, 4);\n\n // checking that converting p_plus_4 to 254 LE bits produces the same\n // bit set to 1 as p_plus_4_bits and otherwise zeroes\n let mut p_plus_4_converted_bits: [u1; 254] = p_plus_4.to_le_bits();\n assert_eq(p_plus_4_converted_bits[2], 1);\n p_plus_4_converted_bits[2] = 0;\n assert_eq(p_plus_4_converted_bits, [0; 254]);\n\n // checking that Field::from_le_bits::<254> on the Field modulus produces 0\n assert_eq(modulus_le_bits().len(), 254);\n let p = from_le_bits::<254>(modulus_le_bits().as_array());\n assert_eq(p, 0);\n\n // checking that converting 0 to 254 LE bytes produces 254 zeroes\n let p_bits: [u1; 254] = 0.to_le_bits();\n assert_eq(p_bits, [0; 254]);\n }\n }\n}\n"
|
|
2626
2626
|
},
|
|
2627
2627
|
"182": {
|
|
2628
2628
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/oracle/message_processing.nr",
|
|
@@ -2670,7 +2670,7 @@
|
|
|
2670
2670
|
},
|
|
2671
2671
|
"3": {
|
|
2672
2672
|
"path": "std/array/mod.nr",
|
|
2673
|
-
"source": "use crate::cmp::{Eq, Ord};\nuse crate::convert::From;\nuse crate::runtime::is_unconstrained;\n\nmod check_shuffle;\nmod quicksort;\n\nimpl<T, let N: u32> [T; N] {\n /// Returns the length of this array.\n ///\n /// ```noir\n /// fn len(self) -> Field\n /// ```\n ///\n /// example\n ///\n /// ```noir\n /// fn main() {\n /// let array = [42, 42];\n /// assert(array.len() == 2);\n /// }\n /// ```\n #[builtin(array_len)]\n pub fn len(self) -> u32 {}\n\n /// Returns this array as a slice.\n ///\n /// ```noir\n /// let array = [1, 2];\n /// let slice = array.as_slice();\n /// assert_eq(slice, &[1, 2]);\n /// ```\n #[builtin(as_slice)]\n pub fn as_slice(self) -> [T] {}\n\n /// Applies a function to each element of this array, returning a new array containing the mapped elements.\n ///\n /// Example:\n ///\n /// ```rust\n /// let a = [1, 2, 3];\n /// let b = a.map(|a| a * 2);\n /// assert_eq(b, [2, 4, 6]);\n /// ```\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> [U; N] {\n let uninitialized = crate::mem::zeroed();\n let mut ret = [uninitialized; N];\n\n for i in 0..self.len() {\n ret[i] = f(self[i]);\n }\n\n ret\n }\n\n /// Applies a function to each element of this array along with its index,\n /// returning a new array containing the mapped elements.\n ///\n /// Example:\n ///\n /// ```rust\n /// let a = [1, 2, 3];\n /// let b = a.mapi(|i, a| i + a * 2);\n /// assert_eq(b, [2, 5, 8]);\n /// ```\n pub fn mapi<U, Env>(self, f: fn[Env](u32, T) -> U) -> [U; N] {\n let uninitialized = crate::mem::zeroed();\n let mut ret = [uninitialized; N];\n\n for i in 0..self.len() {\n ret[i] = f(i, self[i]);\n }\n\n ret\n }\n\n /// Applies a function to each element of this array.\n ///\n /// Example:\n ///\n /// ```rust\n /// let a = [1, 2, 3];\n /// let mut b = [0; 3];\n /// let mut i = 0;\n /// a.for_each(|x| {\n /// b[i] = x;\n /// i += 1;\n /// });\n /// assert_eq(a, b);\n /// ```\n pub fn for_each<Env>(self, f: fn[Env](T) -> ()) {\n for i in 0..self.len() {\n f(self[i]);\n }\n }\n\n /// Applies a function to each element of this array along with its index.\n ///\n /// Example:\n ///\n /// ```rust\n /// let a = [1, 2, 3];\n /// let mut b = [0; 3];\n /// a.for_eachi(|i, x| {\n /// b[i] = x;\n /// });\n /// assert_eq(a, b);\n /// ```\n pub fn for_eachi<Env>(self, f: fn[Env](u32, T) -> ()) {\n for i in 0..self.len() {\n f(i, self[i]);\n }\n }\n\n /// Applies a function to each element of the array, returning the final accumulated value. The first\n /// parameter is the initial value.\n ///\n /// This is a left fold, so the given function will be applied to the accumulator and first element of\n /// the array, then the second, and so on. For a given call the expected result would be equivalent to:\n ///\n /// ```rust\n /// let a1 = [1];\n /// let a2 = [1, 2];\n /// let a3 = [1, 2, 3];\n ///\n /// let f = |a, b| a - b;\n /// a1.fold(10, f); //=> f(10, 1)\n /// a2.fold(10, f); //=> f(f(10, 1), 2)\n /// a3.fold(10, f); //=> f(f(f(10, 1), 2), 3)\n ///\n /// assert_eq(a3.fold(10, f), 10 - 1 - 2 - 3);\n /// ```\n pub fn fold<U, Env>(self, mut accumulator: U, f: fn[Env](U, T) -> U) -> U {\n for elem in self {\n accumulator = f(accumulator, elem);\n }\n accumulator\n }\n\n /// Same as fold, but uses the first element as the starting element.\n ///\n /// Requires the input array to be non-empty.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn main() {\n /// let arr = [1, 2, 3, 4];\n /// let reduced = arr.reduce(|a, b| a + b);\n /// assert(reduced == 10);\n /// }\n /// ```\n pub fn reduce<Env>(self, f: fn[Env](T, T) -> T) -> T {\n let mut accumulator = self[0];\n for i in 1..self.len() {\n accumulator = f(accumulator, self[i]);\n }\n accumulator\n }\n\n /// Returns true if all the elements in this array satisfy the given predicate.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn main() {\n /// let arr = [2, 2, 2, 2, 2];\n /// let all = arr.all(|a| a == 2);\n /// assert(all);\n /// }\n /// ```\n pub fn all<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = true;\n for elem in self {\n ret &= predicate(elem);\n }\n ret\n }\n\n /// Returns true if any of the elements in this array satisfy the given predicate.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn main() {\n /// let arr = [2, 2, 2, 2, 5];\n /// let any = arr.any(|a| a == 5);\n /// assert(any);\n /// }\n /// ```\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n for elem in self {\n ret |= predicate(elem);\n }\n ret\n }\n\n /// Concatenates this array with another array.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn main() {\n /// let arr1 = [1, 2, 3, 4];\n /// let arr2 = [6, 7, 8, 9, 10, 11];\n /// let concatenated_arr = arr1.concat(arr2);\n /// assert(concatenated_arr == [1, 2, 3, 4, 6, 7, 8, 9, 10, 11]);\n /// }\n /// ```\n pub fn concat<let M: u32>(self, array2: [T; M]) -> [T; N + M] {\n let mut result = [crate::mem::zeroed(); N + M];\n for i in 0..N {\n result[i] = self[i];\n }\n for i in 0..M {\n result[i + N] = array2[i];\n }\n result\n }\n}\n\nimpl<T, let N: u32> [T; N]\nwhere\n T: Ord + Eq,\n{\n /// Returns a new sorted array. The original array remains untouched. Notice that this function will\n /// only work for arrays of fields or integers, not for any arbitrary type. This is because the sorting\n /// logic it uses internally is optimized specifically for these values. If you need a sort function to\n /// sort any type, you should use the [`Self::sort_via`] function.\n ///\n /// Example:\n ///\n /// ```rust\n /// fn main() {\n /// let arr = [42, 32];\n /// let sorted = arr.sort();\n /// assert(sorted == [32, 42]);\n /// }\n /// ```\n pub fn sort(self) -> Self {\n self.sort_via(|a, b| a <= b)\n }\n}\n\nimpl<T, let N: u32> [T; N]\nwhere\n T: Eq,\n{\n /// Returns a new sorted array by sorting it with a custom comparison function.\n /// The original array remains untouched.\n /// The ordering function must return true if the first argument should be sorted to be before the second argument or is equal to the second argument.\n ///\n /// Using this method with an operator like `<` that does not return `true` for equal values will result in an assertion failure for arrays with equal elements.\n ///\n /// Example:\n ///\n /// ```rust\n /// fn main() {\n /// let arr = [42, 32]\n /// let sorted_ascending = arr.sort_via(|a, b| a <= b);\n /// assert(sorted_ascending == [32, 42]); // verifies\n ///\n /// let sorted_descending = arr.sort_via(|a, b| a >= b);\n /// assert(sorted_descending == [32, 42]); // does not verify\n /// }\n /// ```\n pub fn sort_via<Env>(self, ordering: fn[Env](T, T) -> bool) -> Self {\n // Safety: `sorted` array is checked to be:\n // a. a permutation of `input`'s elements\n // b. satisfying the predicate `ordering`\n let sorted = unsafe { quicksort::quicksort(self, ordering) };\n\n if !is_unconstrained() {\n for i in 0..N - 1 {\n assert(\n ordering(sorted[i], sorted[i + 1]),\n \"Array has not been sorted correctly according to `ordering`.\",\n );\n }\n check_shuffle::check_shuffle(self, sorted);\n }\n sorted\n }\n}\n\nimpl<let N: u32> [u8; N] {\n /// Converts a byte array of type `[u8; N]` to a string. Note that this performs no UTF-8 validation -\n /// the given array is interpreted as-is as a string.\n ///\n /// Example:\n ///\n /// ```rust\n /// fn main() {\n /// let hi = [104, 105].as_str_unchecked();\n /// assert_eq(hi, \"hi\");\n /// }\n /// ```\n #[builtin(array_as_str_unchecked)]\n pub fn as_str_unchecked(self) -> str<N> {}\n}\n\nimpl<let N: u32> From<str<N>> for [u8; N] {\n /// Returns an array of the string bytes.\n fn from(s: str<N>) -> Self {\n s.as_bytes()\n }\n}\n\nmod test {\n #[test]\n fn map_empty() {\n assert_eq([].map(|x| x + 1), []);\n }\n\n global arr_with_100_values: [u32; 100] = [\n 42, 123, 87, 93, 48, 80, 50, 5, 104, 84, 70, 47, 119, 66, 71, 121, 3, 29, 42, 118, 2, 54,\n 89, 44, 81, 0, 26, 106, 68, 96, 84, 48, 95, 54, 45, 32, 89, 100, 109, 19, 37, 41, 19, 98,\n 53, 114, 107, 66, 6, 74, 13, 19, 105, 64, 123, 28, 44, 50, 89, 58, 123, 126, 21, 43, 86, 35,\n 21, 62, 82, 0, 108, 120, 72, 72, 62, 80, 12, 71, 70, 86, 116, 73, 38, 15, 127, 81, 30, 8,\n 125, 28, 26, 69, 114, 63, 27, 28, 61, 42, 13, 32,\n ];\n global expected_with_100_values: [u32; 100] = [\n 0, 0, 2, 3, 5, 6, 8, 12, 13, 13, 15, 19, 19, 19, 21, 21, 26, 26, 27, 28, 28, 28, 29, 30, 32,\n 32, 35, 37, 38, 41, 42, 42, 42, 43, 44, 44, 45, 47, 48, 48, 50, 50, 53, 54, 54, 58, 61, 62,\n 62, 63, 64, 66, 66, 68, 69, 70, 70, 71, 71, 72, 72, 73, 74, 80, 80, 81, 81, 82, 84, 84, 86,\n 86, 87, 89, 89, 89, 93, 95, 96, 98, 100, 104, 105, 106, 107, 108, 109, 114, 114, 116, 118,\n 119, 120, 121, 123, 123, 123, 125, 126, 127,\n ];\n fn sort_u32(a: u32, b: u32) -> bool {\n a <= b\n }\n\n #[test]\n fn test_sort() {\n let mut arr: [u32; 7] = [3, 6, 8, 10, 1, 2, 1];\n\n let sorted = arr.sort();\n\n let expected: [u32; 7] = [1, 1, 2, 3, 6, 8, 10];\n assert(sorted == expected);\n }\n\n #[test]\n fn test_sort_100_values() {\n let mut arr: [u32; 100] = [\n 42, 123, 87, 93, 48, 80, 50, 5, 104, 84, 70, 47, 119, 66, 71, 121, 3, 29, 42, 118, 2,\n 54, 89, 44, 81, 0, 26, 106, 68, 96, 84, 48, 95, 54, 45, 32, 89, 100, 109, 19, 37, 41,\n 19, 98, 53, 114, 107, 66, 6, 74, 13, 19, 105, 64, 123, 28, 44, 50, 89, 58, 123, 126, 21,\n 43, 86, 35, 21, 62, 82, 0, 108, 120, 72, 72, 62, 80, 12, 71, 70, 86, 116, 73, 38, 15,\n 127, 81, 30, 8, 125, 28, 26, 69, 114, 63, 27, 28, 61, 42, 13, 32,\n ];\n\n let sorted = arr.sort();\n\n let expected: [u32; 100] = [\n 0, 0, 2, 3, 5, 6, 8, 12, 13, 13, 15, 19, 19, 19, 21, 21, 26, 26, 27, 28, 28, 28, 29, 30,\n 32, 32, 35, 37, 38, 41, 42, 42, 42, 43, 44, 44, 45, 47, 48, 48, 50, 50, 53, 54, 54, 58,\n 61, 62, 62, 63, 64, 66, 66, 68, 69, 70, 70, 71, 71, 72, 72, 73, 74, 80, 80, 81, 81, 82,\n 84, 84, 86, 86, 87, 89, 89, 89, 93, 95, 96, 98, 100, 104, 105, 106, 107, 108, 109, 114,\n 114, 116, 118, 119, 120, 121, 123, 123, 123, 125, 126, 127,\n ];\n assert(sorted == expected);\n }\n\n #[test]\n fn test_sort_100_values_comptime() {\n let sorted = arr_with_100_values.sort();\n assert(sorted == expected_with_100_values);\n }\n\n #[test]\n fn test_sort_via() {\n let mut arr: [u32; 7] = [3, 6, 8, 10, 1, 2, 1];\n\n let sorted = arr.sort_via(sort_u32);\n\n let expected: [u32; 7] = [1, 1, 2, 3, 6, 8, 10];\n assert(sorted == expected);\n }\n\n #[test]\n fn test_sort_via_100_values() {\n let mut arr: [u32; 100] = [\n 42, 123, 87, 93, 48, 80, 50, 5, 104, 84, 70, 47, 119, 66, 71, 121, 3, 29, 42, 118, 2,\n 54, 89, 44, 81, 0, 26, 106, 68, 96, 84, 48, 95, 54, 45, 32, 89, 100, 109, 19, 37, 41,\n 19, 98, 53, 114, 107, 66, 6, 74, 13, 19, 105, 64, 123, 28, 44, 50, 89, 58, 123, 126, 21,\n 43, 86, 35, 21, 62, 82, 0, 108, 120, 72, 72, 62, 80, 12, 71, 70, 86, 116, 73, 38, 15,\n 127, 81, 30, 8, 125, 28, 26, 69, 114, 63, 27, 28, 61, 42, 13, 32,\n ];\n\n let sorted = arr.sort_via(sort_u32);\n\n let expected: [u32; 100] = [\n 0, 0, 2, 3, 5, 6, 8, 12, 13, 13, 15, 19, 19, 19, 21, 21, 26, 26, 27, 28, 28, 28, 29, 30,\n 32, 32, 35, 37, 38, 41, 42, 42, 42, 43, 44, 44, 45, 47, 48, 48, 50, 50, 53, 54, 54, 58,\n 61, 62, 62, 63, 64, 66, 66, 68, 69, 70, 70, 71, 71, 72, 72, 73, 74, 80, 80, 81, 81, 82,\n 84, 84, 86, 86, 87, 89, 89, 89, 93, 95, 96, 98, 100, 104, 105, 106, 107, 108, 109, 114,\n 114, 116, 118, 119, 120, 121, 123, 123, 123, 125, 126, 127,\n ];\n assert(sorted == expected);\n }\n\n #[test]\n fn mapi_empty() {\n assert_eq([].mapi(|i, x| i * x + 1), []);\n }\n\n #[test]\n fn for_each_empty() {\n let empty_array: [Field; 0] = [];\n empty_array.for_each(|_x| assert(false));\n }\n\n #[test]\n fn for_eachi_empty() {\n let empty_array: [Field; 0] = [];\n empty_array.for_eachi(|_i, _x| assert(false));\n }\n\n #[test]\n fn map_example() {\n let a = [1, 2, 3];\n let b = a.map(|a| a * 2);\n assert_eq(b, [2, 4, 6]);\n }\n\n #[test]\n fn mapi_example() {\n let a = [1, 2, 3];\n let b = a.mapi(|i, a| i + a * 2);\n assert_eq(b, [2, 5, 8]);\n }\n\n #[test]\n fn for_each_example() {\n let a = [1, 2, 3];\n let mut b = [0, 0, 0];\n let b_ref = &mut b;\n let mut i = 0;\n let i_ref = &mut i;\n a.for_each(|x| {\n b_ref[*i_ref] = x * 2;\n *i_ref += 1;\n });\n assert_eq(b, [2, 4, 6]);\n assert_eq(i, 3);\n }\n\n #[test]\n fn for_eachi_example() {\n let a = [1, 2, 3];\n let mut b = [0, 0, 0];\n let b_ref = &mut b;\n a.for_eachi(|i, a| { b_ref[i] = i + a * 2; });\n assert_eq(b, [2, 5, 8]);\n }\n\n #[test]\n fn concat() {\n let arr1 = [1, 2, 3, 4];\n let arr2 = [6, 7, 8, 9, 10, 11];\n let concatenated_arr = arr1.concat(arr2);\n assert_eq(concatenated_arr, [1, 2, 3, 4, 6, 7, 8, 9, 10, 11]);\n }\n\n #[test]\n fn concat_zero_length_with_something() {\n let arr1 = [];\n let arr2 = [1];\n let concatenated_arr = arr1.concat(arr2);\n assert_eq(concatenated_arr, [1]);\n }\n\n #[test]\n fn concat_something_with_zero_length() {\n let arr1 = [1];\n let arr2 = [];\n let concatenated_arr = arr1.concat(arr2);\n assert_eq(concatenated_arr, [1]);\n }\n\n #[test]\n fn concat_zero_lengths() {\n let arr1: [Field; 0] = [];\n let arr2: [Field; 0] = [];\n let concatenated_arr = arr1.concat(arr2);\n assert_eq(concatenated_arr, []);\n }\n}\n"
|
|
2673
|
+
"source": "use crate::cmp::{Eq, Ord};\nuse crate::convert::From;\nuse crate::runtime::is_unconstrained;\n\nmod check_shuffle;\nmod quicksort;\n\nimpl<T, let N: u32> [T; N] {\n /// Returns the length of this array.\n ///\n /// ```noir\n /// fn len(self) -> Field\n /// ```\n ///\n /// example\n ///\n /// ```noir\n /// fn main() {\n /// let array = [42, 42];\n /// assert(array.len() == 2);\n /// }\n /// ```\n #[builtin(array_len)]\n pub fn len(self) -> u32 {}\n\n /// Returns this array as a vector.\n ///\n /// ```noir\n /// let array = [1, 2];\n /// let vector = array.as_vector();\n /// assert_eq(vector, &[1, 2]);\n /// ```\n #[builtin(as_vector)]\n pub fn as_vector(self) -> [T] {}\n\n /// Returns this array as a vector.\n /// This method is deprecated in favor of `as_vector`.\n ///\n /// ```noir\n /// let array = [1, 2];\n /// let vector = array.as_slice();\n /// assert_eq(vector, &[1, 2]);\n /// ```\n #[builtin(as_vector)]\n #[deprecated(\"This method has been renamed to `as_vector`\")]\n pub fn as_slice(self) -> [T] {}\n\n /// Applies a function to each element of this array, returning a new array containing the mapped elements.\n ///\n /// Example:\n ///\n /// ```rust\n /// let a = [1, 2, 3];\n /// let b = a.map(|a| a * 2);\n /// assert_eq(b, [2, 4, 6]);\n /// ```\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> [U; N] {\n let uninitialized = crate::mem::zeroed();\n let mut ret = [uninitialized; N];\n\n for i in 0..self.len() {\n ret[i] = f(self[i]);\n }\n\n ret\n }\n\n /// Applies a function to each element of this array along with its index,\n /// returning a new array containing the mapped elements.\n ///\n /// Example:\n ///\n /// ```rust\n /// let a = [1, 2, 3];\n /// let b = a.mapi(|i, a| i + a * 2);\n /// assert_eq(b, [2, 5, 8]);\n /// ```\n pub fn mapi<U, Env>(self, f: fn[Env](u32, T) -> U) -> [U; N] {\n let uninitialized = crate::mem::zeroed();\n let mut ret = [uninitialized; N];\n\n for i in 0..self.len() {\n ret[i] = f(i, self[i]);\n }\n\n ret\n }\n\n /// Applies a function to each element of this array.\n ///\n /// Example:\n ///\n /// ```rust\n /// let a = [1, 2, 3];\n /// let mut b = [0; 3];\n /// let mut i = 0;\n /// a.for_each(|x| {\n /// b[i] = x;\n /// i += 1;\n /// });\n /// assert_eq(a, b);\n /// ```\n pub fn for_each<Env>(self, f: fn[Env](T) -> ()) {\n for i in 0..self.len() {\n f(self[i]);\n }\n }\n\n /// Applies a function to each element of this array along with its index.\n ///\n /// Example:\n ///\n /// ```rust\n /// let a = [1, 2, 3];\n /// let mut b = [0; 3];\n /// a.for_eachi(|i, x| {\n /// b[i] = x;\n /// });\n /// assert_eq(a, b);\n /// ```\n pub fn for_eachi<Env>(self, f: fn[Env](u32, T) -> ()) {\n for i in 0..self.len() {\n f(i, self[i]);\n }\n }\n\n /// Applies a function to each element of the array, returning the final accumulated value. The first\n /// parameter is the initial value.\n ///\n /// This is a left fold, so the given function will be applied to the accumulator and first element of\n /// the array, then the second, and so on. For a given call the expected result would be equivalent to:\n ///\n /// ```rust\n /// let a1 = [1];\n /// let a2 = [1, 2];\n /// let a3 = [1, 2, 3];\n ///\n /// let f = |a, b| a - b;\n /// a1.fold(10, f); //=> f(10, 1)\n /// a2.fold(10, f); //=> f(f(10, 1), 2)\n /// a3.fold(10, f); //=> f(f(f(10, 1), 2), 3)\n ///\n /// assert_eq(a3.fold(10, f), 10 - 1 - 2 - 3);\n /// ```\n pub fn fold<U, Env>(self, mut accumulator: U, f: fn[Env](U, T) -> U) -> U {\n for elem in self {\n accumulator = f(accumulator, elem);\n }\n accumulator\n }\n\n /// Same as fold, but uses the first element as the starting element.\n ///\n /// Requires the input array to be non-empty.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn main() {\n /// let arr = [1, 2, 3, 4];\n /// let reduced = arr.reduce(|a, b| a + b);\n /// assert(reduced == 10);\n /// }\n /// ```\n pub fn reduce<Env>(self, f: fn[Env](T, T) -> T) -> T {\n let mut accumulator = self[0];\n for i in 1..self.len() {\n accumulator = f(accumulator, self[i]);\n }\n accumulator\n }\n\n /// Returns true if all the elements in this array satisfy the given predicate.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn main() {\n /// let arr = [2, 2, 2, 2, 2];\n /// let all = arr.all(|a| a == 2);\n /// assert(all);\n /// }\n /// ```\n pub fn all<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = true;\n for elem in self {\n ret &= predicate(elem);\n }\n ret\n }\n\n /// Returns true if any of the elements in this array satisfy the given predicate.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn main() {\n /// let arr = [2, 2, 2, 2, 5];\n /// let any = arr.any(|a| a == 5);\n /// assert(any);\n /// }\n /// ```\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n for elem in self {\n ret |= predicate(elem);\n }\n ret\n }\n\n /// Concatenates this array with another array.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn main() {\n /// let arr1 = [1, 2, 3, 4];\n /// let arr2 = [6, 7, 8, 9, 10, 11];\n /// let concatenated_arr = arr1.concat(arr2);\n /// assert(concatenated_arr == [1, 2, 3, 4, 6, 7, 8, 9, 10, 11]);\n /// }\n /// ```\n pub fn concat<let M: u32>(self, array2: [T; M]) -> [T; N + M] {\n let mut result = [crate::mem::zeroed(); N + M];\n for i in 0..N {\n result[i] = self[i];\n }\n for i in 0..M {\n result[i + N] = array2[i];\n }\n result\n }\n}\n\nimpl<T, let N: u32> [T; N]\nwhere\n T: Ord + Eq,\n{\n /// Returns a new sorted array. The original array remains untouched. Notice that this function will\n /// only work for arrays of fields or integers, not for any arbitrary type. This is because the sorting\n /// logic it uses internally is optimized specifically for these values. If you need a sort function to\n /// sort any type, you should use the [`Self::sort_via`] function.\n ///\n /// Example:\n ///\n /// ```rust\n /// fn main() {\n /// let arr = [42, 32];\n /// let sorted = arr.sort();\n /// assert(sorted == [32, 42]);\n /// }\n /// ```\n pub fn sort(self) -> Self {\n self.sort_via(|a, b| a <= b)\n }\n}\n\nimpl<T, let N: u32> [T; N]\nwhere\n T: Eq,\n{\n /// Returns a new sorted array by sorting it with a custom comparison function.\n /// The original array remains untouched.\n /// The ordering function must return true if the first argument should be sorted to be before the second argument or is equal to the second argument.\n ///\n /// Using this method with an operator like `<` that does not return `true` for equal values will result in an assertion failure for arrays with equal elements.\n ///\n /// Example:\n ///\n /// ```rust\n /// fn main() {\n /// let arr = [42, 32]\n /// let sorted_ascending = arr.sort_via(|a, b| a <= b);\n /// assert(sorted_ascending == [32, 42]); // verifies\n ///\n /// let sorted_descending = arr.sort_via(|a, b| a >= b);\n /// assert(sorted_descending == [32, 42]); // does not verify\n /// }\n /// ```\n pub fn sort_via<Env>(self, ordering: fn[Env](T, T) -> bool) -> Self {\n // Safety: `sorted` array is checked to be:\n // a. a permutation of `input`'s elements\n // b. satisfying the predicate `ordering`\n let sorted = unsafe { quicksort::quicksort(self, ordering) };\n\n if !is_unconstrained() {\n for i in 0..N - 1 {\n assert(\n ordering(sorted[i], sorted[i + 1]),\n \"Array has not been sorted correctly according to `ordering`.\",\n );\n }\n check_shuffle::check_shuffle(self, sorted);\n }\n sorted\n }\n}\n\nimpl<let N: u32> [u8; N] {\n /// Converts a byte array of type `[u8; N]` to a string. Note that this performs no UTF-8 validation -\n /// the given array is interpreted as-is as a string.\n ///\n /// Example:\n ///\n /// ```rust\n /// fn main() {\n /// let hi = [104, 105].as_str_unchecked();\n /// assert_eq(hi, \"hi\");\n /// }\n /// ```\n #[builtin(array_as_str_unchecked)]\n pub fn as_str_unchecked(self) -> str<N> {}\n}\n\nimpl<let N: u32> From<str<N>> for [u8; N] {\n /// Returns an array of the string bytes.\n fn from(s: str<N>) -> Self {\n s.as_bytes()\n }\n}\n\nmod test {\n #[test]\n fn map_empty() {\n assert_eq([].map(|x| x + 1), []);\n }\n\n global arr_with_100_values: [u32; 100] = [\n 42, 123, 87, 93, 48, 80, 50, 5, 104, 84, 70, 47, 119, 66, 71, 121, 3, 29, 42, 118, 2, 54,\n 89, 44, 81, 0, 26, 106, 68, 96, 84, 48, 95, 54, 45, 32, 89, 100, 109, 19, 37, 41, 19, 98,\n 53, 114, 107, 66, 6, 74, 13, 19, 105, 64, 123, 28, 44, 50, 89, 58, 123, 126, 21, 43, 86, 35,\n 21, 62, 82, 0, 108, 120, 72, 72, 62, 80, 12, 71, 70, 86, 116, 73, 38, 15, 127, 81, 30, 8,\n 125, 28, 26, 69, 114, 63, 27, 28, 61, 42, 13, 32,\n ];\n global expected_with_100_values: [u32; 100] = [\n 0, 0, 2, 3, 5, 6, 8, 12, 13, 13, 15, 19, 19, 19, 21, 21, 26, 26, 27, 28, 28, 28, 29, 30, 32,\n 32, 35, 37, 38, 41, 42, 42, 42, 43, 44, 44, 45, 47, 48, 48, 50, 50, 53, 54, 54, 58, 61, 62,\n 62, 63, 64, 66, 66, 68, 69, 70, 70, 71, 71, 72, 72, 73, 74, 80, 80, 81, 81, 82, 84, 84, 86,\n 86, 87, 89, 89, 89, 93, 95, 96, 98, 100, 104, 105, 106, 107, 108, 109, 114, 114, 116, 118,\n 119, 120, 121, 123, 123, 123, 125, 126, 127,\n ];\n fn sort_u32(a: u32, b: u32) -> bool {\n a <= b\n }\n\n #[test]\n fn test_sort() {\n let mut arr: [u32; 7] = [3, 6, 8, 10, 1, 2, 1];\n\n let sorted = arr.sort();\n\n let expected: [u32; 7] = [1, 1, 2, 3, 6, 8, 10];\n assert(sorted == expected);\n }\n\n #[test]\n fn test_sort_100_values() {\n let mut arr: [u32; 100] = [\n 42, 123, 87, 93, 48, 80, 50, 5, 104, 84, 70, 47, 119, 66, 71, 121, 3, 29, 42, 118, 2,\n 54, 89, 44, 81, 0, 26, 106, 68, 96, 84, 48, 95, 54, 45, 32, 89, 100, 109, 19, 37, 41,\n 19, 98, 53, 114, 107, 66, 6, 74, 13, 19, 105, 64, 123, 28, 44, 50, 89, 58, 123, 126, 21,\n 43, 86, 35, 21, 62, 82, 0, 108, 120, 72, 72, 62, 80, 12, 71, 70, 86, 116, 73, 38, 15,\n 127, 81, 30, 8, 125, 28, 26, 69, 114, 63, 27, 28, 61, 42, 13, 32,\n ];\n\n let sorted = arr.sort();\n\n let expected: [u32; 100] = [\n 0, 0, 2, 3, 5, 6, 8, 12, 13, 13, 15, 19, 19, 19, 21, 21, 26, 26, 27, 28, 28, 28, 29, 30,\n 32, 32, 35, 37, 38, 41, 42, 42, 42, 43, 44, 44, 45, 47, 48, 48, 50, 50, 53, 54, 54, 58,\n 61, 62, 62, 63, 64, 66, 66, 68, 69, 70, 70, 71, 71, 72, 72, 73, 74, 80, 80, 81, 81, 82,\n 84, 84, 86, 86, 87, 89, 89, 89, 93, 95, 96, 98, 100, 104, 105, 106, 107, 108, 109, 114,\n 114, 116, 118, 119, 120, 121, 123, 123, 123, 125, 126, 127,\n ];\n assert(sorted == expected);\n }\n\n #[test]\n fn test_sort_100_values_comptime() {\n let sorted = arr_with_100_values.sort();\n assert(sorted == expected_with_100_values);\n }\n\n #[test]\n fn test_sort_via() {\n let mut arr: [u32; 7] = [3, 6, 8, 10, 1, 2, 1];\n\n let sorted = arr.sort_via(sort_u32);\n\n let expected: [u32; 7] = [1, 1, 2, 3, 6, 8, 10];\n assert(sorted == expected);\n }\n\n #[test]\n fn test_sort_via_100_values() {\n let mut arr: [u32; 100] = [\n 42, 123, 87, 93, 48, 80, 50, 5, 104, 84, 70, 47, 119, 66, 71, 121, 3, 29, 42, 118, 2,\n 54, 89, 44, 81, 0, 26, 106, 68, 96, 84, 48, 95, 54, 45, 32, 89, 100, 109, 19, 37, 41,\n 19, 98, 53, 114, 107, 66, 6, 74, 13, 19, 105, 64, 123, 28, 44, 50, 89, 58, 123, 126, 21,\n 43, 86, 35, 21, 62, 82, 0, 108, 120, 72, 72, 62, 80, 12, 71, 70, 86, 116, 73, 38, 15,\n 127, 81, 30, 8, 125, 28, 26, 69, 114, 63, 27, 28, 61, 42, 13, 32,\n ];\n\n let sorted = arr.sort_via(sort_u32);\n\n let expected: [u32; 100] = [\n 0, 0, 2, 3, 5, 6, 8, 12, 13, 13, 15, 19, 19, 19, 21, 21, 26, 26, 27, 28, 28, 28, 29, 30,\n 32, 32, 35, 37, 38, 41, 42, 42, 42, 43, 44, 44, 45, 47, 48, 48, 50, 50, 53, 54, 54, 58,\n 61, 62, 62, 63, 64, 66, 66, 68, 69, 70, 70, 71, 71, 72, 72, 73, 74, 80, 80, 81, 81, 82,\n 84, 84, 86, 86, 87, 89, 89, 89, 93, 95, 96, 98, 100, 104, 105, 106, 107, 108, 109, 114,\n 114, 116, 118, 119, 120, 121, 123, 123, 123, 125, 126, 127,\n ];\n assert(sorted == expected);\n }\n\n #[test]\n fn mapi_empty() {\n assert_eq([].mapi(|i, x| i * x + 1), []);\n }\n\n #[test]\n fn for_each_empty() {\n let empty_array: [Field; 0] = [];\n empty_array.for_each(|_x| assert(false));\n }\n\n #[test]\n fn for_eachi_empty() {\n let empty_array: [Field; 0] = [];\n empty_array.for_eachi(|_i, _x| assert(false));\n }\n\n #[test]\n fn map_example() {\n let a = [1, 2, 3];\n let b = a.map(|a| a * 2);\n assert_eq(b, [2, 4, 6]);\n }\n\n #[test]\n fn mapi_example() {\n let a = [1, 2, 3];\n let b = a.mapi(|i, a| i + a * 2);\n assert_eq(b, [2, 5, 8]);\n }\n\n #[test]\n fn for_each_example() {\n let a = [1, 2, 3];\n let mut b = [0, 0, 0];\n let b_ref = &mut b;\n let mut i = 0;\n let i_ref = &mut i;\n a.for_each(|x| {\n b_ref[*i_ref] = x * 2;\n *i_ref += 1;\n });\n assert_eq(b, [2, 4, 6]);\n assert_eq(i, 3);\n }\n\n #[test]\n fn for_eachi_example() {\n let a = [1, 2, 3];\n let mut b = [0, 0, 0];\n let b_ref = &mut b;\n a.for_eachi(|i, a| { b_ref[i] = i + a * 2; });\n assert_eq(b, [2, 5, 8]);\n }\n\n #[test]\n fn concat() {\n let arr1 = [1, 2, 3, 4];\n let arr2 = [6, 7, 8, 9, 10, 11];\n let concatenated_arr = arr1.concat(arr2);\n assert_eq(concatenated_arr, [1, 2, 3, 4, 6, 7, 8, 9, 10, 11]);\n }\n\n #[test]\n fn concat_zero_length_with_something() {\n let arr1 = [];\n let arr2 = [1];\n let concatenated_arr = arr1.concat(arr2);\n assert_eq(concatenated_arr, [1]);\n }\n\n #[test]\n fn concat_something_with_zero_length() {\n let arr1 = [1];\n let arr2 = [];\n let concatenated_arr = arr1.concat(arr2);\n assert_eq(concatenated_arr, [1]);\n }\n\n #[test]\n fn concat_zero_lengths() {\n let arr1: [Field; 0] = [];\n let arr2: [Field; 0] = [];\n let concatenated_arr = arr1.concat(arr2);\n assert_eq(concatenated_arr, []);\n }\n}\n"
|
|
2674
2674
|
},
|
|
2675
2675
|
"312": {
|
|
2676
2676
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr",
|
|
@@ -2718,7 +2718,7 @@
|
|
|
2718
2718
|
},
|
|
2719
2719
|
"43": {
|
|
2720
2720
|
"path": "std/panic.nr",
|
|
2721
|
-
"source": "pub fn panic<T, U
|
|
2721
|
+
"source": "pub fn panic<T, U>(message: T) -> U\nwhere\n T: StringLike,\n{\n assert(false, message);\n crate::mem::zeroed()\n}\n\ntrait StringLike {}\n\nimpl<let N: u32> StringLike for str<N> {}\nimpl<let N: u32, T> StringLike for fmtstr<N, T> {}\n"
|
|
2722
2722
|
},
|
|
2723
2723
|
"51": {
|
|
2724
2724
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-contracts/contracts/protocol/multi_call_entrypoint_contract/src/main.nr",
|
|
@@ -2730,7 +2730,7 @@
|
|
|
2730
2730
|
},
|
|
2731
2731
|
"6": {
|
|
2732
2732
|
"path": "std/collections/bounded_vec.nr",
|
|
2733
|
-
"source": "use crate::{cmp::Eq, convert::From, runtime::is_unconstrained, static_assert};\n\n/// A `BoundedVec<T, MaxLen>` is a growable storage similar to a [`Vec`][crate::collections::vec::Vec]`<T>` except that it\n/// is bounded with a maximum possible length. Unlike `Vec`, `BoundedVec` is not implemented\n/// via slices and thus is not subject to the same restrictions slices are (notably, nested\n/// slices - and thus nested vectors as well - are disallowed).\n///\n/// Since a BoundedVec is backed by a normal array under the hood, growing the BoundedVec by\n/// pushing an additional element is also more efficient - the length only needs to be increased\n/// by one.\n///\n/// For these reasons `BoundedVec<T, N>` should generally be preferred over `Vec<T>` when there\n/// is a reasonable maximum bound that can be placed on the vector.\n///\n/// Example:\n///\n/// ```noir\n/// let mut vector: BoundedVec<Field, 10> = BoundedVec::new();\n/// for i in 0..5 {\n/// vector.push(i);\n/// }\n/// assert(vector.len() == 5);\n/// assert(vector.max_len() == 10);\n/// ```\npub struct BoundedVec<T, let MaxLen: u32> {\n storage: [T; MaxLen],\n len: u32,\n}\n\nimpl<T, let MaxLen: u32> BoundedVec<T, MaxLen> {\n /// Creates a new, empty vector of length zero.\n ///\n /// Since this container is backed by an array internally, it still needs an initial value\n /// to give each element. To resolve this, each element is zeroed internally. This value\n /// is guaranteed to be inaccessible unless `get_unchecked` is used.\n ///\n /// Example:\n ///\n /// ```noir\n /// let empty_vector: BoundedVec<Field, 10> = BoundedVec::new();\n /// assert(empty_vector.len() == 0);\n /// ```\n ///\n /// Note that whenever calling `new` the maximum length of the vector should always be specified\n /// via a type signature:\n ///\n /// ```noir\n /// fn good() -> BoundedVec<Field, 10> {\n /// // Ok! MaxLen is specified with a type annotation\n /// let v1: BoundedVec<Field, 3> = BoundedVec::new();\n /// let v2 = BoundedVec::new();\n ///\n /// // Ok! MaxLen is known from the type of `good`'s return value\n /// v2\n /// }\n ///\n /// fn bad() {\n /// // Error: Type annotation needed\n /// // The compiler can't infer `MaxLen` from the following code:\n /// let mut v3 = BoundedVec::new();\n /// v3.push(5);\n /// }\n /// ```\n ///\n /// This defaulting of `MaxLen` (and numeric generics in general) to zero may change in future noir versions\n /// but for now make sure to use type annotations when using bounded vectors. Otherwise, you will receive a\n /// constraint failure at runtime when the vec is pushed to.\n pub fn new() -> Self {\n let zeroed = crate::mem::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n /// Retrieves an element from the vector at the given index, starting from zero.\n ///\n /// If the given index is equal to or greater than the length of the vector, this\n /// will issue a constraint failure.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn foo<let N: u32>(v: BoundedVec<u32, N>) {\n /// let first = v.get(0);\n /// let last = v.get(v.len() - 1);\n /// assert(first != last);\n /// }\n /// ```\n pub fn get(self, index: u32) -> T {\n assert(index < self.len, \"Attempted to read past end of BoundedVec\");\n self.get_unchecked(index)\n }\n\n /// Retrieves an element from the vector at the given index, starting from zero, without\n /// performing a bounds check.\n ///\n /// Since this function does not perform a bounds check on length before accessing the element,\n /// it is unsafe! Use at your own risk!\n ///\n /// Example:\n ///\n /// ```noir\n /// fn sum_of_first_three<let N: u32>(v: BoundedVec<u32, N>) -> u32 {\n /// // Always ensure the length is larger than the largest\n /// // index passed to get_unchecked\n /// assert(v.len() > 2);\n /// let first = v.get_unchecked(0);\n /// let second = v.get_unchecked(1);\n /// let third = v.get_unchecked(2);\n /// first + second + third\n /// }\n /// ```\n pub fn get_unchecked(self, index: u32) -> T {\n self.storage[index]\n }\n\n /// Writes an element to the vector at the given index, starting from zero.\n ///\n /// If the given index is equal to or greater than the length of the vector, this will issue a constraint failure.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn foo<let N: u32>(v: BoundedVec<u32, N>) {\n /// let first = v.get(0);\n /// assert(first != 42);\n /// v.set(0, 42);\n /// let new_first = v.get(0);\n /// assert(new_first == 42);\n /// }\n /// ```\n pub fn set(&mut self, index: u32, value: T) {\n assert(index < self.len, \"Attempted to write past end of BoundedVec\");\n self.set_unchecked(index, value)\n }\n\n /// Writes an element to the vector at the given index, starting from zero, without performing a bounds check.\n ///\n /// Since this function does not perform a bounds check on length before accessing the element, it is unsafe! Use at your own risk!\n ///\n /// Example:\n ///\n /// ```noir\n /// fn set_unchecked_example() {\n /// let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n /// vec.extend_from_array([1, 2]);\n ///\n /// // Here we're safely writing within the valid range of `vec`\n /// // `vec` now has the value [42, 2]\n /// vec.set_unchecked(0, 42);\n ///\n /// // We can then safely read this value back out of `vec`.\n /// // Notice that we use the checked version of `get` which would prevent reading unsafe values.\n /// assert_eq(vec.get(0), 42);\n ///\n /// // We've now written past the end of `vec`.\n /// // As this index is still within the maximum potential length of `v`,\n /// // it won't cause a constraint failure.\n /// vec.set_unchecked(2, 42);\n /// println(vec);\n ///\n /// // This will write past the end of the maximum potential length of `vec`,\n /// // it will then trigger a constraint failure.\n /// vec.set_unchecked(5, 42);\n /// println(vec);\n /// }\n /// ```\n pub fn set_unchecked(&mut self, index: u32, value: T) {\n self.storage[index] = value;\n }\n\n /// Pushes an element to the end of the vector. This increases the length\n /// of the vector by one.\n ///\n /// Panics if the new length of the vector will be greater than the max length.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<Field, 2> = BoundedVec::new();\n ///\n /// v.push(1);\n /// v.push(2);\n ///\n /// // Panics with failed assertion \"push out of bounds\"\n /// v.push(3);\n /// ```\n pub fn push(&mut self, elem: T) {\n assert(self.len < MaxLen, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n /// Returns the current length of this vector\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<Field, 4> = BoundedVec::new();\n /// assert(v.len() == 0);\n ///\n /// v.push(100);\n /// assert(v.len() == 1);\n ///\n /// v.push(200);\n /// v.push(300);\n /// v.push(400);\n /// assert(v.len() == 4);\n ///\n /// let _ = v.pop();\n /// let _ = v.pop();\n /// assert(v.len() == 2);\n /// ```\n pub fn len(self) -> u32 {\n self.len\n }\n\n /// Returns the maximum length of this vector. This is always\n /// equal to the `MaxLen` parameter this vector was initialized with.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<Field, 5> = BoundedVec::new();\n ///\n /// assert(v.max_len() == 5);\n /// v.push(10);\n /// assert(v.max_len() == 5);\n /// ```\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u32 {\n MaxLen\n }\n\n /// Returns the internal array within this vector.\n ///\n /// Since arrays in Noir are immutable, mutating the returned storage array will not mutate\n /// the storage held internally by this vector.\n ///\n /// Note that uninitialized elements may be zeroed out!\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<Field, 5> = BoundedVec::new();\n ///\n /// assert(v.storage() == [0, 0, 0, 0, 0]);\n ///\n /// v.push(57);\n /// assert(v.storage() == [57, 0, 0, 0, 0]);\n /// ```\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n /// Pushes each element from the given array to this vector.\n ///\n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut vec: BoundedVec<Field, 3> = BoundedVec::new();\n /// vec.extend_from_array([2, 4]);\n ///\n /// assert(vec.len == 2);\n /// assert(vec.get(0) == 2);\n /// assert(vec.get(1) == 4);\n /// ```\n pub fn extend_from_array<let Len: u32>(&mut self, array: [T; Len]) {\n let new_len = self.len + array.len();\n assert(new_len <= MaxLen, \"extend_from_array out of bounds\");\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = new_len;\n }\n\n /// Pushes each element from the given slice to this vector.\n ///\n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut vec: BoundedVec<Field, 3> = BoundedVec::new();\n /// vec.extend_from_slice(&[2, 4]);\n ///\n /// assert(vec.len == 2);\n /// assert(vec.get(0) == 2);\n /// assert(vec.get(1) == 4);\n /// ```\n pub fn extend_from_slice(&mut self, slice: [T]) {\n let new_len = self.len + slice.len();\n assert(new_len <= MaxLen, \"extend_from_slice out of bounds\");\n for i in 0..slice.len() {\n self.storage[self.len + i] = slice[i];\n }\n self.len = new_len;\n }\n\n /// Pushes each element from the other vector to this vector. The length of\n /// the other vector is left unchanged.\n ///\n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n ///\n /// ```noir\n /// let mut v1: BoundedVec<Field, 5> = BoundedVec::new();\n /// let mut v2: BoundedVec<Field, 7> = BoundedVec::new();\n ///\n /// v2.extend_from_array([1, 2, 3]);\n /// v1.extend_from_bounded_vec(v2);\n ///\n /// assert(v1.storage() == [1, 2, 3, 0, 0]);\n /// assert(v2.storage() == [1, 2, 3, 0, 0, 0, 0]);\n /// ```\n pub fn extend_from_bounded_vec<let Len: u32>(&mut self, vec: BoundedVec<T, Len>) {\n let append_len = vec.len();\n let new_len = self.len + append_len;\n assert(new_len <= MaxLen, \"extend_from_bounded_vec out of bounds\");\n\n if is_unconstrained() {\n for i in 0..append_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n } else {\n let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n }\n }\n self.len = new_len;\n }\n\n /// Creates a new vector, populating it with values derived from an array input.\n /// The maximum length of the vector is determined based on the type signature.\n ///\n /// Example:\n ///\n /// ```noir\n /// let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array([1, 2, 3])\n /// ```\n pub fn from_array<let Len: u32>(array: [T; Len]) -> Self {\n static_assert(Len <= MaxLen, \"from array out of bounds\");\n let mut vec: BoundedVec<T, MaxLen> = BoundedVec::new();\n vec.extend_from_array(array);\n vec\n }\n\n /// Pops the element at the end of the vector. This will decrease the length\n /// of the vector by one.\n ///\n /// Panics if the vector is empty.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<Field, 2> = BoundedVec::new();\n /// v.push(1);\n /// v.push(2);\n ///\n /// let two = v.pop();\n /// let one = v.pop();\n ///\n /// assert(two == 2);\n /// assert(one == 1);\n ///\n /// // error: cannot pop from an empty vector\n /// let _ = v.pop();\n /// ```\n pub fn pop(&mut self) -> T {\n assert(self.len > 0, \"cannot pop from an empty vector\");\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = crate::mem::zeroed();\n elem\n }\n\n /// Returns true if the given predicate returns true for any element\n /// in this vector.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<u32, 3> = BoundedVec::new();\n /// v.extend_from_array([2, 4, 6]);\n ///\n /// let all_even = !v.any(|elem: u32| elem % 2 != 0);\n /// assert(all_even);\n /// ```\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n if is_unconstrained() {\n for i in 0..self.len {\n ret |= predicate(self.storage[i]);\n }\n } else {\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 }\n ret\n }\n\n /// Creates a new vector of equal size by calling a closure on each element in this vector.\n ///\n /// Example:\n ///\n /// ```noir\n /// let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n /// let result = vec.map(|value| value * 2);\n ///\n /// let expected = BoundedVec::from_array([2, 4, 6, 8]);\n /// assert_eq(result, expected);\n /// ```\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> BoundedVec<U, MaxLen> {\n let mut ret = BoundedVec::new();\n ret.len = self.len();\n\n if is_unconstrained() {\n for i in 0..self.len() {\n ret.storage[i] = f(self.get_unchecked(i));\n }\n } else {\n for i in 0..MaxLen {\n if i < self.len() {\n ret.storage[i] = f(self.get_unchecked(i));\n }\n }\n }\n\n ret\n }\n\n /// Creates a new vector of equal size by calling a closure on each element\n /// in this vector, along with its index.\n ///\n /// Example:\n ///\n /// ```noir\n /// let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n /// let result = vec.mapi(|i, value| i + value * 2);\n ///\n /// let expected = BoundedVec::from_array([2, 5, 8, 11]);\n /// assert_eq(result, expected);\n /// ```\n pub fn mapi<U, Env>(self, f: fn[Env](u32, T) -> U) -> BoundedVec<U, MaxLen> {\n let mut ret = BoundedVec::new();\n ret.len = self.len();\n\n if is_unconstrained() {\n for i in 0..self.len() {\n ret.storage[i] = f(i, self.get_unchecked(i));\n }\n } else {\n for i in 0..MaxLen {\n if i < self.len() {\n ret.storage[i] = f(i, self.get_unchecked(i));\n }\n }\n }\n\n ret\n }\n\n /// Calls a closure on each element in this vector.\n ///\n /// Example:\n ///\n /// ```noir\n /// let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n /// let mut result = BoundedVec::<u32, 4>::new();\n /// vec.for_each(|value| result.push(value * 2));\n ///\n /// let expected = BoundedVec::from_array([2, 4, 6, 8]);\n /// assert_eq(result, expected);\n /// ```\n pub fn for_each<Env>(self, f: fn[Env](T) -> ()) {\n if is_unconstrained() {\n for i in 0..self.len() {\n f(self.get_unchecked(i));\n }\n } else {\n for i in 0..MaxLen {\n if i < self.len() {\n f(self.get_unchecked(i));\n }\n }\n }\n }\n\n /// Calls a closure on each element in this vector, along with its index.\n ///\n /// Example:\n ///\n /// ```noir\n /// let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n /// let mut result = BoundedVec::<u32, 4>::new();\n /// vec.for_eachi(|i, value| result.push(i + value * 2));\n ///\n /// let expected = BoundedVec::from_array([2, 5, 8, 11]);\n /// assert_eq(result, expected);\n /// ```\n pub fn for_eachi<Env>(self, f: fn[Env](u32, T) -> ()) {\n if is_unconstrained() {\n for i in 0..self.len() {\n f(i, self.get_unchecked(i));\n }\n } else {\n for i in 0..MaxLen {\n if i < self.len() {\n f(i, self.get_unchecked(i));\n }\n }\n }\n }\n\n /// Creates a new BoundedVec from the given array and length.\n /// The given length must be less than or equal to the length of the array.\n ///\n /// This function will zero out any elements at or past index `len` of `array`.\n /// This incurs an extra runtime cost of O(MaxLen). If you are sure your array is\n /// zeroed after that index, you can use [`from_parts_unchecked`][Self::from_parts_unchecked] to remove the extra loop.\n ///\n /// Example:\n ///\n /// ```noir\n /// let vec: BoundedVec<u32, 4> = BoundedVec::from_parts([1, 2, 3, 0], 3);\n /// assert_eq(vec.len(), 3);\n /// ```\n pub fn from_parts(mut array: [T; MaxLen], len: u32) -> Self {\n assert(len <= MaxLen);\n let zeroed = crate::mem::zeroed();\n\n if is_unconstrained() {\n for i in len..MaxLen {\n array[i] = zeroed;\n }\n } else {\n for i in 0..MaxLen {\n if i >= len {\n array[i] = zeroed;\n }\n }\n }\n\n BoundedVec { storage: array, len }\n }\n\n /// Creates a new BoundedVec from the given array and length.\n /// The given length must be less than or equal to the length of the array.\n ///\n /// This function is unsafe because it expects all elements past the `len` index\n /// of `array` to be zeroed, but does not check for this internally. Use `from_parts`\n /// for a safe version of this function which does zero out any indices past the\n /// given length. Invalidating this assumption can notably cause `BoundedVec::eq`\n /// to give incorrect results since it will check even elements past `len`.\n ///\n /// Example:\n ///\n /// ```noir\n /// let vec: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 0], 3);\n /// assert_eq(vec.len(), 3);\n ///\n /// // invalid use!\n /// let vec1: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 1], 3);\n /// let vec2: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 2], 3);\n ///\n /// // both vecs have length 3 so we'd expect them to be equal, but this\n /// // fails because elements past the length are still checked in eq\n /// assert_eq(vec1, vec2); // fails\n /// ```\n pub fn from_parts_unchecked(array: [T; MaxLen], len: u32) -> Self {\n assert(len <= MaxLen);\n BoundedVec { storage: array, len }\n }\n}\n\nimpl<T, let MaxLen: u32> Eq for BoundedVec<T, MaxLen>\nwhere\n T: Eq,\n{\n fn eq(self, other: BoundedVec<T, MaxLen>) -> bool {\n // TODO: https://github.com/noir-lang/noir/issues/4837\n //\n // We make the assumption that the user has used the proper interface for working with `BoundedVec`s\n // rather than directly manipulating the internal fields as this can result in an inconsistent internal state.\n if self.len == other.len {\n self.storage == other.storage\n } else {\n false\n }\n }\n}\n\nimpl<T, let MaxLen: u32, let Len: u32> From<[T; Len]> for BoundedVec<T, MaxLen> {\n fn from(array: [T; Len]) -> BoundedVec<T, MaxLen> {\n BoundedVec::from_array(array)\n }\n}\n\nmod bounded_vec_tests {\n\n mod get {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test(should_fail_with = \"Attempted to read past end of BoundedVec\")]\n fn panics_when_reading_elements_past_end_of_vec() {\n let vec: BoundedVec<Field, 5> = BoundedVec::new();\n\n let _ = vec.get(0);\n }\n\n #[test(should_fail_with = \"Attempted to read past end of BoundedVec\")]\n fn panics_when_reading_beyond_length() {\n let vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3]);\n let _ = vec.get(3);\n }\n\n #[test]\n fn get_works_within_bounds() {\n let vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3, 4, 5]);\n assert_eq(vec.get(0), 1);\n assert_eq(vec.get(2), 3);\n assert_eq(vec.get(4), 5);\n }\n\n #[test]\n fn get_unchecked_works() {\n let vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3]);\n assert_eq(vec.get_unchecked(0), 1);\n assert_eq(vec.get_unchecked(2), 3);\n }\n\n #[test]\n fn get_unchecked_works_past_len() {\n let vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3]);\n assert_eq(vec.get_unchecked(4), 0);\n }\n }\n\n mod set {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn set_updates_values_properly() {\n let mut vec = BoundedVec::from_array([0, 0, 0, 0, 0]);\n\n vec.set(0, 42);\n assert_eq(vec.storage, [42, 0, 0, 0, 0]);\n\n vec.set(1, 43);\n assert_eq(vec.storage, [42, 43, 0, 0, 0]);\n\n vec.set(2, 44);\n assert_eq(vec.storage, [42, 43, 44, 0, 0]);\n\n vec.set(1, 10);\n assert_eq(vec.storage, [42, 10, 44, 0, 0]);\n\n vec.set(0, 0);\n assert_eq(vec.storage, [0, 10, 44, 0, 0]);\n }\n\n #[test(should_fail_with = \"Attempted to write past end of BoundedVec\")]\n fn panics_when_writing_elements_past_end_of_vec() {\n let mut vec: BoundedVec<Field, 5> = BoundedVec::new();\n vec.set(0, 42);\n }\n\n #[test(should_fail_with = \"Attempted to write past end of BoundedVec\")]\n fn panics_when_setting_beyond_length() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3]);\n vec.set(3, 4);\n }\n\n #[test]\n fn set_unchecked_operations() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n vec.push(1);\n vec.push(2);\n\n vec.set_unchecked(0, 10);\n assert_eq(vec.get(0), 10);\n }\n\n #[test(should_fail_with = \"Attempted to read past end of BoundedVec\")]\n fn set_unchecked_operations_past_len() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n vec.push(1);\n vec.push(2);\n\n vec.set_unchecked(3, 40);\n assert_eq(vec.get(3), 40);\n }\n\n #[test]\n fn set_preserves_other_elements() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3, 4, 5]);\n\n vec.set(2, 30);\n assert_eq(vec.get(0), 1);\n assert_eq(vec.get(1), 2);\n assert_eq(vec.get(2), 30);\n assert_eq(vec.get(3), 4);\n assert_eq(vec.get(4), 5);\n }\n }\n\n mod any {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn returns_false_if_predicate_not_satisfied() {\n let vec: BoundedVec<bool, 4> = BoundedVec::from_array([false, false, false, false]);\n let result = vec.any(|value| value);\n\n assert(!result);\n }\n\n #[test]\n fn returns_true_if_predicate_satisfied() {\n let vec: BoundedVec<bool, 4> = BoundedVec::from_array([false, false, true, true]);\n let result = vec.any(|value| value);\n\n assert(result);\n }\n\n #[test]\n fn returns_false_on_empty_boundedvec() {\n let vec: BoundedVec<bool, 0> = BoundedVec::new();\n let result = vec.any(|value| value);\n\n assert(!result);\n }\n\n #[test]\n fn any_with_complex_predicates() {\n let vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3, 4, 5]);\n\n assert(vec.any(|x| x > 3));\n assert(!vec.any(|x| x > 10));\n assert(vec.any(|x| x % 2 == 0)); // has a even number\n assert(vec.any(|x| x == 3)); // has a specific value\n }\n\n #[test]\n fn any_with_partial_vector() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n vec.push(1);\n vec.push(2);\n\n assert(vec.any(|x| x == 1));\n assert(vec.any(|x| x == 2));\n assert(!vec.any(|x| x == 3));\n }\n }\n\n mod map {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn applies_function_correctly() {\n // docs:start:bounded-vec-map-example\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| value * 2);\n // docs:end:bounded-vec-map-example\n let expected = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn applies_function_that_changes_return_type() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| (value * 2) as Field);\n let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn does_not_apply_function_past_len() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n let result = vec.map(|value| if value == 0 { 5 } else { value });\n let expected = BoundedVec::from_array([5, 1]);\n\n assert_eq(result, expected);\n assert_eq(result.get_unchecked(2), 0);\n }\n\n #[test]\n fn map_with_conditional_logic() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n\n let result = vec.map(|x| if x % 2 == 0 { x * 2 } else { x });\n let expected = BoundedVec::from_array([1, 4, 3, 8]);\n assert_eq(result, expected);\n }\n\n #[test]\n fn map_preserves_length() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|x| x * 2);\n\n assert_eq(result.len(), vec.len());\n assert_eq(result.max_len(), vec.max_len());\n }\n\n #[test]\n fn map_on_empty_vector() {\n let vec: BoundedVec<u32, 5> = BoundedVec::new();\n let result = vec.map(|x| x * 2);\n assert_eq(result, vec);\n assert_eq(result.len(), 0);\n assert_eq(result.max_len(), 5);\n }\n }\n\n mod mapi {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn applies_function_correctly() {\n // docs:start:bounded-vec-mapi-example\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.mapi(|i, value| i + value * 2);\n // docs:end:bounded-vec-mapi-example\n let expected = BoundedVec::from_array([2, 5, 8, 11]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn applies_function_that_changes_return_type() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.mapi(|i, value| (i + value * 2) as Field);\n let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 5, 8, 11]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn does_not_apply_function_past_len() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n let result = vec.mapi(|_, value| if value == 0 { 5 } else { value });\n let expected = BoundedVec::from_array([5, 1]);\n\n assert_eq(result, expected);\n assert_eq(result.get_unchecked(2), 0);\n }\n\n #[test]\n fn mapi_with_index_branching_logic() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n\n let result = vec.mapi(|i, x| if i % 2 == 0 { x * 2 } else { x });\n let expected = BoundedVec::from_array([2, 2, 6, 4]);\n assert_eq(result, expected);\n }\n }\n\n mod for_each {\n use crate::collections::bounded_vec::BoundedVec;\n\n // map in terms of for_each\n fn for_each_map<T, U, Env, let MaxLen: u32>(\n input: BoundedVec<T, MaxLen>,\n f: fn[Env](T) -> U,\n ) -> BoundedVec<U, MaxLen> {\n let mut output = BoundedVec::<U, MaxLen>::new();\n let output_ref = &mut output;\n input.for_each(|x| output_ref.push(f(x)));\n output\n }\n\n #[test]\n fn smoke_test() {\n let mut acc = 0;\n let acc_ref = &mut acc;\n // docs:start:bounded-vec-for-each-example\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([1, 2, 3]);\n vec.for_each(|value| { *acc_ref += value; });\n // docs:end:bounded-vec-for-each-example\n assert_eq(acc, 6);\n }\n\n #[test]\n fn applies_function_correctly() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = for_each_map(vec, |value| value * 2);\n let expected = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn applies_function_that_changes_return_type() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = for_each_map(vec, |value| (value * 2) as Field);\n let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn does_not_apply_function_past_len() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n let result = for_each_map(vec, |value| if value == 0 { 5 } else { value });\n let expected = BoundedVec::from_array([5, 1]);\n\n assert_eq(result, expected);\n assert_eq(result.get_unchecked(2), 0);\n }\n\n #[test]\n fn for_each_on_empty_vector() {\n let vec: BoundedVec<u32, 5> = BoundedVec::new();\n let mut count = 0;\n let count_ref = &mut count;\n vec.for_each(|_| { *count_ref += 1; });\n assert_eq(count, 0);\n }\n\n #[test]\n fn for_each_with_side_effects() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([1, 2, 3]);\n let mut seen = BoundedVec::<u32, 3>::new();\n let seen_ref = &mut seen;\n vec.for_each(|x| seen_ref.push(x));\n assert_eq(seen, vec);\n }\n }\n\n mod for_eachi {\n use crate::collections::bounded_vec::BoundedVec;\n\n // mapi in terms of for_eachi\n fn for_eachi_mapi<T, U, Env, let MaxLen: u32>(\n input: BoundedVec<T, MaxLen>,\n f: fn[Env](u32, T) -> U,\n ) -> BoundedVec<U, MaxLen> {\n let mut output = BoundedVec::<U, MaxLen>::new();\n let output_ref = &mut output;\n input.for_eachi(|i, x| output_ref.push(f(i, x)));\n output\n }\n\n #[test]\n fn smoke_test() {\n let mut acc = 0;\n let acc_ref = &mut acc;\n // docs:start:bounded-vec-for-eachi-example\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([1, 2, 3]);\n vec.for_eachi(|i, value| { *acc_ref += i * value; });\n // docs:end:bounded-vec-for-eachi-example\n\n // 0 * 1 + 1 * 2 + 2 * 3\n assert_eq(acc, 8);\n }\n\n #[test]\n fn applies_function_correctly() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = for_eachi_mapi(vec, |i, value| i + value * 2);\n let expected = BoundedVec::from_array([2, 5, 8, 11]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn applies_function_that_changes_return_type() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = for_eachi_mapi(vec, |i, value| (i + value * 2) as Field);\n let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 5, 8, 11]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn does_not_apply_function_past_len() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n let result = for_eachi_mapi(vec, |_, value| if value == 0 { 5 } else { value });\n let expected = BoundedVec::from_array([5, 1]);\n\n assert_eq(result, expected);\n assert_eq(result.get_unchecked(2), 0);\n }\n\n #[test]\n fn for_eachi_on_empty_vector() {\n let vec: BoundedVec<u32, 5> = BoundedVec::new();\n let mut count = 0;\n let count_ref = &mut count;\n vec.for_eachi(|_, _| { *count_ref += 1; });\n assert_eq(count, 0);\n }\n\n #[test]\n fn for_eachi_with_index_tracking() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([10, 20, 30]);\n let mut indices = BoundedVec::<u32, 3>::new();\n let indices_ref = &mut indices;\n vec.for_eachi(|i, _| indices_ref.push(i));\n\n let expected = BoundedVec::from_array([0, 1, 2]);\n assert_eq(indices, expected);\n }\n\n }\n\n mod from_array {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty() {\n let empty_array: [Field; 0] = [];\n let bounded_vec = BoundedVec::from_array([]);\n\n assert_eq(bounded_vec.max_len(), 0);\n assert_eq(bounded_vec.len(), 0);\n assert_eq(bounded_vec.storage(), empty_array);\n }\n\n #[test]\n fn equal_len() {\n let array = [1, 2, 3];\n let bounded_vec = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 3);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage(), array);\n }\n\n #[test]\n fn max_len_greater_then_array_len() {\n let array = [1, 2, 3];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.get(0), 1);\n assert_eq(bounded_vec.get(1), 2);\n assert_eq(bounded_vec.get(2), 3);\n }\n\n #[test(should_fail_with = \"from array out of bounds\")]\n fn max_len_lower_then_array_len() {\n let _: BoundedVec<Field, 2> = BoundedVec::from_array([0; 3]);\n }\n\n #[test]\n fn from_array_preserves_order() {\n let array = [5, 3, 1, 4, 2];\n let vec: BoundedVec<u32, 5> = BoundedVec::from_array(array);\n for i in 0..array.len() {\n assert_eq(vec.get(i), array[i]);\n }\n }\n\n #[test]\n fn from_array_with_different_types() {\n let bool_array = [true, false, true];\n let bool_vec: BoundedVec<bool, 3> = BoundedVec::from_array(bool_array);\n assert_eq(bool_vec.len(), 3);\n assert_eq(bool_vec.get(0), true);\n assert_eq(bool_vec.get(1), false);\n }\n }\n\n mod trait_from {\n use crate::collections::bounded_vec::BoundedVec;\n use crate::convert::From;\n\n #[test]\n fn simple() {\n let array = [1, 2];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 2);\n assert_eq(bounded_vec.get(0), 1);\n assert_eq(bounded_vec.get(1), 2);\n }\n }\n\n mod trait_eq {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty_equality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n\n assert_eq(bounded_vec1, bounded_vec2);\n }\n\n #[test]\n fn inequality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n bounded_vec1.push(1);\n bounded_vec2.push(2);\n\n assert(bounded_vec1 != bounded_vec2);\n }\n }\n\n mod from_parts {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn from_parts() {\n // docs:start:from-parts\n let vec: BoundedVec<u32, 4> = BoundedVec::from_parts([1, 2, 3, 0], 3);\n assert_eq(vec.len(), 3);\n\n // Any elements past the given length are zeroed out, so these\n // two BoundedVecs will be completely equal\n let vec1: BoundedVec<u32, 4> = BoundedVec::from_parts([1, 2, 3, 1], 3);\n let vec2: BoundedVec<u32, 4> = BoundedVec::from_parts([1, 2, 3, 2], 3);\n assert_eq(vec1, vec2);\n // docs:end:from-parts\n }\n\n #[test]\n fn from_parts_unchecked() {\n // docs:start:from-parts-unchecked\n let vec: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 0], 3);\n assert_eq(vec.len(), 3);\n\n // invalid use!\n let vec1: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 1], 3);\n let vec2: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 2], 3);\n\n // both vecs have length 3 so we'd expect them to be equal, but this\n // fails because elements past the length are still checked in eq\n assert(vec1 != vec2);\n // docs:end:from-parts-unchecked\n }\n }\n\n mod push_pop {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn push_and_pop_operations() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n\n assert_eq(vec.len(), 0);\n\n vec.push(1);\n assert_eq(vec.len(), 1);\n assert_eq(vec.get(0), 1);\n\n vec.push(2);\n assert_eq(vec.len(), 2);\n assert_eq(vec.get(1), 2);\n\n let popped = vec.pop();\n assert_eq(popped, 2);\n assert_eq(vec.len(), 1);\n\n let popped2 = vec.pop();\n assert_eq(popped2, 1);\n assert_eq(vec.len(), 0);\n }\n\n #[test(should_fail_with = \"push out of bounds\")]\n fn push_to_full_vector() {\n let mut vec: BoundedVec<u32, 2> = BoundedVec::new();\n vec.push(1);\n vec.push(2);\n vec.push(3); // should panic\n }\n\n #[test(should_fail_with = \"cannot pop from an empty vector\")]\n fn pop_from_empty_vector() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n let _ = vec.pop(); // should panic\n }\n\n #[test]\n fn push_pop_cycle() {\n let mut vec: BoundedVec<u32, 3> = BoundedVec::new();\n\n // push to full\n vec.push(1);\n vec.push(2);\n vec.push(3);\n assert_eq(vec.len(), 3);\n\n // pop all\n assert_eq(vec.pop(), 3);\n assert_eq(vec.pop(), 2);\n assert_eq(vec.pop(), 1);\n assert_eq(vec.len(), 0);\n\n // push again\n vec.push(4);\n assert_eq(vec.len(), 1);\n assert_eq(vec.get(0), 4);\n }\n }\n\n mod extend {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn extend_from_array() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n vec.push(1);\n vec.extend_from_array([2, 3]);\n\n assert_eq(vec.len(), 3);\n assert_eq(vec.get(0), 1);\n assert_eq(vec.get(1), 2);\n assert_eq(vec.get(2), 3);\n }\n\n #[test]\n fn extend_from_slice() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n vec.push(1);\n vec.extend_from_slice(&[2, 3]);\n\n assert_eq(vec.len(), 3);\n assert_eq(vec.get(0), 1);\n assert_eq(vec.get(1), 2);\n assert_eq(vec.get(2), 3);\n }\n\n #[test]\n fn extend_from_bounded_vec() {\n let mut vec1: BoundedVec<u32, 5> = BoundedVec::new();\n let mut vec2: BoundedVec<u32, 3> = BoundedVec::new();\n\n vec1.push(1);\n vec2.push(2);\n vec2.push(3);\n\n vec1.extend_from_bounded_vec(vec2);\n\n assert_eq(vec1.len(), 3);\n assert_eq(vec1.get(0), 1);\n assert_eq(vec1.get(1), 2);\n assert_eq(vec1.get(2), 3);\n }\n\n #[test(should_fail_with = \"extend_from_array out of bounds\")]\n fn extend_array_beyond_max_len() {\n let mut vec: BoundedVec<u32, 3> = BoundedVec::new();\n vec.push(1);\n vec.extend_from_array([2, 3, 4]); // should panic\n }\n\n #[test(should_fail_with = \"extend_from_slice out of bounds\")]\n fn extend_slice_beyond_max_len() {\n let mut vec: BoundedVec<u32, 3> = BoundedVec::new();\n vec.push(1);\n vec.extend_from_slice(&[2, 3, 4]); // S]should panic\n }\n\n #[test(should_fail_with = \"extend_from_bounded_vec out of bounds\")]\n fn extend_bounded_vec_beyond_max_len() {\n let mut vec: BoundedVec<u32, 3> = BoundedVec::new();\n let other: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3, 4, 5]);\n vec.extend_from_bounded_vec(other); // should panic\n }\n\n #[test]\n fn extend_with_empty_collections() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n let original_len = vec.len();\n\n vec.extend_from_array([]);\n assert_eq(vec.len(), original_len);\n\n vec.extend_from_slice(&[]);\n assert_eq(vec.len(), original_len);\n\n let empty: BoundedVec<u32, 3> = BoundedVec::new();\n vec.extend_from_bounded_vec(empty);\n assert_eq(vec.len(), original_len);\n }\n }\n\n mod storage {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn storage_consistency() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n\n // test initial storage state\n assert_eq(vec.storage(), [0, 0, 0, 0, 0]);\n\n vec.push(1);\n vec.push(2);\n\n // test storage after modifications\n assert_eq(vec.storage(), [1, 2, 0, 0, 0]);\n\n // storage doesn't change length\n assert_eq(vec.len(), 2);\n assert_eq(vec.max_len(), 5);\n }\n\n #[test]\n fn storage_after_pop() {\n let mut vec: BoundedVec<u32, 3> = BoundedVec::from_array([1, 2, 3]);\n\n let _ = vec.pop();\n // after pop, the last element should be zeroed\n assert_eq(vec.storage(), [1, 2, 0]);\n assert_eq(vec.len(), 2);\n }\n\n #[test]\n fn vector_immutable() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([1, 2, 3]);\n let storage = vec.storage();\n\n assert_eq(storage, [1, 2, 3]);\n\n // Verify that the original vector is unchanged\n assert_eq(vec.len(), 3);\n assert_eq(vec.get(0), 1);\n assert_eq(vec.get(1), 2);\n assert_eq(vec.get(2), 3);\n }\n }\n}\n"
|
|
2733
|
+
"source": "use crate::{cmp::Eq, convert::From, runtime::is_unconstrained, static_assert};\n\n/// A `BoundedVec<T, MaxLen>` is a growable storage similar to a built-in vector except that it\n/// is bounded with a maximum possible length. `BoundedVec` is also not\n/// subject to the same restrictions vectors are (notably, nested vectors are disallowed).\n///\n/// Since a BoundedVec is backed by a normal array under the hood, growing the BoundedVec by\n/// pushing an additional element is also more efficient - the length only needs to be increased\n/// by one.\n///\n/// For these reasons `BoundedVec<T, N>` should generally be preferred over vectors when there\n/// is a reasonable maximum bound that can be placed on the vector.\n///\n/// Example:\n///\n/// ```noir\n/// let mut vector: BoundedVec<Field, 10> = BoundedVec::new();\n/// for i in 0..5 {\n/// vector.push(i);\n/// }\n/// assert(vector.len() == 5);\n/// assert(vector.max_len() == 10);\n/// ```\npub struct BoundedVec<T, let MaxLen: u32> {\n storage: [T; MaxLen],\n len: u32,\n}\n\nimpl<T, let MaxLen: u32> BoundedVec<T, MaxLen> {\n /// Creates a new, empty vector of length zero.\n ///\n /// Since this container is backed by an array internally, it still needs an initial value\n /// to give each element. To resolve this, each element is zeroed internally. This value\n /// is guaranteed to be inaccessible unless `get_unchecked` is used.\n ///\n /// Example:\n ///\n /// ```noir\n /// let empty_vector: BoundedVec<Field, 10> = BoundedVec::new();\n /// assert(empty_vector.len() == 0);\n /// ```\n ///\n /// Note that whenever calling `new` the maximum length of the vector should always be specified\n /// via a type signature:\n ///\n /// ```noir\n /// fn good() -> BoundedVec<Field, 10> {\n /// // Ok! MaxLen is specified with a type annotation\n /// let v1: BoundedVec<Field, 3> = BoundedVec::new();\n /// let v2 = BoundedVec::new();\n ///\n /// // Ok! MaxLen is known from the type of `good`'s return value\n /// v2\n /// }\n ///\n /// fn bad() {\n /// // Error: Type annotation needed\n /// // The compiler can't infer `MaxLen` from the following code:\n /// let mut v3 = BoundedVec::new();\n /// v3.push(5);\n /// }\n /// ```\n ///\n /// This defaulting of `MaxLen` (and numeric generics in general) to zero may change in future noir versions\n /// but for now make sure to use type annotations when using bounded vectors. Otherwise, you will receive a\n /// constraint failure at runtime when the vec is pushed to.\n pub fn new() -> Self {\n let zeroed = crate::mem::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n /// Retrieves an element from the vector at the given index, starting from zero.\n ///\n /// If the given index is equal to or greater than the length of the vector, this\n /// will issue a constraint failure.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn foo<let N: u32>(v: BoundedVec<u32, N>) {\n /// let first = v.get(0);\n /// let last = v.get(v.len() - 1);\n /// assert(first != last);\n /// }\n /// ```\n pub fn get(self, index: u32) -> T {\n assert(index < self.len, \"Attempted to read past end of BoundedVec\");\n self.get_unchecked(index)\n }\n\n /// Retrieves an element from the vector at the given index, starting from zero, without\n /// performing a bounds check.\n ///\n /// Since this function does not perform a bounds check on length before accessing the element,\n /// it is unsafe! Use at your own risk!\n ///\n /// Example:\n ///\n /// ```noir\n /// fn sum_of_first_three<let N: u32>(v: BoundedVec<u32, N>) -> u32 {\n /// // Always ensure the length is larger than the largest\n /// // index passed to get_unchecked\n /// assert(v.len() > 2);\n /// let first = v.get_unchecked(0);\n /// let second = v.get_unchecked(1);\n /// let third = v.get_unchecked(2);\n /// first + second + third\n /// }\n /// ```\n pub fn get_unchecked(self, index: u32) -> T {\n self.storage[index]\n }\n\n /// Writes an element to the vector at the given index, starting from zero.\n ///\n /// If the given index is equal to or greater than the length of the vector, this will issue a constraint failure.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn foo<let N: u32>(v: BoundedVec<u32, N>) {\n /// let first = v.get(0);\n /// assert(first != 42);\n /// v.set(0, 42);\n /// let new_first = v.get(0);\n /// assert(new_first == 42);\n /// }\n /// ```\n pub fn set(&mut self, index: u32, value: T) {\n assert(index < self.len, \"Attempted to write past end of BoundedVec\");\n self.set_unchecked(index, value)\n }\n\n /// Writes an element to the vector at the given index, starting from zero, without performing a bounds check.\n ///\n /// Since this function does not perform a bounds check on length before accessing the element, it is unsafe! Use at your own risk!\n ///\n /// Example:\n ///\n /// ```noir\n /// fn set_unchecked_example() {\n /// let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n /// vec.extend_from_array([1, 2]);\n ///\n /// // Here we're safely writing within the valid range of `vec`\n /// // `vec` now has the value [42, 2]\n /// vec.set_unchecked(0, 42);\n ///\n /// // We can then safely read this value back out of `vec`.\n /// // Notice that we use the checked version of `get` which would prevent reading unsafe values.\n /// assert_eq(vec.get(0), 42);\n ///\n /// // We've now written past the end of `vec`.\n /// // As this index is still within the maximum potential length of `v`,\n /// // it won't cause a constraint failure.\n /// vec.set_unchecked(2, 42);\n /// println(vec);\n ///\n /// // This will write past the end of the maximum potential length of `vec`,\n /// // it will then trigger a constraint failure.\n /// vec.set_unchecked(5, 42);\n /// println(vec);\n /// }\n /// ```\n pub fn set_unchecked(&mut self, index: u32, value: T) {\n self.storage[index] = value;\n }\n\n /// Pushes an element to the end of the vector. This increases the length\n /// of the vector by one.\n ///\n /// Panics if the new length of the vector will be greater than the max length.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<Field, 2> = BoundedVec::new();\n ///\n /// v.push(1);\n /// v.push(2);\n ///\n /// // Panics with failed assertion \"push out of bounds\"\n /// v.push(3);\n /// ```\n pub fn push(&mut self, elem: T) {\n assert(self.len < MaxLen, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n /// Returns the current length of this vector\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<Field, 4> = BoundedVec::new();\n /// assert(v.len() == 0);\n ///\n /// v.push(100);\n /// assert(v.len() == 1);\n ///\n /// v.push(200);\n /// v.push(300);\n /// v.push(400);\n /// assert(v.len() == 4);\n ///\n /// let _ = v.pop();\n /// let _ = v.pop();\n /// assert(v.len() == 2);\n /// ```\n pub fn len(self) -> u32 {\n self.len\n }\n\n /// Returns the maximum length of this vector. This is always\n /// equal to the `MaxLen` parameter this vector was initialized with.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<Field, 5> = BoundedVec::new();\n ///\n /// assert(v.max_len() == 5);\n /// v.push(10);\n /// assert(v.max_len() == 5);\n /// ```\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u32 {\n MaxLen\n }\n\n /// Returns the internal array within this vector.\n ///\n /// Since arrays in Noir are immutable, mutating the returned storage array will not mutate\n /// the storage held internally by this vector.\n ///\n /// Note that uninitialized elements may be zeroed out!\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<Field, 5> = BoundedVec::new();\n ///\n /// assert(v.storage() == [0, 0, 0, 0, 0]);\n ///\n /// v.push(57);\n /// assert(v.storage() == [57, 0, 0, 0, 0]);\n /// ```\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n /// Pushes each element from the given array to this vector.\n ///\n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut vec: BoundedVec<Field, 3> = BoundedVec::new();\n /// vec.extend_from_array([2, 4]);\n ///\n /// assert(vec.len == 2);\n /// assert(vec.get(0) == 2);\n /// assert(vec.get(1) == 4);\n /// ```\n pub fn extend_from_array<let Len: u32>(&mut self, array: [T; Len]) {\n let new_len = self.len + array.len();\n assert(new_len <= MaxLen, \"extend_from_array out of bounds\");\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = new_len;\n }\n\n /// Pushes each element from the given vector to this vector.\n ///\n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut vec: BoundedVec<Field, 3> = BoundedVec::new();\n /// vec.extend_from_vector(&[2, 4]);\n ///\n /// assert(vec.len == 2);\n /// assert(vec.get(0) == 2);\n /// assert(vec.get(1) == 4);\n /// ```\n pub fn extend_from_vector(&mut self, vector: [T]) {\n let new_len = self.len + vector.len();\n assert(new_len <= MaxLen, \"extend_from_vector out of bounds\");\n for i in 0..vector.len() {\n self.storage[self.len + i] = vector[i];\n }\n self.len = new_len;\n }\n\n /// Pushes each element from the other vector to this vector. The length of\n /// the other vector is left unchanged.\n ///\n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n ///\n /// ```noir\n /// let mut v1: BoundedVec<Field, 5> = BoundedVec::new();\n /// let mut v2: BoundedVec<Field, 7> = BoundedVec::new();\n ///\n /// v2.extend_from_array([1, 2, 3]);\n /// v1.extend_from_bounded_vec(v2);\n ///\n /// assert(v1.storage() == [1, 2, 3, 0, 0]);\n /// assert(v2.storage() == [1, 2, 3, 0, 0, 0, 0]);\n /// ```\n pub fn extend_from_bounded_vec<let Len: u32>(&mut self, vec: BoundedVec<T, Len>) {\n let append_len = vec.len();\n let new_len = self.len + append_len;\n assert(new_len <= MaxLen, \"extend_from_bounded_vec out of bounds\");\n\n if is_unconstrained() {\n for i in 0..append_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n } else {\n let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n }\n }\n self.len = new_len;\n }\n\n /// Creates a new vector, populating it with values derived from an array input.\n /// The maximum length of the vector is determined based on the type signature.\n ///\n /// Example:\n ///\n /// ```noir\n /// let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array([1, 2, 3])\n /// ```\n pub fn from_array<let Len: u32>(array: [T; Len]) -> Self {\n static_assert(Len <= MaxLen, \"from array out of bounds\");\n let mut vec: BoundedVec<T, MaxLen> = BoundedVec::new();\n vec.extend_from_array(array);\n vec\n }\n\n /// Pops the element at the end of the vector. This will decrease the length\n /// of the vector by one.\n ///\n /// Panics if the vector is empty.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<Field, 2> = BoundedVec::new();\n /// v.push(1);\n /// v.push(2);\n ///\n /// let two = v.pop();\n /// let one = v.pop();\n ///\n /// assert(two == 2);\n /// assert(one == 1);\n ///\n /// // error: cannot pop from an empty vector\n /// let _ = v.pop();\n /// ```\n pub fn pop(&mut self) -> T {\n assert(self.len > 0, \"cannot pop from an empty vector\");\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = crate::mem::zeroed();\n elem\n }\n\n /// Returns true if the given predicate returns true for any element\n /// in this vector.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<u32, 3> = BoundedVec::new();\n /// v.extend_from_array([2, 4, 6]);\n ///\n /// let all_even = !v.any(|elem: u32| elem % 2 != 0);\n /// assert(all_even);\n /// ```\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n if is_unconstrained() {\n for i in 0..self.len {\n ret |= predicate(self.storage[i]);\n }\n } else {\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 }\n ret\n }\n\n /// Creates a new vector of equal size by calling a closure on each element in this vector.\n ///\n /// Example:\n ///\n /// ```noir\n /// let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n /// let result = vec.map(|value| value * 2);\n ///\n /// let expected = BoundedVec::from_array([2, 4, 6, 8]);\n /// assert_eq(result, expected);\n /// ```\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> BoundedVec<U, MaxLen> {\n let mut ret = BoundedVec::new();\n ret.len = self.len();\n\n if is_unconstrained() {\n for i in 0..self.len() {\n ret.storage[i] = f(self.get_unchecked(i));\n }\n } else {\n for i in 0..MaxLen {\n if i < self.len() {\n ret.storage[i] = f(self.get_unchecked(i));\n }\n }\n }\n\n ret\n }\n\n /// Creates a new vector of equal size by calling a closure on each element\n /// in this vector, along with its index.\n ///\n /// Example:\n ///\n /// ```noir\n /// let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n /// let result = vec.mapi(|i, value| i + value * 2);\n ///\n /// let expected = BoundedVec::from_array([2, 5, 8, 11]);\n /// assert_eq(result, expected);\n /// ```\n pub fn mapi<U, Env>(self, f: fn[Env](u32, T) -> U) -> BoundedVec<U, MaxLen> {\n let mut ret = BoundedVec::new();\n ret.len = self.len();\n\n if is_unconstrained() {\n for i in 0..self.len() {\n ret.storage[i] = f(i, self.get_unchecked(i));\n }\n } else {\n for i in 0..MaxLen {\n if i < self.len() {\n ret.storage[i] = f(i, self.get_unchecked(i));\n }\n }\n }\n\n ret\n }\n\n /// Calls a closure on each element in this vector.\n ///\n /// Example:\n ///\n /// ```noir\n /// let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n /// let mut result = BoundedVec::<u32, 4>::new();\n /// vec.for_each(|value| result.push(value * 2));\n ///\n /// let expected = BoundedVec::from_array([2, 4, 6, 8]);\n /// assert_eq(result, expected);\n /// ```\n pub fn for_each<Env>(self, f: fn[Env](T) -> ()) {\n if is_unconstrained() {\n for i in 0..self.len() {\n f(self.get_unchecked(i));\n }\n } else {\n for i in 0..MaxLen {\n if i < self.len() {\n f(self.get_unchecked(i));\n }\n }\n }\n }\n\n /// Calls a closure on each element in this vector, along with its index.\n ///\n /// Example:\n ///\n /// ```noir\n /// let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n /// let mut result = BoundedVec::<u32, 4>::new();\n /// vec.for_eachi(|i, value| result.push(i + value * 2));\n ///\n /// let expected = BoundedVec::from_array([2, 5, 8, 11]);\n /// assert_eq(result, expected);\n /// ```\n pub fn for_eachi<Env>(self, f: fn[Env](u32, T) -> ()) {\n if is_unconstrained() {\n for i in 0..self.len() {\n f(i, self.get_unchecked(i));\n }\n } else {\n for i in 0..MaxLen {\n if i < self.len() {\n f(i, self.get_unchecked(i));\n }\n }\n }\n }\n\n /// Creates a new BoundedVec from the given array and length.\n /// The given length must be less than or equal to the length of the array.\n ///\n /// This function will zero out any elements at or past index `len` of `array`.\n /// This incurs an extra runtime cost of O(MaxLen). If you are sure your array is\n /// zeroed after that index, you can use [`from_parts_unchecked`][Self::from_parts_unchecked] to remove the extra loop.\n ///\n /// Example:\n ///\n /// ```noir\n /// let vec: BoundedVec<u32, 4> = BoundedVec::from_parts([1, 2, 3, 0], 3);\n /// assert_eq(vec.len(), 3);\n /// ```\n pub fn from_parts(mut array: [T; MaxLen], len: u32) -> Self {\n assert(len <= MaxLen);\n let zeroed = crate::mem::zeroed();\n\n if is_unconstrained() {\n for i in len..MaxLen {\n array[i] = zeroed;\n }\n } else {\n for i in 0..MaxLen {\n if i >= len {\n array[i] = zeroed;\n }\n }\n }\n\n BoundedVec { storage: array, len }\n }\n\n /// Creates a new BoundedVec from the given array and length.\n /// The given length must be less than or equal to the length of the array.\n ///\n /// This function is unsafe because it expects all elements past the `len` index\n /// of `array` to be zeroed, but does not check for this internally. Use `from_parts`\n /// for a safe version of this function which does zero out any indices past the\n /// given length. Invalidating this assumption can notably cause `BoundedVec::eq`\n /// to give incorrect results since it will check even elements past `len`.\n ///\n /// Example:\n ///\n /// ```noir\n /// let vec: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 0], 3);\n /// assert_eq(vec.len(), 3);\n ///\n /// // invalid use!\n /// let vec1: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 1], 3);\n /// let vec2: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 2], 3);\n ///\n /// // both vecs have length 3 so we'd expect them to be equal, but this\n /// // fails because elements past the length are still checked in eq\n /// assert_eq(vec1, vec2); // fails\n /// ```\n pub fn from_parts_unchecked(array: [T; MaxLen], len: u32) -> Self {\n assert(len <= MaxLen);\n BoundedVec { storage: array, len }\n }\n}\n\nimpl<T, let MaxLen: u32> Eq for BoundedVec<T, MaxLen>\nwhere\n T: Eq,\n{\n fn eq(self, other: BoundedVec<T, MaxLen>) -> bool {\n // TODO: https://github.com/noir-lang/noir/issues/4837\n //\n // We make the assumption that the user has used the proper interface for working with `BoundedVec`s\n // rather than directly manipulating the internal fields as this can result in an inconsistent internal state.\n if self.len == other.len {\n self.storage == other.storage\n } else {\n false\n }\n }\n}\n\nimpl<T, let MaxLen: u32, let Len: u32> From<[T; Len]> for BoundedVec<T, MaxLen> {\n fn from(array: [T; Len]) -> BoundedVec<T, MaxLen> {\n BoundedVec::from_array(array)\n }\n}\n\nmod bounded_vec_tests {\n\n mod get {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test(should_fail_with = \"Attempted to read past end of BoundedVec\")]\n fn panics_when_reading_elements_past_end_of_vec() {\n let vec: BoundedVec<Field, 5> = BoundedVec::new();\n\n let _ = vec.get(0);\n }\n\n #[test(should_fail_with = \"Attempted to read past end of BoundedVec\")]\n fn panics_when_reading_beyond_length() {\n let vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3]);\n let _ = vec.get(3);\n }\n\n #[test]\n fn get_works_within_bounds() {\n let vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3, 4, 5]);\n assert_eq(vec.get(0), 1);\n assert_eq(vec.get(2), 3);\n assert_eq(vec.get(4), 5);\n }\n\n #[test]\n fn get_unchecked_works() {\n let vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3]);\n assert_eq(vec.get_unchecked(0), 1);\n assert_eq(vec.get_unchecked(2), 3);\n }\n\n #[test]\n fn get_unchecked_works_past_len() {\n let vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3]);\n assert_eq(vec.get_unchecked(4), 0);\n }\n }\n\n mod set {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn set_updates_values_properly() {\n let mut vec = BoundedVec::from_array([0, 0, 0, 0, 0]);\n\n vec.set(0, 42);\n assert_eq(vec.storage, [42, 0, 0, 0, 0]);\n\n vec.set(1, 43);\n assert_eq(vec.storage, [42, 43, 0, 0, 0]);\n\n vec.set(2, 44);\n assert_eq(vec.storage, [42, 43, 44, 0, 0]);\n\n vec.set(1, 10);\n assert_eq(vec.storage, [42, 10, 44, 0, 0]);\n\n vec.set(0, 0);\n assert_eq(vec.storage, [0, 10, 44, 0, 0]);\n }\n\n #[test(should_fail_with = \"Attempted to write past end of BoundedVec\")]\n fn panics_when_writing_elements_past_end_of_vec() {\n let mut vec: BoundedVec<Field, 5> = BoundedVec::new();\n vec.set(0, 42);\n }\n\n #[test(should_fail_with = \"Attempted to write past end of BoundedVec\")]\n fn panics_when_setting_beyond_length() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3]);\n vec.set(3, 4);\n }\n\n #[test]\n fn set_unchecked_operations() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n vec.push(1);\n vec.push(2);\n\n vec.set_unchecked(0, 10);\n assert_eq(vec.get(0), 10);\n }\n\n #[test(should_fail_with = \"Attempted to read past end of BoundedVec\")]\n fn set_unchecked_operations_past_len() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n vec.push(1);\n vec.push(2);\n\n vec.set_unchecked(3, 40);\n assert_eq(vec.get(3), 40);\n }\n\n #[test]\n fn set_preserves_other_elements() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3, 4, 5]);\n\n vec.set(2, 30);\n assert_eq(vec.get(0), 1);\n assert_eq(vec.get(1), 2);\n assert_eq(vec.get(2), 30);\n assert_eq(vec.get(3), 4);\n assert_eq(vec.get(4), 5);\n }\n }\n\n mod any {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn returns_false_if_predicate_not_satisfied() {\n let vec: BoundedVec<bool, 4> = BoundedVec::from_array([false, false, false, false]);\n let result = vec.any(|value| value);\n\n assert(!result);\n }\n\n #[test]\n fn returns_true_if_predicate_satisfied() {\n let vec: BoundedVec<bool, 4> = BoundedVec::from_array([false, false, true, true]);\n let result = vec.any(|value| value);\n\n assert(result);\n }\n\n #[test]\n fn returns_false_on_empty_boundedvec() {\n let vec: BoundedVec<bool, 0> = BoundedVec::new();\n let result = vec.any(|value| value);\n\n assert(!result);\n }\n\n #[test]\n fn any_with_complex_predicates() {\n let vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3, 4, 5]);\n\n assert(vec.any(|x| x > 3));\n assert(!vec.any(|x| x > 10));\n assert(vec.any(|x| x % 2 == 0)); // has a even number\n assert(vec.any(|x| x == 3)); // has a specific value\n }\n\n #[test]\n fn any_with_partial_vector() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n vec.push(1);\n vec.push(2);\n\n assert(vec.any(|x| x == 1));\n assert(vec.any(|x| x == 2));\n assert(!vec.any(|x| x == 3));\n }\n }\n\n mod map {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn applies_function_correctly() {\n // docs:start:bounded-vec-map-example\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| value * 2);\n // docs:end:bounded-vec-map-example\n let expected = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn applies_function_that_changes_return_type() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| (value * 2) as Field);\n let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn does_not_apply_function_past_len() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n let result = vec.map(|value| if value == 0 { 5 } else { value });\n let expected = BoundedVec::from_array([5, 1]);\n\n assert_eq(result, expected);\n assert_eq(result.get_unchecked(2), 0);\n }\n\n #[test]\n fn map_with_conditional_logic() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n\n let result = vec.map(|x| if x % 2 == 0 { x * 2 } else { x });\n let expected = BoundedVec::from_array([1, 4, 3, 8]);\n assert_eq(result, expected);\n }\n\n #[test]\n fn map_preserves_length() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|x| x * 2);\n\n assert_eq(result.len(), vec.len());\n assert_eq(result.max_len(), vec.max_len());\n }\n\n #[test]\n fn map_on_empty_vector() {\n let vec: BoundedVec<u32, 5> = BoundedVec::new();\n let result = vec.map(|x| x * 2);\n assert_eq(result, vec);\n assert_eq(result.len(), 0);\n assert_eq(result.max_len(), 5);\n }\n }\n\n mod mapi {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn applies_function_correctly() {\n // docs:start:bounded-vec-mapi-example\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.mapi(|i, value| i + value * 2);\n // docs:end:bounded-vec-mapi-example\n let expected = BoundedVec::from_array([2, 5, 8, 11]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn applies_function_that_changes_return_type() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.mapi(|i, value| (i + value * 2) as Field);\n let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 5, 8, 11]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn does_not_apply_function_past_len() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n let result = vec.mapi(|_, value| if value == 0 { 5 } else { value });\n let expected = BoundedVec::from_array([5, 1]);\n\n assert_eq(result, expected);\n assert_eq(result.get_unchecked(2), 0);\n }\n\n #[test]\n fn mapi_with_index_branching_logic() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n\n let result = vec.mapi(|i, x| if i % 2 == 0 { x * 2 } else { x });\n let expected = BoundedVec::from_array([2, 2, 6, 4]);\n assert_eq(result, expected);\n }\n }\n\n mod for_each {\n use crate::collections::bounded_vec::BoundedVec;\n\n // map in terms of for_each\n fn for_each_map<T, U, Env, let MaxLen: u32>(\n input: BoundedVec<T, MaxLen>,\n f: fn[Env](T) -> U,\n ) -> BoundedVec<U, MaxLen> {\n let mut output = BoundedVec::<U, MaxLen>::new();\n let output_ref = &mut output;\n input.for_each(|x| output_ref.push(f(x)));\n output\n }\n\n #[test]\n fn smoke_test() {\n let mut acc = 0;\n let acc_ref = &mut acc;\n // docs:start:bounded-vec-for-each-example\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([1, 2, 3]);\n vec.for_each(|value| { *acc_ref += value; });\n // docs:end:bounded-vec-for-each-example\n assert_eq(acc, 6);\n }\n\n #[test]\n fn applies_function_correctly() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = for_each_map(vec, |value| value * 2);\n let expected = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn applies_function_that_changes_return_type() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = for_each_map(vec, |value| (value * 2) as Field);\n let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn does_not_apply_function_past_len() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n let result = for_each_map(vec, |value| if value == 0 { 5 } else { value });\n let expected = BoundedVec::from_array([5, 1]);\n\n assert_eq(result, expected);\n assert_eq(result.get_unchecked(2), 0);\n }\n\n #[test]\n fn for_each_on_empty_vector() {\n let vec: BoundedVec<u32, 5> = BoundedVec::new();\n let mut count = 0;\n let count_ref = &mut count;\n vec.for_each(|_| { *count_ref += 1; });\n assert_eq(count, 0);\n }\n\n #[test]\n fn for_each_with_side_effects() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([1, 2, 3]);\n let mut seen = BoundedVec::<u32, 3>::new();\n let seen_ref = &mut seen;\n vec.for_each(|x| seen_ref.push(x));\n assert_eq(seen, vec);\n }\n }\n\n mod for_eachi {\n use crate::collections::bounded_vec::BoundedVec;\n\n // mapi in terms of for_eachi\n fn for_eachi_mapi<T, U, Env, let MaxLen: u32>(\n input: BoundedVec<T, MaxLen>,\n f: fn[Env](u32, T) -> U,\n ) -> BoundedVec<U, MaxLen> {\n let mut output = BoundedVec::<U, MaxLen>::new();\n let output_ref = &mut output;\n input.for_eachi(|i, x| output_ref.push(f(i, x)));\n output\n }\n\n #[test]\n fn smoke_test() {\n let mut acc = 0;\n let acc_ref = &mut acc;\n // docs:start:bounded-vec-for-eachi-example\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([1, 2, 3]);\n vec.for_eachi(|i, value| { *acc_ref += i * value; });\n // docs:end:bounded-vec-for-eachi-example\n\n // 0 * 1 + 1 * 2 + 2 * 3\n assert_eq(acc, 8);\n }\n\n #[test]\n fn applies_function_correctly() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = for_eachi_mapi(vec, |i, value| i + value * 2);\n let expected = BoundedVec::from_array([2, 5, 8, 11]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn applies_function_that_changes_return_type() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = for_eachi_mapi(vec, |i, value| (i + value * 2) as Field);\n let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 5, 8, 11]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn does_not_apply_function_past_len() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n let result = for_eachi_mapi(vec, |_, value| if value == 0 { 5 } else { value });\n let expected = BoundedVec::from_array([5, 1]);\n\n assert_eq(result, expected);\n assert_eq(result.get_unchecked(2), 0);\n }\n\n #[test]\n fn for_eachi_on_empty_vector() {\n let vec: BoundedVec<u32, 5> = BoundedVec::new();\n let mut count = 0;\n let count_ref = &mut count;\n vec.for_eachi(|_, _| { *count_ref += 1; });\n assert_eq(count, 0);\n }\n\n #[test]\n fn for_eachi_with_index_tracking() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([10, 20, 30]);\n let mut indices = BoundedVec::<u32, 3>::new();\n let indices_ref = &mut indices;\n vec.for_eachi(|i, _| indices_ref.push(i));\n\n let expected = BoundedVec::from_array([0, 1, 2]);\n assert_eq(indices, expected);\n }\n\n }\n\n mod from_array {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty() {\n let empty_array: [Field; 0] = [];\n let bounded_vec = BoundedVec::from_array([]);\n\n assert_eq(bounded_vec.max_len(), 0);\n assert_eq(bounded_vec.len(), 0);\n assert_eq(bounded_vec.storage(), empty_array);\n }\n\n #[test]\n fn equal_len() {\n let array = [1, 2, 3];\n let bounded_vec = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 3);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage(), array);\n }\n\n #[test]\n fn max_len_greater_then_array_len() {\n let array = [1, 2, 3];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.get(0), 1);\n assert_eq(bounded_vec.get(1), 2);\n assert_eq(bounded_vec.get(2), 3);\n }\n\n #[test(should_fail_with = \"from array out of bounds\")]\n fn max_len_lower_then_array_len() {\n let _: BoundedVec<Field, 2> = BoundedVec::from_array([0; 3]);\n }\n\n #[test]\n fn from_array_preserves_order() {\n let array = [5, 3, 1, 4, 2];\n let vec: BoundedVec<u32, 5> = BoundedVec::from_array(array);\n for i in 0..array.len() {\n assert_eq(vec.get(i), array[i]);\n }\n }\n\n #[test]\n fn from_array_with_different_types() {\n let bool_array = [true, false, true];\n let bool_vec: BoundedVec<bool, 3> = BoundedVec::from_array(bool_array);\n assert_eq(bool_vec.len(), 3);\n assert_eq(bool_vec.get(0), true);\n assert_eq(bool_vec.get(1), false);\n }\n }\n\n mod trait_from {\n use crate::collections::bounded_vec::BoundedVec;\n use crate::convert::From;\n\n #[test]\n fn simple() {\n let array = [1, 2];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 2);\n assert_eq(bounded_vec.get(0), 1);\n assert_eq(bounded_vec.get(1), 2);\n }\n }\n\n mod trait_eq {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty_equality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n\n assert_eq(bounded_vec1, bounded_vec2);\n }\n\n #[test]\n fn inequality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n bounded_vec1.push(1);\n bounded_vec2.push(2);\n\n assert(bounded_vec1 != bounded_vec2);\n }\n }\n\n mod from_parts {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn from_parts() {\n // docs:start:from-parts\n let vec: BoundedVec<u32, 4> = BoundedVec::from_parts([1, 2, 3, 0], 3);\n assert_eq(vec.len(), 3);\n\n // Any elements past the given length are zeroed out, so these\n // two BoundedVecs will be completely equal\n let vec1: BoundedVec<u32, 4> = BoundedVec::from_parts([1, 2, 3, 1], 3);\n let vec2: BoundedVec<u32, 4> = BoundedVec::from_parts([1, 2, 3, 2], 3);\n assert_eq(vec1, vec2);\n // docs:end:from-parts\n }\n\n #[test]\n fn from_parts_unchecked() {\n // docs:start:from-parts-unchecked\n let vec: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 0], 3);\n assert_eq(vec.len(), 3);\n\n // invalid use!\n let vec1: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 1], 3);\n let vec2: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 2], 3);\n\n // both vecs have length 3 so we'd expect them to be equal, but this\n // fails because elements past the length are still checked in eq\n assert(vec1 != vec2);\n // docs:end:from-parts-unchecked\n }\n }\n\n mod push_pop {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn push_and_pop_operations() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n\n assert_eq(vec.len(), 0);\n\n vec.push(1);\n assert_eq(vec.len(), 1);\n assert_eq(vec.get(0), 1);\n\n vec.push(2);\n assert_eq(vec.len(), 2);\n assert_eq(vec.get(1), 2);\n\n let popped = vec.pop();\n assert_eq(popped, 2);\n assert_eq(vec.len(), 1);\n\n let popped2 = vec.pop();\n assert_eq(popped2, 1);\n assert_eq(vec.len(), 0);\n }\n\n #[test(should_fail_with = \"push out of bounds\")]\n fn push_to_full_vector() {\n let mut vec: BoundedVec<u32, 2> = BoundedVec::new();\n vec.push(1);\n vec.push(2);\n vec.push(3); // should panic\n }\n\n #[test(should_fail_with = \"cannot pop from an empty vector\")]\n fn pop_from_empty_vector() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n let _ = vec.pop(); // should panic\n }\n\n #[test]\n fn push_pop_cycle() {\n let mut vec: BoundedVec<u32, 3> = BoundedVec::new();\n\n // push to full\n vec.push(1);\n vec.push(2);\n vec.push(3);\n assert_eq(vec.len(), 3);\n\n // pop all\n assert_eq(vec.pop(), 3);\n assert_eq(vec.pop(), 2);\n assert_eq(vec.pop(), 1);\n assert_eq(vec.len(), 0);\n\n // push again\n vec.push(4);\n assert_eq(vec.len(), 1);\n assert_eq(vec.get(0), 4);\n }\n }\n\n mod extend {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn extend_from_array() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n vec.push(1);\n vec.extend_from_array([2, 3]);\n\n assert_eq(vec.len(), 3);\n assert_eq(vec.get(0), 1);\n assert_eq(vec.get(1), 2);\n assert_eq(vec.get(2), 3);\n }\n\n #[test]\n fn extend_from_vector() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n vec.push(1);\n vec.extend_from_vector(&[2, 3]);\n\n assert_eq(vec.len(), 3);\n assert_eq(vec.get(0), 1);\n assert_eq(vec.get(1), 2);\n assert_eq(vec.get(2), 3);\n }\n\n #[test]\n fn extend_from_bounded_vec() {\n let mut vec1: BoundedVec<u32, 5> = BoundedVec::new();\n let mut vec2: BoundedVec<u32, 3> = BoundedVec::new();\n\n vec1.push(1);\n vec2.push(2);\n vec2.push(3);\n\n vec1.extend_from_bounded_vec(vec2);\n\n assert_eq(vec1.len(), 3);\n assert_eq(vec1.get(0), 1);\n assert_eq(vec1.get(1), 2);\n assert_eq(vec1.get(2), 3);\n }\n\n #[test(should_fail_with = \"extend_from_array out of bounds\")]\n fn extend_array_beyond_max_len() {\n let mut vec: BoundedVec<u32, 3> = BoundedVec::new();\n vec.push(1);\n vec.extend_from_array([2, 3, 4]); // should panic\n }\n\n #[test(should_fail_with = \"extend_from_vector out of bounds\")]\n fn extend_vector_beyond_max_len() {\n let mut vec: BoundedVec<u32, 3> = BoundedVec::new();\n vec.push(1);\n vec.extend_from_vector(&[2, 3, 4]); // S]should panic\n }\n\n #[test(should_fail_with = \"extend_from_bounded_vec out of bounds\")]\n fn extend_bounded_vec_beyond_max_len() {\n let mut vec: BoundedVec<u32, 3> = BoundedVec::new();\n let other: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3, 4, 5]);\n vec.extend_from_bounded_vec(other); // should panic\n }\n\n #[test]\n fn extend_with_empty_collections() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n let original_len = vec.len();\n\n vec.extend_from_array([]);\n assert_eq(vec.len(), original_len);\n\n vec.extend_from_vector(&[]);\n assert_eq(vec.len(), original_len);\n\n let empty: BoundedVec<u32, 3> = BoundedVec::new();\n vec.extend_from_bounded_vec(empty);\n assert_eq(vec.len(), original_len);\n }\n }\n\n mod storage {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn storage_consistency() {\n let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n\n // test initial storage state\n assert_eq(vec.storage(), [0, 0, 0, 0, 0]);\n\n vec.push(1);\n vec.push(2);\n\n // test storage after modifications\n assert_eq(vec.storage(), [1, 2, 0, 0, 0]);\n\n // storage doesn't change length\n assert_eq(vec.len(), 2);\n assert_eq(vec.max_len(), 5);\n }\n\n #[test]\n fn storage_after_pop() {\n let mut vec: BoundedVec<u32, 3> = BoundedVec::from_array([1, 2, 3]);\n\n let _ = vec.pop();\n // after pop, the last element should be zeroed\n assert_eq(vec.storage(), [1, 2, 0]);\n assert_eq(vec.len(), 2);\n }\n\n #[test]\n fn vector_immutable() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([1, 2, 3]);\n let storage = vec.storage();\n\n assert_eq(storage, [1, 2, 3]);\n\n // Verify that the original vector is unchanged\n assert_eq(vec.len(), 3);\n assert_eq(vec.get(0), 1);\n assert_eq(vec.get(1), 2);\n assert_eq(vec.get(2), 3);\n }\n }\n}\n"
|
|
2734
2734
|
},
|
|
2735
2735
|
"60": {
|
|
2736
2736
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/capsules/mod.nr",
|
|
@@ -2744,6 +2744,10 @@
|
|
|
2744
2744
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/context/utility_context.nr",
|
|
2745
2745
|
"source": "use crate::oracle::{execution::get_utility_context, storage::storage_read};\nuse protocol_types::{address::AztecAddress, traits::Packable};\n\n// If you'll modify this struct don't forget to update utility_context.ts as well.\npub struct UtilityContext {\n block_number: u32,\n timestamp: u64,\n contract_address: AztecAddress,\n version: Field,\n chain_id: Field,\n}\n\nimpl UtilityContext {\n pub unconstrained fn new() -> Self {\n get_utility_context()\n }\n\n pub unconstrained fn at(contract_address: AztecAddress) -> Self {\n // We get a context with default contract address, and then we construct the final context with the provided\n // contract address.\n let default_context = get_utility_context();\n\n Self {\n block_number: default_context.block_number,\n timestamp: default_context.timestamp,\n contract_address,\n version: default_context.version,\n chain_id: default_context.chain_id,\n }\n }\n\n pub unconstrained fn at_historical(contract_address: AztecAddress, block_number: u32) -> Self {\n // We get a context with default contract address and block number, and then we construct the final context\n // with the provided contract address and block number.\n let default_context = get_utility_context();\n\n Self {\n block_number,\n timestamp: default_context.timestamp,\n contract_address,\n version: default_context.version,\n chain_id: default_context.chain_id,\n }\n }\n\n pub fn block_number(self) -> u32 {\n self.block_number\n }\n\n pub fn timestamp(self) -> u64 {\n self.timestamp\n }\n\n pub fn this_address(self) -> AztecAddress {\n self.contract_address\n }\n\n pub fn version(self) -> Field {\n self.version\n }\n\n pub fn chain_id(self) -> Field {\n self.chain_id\n }\n\n pub unconstrained fn raw_storage_read<let N: u32>(\n self: Self,\n storage_slot: Field,\n ) -> [Field; N] {\n storage_read(self.this_address(), storage_slot, self.block_number())\n }\n\n pub unconstrained fn storage_read<T>(self, storage_slot: Field) -> T\n where\n T: Packable,\n {\n T::unpack(self.raw_storage_read(storage_slot))\n }\n}\n"
|
|
2746
2746
|
},
|
|
2747
|
+
"75": {
|
|
2748
|
+
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/event/event_interface.nr",
|
|
2749
|
+
"source": "use crate::{event::event_selector::EventSelector, messages::logs::event::MAX_EVENT_SERIALIZED_LEN};\nuse protocol_types::{\n constants::DOM_SEP__EVENT_COMMITMENT,\n hash::{poseidon2_hash_with_separator, poseidon2_hash_with_separator_bounded_vec},\n traits::{Serialize, ToField},\n};\n\npub trait EventInterface {\n fn get_event_type_id() -> EventSelector;\n}\n\n/// A private event's commitment is a value stored on-chain which is used to verify that the event was indeed emitted.\n///\n/// It requires a `randomness` value that must be produced alongside the event in order to perform said validation. This\n/// random value prevents attacks in which someone guesses plausible events (e.g. 'Alice transfers to Bob an amount of\n/// 10'), since they will not be able to test for existence of their guessed events without brute-forcing the entire\n/// `Field` space by guessing `randomness` values.\npub fn compute_private_event_commitment<Event>(event: Event, randomness: Field) -> Field\nwhere\n Event: EventInterface + Serialize,\n{\n poseidon2_hash_with_separator(\n [randomness, Event::get_event_type_id().to_field()].concat(event.serialize()),\n DOM_SEP__EVENT_COMMITMENT,\n )\n}\n\n/// Unconstrained variant of [compute_private_event_commitment] which takes the event in serialized form.\n///\n/// This function is unconstrained as the mechanism it uses to compute the commitment would be very inefficient in a\n/// constrained environment (due to the hashing of a dynamically sized array). This is not an issue as it is typically\n/// invoked when processing event messages, which is an unconstrained operation.\npub unconstrained fn compute_private_serialized_event_commitment(\n serialized_event: BoundedVec<Field, MAX_EVENT_SERIALIZED_LEN>,\n randomness: Field,\n event_type_id: Field,\n) -> Field {\n let mut commitment_preimage =\n BoundedVec::<_, 1 + MAX_EVENT_SERIALIZED_LEN>::from_array([randomness, event_type_id]);\n commitment_preimage.extend_from_bounded_vec(serialized_event);\n\n poseidon2_hash_with_separator_bounded_vec(commitment_preimage, DOM_SEP__EVENT_COMMITMENT)\n}\n\nmod test {\n use crate::event::event_interface::{\n compute_private_event_commitment, compute_private_serialized_event_commitment,\n EventInterface,\n };\n use crate::test::mocks::mock_event::MockEvent;\n use protocol_types::traits::{Serialize, ToField};\n\n global VALUE: Field = 7;\n global RANDOMNESS: Field = 10;\n\n #[test]\n unconstrained fn event_commitment_equivalence() {\n let event = MockEvent::new(VALUE).build_event();\n\n assert_eq(\n compute_private_event_commitment(event, RANDOMNESS),\n compute_private_serialized_event_commitment(\n BoundedVec::from_array(event.serialize()),\n RANDOMNESS,\n MockEvent::get_event_type_id().to_field(),\n ),\n );\n }\n}\n"
|
|
2750
|
+
},
|
|
2747
2751
|
"77": {
|
|
2748
2752
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/event/event_selector.nr",
|
|
2749
2753
|
"source": "use dep::protocol_types::{\n hash::poseidon2_hash_bytes,\n traits::{Deserialize, Empty, FromField, Serialize, ToField},\n};\n\n#[derive(Deserialize, Eq, Serialize)]\npub struct EventSelector {\n // 1st 4-bytes (big-endian leftmost) of abi-encoding of an event.\n inner: u32,\n}\n\nimpl FromField for EventSelector {\n fn from_field(field: Field) -> Self {\n Self { inner: field as u32 }\n }\n}\n\nimpl ToField for EventSelector {\n fn to_field(self) -> Field {\n self.inner as Field\n }\n}\n\nimpl Empty for EventSelector {\n fn empty() -> Self {\n Self { inner: 0 as u32 }\n }\n}\n\nimpl EventSelector {\n pub fn from_u32(value: u32) -> Self {\n Self { inner: value }\n }\n\n pub fn from_signature<let N: u32>(signature: str<N>) -> Self {\n let bytes = signature.as_bytes();\n let hash = poseidon2_hash_bytes(bytes);\n\n // `hash` is automatically truncated to fit within 32 bits.\n EventSelector::from_field(hash)\n }\n\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n}\n"
|