@aztec/accounts 0.86.0-starknet.1 → 0.87.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/EcdsaKAccount.json +155 -102
- package/artifacts/EcdsaRAccount.json +155 -102
- package/artifacts/SchnorrAccount.json +199 -108
- package/artifacts/SchnorrSingleKeyAccount.json +92 -44
- package/dest/ecdsa/ecdsa_k/account_contract.d.ts +1 -3
- package/dest/ecdsa/ecdsa_k/account_contract.d.ts.map +1 -1
- package/dest/ecdsa/ecdsa_k/index.d.ts +0 -2
- package/dest/ecdsa/ecdsa_k/index.d.ts.map +1 -1
- package/dest/ecdsa/ecdsa_k/index.js +1 -1
- package/dest/ecdsa/ecdsa_k/lazy.d.ts +0 -2
- package/dest/ecdsa/ecdsa_k/lazy.d.ts.map +1 -1
- package/dest/ecdsa/ecdsa_r/account_contract.d.ts +1 -3
- package/dest/ecdsa/ecdsa_r/account_contract.d.ts.map +1 -1
- package/dest/ecdsa/ecdsa_r/index.d.ts +0 -2
- package/dest/ecdsa/ecdsa_r/index.d.ts.map +1 -1
- package/dest/ecdsa/ecdsa_r/index.js +1 -1
- package/dest/ecdsa/ecdsa_r/lazy.d.ts +0 -2
- package/dest/ecdsa/ecdsa_r/lazy.d.ts.map +1 -1
- package/dest/ecdsa/ssh_ecdsa_r/account_contract.d.ts +1 -3
- package/dest/ecdsa/ssh_ecdsa_r/account_contract.d.ts.map +1 -1
- package/dest/ecdsa/ssh_ecdsa_r/index.d.ts +0 -2
- package/dest/ecdsa/ssh_ecdsa_r/index.d.ts.map +1 -1
- package/dest/ecdsa/ssh_ecdsa_r/lazy.d.ts +0 -2
- package/dest/ecdsa/ssh_ecdsa_r/lazy.d.ts.map +1 -1
- package/dest/schnorr/index.js +1 -1
- package/dest/single_key/index.js +1 -1
- package/dest/utils/ssh_agent.d.ts +1 -4
- package/dest/utils/ssh_agent.d.ts.map +1 -1
- package/package.json +9 -9
- package/src/ecdsa/ecdsa_k/index.ts +1 -1
- package/src/ecdsa/ecdsa_r/index.ts +1 -1
- package/src/schnorr/index.ts +1 -1
- package/src/single_key/account_contract.ts +4 -1
- package/src/single_key/index.ts +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"transpiled": true,
|
|
3
|
-
"noir_version": "1.0.0-beta.
|
|
3
|
+
"noir_version": "1.0.0-beta.5+0000000000000000000000000000000000000000",
|
|
4
4
|
"name": "EcdsaKAccount",
|
|
5
5
|
"functions": [
|
|
6
6
|
{
|
|
@@ -1112,6 +1112,14 @@
|
|
|
1112
1112
|
"kind": "field"
|
|
1113
1113
|
}
|
|
1114
1114
|
}
|
|
1115
|
+
},
|
|
1116
|
+
{
|
|
1117
|
+
"name": "length",
|
|
1118
|
+
"type": {
|
|
1119
|
+
"kind": "integer",
|
|
1120
|
+
"sign": "unsigned",
|
|
1121
|
+
"width": 32
|
|
1122
|
+
}
|
|
1115
1123
|
}
|
|
1116
1124
|
]
|
|
1117
1125
|
}
|
|
@@ -1143,12 +1151,29 @@
|
|
|
1143
1151
|
"length": 1,
|
|
1144
1152
|
"type": {
|
|
1145
1153
|
"kind": "struct",
|
|
1146
|
-
"path": "authwit::aztec::protocol_types::abis::
|
|
1154
|
+
"path": "authwit::aztec::protocol_types::abis::side_effect::counted::Counted",
|
|
1147
1155
|
"fields": [
|
|
1148
1156
|
{
|
|
1149
|
-
"name": "
|
|
1157
|
+
"name": "inner",
|
|
1150
1158
|
"type": {
|
|
1151
|
-
"kind": "
|
|
1159
|
+
"kind": "struct",
|
|
1160
|
+
"path": "authwit::aztec::protocol_types::abis::log_hash::LogHash",
|
|
1161
|
+
"fields": [
|
|
1162
|
+
{
|
|
1163
|
+
"name": "value",
|
|
1164
|
+
"type": {
|
|
1165
|
+
"kind": "field"
|
|
1166
|
+
}
|
|
1167
|
+
},
|
|
1168
|
+
{
|
|
1169
|
+
"name": "length",
|
|
1170
|
+
"type": {
|
|
1171
|
+
"kind": "integer",
|
|
1172
|
+
"sign": "unsigned",
|
|
1173
|
+
"width": 32
|
|
1174
|
+
}
|
|
1175
|
+
}
|
|
1176
|
+
]
|
|
1152
1177
|
}
|
|
1153
1178
|
},
|
|
1154
1179
|
{
|
|
@@ -1158,14 +1183,6 @@
|
|
|
1158
1183
|
"sign": "unsigned",
|
|
1159
1184
|
"width": 32
|
|
1160
1185
|
}
|
|
1161
|
-
},
|
|
1162
|
-
{
|
|
1163
|
-
"name": "length",
|
|
1164
|
-
"type": {
|
|
1165
|
-
"kind": "integer",
|
|
1166
|
-
"sign": "unsigned",
|
|
1167
|
-
"width": 32
|
|
1168
|
-
}
|
|
1169
1186
|
}
|
|
1170
1187
|
]
|
|
1171
1188
|
}
|
|
@@ -1684,10 +1701,6 @@
|
|
|
1684
1701
|
"error_kind": "string",
|
|
1685
1702
|
"string": "Got a public log emitted by a different contract"
|
|
1686
1703
|
},
|
|
1687
|
-
"12099279057757775880": {
|
|
1688
|
-
"error_kind": "string",
|
|
1689
|
-
"string": "DST_LEN too large for offset"
|
|
1690
|
-
},
|
|
1691
1704
|
"12822839658937144934": {
|
|
1692
1705
|
"error_kind": "fmtstring",
|
|
1693
1706
|
"length": 75,
|
|
@@ -1773,8 +1786,8 @@
|
|
|
1773
1786
|
}
|
|
1774
1787
|
}
|
|
1775
1788
|
},
|
|
1776
|
-
"bytecode": "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",
|
|
1777
|
-
"debug_symbols": "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OeiZg5456JmDnjnomYOeOeiZg5456JmDnjnomYOeOeiZg5456JmDnjnomYOeOeiZg5456JmDnjnomYOeOeiZg5456JmDHjmoB6wTVuRgACVwgiSMBE2YCZbgCRmZMjJl5MjBeYAkjARNmAmW4AnrgsjBAErIyJyROSNzRuaMzBmZMzJnZMnIkpElI0tGlowsGVkysmRkyciSkUdGHhl5ZOSRkUdGHhl5ZOSRkUdGHhlZM7JmZM3ImpE1I2tG1oysGVkzsmbkmZFnRp4ZeWbkmZFnRp4ZeWbkmZFnRraMfOTgfBzACZIwEjRhJliCJ6wLjhw8ISN7Rj5ycMoBI0ETZoIleMK64MjBEyiBEzLyysgrI6+MvDLyysjrikyPx6OIirhIikaRFs0iK/Ki0qDSoNKg0qDSoNKg0qDSoNKg0qDS4NLg0uDS4NLg0uDS4NLg0uDS4NKQ0pDSkNKQ0pDSkNKQ0pDSkNKQ0hilMUpjlMYojVEaozRGaYzSGKUxSkNLQ0tDS0NLQ0tDS0NLQ0tDS0NLY5bGLI1ZGrM0ZmnM0pilMUtjlsYsDSsNKw0rDSsNKw0rDSsNKw0rDSsNLw0vDS8NLw0vDS8NLw0vDS8NL41VGqs0Vmms0lilsUpjlcYqjVUaledUeU6V51R5TpXnVHlOledUeU6V51R5TpXnVHlOledUeU6V51R5TpXnVHlOledUeU6V51R5TpXnVHlOledUeU6V51R5TpXnVHlOledUeU6V51R5TpXnVHlOledUeU6V51R5TpXnVHlOledUeU6V51R5TpXnVHlOledUeU6V51R5TpXnVHlOledUeU6V51R5TpXnVHlOledUeU6V51R5TpXnVHlOledUeU6V51R5TpXnVHlOledUeU6V51R5TpXnVHlOledUeU6V51R5TpXnVHlOledUeU6V51R5TpXnVHlOledUeU6V51R5TpXnVHlOledUeU6V51R5TpXnXHnOledcec6V51x5zpXnXHnOledcec6V51x5zpXnXHnOledcec6V51x5zpXnXHnOledcec6V51x5zpXnXHnOledcec6V51x5zpXnXHnOledcec6V51x5zpXnXHnOledcec6V51x5zpXnXHnOledcec6V51x5HvVBcwZ50UqKPD+JirhIikaRFs2i0tDS0NKYpRF57kFcJEWjSItmkRV50UqKPD+p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mqnVNVMrbKZW2UyttJlG86vR/KpVN1Mrb6ZW30yj+dVoftVKnKnVOFMrcqZW5UytzJlanTO1Qmcaza9G86tW60yt2JlatTNp8yttftUKnqlVPFMreaZW80yt6Jla1TO1smfS5lfa/KpVPlMrfaZW+0za/EqbX7XyZ2r1z9QKoKlVQFMrgaZWA02tCJq0+ZU2v2p10NQKoalVQpM2v9LmV60Ymlo1NLVyaGr10NQKoqlVRFMriSZtfqXNr1pVNLWyaGp10aTNr7T5VSuNplYbTa04mlp1NLXyaGr10dQKpEmbX2nzq1YjTa1ImlqVNGnzK21+1QqlqVVKUyuVplYrTa1Ymlq1NLVyadLmV9r8qlVMUyuZplYzTdr8SptftbJpanXT1AqnqVVOUyudplY7Ta14mrT5lTa/avXT1AqoqVVQkza/0uZXrYiaWhU1tTJqanXU1AqpqVVSUyulJm1+pc2vWjU1tXJqavXUNJtfzeZXraSaZvOr2fpXs/WvZnsfnO19sBVWU6usplZaTa22mlpxNbXqamrl1dTqq6kVWFOrsKYssZ7BGK+bKIykicpImiiNpInaSJoojqSJ6kiaKI+kifpImiiQpMlNV5quNF1putJ0pelK05WmK01Xmq403dF0R9MdTXc03dF0R9MdTXc03dF0R9PVpqtNV5tuG29vZdjU6rCpFWJTq8SmVopNrRabWjE2zda/mu19cLb3wVaQTbP51Wx+NZtfzeZXs/WvWlk2zeZXs/nVbH41W/9qtv5VK86mVp1NrTybZvOr2fxqNr+aza9m61+1Im2aza9m86vZ/Gq2/tVs/atWqk2tVptasTbN5lez+dVsfjWbX83Wv2ol29RqtqkVbVOr2qZWtk2tbpta4TZZ619Z619Z619Z8ytr/atWvk2tfptaATdZ8ytr/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/Str/atW6E2t0ptaqTdZ8ytr/atW7U2t3JtavTe1gm9qFd/USr6p1XxTK/qmVvVNreybrPmVNb9qld/USr+p1X6TNb+y5let/Jta/Te1AnBqFeDUSsCp1YBTKwIna35lza9aHTi1QnBqleBkza+s+VUrBqdWDU6tHJxaPTi1gnBqFeHUSsLJml9Z86tWFU6tLJxaXTh58ytvftVKw6nVhlMrDqdWHU6tPJxafTi1AnHy5lfe/KrViFMrEqdWJU7e/MqbX7VCcWqV4tRKxanVilMrFqdWLU6tXJy8+ZU3v2oV49RKxqnVjJM3v/LmV61snFrdOLXCcWqV49RKx6nVjlMrHidvfuXNr1r9OLUCcmoV5OTNr7z5VSsip1ZFTq2MnFodObVCcmqV5NRKycmbX3nzq1ZNTq2cnFo9OXnzK29+1UrKqdWUUysqp1ZVTq2snFpdObXCcvLmV978qtWWUysup1ZdTt78yptftQJzahXm1ErMqdWYUysyp1ZlTq3MnLz5lTe/apXm1ErNqdWakze/8uZXrdycWr05tYJzahXn1ErOqdWcUys6J29+5c2vWt05tcJzapXn5M2vvPlVKz6nVn1OrfycWv05tQJ0ahXo1ErQaTW/Ws2vWhU6tTJ0anXotJpfreZXrRSdWi06tWJ0atXo1MrRqdWjUytIp9X8ajW/ajXp1IrSqVWl02p+tZpftcJ0apXp1ErTqdWmUytOp1adTq08nVbzq9X8qlWoUytRp1ajTqv51Wp+1crUqdWpUytUp1apTq1UnVqtOrVidVrNr1bzq1avTq1gnVrFOq3mV6v5VStap1a1Tq1snVrdOrXCdWqV69RK12k1v1rNr1r1OrXydWr167SaX63mV62EnVoNO7UidmpV7NTK2KnVsVMrZKfV/Go1v2q17NSK2alVs9NqfrWaX7WCdmoV7dRK2qnVtFMraqdW1U6trJ1W86vV/KpVtlMrbadW206r+dVqftXK26nVt3Orb+dW386tvp1bfTu3+nZ+wK/4Ab/iVt/Orb6dW307P+BX/IBfcatv51bfzq2+nVt9O7f6dm717dzq2/lB7Xy5nS83XdRfcatv5wf8ih/wK2717dzq27nVt3Orb+dW386tvp1bfTs/pJ2vtPOVpov6K2717fyQ1s7S2nk03dF0R9MdTXc03dHaebTzHe18Rzvf0XS1XV9t7aytnbW1szZdbeer7Xy1na+289WmO9v5zqY7m+5surNd39l0Zzvf2c53tvOd7fpefhUrirZ1GB9tIcZHW4nx0ZZifLS1GB9tMcZHW43x0ZZjfLT1GB9tQcZHW5Hx0ZZkfLQ1GR9tUcZHW5Xx0ZZlfLR1GR9tYcZHW5nx0ZZmfLS1GR9tccZHW53x0ZZnfLT1GR9tgcbHarqr6aJelAn1opz17SdzY2k8GuP6tvp2bvXt3OrbudW3c6tv51bfzq2+nQn9Kya8DzJR021+Rc2vqPkVNb+i5lfETZebbvMran5Fza+I2/lyO9/mV62+nVt9O1PzK2p+Rc2vqPkVoX/Frb6dqfkVNb+i5leE/hUT+lfc6tu51bdzq29nan5Fza+o+RU1v6LRzlfb+Ta/avXt3OrbudW3c6tv51bfzqRNV5uuNt3mVzRbO892vrOd72zn2/yKZru+s7XzbO08Wztb07Wma03Xmq41XWvtbO18rZ2vtfO1puvt+nprZ2/t7K2dvel60/Wm603Xm663dl7tfFc739XOdzXd1a7vau28Wju3FWVpNd3Wv+LWv+LWv+LWv+LWv+LWv2r17dzq25mbX3HrX7X6dm717dzq27nVt3Orb+dW386tvp1bfTu3+nZu9e3Mza+4+VWrb+dW386tvp25+RU3v2r17dzq27nVt3Orb+dW386tvp1bfTtz8ytuftXq27nVt3Orb2dufsXNr1p9O7f6dm717dzq27nVt3Orb+dW387c/IqbX7X6dm717dzq25mbX3Hzq1bfzq2+nVt9O7f6dm717dzq27nVtzM3v+LmV62+nVt9O7f6dubmV9z8qtW3c6tv51bfzq2+nVt9O7f6dm717czNr7j5Vatv51bfzq2+nbn5FTe/avXt3OrbudW3c6tv51bfzq2+nVt9O3PzK25+1erbudW3c6tvZ25+xc2vWn07t/p2bvXt3OrbudW3c6tv51bfzm0dbG4LYXOrb+dW386tvp2l+ZU0v2r17dzq27nVt3Orb+dW386tvp1bfTtL8ytpftXq27nVt3Orb2dpfiXNr1p9O7f6dm717dzq27nVt3Orb+dW387S/EqaX7X6dm717dzq21maX0nzq1bfzq2+nVt9O7f6dm717dzq27nVt7M0v5LmV62+nVt9O7f6dpbmV9L8qtW3c6tv51bfzq2+nVt9O7f6dm717SzNr6T5Vatv51bfzq2+naX5lTS/avXt3OrbudW3c6tv51bfzq2+nVt9O0vzK2l+1erbudW3c6tvZ2l+Jc2vWn07t/p2bvXt3OrbudW3c6tv51bfztL8Sppftfp2bvXt3OrbWZpfSfOrVt/Orb6dW307t/p2bvXt3OrbudW382h+NZpftfp2bvXt3OrbeTS/Gs2vWn07t/p2bvXt3OrbudW3c6tv51bfzqP51Wh+1erbudW3c6tv59H8ajS/avXt3OrbudW3c6tv51bfzq2+nVt9O4/mV6P5Vatv51bfzq2+nUfzq9H8qtW3c6tv51bfzq2+nVt9O7f6dm717TyaX43mV62+nVt9O7f6dh7Nr0bzq1bfzq2+nVt9O7f6dm717dzq27nVt/NofjWaX7X6dm717dzq23k0vxrNr1p9O7f6dm717dzq27nVt3Orb+dW386j+dVoftXq27nVt3Orb+fR/Go0v2r17dzq27nVt3Orb+dW386tvp1bfTuP5lej+VWrb+dW386tvp1H86vR/KrVt3Orb+dW386tvp1bfTu3+nZu9e08ml9p86tW386tvp1bfTtr8yttftXq21mbX2nrX2nrX2l7H2zrenOrb+dW386tvp1bfTu3+nZu9e3c6tu51bdzq2/nVt/OWd9+7sNz6q7g0D224Oarvp3O3w9dOn8/dOn8/dA99oTkq7795NOv5BFMjUNXIv7pVxeHrpybAYXuOH8+G1vj0B1x7qdfnXz61bEjJ1/17ReH7ohjPv3q4tDVc+eh0FUPno2tcejOOJfTr04+/WrGMZx+dTE3Dt2pwaNx6Fq08+lXF1vj0L22RVrg068sju30q4tD1+PcT7+6eDQO3dgo6apvvzh0Y6ukq759xTGcfnXy6VcXh+46N2fixqG7IubpVxdr40NXYnz4rG9PPnQltgU769svDr9KpuA4zvCrZAmOtg2/StbgOPfwq+TQjT2/zvr25NCVuHbhV8nUOHQl4odfJYdu7Pd11rfHNtx81rfLOH/H2s+98So+69uTqTE3lop51rfnz7X9fLafW2NvvPD71HSp6VLTJWk82t9q+3nTpaZL3n6/nS8/8HNuuszt502X2/ly0+XZfr/pctPlpitNV5qutPOVpivtfKXpSjtfsfY7rZ2ltfNo7Tyo/bzpjqY72vmOpjua7mi6o+mOdr7adLXpatPVdl9p09Wmq01XWztra2dturO182ztPJvubLqz6c6mO5vubLqzne9sutbO15qutfvKWjtb07WWR9Z0rela07V2fb3pemtnb+frTdfbfeXtfL3dz950vbWzt/NdTXe1811NdzXd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",
|
|
1789
|
+
"bytecode": "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",
|
|
1790
|
+
"debug_symbols": "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Nr9a3HSbX63mV6v51eKm2/xqsTXG/byaX63mV6v51Wp+tZpfreZXq/nVan61ml8taec72vUdTbf51Rrt+o52vqNd3+ZXa6z286bb/Gpp021+tZpfLW3nq+18m18tbbradJtfreZXa7Z2bn61ZtNtfrVm051Nd7brO1s7N79as+mudr7Nr9Zq17f51VpNdzXd1XSbX63mV6v51Wp+tQzPo9X8ajW/Ws2vVutfreZXy1o7N79aza+WN11vus2vVutfreZXy5tu86vlTbf1r1brX1nrX1nrX1nzK2t+Zc2vrPWvrPmVtf6Vtf6Vtf6VNb+y5ldG3H5H2s9H+3nTbX5lza+Mmm7zK2v9K2t+Zc2vjNv5Nr8y1vbzdr7czrf5lbX+lTW/suZXJk1Xmq403eZX1vzKpOk2v7LmV9b6V9b8ykZr59a/suZX1vzKml9Z619Z8ytrfmWtf2Xa7qvmV9b6V9b6V6ZNt/mVNb+y5lem7b5qfmXNr6z5lTW/sta/sta/sta/sta/suZX1vpX1vpXttr5tv6VrXa+rX9lza+s+ZU1v7L2Pmir6Ta/suZX1vzKml9Z8ytr/StrfmWtf2XNr8yabvMra35lza+s9a+s+ZW1/pU1v7LmV3b7lQZfuuf7uN9+ZcHUmBtL49FYG8/Gq7E1djA1XWq61HSp6VLTpaZLTZeaLjVdarrcdLnpctPlpstNl5vu7VcevBpbYwdffrWOYGrcdKXpStOVpivtfKWdr7TzlXa+o53vaOc7mu5ouqPpjqY7mu5ouqPpjqarTVebrjZdbbradLXpatPV1s7a2llbO99+dXFr58uvbm66s+nOpjub7mznO9v5zna+q53vaue72vmuprua7mq6q+muprua7mq61nSt6VrTtaZrTdearjVda+1srZ2ttbO3dvbWzt7a2ZuuN11vut50vZ2vt/P1Ol854FdywK/kgF/JAb+SA34lB/xKDviVHPArOeBXchxNl5ouNV1qutR0qelS06XyDTloNbbGDubyDbnq25ObLjddbrrcdLmdL7fz5Xa+3M5X2vlKO19putJ0pelK05WmK01Xmq403dF0R9MdTXc03duvoq1uv7q4tfNo7Xz51dWGl19drE1Xm642XW262s5X2/lqO19t56vtfLWd72y6s+nOpjub7my6s+nOpjub7my6s+mupnv7VbTP7VcXS+PW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",
|
|
1778
1791
|
"brillig_names": [
|
|
1779
1792
|
"get_contract_instance_internal",
|
|
1780
1793
|
"decompose_hint",
|
|
@@ -1794,7 +1807,7 @@
|
|
|
1794
1807
|
"directive_to_radix",
|
|
1795
1808
|
"directive_integer_quotient"
|
|
1796
1809
|
],
|
|
1797
|
-
"verification_key": "AAAAAAAEAAAAAAAAAAAAEgAAAAAAAAAQAAAAAAAAVgkAAAAA//////////
|
|
1810
|
+
"verification_key": "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"
|
|
1798
1811
|
},
|
|
1799
1812
|
{
|
|
1800
1813
|
"name": "entrypoint",
|
|
@@ -3049,6 +3062,14 @@
|
|
|
3049
3062
|
"kind": "field"
|
|
3050
3063
|
}
|
|
3051
3064
|
}
|
|
3065
|
+
},
|
|
3066
|
+
{
|
|
3067
|
+
"name": "length",
|
|
3068
|
+
"type": {
|
|
3069
|
+
"kind": "integer",
|
|
3070
|
+
"sign": "unsigned",
|
|
3071
|
+
"width": 32
|
|
3072
|
+
}
|
|
3052
3073
|
}
|
|
3053
3074
|
]
|
|
3054
3075
|
}
|
|
@@ -3080,12 +3101,29 @@
|
|
|
3080
3101
|
"length": 1,
|
|
3081
3102
|
"type": {
|
|
3082
3103
|
"kind": "struct",
|
|
3083
|
-
"path": "authwit::aztec::protocol_types::abis::
|
|
3104
|
+
"path": "authwit::aztec::protocol_types::abis::side_effect::counted::Counted",
|
|
3084
3105
|
"fields": [
|
|
3085
3106
|
{
|
|
3086
|
-
"name": "
|
|
3107
|
+
"name": "inner",
|
|
3087
3108
|
"type": {
|
|
3088
|
-
"kind": "
|
|
3109
|
+
"kind": "struct",
|
|
3110
|
+
"path": "authwit::aztec::protocol_types::abis::log_hash::LogHash",
|
|
3111
|
+
"fields": [
|
|
3112
|
+
{
|
|
3113
|
+
"name": "value",
|
|
3114
|
+
"type": {
|
|
3115
|
+
"kind": "field"
|
|
3116
|
+
}
|
|
3117
|
+
},
|
|
3118
|
+
{
|
|
3119
|
+
"name": "length",
|
|
3120
|
+
"type": {
|
|
3121
|
+
"kind": "integer",
|
|
3122
|
+
"sign": "unsigned",
|
|
3123
|
+
"width": 32
|
|
3124
|
+
}
|
|
3125
|
+
}
|
|
3126
|
+
]
|
|
3089
3127
|
}
|
|
3090
3128
|
},
|
|
3091
3129
|
{
|
|
@@ -3095,14 +3133,6 @@
|
|
|
3095
3133
|
"sign": "unsigned",
|
|
3096
3134
|
"width": 32
|
|
3097
3135
|
}
|
|
3098
|
-
},
|
|
3099
|
-
{
|
|
3100
|
-
"name": "length",
|
|
3101
|
-
"type": {
|
|
3102
|
-
"kind": "integer",
|
|
3103
|
-
"sign": "unsigned",
|
|
3104
|
-
"width": 32
|
|
3105
|
-
}
|
|
3106
3136
|
}
|
|
3107
3137
|
]
|
|
3108
3138
|
}
|
|
@@ -3622,10 +3652,6 @@
|
|
|
3622
3652
|
"length": 20,
|
|
3623
3653
|
"item_types": []
|
|
3624
3654
|
},
|
|
3625
|
-
"12099279057757775880": {
|
|
3626
|
-
"error_kind": "string",
|
|
3627
|
-
"string": "DST_LEN too large for offset"
|
|
3628
|
-
},
|
|
3629
3655
|
"12822839658937144934": {
|
|
3630
3656
|
"error_kind": "fmtstring",
|
|
3631
3657
|
"length": 75,
|
|
@@ -3711,8 +3737,8 @@
|
|
|
3711
3737
|
}
|
|
3712
3738
|
}
|
|
3713
3739
|
},
|
|
3714
|
-
"bytecode": "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",
|
|
3715
|
-
"debug_symbols": "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2byzeWfzzuadzTubdzZvyytreWUtr6zllbW8spZX1vLKWl5ZyytreWUtr6zllbW8spZX1vLKWl5ZyytreWUtr6zllbW8spZX1vLKWl5ZyytreWUtr6zllbW8spZX1vLKWl5ZyytreWUtr6zllbW8spZX1vLKWl5ZyytreWUtr6zllbW8spZX1vLKWl5ZyytreWUtr6zllbW88pZXfufVkUyNL28kz8bSWBtbY28c4DuvLh6N08vpvfLq5tlYGmtja+yNA3zl1c2jcfNS81LzUvNS81LzUvNS83LzcvNy83LzcvNy83LzcvNy83LzzuadzTubdzbvbN7ZvLN5Z/PO5p3NK80rzSvNK80rzSvNK80rzSvNK82rzavNe+XV+anmcc0lXzwbX+fzxdrYGntjPBO5HY1HY2rMjWfj5rXmtea15rXm9eb15vXm9eb15vXm9eZtz4DengG9PQN6ewb09gzo7RnQo3mjeaN5o3mjeaN5A944jsajMTXmxrOxNNbGVufANfF88eW9lle7zitNvs4rTqbG3Pg6ryI5vefiYuOagL7YGqd3XvUDfOXVzaNxenMc55qHTpJ1rry6WRprY2uc3hzTuWaj33zl1c2jMTXmxrOxNNbG1rh5uXln887mnc07m3c272ze2byzeWfzzuaV5pXmleaV5pXmleaV5pXmleaV5tXm1ebV5tXm1ebV5tXm1ebV5tXmtea15rXmtea15rXmtea15rXmteb15vXm9eb15vXm9eb15vXm9eb15o3mjeaN5o3mjeaN5o3mjeaN5o3y0jWnffFoTI258WwsjbWxNfbGzTuadzTvaN7RvKN5R/OO5h3NO5p3NC81LzUvNS81LzUvNS81LzUvNS81LzfvnVczmRpz49lYGmtja+yNA3zn1cXNO5t3Nu9s3tm8s3ln887mnc0rzSvNK80rzSvNK80rzSvNK80rzavNq82rzavNq82rzavNq82rzavNa81rzWvNa81rzWvNa81rzWvNa83rzevN683rzevN683rzevN683rzRvNG80bzRvNG80bzRvNG80bzRvwjuNoPBpTY248G0tjbWyNvXHzjuYdzTua986ra0nY2fjy5pqvd15dbI29cYDvvLp4NL68kcyNZ2NprI2tsTcO8J1XF4/GzcvNy83LzcvNy83LzcvNO5t3Nu9s3tm8s3ln887mnc07m3c2rzSvNK80rzSvNK80rzSvNK80rzSvNq82rzavNq82rzavNq82rzavNq81rzWvNa81rzWvNa81rzWvNa81rzevN683rzevN683rzevN683rzdvNG80bzRvNG80bzTvlVfnV73omtO+OL3nPBC65rRffM1pXzwaU2NuPBtLY21sjb1x847mHc07mnc072je0byjeUfzjuYdzUvNS81LzUvNS81LzUvNS81LzUvNy83LzcvNy83LzcvNy83LzcvNy807m3c2L/rbidDfToT+diL0txOhv50I/e1E6G8nQn87EfrbidDfTiTNK80rzSvNK80rzSvNK82rzavNq82rzavNq82rzavNq82rzWvNa81rzWvNa81rzWvNa81rzWvN683rzevN683rzevN683rzevN680bzRvNG80bzRvNG80bzRvNG82L/nZi9LcTY3yQGOODxBgfJMb4IDHGB4kxPkiM8UFijA8SH807mnc072je0byjeUfzjuYdzTuadzQvNS8175VX8+L05uL715z2xdL46jfTZGvsjQPMR+PRmBpfeZX17/urI7n6zYhZG1tjbxzg+/7q4tEYz7+M/iti9F8Ro/+KGP1XxOi/Ikb/FTH6r4jRf0WM/itiaV5pXmleaV5pXmleaV5pXm1ebV5tXm1ebV5tXm1ebV5tXm1ea15rXmtea15rXmtea15rXmtea15vXm9eb15vXm9eb15vXm9eb15v3mjeaN5o3mjeaN5o3mjeaN5o3tZ/NVv/1Wz9V7P1X83WfzVb/9Vs/Vez9V/N1n81W//VbP1Xs/VfzdZ/NVv/1Wz9V7P1X83WfzVb/9Vs/Vez9V/N1n81W//VbP1Xs/VfzdZ/NVv/1Wz9V7P1X83WfzVb/9Vs/Vez9V9Nbl5uXm5ebl5uXm5ebl5uXm7e2byzeVtezZZXs+XVbHk1W17Nllez5dVs/Vez9V/N1n81W//VbP1Xs/VfzdZ/NVv/1Wz9V7P1X83WfzW1eVv/1Wz9V7P1X83WfzVb/9Vs/Vez9V/N1n81W//VbP1Xs/VfzdZ/NVv/1Wz9V7P1X83WfzVb/9Vs/Vez9V/N1n81W//VbP1Xs/VfzdZ/NVv/1Wz9V7P1X83WfzVb/9Vs/Vez9V/N1n81W//VbP1Xs/VfzdZ/NVv/1Wz9V7P1X0nrv5LWfyWt/0pa/5W0/itp/VfS+q+k9V9J67+S1n8lrf9KWv+VtP4rGc07mnc072je0byjeUfzUvNS81LzUvNS81LzUvNS81LzUvNy87b+dmn97fec9uyju+e034z+untO+83W2Bujv+6e037zaEyNuTH6GaT1X0nrv5LWfyWt/0pa/5W0/itp/VfS+q+k9V9J67+S1n8lrf9KWv+VtP4raf1X95z2m5u39V9J67+S1n8lrf9KWv+VtP4raf1X0vqvpPVfSeu/ktZ/Ja3/Slr/lbT+K2n9V9L6r6T1X0nrv5LWfyWt/0pa/5W0/itp/VfS+q+k9V9J67+S1n8lrf9KWv+VtP4raf1X0vqvpPVfSeu/uue339y80bwB7z2//ebRmBpz49lYGmtja+yNm3c072je0byjeUfzjuYdzTuadzTvaF5qXmre1t+urb9dW3+7tv72e3579g3e89tv9sboR9LWf6Wt/0pb/5W2/itt/Vfa+q+09V9p67/S1n+lrf9KW/+Vtv6re377zc07m3c272ze2byzeWfzSvNK80rzSvNK80rzSvNK80rzSvNq82rzavNq82rzavNq82rzavNq81rzXnl1nQNXXt18nVeWjH6Ge377zdoY/Qz3/Pab0c9wz2+/eTSmxtz42t+sf+dVbpujn+Ge336zN0Y/wz2//ebRmBrjvl3b86C250Ftz4Pange1PQ9qex609jxo7XnQ2vOgtedBa8+D1p4HrT0PWnsetPY8aO150NrzoLXnQWvPg9aeB609D1p7HrT2PGjtedDa86C150Frz4PWngetPQ9aex609jxo7XnQ2vOgtedBa8+D1p4HrT0PWnsetPY8aO150NrzoLXnQWvPg9aeB609D1p7HrT2PGjtedDa86C150Frz4PWngetPQ9aex609jxorf/KWv+Vtf4ra/1X1vqvrPVfWeu/stZ/Za3/ylr/lbX+K2v9V9b6r6z1X1nrv7LWf2Wt/8pa/5W1/itr/VfW+q+s9V9Z67+y1n9lrf/KWv+Vtf4ra/1X1vqvrPVfWeu/stZ/Za3/ylr/lbX+K2v9V9b6r6z1X1nrv7LWf2Wt/8pa/5W1/itr/VfW8spaXlnLK2t5ZS2vrOWVtbzy9jzo7XnQ2/Ogt+dBb8+D3p4HvT0Pense9PY86O150NvzoLfnQW/Pg96eB709D3p7HvT2POjtedDb86C350Fvz4Penge9PQ96ex709jzo7XnQ2/Ogt+dBb8+D3p4HvT0Pense9PY86G3+lbf5V97mX3mbf+Vt/pW3+Vfe5l95m3/lbf6Vt/lX3uZfeZt/5W3+lbf5V97mX3mbf+Wt/8pb/5W3/itv/Vfe+q+89V9567/y1n/lrf/KW/+Vt/4rb/1X3vqvvPVfeeu/8tZ/5a3/ylv/lbf+K2/9V976r7z1X3nrv/LWf+Wt/8pb/5W3/itv/Vfe+q+89V9567/y1n/lrf/KW/+Vt/6re3579jPc89tvRj/DPb/9Zm+MfoZ7fvvNozE15sazMZ5TvD0Pense9PY86O15MNrzYLTnwWjPg9GeB6M9D0Z7Hoz2PBjteTDa82C058Foz4PRngejPQ9Gex6M9jwY7Xkw2vNgtOfBaM+D0Z4Hoz0PRnsejPY8GO15MNrzYLTnwWjzr6LNv4o2/yra/Kto86+izb+KNv8q2vyraPOvos2/ijb/Ktr8q2jzr6LNv4o2/yra/Kto86+izb+K1n8Vrf8qWv9VtP6raP1X0fqvovVfReu/itZ/Fa3/Klr/VbT+q2j9V9H6r6L1X0Xrv4rWfxWt/ypa/1W0/qto/VfR+q+i9V9F67+K1n8Vrf8qWv9VtP6raP1X0fqvovVfReu/itZ/dc9vz2fJe377zQF2PIfe89tvpsbceDaWxtrYGntjPP/e89tvbt5o3mjeaN5o3mjeaN42/yow/4oPzL/iA/Ov+MD8Kz4w/4oPzL/iA/Ov+MD8Kz4w/4oPzL/i42je0byjeUfzjuYdzTuadzTvaN7RvKN5qXmpean6Gfie337zdV5ZcvUz8D2//WZrXP0MfGA+Ax+Yz8AH5jPwgfkMfM9vv3k2vvY36995lduG+Qx8YD4DH5jPwAfmM/CB+Qy85rdfzI3rvp0PPA/ygedBPvA8yAeeB/nA8yAfeB7kA8+DfOB5kA88D/IhzSvNK80rzSvNK82rzavNq82rzavNq82rzavNq82rzWvNa81rzWvNa81rzWvNa81rzWvN683rzevN683rzevN683rzevN680bzRvNG80bzRvNG80bzRvNG82L50Ee6L/igf4rHui/4oH+Kx7ov+KB/ise6L/igf4rHui/4nE072je0byjeUfzjuYdzTuadzTvaN7RvNS81LzUvNS81LzUvNS81LzUvNS83LzcvNy83LzcvNy83LzcvNy83LyzeWfzzuadzdvyarS8Gi2vRsur0fJqtLwaLa8Gngd54HmQB54HeeB5kAeeB3ngeZAHngd54HmQB54HeeB5kIc2rzavNq82rzavNq82rzavNq81rzWvNa81rzWvNa81rzWvNa81rzevN683rzevN683rzevN683rzdvNG80bzRvNG80bzRvNG80bzQv5jMwof+KCf1XTOi/YkL/FRP6r5jQf8WE/ism9F8xof+K6Wje0byjeUfzjuYdzTuadzTvaN7RvKN5qXmpeal5qXmpeal5qXmpeal5qXm5ebl5uXm5eTGfge/57TdXPwMT5jMwYT4DE+YzMGE+AxPmMzBhPgMT5jPwPb/95npOYcLzIBOeB5nwPMiE50EmPA8y4XmQCc+DD+bGs3HzSvNK80rzSvNq82rzavNq82rzavNq82rzavNq81rzWvNa81rzWvNa81rzWvNa81rzevN683rzevN683rzevN683rzevNG80bzRvNG80bzRvNG80bzRvOi/4oZ/VfM6L9iRv8VM/qvmNF/xYz+K2b0XzGj/4oZ/VfMR/OO5h3NO5p3NO9o3tG8o3lH847mHc1LzUvNS81LzUvNS81LzYv5DMyYz8D3/PaLMZ+BGfMZmDGfgRnzGZgxn4EZ8xmYMZ+BGfMZmDGfgRnzGZhn887mnc07m3c272ze2byzeWfzzuaV5pXmleaV5pXmleaV5pXmleaV5tXm1ebV5tXm1ebV5tXm1ebV5tXmtea15r3yyvIcuPLq5vTaTE6vabI2tsbeOMBXXpn+7Y8//T//9G9//qf/8Zd/+fc//bf/evy//+s///Wf/+PPf/3X+//9j//3/6z/5X/825//8pc//+9//D//9td//pf/+Z//9i//+Je//vP5v/3puP/Pf9dHZ+0f+ui1/Ic//vTYm//+GIfUPx6DjvPx/3P+78fx+N/Hcf7v5z+YEvzH4//4+R/yXzxu7f94/B/6h79liavuY4z6j8dY7V3lcZT/eOzxqvHY4T/YqSooP/6unP+ezn9//guKPzjKeTyM5//Mq/y5mMvj0rc20v4wW3/5XDP0cbeyij9uRB7/r57/eta/tse/jvWvH30uWrv3uIb+QYp//fhxH5e981/L+a9vwx9XQa3/9Gj7jx24/5HbHx7n/25rbx7xobU34X88nmTP/93r3w97bOT5nwL/Sf+g8Q9/+9vf/uFv/x8=",
|
|
3740
|
+
"bytecode": "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",
|
|
3741
|
+
"debug_symbols": "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dzTvaN7RvKN5R/OO5p3NO5t3Nu9s3tm8s3ln8155dd7jntec9sUBvvLq5tF4NqbG3Fgaa+Pmpeal5uXm5ebl5uXm5ebl5uXm5ebl5uXmleaV5pXmleaV5pXmleaV5pXmlebV5tXm1ebV5tXm1ebV5tXm1ebV5rXmtea15rXmtea15rXmtea15rXm9eb15vXm9eb15vXm9eb15vXm9eaN5o3mjeaN5o3mjeaN5o3mjeYNeK857YtH49mYGnNjaayNrbE3vrznoqvXnPbFl5eTZ2NqzI2lsTa2xpc3l4i98uriK69uHo1nY2rMjaWxNrbGzTubl5qXmpeal5qXmpeal5qXmpeal5qXm5ebl5uXm5ebl5uXm5ebl5uXm1eaV5pXmleaV5pXmleaV5pXmleaV5tXm1ebV5tXm1ebV5tXm1ebV5vXmtea15rXmtea15rXmtea15rXmteb15vXm9eb15vXm9eb15vXm9ebN5o3mvfOq1yw+c6riy9vrsh859XF2tgae+MonndeXTwaz8bUmBtLY21sjb1x847mHc07mnc072je0byjeUfzjuYdzTubdzbvbN7ZvLN5Z/PO5p3NO5t3Ni81LzUvNS81LzUvNS81LzUvxtvnxHj7nBhvnxPj7XNivH1OjLfPifH2OTHePifG2+fEePuc3LzcvNK80rzSvNK80rzSvNK80rzSvNK82rzavNq82rzavNq82rzavNq82rzWvNa81rzWvNa81rzWvNa81rzWvN683rzevN683rzevN683rzevN680bzRvNG80bzRvNG80bzRvNG8uD84CfcHJ+H+4CTcH5yE+4OTcH9wEu4PTsL9wUm4PzgJ9wcnHc07mnc072je0byjeUfzjuYdzXtfD16c3nMcbF5z2hePxtf14EymxtxYGmtja+yNr7zK+vf4lSbXuNkkmo2pMTeWxtrYGuP6lzB+NQnjV5MwfjUJ41eTMH41CeNXkzB+NQnjV5MwfjWJm5ebV5pXmleaV5pXmleaV5pXmleaV5pXm1ebV5tXm1ebV5tXm1ebV5tXm9ea15rXmtea15rXmtea15rXmtea15vXm9eb15vXm9eb15vXm9eb15s3mjeaN5o3mjeaN5o3mjeaN5q3jV9xG7/iNn7FbfyK2/gVt/ErbuNX3MavuI1fcRu/4jZ+xW38itv4FbfxK27jV9zGr7iN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wdw2zGegA/MZ6MB8Bjown4EOzGege377zQHG9SAduB6kA9eDdOB6kA5cD9KB60E6cD1IB64H6cD1IB24HqRDmleaV5pXmleaV5pXmleaV5pXmlebV5tXm1ebV5tXm1ebV5tXm1eb15rXmtea15rXmtea15rXmtea15rXm9eb15vXm9eb15vXm9eb15vXmzeaN5o3mjeaN5o3mjeaN5o3mhfjVzQwfkUD41c0MH5FA+NXNDB+RQPjVzQwfkUD41c0MH5F42je0byjeUfzjuYdzTuadzTvaN7RvKN5Z/PO5p3NO5t3Nu9s3tm8s3ln887mpeal5qXmpeal5qXmpeal5qXmpeZteTVaXo2WV6Pl1Wh5NVpejZZXA9eDNHA9SAPXgzRwPUgD14M0cD1IA9eDNHA9SAPXgzRwPUhDmleaV5pXm1ebV5tXm1ebV5tXm1ebV5tXm9ea15rXmtea15rXmtea15rXmtea15vXm9eb15vXm9eb15vXm9eb15s3mjeaN5o3mjeaN5o3mjeaN5oX41c0MX5FE+NXNDF+RRPjVzQxfkUT41c0MX5FE+NXNDF+RfNo3tG8o3lH847mHc07mnc072je0byjeWfzzuadzTubdzbvbN7ZvLN5Z/PO5sV8Blrz2y+ucQaamM9AE/MZaGI+A03MZ6CJ+Qw0MZ+BJuYz0D2//ea6TqGJ60GauB6kietBmrgepInrQZq4HqSJ60GauB6kietBmtK80rzSvNK80rzSvNK80rzSvNq82rzavNq82rzavNq82rzavNq81rzWvNa81rzWvNa81rzWvNa81rzevN683rzevN683rzevN683rzevNG80bzRvNG80bzRvNG80bzRvBi/IsL4FRHGr4gwfkWE8SsijF8RYfyKCONXRBi/IsL4FdHRvKN5R/OO5h3NO5p3NO9o3tG8o3lH887mnc07mxfzGYgwn4Hu+e034zqUMJ+BCPMZiDCfgQjzGYgwn4EI8xmIMJ+BCPMZiDCfgYial5qXmpeal5uXm5ebl5uXm5ebl5uXm5ebl5tXmleaV5pXmleaV5pXmleaV5pXmlebV5tXm1ebV5tXm1ebV5v3yqvIY+DKq4szr+hco5iu+e2vDkqejakxN5bGevHf//jL//OP//bXf/zvf/vn//OX//Kfr//6P//jX/7p3//6r/9y/9d//3//9/p//vu//fVvf/vr//qH//1v//pP//w//uPf/vkf/vav/3T+f3857v/4r/q6yfmHvu72/bc//vLauv/6uq84/njdUIzXf6fz/38NCv+hrxHa8/8//wGrHX+8/iP/h/wXr1P+P17/of/t71niqitH/CF03FXY4w+OWDXktTvkqAqvsfU/XuPo57+f578//8WMP6j+Pr+Mcv7ftMq/fsL/eP2UrY20P8zWX36dtfzxOvtYxc/liV8nEee/5vrX9vrXsf61HH/oUf9aXv9a8a91vP4rnf9azn99G/64Cmr9T/qqgc9jr49z/v+2Po3Eax8uRfgfryvT8//3+vfDXht5/k+B/0n/mOO//f3vf/9vf///AA==",
|
|
3716
3742
|
"brillig_names": [
|
|
3717
3743
|
"discover_new_messages",
|
|
3718
3744
|
"get_note_internal",
|
|
@@ -3728,7 +3754,7 @@
|
|
|
3728
3754
|
"directive_integer_quotient",
|
|
3729
3755
|
"directive_to_radix"
|
|
3730
3756
|
],
|
|
3731
|
-
"verification_key": "AAAAAAAEAAAAAAAAAAAAEgAAAAAAAAAQAAAAAAAAVgkAAAAA//////////
|
|
3757
|
+
"verification_key": "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"
|
|
3732
3758
|
},
|
|
3733
3759
|
{
|
|
3734
3760
|
"name": "sync_notes",
|
|
@@ -3827,10 +3853,6 @@
|
|
|
3827
3853
|
"error_kind": "string",
|
|
3828
3854
|
"string": "Got a public log emitted by a different contract"
|
|
3829
3855
|
},
|
|
3830
|
-
"12099279057757775880": {
|
|
3831
|
-
"error_kind": "string",
|
|
3832
|
-
"string": "DST_LEN too large for offset"
|
|
3833
|
-
},
|
|
3834
3856
|
"12822839658937144934": {
|
|
3835
3857
|
"error_kind": "fmtstring",
|
|
3836
3858
|
"length": 75,
|
|
@@ -3912,8 +3934,8 @@
|
|
|
3912
3934
|
}
|
|
3913
3935
|
}
|
|
3914
3936
|
},
|
|
3915
|
-
"bytecode": "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",
|
|
3916
|
-
"debug_symbols": "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",
|
|
3937
|
+
"bytecode": "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",
|
|
3938
|
+
"debug_symbols": "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",
|
|
3917
3939
|
"brillig_names": [
|
|
3918
3940
|
"sync_notes"
|
|
3919
3941
|
]
|
|
@@ -5009,6 +5031,14 @@
|
|
|
5009
5031
|
"kind": "field"
|
|
5010
5032
|
}
|
|
5011
5033
|
}
|
|
5034
|
+
},
|
|
5035
|
+
{
|
|
5036
|
+
"name": "length",
|
|
5037
|
+
"type": {
|
|
5038
|
+
"kind": "integer",
|
|
5039
|
+
"sign": "unsigned",
|
|
5040
|
+
"width": 32
|
|
5041
|
+
}
|
|
5012
5042
|
}
|
|
5013
5043
|
]
|
|
5014
5044
|
}
|
|
@@ -5040,12 +5070,29 @@
|
|
|
5040
5070
|
"length": 1,
|
|
5041
5071
|
"type": {
|
|
5042
5072
|
"kind": "struct",
|
|
5043
|
-
"path": "authwit::aztec::protocol_types::abis::
|
|
5073
|
+
"path": "authwit::aztec::protocol_types::abis::side_effect::counted::Counted",
|
|
5044
5074
|
"fields": [
|
|
5045
5075
|
{
|
|
5046
|
-
"name": "
|
|
5076
|
+
"name": "inner",
|
|
5047
5077
|
"type": {
|
|
5048
|
-
"kind": "
|
|
5078
|
+
"kind": "struct",
|
|
5079
|
+
"path": "authwit::aztec::protocol_types::abis::log_hash::LogHash",
|
|
5080
|
+
"fields": [
|
|
5081
|
+
{
|
|
5082
|
+
"name": "value",
|
|
5083
|
+
"type": {
|
|
5084
|
+
"kind": "field"
|
|
5085
|
+
}
|
|
5086
|
+
},
|
|
5087
|
+
{
|
|
5088
|
+
"name": "length",
|
|
5089
|
+
"type": {
|
|
5090
|
+
"kind": "integer",
|
|
5091
|
+
"sign": "unsigned",
|
|
5092
|
+
"width": 32
|
|
5093
|
+
}
|
|
5094
|
+
}
|
|
5095
|
+
]
|
|
5049
5096
|
}
|
|
5050
5097
|
},
|
|
5051
5098
|
{
|
|
@@ -5055,14 +5102,6 @@
|
|
|
5055
5102
|
"sign": "unsigned",
|
|
5056
5103
|
"width": 32
|
|
5057
5104
|
}
|
|
5058
|
-
},
|
|
5059
|
-
{
|
|
5060
|
-
"name": "length",
|
|
5061
|
-
"type": {
|
|
5062
|
-
"kind": "integer",
|
|
5063
|
-
"sign": "unsigned",
|
|
5064
|
-
"width": 32
|
|
5065
|
-
}
|
|
5066
5105
|
}
|
|
5067
5106
|
]
|
|
5068
5107
|
}
|
|
@@ -5590,10 +5629,6 @@
|
|
|
5590
5629
|
"length": 20,
|
|
5591
5630
|
"item_types": []
|
|
5592
5631
|
},
|
|
5593
|
-
"12099279057757775880": {
|
|
5594
|
-
"error_kind": "string",
|
|
5595
|
-
"string": "DST_LEN too large for offset"
|
|
5596
|
-
},
|
|
5597
5632
|
"12822839658937144934": {
|
|
5598
5633
|
"error_kind": "fmtstring",
|
|
5599
5634
|
"length": 75,
|
|
@@ -5679,8 +5714,8 @@
|
|
|
5679
5714
|
}
|
|
5680
5715
|
}
|
|
5681
5716
|
},
|
|
5682
|
-
"bytecode": "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",
|
|
5683
|
-
"debug_symbols": "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i8qjlUcrj1YerTxaebTyaOXRyqOVRysPKQ8pDykPKQ8pDykPKQ8pDykPKQ8tDy0PLQ8tDy0PLQ8tDy0PLQ8tj14evTx6efTy6OXRy6OXRy+PXh69PKw8os5XkBRpUS+yIi8aRbNoJUWdn1QeXh5eHl4eXh5eHl4eXh5eHqM8RnmM8hjlMcpjlMcoj1EeozxGeczymOUxy2OWxyyPWR6zPGZ5zPKY5bHKY5XHKo9VHqs8Vnms8ljlscpjpUdMXLqoFUmRFvUiK/KiUTSLyqOVRyuPVh6tPFp5tPJo5dHKo5VHKw8pDykPKQ8pDykPKY+jzocGjaJZdMxyPu5RMa3polYkRVrUi6zIi0bRLCqPXh69PHp59PLo5dHLo5dHL49eHr08rDysPKw8rDysPKw8rDysPKw8rDy8PLw8vDy8PLw8vDy8PLw8vDy8PEZ5jPIY5THKY5THKI9RHqM8RnmM8pjlMctjlscsj1keszxmeczymOUxy2OVxyqPVR6rPFZ5rPJY5bHKY5XHSo+YHHVRK5IiLepFVuRFo2gWlUcrj1YerTxaebTyaOXRyqOVRyuPVh5SHlIeUh5SHlIeUh5SHlIeUh5V51Z1blXnVnVuVedWdW5V51Z1blXnVnVuVedWdW5V51Z1blXnVnVuVedWdW5V51Z1blXnVnVuVedWdW5V51Z1blXnVnVuVedWdW5V51Z1blXnVnVuVedWdW5V51Z1blXnVnVuVedWdW5V51Z1blXnVnVuVedWdW5V51Z1blXnVnVuVedWdW5V51Z1blXnVnVuVedWdW5V51Z1blXnVnVuVedWdW5V51Z1blXnVnVuVedede5V51517lXnXnXuVedede5V51517lXnXnXuVedede5V51517lXnXnXuVedede5V51517lXnXnXuVedede5V51517lXnXnXuVedede5V51517lXnXnXuVedede5V51517lXnXnXuVedede5V51517lXnXnXuVedede5V51517lXnXnXuVedede5V51517lXnXnXuVedede5V51517lXnXnXuVedede5V51517lXnXnXuVedede5V51517lXnXnXuVedede5V51517lXnXnXuVedede5V51517lXnXnXuVedede5V51517lXnXnXuVedede5V51517lXno+p8VJ2PqvNRdT6qzkfV+ag6H1Xn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1ba8alteNdt8bfPd8qptedW2vGpbXrUtr9qWV23Lq5ydG76+/b5bXrUtr9qWV21svmPz3fKqbXnVtrxqW161La/alldty6ucqxu+c/t9t7xqW161La/a3Hzn5rvlVdvyqm151ba8altetS2v2pZXOXM3fNf2+2551ba8altetbX5LnxlyyvZ8kq2vJItr2TLK9nySra8ynm8I3huTDvLlley5ZW0zbdtvlteyZZXsuWVbHklW17Jlley5VXO6g1fkY11476xbbz5yua75ZVseSVbXsmWV7LllWx5JVte5Rzf8FXfeGvnLa9kyyvpm2/ffLe8ki2vZMsr2fJKtrySLa9ky6uc8Ru+tv2+W17Jlley5ZXY5rvllWzPV7I9X4lt52ub75ZX4puvb76++fr2+255Jdvzlfh2vr6dr2+/75lXxyYY7ZoHfHy02K6JwBfrxn1j29g3HhvPjRd85tXFp+8Klo1P3zjOM68utu3v+MZj+ztz48XfOfPq4sO3HR+5tmty8PXfdePN98yrizffM68u3nzPvAq+JgnH37lmCV8sdQzXPOHrv/eNbdPxjcf2d+bGm++ZVxdvvk02Vo6hbb7NNt5829h482208zVx+Pw7Z15dvPnKdr6RV9cxyOYrvvHmK3PjzVe3dtbN98yrizdf3c438uo6Bt18dWtn3Xx1a+e++fatnfvm23Xjzbdv5xt5dR1D33z71s5987WtnW3zta2dbfO1vvHma9v5Rl5dx2Cbr23t7Juvb+3sm69v7eybr2/Xs2++vp1v5NV1DJFX7Vhbvp1TjZPbxrKxbtw3to194zjf45vFdk45Tl5w5FVy21g21o37xraxb7z5Rl49HzWCFxx5lRy+Em0SedUk/m3kVXLf2Db2jcNX4tzX6RttvlbxORE5uW0sG+vGfWPbOHyP1WvaOR85OXyPNaXbOSO5HSuLtHNKcnLbWDbWjfvGtrFvPDaeG4fvsRRdOycnJ7eNZWPduG9sG/vGY+O58earm69uvrr56uarm69uvrr56uarm69uvn3z7Ztv33z75ts337759s23b7598+2br22+tvna5mubr22+tvna5mubr22+tvn65uubr2++vvn65uubr2++fvrGNXzmVffg8I31RP6fv/zbX//y3//2z//+p3/4r2Mxgf/8l3/KhQOe/+9//L//K/+X//5vf/3b3/76P//xf/3bv/7TP/+P//y3fz4WGTj+tz89rv/z3/w5HPNnfw5W/F9Pk+f//xzY9z8/x/H78//X+N8fj+f/3h7H/378g2cD6J+f/2ce/yH+xbHex/P/yLGSQUvdYy2x4XKpPJP6z8/UTI1naP75GX6l4Pr8u3b8ezn+/fEvnoWuqzwfT8fjf9aUf74e/Pn5mJwHOf48Rv7l5xvRn59vNin+fGl5/r9+/Ote/3o8//XKf23PE6zTez5v/1mcf+3t+f/q8a8tD03lz13y71v7sz3Fj3Uc/j8=",
|
|
5717
|
+
"bytecode": "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",
|
|
5718
|
+
"debug_symbols": "vb3RruSwkab5Lr72RZKMCJL9KoNFw9PjHRgw3AN39wKLRr/7pkKK+HhOdbJ08hzvjeuzXRWfUqn4UxIp6j//8L/+/D//43//81/+9n//67/94Z/+x3/+4X/+/S9//etf/vc///Vf/+VP//6Xf/3b83/9zz88jv8oVf/wT+WPzz/t+rNff47rz3n+2R7Xn+X6s15/tutPuf686rWrXrvqtateu+rJVU+uenLVk6ueXPXkqidXPbnqyVVPrnp61dOrnl719KqnVz296ulVT696etXTq55d9eyqZ1c9u+rZVc+uenbVs6ueXfXsqtevev2q1696/arXr3r9qtevev2q1696/ao3rnrjqjeueuOqN65646o3rnrjWa8ef47rz3n+OR/Xn+X6s15/Puvp8eezXj/+1OtPu/7s15/j+nP6n/XxuP4s15/1+rNdf8r157F99QAL6AEjYF5QHgEloAa0AAmIyiUql6hconKJyjUq16hco3KNyjUq16hco3KNyjUq16jconKLyi0qe+/oARKgARbQA0bAvMBbyKEE1ICoLFFZorJEZYnKEpUlKmtU1qisUVmjskZljcoalTUqa1TWqGxR2aKyRWWLyhaVLSpbVLaobFHZonKPyj0q96jco3KPyj0q96jco3KPyj0qj6g8ovKIyiMqj6g8ovKIyiMqj6g8ovKMyjMqz6h89F0ZB0iABlhADxgB84R2tN8JJaAGtAAJ0AALOFKiHjAC5gVHD55QAmpAC5AADbCAqFyiconKNSofPVj1gBrQAiRAAyygB4yAecHRgydE5RaVW1RuUfnowToPsIAeMALmBUcPnlACakALkICoLFFZorJEZYnKGpU1KmtU1qisUVmjskZljcoalTUqW1S2qGxR2aKyRWWLyhaVLSpbVLao3KNyj8o9Kveo3KNyj8o9Kveo3KNyj8ojKo+oPKLyiMojKo+oPKLyiMojKo+oPKPyjMozKs+oPKPyjMozKs+oPKPyvCrL4xFQAmpAC5AADbCAHjAConKJyiUql6hconKJyiUql6hconKJyiUq16hco3KNyjUq16hco3KNyjUq16hco3KLyi0qt6jconKLytGDEj0o0YNy9GArB8wLjh48oQTUgBYgARpgAT0gKktU1qisUVmjskZljcoalTUqa1TWqKxR2aKyRWWLyhaVLSpbVLaobFHZorJF5R6V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KllSyZJKllSypJIllSypZEklSypZUsmSSpZUsqSSJZUsqWRJJUsqWVLJkkqWVLKkkiWVLKlkSSVLKllSyZJKllSypJIllSypZEklSypZUsmSSpZUsqSSJZUsqWRJJUsqWVLJkkqWVLKkkiWVLKlkSSVLKllSyZJKllSypJIllSypZEklSypZUsmSSpZUsqSSJZUsqWRJJUsqWVLJkkqWVLKkkiWVLKlkSSVLKllSyZJKllSypJIllSypZEklSypZ0siSRpY0sqSRJY0saWRJI0saWdLIkkaWNLKkkSWNLGlkSSNLGlnSyJJGljSypJEljSxpZEkjSxpZ0siSRpY0sqSRJY0saWRJI0saWdLIkkaWNLKkkSWNLGlkSSNLGlnSyJJGljSypJEljSxpZEkjSxpZ0siSRpY0sqSRJY0saWRJI0saWdLIkkaWNLKkkSWNLGlkSSNLGlnSyJJGljSypJEljSxpZEkjSxpZ0siSRpY0sqSRJY0saWRJI0saWdLIkkaWNLKkkSWNLGlkSSNLGlnSyJJGljSypJEljSxpZEkjSxpZ0siSRpY0sqSRJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUKWCFkiZImQJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUqWKFmiZImSJUaWGFliZImRJUaWGFliZImRJUaW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",
|
|
5684
5719
|
"brillig_names": [
|
|
5685
5720
|
"discover_new_messages",
|
|
5686
5721
|
"get_note_internal",
|
|
@@ -5692,7 +5727,7 @@
|
|
|
5692
5727
|
"directive_integer_quotient",
|
|
5693
5728
|
"directive_to_radix"
|
|
5694
5729
|
],
|
|
5695
|
-
"verification_key": "AAAAAAAEAAAAAAAAAAAAEgAAAAAAAAAQAAAAAAAAVgkAAAAA//////////
|
|
5730
|
+
"verification_key": "AAAAAAAEAAAAAAAAAAAAEgAAAAAAAAAQAAAAAAAAVgkAAAAA//////////8AHD6QVvUGc5kgYVGkm4/Y4t9I2LZ49oID5aTezZTNJDAW5Gh6eNbiYP40pEUd6SRKGDPbAgbV35SDMdP/QD8rextRmyHeg74Lxq+mn8sOOyBE1YU1OKBYSBqBtVIGnOspC/s1ToMfHIoPHr/J5OOyII7zx3NKHypJPHdu10kSKlsXSqgFof2mjd4bghevBG1+tr4wA2o/OAVEznHtwl9zfBDEShrzPQRxt5pyyjVOxvDqmY4BiRthnjCE03GS6JoTL7qj/ds4vntS9KaH8FIq0R7+TvgDpRy2VtRYqOBKmU4K3cnivM9dCexn6Nn8TpKYug9nj0OM9XXCmlpPpdJdGC8X8pEmKBpzC7TvLu49tcaRjyJDFbbKL1YaCJBH/27VH4Oa36ci7zKtBW3zGA8tvP4poRgbiWhASlun0I6A2RcjaOhSSxNUlXa/F2Ut5jr7b9/0i52oNTqGxZxN+V37TiNEumUa3539E4kOfgla67ElHUUHCe4nE+CB4QhdtZVbJ34e3MIBh/bZnQqcjCd6Eo8n4+S1X0QwM2Q7BxTO32ERhG3XjR3FaaW5IHNUc4FjfZjumN7m5SaIFHQ/qD0KTCp+5g5CtVnzrNVvcwwIGnwsVUiXgusM1pAem12xQTwxGKQAjqFSIrKUmsmiG7lc4FjTuyAxcNN0FQBTfXTRk8cXsQpMZOKsLdMJkxYI2s+woiReoxONJLRAg/vNA1D7OCP0a9F5EZvd5o3jFRGlu3ALN/jQ23F/Lues8lc9ErIYCKTyDbrhkWu7QpWgpjQXouDk3XKkff6VqtGz/LTZrI0bbtUbl7+Ek3TEgurR0AQ5sZzwyL3gMTBLOKLeJ4EHliHrSJuRmKhkLL92LlSOA5ve52T8+85x9jwkt2+sZv9oEf1BtfmTbZMquuTG6TPg05wk6o4uDu5wKlMm81nJR8AfOSMaX7FtHzxaJ5SdRzfesGWoQRfG8aUTqCf/znLCmCKQ1oZQuVc+PgL8FfDDRXdY+A4vOYoFb/dgG8AOikncDBDr0Tl6y36PkuLGb5L11b7C9HatDsUcpB6UHqETEKUrcAh8+/YJFbCzmsgL9ZZQjGrnTTFB771vBc2CT6KggA0SgxcouOV5wXgTep/4S4x8/spilXLSho9MC6DpkdYbFcZ+4JDWb1MaGTzgrkgKMTDa+1Bpcyygx+basxnvq6oeEKv4nI4+12jVS9WNw1uDu66cOsjC7cGhAQBf7wKh6CNKk5P0/ch4K6sUGcKhvLHwef4YUSnsgkfHDVfDTPQOFogiLMQMq7M0br/xRuZsDxbB4MQtjy1IW8nQjAYg6BgvgKpKhi6k7McwI/jHuLfnx+s5rS9yMbXHcbVVAcJcBw1B0AJJiVioAxbdQhtq6rEATvsb0hEeXAeOhUcR4b7uFrDgSDbeLEcSJJBPxruwbjsmPpH4g0x+1nGbkm0HACYFl3piD634/SILIvYi4AsZztjd+gGOqwaEb2/gOUI8QQT5x5AILtp9HhYeK7q/qzQdUXiREjL4Nfo/o/CSiFS1DWNcMWi8OvTa7lOmsG+/JKZSNGmunoxNzR9cDg8gJxsaMBY+QD0/FkEcRQ71nhWKGhoweALCr6r9Ny1Ql52baQhFKsqc3lmG9x8yKj8qtneMf9kq9iy02Q59SDwCCe0EH/Co8teSK79QXTjBFytjVL+Hbh/ex5yBwvGuWvwVFW8UoyVpTmyYfgrQ+LNTwzrB2QIzxulAtwk1XkVWHIkXCw3tLCiE3QUGS21PDtNLzgAKbyhDlonN666LBsYdz8/GFbtI2X9q6XHfvNDJ3YFTv2/3x5OclK3nyiScIclatM8nSaxn9nnBjZegAA8Qd3wQEpTcsdWteJgKG0kNPEBbHAf75rwsDOJArpiFTwyyWMD2g3/8QBnT5kGdXE3W3qHTJEfaEkUja7UyQomJh1XrASsTY3MhXPzm3o///KB2190K8RcG334ku14YYWguptyTMQ7u9hQisPuI+t9WyyF8EgmPEz8nikjB6oRrxVvg+88JRpxAOxhSD8Jry5WyxbCkFhGrwXCh0TarbtY2Yy48kMyr5xbdi2HY6Oa9u8nxV5UeUOjuBcQmuK3Zam/8+eD9NF42uIPE1aJkI6hgnaXZjRCU+7O5+OmT4Llh6/P7rf+1WRKGqrg5wswqi2mUQKDnA878MY0VamXK18cFo/iCBEgf6mAn7oyYeaZ+yXStfmMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFyjhN60qMn0weFK1b3qbdeL1IZKaJcTcacGMSIllRkkSpEj4vJfdvy84BBJAFuG4xWAgo3nlDupXDRSulHn7QQDENyb3W2/aDeIs4ODfq2vMegX/lalrKJQkxfczZw2WL5tuC04sAZaN5cMkgqp9HQoJ1xeOyTuteFj5bmTwtI0dWKphxkrVIgQ9ecSAIhnlW6GXUa3+bDYyTT+2wtoJiS18GKk8Pa5YgJ+q7saoanj0s7xh8Z1ucGk1m79H5/kH"
|
|
5696
5731
|
},
|
|
5697
5732
|
{
|
|
5698
5733
|
"name": "public_dispatch",
|
|
@@ -6080,6 +6115,20 @@
|
|
|
6080
6115
|
"kind": "struct",
|
|
6081
6116
|
"path": "EcdsaKAccount::entrypoint_abi"
|
|
6082
6117
|
},
|
|
6118
|
+
{
|
|
6119
|
+
"fields": [
|
|
6120
|
+
{
|
|
6121
|
+
"name": "parameters",
|
|
6122
|
+
"type": {
|
|
6123
|
+
"fields": [],
|
|
6124
|
+
"kind": "struct",
|
|
6125
|
+
"path": "EcdsaKAccount::sync_notes_parameters"
|
|
6126
|
+
}
|
|
6127
|
+
}
|
|
6128
|
+
],
|
|
6129
|
+
"kind": "struct",
|
|
6130
|
+
"path": "EcdsaKAccount::sync_notes_abi"
|
|
6131
|
+
},
|
|
6083
6132
|
{
|
|
6084
6133
|
"fields": [
|
|
6085
6134
|
{
|
|
@@ -6117,7 +6166,7 @@
|
|
|
6117
6166
|
},
|
|
6118
6167
|
"104": {
|
|
6119
6168
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/macros/functions/utils.nr",
|
|
6120
|
-
"source": "use crate::macros::{\n functions::{abi_export::create_fn_abi_export, call_interface_stubs::stub_fn, stub_registry},\n notes::NOTES,\n utils::{\n add_to_hasher, fn_has_noinitcheck, get_fn_visibility, is_fn_contract_library_method,\n is_fn_initializer, is_fn_internal, is_fn_private, is_fn_public, is_fn_test, is_fn_utility,\n is_fn_view, modify_fn_body, module_has_initializer, module_has_storage,\n },\n};\nuse protocol_types::meta::generate_serialize_to_fields;\nuse std::meta::type_of;\n\npub(crate) comptime fn transform_private(f: FunctionDefinition) -> Quoted {\n let fn_abi = create_fn_abi_export(f);\n let fn_stub = stub_fn(f);\n stub_registry::register(f.module(), fn_stub);\n\n // If a function is further modified as unconstrained, we throw an error\n if f.is_unconstrained() {\n let name = f.name();\n panic(\n f\"Function {name} is annotated with #[private] but marked as unconstrained, remove unconstrained keyword\",\n );\n }\n\n let module_has_initializer = module_has_initializer(f.module());\n let module_has_storage = module_has_storage(f.module());\n\n // Private functions undergo a lot of transformations from their Aztec.nr form into a circuit that can be fed to the\n // Private Kernel Circuit.\n // First we change the function signature so that it also receives `PrivateContextInputs`, which contain information\n // about the execution context (e.g. the caller).\n let original_params = f.parameters();\n f.set_parameters(&[(\n quote { inputs },\n quote { crate::context::inputs::private_context_inputs::PrivateContextInputs }.as_type(),\n )]\n .append(original_params));\n\n let mut body = f.body().as_block().unwrap();\n\n // The original params are hashed and passed to the `context` object, so that the kernel can verify we've received\n // the correct values.\n // TODO: Optimize args_hasher for small number of arguments\n let args_hasher_name = quote { args_hasher };\n let args_hasher = original_params.fold(\n quote {\n let mut $args_hasher_name = dep::aztec::hash::ArgsHasher::new();\n },\n |args_hasher, param: (Quoted, Type)| {\n let (name, typ) = param;\n let appended_arg = add_to_hasher(args_hasher_name, name, typ);\n quote {\n $args_hasher\n $appended_arg\n }\n },\n );\n\n let context_creation = quote {\n let mut context = dep::aztec::context::private_context::PrivateContext::new(inputs, dep::aztec::protocol_types::traits::Hash::hash($args_hasher_name));\n };\n\n // Modifications introduced by the different marker attributes.\n let internal_check = if is_fn_internal(f) {\n create_internal_check(f)\n } else {\n quote {}\n };\n\n let view_check = if is_fn_view(f) {\n create_view_check(f)\n } else {\n quote {}\n };\n\n let (assert_initializer, mark_as_initialized) = if is_fn_initializer(f) {\n (create_assert_correct_initializer_args(f), create_mark_as_initialized(f))\n } else {\n (quote {}, quote {})\n };\n\n let storage_init = if module_has_storage {\n quote {\n // Some functions don't access storage, but it'd be quite difficult to only inject this variable if it is\n // referenced. We instead ignore 'unused variable' warnings for it.\n #[allow(unused_variables)]\n let storage = Storage::init(&mut context);\n }\n } else {\n quote {}\n };\n\n // Initialization checks are not included in contracts that don't have initializers.\n let init_check = if module_has_initializer & !is_fn_initializer(f) & !fn_has_noinitcheck(f) {\n create_init_check(f)\n } else {\n quote {}\n };\n\n // All private functions perform message discovery, since they may need to access notes. This is slightly\n // inefficient and could be improved by only doing it once we actually attempt to read any.\n let message_discovery_call = if NOTES.len() > 0 {\n create_message_discovery_call()\n } else {\n quote {}\n };\n\n // Finally, we need to change the return type to be `PrivateCircuitPublicInputs`, which is what the Private Kernel\n // circuit expects.\n let return_value_var_name = quote { macro__returned__values };\n\n let return_value_type = f.return_type();\n let return_value = if body.len() == 0 {\n quote {}\n } else if return_value_type != type_of(()) {\n // The original return value is passed to a second args hasher which the context receives.\n let (body_without_return, last_body_expr) = body.pop_back();\n let return_value = last_body_expr.quoted();\n let return_value_assignment =\n quote { let $return_value_var_name: $return_value_type = $return_value; };\n let return_hasher_name = quote { return_hasher };\n let return_value_into_hasher =\n add_to_hasher(return_hasher_name, return_value_var_name, return_value_type);\n\n body = body_without_return;\n\n quote {\n let mut $return_hasher_name = dep::aztec::hash::ArgsHasher::new();\n $return_value_assignment\n $return_value_into_hasher\n context.set_return_hash($return_hasher_name);\n }\n } else {\n let (body_without_return, last_body_expr) = body.pop_back();\n if !last_body_expr.has_semicolon()\n & last_body_expr.as_for().is_none()\n & last_body_expr.as_assert().is_none()\n & last_body_expr.as_for_range().is_none()\n & last_body_expr.as_assert_eq().is_none()\n & last_body_expr.as_let().is_none() {\n let unused_return_value_name = f\"_{return_value_var_name}\".quoted_contents();\n body = body_without_return.push_back(\n quote { let $unused_return_value_name = $last_body_expr; }.as_expr().unwrap(),\n );\n }\n quote {}\n };\n\n let context_finish = quote { context.finish() };\n\n let to_prepend = quote {\n $args_hasher\n $context_creation\n $assert_initializer\n $init_check\n $internal_check\n $view_check\n $storage_init\n $message_discovery_call\n };\n\n let to_append = quote {\n $return_value\n $mark_as_initialized\n $context_finish\n };\n let modified_body = modify_fn_body(body, to_prepend, to_append);\n f.set_body(modified_body);\n f.set_return_type(\n quote { dep::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs }\n .as_type(),\n );\n f.set_return_data();\n\n fn_abi\n}\n\npub(crate) comptime fn transform_public(f: FunctionDefinition) -> Quoted {\n let fn_abi = create_fn_abi_export(f);\n let fn_stub = stub_fn(f);\n stub_registry::register(f.module(), fn_stub);\n\n // If a function is further modified as unconstrained, we throw an error\n if f.is_unconstrained() {\n let name = f.name();\n panic(\n f\"Function {name} is annotated with #[public] but marked as unconstrained, remove unconstrained keyword\",\n );\n }\n\n let module_has_initializer = module_has_initializer(f.module());\n let module_has_storage = module_has_storage(f.module());\n\n // Public functions undergo a lot of transformations from their Aztec.nr form.\n let original_params = f.parameters();\n let args_len = original_params\n .map(|(name, typ): (Quoted, Type)| {\n generate_serialize_to_fields(name, typ, false).0.len()\n })\n .fold(0, |acc: u32, val: u32| acc + val);\n\n // Unlike in the private case, in public the `context` does not need to receive the hash of the original params.\n let context_creation = quote {\n let mut context = dep::aztec::context::public_context::PublicContext::new(|| {\n // We start from 1 because we skip the selector for the dispatch function.\n let serialized_args : [Field; $args_len] = dep::aztec::context::public_context::calldata_copy(1, $args_len);\n dep::aztec::hash::hash_args_array(serialized_args)\n });\n };\n\n // Modifications introduced by the different marker attributes.\n let internal_check = if is_fn_internal(f) {\n create_internal_check(f)\n } else {\n quote {}\n };\n\n let view_check = if is_fn_view(f) {\n create_view_check(f)\n } else {\n quote {}\n };\n\n let (assert_initializer, mark_as_initialized) = if is_fn_initializer(f) {\n (create_assert_correct_initializer_args(f), create_mark_as_initialized(f))\n } else {\n (quote {}, quote {})\n };\n\n let storage_init = if module_has_storage {\n // Some functions don't access storage, but it'd be quite difficult to only inject this variable if it is\n // referenced. We instead ignore 'unused variable' warnings for it.\n quote {\n #[allow(unused_variables)]\n let storage = Storage::init(&mut context);\n }\n } else {\n quote {}\n };\n\n // Initialization checks are not included in contracts that don't have initializers.\n let init_check = if module_has_initializer & !fn_has_noinitcheck(f) & !is_fn_initializer(f) {\n create_init_check(f)\n } else {\n quote {}\n };\n\n let to_prepend = quote {\n $context_creation\n $assert_initializer\n $init_check\n $internal_check\n $view_check\n $storage_init\n };\n\n let to_append = quote {\n $mark_as_initialized\n };\n\n let body = f.body().as_block().unwrap();\n let modified_body = modify_fn_body(body, to_prepend, to_append);\n f.set_body(modified_body);\n\n // All public functions are automatically made unconstrained, even if they were not marked as such. This is because\n // instead of compiling into a circuit, they will compile to bytecode that will be later transpiled into AVM\n // bytecode.\n f.set_unconstrained(true);\n f.set_return_public(true);\n\n fn_abi\n}\n\npub(crate) comptime fn transform_utility(f: FunctionDefinition) {\n // Check if function is marked as unconstrained\n if !f.is_unconstrained() {\n let name = f.name();\n panic(\n f\"Function {name} is annotated with #[utility] but not marked as unconstrained, add unconstrained keyword\",\n );\n }\n\n // Create utility context\n let context_creation =\n quote { let mut context = dep::aztec::context::utility_context::UtilityContext::new(); };\n let module_has_storage = module_has_storage(f.module());\n\n // Initialize Storage if module has storage\n let storage_init = if module_has_storage {\n quote {\n // Some functions don't access storage, but it'd be quite difficult to only inject this variable if it is\n // referenced. We instead ignore 'unused variable' warnings for it.\n #[allow(unused_variables)]\n let storage = Storage::init(context);\n }\n } else {\n quote {}\n };\n\n // All utility functions perform message discovery, since they may need to access private notes that would be\n // found during this process. This is slightly inefficient and could be improved by only doing it once we actually\n // attempt to read any.\n let message_discovery_call = if NOTES.len() > 0 {\n create_message_discovery_call()\n } else {\n quote {}\n };\n\n // Inject context creation, storage initialization, and message discovery call at the beginning of the function\n // body.\n let to_prepend = quote {\n $context_creation\n $storage_init\n $message_discovery_call\n };\n let body = f.body().as_block().unwrap();\n let modified_body = modify_fn_body(body, to_prepend, quote {});\n f.set_body(modified_body);\n\n f.set_return_public(true);\n}\n\ncomptime fn create_internal_check(f: FunctionDefinition) -> Quoted {\n let name = f.name();\n let assertion_message = f\"Function {name} can only be called internally\";\n quote { assert(context.msg_sender() == context.this_address(), $assertion_message); }\n}\n\ncomptime fn create_view_check(f: FunctionDefinition) -> Quoted {\n let name = f.name();\n let assertion_message = f\"Function {name} can only be called statically\";\n if is_fn_private(f) {\n // Here `context` is of type context::PrivateContext\n quote { assert(context.inputs.call_context.is_static_call == true, $assertion_message); }\n } else {\n // Here `context` is of type context::PublicContext\n quote { assert(context.is_static_call(), $assertion_message); }\n }\n}\n\ncomptime fn create_assert_correct_initializer_args(f: FunctionDefinition) -> Quoted {\n let fn_visibility = get_fn_visibility(f);\n f\"dep::aztec::macros::functions::initialization_utils::assert_initialization_matches_address_preimage_{fn_visibility}(context);\"\n .quoted_contents()\n}\n\ncomptime fn create_mark_as_initialized(f: FunctionDefinition) -> Quoted {\n let fn_visibility = get_fn_visibility(f);\n f\"dep::aztec::macros::functions::initialization_utils::mark_as_initialized_{fn_visibility}(&mut context);\"\n .quoted_contents()\n}\n\ncomptime fn create_init_check(f: FunctionDefinition) -> Quoted {\n let fn_visibility = get_fn_visibility(f);\n f\"dep::aztec::macros::functions::initialization_utils::assert_is_initialized_{fn_visibility}(&mut context);\"\n .quoted_contents()\n}\n\n/// Injects a call to `aztec::messages::discovery::discover_new_messages`, causing for new notes to be added to PXE and made\n/// available for the current execution.\npub(crate) comptime fn create_message_discovery_call() -> Quoted {\n quote {\n /// Safety: message discovery returns nothing and is performed solely for its side-effects. It is therefore\n /// always safe to call.\n unsafe {\n dep::aztec::messages::discovery::discover_new_messages(\n context.this_address(),\n _compute_note_hash_and_nullifier,\n );\n };\n }\n}\n\n/// Checks if each function in the module is marked with either #[private], #[public], #[utility],\n/// #[contract_library_method], or #[test]. Non-macroified functions are not allowed in contracts.\npub(crate) comptime fn check_each_fn_macroified(m: Module) {\n for f in m.functions() {\n let name = f.name();\n if !is_fn_private(f)\n & !is_fn_public(f)\n & !is_fn_utility(f)\n & !is_fn_contract_library_method(f)\n & !is_fn_test(f) {\n panic(\n f\"Function {name} must be marked as either #[private], #[public], #[utility], #[contract_library_method], or #[test]\",\n );\n }\n }\n}\n"
|
|
6169
|
+
"source": "use crate::macros::{\n functions::{abi_export::create_fn_abi_export, call_interface_stubs::stub_fn, stub_registry},\n notes::NOTES,\n utils::{\n add_to_hasher, fn_has_noinitcheck, get_fn_visibility, is_fn_contract_library_method,\n is_fn_initializer, is_fn_internal, is_fn_private, is_fn_public, is_fn_test, is_fn_utility,\n is_fn_view, modify_fn_body, module_has_initializer, module_has_storage,\n },\n};\nuse protocol_types::meta::generate_serialize_to_fields;\nuse std::meta::type_of;\n\npub(crate) comptime fn transform_private(f: FunctionDefinition) -> Quoted {\n let fn_abi = create_fn_abi_export(f);\n let fn_stub = stub_fn(f);\n stub_registry::register(f.module(), fn_stub);\n\n // If a function is further modified as unconstrained, we throw an error\n if f.is_unconstrained() {\n let name = f.name();\n panic(\n f\"Function {name} is annotated with #[private] but marked as unconstrained, remove unconstrained keyword\",\n );\n }\n\n let module_has_initializer = module_has_initializer(f.module());\n let module_has_storage = module_has_storage(f.module());\n\n // Private functions undergo a lot of transformations from their Aztec.nr form into a circuit that can be fed to the\n // Private Kernel Circuit.\n // First we change the function signature so that it also receives `PrivateContextInputs`, which contain information\n // about the execution context (e.g. the caller).\n let original_params = f.parameters();\n f.set_parameters(&[(\n quote { inputs },\n quote { crate::context::inputs::private_context_inputs::PrivateContextInputs }.as_type(),\n )]\n .append(original_params));\n\n let mut body = f.body().as_block().unwrap();\n\n // The original params are hashed and passed to the `context` object, so that the kernel can verify we've received\n // the correct values.\n // TODO: Optimize args_hasher for small number of arguments\n let args_hasher_name = quote { args_hasher };\n let args_hasher = original_params.fold(\n quote {\n let mut $args_hasher_name = dep::aztec::hash::ArgsHasher::new();\n },\n |args_hasher, param: (Quoted, Type)| {\n let (name, typ) = param;\n let appended_arg = add_to_hasher(args_hasher_name, name, typ);\n quote {\n $args_hasher\n $appended_arg\n }\n },\n );\n\n let context_creation = quote {\n let mut context = dep::aztec::context::private_context::PrivateContext::new(inputs, dep::aztec::protocol_types::traits::Hash::hash($args_hasher_name));\n };\n\n // Modifications introduced by the different marker attributes.\n let internal_check = if is_fn_internal(f) {\n create_internal_check(f)\n } else {\n quote {}\n };\n\n let view_check = if is_fn_view(f) {\n create_view_check(f)\n } else {\n quote {}\n };\n\n let (assert_initializer, mark_as_initialized) = if is_fn_initializer(f) {\n (create_assert_correct_initializer_args(f), create_mark_as_initialized(f))\n } else {\n (quote {}, quote {})\n };\n\n let storage_init = if module_has_storage {\n quote {\n // Some functions don't access storage, but it'd be quite difficult to only inject this variable if it is\n // referenced. We instead ignore 'unused variable' warnings for it.\n #[allow(unused_variables)]\n let storage = Storage::init(&mut context);\n }\n } else {\n quote {}\n };\n\n // Initialization checks are not included in contracts that don't have initializers.\n let init_check = if module_has_initializer & !is_fn_initializer(f) & !fn_has_noinitcheck(f) {\n create_init_check(f)\n } else {\n quote {}\n };\n\n // All private functions perform message discovery, since they may need to access notes. This is slightly\n // inefficient and could be improved by only doing it once we actually attempt to read any.\n let message_discovery_call = if NOTES.len() > 0 {\n create_message_discovery_call()\n } else {\n quote {}\n };\n\n // Finally, we need to change the return type to be `PrivateCircuitPublicInputs`, which is what the Private Kernel\n // circuit expects.\n let return_value_var_name = quote { macro__returned__values };\n\n let return_value_type = f.return_type();\n let return_value = if body.len() == 0 {\n quote {}\n } else if return_value_type != type_of(()) {\n // The original return value is passed to a second args hasher which the context receives.\n let (body_without_return, last_body_expr) = body.pop_back();\n let return_value = last_body_expr.quoted();\n let return_value_assignment =\n quote { let $return_value_var_name: $return_value_type = $return_value; };\n let return_hasher_name = quote { return_hasher };\n let return_value_into_hasher =\n add_to_hasher(return_hasher_name, return_value_var_name, return_value_type);\n\n body = body_without_return;\n\n quote {\n let mut $return_hasher_name = dep::aztec::hash::ArgsHasher::new();\n $return_value_assignment\n $return_value_into_hasher\n context.set_return_hash($return_hasher_name);\n }\n } else {\n let (body_without_return, last_body_expr) = body.pop_back();\n if !last_body_expr.has_semicolon()\n & last_body_expr.as_for().is_none()\n & last_body_expr.as_assert().is_none()\n & last_body_expr.as_for_range().is_none()\n & last_body_expr.as_assert_eq().is_none()\n & last_body_expr.as_let().is_none() {\n let unused_return_value_name = f\"_{return_value_var_name}\".quoted_contents();\n body = body_without_return.push_back(\n quote { let $unused_return_value_name = $last_body_expr; }.as_expr().unwrap(),\n );\n }\n quote {}\n };\n\n let context_finish = quote { context.finish() };\n\n let to_prepend = quote {\n $args_hasher\n $context_creation\n $assert_initializer\n $init_check\n $internal_check\n $view_check\n $storage_init\n $message_discovery_call\n };\n\n let to_append = quote {\n $return_value\n $mark_as_initialized\n $context_finish\n };\n let modified_body = modify_fn_body(body, to_prepend, to_append);\n f.set_body(modified_body);\n f.set_return_type(\n quote { dep::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs }\n .as_type(),\n );\n f.set_return_data();\n\n fn_abi\n}\n\npub(crate) comptime fn transform_public(f: FunctionDefinition) -> Quoted {\n let fn_abi = create_fn_abi_export(f);\n let fn_stub = stub_fn(f);\n stub_registry::register(f.module(), fn_stub);\n\n // If a function is further modified as unconstrained, we throw an error\n if f.is_unconstrained() {\n let name = f.name();\n panic(\n f\"Function {name} is annotated with #[public] but marked as unconstrained, remove unconstrained keyword\",\n );\n }\n\n let module_has_initializer = module_has_initializer(f.module());\n let module_has_storage = module_has_storage(f.module());\n\n // Public functions undergo a lot of transformations from their Aztec.nr form.\n let original_params = f.parameters();\n let args_len = original_params\n .map(|(name, typ): (Quoted, Type)| {\n generate_serialize_to_fields(name, typ, false).0.len()\n })\n .fold(0, |acc: u32, val: u32| acc + val);\n\n // Unlike in the private case, in public the `context` does not need to receive the hash of the original params.\n let context_creation = quote {\n let mut context = dep::aztec::context::public_context::PublicContext::new(|| {\n // We start from 1 because we skip the selector for the dispatch function.\n let serialized_args : [Field; $args_len] = dep::aztec::context::public_context::calldata_copy(1, $args_len);\n dep::aztec::hash::hash_args_array(serialized_args)\n });\n };\n\n // Modifications introduced by the different marker attributes.\n let internal_check = if is_fn_internal(f) {\n create_internal_check(f)\n } else {\n quote {}\n };\n\n let view_check = if is_fn_view(f) {\n create_view_check(f)\n } else {\n quote {}\n };\n\n let (assert_initializer, mark_as_initialized) = if is_fn_initializer(f) {\n (create_assert_correct_initializer_args(f), create_mark_as_initialized(f))\n } else {\n (quote {}, quote {})\n };\n\n let storage_init = if module_has_storage {\n // Some functions don't access storage, but it'd be quite difficult to only inject this variable if it is\n // referenced. We instead ignore 'unused variable' warnings for it.\n quote {\n #[allow(unused_variables)]\n let storage = Storage::init(&mut context);\n }\n } else {\n quote {}\n };\n\n // Initialization checks are not included in contracts that don't have initializers.\n let init_check = if module_has_initializer & !fn_has_noinitcheck(f) & !is_fn_initializer(f) {\n create_init_check(f)\n } else {\n quote {}\n };\n\n let to_prepend = quote {\n $context_creation\n $assert_initializer\n $init_check\n $internal_check\n $view_check\n $storage_init\n };\n\n let to_append = quote {\n $mark_as_initialized\n };\n\n let body = f.body().as_block().unwrap();\n let modified_body = modify_fn_body(body, to_prepend, to_append);\n f.set_body(modified_body);\n\n // All public functions are automatically made unconstrained, even if they were not marked as such. This is because\n // instead of compiling into a circuit, they will compile to bytecode that will be later transpiled into AVM\n // bytecode.\n f.set_unconstrained(true);\n f.set_return_public(true);\n\n fn_abi\n}\n\npub(crate) comptime fn transform_utility(f: FunctionDefinition) -> Quoted {\n let fn_abi = create_fn_abi_export(f);\n let fn_stub = stub_fn(f);\n stub_registry::register(f.module(), fn_stub);\n\n // Check if function is marked as unconstrained\n if !f.is_unconstrained() {\n let name = f.name();\n panic(\n f\"Function {name} is annotated with #[utility] but not marked as unconstrained, add unconstrained keyword\",\n );\n }\n\n // Create utility context\n let context_creation =\n quote { let mut context = dep::aztec::context::utility_context::UtilityContext::new(); };\n let module_has_storage = module_has_storage(f.module());\n\n // Initialize Storage if module has storage\n let storage_init = if module_has_storage {\n quote {\n // Some functions don't access storage, but it'd be quite difficult to only inject this variable if it is\n // referenced. We instead ignore 'unused variable' warnings for it.\n #[allow(unused_variables)]\n let storage = Storage::init(context);\n }\n } else {\n quote {}\n };\n\n // All utility functions perform message discovery, since they may need to access private notes that would be\n // found during this process. This is slightly inefficient and could be improved by only doing it once we actually\n // attempt to read any.\n let message_discovery_call = if NOTES.len() > 0 {\n create_message_discovery_call()\n } else {\n quote {}\n };\n\n // Inject context creation, storage initialization, and message discovery call at the beginning of the function\n // body.\n let to_prepend = quote {\n $context_creation\n $storage_init\n $message_discovery_call\n };\n let body = f.body().as_block().unwrap();\n let modified_body = modify_fn_body(body, to_prepend, quote {});\n f.set_body(modified_body);\n\n f.set_return_public(true);\n\n fn_abi\n}\n\ncomptime fn create_internal_check(f: FunctionDefinition) -> Quoted {\n let name = f.name();\n let assertion_message = f\"Function {name} can only be called internally\";\n quote { assert(context.msg_sender() == context.this_address(), $assertion_message); }\n}\n\ncomptime fn create_view_check(f: FunctionDefinition) -> Quoted {\n let name = f.name();\n let assertion_message = f\"Function {name} can only be called statically\";\n if is_fn_private(f) {\n // Here `context` is of type context::PrivateContext\n quote { assert(context.inputs.call_context.is_static_call == true, $assertion_message); }\n } else {\n // Here `context` is of type context::PublicContext\n quote { assert(context.is_static_call(), $assertion_message); }\n }\n}\n\ncomptime fn create_assert_correct_initializer_args(f: FunctionDefinition) -> Quoted {\n let fn_visibility = get_fn_visibility(f);\n f\"dep::aztec::macros::functions::initialization_utils::assert_initialization_matches_address_preimage_{fn_visibility}(context);\"\n .quoted_contents()\n}\n\ncomptime fn create_mark_as_initialized(f: FunctionDefinition) -> Quoted {\n let fn_visibility = get_fn_visibility(f);\n f\"dep::aztec::macros::functions::initialization_utils::mark_as_initialized_{fn_visibility}(&mut context);\"\n .quoted_contents()\n}\n\ncomptime fn create_init_check(f: FunctionDefinition) -> Quoted {\n let fn_visibility = get_fn_visibility(f);\n f\"dep::aztec::macros::functions::initialization_utils::assert_is_initialized_{fn_visibility}(&mut context);\"\n .quoted_contents()\n}\n\n/// Injects a call to `aztec::messages::discovery::discover_new_messages`, causing for new notes to be added to PXE and made\n/// available for the current execution.\npub(crate) comptime fn create_message_discovery_call() -> Quoted {\n quote {\n /// Safety: message discovery returns nothing and is performed solely for its side-effects. It is therefore\n /// always safe to call.\n unsafe {\n dep::aztec::messages::discovery::discover_new_messages(\n context.this_address(),\n _compute_note_hash_and_nullifier,\n );\n };\n }\n}\n\n/// Checks if each function in the module is marked with either #[private], #[public], #[utility],\n/// #[contract_library_method], or #[test]. Non-macroified functions are not allowed in contracts.\npub(crate) comptime fn check_each_fn_macroified(m: Module) {\n for f in m.functions() {\n let name = f.name();\n if !is_fn_private(f)\n & !is_fn_public(f)\n & !is_fn_utility(f)\n & !is_fn_contract_library_method(f)\n & !is_fn_test(f) {\n panic(\n f\"Function {name} must be marked as either #[private], #[public], #[utility], #[contract_library_method], or #[test]\",\n );\n }\n }\n}\n"
|
|
6121
6170
|
},
|
|
6122
6171
|
"106": {
|
|
6123
6172
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/macros/notes.nr",
|
|
@@ -6133,7 +6182,7 @@
|
|
|
6133
6182
|
},
|
|
6134
6183
|
"111": {
|
|
6135
6184
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/messages/discovery/partial_notes.nr",
|
|
6136
|
-
"source": "use crate::{\n capsules::CapsuleArray,\n messages::{\n discovery::{ComputeNoteHashAndNullifier, nonce_discovery::attempt_note_nonce_discovery},\n encoding::MAX_MESSAGE_CONTENT_LEN,\n },\n oracle::message_discovery::{deliver_note, get_log_by_tag},\n utils::array,\n};\n\nuse dep::protocol_types::{\n address::AztecAddress,\n constants::
|
|
6185
|
+
"source": "use crate::{\n capsules::CapsuleArray,\n messages::{\n discovery::{ComputeNoteHashAndNullifier, nonce_discovery::attempt_note_nonce_discovery},\n encoding::MAX_MESSAGE_CONTENT_LEN,\n },\n oracle::message_discovery::{deliver_note, get_log_by_tag},\n utils::array,\n};\n\nuse dep::protocol_types::{\n address::AztecAddress,\n constants::PUBLIC_LOG_SIZE_IN_FIELDS,\n debug_log::debug_log_format,\n hash::sha256_to_field,\n traits::{Deserialize, Serialize, ToField},\n};\n\nglobal PARTIAL_NOTE_PRIVATE_MSG_CONTENT_NON_NOTE_FIELDS_LEN: u32 = 2;\n\n/// Partial notes have a maximum packed length of their private fields bound by extra content in their private message\n/// (e.g. the storage slot, note completion log tag, etc.).\npub global MAX_PARTIAL_NOTE_PRIVATE_PACKED_LEN: u32 =\n MAX_MESSAGE_CONTENT_LEN - PARTIAL_NOTE_PRIVATE_MSG_CONTENT_NON_NOTE_FIELDS_LEN;\n\n/// The slot in the PXE capsules where we store a `CapsuleArray` of `DeliveredPendingPartialNote`.\npub global DELIVERED_PENDING_PARTIAL_NOTE_ARRAY_LENGTH_CAPSULES_SLOT: Field = sha256_to_field(\n \"AZTEC_NR::DELIVERED_PENDING_PARTIAL_NOTE_ARRAY_LENGTH_CAPSULES_SLOT\".as_bytes(),\n);\n\n/// Public logs contain an extra field at the beginning with the address of the contract that emitted them, and partial\n/// notes emit their completion tag in the log, resulting in the first two fields in the public log not being part of\n/// the packed public content.\n// TODO(#10273): improve how contract log siloing is handled\npub global NON_PACKED_CONTENT_FIELDS_IN_PUBLIC_LOG: u32 = 2;\n\n/// The maximum length of the packed representation of public fields in a partial note. This is limited by public log\n/// size and extra fields in the log (e.g. the tag).\npub global MAX_PUBLIC_PARTIAL_NOTE_PACKED_CONTENT_LENGTH: u32 =\n PUBLIC_LOG_SIZE_IN_FIELDS - NON_PACKED_CONTENT_FIELDS_IN_PUBLIC_LOG;\n\n/// A partial note that was delivered but is still pending completion. Contains the information necessary to find the\n/// log that will complete it and lead to a note being discovered and delivered.\n#[derive(Serialize, Deserialize)]\npub(crate) struct DeliveredPendingPartialNote {\n pub(crate) note_completion_log_tag: Field,\n pub(crate) storage_slot: Field,\n pub(crate) note_type_id: Field,\n pub(crate) packed_private_note_content: BoundedVec<Field, MAX_PARTIAL_NOTE_PRIVATE_PACKED_LEN>,\n pub(crate) recipient: AztecAddress,\n}\n\npub unconstrained fn process_partial_note_private_msg(\n contract_address: AztecAddress,\n recipient: AztecAddress,\n msg_metadata: u64,\n msg_content: BoundedVec<Field, MAX_MESSAGE_CONTENT_LEN>,\n) {\n let (note_type_id, storage_slot, note_completion_log_tag, packed_private_note_content) =\n decode_partial_note_private_msg(msg_metadata, msg_content);\n\n // We store the information of the partial note we found in a persistent capsule in PXE, so that we can later search\n // for the public log that will complete it.\n let pending = DeliveredPendingPartialNote {\n note_completion_log_tag,\n storage_slot,\n note_type_id,\n packed_private_note_content,\n recipient,\n };\n\n CapsuleArray::at(\n contract_address,\n DELIVERED_PENDING_PARTIAL_NOTE_ARRAY_LENGTH_CAPSULES_SLOT,\n )\n .push(pending);\n}\n\n/// Searches for public logs that would result in the completion of pending partial notes, ultimately resulting in the\n/// notes being delivered to PXE if completed.\npub unconstrained fn fetch_and_process_public_partial_note_completion_logs<Env>(\n contract_address: AztecAddress,\n compute_note_hash_and_nullifier: ComputeNoteHashAndNullifier<Env>,\n) {\n let pending_partial_notes = CapsuleArray::at(\n contract_address,\n DELIVERED_PENDING_PARTIAL_NOTE_ARRAY_LENGTH_CAPSULES_SLOT,\n );\n\n debug_log_format(\n \"{} pending partial notes\",\n [pending_partial_notes.len() as Field],\n );\n\n pending_partial_notes.for_each(|i, pending_partial_note: DeliveredPendingPartialNote| {\n let maybe_log = get_log_by_tag(pending_partial_note.note_completion_log_tag);\n if maybe_log.is_none() {\n debug_log_format(\n \"Found no completion logs for partial note with tag {}\",\n [pending_partial_note.note_completion_log_tag],\n );\n\n // Note that we're not removing the pending partial note from the capsule array, so we will continue\n // searching for this tagged log when performing message discovery in the future until we either find it or\n // the entry is somehow removed from the array.\n } else {\n debug_log_format(\n \"Completion log found for partial note with tag {}\",\n [pending_partial_note.note_completion_log_tag],\n );\n let log = maybe_log.unwrap();\n\n // Public logs have an extra field at the beginning with the contract address, which we use to verify\n // that we're getting the logs from the expected contract.\n // TODO(#10273): improve how contract log siloing is handled\n assert_eq(\n log.log_content.get(0),\n contract_address.to_field(),\n \"Got a public log emitted by a different contract\",\n );\n\n // Public fields are assumed to all be placed at the end of the packed representation, so we combine the\n // private and public packed fields (i.e. the contents of the private message and public log sans the extra\n // fields) to get the complete packed content.\n let packed_public_note_content: BoundedVec<_, MAX_PUBLIC_PARTIAL_NOTE_PACKED_CONTENT_LENGTH> =\n array::subbvec(log.log_content, NON_PACKED_CONTENT_FIELDS_IN_PUBLIC_LOG);\n let complete_packed_note = array::append(\n pending_partial_note.packed_private_note_content,\n packed_public_note_content,\n );\n\n let discovered_notes = attempt_note_nonce_discovery(\n log.unique_note_hashes_in_tx,\n log.first_nullifier_in_tx,\n compute_note_hash_and_nullifier,\n contract_address,\n pending_partial_note.storage_slot,\n pending_partial_note.note_type_id,\n complete_packed_note,\n );\n\n debug_log_format(\n \"Discovered {0} notes for partial note with tag {1}\",\n [discovered_notes.len() as Field, pending_partial_note.note_completion_log_tag],\n );\n\n discovered_notes.for_each(|discovered_note| {\n // TODO:(#10728): decide how to handle notes that fail delivery. This could be due to e.g. a\n // temporary node connectivity issue - is simply throwing good enough here?\n assert(\n deliver_note(\n contract_address,\n pending_partial_note.storage_slot,\n discovered_note.nonce,\n complete_packed_note,\n discovered_note.note_hash,\n discovered_note.inner_nullifier,\n log.tx_hash,\n pending_partial_note.recipient,\n ),\n \"Failed to deliver note\",\n );\n });\n\n // Because there is only a single log for a given tag, once we've processed the tagged log then we\n // simply delete the pending work entry, regardless of whether it was actually completed or not.\n // TODO(#11627): only remove the pending entry if we actually process a log that results in the note\n // being completed.\n pending_partial_notes.remove(i);\n }\n });\n}\n\nfn decode_partial_note_private_msg(\n msg_metadata: u64,\n msg_content: BoundedVec<Field, MAX_MESSAGE_CONTENT_LEN>,\n) -> (Field, Field, Field, BoundedVec<Field, MAX_PARTIAL_NOTE_PRIVATE_PACKED_LEN>) {\n let note_type_id = msg_metadata as Field; // TODO: make note type id not be a full field\n\n assert(\n msg_content.len() > PARTIAL_NOTE_PRIVATE_MSG_CONTENT_NON_NOTE_FIELDS_LEN,\n f\"Invalid private note message: all partial note private messages must have at least {PARTIAL_NOTE_PRIVATE_MSG_CONTENT_NON_NOTE_FIELDS_LEN} fields\",\n );\n\n // If PARTIAL_NOTE_PRIVATE_MSG_CONTENT_NON_NOTE_FIELDS_LEN is changed, causing the assertion below to fail, then the\n // destructuring of the partial note private message encoding below must be updated as well.\n std::static_assert(\n PARTIAL_NOTE_PRIVATE_MSG_CONTENT_NON_NOTE_FIELDS_LEN == 2,\n \"unexpected value for PARTIAL_NOTE_PRIVATE_MSG_CONTENT_NON_NOTE_FIELDS_LEN\",\n );\n\n // We currently have two fields that are not the partial note's packed representation, which are the storage slot\n // and the note completion log tag.\n let storage_slot = msg_content.get(0);\n let note_completion_log_tag = msg_content.get(1);\n\n let packed_private_note_content = array::subbvec(msg_content, 2);\n\n (note_type_id, storage_slot, note_completion_log_tag, packed_private_note_content)\n}\n"
|
|
6137
6186
|
},
|
|
6138
6187
|
"113": {
|
|
6139
6188
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/messages/discovery/private_logs.nr",
|
|
@@ -6157,7 +6206,7 @@
|
|
|
6157
6206
|
},
|
|
6158
6207
|
"123": {
|
|
6159
6208
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/messages/logs/note.nr",
|
|
6160
|
-
"source": "use crate::{\n context::PrivateContext,\n messages::{\n encoding::encode_message,\n encryption::{aes128::AES128, log_encryption::LogEncryption},\n logs::utils::prefix_with_tag,\n msg_type::{PARTIAL_NOTE_PRIVATE_MSG_TYPE_ID, PRIVATE_NOTE_MSG_TYPE_ID},\n },\n note::{note_emission::NoteEmission, note_interface::NoteType},\n};\nuse protocol_types::{\n abis::note_hash::NoteHash, address::AztecAddress, constants::PRIVATE_LOG_SIZE_IN_FIELDS,\n traits::Packable,\n};\n\n// TODO: it feels like this existence check is in the wrong place. In fact, why is it needed at all? Under what circumstances have we found a non-existent note being emitted accidentally?\nfn assert_note_exists(context: PrivateContext, note_hash_counter: u32) {\n // TODO(#8589): use typesystem to skip this check when not needed\n let note_exists =\n context.note_hashes.storage().any(|n: NoteHash| n.counter == note_hash_counter);\n assert(note_exists, \"Can only emit a note log for an existing note.\");\n}\n\npub fn compute_note_log<Note, let N: u32>(\n note: Note,\n storage_slot: Field,\n recipient: AztecAddress,\n sender: AztecAddress,\n) -> [Field; PRIVATE_LOG_SIZE_IN_FIELDS]\nwhere\n Note: NoteType + Packable<N>,\n{\n compute_log(\n note,\n storage_slot,\n recipient,\n sender,\n PRIVATE_NOTE_MSG_TYPE_ID,\n )\n}\n\npub fn compute_partial_note_log<Note, let N: u32>(\n note: Note,\n storage_slot: Field,\n recipient: AztecAddress,\n sender: AztecAddress,\n) -> [Field; PRIVATE_LOG_SIZE_IN_FIELDS]\nwhere\n Note: NoteType + Packable<N>,\n{\n compute_log(\n note,\n storage_slot,\n recipient,\n sender,\n PARTIAL_NOTE_PRIVATE_MSG_TYPE_ID,\n )\n}\n\nfn compute_log<Note, let N: u32>(\n note: Note,\n storage_slot: Field,\n recipient: AztecAddress,\n sender: AztecAddress,\n msg_type: u64,\n) -> [Field; PRIVATE_LOG_SIZE_IN_FIELDS]\nwhere\n Note: NoteType + Packable<N>,\n{\n let packed_note = note.pack();\n\n // A note message's content is the storage slot followed by the packed note representation\n let mut msg_content: [Field; N + 1] = std::mem::zeroed();\n msg_content[0] = storage_slot;\n for i in 0..packed_note.len() {\n msg_content[1 + i] = packed_note[i];\n }\n\n // Notes use the note type id for metadata\n let plaintext = encode_message(msg_type, Note::get_id() as u64, msg_content);\n\n let ciphertext = AES128::encrypt_log(plaintext, recipient);\n\n let log = prefix_with_tag(ciphertext, sender, recipient);\n\n log\n}\n\npub unconstrained fn compute_note_log_unconstrained<Note, let N: u32>(\n note: Note,\n storage_slot: Field,\n recipient: AztecAddress,\n sender: AztecAddress,\n) -> [Field; PRIVATE_LOG_SIZE_IN_FIELDS]\nwhere\n Note: NoteType + Packable<N>,\n{\n compute_note_log(note, storage_slot, recipient, sender)\n}\n\n/// Sends an encrypted message to `recipient` with the content of the note, which they will discover when processing\n/// private logs.\npub fn encode_and_encrypt_note<Note, let N: u32>(\n context: &mut PrivateContext,\n recipient: AztecAddress,\n // We need this because to compute a tagging secret, we require a sender:\n sender: AztecAddress,\n) -> fn[(&mut PrivateContext, AztecAddress, AztecAddress)](NoteEmission<Note>) -> ()\nwhere\n Note: NoteType + Packable<N>,\n{\n |e: NoteEmission<Note>| {\n let note = e.note;\n let storage_slot = e.storage_slot;\n let note_hash_counter = e.note_hash_counter;\n assert_note_exists(*context, note_hash_counter);\n\n let encrypted_log = compute_note_log(note, storage_slot, recipient, sender);\n context.emit_raw_note_log(encrypted_log, note_hash_counter);\n }\n}\n\n/// Same as `encode_and_encrypt_note`, except encryption is unconstrained. This means that the sender is free to make\n/// the log contents be whatever they wish, potentially resulting in scenarios in which the recipient is unable to\n/// decrypt and process the payload, **leading to the note being lost**.\n///\n/// Only use this function in scenarios where the recipient not receiving the note is an acceptable outcome.\npub fn encode_and_encrypt_note_unconstrained<Note, let N: u32>(\n context: &mut PrivateContext,\n recipient: AztecAddress,\n // We need this because to compute a tagging secret, we require a sender:\n sender: AztecAddress,\n) -> fn[(&mut PrivateContext, AztecAddress, AztecAddress)](NoteEmission<Note>) -> ()\nwhere\n Note: NoteType + Packable<N>,\n{\n |e: NoteEmission<Note>| {\n let note = e.note;\n let storage_slot = e.storage_slot;\n let note_hash_counter = e.note_hash_counter;\n\n assert_note_exists(*context, note_hash_counter);\n\n // Safety: this function does not constrain the encryption of the log, as explained on its description.\n let encrypted_log =\n unsafe { compute_note_log_unconstrained(note, storage_slot, recipient, sender) };\n context.emit_raw_note_log(encrypted_log, note_hash_counter);\n }\n}\n"
|
|
6209
|
+
"source": "use crate::{\n context::PrivateContext,\n messages::{\n encoding::encode_message,\n encryption::{aes128::AES128, log_encryption::LogEncryption},\n logs::utils::prefix_with_tag,\n msg_type::{PARTIAL_NOTE_PRIVATE_MSG_TYPE_ID, PRIVATE_NOTE_MSG_TYPE_ID},\n },\n note::{note_emission::NoteEmission, note_interface::NoteType},\n};\nuse protocol_types::{\n abis::note_hash::NoteHash, address::AztecAddress, constants::PRIVATE_LOG_SIZE_IN_FIELDS,\n traits::Packable,\n};\n\n// TODO: it feels like this existence check is in the wrong place. In fact, why is it needed at all? Under what circumstances have we found a non-existent note being emitted accidentally?\nfn assert_note_exists(context: PrivateContext, note_hash_counter: u32) {\n // TODO(#8589): use typesystem to skip this check when not needed\n let note_exists =\n context.note_hashes.storage().any(|n: NoteHash| n.counter == note_hash_counter);\n assert(note_exists, \"Can only emit a note log for an existing note.\");\n}\n\npub fn compute_note_log<Note, let N: u32>(\n note: Note,\n storage_slot: Field,\n recipient: AztecAddress,\n sender: AztecAddress,\n) -> [Field; PRIVATE_LOG_SIZE_IN_FIELDS]\nwhere\n Note: NoteType + Packable<N>,\n{\n compute_log(\n note,\n storage_slot,\n recipient,\n sender,\n PRIVATE_NOTE_MSG_TYPE_ID,\n )\n}\n\npub fn compute_partial_note_log<Note, let N: u32>(\n note: Note,\n storage_slot: Field,\n recipient: AztecAddress,\n sender: AztecAddress,\n) -> [Field; PRIVATE_LOG_SIZE_IN_FIELDS]\nwhere\n Note: NoteType + Packable<N>,\n{\n compute_log(\n note,\n storage_slot,\n recipient,\n sender,\n PARTIAL_NOTE_PRIVATE_MSG_TYPE_ID,\n )\n}\n\nfn compute_log<Note, let N: u32>(\n note: Note,\n storage_slot: Field,\n recipient: AztecAddress,\n sender: AztecAddress,\n msg_type: u64,\n) -> [Field; PRIVATE_LOG_SIZE_IN_FIELDS]\nwhere\n Note: NoteType + Packable<N>,\n{\n let packed_note = note.pack();\n\n // A note message's content is the storage slot followed by the packed note representation\n let mut msg_content: [Field; N + 1] = std::mem::zeroed();\n msg_content[0] = storage_slot;\n for i in 0..packed_note.len() {\n msg_content[1 + i] = packed_note[i];\n }\n\n // Notes use the note type id for metadata\n let plaintext = encode_message(msg_type, Note::get_id() as u64, msg_content);\n\n let ciphertext = AES128::encrypt_log(plaintext, recipient);\n\n let log = prefix_with_tag(ciphertext, sender, recipient);\n\n log\n}\n\npub unconstrained fn compute_note_log_unconstrained<Note, let N: u32>(\n note: Note,\n storage_slot: Field,\n recipient: AztecAddress,\n sender: AztecAddress,\n) -> [Field; PRIVATE_LOG_SIZE_IN_FIELDS]\nwhere\n Note: NoteType + Packable<N>,\n{\n compute_note_log(note, storage_slot, recipient, sender)\n}\n\n/// Sends an encrypted message to `recipient` with the content of the note, which they will discover when processing\n/// private logs.\npub fn encode_and_encrypt_note<Note, let N: u32>(\n context: &mut PrivateContext,\n recipient: AztecAddress,\n // We need this because to compute a tagging secret, we require a sender:\n sender: AztecAddress,\n) -> fn[(&mut PrivateContext, AztecAddress, AztecAddress)](NoteEmission<Note>) -> ()\nwhere\n Note: NoteType + Packable<N>,\n{\n |e: NoteEmission<Note>| {\n let note = e.note;\n let storage_slot = e.storage_slot;\n let note_hash_counter = e.note_hash_counter;\n assert_note_exists(*context, note_hash_counter);\n\n let encrypted_log = compute_note_log(note, storage_slot, recipient, sender);\n // Regardless of the original note size `N, the log is padded with random bytes up to\n // `PRIVATE_LOG_SIZE_IN_FIELDS` to prevent leaking information about the actual size.\n let length = encrypted_log.len();\n context.emit_raw_note_log(encrypted_log, length, note_hash_counter);\n }\n}\n\n/// Same as `encode_and_encrypt_note`, except encryption is unconstrained. This means that the sender is free to make\n/// the log contents be whatever they wish, potentially resulting in scenarios in which the recipient is unable to\n/// decrypt and process the payload, **leading to the note being lost**.\n///\n/// Only use this function in scenarios where the recipient not receiving the note is an acceptable outcome.\npub fn encode_and_encrypt_note_unconstrained<Note, let N: u32>(\n context: &mut PrivateContext,\n recipient: AztecAddress,\n // We need this because to compute a tagging secret, we require a sender:\n sender: AztecAddress,\n) -> fn[(&mut PrivateContext, AztecAddress, AztecAddress)](NoteEmission<Note>) -> ()\nwhere\n Note: NoteType + Packable<N>,\n{\n |e: NoteEmission<Note>| {\n let note = e.note;\n let storage_slot = e.storage_slot;\n let note_hash_counter = e.note_hash_counter;\n\n assert_note_exists(*context, note_hash_counter);\n\n // Safety: this function does not constrain the encryption of the log, as explained on its description.\n let encrypted_log =\n unsafe { compute_note_log_unconstrained(note, storage_slot, recipient, sender) };\n // Regardless of the original note size `N`, the log is padded with random bytes up to\n // `PRIVATE_LOG_SIZE_IN_FIELDS` to prevent leaking information about the actual size.\n let length = encrypted_log.len();\n context.emit_raw_note_log(encrypted_log, length, note_hash_counter);\n }\n}\n"
|
|
6161
6210
|
},
|
|
6162
6211
|
"124": {
|
|
6163
6212
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/messages/logs/utils.nr",
|
|
@@ -6173,12 +6222,16 @@
|
|
|
6173
6222
|
},
|
|
6174
6223
|
"134": {
|
|
6175
6224
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/note/note_getter.nr",
|
|
6176
|
-
"source": "use crate::context::PrivateContext;\nuse crate::note::{\n constants::{GET_NOTE_ORACLE_RETURN_LENGTH, VIEW_NOTE_ORACLE_RETURN_LENGTH},\n note_getter_options::{NoteGetterOptions, NoteStatus, PropertySelector, Select, Sort, SortOrder},\n note_interface::{NoteHash, NoteType},\n note_viewer_options::NoteViewerOptions,\n retrieved_note::RetrievedNote,\n utils::compute_note_hash_for_read_request,\n};\nuse crate::oracle;\nuse crate::utils::{array, comparison::compare};\nuse dep::protocol_types::{\n constants::{GET_NOTES_ORACLE_RETURN_LENGTH, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL},\n traits::{Packable, ToField},\n};\n\npub use crate::note::constants::MAX_NOTES_PER_PAGE;\n\nmod test;\n\nfn extract_property_value_from_selector<let N: u32>(\n packed_note: [Field; N],\n selector: PropertySelector,\n) -> Field {\n // Selectors use PropertySelectors in order to locate note properties inside the packed note.\n // This allows easier packing and custom (un)packing schemas. A note property is located\n // inside the packed note using the index inside the array, a byte offset and a length.\n let value: [u8; 32] = packed_note[selector.index as u32].to_be_bytes();\n let offset = selector.offset;\n let length = selector.length;\n let mut value_field = 0 as Field;\n let mut acc: Field = 1;\n for i in 0..32 {\n if i < length {\n value_field += value[(31 + offset - i) as u32] as Field * acc;\n acc = acc * 256;\n }\n }\n value_field\n}\n\nfn check_packed_note<let N: u32>(packed_note: [Field; N], selects: BoundedVec<Option<Select>, N>) {\n for i in 0..selects.len() {\n let select = selects.get_unchecked(i).unwrap_unchecked();\n let value_field =\n extract_property_value_from_selector(packed_note, select.property_selector);\n\n assert(\n compare(value_field, select.comparator, select.value.to_field()),\n \"Mismatch return note field.\",\n );\n }\n}\n\nfn check_notes_order<let N: u32>(\n fields_0: [Field; N],\n fields_1: [Field; N],\n sorts: BoundedVec<Option<Sort>, N>,\n) {\n for i in 0..sorts.len() {\n let sort = sorts.get_unchecked(i).unwrap_unchecked();\n let field_0 = extract_property_value_from_selector(fields_0, sort.property_selector);\n let field_1 = extract_property_value_from_selector(fields_1, sort.property_selector);\n let eq = field_0 == field_1;\n let lt = field_0.lt(field_1);\n if sort.order == SortOrder.ASC {\n assert(eq | lt, \"Return notes not sorted in ascending order.\");\n } else if !eq {\n assert(!lt, \"Return notes not sorted in descending order.\");\n }\n }\n}\n\npub fn get_note<Note, let N: u32>(\n context: &mut PrivateContext,\n storage_slot: Field,\n) -> (RetrievedNote<Note>, Field)\nwhere\n Note: NoteType + NoteHash + Packable<N>,\n{\n // Safety: Constraining that we got a valid note from the oracle is fairly straightforward: all we need to do\n // is check that the metadata is correct, and that the note exists.\n let retrieved_note = unsafe { get_note_internal::<Note, N>(storage_slot) };\n\n // For settled notes, the contract address is implicitly checked since the hash returned from\n // `compute_note_hash_for_read_request` is siloed and kernels verify the siloing during note read request\n // validation. Pending notes however are read with the unsiloed note hash, so we need to check that the contract\n // address returned from the oracle matches. Since branching in circuits is expensive, we perform this check on all\n // note types.\n assert(\n retrieved_note.contract_address.eq(context.this_address()),\n \"Note contract address mismatch.\",\n );\n\n let note_hash_for_read_request =\n compute_note_hash_for_read_request(retrieved_note, storage_slot);\n context.push_note_hash_read_request(note_hash_for_read_request);\n\n (retrieved_note, note_hash_for_read_request)\n}\n\n/// Returns a BoundedVec of notes that have been proven to have been created by this contract, either in the current or\n/// past transactions (i.e. pending or settled notes). A second BoundedVec contains the note hashes used for the read\n/// requests, which can save constraints when computing the note's nullifiers.\n///\n/// WARNING: recall that notes are never destroyed! Note existence therefore does not imply that the note is _current_\n/// or _valid_ - this typically requires also emitting the note's nullifier to prove that it had not been emitted\n/// before. Because of this, calling this function directly from end-user applications should be discouraged, and safe\n/// abstractions such as aztec-nr's state variables should be used instead.\npub fn get_notes<Note, let N: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n context: &mut PrivateContext,\n storage_slot: Field,\n options: NoteGetterOptions<Note, N, PREPROCESSOR_ARGS, FILTER_ARGS>,\n ) -> (BoundedVec<RetrievedNote<Note>, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>, BoundedVec<Field, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>)\nwhere\n Note: NoteType + NoteHash + Eq + Packable<N>,\n{\n // Safety: The notes are constrained below.\n let opt_notes = unsafe { get_notes_internal(storage_slot, options) };\n\n // We apply the constraints in a separate function instead of inlining them here to make it easier to test that\n // these checks correctly reject bad notes.\n constrain_get_notes_internal(context, storage_slot, opt_notes, options)\n}\n\nunconstrained fn apply_preprocessor<Note, PREPROCESSOR_ARGS>(\n notes: [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n preprocessor: fn([Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL], PREPROCESSOR_ARGS) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n preprocessor_args: PREPROCESSOR_ARGS,\n) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL] {\n preprocessor(notes, preprocessor_args)\n}\n\nfn constrain_get_notes_internal<Note, let N: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n context: &mut PrivateContext,\n storage_slot: Field,\n opt_notes: [Option<RetrievedNote<Note>>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n options: NoteGetterOptions<Note, N, PREPROCESSOR_ARGS, FILTER_ARGS>,\n ) -> (BoundedVec<RetrievedNote<Note>, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>, BoundedVec<Field, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>)\nwhere\n Note: NoteType + NoteHash + Eq + Packable<N>,\n{\n // The filter is applied first to avoid pushing note read requests for notes we're not interested in. Note that\n // while the filter function can technically mutate the notes (as opposed to simply removing some), the private\n // kernel will later validate that these note actually exist, so transformations would cause for that check\n // to fail.\n let filter_fn = options.filter;\n let filter_args = options.filter_args;\n let filtered_notes = filter_fn(opt_notes, filter_args);\n\n let notes = array::collapse(filtered_notes);\n let mut note_hashes = BoundedVec::new();\n\n // We have now collapsed the sparse array of Options into a BoundedVec. This is a more ergonomic type and also\n // results in reduced gate counts when setting a limit value, since we guarantee that the limit is an upper bound\n // for the runtime length, and can therefore have fewer loop iterations.\n assert(notes.len() <= options.limit, \"Got more notes than limit.\");\n\n let mut prev_packed_note = [0; N];\n for i in 0..options.limit {\n if i < notes.len() {\n let retrieved_note = notes.get_unchecked(i);\n\n // For settled notes, the contract address is implicitly checked since the hash returned from\n // `compute_note_hash_for_read_request` is siloed and kernels verify the siloing during note read request\n // validation. Pending notes however are read with the unsiloed note hash, so we need to check that the\n // contract address returned from the oracle matches. Since branching in circuits is expensive, we perform\n // this check on all note types.\n assert(\n retrieved_note.contract_address.eq(context.this_address()),\n \"Note contract address mismatch.\",\n );\n\n let packed_note = retrieved_note.note.pack();\n check_packed_note(packed_note, options.selects);\n if i != 0 {\n check_notes_order(prev_packed_note, packed_note, options.sorts);\n }\n prev_packed_note = packed_note;\n\n let note_hash_for_read_request =\n compute_note_hash_for_read_request(retrieved_note, storage_slot);\n context.push_note_hash_read_request(note_hash_for_read_request);\n note_hashes.push(note_hash_for_read_request);\n };\n }\n\n (notes, note_hashes)\n}\n\nunconstrained fn get_note_internal<Note, let N: u32>(storage_slot: Field) -> RetrievedNote<Note>\nwhere\n Note: NoteType + Packable<N>,\n{\n let placeholder_fields = [0; GET_NOTE_ORACLE_RETURN_LENGTH];\n let opt_notes: [_; 1] = oracle::notes::get_notes(\n storage_slot,\n 0,\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n 1, // limit\n 0, // offset\n NoteStatus.ACTIVE,\n placeholder_fields,\n );\n\n opt_notes[0].expect(f\"Failed to get a note\") // Notice: we don't allow dummies to be returned from get_note (singular).\n}\n\nunconstrained fn get_notes_internal<Note, let N: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n storage_slot: Field,\n options: NoteGetterOptions<Note, N, PREPROCESSOR_ARGS, FILTER_ARGS>,\n) -> [Option<RetrievedNote<Note>>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL]\nwhere\n Note: NoteType + Packable<N>,\n{\n // This function simply performs some transformations from NoteGetterOptions into the types required by the oracle.\n let (num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values, select_comparators, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order) =\n flatten_options(options.selects, options.sorts);\n let placeholder_fields = [0; GET_NOTES_ORACLE_RETURN_LENGTH];\n\n let opt_notes = oracle::notes::get_notes(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n options.limit,\n options.offset,\n options.status,\n placeholder_fields,\n );\n\n apply_preprocessor(opt_notes, options.preprocessor, options.preprocessor_args)\n}\n\n/// Unconstrained variant of `get_notes`, meant to be used in unconstrained execution contexts. Notably only the note\n/// content is returned, and not any of the information used when proving its existence (e.g. nonce, note hash, etc.).\npub unconstrained fn view_notes<Note, let N: u32>(\n storage_slot: Field,\n options: NoteViewerOptions<Note, N>,\n) -> BoundedVec<Note, MAX_NOTES_PER_PAGE>\nwhere\n Note: NoteType + Packable<N> + Eq,\n{\n let (num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values, select_comparators, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order) =\n flatten_options(options.selects, options.sorts);\n let placeholder_fields = [0; VIEW_NOTE_ORACLE_RETURN_LENGTH];\n\n // We fetch the notes from the same oracle we use in the constrained case, except we don't bother inspecting the\n // metadata in order to prove existence.\n let opt_notes = oracle::notes::get_notes(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n options.limit,\n options.offset,\n options.status,\n placeholder_fields,\n );\n\n // Even though we don't expect for the opt_notes array to be sparse, collapse is still useful in this case to\n // convert it into a BoundedVec.\n array::collapse(opt_notes).map(\n // view_notes just returns the actual note, so we drop the metadata\n |retrieved_note| retrieved_note.note,\n )\n}\n\nunconstrained fn flatten_options<let N: u32>(\n selects: BoundedVec<Option<Select>, N>,\n sorts: BoundedVec<Option<Sort>, N>,\n) -> (u8, [u8; N], [u8; N], [u8; N], [Field; N], [u8; N], [u8; N], [u8; N], [u8; N], [u8; N]) {\n let mut num_selects = 0;\n let mut select_by_indexes = [0; N];\n let mut select_by_offsets = [0; N];\n let mut select_by_lengths = [0; N];\n let mut select_values = [0; N];\n let mut select_comparators = [0; N];\n\n for i in 0..selects.len() {\n let select = selects.get(i);\n if select.is_some() {\n select_by_indexes[num_selects as u32] =\n select.unwrap_unchecked().property_selector.index;\n select_by_offsets[num_selects as u32] =\n select.unwrap_unchecked().property_selector.offset;\n select_by_lengths[num_selects as u32] =\n select.unwrap_unchecked().property_selector.length;\n select_values[num_selects as u32] = select.unwrap_unchecked().value;\n select_comparators[num_selects as u32] = select.unwrap_unchecked().comparator;\n num_selects += 1;\n };\n }\n\n let mut sort_by_indexes = [0; N];\n let mut sort_by_offsets = [0; N];\n let mut sort_by_lengths = [0; N];\n let mut sort_order = [0; N];\n for i in 0..sorts.len() {\n let sort = sorts.get(i);\n if sort.is_some() {\n sort_by_indexes[i] = sort.unwrap_unchecked().property_selector.index;\n sort_by_offsets[i] = sort.unwrap_unchecked().property_selector.offset;\n sort_by_lengths[i] = sort.unwrap_unchecked().property_selector.length;\n sort_order[i] = sort.unwrap_unchecked().order;\n };\n }\n\n (\n num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values,\n select_comparators, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order,\n )\n}\n"
|
|
6225
|
+
"source": "use crate::{\n context::PrivateContext,\n note::{\n note_getter_options::{\n NoteGetterOptions, NoteStatus, PropertySelector, Select, Sort, SortOrder,\n },\n note_interface::{NoteHash, NoteType},\n note_viewer_options::NoteViewerOptions,\n retrieved_note::RetrievedNote,\n utils::compute_note_hash_for_read_request,\n },\n oracle,\n utils::{array, comparison::compare},\n};\n\nuse protocol_types::{constants::MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, traits::{Packable, ToField}};\n\npub use crate::note::constants::MAX_NOTES_PER_PAGE;\n\nmod test;\n\nfn extract_property_value_from_selector<let N: u32>(\n packed_note: [Field; N],\n selector: PropertySelector,\n) -> Field {\n // Selectors use PropertySelectors in order to locate note properties inside the packed note.\n // This allows easier packing and custom (un)packing schemas. A note property is located\n // inside the packed note using the index inside the array, a byte offset and a length.\n let value: [u8; 32] = packed_note[selector.index as u32].to_be_bytes();\n let offset = selector.offset;\n let length = selector.length;\n let mut value_field = 0 as Field;\n let mut acc: Field = 1;\n for i in 0..32 {\n if i < length {\n value_field += value[(31 + offset - i) as u32] as Field * acc;\n acc = acc * 256;\n }\n }\n value_field\n}\n\nfn check_packed_note<let N: u32>(packed_note: [Field; N], selects: BoundedVec<Option<Select>, N>) {\n for i in 0..selects.len() {\n let select = selects.get_unchecked(i).unwrap_unchecked();\n let value_field =\n extract_property_value_from_selector(packed_note, select.property_selector);\n\n assert(\n compare(value_field, select.comparator, select.value.to_field()),\n \"Mismatch return note field.\",\n );\n }\n}\n\nfn check_notes_order<let N: u32>(\n fields_0: [Field; N],\n fields_1: [Field; N],\n sorts: BoundedVec<Option<Sort>, N>,\n) {\n for i in 0..sorts.len() {\n let sort = sorts.get_unchecked(i).unwrap_unchecked();\n let field_0 = extract_property_value_from_selector(fields_0, sort.property_selector);\n let field_1 = extract_property_value_from_selector(fields_1, sort.property_selector);\n let eq = field_0 == field_1;\n let lt = field_0.lt(field_1);\n if sort.order == SortOrder.ASC {\n assert(eq | lt, \"Return notes not sorted in ascending order.\");\n } else if !eq {\n assert(!lt, \"Return notes not sorted in descending order.\");\n }\n }\n}\n\npub fn get_note<Note, let N: u32>(\n context: &mut PrivateContext,\n storage_slot: Field,\n) -> (RetrievedNote<Note>, Field)\nwhere\n Note: NoteType + NoteHash + Packable<N>,\n{\n // Safety: Constraining that we got a valid note from the oracle is fairly straightforward: all we need to do\n // is check that the metadata is correct, and that the note exists.\n let retrieved_note = unsafe { get_note_internal::<Note, N>(storage_slot) };\n\n // For settled notes, the contract address is implicitly checked since the hash returned from\n // `compute_note_hash_for_read_request` is siloed and kernels verify the siloing during note read request\n // validation. Pending notes however are read with the unsiloed note hash, so we need to check that the contract\n // address returned from the oracle matches. Since branching in circuits is expensive, we perform this check on all\n // note types.\n assert(\n retrieved_note.contract_address.eq(context.this_address()),\n \"Note contract address mismatch.\",\n );\n\n let note_hash_for_read_request =\n compute_note_hash_for_read_request(retrieved_note, storage_slot);\n context.push_note_hash_read_request(note_hash_for_read_request);\n\n (retrieved_note, note_hash_for_read_request)\n}\n\n/// Returns a BoundedVec of notes that have been proven to have been created by this contract, either in the current or\n/// past transactions (i.e. pending or settled notes). A second BoundedVec contains the note hashes used for the read\n/// requests, which can save constraints when computing the note's nullifiers.\n///\n/// WARNING: recall that notes are never destroyed! Note existence therefore does not imply that the note is _current_\n/// or _valid_ - this typically requires also emitting the note's nullifier to prove that it had not been emitted\n/// before. Because of this, calling this function directly from end-user applications should be discouraged, and safe\n/// abstractions such as aztec-nr's state variables should be used instead.\npub fn get_notes<Note, let N: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n context: &mut PrivateContext,\n storage_slot: Field,\n options: NoteGetterOptions<Note, N, PREPROCESSOR_ARGS, FILTER_ARGS>,\n ) -> (BoundedVec<RetrievedNote<Note>, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>, BoundedVec<Field, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>)\nwhere\n Note: NoteType + NoteHash + Eq + Packable<N>,\n{\n // Safety: The notes are constrained below.\n let opt_notes = unsafe { get_notes_internal(storage_slot, options) };\n\n // We apply the constraints in a separate function instead of inlining them here to make it easier to test that\n // these checks correctly reject bad notes.\n constrain_get_notes_internal(context, storage_slot, opt_notes, options)\n}\n\nunconstrained fn apply_preprocessor<Note, PREPROCESSOR_ARGS>(\n notes: [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n preprocessor: fn([Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL], PREPROCESSOR_ARGS) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n preprocessor_args: PREPROCESSOR_ARGS,\n) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL] {\n preprocessor(notes, preprocessor_args)\n}\n\nfn constrain_get_notes_internal<Note, let N: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n context: &mut PrivateContext,\n storage_slot: Field,\n opt_notes: [Option<RetrievedNote<Note>>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n options: NoteGetterOptions<Note, N, PREPROCESSOR_ARGS, FILTER_ARGS>,\n ) -> (BoundedVec<RetrievedNote<Note>, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>, BoundedVec<Field, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>)\nwhere\n Note: NoteType + NoteHash + Eq + Packable<N>,\n{\n // The filter is applied first to avoid pushing note read requests for notes we're not interested in. Note that\n // while the filter function can technically mutate the notes (as opposed to simply removing some), the private\n // kernel will later validate that these note actually exist, so transformations would cause for that check\n // to fail.\n let filter_fn = options.filter;\n let filter_args = options.filter_args;\n let filtered_notes = filter_fn(opt_notes, filter_args);\n\n let notes = array::collapse(filtered_notes);\n let mut note_hashes = BoundedVec::new();\n\n // We have now collapsed the sparse array of Options into a BoundedVec. This is a more ergonomic type and also\n // results in reduced gate counts when setting a limit value, since we guarantee that the limit is an upper bound\n // for the runtime length, and can therefore have fewer loop iterations.\n assert(notes.len() <= options.limit, \"Got more notes than limit.\");\n\n let mut prev_packed_note = [0; N];\n for i in 0..options.limit {\n if i < notes.len() {\n let retrieved_note = notes.get_unchecked(i);\n\n // For settled notes, the contract address is implicitly checked since the hash returned from\n // `compute_note_hash_for_read_request` is siloed and kernels verify the siloing during note read request\n // validation. Pending notes however are read with the unsiloed note hash, so we need to check that the\n // contract address returned from the oracle matches. Since branching in circuits is expensive, we perform\n // this check on all note types.\n assert(\n retrieved_note.contract_address.eq(context.this_address()),\n \"Note contract address mismatch.\",\n );\n\n let packed_note = retrieved_note.note.pack();\n check_packed_note(packed_note, options.selects);\n if i != 0 {\n check_notes_order(prev_packed_note, packed_note, options.sorts);\n }\n prev_packed_note = packed_note;\n\n let note_hash_for_read_request =\n compute_note_hash_for_read_request(retrieved_note, storage_slot);\n context.push_note_hash_read_request(note_hash_for_read_request);\n note_hashes.push(note_hash_for_read_request);\n };\n }\n\n (notes, note_hashes)\n}\n\nunconstrained fn get_note_internal<Note, let N: u32>(storage_slot: Field) -> RetrievedNote<Note>\nwhere\n Note: NoteType + Packable<N>,\n{\n let opt_notes: [_; 1] = oracle::notes::get_notes(\n storage_slot,\n 0,\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n 1, // limit\n 0, // offset\n NoteStatus.ACTIVE,\n );\n\n opt_notes[0].expect(f\"Failed to get a note\") // Notice: we don't allow dummies to be returned from get_note (singular).\n}\n\nunconstrained fn get_notes_internal<Note, let N: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n storage_slot: Field,\n options: NoteGetterOptions<Note, N, PREPROCESSOR_ARGS, FILTER_ARGS>,\n) -> [Option<RetrievedNote<Note>>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL]\nwhere\n Note: NoteType + Packable<N>,\n{\n // This function simply performs some transformations from NoteGetterOptions into the types required by the oracle.\n let (num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values, select_comparators, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order) =\n flatten_options(options.selects, options.sorts);\n\n let opt_notes = oracle::notes::get_notes(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n options.limit,\n options.offset,\n options.status,\n );\n\n apply_preprocessor(opt_notes, options.preprocessor, options.preprocessor_args)\n}\n\n/// Unconstrained variant of `get_notes`, meant to be used in unconstrained execution contexts. Notably only the note\n/// content is returned, and not any of the information used when proving its existence (e.g. nonce, note hash, etc.).\npub unconstrained fn view_notes<Note, let N: u32>(\n storage_slot: Field,\n options: NoteViewerOptions<Note, N>,\n) -> BoundedVec<Note, MAX_NOTES_PER_PAGE>\nwhere\n Note: NoteType + Packable<N> + Eq,\n{\n let (num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values, select_comparators, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order) =\n flatten_options(options.selects, options.sorts);\n\n // We fetch the notes from the same oracle we use in the constrained case, except we don't bother inspecting the\n // metadata in order to prove existence.\n let opt_notes = oracle::notes::get_notes(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n options.limit,\n options.offset,\n options.status,\n );\n\n // Even though we don't expect for the opt_notes array to be sparse, collapse is still useful in this case to\n // convert it into a BoundedVec.\n array::collapse(opt_notes).map(\n // view_notes just returns the actual note, so we drop the metadata\n |retrieved_note| retrieved_note.note,\n )\n}\n\nunconstrained fn flatten_options<let N: u32>(\n selects: BoundedVec<Option<Select>, N>,\n sorts: BoundedVec<Option<Sort>, N>,\n) -> (u8, [u8; N], [u8; N], [u8; N], [Field; N], [u8; N], [u8; N], [u8; N], [u8; N], [u8; N]) {\n let mut num_selects = 0;\n let mut select_by_indexes = [0; N];\n let mut select_by_offsets = [0; N];\n let mut select_by_lengths = [0; N];\n let mut select_values = [0; N];\n let mut select_comparators = [0; N];\n\n for i in 0..selects.len() {\n let select = selects.get(i);\n if select.is_some() {\n select_by_indexes[num_selects as u32] =\n select.unwrap_unchecked().property_selector.index;\n select_by_offsets[num_selects as u32] =\n select.unwrap_unchecked().property_selector.offset;\n select_by_lengths[num_selects as u32] =\n select.unwrap_unchecked().property_selector.length;\n select_values[num_selects as u32] = select.unwrap_unchecked().value;\n select_comparators[num_selects as u32] = select.unwrap_unchecked().comparator;\n num_selects += 1;\n };\n }\n\n let mut sort_by_indexes = [0; N];\n let mut sort_by_offsets = [0; N];\n let mut sort_by_lengths = [0; N];\n let mut sort_order = [0; N];\n for i in 0..sorts.len() {\n let sort = sorts.get(i);\n if sort.is_some() {\n sort_by_indexes[i] = sort.unwrap_unchecked().property_selector.index;\n sort_by_offsets[i] = sort.unwrap_unchecked().property_selector.offset;\n sort_by_lengths[i] = sort.unwrap_unchecked().property_selector.length;\n sort_order[i] = sort.unwrap_unchecked().order;\n };\n }\n\n (\n num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values,\n select_comparators, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order,\n )\n}\n"
|
|
6177
6226
|
},
|
|
6178
6227
|
"137": {
|
|
6179
6228
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/note/note_metadata.nr",
|
|
6180
6229
|
"source": "use protocol_types::traits::Serialize;\n\n// There's temporarily quite a bit of boilerplate here because Noir does not yet support enums. This file will\n// eventually be simplified into something closer to:\n//\n// pub enum NoteMetadata {\n// PendingSamePhase{ note_hash_counter: u32 },\n// PendingOtherPhase{ note_hash_counter: u32, nonce: Field },\n// Settled{ nonce: Field },\n// }\n//\n// For now, we have `NoteMetadata` acting as a sort of tagged union.\n\nstruct NoteStageEnum {\n /// A note that was created in the transaction that is currently being executed, during the current execution phase,\n /// i.e. non-revertible or revertible.\n ///\n /// These notes are not yet in the note hash tree, though they will be inserted unless nullified in this transaction\n /// (becoming a transient note).\n PENDING_SAME_PHASE: u8,\n /// A note that was created in the transaction that is currently being executed, during the previous execution\n /// phase. Because there are only two phases and their order is always the same (first non-revertible and then\n /// revertible) this implies that the note was created in the non-revertible phase, and that the current phase is\n /// the revertible phase.\n ///\n /// These notes are not yet in the note hash tree, though they will be inserted **even if nullified in this\n /// transaction**. This means that they must be nullified as if they were settled (i.e. using the unique note hash)\n /// in order to avoid double spends once they become settled.\n PENDING_PREVIOUS_PHASE: u8,\n /// A note that was created in a prior transaction and is therefore already in the note hash tree.\n SETTLED: u8,\n}\n\nglobal NoteStage: NoteStageEnum =\n NoteStageEnum { PENDING_SAME_PHASE: 1, PENDING_PREVIOUS_PHASE: 2, SETTLED: 3 };\n\n/// The metadata required to both prove a note's existence and destroy it, by computing the correct note hash for kernel\n/// read requests, as well as the correct nullifier to avoid double-spends.\n///\n/// This represents a note in any of the three valid stages (pending same phase, pending previous phase, or settled). In\n/// order to access the underlying fields callers must first find the appropriate stage (e.g. via `is_settled()`) and\n/// then convert this into the appropriate type (e.g. via `to_settled()`).\n#[derive(Eq, Serialize)]\npub struct NoteMetadata {\n stage: u8,\n maybe_nonce: Field,\n}\n\nimpl NoteMetadata {\n /// Constructs a `NoteMetadata` object from optional note hash counter and nonce. Both a zero note hash counter and\n /// a zero nonce are invalid, so those are used to signal non-existent values.\n pub fn from_raw_data(nonzero_note_hash_counter: bool, maybe_nonce: Field) -> Self {\n if nonzero_note_hash_counter {\n if maybe_nonce == 0 {\n Self { stage: NoteStage.PENDING_SAME_PHASE, maybe_nonce }\n } else {\n Self { stage: NoteStage.PENDING_PREVIOUS_PHASE, maybe_nonce }\n }\n } else if maybe_nonce != 0 {\n Self { stage: NoteStage.SETTLED, maybe_nonce }\n } else {\n panic(\n f\"Note has a zero note hash counter and no nonce - existence cannot be proven\",\n )\n }\n }\n\n /// Returns true if the note is pending **and** from the same phase, i.e. if it's been created in the current\n /// transaction during the current execution phase (either non-revertible or revertible).\n pub fn is_pending_same_phase(self) -> bool {\n self.stage == NoteStage.PENDING_SAME_PHASE\n }\n\n /// Returns true if the note is pending **and** from the previous phase, i.e. if it's been created in the current\n /// transaction during an execution phase prior to the current one. Because private execution only has two phases\n /// with strict ordering, this implies that the note was created in the non-revertible phase, and that the current\n /// phase is the revertible phase.\n pub fn is_pending_previous_phase(self) -> bool {\n self.stage == NoteStage.PENDING_PREVIOUS_PHASE\n }\n\n /// Returns true if the note is settled, i.e. if it's been created in a prior transaction and is therefore already\n /// in the note hash tree.\n pub fn is_settled(self) -> bool {\n self.stage == NoteStage.SETTLED\n }\n\n /// Asserts that the metadata is that of a pending note from the same phase and converts it accordingly.\n pub fn to_pending_same_phase(self) -> PendingSamePhaseNoteMetadata {\n assert_eq(self.stage, NoteStage.PENDING_SAME_PHASE);\n PendingSamePhaseNoteMetadata::new()\n }\n\n /// Asserts that the metadata is that of a pending note from a previous phase and converts it accordingly.\n pub fn to_pending_previous_phase(self) -> PendingPreviousPhaseNoteMetadata {\n assert_eq(self.stage, NoteStage.PENDING_PREVIOUS_PHASE);\n PendingPreviousPhaseNoteMetadata::new(self.maybe_nonce)\n }\n\n /// Asserts that the metadata is that of a settled note and converts it accordingly.\n pub fn to_settled(self) -> SettledNoteMetadata {\n assert_eq(self.stage, NoteStage.SETTLED);\n SettledNoteMetadata::new(self.maybe_nonce)\n }\n}\n\nimpl From<PendingSamePhaseNoteMetadata> for NoteMetadata {\n fn from(_value: PendingSamePhaseNoteMetadata) -> Self {\n NoteMetadata::from_raw_data(true, std::mem::zeroed())\n }\n}\n\nimpl From<PendingPreviousPhaseNoteMetadata> for NoteMetadata {\n fn from(value: PendingPreviousPhaseNoteMetadata) -> Self {\n NoteMetadata::from_raw_data(true, value.nonce())\n }\n}\n\nimpl From<SettledNoteMetadata> for NoteMetadata {\n fn from(value: SettledNoteMetadata) -> Self {\n NoteMetadata::from_raw_data(false, value.nonce())\n }\n}\n\n/// The metadata required to both prove a note's existence and destroy it, by computing the correct note hash for kernel\n/// read requests, as well as the correct nullifier to avoid double-spends.\n///\n/// This represents a pending same phase note, i.e. a note that was created in the transaction that is currently being\n/// executed during the current execution phase (either non-revertible or revertible).\npub struct PendingSamePhaseNoteMetadata {\n // This struct contains no fields since there is no metadata associated with a pending same phase note: it has no\n // nonce (since it may get squashed by a nullifier emitted in the same phase), and while it does have a note hash\n // counter we cannot constrain its value (and don't need to - only that it is non-zero).\n}\n\nimpl PendingSamePhaseNoteMetadata {\n pub fn new() -> Self {\n Self {}\n }\n}\n\n/// The metadata required to both prove a note's existence and destroy it, by computing the correct note hash for kernel\n/// read requests, as well as the correct nullifier to avoid double-spends.\n///\n/// This represents a pending previous phase note, i.e. a note that was created in the transaction that is currently\n/// being executed, during the previous execution phase. Because there are only two phases and their order is always the\n/// same (first non-revertible and then revertible) this implies that the note was created in the non-revertible phase,\n/// and that the current phase is the revertible phase.\npub struct PendingPreviousPhaseNoteMetadata {\n nonce: Field,\n // This struct does not contain a note hash counter, even though one exists for this note, because we cannot\n // constrain its value (and don't need to - only that it is non-zero).\n}\n\nimpl PendingPreviousPhaseNoteMetadata {\n pub fn new(nonce: Field) -> Self {\n Self { nonce }\n }\n\n pub fn nonce(self) -> Field {\n self.nonce\n }\n}\n\n/// The metadata required to both prove a note's existence and destroy it, by computing the correct note hash for kernel\n/// read requests, as well as the correct nullifier to avoid double-spends.\n///\n/// This represents a settled note, i.e. a note that was created in a prior transaction and is therefore already in the\n/// note hash tree.\npub struct SettledNoteMetadata {\n nonce: Field,\n}\n\nimpl SettledNoteMetadata {\n pub fn new(nonce: Field) -> Self {\n Self { nonce }\n }\n\n pub fn nonce(self) -> Field {\n self.nonce\n }\n}\n"
|
|
6181
6230
|
},
|
|
6231
|
+
"139": {
|
|
6232
|
+
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/note/retrieved_note.nr",
|
|
6233
|
+
"source": "use crate::{note::note_metadata::NoteMetadata, utils::array::subarray::subarray};\nuse protocol_types::{\n address::AztecAddress,\n traits::{FromField, Packable, Serialize, ToField},\n utils::arrays::array_concat,\n};\n\n// Number of fields a RetrievedNote adds to the packed or serialized representation of a note\n// +1 for the contract address\n// +2 for the note metadata\npub global RETRIEVED_NOTE_OVERHEAD: u32 = 1 + 2;\n\n/// A container of a note and the metadata required to prove its existence, regardless of whether the note is\n/// pending (created in the current transaction) or settled (created in a previous transaction).\n#[derive(Eq)]\npub struct RetrievedNote<NOTE> {\n pub note: NOTE,\n pub contract_address: AztecAddress,\n pub metadata: NoteMetadata,\n}\n\nimpl<NOTE, let N: u32> Serialize<N + RETRIEVED_NOTE_OVERHEAD> for RetrievedNote<NOTE>\nwhere\n NOTE: Serialize<N>,\n{\n fn serialize(self) -> [Field; N + RETRIEVED_NOTE_OVERHEAD] {\n array_concat(\n array_concat(self.note.serialize(), [self.contract_address.to_field()]),\n self.metadata.serialize(),\n )\n }\n}\n\n// This function is not part of the Packable trait implementation because in the case of the retrieved note, the pack\n// functionality resides in TS (oracle.ts and txe_service.ts).\npub fn unpack_retrieved_note<NOTE, let N: u32>(\n packed_retrieved_note: [Field; N + RETRIEVED_NOTE_OVERHEAD],\n) -> RetrievedNote<NOTE>\nwhere\n NOTE: Packable<N>,\n{\n let contract_address = AztecAddress::from_field(packed_retrieved_note[0]);\n let nonce = packed_retrieved_note[1];\n let nonzero_note_hash_counter = packed_retrieved_note[2] as bool;\n\n let packed_note = subarray(packed_retrieved_note, RETRIEVED_NOTE_OVERHEAD);\n let note = NOTE::unpack(packed_note);\n\n RetrievedNote {\n note,\n contract_address,\n metadata: NoteMetadata::from_raw_data(nonzero_note_hash_counter, nonce),\n }\n}\n"
|
|
6234
|
+
},
|
|
6182
6235
|
"140": {
|
|
6183
6236
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/note/utils.nr",
|
|
6184
6237
|
"source": "use crate::{\n context::PrivateContext,\n note::{note_interface::NoteHash, retrieved_note::RetrievedNote},\n};\n\nuse dep::protocol_types::hash::{\n compute_siloed_note_hash, compute_siloed_nullifier, compute_unique_note_hash,\n};\n\n/// Returns the note hash that must be used to issue a private kernel read request for a note.\npub fn compute_note_hash_for_read_request<Note>(\n retrieved_note: RetrievedNote<Note>,\n storage_slot: Field,\n) -> Field\nwhere\n Note: NoteHash,\n{\n let note_hash = retrieved_note.note.compute_note_hash(storage_slot);\n\n if retrieved_note.metadata.is_settled() {\n // Settled notes are read by siloing with contract address and nonce (resulting in the final unique note hash,\n // which is already in the note hash tree).\n let siloed_note_hash = compute_siloed_note_hash(retrieved_note.contract_address, note_hash);\n compute_unique_note_hash(\n retrieved_note.metadata.to_settled().nonce(),\n siloed_note_hash,\n )\n } else {\n // Pending notes (both same phase and previous phase ones) re read by their non-siloed hash (not even by\n // contract address), which is what is stored in the new note hashes array (at the position hinted by note hash\n // counter).\n note_hash\n }\n}\n\n/// Returns the note hash that must be used to compute a note's nullifier when calling `NoteHash::compute_nullifier` or\n/// `NoteHash::compute_nullifier_unconstrained`.\npub fn compute_note_hash_for_nullify<Note>(\n retrieved_note: RetrievedNote<Note>,\n storage_slot: Field,\n) -> Field\nwhere\n Note: NoteHash,\n{\n compute_note_hash_for_nullify_from_read_request(\n retrieved_note,\n compute_note_hash_for_read_request(retrieved_note, storage_slot),\n )\n}\n\n/// Same as `compute_note_hash_for_nullify`, except it takes the note hash used in a read request (i.e. what\n/// `compute_note_hash_for_read_request` would return). This is useful in scenarios where that hash has already been\n/// computed to reduce constraints by reusing this value.\npub fn compute_note_hash_for_nullify_from_read_request<Note>(\n retrieved_note: RetrievedNote<Note>,\n note_hash_for_read_request: Field,\n) -> Field {\n // There is just one instance in which the note hash for nullification does not match the note hash used for a read\n // request, which is when dealing with pending previous phase notes. These had their existence proven using their\n // non-siloed note hash along with the note hash counter (like all pending notes), but since they will be\n // unconditionally inserted in the note hash tree (since they cannot be squashed) they must be nullified using the\n // *unique* note hash.\n // If we didn't, it'd be possible to emit a second different nullifier for the same note in a follow up transaction,\n // once the note is settled, resulting in a double spend.\n\n if retrieved_note.metadata.is_pending_previous_phase() {\n let siloed_note_hash =\n compute_siloed_note_hash(retrieved_note.contract_address, note_hash_for_read_request);\n let nonce = retrieved_note.metadata.to_pending_previous_phase().nonce();\n\n compute_unique_note_hash(nonce, siloed_note_hash)\n } else {\n note_hash_for_read_request\n }\n}\n\n/// Computes a note's siloed nullifier, i.e. the one that will be inserted into the nullifier tree.\npub fn compute_siloed_note_nullifier<Note>(\n retrieved_note: RetrievedNote<Note>,\n storage_slot: Field,\n context: &mut PrivateContext,\n) -> Field\nwhere\n Note: NoteHash,\n{\n let note_hash_for_nullify = compute_note_hash_for_nullify(retrieved_note, storage_slot);\n let inner_nullifier = retrieved_note.note.compute_nullifier(context, note_hash_for_nullify);\n\n compute_siloed_nullifier(retrieved_note.contract_address, inner_nullifier)\n}\n"
|
|
@@ -6217,15 +6270,15 @@
|
|
|
6217
6270
|
},
|
|
6218
6271
|
"155": {
|
|
6219
6272
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/oracle/logs.nr",
|
|
6220
|
-
"source": "use crate::messages::encoding::MAX_MESSAGE_CONTENT_LEN;\nuse protocol_types::{abis::event_selector::EventSelector, address::AztecAddress};\n\n/// The below only exists to broadcast the raw log, so we can provide it to the base rollup later to be constrained.\npub unconstrained fn notify_created_contract_class_log<let N: u32>(\n contract_address: AztecAddress,\n message: [Field; N],\n counter: u32,\n) {\n notify_created_contract_class_log_private_oracle(contract_address, message, counter)\n}\n\n#[oracle(notifyCreatedContractClassLog)]\nunconstrained fn notify_created_contract_class_log_private_oracle<let N: u32>(\n contract_address: AztecAddress,\n message: [Field; N],\n counter: u32,\n) {}\n\npub unconstrained fn store_private_event_log(\n contract_address: AztecAddress,\n recipient: AztecAddress,\n event_selector: EventSelector,\n msg_content: BoundedVec<Field, MAX_MESSAGE_CONTENT_LEN>,\n tx_hash: Field,\n log_index_in_tx: Field,\n tx_index_in_block: Field,\n) {\n store_private_event_log_oracle(\n contract_address,\n recipient,\n event_selector,\n msg_content,\n tx_hash,\n log_index_in_tx,\n tx_index_in_block,\n )\n}\n\n#[oracle(storePrivateEventLog)]\nunconstrained fn store_private_event_log_oracle(\n contract_address: AztecAddress,\n recipient: AztecAddress,\n event_selector: EventSelector,\n msg_content: BoundedVec<Field, MAX_MESSAGE_CONTENT_LEN>,\n tx_hash: Field,\n log_index_in_tx: Field,\n tx_index_in_block: Field,\n) {}\n"
|
|
6273
|
+
"source": "use crate::messages::encoding::MAX_MESSAGE_CONTENT_LEN;\nuse protocol_types::{abis::event_selector::EventSelector, address::AztecAddress};\n\n/// The below only exists to broadcast the raw log, so we can provide it to the base rollup later to be constrained.\npub unconstrained fn notify_created_contract_class_log<let N: u32>(\n contract_address: AztecAddress,\n message: [Field; N],\n length: u32,\n counter: u32,\n) {\n notify_created_contract_class_log_private_oracle(contract_address, message, length, counter)\n}\n\n#[oracle(notifyCreatedContractClassLog)]\nunconstrained fn notify_created_contract_class_log_private_oracle<let N: u32>(\n contract_address: AztecAddress,\n message: [Field; N],\n length: u32,\n counter: u32,\n) {}\n\npub unconstrained fn store_private_event_log(\n contract_address: AztecAddress,\n recipient: AztecAddress,\n event_selector: EventSelector,\n msg_content: BoundedVec<Field, MAX_MESSAGE_CONTENT_LEN>,\n tx_hash: Field,\n log_index_in_tx: Field,\n tx_index_in_block: Field,\n) {\n store_private_event_log_oracle(\n contract_address,\n recipient,\n event_selector,\n msg_content,\n tx_hash,\n log_index_in_tx,\n tx_index_in_block,\n )\n}\n\n#[oracle(storePrivateEventLog)]\nunconstrained fn store_private_event_log_oracle(\n contract_address: AztecAddress,\n recipient: AztecAddress,\n event_selector: EventSelector,\n msg_content: BoundedVec<Field, MAX_MESSAGE_CONTENT_LEN>,\n tx_hash: Field,\n log_index_in_tx: Field,\n tx_index_in_block: Field,\n) {}\n"
|
|
6221
6274
|
},
|
|
6222
6275
|
"156": {
|
|
6223
6276
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/oracle/message_discovery.nr",
|
|
6224
|
-
"source": "use crate::messages::discovery::private_notes::MAX_NOTE_PACKED_LEN;\nuse dep::protocol_types::{\n address::AztecAddress,\n constants::{MAX_NOTE_HASHES_PER_TX,
|
|
6277
|
+
"source": "use crate::messages::discovery::private_notes::MAX_NOTE_PACKED_LEN;\nuse dep::protocol_types::{\n address::AztecAddress,\n constants::{MAX_NOTE_HASHES_PER_TX, PUBLIC_LOG_SIZE_IN_FIELDS},\n};\n\n/// Finds new private logs that may have been sent to all registered accounts in PXE in the current contract and makes\n/// them available for later processing in Noir by storing them in a capsule array.\npub unconstrained fn sync_notes(pending_tagged_log_array_base_slot: Field) {\n sync_notes_oracle(pending_tagged_log_array_base_slot);\n}\n\n#[oracle(syncNotes)]\nunconstrained fn sync_notes_oracle(pending_tagged_log_array_base_slot: Field) {}\n\n/// Informs PXE of a note's existence so that it can later be retrieved by the `getNotes` oracle. The note will be\n/// scoped to `contract_address`, meaning other contracts will not be able to access it unless authorized.\n///\n/// The packed note is what `getNotes` will later return. PXE indexes notes by `storage_slot`, so this value\n/// is typically used to filter notes that correspond to different state variables. `note_hash` and `nullifier` are\n/// the inner hashes, i.e. the raw hashes returned by `NoteHash::compute_note_hash` and\n/// `NoteHash::compute_nullifier`. PXE will verify that the siloed unique note hash was inserted into the tree\n/// at `tx_hash`, and will store the nullifier to later check for nullification.\n///\n/// `recipient` is the account to which the note was sent to. Other accounts will not be able to access this note (e.g.\n/// other accounts will not be able to see one another's token balance notes, even in the same PXE) unless authorized.\n///\n/// Returns true if the note was successfully delivered and added to PXE's database.\npub unconstrained fn deliver_note(\n contract_address: AztecAddress,\n storage_slot: Field,\n nonce: Field,\n packed_note: BoundedVec<Field, MAX_NOTE_PACKED_LEN>,\n note_hash: Field,\n nullifier: Field,\n tx_hash: Field,\n recipient: AztecAddress,\n) -> bool {\n deliver_note_oracle(\n contract_address,\n storage_slot,\n nonce,\n packed_note,\n note_hash,\n nullifier,\n tx_hash,\n recipient,\n )\n}\n\n/// The contents of a public log, plus contextual information about the transaction in which the log was emitted. This\n/// is the data required in order to discover notes that are being delivered in a log.\n// TODO(#11639): this could also be used to fetch private logs, but the `BoundedVec` maximum length is that of a public\n// log.\npub struct LogWithTxData {\n // The log fields length is PUBLIC_LOG_SIZE_IN_FIELDS. + 1 because the contract address is prepended to the content.\n pub log_content: BoundedVec<Field, PUBLIC_LOG_SIZE_IN_FIELDS + 1>,\n pub tx_hash: Field,\n /// The array of new note hashes created by `tx_hash`\n pub unique_note_hashes_in_tx: BoundedVec<Field, MAX_NOTE_HASHES_PER_TX>,\n /// The first nullifier created by `tx_hash`\n pub first_nullifier_in_tx: Field,\n}\n\n/// Fetches a log from the node that has the corresponding `tag`. The log can be either a public or a private log, and\n/// the tag is the first field in the log's content. Returns `Option::none` if no such log exists. Throws if more than\n/// one log with that tag exists.\n/// Public logs have an extra field included at the beginning with the address of the contract that emitted them.\n// TODO(#11627): handle multiple logs with the same tag.\n// TODO(#10273): improve contract siloing of logs, don't introduce an extra field.\npub unconstrained fn get_log_by_tag(tag: Field) -> Option<LogWithTxData> {\n get_log_by_tag_oracle(tag)\n}\n\n#[oracle(deliverNote)]\nunconstrained fn deliver_note_oracle(\n contract_address: AztecAddress,\n storage_slot: Field,\n nonce: Field,\n packed_note: BoundedVec<Field, MAX_NOTE_PACKED_LEN>,\n note_hash: Field,\n nullifier: Field,\n tx_hash: Field,\n recipient: AztecAddress,\n) -> bool {}\n\n#[oracle(getLogByTag)]\nunconstrained fn get_log_by_tag_oracle(tag: Field) -> Option<LogWithTxData> {}\n"
|
|
6225
6278
|
},
|
|
6226
6279
|
"158": {
|
|
6227
6280
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/oracle/notes.nr",
|
|
6228
|
-
"source": "use crate::{\n
|
|
6281
|
+
"source": "use crate::note::{\n note_interface::NoteType,\n retrieved_note::{RETRIEVED_NOTE_OVERHEAD, RetrievedNote, unpack_retrieved_note},\n};\n\nuse dep::protocol_types::{\n address::AztecAddress, indexed_tagging_secret::IndexedTaggingSecret, traits::Packable,\n};\n\n/// Notifies the simulator that a note has been created, so that it can be returned in future read requests in the same\n/// transaction. This note should only be added to the non-volatile database if found in an actual block.\npub fn notify_created_note<let N: u32>(\n storage_slot: Field,\n note_type_id: Field,\n packed_note: [Field; N],\n note_hash: Field,\n counter: u32,\n) {\n // Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe\n // to call.\n unsafe {\n notify_created_note_oracle_wrapper(\n storage_slot,\n note_type_id,\n packed_note,\n note_hash,\n counter,\n )\n };\n}\n\n/// Notifies the simulator that a note has been nullified, so that it is no longer returned in future read requests in\n/// the same transaction. This note should only be removed to the non-volatile database if its nullifier is found in an\n/// actual block.\npub fn notify_nullified_note(nullifier: Field, note_hash: Field, counter: u32) {\n // Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to\n // call.\n unsafe { notify_nullified_note_oracle_wrapper(nullifier, note_hash, counter) };\n}\n\n/// Notifies the simulator that a non-note nullifier has been created, so that it can be used for note nonces.\npub fn notify_created_nullifier(nullifier: Field) {\n // Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to\n // call.\n unsafe { notify_created_nullifier_oracle_wrapper(nullifier) };\n}\n\nunconstrained fn notify_created_note_oracle_wrapper<let N: u32>(\n storage_slot: Field,\n note_type_id: Field,\n packed_note: [Field; N],\n note_hash: Field,\n counter: u32,\n) {\n notify_created_note_oracle(storage_slot, note_type_id, packed_note, note_hash, counter);\n}\n\n#[oracle(notifyCreatedNote)]\nunconstrained fn notify_created_note_oracle<let N: u32>(\n _storage_slot: Field,\n _note_type_id: Field,\n _packed_note: [Field; N],\n _note_hash: Field,\n _counter: u32,\n) {}\n\nunconstrained fn notify_nullified_note_oracle_wrapper(\n nullifier: Field,\n note_hash: Field,\n counter: u32,\n) {\n notify_nullified_note_oracle(nullifier, note_hash, counter);\n}\n\n#[oracle(notifyNullifiedNote)]\nunconstrained fn notify_nullified_note_oracle(_nullifier: Field, _note_hash: Field, _counter: u32) {}\n\nunconstrained fn notify_created_nullifier_oracle_wrapper(nullifier: Field) {\n notify_created_nullifier_oracle(nullifier);\n}\n\n#[oracle(notifyCreatedNullifier)]\nunconstrained fn notify_created_nullifier_oracle(_nullifier: Field) {}\n\n#[oracle(getNotes)]\nunconstrained fn get_notes_oracle<let NOTE_PCKD_LEN: u32, let M: u32, let MAX_NOTES: u32>(\n _storage_slot: Field,\n _num_selects: u8,\n _select_by_indexes: [u8; M],\n _select_by_offsets: [u8; M],\n _select_by_lengths: [u8; M],\n _select_values: [Field; M],\n _select_comparators: [u8; M],\n _sort_by_indexes: [u8; M],\n _sort_by_offsets: [u8; M],\n _sort_by_lengths: [u8; M],\n _sort_order: [u8; M],\n _limit: u32,\n _offset: u32,\n _status: u8,\n // This is always set to MAX_NOTES. We need to pass it to TS in order to correctly construct the BoundedVec\n _max_notes: u32,\n // This is always set to NOTE_PCKD_LEN + RETRIEVED_NOTE_OVERHEAD. We need to pass it to TS in order to be able to\n // correctly construct the BoundedVec there.\n _packed_retrieved_note_length: u32,\n) -> BoundedVec<[Field; NOTE_PCKD_LEN + RETRIEVED_NOTE_OVERHEAD], MAX_NOTES> {}\n\npub unconstrained fn get_notes<Note, let NOTE_PCKD_LEN: u32, let M: u32, let MAX_NOTES: u32>(\n storage_slot: Field,\n num_selects: u8,\n select_by_indexes: [u8; M],\n select_by_offsets: [u8; M],\n select_by_lengths: [u8; M],\n select_values: [Field; M],\n select_comparators: [u8; M],\n sort_by_indexes: [u8; M],\n sort_by_offsets: [u8; M],\n sort_by_lengths: [u8; M],\n sort_order: [u8; M],\n limit: u32,\n offset: u32,\n status: u8,\n) -> [Option<RetrievedNote<Note>>; MAX_NOTES]\nwhere\n Note: NoteType + Packable<NOTE_PCKD_LEN>,\n{\n // N + 3 because of the contract address, nonce, and note_hash_counter that are stored out of the packed note.\n let packed_retrieved_notes: BoundedVec<[Field; NOTE_PCKD_LEN + RETRIEVED_NOTE_OVERHEAD], MAX_NOTES> = get_notes_oracle(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n limit,\n offset,\n status,\n MAX_NOTES,\n NOTE_PCKD_LEN + RETRIEVED_NOTE_OVERHEAD,\n );\n\n let mut notes = BoundedVec::<_, MAX_NOTES>::new();\n for i in 0..packed_retrieved_notes.len() {\n let retrieved_note = unpack_retrieved_note(packed_retrieved_notes.get(i));\n notes.push(retrieved_note);\n }\n\n // At last we convert the bounded vector to an array of options. We do this because that is what the filter\n // function needs to have on the output and we've decided to have the same type on the input and output of\n // the filter and preprocessor functions.\n //\n // We have decided to have the same type on the input and output of the filter and preprocessor functions because\n // it allows us to chain multiple filters and preprocessors together.\n //\n // So why do we want the array of options on the output of the filter function?\n //\n // Filter returns an array of options rather than a BoundedVec for performance reasons. Using an array of options\n // allows setting values at known indices in the output array which is much more efficient than pushing to a\n // BoundedVec where the write position depends on previous iterations. The array can then be efficiently converted\n // to a BoundedVec using utils/array/collapse.nr::collapse function from Aztec.nr. This avoids expensive dynamic\n // memory access patterns that would be required when building up a BoundedVec incrementally. For preprocessor\n // functions we could use BoundedVec return value as there the optimization does not matter since it is applied in\n // an unconstrained context. We, however, use the same return value type to be able to use the same function as\n // both a preprocessor and a filter.\n let mut notes_array = [Option::none(); MAX_NOTES];\n for i in 0..notes.len() {\n if i < notes.len() {\n notes_array[i] = Option::some(notes.get_unchecked(i));\n }\n }\n\n notes_array\n}\n\n/// Returns true if the nullifier exists. Note that a `true` value can be constrained by proving existence of the\n/// nullifier, but a `false` value should not be relied upon since other transactions may emit this nullifier before the\n/// current transaction is included in a block. While this might seem of little use at first, certain design patterns\n/// benefit from this abstraction (see e.g. `PrivateMutable`).\npub unconstrained fn check_nullifier_exists(inner_nullifier: Field) -> bool {\n check_nullifier_exists_oracle(inner_nullifier)\n}\n\n#[oracle(checkNullifierExists)]\nunconstrained fn check_nullifier_exists_oracle(_inner_nullifier: Field) -> bool {}\n\n/// Returns the derived app tagging secret ready to be included in a log for a given sender and recipient pair,\n/// siloed for the current contract address.\npub unconstrained fn get_app_tag_as_sender(sender: AztecAddress, recipient: AztecAddress) -> Field {\n get_indexed_tagging_secret_as_sender_oracle(sender, recipient).compute_tag(recipient)\n}\n\n#[oracle(getIndexedTaggingSecretAsSender)]\nunconstrained fn get_indexed_tagging_secret_as_sender_oracle(\n _sender: AztecAddress,\n _recipient: AztecAddress,\n) -> IndexedTaggingSecret {}\n\n/// Notifies the simulator that a tag has been used in a note, and to therefore increment the associated index so that\n/// future notes get a different tag and can be discovered by the recipient.\n/// This change should only be persisted in a non-volatile database if the tagged log is found in an actual block -\n/// otherwise e.g. a reverting transaction can cause the sender to accidentally skip indices and later produce notes\n/// that are not found by the recipient.\npub fn increment_app_tagging_secret_index_as_sender(sender: AztecAddress, recipient: AztecAddress) {\n // Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe\n // to call.\n unsafe {\n increment_app_tagging_secret_index_as_sender_wrapper(sender, recipient);\n }\n}\n\nunconstrained fn increment_app_tagging_secret_index_as_sender_wrapper(\n sender: AztecAddress,\n recipient: AztecAddress,\n) {\n increment_app_tagging_secret_index_as_sender_oracle(sender, recipient);\n}\n\n#[oracle(incrementAppTaggingSecretIndexAsSender)]\nunconstrained fn increment_app_tagging_secret_index_as_sender_oracle(\n _sender: AztecAddress,\n _recipient: AztecAddress,\n) {}\n"
|
|
6229
6282
|
},
|
|
6230
6283
|
"159": {
|
|
6231
6284
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/oracle/random.nr",
|
|
@@ -6233,13 +6286,13 @@
|
|
|
6233
6286
|
},
|
|
6234
6287
|
"16": {
|
|
6235
6288
|
"path": "std/embedded_curve_ops.nr",
|
|
6236
|
-
"source": "use crate::cmp::Eq;\nuse crate::hash::Hash;\nuse crate::ops::arith::{Add, Neg, Sub};\n\n/// A point on the embedded elliptic curve\n/// By definition, the base field of the embedded curve is the scalar field of the proof system curve, i.e the Noir Field.\n/// x and y denotes the Weierstrass coordinates of the point, if is_infinite is false.\npub struct EmbeddedCurvePoint {\n pub x: Field,\n pub y: Field,\n pub is_infinite: bool,\n}\n\nimpl EmbeddedCurvePoint {\n /// Elliptic curve point doubling operation\n /// returns the doubled point of a point P, i.e P+P\n pub fn double(self) -> EmbeddedCurvePoint {\n embedded_curve_add(self, self)\n }\n\n /// Returns the null element of the curve; 'the point at infinity'\n pub fn point_at_infinity() -> EmbeddedCurvePoint {\n EmbeddedCurvePoint { x: 0, y: 0, is_infinite: true }\n }\n\n /// Returns the curve's generator point.\n pub fn generator() -> EmbeddedCurvePoint {\n // Generator point for the grumpkin curve (y^2 = x^3 - 17)\n EmbeddedCurvePoint {\n x: 1,\n y: 17631683881184975370165255887551781615748388533673675138860, // sqrt(-16)\n is_infinite: false,\n }\n }\n}\n\nimpl Add for EmbeddedCurvePoint {\n /// Adds two points P+Q, using the curve addition formula, and also handles point at infinity\n fn add(self, other: EmbeddedCurvePoint) -> EmbeddedCurvePoint {\n embedded_curve_add(self, other)\n }\n}\n\nimpl Sub for EmbeddedCurvePoint {\n /// Points subtraction operation, using addition and negation\n fn sub(self, other: EmbeddedCurvePoint) -> EmbeddedCurvePoint {\n self + other.neg()\n }\n}\n\nimpl Neg for EmbeddedCurvePoint {\n /// Negates a point P, i.e returns -P, by negating the y coordinate.\n /// If the point is at infinity, then the result is also at infinity.\n fn neg(self) -> EmbeddedCurvePoint {\n EmbeddedCurvePoint { x: self.x, y: -self.y, is_infinite: self.is_infinite }\n }\n}\n\nimpl Eq for EmbeddedCurvePoint {\n /// Checks whether two points are equal\n fn eq(self: Self, b: EmbeddedCurvePoint) -> bool {\n (self.is_infinite & b.is_infinite)\n | ((self.is_infinite == b.is_infinite) & (self.x == b.x) & (self.y == b.y))\n }\n}\n\nimpl Hash for EmbeddedCurvePoint {\n fn hash<H>(self, state: &mut H)\n where\n H: crate::hash::Hasher,\n {\n if self.is_infinite {\n self.is_infinite.hash(state);\n } else {\n self.x.hash(state);\n self.y.hash(state);\n }\n }\n}\n\n/// Scalar for the embedded curve represented as low and high limbs\n/// By definition, the scalar field of the embedded curve is base field of the proving system curve.\n/// It may not fit into a Field element, so it is represented with two Field elements; its low and high limbs.\npub struct EmbeddedCurveScalar {\n pub lo: Field,\n pub hi: Field,\n}\n\nimpl EmbeddedCurveScalar {\n pub fn new(lo: Field, hi: Field) -> Self {\n EmbeddedCurveScalar { lo, hi }\n }\n\n #[field(bn254)]\n pub fn from_field(scalar: Field) -> EmbeddedCurveScalar {\n let (a, b) = crate::field::bn254::decompose(scalar);\n EmbeddedCurveScalar { lo: a, hi: b }\n }\n\n //Bytes to scalar: take the first (after the specified offset) 16 bytes of the input as the lo value, and the next 16 bytes as the hi value\n #[field(bn254)]\n pub(crate) fn from_bytes(bytes: [u8; 64], offset: u32) -> EmbeddedCurveScalar {\n let mut v = 1;\n let mut lo = 0 as Field;\n let mut hi = 0 as Field;\n for i in 0..16 {\n lo = lo + (bytes[offset + 31 - i] as Field) * v;\n hi = hi + (bytes[offset + 15 - i] as Field) * v;\n v = v * 256;\n }\n let sig_s = crate::embedded_curve_ops::EmbeddedCurveScalar { lo, hi };\n sig_s\n }\n}\n\nimpl Eq for EmbeddedCurveScalar {\n fn eq(self, other: Self) -> bool {\n (other.hi == self.hi) & (other.lo == self.lo)\n }\n}\n\nimpl Hash for EmbeddedCurveScalar {\n fn hash<H>(self, state: &mut H)\n where\n H: crate::hash::Hasher,\n {\n self.hi.hash(state);\n self.lo.hash(state);\n }\n}\n\n// Computes a multi scalar multiplication over the embedded curve.\n// For bn254, We have Grumpkin and Baby JubJub.\n// For bls12-381, we have JubJub and Bandersnatch.\n//\n// The embedded curve being used is decided by the\n// underlying proof system.\n// docs:start:multi_scalar_mul\npub fn multi_scalar_mul<let N: u32>(\n points: [EmbeddedCurvePoint; N],\n scalars: [EmbeddedCurveScalar; N],\n) -> EmbeddedCurvePoint\n// docs:end:multi_scalar_mul\n{\n multi_scalar_mul_array_return(points, scalars)[0]\n}\n\n#[foreign(multi_scalar_mul)]\npub(crate) fn multi_scalar_mul_array_return<let N: u32>(\n points: [EmbeddedCurvePoint; N],\n scalars: [EmbeddedCurveScalar; N],\n) -> [EmbeddedCurvePoint; 1] {}\n\n// docs:start:fixed_base_scalar_mul\npub fn fixed_base_scalar_mul(scalar: EmbeddedCurveScalar) -> EmbeddedCurvePoint\n// docs:end:fixed_base_scalar_mul\n{\n multi_scalar_mul([EmbeddedCurvePoint::generator()], [scalar])\n}\n\n/// This function only assumes that the points are on the curve\n/// It handles corner cases around the infinity point causing some overhead compared to embedded_curve_add_not_nul and embedded_curve_add_unsafe\n// docs:start:embedded_curve_add\npub fn embedded_curve_add(\n point1: EmbeddedCurvePoint,\n point2: EmbeddedCurvePoint,\n) -> EmbeddedCurvePoint {\n // docs:end:embedded_curve_add\n if crate::runtime::is_unconstrained() {\n // `embedded_curve_add_unsafe` requires the inputs not to be the infinity point, so we check it here.\n // This is because `embedded_curve_add_unsafe` uses the `embedded_curve_add` opcode.\n // For efficiency, the backend does not check the inputs for the infinity point, but it assumes that they are not the infinity point\n // so that it can apply the ec addition formula directly.\n if point1.is_infinite {\n point2\n } else if point2.is_infinite {\n point1\n } else {\n embedded_curve_add_unsafe(point1, point2)\n }\n } else {\n // In a constrained context, we also need to check the inputs are not the infinity point because we also use `embedded_curve_add_unsafe`\n // However we also need to identify the case where the two inputs are the same, because then\n // the addition formula does not work and we need to use the doubling formula instead.\n // In unconstrained context, we can check directly if the input values are the same when solving the opcode, so it is not an issue.\n\n // x_coordinates_match is true if both abscissae are the same\n let x_coordinates_match = point1.x == point2.x;\n // y_coordinates_match is true if both ordinates are the same\n let y_coordinates_match = point1.y == point2.y;\n // double_predicate is true if both abscissae and ordinates are the same\n let double_predicate = (x_coordinates_match & y_coordinates_match);\n // If the abscissae are the same, but not the ordinates, then one point is the opposite of the other\n let infinity_predicate = (x_coordinates_match & !y_coordinates_match);\n let point1_1 = EmbeddedCurvePoint {\n x: point1.x + (x_coordinates_match as Field),\n y: point1.y,\n is_infinite: x_coordinates_match,\n };\n // point1_1 is guaranteed to have a different abscissa than point2:\n // - if x_coordinates_match is 0, that means point1.x != point2.x, and point1_1.x = point1.x + 0\n // - if x_coordinates_match is 1, that means point1.x = point2.x, but point1_1.x = point1.x + 1 in this case\n // Because the abscissa is different, the addition formula is guaranteed to succeed, so we can safely use `embedded_curve_add_unsafe`\n // Note that this computation may be garbage: if x_coordinates_match is 1, or if one of the input is the point at infinity.\n let mut result = embedded_curve_add_unsafe(point1_1, point2);\n\n // `embedded_curve_add_unsafe` is doing a doubling if the input is the same variable, because in this case it is guaranteed (at 'compile time') that the input is the same.\n let double = embedded_curve_add_unsafe(point1, point1);\n // `embedded_curve_add_unsafe` would not perform doubling, even if the inputs point1 and point2 are the same, because it cannot know this without adding some logic (and some constraints)\n // However we did this logic when we computed `double_predicate`, so we set the result to 2*point1 if point1 and point2 are the same\n result = if double_predicate { double } else { result };\n\n // Same logic as above for unconstrained context, we set the proper result when one of the inputs is the infinity point\n if point1.is_infinite {\n result = point2;\n }\n if point2.is_infinite {\n result = point1;\n }\n\n // Finally, we set the is_infinity flag of the result:\n // Opposite points should sum into the infinity point, however, if one of them is point at infinity, their coordinates are not meaningful\n // so we should not use the fact that the inputs are opposite in this case:\n let mut result_is_infinity =\n infinity_predicate & (!point1.is_infinite & !point2.is_infinite);\n // However, if both of them are at infinity, then the result is also at infinity\n result.is_infinite = result_is_infinity | (point1.is_infinite & point2.is_infinite);\n result\n }\n}\n\n#[foreign(embedded_curve_add)]\nfn embedded_curve_add_array_return(\n _point1: EmbeddedCurvePoint,\n _point2: EmbeddedCurvePoint,\n) -> [EmbeddedCurvePoint; 1] {}\n\n/// This function assumes that:\n/// The points are on the curve, and\n/// The points don't share an x-coordinate, and\n/// Neither point is the infinity point.\n/// If it is used with correct input, the function ensures the correct non-zero result is returned.\n/// Except for points on the curve, the other assumptions are checked by the function. It will cause assertion failure if they are not respected.\npub fn embedded_curve_add_not_nul(\n point1: EmbeddedCurvePoint,\n point2: EmbeddedCurvePoint,\n) -> EmbeddedCurvePoint {\n assert(point1.x != point2.x);\n assert(!point1.is_infinite);\n assert(!point2.is_infinite);\n embedded_curve_add_unsafe(point1, point2)\n}\n\n/// Unsafe ec addition\n/// If the inputs are the same, it will perform a doubling, but only if point1 and point2 are the same variable.\n/// If they have the same value but are different variables, the result will be incorrect because in this case\n/// it assumes (but does not check) that the points' x-coordinates are not equal.\n/// It also assumes neither point is the infinity point.\npub fn embedded_curve_add_unsafe(\n point1: EmbeddedCurvePoint,\n point2: EmbeddedCurvePoint,\n) -> EmbeddedCurvePoint {\n embedded_curve_add_array_return(point1, point2)[0]\n}\n"
|
|
6289
|
+
"source": "use crate::cmp::Eq;\nuse crate::hash::Hash;\nuse crate::ops::arith::{Add, Neg, Sub};\n\n/// A point on the embedded elliptic curve\n/// By definition, the base field of the embedded curve is the scalar field of the proof system curve, i.e the Noir Field.\n/// x and y denotes the Weierstrass coordinates of the point, if is_infinite is false.\npub struct EmbeddedCurvePoint {\n pub x: Field,\n pub y: Field,\n pub is_infinite: bool,\n}\n\nimpl EmbeddedCurvePoint {\n /// Elliptic curve point doubling operation\n /// returns the doubled point of a point P, i.e P+P\n pub fn double(self) -> EmbeddedCurvePoint {\n embedded_curve_add(self, self)\n }\n\n /// Returns the null element of the curve; 'the point at infinity'\n pub fn point_at_infinity() -> EmbeddedCurvePoint {\n EmbeddedCurvePoint { x: 0, y: 0, is_infinite: true }\n }\n\n /// Returns the curve's generator point.\n pub fn generator() -> EmbeddedCurvePoint {\n // Generator point for the grumpkin curve (y^2 = x^3 - 17)\n EmbeddedCurvePoint {\n x: 1,\n y: 17631683881184975370165255887551781615748388533673675138860, // sqrt(-16)\n is_infinite: false,\n }\n }\n}\n\nimpl Add for EmbeddedCurvePoint {\n /// Adds two points P+Q, using the curve addition formula, and also handles point at infinity\n fn add(self, other: EmbeddedCurvePoint) -> EmbeddedCurvePoint {\n embedded_curve_add(self, other)\n }\n}\n\nimpl Sub for EmbeddedCurvePoint {\n /// Points subtraction operation, using addition and negation\n fn sub(self, other: EmbeddedCurvePoint) -> EmbeddedCurvePoint {\n self + other.neg()\n }\n}\n\nimpl Neg for EmbeddedCurvePoint {\n /// Negates a point P, i.e returns -P, by negating the y coordinate.\n /// If the point is at infinity, then the result is also at infinity.\n fn neg(self) -> EmbeddedCurvePoint {\n EmbeddedCurvePoint { x: self.x, y: -self.y, is_infinite: self.is_infinite }\n }\n}\n\nimpl Eq for EmbeddedCurvePoint {\n /// Checks whether two points are equal\n fn eq(self: Self, b: EmbeddedCurvePoint) -> bool {\n (self.is_infinite & b.is_infinite)\n | ((self.is_infinite == b.is_infinite) & (self.x == b.x) & (self.y == b.y))\n }\n}\n\nimpl Hash for EmbeddedCurvePoint {\n fn hash<H>(self, state: &mut H)\n where\n H: crate::hash::Hasher,\n {\n if self.is_infinite {\n self.is_infinite.hash(state);\n } else {\n self.x.hash(state);\n self.y.hash(state);\n }\n }\n}\n\n/// Scalar for the embedded curve represented as low and high limbs\n/// By definition, the scalar field of the embedded curve is base field of the proving system curve.\n/// It may not fit into a Field element, so it is represented with two Field elements; its low and high limbs.\npub struct EmbeddedCurveScalar {\n pub lo: Field,\n pub hi: Field,\n}\n\nimpl EmbeddedCurveScalar {\n pub fn new(lo: Field, hi: Field) -> Self {\n EmbeddedCurveScalar { lo, hi }\n }\n\n #[field(bn254)]\n pub fn from_field(scalar: Field) -> EmbeddedCurveScalar {\n let (a, b) = crate::field::bn254::decompose(scalar);\n EmbeddedCurveScalar { lo: a, hi: b }\n }\n\n //Bytes to scalar: take the first (after the specified offset) 16 bytes of the input as the lo value, and the next 16 bytes as the hi value\n #[field(bn254)]\n pub(crate) fn from_bytes(bytes: [u8; 64], offset: u32) -> EmbeddedCurveScalar {\n let mut v = 1;\n let mut lo = 0 as Field;\n let mut hi = 0 as Field;\n for i in 0..16 {\n lo = lo + (bytes[offset + 31 - i] as Field) * v;\n hi = hi + (bytes[offset + 15 - i] as Field) * v;\n v = v * 256;\n }\n let sig_s = crate::embedded_curve_ops::EmbeddedCurveScalar { lo, hi };\n sig_s\n }\n}\n\nimpl Eq for EmbeddedCurveScalar {\n fn eq(self, other: Self) -> bool {\n (other.hi == self.hi) & (other.lo == self.lo)\n }\n}\n\nimpl Hash for EmbeddedCurveScalar {\n fn hash<H>(self, state: &mut H)\n where\n H: crate::hash::Hasher,\n {\n self.hi.hash(state);\n self.lo.hash(state);\n }\n}\n\n// Computes a multi scalar multiplication over the embedded curve.\n// For bn254, We have Grumpkin and Baby JubJub.\n// For bls12-381, we have JubJub and Bandersnatch.\n//\n// The embedded curve being used is decided by the\n// underlying proof system.\n// docs:start:multi_scalar_mul\npub fn multi_scalar_mul<let N: u32>(\n points: [EmbeddedCurvePoint; N],\n scalars: [EmbeddedCurveScalar; N],\n) -> EmbeddedCurvePoint\n// docs:end:multi_scalar_mul\n{\n multi_scalar_mul_array_return(points, scalars)[0]\n}\n\n#[foreign(multi_scalar_mul)]\npub(crate) fn multi_scalar_mul_array_return<let N: u32>(\n points: [EmbeddedCurvePoint; N],\n scalars: [EmbeddedCurveScalar; N],\n) -> [EmbeddedCurvePoint; 1] {}\n\n// docs:start:fixed_base_scalar_mul\npub fn fixed_base_scalar_mul(scalar: EmbeddedCurveScalar) -> EmbeddedCurvePoint\n// docs:end:fixed_base_scalar_mul\n{\n multi_scalar_mul([EmbeddedCurvePoint::generator()], [scalar])\n}\n\n/// This function only assumes that the points are on the curve\n/// It handles corner cases around the infinity point causing some overhead compared to embedded_curve_add_not_nul and embedded_curve_add_unsafe\n// docs:start:embedded_curve_add\npub fn embedded_curve_add(\n point1: EmbeddedCurvePoint,\n point2: EmbeddedCurvePoint,\n) -> EmbeddedCurvePoint {\n // docs:end:embedded_curve_add\n if crate::runtime::is_unconstrained() {\n // `embedded_curve_add_unsafe` requires the inputs not to be the infinity point, so we check it here.\n // This is because `embedded_curve_add_unsafe` uses the `embedded_curve_add` opcode.\n // For efficiency, the backend does not check the inputs for the infinity point, but it assumes that they are not the infinity point\n // so that it can apply the ec addition formula directly.\n if point1.is_infinite {\n point2\n } else if point2.is_infinite {\n point1\n } else {\n embedded_curve_add_unsafe(point1, point2)\n }\n } else {\n // In a constrained context, we also need to check the inputs are not the infinity point because we also use `embedded_curve_add_unsafe`\n // However we also need to identify the case where the two inputs are the same, because then\n // the addition formula does not work and we need to use the doubling formula instead.\n // In unconstrained context, we can check directly if the input values are the same when solving the opcode, so it is not an issue.\n\n // x_coordinates_match is true if both abscissae are the same\n let x_coordinates_match = point1.x == point2.x;\n // y_coordinates_match is true if both ordinates are the same\n let y_coordinates_match = point1.y == point2.y;\n // double_predicate is true if both abscissae and ordinates are the same\n let double_predicate = (x_coordinates_match & y_coordinates_match);\n // If the abscissae are the same, but not the ordinates, then one point is the opposite of the other\n let infinity_predicate = (x_coordinates_match & !y_coordinates_match);\n let point1_1 = EmbeddedCurvePoint {\n x: point1.x + (x_coordinates_match as Field),\n y: point1.y,\n is_infinite: false,\n };\n let point2_1 = EmbeddedCurvePoint { x: point2.x, y: point2.y, is_infinite: false };\n // point1_1 is guaranteed to have a different abscissa than point2:\n // - if x_coordinates_match is 0, that means point1.x != point2.x, and point1_1.x = point1.x + 0\n // - if x_coordinates_match is 1, that means point1.x = point2.x, but point1_1.x = point1.x + 1 in this case\n // Because the abscissa is different, the addition formula is guaranteed to succeed, so we can safely use `embedded_curve_add_unsafe`\n // Note that this computation may be garbage: if x_coordinates_match is 1, or if one of the input is the point at infinity.\n let mut result = embedded_curve_add_unsafe(point1_1, point2_1);\n\n // `embedded_curve_add_unsafe` is doing a doubling if the input is the same variable, because in this case it is guaranteed (at 'compile time') that the input is the same.\n let double = embedded_curve_add_unsafe(point1, point1);\n // `embedded_curve_add_unsafe` would not perform doubling, even if the inputs point1 and point2 are the same, because it cannot know this without adding some logic (and some constraints)\n // However we did this logic when we computed `double_predicate`, so we set the result to 2*point1 if point1 and point2 are the same\n result = if double_predicate { double } else { result };\n\n // Same logic as above for unconstrained context, we set the proper result when one of the inputs is the infinity point\n if point1.is_infinite {\n result = point2;\n }\n if point2.is_infinite {\n result = point1;\n }\n\n // Finally, we set the is_infinity flag of the result:\n // Opposite points should sum into the infinity point, however, if one of them is point at infinity, their coordinates are not meaningful\n // so we should not use the fact that the inputs are opposite in this case:\n let mut result_is_infinity =\n infinity_predicate & (!point1.is_infinite & !point2.is_infinite);\n // However, if both of them are at infinity, then the result is also at infinity\n result.is_infinite = result_is_infinity | (point1.is_infinite & point2.is_infinite);\n result\n }\n}\n\n#[foreign(embedded_curve_add)]\nfn embedded_curve_add_array_return(\n _point1: EmbeddedCurvePoint,\n _point2: EmbeddedCurvePoint,\n) -> [EmbeddedCurvePoint; 1] {}\n\n/// This function assumes that:\n/// The points are on the curve, and\n/// The points don't share an x-coordinate, and\n/// Neither point is the infinity point.\n/// If it is used with correct input, the function ensures the correct non-zero result is returned.\n/// Except for points on the curve, the other assumptions are checked by the function. It will cause assertion failure if they are not respected.\npub fn embedded_curve_add_not_nul(\n point1: EmbeddedCurvePoint,\n point2: EmbeddedCurvePoint,\n) -> EmbeddedCurvePoint {\n assert(point1.x != point2.x);\n assert(!point1.is_infinite);\n assert(!point2.is_infinite);\n embedded_curve_add_unsafe(point1, point2)\n}\n\n/// Unsafe ec addition\n/// If the inputs are the same, it will perform a doubling, but only if point1 and point2 are the same variable.\n/// If they have the same value but are different variables, the result will be incorrect because in this case\n/// it assumes (but does not check) that the points' x-coordinates are not equal.\n/// It also assumes neither point is the infinity point.\npub fn embedded_curve_add_unsafe(\n point1: EmbeddedCurvePoint,\n point2: EmbeddedCurvePoint,\n) -> EmbeddedCurvePoint {\n embedded_curve_add_array_return(point1, point2)[0]\n}\n"
|
|
6237
6290
|
},
|
|
6238
6291
|
"160": {
|
|
6239
6292
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/oracle/shared_secret.nr",
|
|
6240
6293
|
"source": "use protocol_types::{address::aztec_address::AztecAddress, point::Point};\n\n// TODO(#12656): return an app-siloed secret + document this\n#[oracle(getSharedSecret)]\nunconstrained fn get_shared_secret_oracle(address: AztecAddress, ephPk: Point) -> Point {}\n\n/// Returns an app-siloed shared secret between `address` and someone who knows the secret key behind an\n/// ephemeral public key `ephPk`. The app-siloing means that contracts cannot retrieve secrets that belong to\n/// other contracts, and therefore cannot e.g. decrypt their messages. This is an important security consideration\n/// given that both the `address` and `ephPk` are public information.\n///\n/// The shared secret `S` is computed as:\n/// `let S = (ivsk + h) * ephPk`\n/// where `ivsk + h` is the 'preaddress' i.e. the preimage of the address, also called the address secret.\n/// TODO(#12656): app-silo this secret\npub unconstrained fn get_shared_secret(address: AztecAddress, ephPk: Point) -> Point {\n get_shared_secret_oracle(address, ephPk)\n}\n"
|
|
6241
6294
|
},
|
|
6242
|
-
"
|
|
6295
|
+
"166": {
|
|
6243
6296
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/state_vars/private_immutable.nr",
|
|
6244
6297
|
"source": "use dep::protocol_types::{\n constants::GENERATOR_INDEX__INITIALIZATION_NULLIFIER, hash::poseidon2_hash_with_separator,\n traits::Packable,\n};\n\nuse crate::context::{PrivateContext, UtilityContext};\nuse crate::note::{\n lifecycle::create_note,\n note_emission::NoteEmission,\n note_getter::{get_note, view_notes},\n note_interface::{NoteHash, NoteType},\n note_viewer_options::NoteViewerOptions,\n};\nuse crate::oracle::notes::check_nullifier_exists;\nuse crate::state_vars::storage::Storage;\n\n// docs:start:struct\npub struct PrivateImmutable<Note, Context> {\n context: Context,\n storage_slot: Field,\n}\n// docs:end:struct\n\n// Private storage slots are not really 'slots' but rather a value in the note hash preimage, so there is no notion of a\n// value spilling over multiple slots. For this reason PrivateImmutable (and all other private state variables) needs\n// just one slot to be reserved, regardless of what it stores.\nimpl<T, Context> Storage<1> for PrivateImmutable<T, Context> {\n fn get_storage_slot(self) -> Field {\n self.storage_slot\n }\n}\n\nimpl<Note, Context> PrivateImmutable<Note, Context> {\n // docs:start:new\n pub fn new(context: Context, storage_slot: Field) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Self { context, storage_slot }\n }\n // docs:end:new\n\n // The following computation is leaky, in that it doesn't hide the storage slot that has been initialized, nor does it hide the contract address of this contract.\n // When this initialization nullifier is emitted, an observer could do a dictionary or rainbow attack to learn the preimage of this nullifier to deduce the storage slot and contract address.\n // For some applications, leaking the details that a particular state variable of a particular contract has been initialized will be unacceptable.\n // Under such circumstances, such application developers might wish to _not_ use this state variable type.\n // This is especially dangerous for initial assignment to elements of a `Map<AztecAddress, PrivateImmutable>` type (for example), because the storage slot often also identifies an actor.\n // e.g. the initial assignment to `my_map.at(msg.sender)` will leak: `msg.sender`, the fact that an element of `my_map` was assigned-to for the first time, and the contract_address.\n pub fn compute_initialization_nullifier(self) -> Field {\n poseidon2_hash_with_separator(\n [self.storage_slot],\n GENERATOR_INDEX__INITIALIZATION_NULLIFIER,\n )\n }\n}\n\nimpl<Note> PrivateImmutable<Note, &mut PrivateContext> {\n // docs:start:initialize\n pub fn initialize<let N: u32>(self, note: Note) -> NoteEmission<Note>\n where\n Note: NoteType + NoteHash + Packable<N>,\n {\n // Nullify the storage slot.\n let nullifier = self.compute_initialization_nullifier();\n self.context.push_nullifier(nullifier);\n\n create_note(self.context, self.storage_slot, note)\n }\n // docs:end:initialize\n\n // docs:start:get_note\n pub fn get_note<let N: u32>(self) -> Note\n where\n Note: NoteType + NoteHash + Packable<N>,\n {\n let storage_slot = self.storage_slot;\n let retrieved_note = get_note(self.context, storage_slot).0;\n\n // Because the notes obtained from PrivateImmutable are not meant to be nullified and get_note(...) function\n // has already constrained the note (by pushing a read request to the context), we can return just the note\n // and skip the additional data in RetrievedNote.\n retrieved_note.note\n }\n // docs:end:get_note\n}\n\nimpl<Note> PrivateImmutable<Note, UtilityContext>\nwhere\n Note: NoteType + NoteHash + Eq,\n{\n // docs:start:is_initialized\n pub unconstrained fn is_initialized(self) -> bool {\n let nullifier = self.compute_initialization_nullifier();\n check_nullifier_exists(nullifier)\n }\n // docs:end:is_initialized\n\n // view_note does not actually use the context, but it calls oracles that are only available in private\n // docs:start:view_note\n pub unconstrained fn view_note<let N: u32>(self) -> Note\n where\n Note: Packable<N>,\n {\n let mut options = NoteViewerOptions::new();\n view_notes(self.storage_slot, options.set_limit(1)).get(0)\n }\n // docs:end:view_note\n}\n"
|
|
6245
6298
|
},
|
|
@@ -6251,113 +6304,113 @@
|
|
|
6251
6304
|
"path": "std/field/mod.nr",
|
|
6252
6305
|
"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 self.__assert_max_bit_size(BIT_SIZE);\n }\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\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)]\n fn _to_le_bits<let N: u32>(self: Self) -> [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)]\n fn _to_be_bits<let N: u32>(self: Self) -> [u1; 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 = self._to_le_bits();\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 = self._to_be_bits();\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 // docs:start:to_le_radix\n pub 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 self.__to_le_radix(radix)\n }\n // docs:end:to_le_radix\n\n // docs:start:to_be_radix\n pub 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 crate::assert_constant(radix);\n }\n self.__to_be_radix(radix)\n }\n // docs:end:to_be_radix\n\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix<let N: u32>(self, radix: u32) -> [u8; N] {}\n\n // `_radix` must be less than 256\n #[builtin(to_be_radix)]\n fn __to_be_radix<let N: u32>(self, radix: u32) -> [u8; N] {}\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b: [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(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};\n use super::field_less_than;\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 // TODO: Update this test to account for the Brillig restriction that the radix must be greater than 2\n //#[test]\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 out: [u8; 8] = field.to_le_radix(1);\n // crate::println(out);\n // let expected = [0; 8];\n // assert(out == expected, \"unexpected result\");\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 // TODO: Update this test to account for the Brillig restriction that the radix must be less than 512\n //#[test]\n //fn test_to_le_radix_brillig_512() {\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(512);\n // let mut expected = [0; 8];\n // expected[0] = 1;\n // assert(out == expected, \"unexpected result\");\n // }\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"
|
|
6253
6306
|
},
|
|
6254
|
-
"
|
|
6307
|
+
"187": {
|
|
6255
6308
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/utils/array/append.nr",
|
|
6256
6309
|
"source": "/// Appends two `BoundedVec`s together, returning one that contains all of the elements of the first one followed by all\n/// of the elements of the second one. The resulting `BoundedVec` can have any arbitrary maximum length, but it must be\n/// large enough to fit all of the elements of both the first and second vectors.\npub fn append<T, let A_LEN: u32, let B_LEN: u32, let DST_LEN: u32>(\n a: BoundedVec<T, A_LEN>,\n b: BoundedVec<T, B_LEN>,\n) -> BoundedVec<T, DST_LEN> {\n let mut dst = BoundedVec::new();\n\n dst.extend_from_bounded_vec(a);\n dst.extend_from_bounded_vec(b);\n\n dst\n}\n\nmod test {\n use super::append;\n\n #[test]\n unconstrained fn append_empty_vecs() {\n let a: BoundedVec<_, 3> = BoundedVec::new();\n let b: BoundedVec<_, 14> = BoundedVec::new();\n\n let result: BoundedVec<Field, 5> = append(a, b);\n\n assert_eq(result.len(), 0);\n assert_eq(result.storage(), std::mem::zeroed());\n }\n\n #[test]\n unconstrained fn append_non_empty_vecs() {\n let a: BoundedVec<_, 3> = BoundedVec::from_array([1, 2, 3]);\n let b: BoundedVec<_, 14> = BoundedVec::from_array([4, 5, 6]);\n\n let result: BoundedVec<Field, 8> = append(a, b);\n\n assert_eq(result.len(), 6);\n assert_eq(result.storage(), [1, 2, 3, 4, 5, 6, std::mem::zeroed(), std::mem::zeroed()]);\n }\n\n #[test(should_fail_with = \"out of bounds\")]\n unconstrained fn append_non_empty_vecs_insufficient_max_len() {\n let a: BoundedVec<_, 3> = BoundedVec::from_array([1, 2, 3]);\n let b: BoundedVec<_, 14> = BoundedVec::from_array([4, 5, 6]);\n\n let _: BoundedVec<Field, 5> = append(a, b);\n }\n}\n"
|
|
6257
6310
|
},
|
|
6258
|
-
"
|
|
6311
|
+
"190": {
|
|
6259
6312
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/utils/array/subarray.nr",
|
|
6260
6313
|
"source": "/// Returns `DST_LEN` elements from a source array, starting at `offset`. `DST_LEN` must not be larger than the number\n/// of elements past `offset`.\n///\n/// Examples:\n/// ```\n/// let foo: [Field; 2] = subarray([1, 2, 3, 4, 5], 2);\n/// assert_eq(foo, [3, 4]);\n///\n/// let bar: [Field; 5] = subarray([1, 2, 3, 4, 5], 2); // fails - we can't return 5 elements since only 3 remain\n/// ```\npub fn subarray<T, let SRC_LEN: u32, let DST_LEN: u32>(\n src: [T; SRC_LEN],\n offset: u32,\n) -> [T; DST_LEN] {\n assert(offset + DST_LEN <= SRC_LEN, \"DST_LEN too large for offset\");\n\n let mut dst: [T; DST_LEN] = std::mem::zeroed();\n for i in 0..DST_LEN {\n dst[i] = src[i + offset];\n }\n\n dst\n}\n\nmod test {\n use super::subarray;\n\n #[test]\n unconstrained fn subarray_into_empty() {\n // In all of these cases we're setting DST_LEN to be 0, so we always get back an emtpy array.\n assert_eq(subarray::<Field, _, _>([], 0), []);\n assert_eq(subarray([1, 2, 3, 4, 5], 0), []);\n assert_eq(subarray([1, 2, 3, 4, 5], 2), []);\n }\n\n #[test]\n unconstrained fn subarray_complete() {\n assert_eq(subarray::<Field, _, _>([], 0), []);\n assert_eq(subarray([1, 2, 3, 4, 5], 0), [1, 2, 3, 4, 5]);\n }\n\n #[test]\n unconstrained fn subarray_different_end_sizes() {\n // We implicitly select how many values to read in the size of the return array\n assert_eq(subarray([1, 2, 3, 4, 5], 1), [2, 3, 4, 5]);\n assert_eq(subarray([1, 2, 3, 4, 5], 1), [2, 3, 4]);\n assert_eq(subarray([1, 2, 3, 4, 5], 1), [2, 3]);\n assert_eq(subarray([1, 2, 3, 4, 5], 1), [2]);\n }\n\n #[test(should_fail_with = \"DST_LEN too large for offset\")]\n unconstrained fn subarray_offset_too_large() {\n // With an offset of 1 we can only request up to 4 elements\n let _: [_; 5] = subarray([1, 2, 3, 4, 5], 1);\n }\n\n #[test(should_fail)]\n unconstrained fn subarray_bad_return_value() {\n assert_eq(subarray([1, 2, 3, 4, 5], 1), [3, 3, 4, 5]);\n }\n}\n"
|
|
6261
6314
|
},
|
|
6262
|
-
"
|
|
6315
|
+
"191": {
|
|
6263
6316
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/utils/array/subbvec.nr",
|
|
6264
6317
|
"source": "use crate::utils::array;\n\n/// Returns `DST_MAX_LEN` elements from a source BoundedVec, starting at `offset`. `offset` must not be larger than the\n/// original length, and `DST_LEN` must not be larger than the total number of elements past `offset` (including the\n/// zeroed elements past `len()`).\n///\n/// Only elements at the beginning of the vector can be removed: it is not possible to also remove elements at the end\n/// of the vector by passing a value for `DST_LEN` that is smaller than `len() - offset`.\n///\n/// Examples:\n/// ```\n/// let foo = BoundedVec::<_, 10>::from_array([1, 2, 3, 4, 5]);\n/// assert_eq(subbvec(foo, 2), BoundedVec::<_, 8>::from_array([3, 4, 5]));\n///\n/// let bar: BoundedVec<_, 1> = subbvec(foo, 2); // fails - we can't return just 1 element since 3 remain\n/// let baz: BoundedVec<_, 10> = subbvec(foo, 3); // fails - we can't return 10 elements since only 7 remain\n/// ```\npub fn subbvec<T, let SRC_MAX_LEN: u32, let DST_MAX_LEN: u32>(\n bvec: BoundedVec<T, SRC_MAX_LEN>,\n offset: u32,\n) -> BoundedVec<T, DST_MAX_LEN> {\n // from_parts_unchecked does not verify that the elements past len are zeroed, but that is not an issue in our case\n // because we're constructing the new storage array as a subarray of the original one (which should have zeroed\n // storage past len), guaranteeing correctness. This is because `subarray` does not allow extending arrays past\n // their original length.\n BoundedVec::from_parts_unchecked(array::subarray(bvec.storage(), offset), bvec.len() - offset)\n}\n\nmod test {\n use super::subbvec;\n\n #[test]\n unconstrained fn subbvec_empty() {\n let bvec = BoundedVec::<Field, 0>::from_array([]);\n assert_eq(subbvec(bvec, 0), bvec);\n }\n\n #[test]\n unconstrained fn subbvec_complete() {\n let bvec = BoundedVec::<_, 10>::from_array([1, 2, 3, 4, 5]);\n assert_eq(subbvec(bvec, 0), bvec);\n\n let smaller_capacity = BoundedVec::<_, 5>::from_array([1, 2, 3, 4, 5]);\n assert_eq(subbvec(bvec, 0), smaller_capacity);\n }\n\n #[test]\n unconstrained fn subbvec_partial() {\n let bvec = BoundedVec::<_, 10>::from_array([1, 2, 3, 4, 5]);\n\n assert_eq(subbvec(bvec, 2), BoundedVec::<_, 8>::from_array([3, 4, 5]));\n assert_eq(subbvec(bvec, 2), BoundedVec::<_, 3>::from_array([3, 4, 5]));\n }\n\n #[test]\n unconstrained fn subbvec_into_empty() {\n let bvec: BoundedVec<_, 10> = BoundedVec::from_array([1, 2, 3, 4, 5]);\n assert_eq(subbvec(bvec, 5), BoundedVec::<_, 5>::from_array([]));\n }\n\n #[test(should_fail)]\n unconstrained fn subbvec_offset_past_len() {\n let bvec = BoundedVec::<_, 10>::from_array([1, 2, 3, 4, 5]);\n let _: BoundedVec<_, 1> = subbvec(bvec, 6);\n }\n\n #[test(should_fail)]\n unconstrained fn subbvec_insufficient_dst_len() {\n let bvec = BoundedVec::<_, 10>::from_array([1, 2, 3, 4, 5]);\n\n // We're not providing enough space to hold all of the items inside the original BoundedVec. subbvec can cause\n // for the capacity to reduce, but not the length (other than by len - offset).\n let _: BoundedVec<_, 1> = subbvec(bvec, 2);\n }\n\n #[test(should_fail_with = \"DST_LEN too large for offset\")]\n unconstrained fn subbvec_dst_len_causes_enlarge() {\n let bvec = BoundedVec::<_, 10>::from_array([1, 2, 3, 4, 5]);\n\n // subbvec does not supprt capacity increases\n let _: BoundedVec<_, 11> = subbvec(bvec, 0);\n }\n\n #[test(should_fail_with = \"DST_LEN too large for offset\")]\n unconstrained fn subbvec_dst_len_too_large_for_offset() {\n let bvec = BoundedVec::<_, 10>::from_array([1, 2, 3, 4, 5]);\n\n // This effectively requests a capacity increase, since there'd be just one element plus the 5 empty slots,\n // which is less than 7.\n let _: BoundedVec<_, 7> = subbvec(bvec, 4);\n }\n}\n"
|
|
6265
6318
|
},
|
|
6266
|
-
"
|
|
6319
|
+
"193": {
|
|
6267
6320
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/utils/conversion/bytes_to_fields.nr",
|
|
6268
6321
|
"source": "use std::static_assert;\n\n// These functions are used to facilitate the conversion of log ciphertext between byte and field representations.\n//\n// `bytes_to_fields` uses fixed-size arrays since encryption contexts have compile-time size information.\n// `bytes_from_fields` uses BoundedVec for flexibility in unconstrained contexts where sizes are dynamic.\n//\n// Together they provide bidirectional conversion between bytes and fields when processing encrypted logs.\n\n/// Converts the input bytes into an array of fields. A Field is ~254 bits meaning that each field can store 31 whole\n/// bytes. Use `bytes_from_fields` to obtain the original bytes array.\n///\n/// The input bytes are chunked into chunks of 31 bytes. Each 31-byte chunk is viewed as big-endian, and is converted\n/// into a Field.\n/// For example, [1, 10, 3, ..., 0] (31 bytes) is encoded as [1 * 256^30 + 10 * 256^29 + 3 * 256^28 + ... + 0]\n/// Note: N must be a multiple of 31 bytes\npub fn bytes_to_fields<let N: u32>(bytes: [u8; N]) -> [Field; N / 31] {\n // Assert that N is a multiple of 31\n static_assert(N % 31 == 0, \"N must be a multiple of 31\");\n\n let mut fields = [0; N / 31];\n\n // Since N is a multiple of 31, we can simply process all chunks fully\n for i in 0..N / 31 {\n let mut field = 0;\n for j in 0..31 {\n // Shift the existing value left by 8 bits and add the new byte\n field = field * 256 + bytes[i * 31 + j] as Field;\n }\n fields[i] = field;\n }\n\n fields\n}\n\n/// Converts an input BoundedVec of fields into a BoundedVec of bytes in big-endian order. Arbitrary Field arrays\n/// are not allowed: this is assumed to be an array obtained via `bytes_to_fields`, i.e. one that actually represents\n/// bytes. To convert a Field array into bytes, use `fields_to_bytes`.\n///\n/// Each input field must contain at most 31 bytes (this is constrained to be so).\n/// Each field is converted into 31 big-endian bytes, and the resulting 31-byte chunks are concatenated\n/// back together in the order of the original fields.\npub fn bytes_from_fields<let N: u32>(fields: BoundedVec<Field, N>) -> BoundedVec<u8, N * 31> {\n let mut bytes = BoundedVec::new();\n\n for i in 0..fields.len() {\n let field = fields.get(i);\n\n // We expect that the field contains at most 31 bytes of information.\n field.assert_max_bit_size::<248>();\n\n // Now we can safely convert the field to 31 bytes.\n let field_as_bytes: [u8; 31] = field.to_be_bytes();\n\n for j in 0..31 {\n bytes.push(field_as_bytes[j]);\n }\n }\n\n bytes\n}\n\nmod tests {\n use crate::utils::array::subarray;\n use super::{bytes_from_fields, bytes_to_fields};\n\n #[test]\n unconstrained fn random_bytes_to_fields_and_back(input: [u8; 93]) {\n let fields = bytes_to_fields(input);\n\n // At this point in production, the log flies through the system and we get a BoundedVec on the other end.\n // So we need to convert the field array to a BoundedVec to be able to feed it to the `bytes_from_fields`\n // function.\n let fields_as_bounded_vec = BoundedVec::<_, 6>::from_array(fields);\n\n let bytes_back = bytes_from_fields(fields_as_bounded_vec);\n\n // Compare the original input with the round-tripped result\n assert_eq(bytes_back.len(), input.len());\n assert_eq(subarray(bytes_back.storage(), 0), input);\n }\n\n #[test(should_fail_with = \"N must be a multiple of 31\")]\n unconstrained fn bytes_to_fields_input_length_not_multiple_of_31() {\n // Try to convert 32 bytes (not a multiple of 31) to fields\n let _fields = bytes_to_fields([0; 32]);\n }\n\n}\n"
|
|
6269
6322
|
},
|
|
6270
|
-
"
|
|
6323
|
+
"194": {
|
|
6271
6324
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/utils/conversion/fields_to_bytes.nr",
|
|
6272
6325
|
"source": "// These functions are used to facilitate the conversion of log plaintext represented as fields into bytes and back.\n//\n// `fields_to_bytes` uses fixed-size arrays since encryption contexts have compile-time size information.\n// `fields_from_bytes` uses BoundedVec for flexibility in unconstrained contexts where sizes are dynamic.\n//\n// Together they provide bidirectional conversion between fields and bytes.\n\n/// Converts an input array of fields into a single array of bytes. Use `fields_from_bytes` to obtain the original\n/// field array.\n/// Each field is converted to a 32-byte big-endian array.\n///\n/// For example, if you have a field array [123, 456], it will be converted to a 64-byte array:\n/// [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123, // First field (32 bytes)\n/// 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,200] // Second field (32 bytes)\n///\n/// Since a field is ~254 bits, you'll end up with a subtle 2-bit \"gap\" at the big end, every 32 bytes. Be careful\n/// that such a gap doesn't leak information! This could happen if you for example expected the output to be\n/// indistinguishable from random bytes.\npub fn fields_to_bytes<let N: u32>(fields: [Field; N]) -> [u8; 32 * N] {\n let mut bytes = [0; 32 * N];\n\n for i in 0..N {\n let field_as_bytes: [u8; 32] = fields[i].to_be_bytes();\n\n for j in 0..32 {\n bytes[i * 32 + j] = field_as_bytes[j];\n }\n }\n\n bytes\n}\n\n/// Converts an input BoundedVec of bytes into a BoundedVec of fields. Arbitrary byte arrays are not allowed: this\n/// is assumed to be an array obtained via `fields_to_bytes`, i.e. one that actually represents fields. To convert\n/// a byte array into Fields, use `bytes_to_fields`.\n///\n/// The input bytes are chunked into chunks of 32 bytes. Each 32-byte chunk is viewed as big-endian, and is converted\n/// into a Field.\n/// For example, [1, 10, 3, ..., 0] (32 bytes) is encoded as [1 * 256^31 + 10 * 256^30 + 3 * 256^29 + ... + 0]\n/// Note 1: N must be a multiple of 32 bytes\n/// Note 2: The max value check code was taken from std::field::to_be_bytes function.\npub fn fields_from_bytes<let N: u32>(bytes: BoundedVec<u8, N>) -> BoundedVec<Field, N / 32> {\n // Assert that input length is a multiple of 32\n assert(bytes.len() % 32 == 0, \"Input length must be a multiple of 32\");\n\n let mut fields = BoundedVec::new();\n\n let p = std::field::modulus_be_bytes();\n\n // Since input length is a multiple of 32, we can simply process all chunks fully\n for i in 0..bytes.len() / 32 {\n let mut field = 0;\n\n // Process each byte in the 32-byte chunk\n let mut ok = false;\n\n for j in 0..32 {\n let next_byte = bytes.get(i * 32 + j);\n field = field * 256 + next_byte as Field;\n\n if !ok {\n if next_byte != p[j] {\n assert(next_byte < p[j], \"Value does not fit in field\");\n ok = true;\n }\n }\n }\n assert(ok, \"Value does not fit in field\");\n\n fields.push(field);\n }\n\n fields\n}\n\nmod tests {\n use crate::utils::array::subarray;\n use super::{fields_from_bytes, fields_to_bytes};\n\n #[test]\n unconstrained fn random_fields_to_bytes_and_back(input: [Field; 3]) {\n // Convert to bytes\n let bytes = fields_to_bytes(input);\n\n // At this point in production, the log flies through the system and we get a BoundedVec on the other end.\n // So we need to convert the field array to a BoundedVec to be able to feed it to the `fields_from_bytes`\n // function.\n // 113 is an arbitrary max length that is larger than the input length of 96.\n let bytes_as_bounded_vec = BoundedVec::<_, 113>::from_array(bytes);\n\n // Convert back to fields\n let fields_back = fields_from_bytes(bytes_as_bounded_vec);\n\n // Compare the original input with the round-tripped result\n assert_eq(fields_back.len(), input.len());\n assert_eq(subarray(fields_back.storage(), 0), input);\n }\n\n #[test(should_fail_with = \"Input length must be a multiple of 32\")]\n unconstrained fn to_fields_assert() {\n // 143 is an arbitrary max length that is larger than 33\n let input = BoundedVec::<_, 143>::from_array([\n 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,\n 25, 26, 27, 28, 29, 30, 31, 32, 33,\n ]);\n\n // This should fail since 33 is not a multiple of 32\n let _fields = fields_from_bytes(input);\n }\n\n #[test]\n unconstrained fn fields_from_bytes_max_value() {\n let max_field_as_bytes: [u8; 32] = (-1).to_be_bytes();\n let input = BoundedVec::<_, 32>::from_array(max_field_as_bytes);\n\n let fields = fields_from_bytes(input);\n\n // The result should be a largest value storable in a field (-1 since we are modulo-ing)\n assert_eq(fields.get(0), -1);\n }\n\n // In this test we verify that overflow check works by taking the max allowed value, bumping a random byte\n // and then feeding it to `fields_from_bytes` as input.\n #[test(should_fail_with = \"Value does not fit in field\")]\n unconstrained fn fields_from_bytes_overflow(random_value: u8) {\n let index_of_byte_to_bump = random_value % 32;\n\n // Obtain the byte representation of the maximum field value\n let max_field_value_as_bytes: [u8; 32] = (-1).to_be_bytes();\n\n let byte_to_bump = max_field_value_as_bytes[index_of_byte_to_bump as u32];\n\n // Skip test execution if the selected byte is already at maximum value (255).\n // This is acceptable since we are using fuzz testing to generate many test cases.\n if byte_to_bump != 255 {\n let mut input = BoundedVec::<_, 32>::from_array(max_field_value_as_bytes);\n\n // Increment the selected byte to exceed the field's maximum value\n input.set(index_of_byte_to_bump as u32, byte_to_bump + 1);\n\n // Attempt the conversion, which should fail due to the value exceeding the field's capacity\n let _fields = fields_from_bytes(input);\n }\n }\n\n}\n"
|
|
6273
6326
|
},
|
|
6274
|
-
"
|
|
6327
|
+
"196": {
|
|
6275
6328
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/utils/field.nr",
|
|
6276
6329
|
"source": "use std::option::Option;\n\nglobal KNOWN_NON_RESIDUE: Field = 5; // This is a non-residue in Noir's native Field.\n\nglobal C1: u32 = 28;\nglobal C3: Field = 40770029410420498293352137776570907027550720424234931066070132305055;\nglobal C5: Field = 19103219067921713944291392827692070036145651957329286315305642004821462161904;\n\n// Power function of two Field arguments of arbitrary size.\n// Adapted from std::field::pow_32.\npub fn pow(x: Field, y: Field) -> Field {\n let mut r = 1 as Field;\n let b: [u1; 254] = y.to_le_bits();\n\n for i in 0..254 {\n r *= r;\n r *= (b[254 - 1 - i] as Field) * x + (1 - b[254 - 1 - i] as Field);\n }\n\n r\n}\n\n// Boolean indicating whether Field element is a square, i.e. whether there exists a y in Field s.t. x = y*y.\nunconstrained fn is_square(x: Field) -> bool {\n let v = pow(x, -1 / 2);\n v * (v - 1) == 0\n}\n\n// Tonelli-Shanks algorithm for computing the square root of a Field element.\n// Requires C1 = max{c: 2^c divides (p-1)}, where p is the order of Field\n// as well as C3 = (C2 - 1)/2, where C2 = (p-1)/(2^c1),\n// and C5 = ZETA^C2, where ZETA is a non-square element of Field.\n// These are pre-computed above as globals.\nunconstrained fn tonelli_shanks_sqrt(x: Field) -> Field {\n let mut z = pow(x, C3);\n let mut t = z * z * x;\n z *= x;\n let mut b = t;\n let mut c = C5;\n\n for i in 0..(C1 - 1) {\n for _j in 1..(C1 - i - 1) {\n b *= b;\n }\n\n z *= if b == 1 { 1 } else { c };\n\n c *= c;\n\n t *= if b == 1 { 1 } else { c };\n\n b = t;\n }\n\n z\n}\n\n// NB: this doesn't return an option, because in the case of there _not_ being a square root, we still want to return a field element that allows us to then assert in the _constrained_ sqrt function that there is no sqrt.\npub unconstrained fn __sqrt(x: Field) -> (bool, Field) {\n let is_sq = is_square(x);\n if is_sq {\n let sqrt = tonelli_shanks_sqrt(x);\n (true, sqrt)\n } else {\n // Demonstrate that x is not a square (a.k.a. a \"quadratic non-residue\").\n // Facts:\n // The Legendre symbol (\"LS\") of x, is x^((p-1)/2) (mod p).\n // - If x is a square, LS(x) = 1\n // - If x is not a square, LS(x) = -1\n // - If x = 0, LS(x) = 0.\n //\n // Hence:\n // sq * sq = sq // 1 * 1 = 1\n // non-sq * non-sq = sq // -1 * -1 = 1\n // sq * non-sq = non-sq // -1 * 1 = -1\n //\n // See: https://en.wikipedia.org/wiki/Legendre_symbol\n let demo_x_not_square = x * KNOWN_NON_RESIDUE;\n let not_sqrt = tonelli_shanks_sqrt(demo_x_not_square);\n (false, not_sqrt)\n }\n}\n\n// Returns (false, 0) if there is no square root.\n// Returns (true, sqrt) if there is a square root.\npub fn sqrt(x: Field) -> Option<Field> {\n // Safety: if the hint returns the square root of x, then we simply square it\n // check the result equals x. If x is not square, we return a value that\n // enables us to prove that fact (see the `else` clause below).\n let (is_sq, maybe_sqrt) = unsafe { __sqrt(x) };\n\n if is_sq {\n let sqrt = maybe_sqrt;\n validate_sqrt_hint(x, sqrt);\n Option::some(sqrt)\n } else {\n let not_sqrt_hint = maybe_sqrt;\n validate_not_sqrt_hint(x, not_sqrt_hint);\n Option::none()\n }\n}\n\nfn validate_sqrt_hint(x: Field, hint: Field) {\n assert(hint * hint == x, f\"The claimed_sqrt {hint} is not the sqrt of x {x}\");\n}\n\nfn validate_not_sqrt_hint(x: Field, hint: Field) {\n // We need this assertion, because x = 0 would pass the other assertions in this\n // function, and we don't want people to be able to prove that 0 is not square!\n assert(x != 0, \"0 has a square root; you cannot claim it is not square\");\n // Demonstrate that x is not a square (a.k.a. a \"quadratic non-residue\").\n //\n // Facts:\n // The Legendre symbol (\"LS\") of x, is x^((p-1)/2) (mod p).\n // - If x is a square, LS(x) = 1\n // - If x is not a square, LS(x) = -1\n // - If x = 0, LS(x) = 0.\n //\n // Hence:\n // 1. sq * sq = sq // 1 * 1 = 1\n // 2. non-sq * non-sq = sq // -1 * -1 = 1\n // 3. sq * non-sq = non-sq // -1 * 1 = -1\n //\n // See: https://en.wikipedia.org/wiki/Legendre_symbol\n //\n // We want to demonstrate that this below multiplication falls under bullet-point (2):\n let demo_x_not_square = x * KNOWN_NON_RESIDUE;\n // I.e. we want to demonstrate that `demo_x_not_square` has Legendre symbol 1\n // (i.e. that it is a square), so we prove that it is square below.\n // Why do we want to prove that it has LS 1?\n // Well, since it was computed with a known-non-residue, its squareness implies we're\n // in case 2 (something multiplied by a known-non-residue yielding a result which\n // has a LS of 1), which implies that x must be a non-square. The unconstrained\n // function gave us the sqrt of demo_x_not_square, so all we need to do is\n // assert its squareness:\n assert(\n hint * hint == demo_x_not_square,\n f\"The hint {hint} does not demonstrate that {x} is not a square\",\n );\n}\n\n#[test]\nfn test_sqrt() {\n let x = 9;\n let maybe_sqrt = sqrt(x);\n assert(maybe_sqrt.is_some());\n let sqrt = maybe_sqrt.unwrap_unchecked();\n assert((sqrt == 3) | (sqrt == -3));\n}\n\n#[test]\nfn test_non_square() {\n let x = 5;\n let maybe_sqrt = sqrt(x);\n assert(maybe_sqrt.is_none());\n}\n\n#[test]\nunconstrained fn test_known_non_residue_is_actually_a_non_residue_in_the_field() {\n assert(!is_square(KNOWN_NON_RESIDUE));\n}\n\n#[test]\nfn test_sqrt_0() {\n let x = 0;\n let sqrt = sqrt(x).unwrap();\n assert(sqrt == 0);\n}\n\n#[test]\nfn test_sqrt_1() {\n let x = 1;\n let sqrt = sqrt(x).unwrap();\n assert((sqrt == 1) | (sqrt == -1));\n}\n\n#[test(should_fail_with = \"The claimed_sqrt 0x04 is not the sqrt of x 0x09\")]\nfn test_bad_sqrt_hint_fails() {\n validate_sqrt_hint(9, 4);\n}\n\n#[test(should_fail_with = \"The hint 0x04 does not demonstrate that 0x0a is not a square\")]\nfn test_bad_not_sqrt_hint_fails() {\n validate_not_sqrt_hint(10, 4);\n}\n\n#[test(should_fail_with = \"0 has a square root; you cannot claim it is not square\")]\nfn test_0_not_sqrt_hint_fails() {\n validate_not_sqrt_hint(0, 0);\n}\n\n#[test]\nunconstrained fn test_is_square() {\n assert(is_square(25));\n}\n\n#[test]\nunconstrained fn test_is_not_square() {\n assert(!is_square(10));\n}\n"
|
|
6277
6330
|
},
|
|
6278
|
-
"
|
|
6331
|
+
"198": {
|
|
6279
6332
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/utils/point.nr",
|
|
6280
6333
|
"source": "use crate::utils::field::sqrt;\nuse dep::protocol_types::point::Point;\n\n// I am storing the modulus minus 1 divided by 2 here because full modulus would throw \"String literal too large\" error\n// Full modulus is 21888242871839275222246405745257275088548364400416034343698204186575808495617\nglobal BN254_FR_MODULUS_DIV_2: Field =\n 10944121435919637611123202872628637544274182200208017171849102093287904247808;\n\n/// Converts a point to a byte array.\n///\n/// We don't serialize the point at infinity flag because this function is used in situations where we do not want\n/// to waste the extra byte (encrypted log).\npub fn point_to_bytes(p: Point) -> [u8; 32] {\n // Note that there is 1 more free bit in the 32 bytes (254 bits currently occupied by the x coordinate, 1 bit for\n // the \"sign\") so it's possible to use that last bit as an \"is_infinite\" flag if desired in the future.\n assert(!p.is_infinite, \"Cannot serialize point at infinity as bytes.\");\n\n let mut result: [u8; 32] = p.x.to_be_bytes();\n\n if get_sign_of_point(p) {\n // y is <= (modulus - 1) / 2 so we set the sign bit to 1\n // Here we leverage that field fits into 254 bits (log2(Fr.MODULUS) < 254) and given that we serialize Fr to 32\n // bytes and we use big-endian the 2 most significant bits are never populated. Hence we can use one of\n // the bits as a sign bit.\n result[0] += 128;\n }\n\n result\n}\n\n/**\n * Returns: true if p.y <= MOD_DIV_2, else false.\n */\npub fn get_sign_of_point(p: Point) -> bool {\n // We store only a \"sign\" of the y coordinate because the rest can be derived from the x coordinate. To get\n // the sign we check if the y coordinate is less or equal than the curve's order minus 1 divided by 2.\n // Ideally we'd do `y <= MOD_DIV_2`, but there's no `lte` function, so instead we do `!(y > MOD_DIV_2)`, which is\n // equivalent, and then rewrite that as `!(MOD_DIV_2 < y)`, since we also have no `gt` function.\n !BN254_FR_MODULUS_DIV_2.lt(p.y)\n}\n\npub fn point_from_x_coord(x: Field) -> Point {\n // y ^ 2 = x ^ 3 - 17\n let rhs = x * x * x - 17;\n let y = sqrt(rhs).unwrap();\n Point { x, y, is_infinite: false }\n}\n\n/// Uses the x coordinate and sign flag (+/-) to reconstruct the point.\n/// The y coordinate can be derived from the x coordinate and the \"sign\" flag by solving the grumpkin curve\n/// equation for y.\n/// @param x - The x coordinate of the point\n/// @param sign - The \"sign\" of the y coordinate - determines whether y <= (Fr.MODULUS - 1) / 2\npub fn point_from_x_coord_and_sign(x: Field, sign: bool) -> Point {\n // y ^ 2 = x ^ 3 - 17\n let rhs = x * x * x - 17;\n let y = sqrt(rhs).unwrap();\n\n // If y > MOD_DIV_2 and we want positive sign (or vice versa), negate y\n let y_is_positive = !BN254_FR_MODULUS_DIV_2.lt(y);\n let final_y = if y_is_positive == sign { y } else { -y };\n\n Point { x, y: final_y, is_infinite: false }\n}\n\nmod test {\n use crate::utils::point::{point_from_x_coord_and_sign, point_to_bytes};\n use dep::protocol_types::point::Point;\n\n #[test]\n unconstrained fn test_point_to_bytes_positive_sign() {\n let p = Point {\n x: 0x1af41f5de96446dc3776a1eb2d98bb956b7acd9979a67854bec6fa7c2973bd73,\n y: 0x07fc22c7f2c7057571f137fe46ea9c95114282bc95d37d71ec4bfb88de457d4a,\n is_infinite: false,\n };\n\n let compressed_point = point_to_bytes(p);\n\n let expected_compressed_point_positive_sign = [\n 154, 244, 31, 93, 233, 100, 70, 220, 55, 118, 161, 235, 45, 152, 187, 149, 107, 122,\n 205, 153, 121, 166, 120, 84, 190, 198, 250, 124, 41, 115, 189, 115,\n ];\n assert_eq(expected_compressed_point_positive_sign, compressed_point);\n }\n\n #[test]\n unconstrained fn test_point_to_bytes_negative_sign() {\n let p = Point {\n x: 0x247371652e55dd74c9af8dbe9fb44931ba29a9229994384bd7077796c14ee2b5,\n y: 0x26441aec112e1ae4cee374f42556932001507ad46e255ffb27369c7e3766e5c0,\n is_infinite: false,\n };\n\n let compressed_point = point_to_bytes(p);\n\n let expected_compressed_point_negative_sign = [\n 36, 115, 113, 101, 46, 85, 221, 116, 201, 175, 141, 190, 159, 180, 73, 49, 186, 41, 169,\n 34, 153, 148, 56, 75, 215, 7, 119, 150, 193, 78, 226, 181,\n ];\n\n assert_eq(expected_compressed_point_negative_sign, compressed_point);\n }\n\n #[test]\n unconstrained fn test_point_from_x_coord_and_sign() {\n // Test positive y coordinate\n let x = 0x1af41f5de96446dc3776a1eb2d98bb956b7acd9979a67854bec6fa7c2973bd73;\n let sign = true;\n let p = point_from_x_coord_and_sign(x, sign);\n\n assert_eq(p.x, x);\n assert_eq(p.y, 0x07fc22c7f2c7057571f137fe46ea9c95114282bc95d37d71ec4bfb88de457d4a);\n assert_eq(p.is_infinite, false);\n\n // Test negative y coordinate\n let x2 = 0x247371652e55dd74c9af8dbe9fb44931ba29a9229994384bd7077796c14ee2b5;\n let sign2 = false;\n let p2 = point_from_x_coord_and_sign(x2, sign2);\n\n assert_eq(p2.x, x2);\n assert_eq(p2.y, 0x26441aec112e1ae4cee374f42556932001507ad46e255ffb27369c7e3766e5c0);\n assert_eq(p2.is_infinite, false);\n }\n}\n"
|
|
6281
6334
|
},
|
|
6282
|
-
"
|
|
6335
|
+
"199": {
|
|
6283
6336
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/utils/random.nr",
|
|
6284
6337
|
"source": "use crate::oracle::random::random;\n\n/// Returns as many random bytes as specified through N.\npub unconstrained fn get_random_bytes<let N: u32>() -> [u8; N] {\n let mut bytes = [0; N];\n let mut idx = 32;\n let mut randomness = [0; 32];\n for i in 0..N {\n if idx == 32 {\n randomness = random().to_be_bytes();\n idx = 1; // Skip the first byte as it's always 0.\n }\n bytes[i] = randomness[idx];\n idx += 1;\n }\n bytes\n}\n"
|
|
6285
6338
|
},
|
|
6286
|
-
"
|
|
6339
|
+
"209": {
|
|
6287
6340
|
"path": "/home/aztec-dev/nargo/github.com/noir-lang/poseidon/v0.1.0/src/poseidon2.nr",
|
|
6288
6341
|
"source": "use std::default::Default;\nuse std::hash::Hasher;\n\ncomptime global RATE: u32 = 3;\n\npub struct Poseidon2 {\n cache: [Field; 3],\n state: [Field; 4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n #[no_predicates]\n pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n Poseidon2::hash_internal(input, message_size, message_size != N)\n }\n\n pub(crate) fn new(iv: Field) -> Poseidon2 {\n let mut result =\n Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) {\n // add the cache into sponge state\n for i in 0..RATE {\n // We effectively zero-pad the cache by only adding to the state\n // cache that is less than the specified `cache_size`\n if i < self.cache_size {\n self.state[i] += self.cache[i];\n }\n }\n self.state = crate::poseidon2_permutation(self.state, 4);\n }\n\n fn absorb(&mut self, input: Field) {\n assert(!self.squeeze_mode);\n if self.cache_size == RATE {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n assert(!self.squeeze_mode);\n // If we're in absorb mode, apply sponge permutation to compress the cache.\n self.perform_duplex();\n self.squeeze_mode = true;\n\n // Pop one item off the top of the permutation and return it.\n self.state[0]\n }\n\n fn hash_internal<let N: u32>(\n input: [Field; N],\n in_len: u32,\n is_variable_length: bool,\n ) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv: Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\npub struct Poseidon2Hasher {\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv: Field = (self._state.len() as Field) * 18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field) {\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher { _state: &[] }\n }\n}\n"
|
|
6289
6342
|
},
|
|
6290
|
-
"
|
|
6343
|
+
"226": {
|
|
6291
6344
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/abis/event_selector.nr",
|
|
6292
6345
|
"source": "use crate::traits::{Deserialize, Empty, FromField, Serialize, ToField};\n\npub struct EventSelector {\n // 1st 4-bytes (big-endian leftmost) of abi-encoding of an event.\n inner: u32,\n}\n\nimpl Eq for EventSelector {\n fn eq(self, other: EventSelector) -> bool {\n other.inner == self.inner\n }\n}\n\nimpl Serialize<1> for EventSelector {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner as Field]\n }\n}\n\nimpl Deserialize<1> for EventSelector {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self { inner: fields[0] as u32 }\n }\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 = crate::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"
|
|
6293
6346
|
},
|
|
6294
|
-
"
|
|
6347
|
+
"271": {
|
|
6295
6348
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr",
|
|
6296
6349
|
"source": "use crate::{\n address::{\n partial_address::PartialAddress, salted_initialization_hash::SaltedInitializationHash,\n },\n constants::{\n AZTEC_ADDRESS_LENGTH, GENERATOR_INDEX__CONTRACT_ADDRESS_V1, MAX_FIELD_VALUE,\n MAX_PROTOCOL_CONTRACTS,\n },\n contract_class_id::ContractClassId,\n hash::poseidon2_hash_with_separator,\n public_keys::{IvpkM, NpkM, OvpkM, PublicKeys, ToPoint, TpkM},\n traits::{Deserialize, Empty, FromField, Packable, Serialize, ToField},\n utils::field::{pow, sqrt},\n};\n\n// We do below because `use crate::point::Point;` does not work\nuse dep::std::embedded_curve_ops::EmbeddedCurvePoint as Point;\n\nuse crate::public_keys::AddressPoint;\nuse std::{\n embedded_curve_ops::{EmbeddedCurveScalar, fixed_base_scalar_mul as derive_public_key},\n ops::Add,\n};\n\n// Aztec address\npub struct AztecAddress {\n pub inner: Field,\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other: Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self { inner: 0 }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for AztecAddress {\n fn from_field(value: Field) -> AztecAddress {\n AztecAddress { inner: value }\n }\n}\n\nimpl Serialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn serialize(self: Self) -> [Field; AZTEC_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn deserialize(fields: [Field; AZTEC_ADDRESS_LENGTH]) -> Self {\n FromField::from_field(fields[0])\n }\n}\n\n/// We implement the Packable trait for AztecAddress because it can be stored in contract's storage (and there\n/// the implementation of Packable is required).\nimpl Packable<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn pack(self) -> [Field; AZTEC_ADDRESS_LENGTH] {\n self.serialize()\n }\n\n fn unpack(fields: [Field; AZTEC_ADDRESS_LENGTH]) -> Self {\n Self::deserialize(fields)\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn to_address_point(self) -> AddressPoint {\n // We compute the address point by taking our address, setting it to x, and then solving for y in the\n // equation which defines our bn curve:\n // y^2 = x^3 - 17; x = address\n let x = self.inner;\n let y_squared = pow(x, 3) - 17;\n\n // TODO (#8970): Handle cases where we cannot recover a point from an address\n let mut y = sqrt(y_squared);\n\n // If we get a negative y coordinate (any y where y > MAX_FIELD_VALUE / 2), we pin it to the\n // positive one (any value where y <= MAX_FIELD_VALUE / 2) by subtracting it from the Field modulus\n // note: The field modulus is MAX_FIELD_VALUE + 1\n if (!(y.lt(MAX_FIELD_VALUE / 2) | y.eq(MAX_FIELD_VALUE / 2))) {\n y = (MAX_FIELD_VALUE + 1) - y;\n }\n\n AddressPoint { inner: Point { x: self.inner, y, is_infinite: false } }\n }\n\n pub fn compute(public_keys: PublicKeys, partial_address: PartialAddress) -> AztecAddress {\n let public_keys_hash = public_keys.hash();\n\n let pre_address = poseidon2_hash_with_separator(\n [public_keys_hash.to_field(), partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS_V1,\n );\n\n let address_point = derive_public_key(EmbeddedCurveScalar::from_field(pre_address)).add(\n public_keys.ivpk_m.to_point(),\n );\n\n // Note that our address is only the x-coordinate of the full address_point. This is okay because when people want to encrypt something and send it to us\n // they can recover our full point using the x-coordinate (our address itself). To do this, they recompute the y-coordinate according to the equation y^2 = x^3 - 17.\n // When they do this, they may get a positive y-coordinate (a value that is less than or equal to MAX_FIELD_VALUE / 2) or\n // a negative y-coordinate (a value that is more than MAX_FIELD_VALUE), and we cannot dictate which one they get and hence the recovered point may sometimes be different than the one\n // our secret can decrypt. Regardless though, they should and will always encrypt using point with the positive y-coordinate by convention.\n // This ensures that everyone encrypts to the same point given an arbitrary x-coordinate (address). This is allowed because even though our original point may not have a positive y-coordinate,\n // with our original secret, we will be able to derive the secret to the point with the flipped (and now positive) y-coordinate that everyone encrypts to.\n AztecAddress::from_field(address_point.x)\n }\n\n pub fn compute_from_class_id(\n contract_class_id: ContractClassId,\n salted_initialization_hash: SaltedInitializationHash,\n public_keys: PublicKeys,\n ) -> Self {\n let partial_address = PartialAddress::compute_from_salted_initialization_hash(\n contract_class_id,\n salted_initialization_hash,\n );\n\n AztecAddress::compute(public_keys, partial_address)\n }\n\n pub fn is_protocol_contract(self) -> bool {\n self.inner.lt(MAX_PROTOCOL_CONTRACTS as Field)\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n\n#[test]\nfn compute_address_from_partial_and_pub_keys() {\n let public_keys = PublicKeys {\n npk_m: NpkM {\n inner: Point {\n x: 0x22f7fcddfa3ce3e8f0cc8e82d7b94cdd740afa3e77f8e4a63ea78a239432dcab,\n y: 0x0471657de2b6216ade6c506d28fbc22ba8b8ed95c871ad9f3e3984e90d9723a7,\n is_infinite: false,\n },\n },\n ivpk_m: IvpkM {\n inner: Point {\n x: 0x111223493147f6785514b1c195bb37a2589f22a6596d30bb2bb145fdc9ca8f1e,\n y: 0x273bbffd678edce8fe30e0deafc4f66d58357c06fd4a820285294b9746c3be95,\n is_infinite: false,\n },\n },\n ovpk_m: OvpkM {\n inner: Point {\n x: 0x09115c96e962322ffed6522f57194627136b8d03ac7469109707f5e44190c484,\n y: 0x0c49773308a13d740a7f0d4f0e6163b02c5a408b6f965856b6a491002d073d5b,\n is_infinite: false,\n },\n },\n tpk_m: TpkM {\n inner: Point {\n x: 0x00d3d81beb009873eb7116327cf47c612d5758ef083d4fda78e9b63980b2a762,\n y: 0x2f567d22d2b02fe1f4ad42db9d58a36afd1983e7e2909d1cab61cafedad6193a,\n is_infinite: false,\n },\n },\n };\n\n let partial_address = PartialAddress::from_field(\n 0x0a7c585381b10f4666044266a02405bf6e01fa564c8517d4ad5823493abd31de,\n );\n\n let address = AztecAddress::compute(public_keys, partial_address);\n\n // The following value was generated by `derivation.test.ts`.\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let expected_computed_address_from_partial_and_pubkeys =\n 0x24e4646f58b9fbe7d38e317db8d5636c423fbbdfbe119fc190fe9c64747e0c62;\n assert(address.to_field() == expected_computed_address_from_partial_and_pubkeys);\n}\n\n#[test]\nfn compute_preaddress_from_partial_and_pub_keys() {\n let pre_address = poseidon2_hash_with_separator([1, 2], GENERATOR_INDEX__CONTRACT_ADDRESS_V1);\n let expected_computed_preaddress_from_partial_and_pubkey =\n 0x23ce9be3fa3c846b0f9245cc796902e731d04f086e8a42473bb29e405fc98075;\n assert(pre_address == expected_computed_preaddress_from_partial_and_pubkey);\n}\n\n#[test]\nfn from_field_to_field() {\n let address = AztecAddress { inner: 37 };\n assert_eq(FromField::from_field(address.to_field()), address);\n}\n\n#[test]\nfn serde() {\n let address = AztecAddress { inner: 37 };\n assert_eq(Deserialize::deserialize(address.serialize()), address);\n}\n"
|
|
6297
6350
|
},
|
|
6298
|
-
"
|
|
6351
|
+
"274": {
|
|
6299
6352
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/address/partial_address.nr",
|
|
6300
6353
|
"source": "use crate::{\n address::{aztec_address::AztecAddress, salted_initialization_hash::SaltedInitializationHash},\n constants::GENERATOR_INDEX__PARTIAL_ADDRESS,\n contract_class_id::ContractClassId,\n hash::poseidon2_hash_with_separator,\n traits::{Deserialize, Serialize, ToField},\n};\n\nglobal PARTIAL_ADDRESS_LENGTH: u32 = 1;\n\n// Partial address\npub struct PartialAddress {\n pub inner: Field,\n}\n\nimpl ToField for PartialAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<PARTIAL_ADDRESS_LENGTH> for PartialAddress {\n fn serialize(self: Self) -> [Field; PARTIAL_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<PARTIAL_ADDRESS_LENGTH> for PartialAddress {\n fn deserialize(fields: [Field; PARTIAL_ADDRESS_LENGTH]) -> Self {\n PartialAddress { inner: fields[0] }\n }\n}\n\nimpl PartialAddress {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute(\n contract_class_id: ContractClassId,\n salt: Field,\n initialization_hash: Field,\n deployer: AztecAddress,\n ) -> Self {\n PartialAddress::compute_from_salted_initialization_hash(\n contract_class_id,\n SaltedInitializationHash::compute(salt, initialization_hash, deployer),\n )\n }\n\n pub fn compute_from_salted_initialization_hash(\n contract_class_id: ContractClassId,\n salted_initialization_hash: SaltedInitializationHash,\n ) -> Self {\n PartialAddress::from_field(poseidon2_hash_with_separator(\n [contract_class_id.to_field(), salted_initialization_hash.to_field()],\n GENERATOR_INDEX__PARTIAL_ADDRESS,\n ))\n }\n\n pub fn to_field(self) -> Field {\n self.inner\n }\n\n pub fn is_zero(self) -> bool {\n self.to_field() == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"
|
|
6301
6354
|
},
|
|
6302
|
-
"
|
|
6355
|
+
"276": {
|
|
6303
6356
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/address/salted_initialization_hash.nr",
|
|
6304
6357
|
"source": "use crate::{\n address::aztec_address::AztecAddress, constants::GENERATOR_INDEX__PARTIAL_ADDRESS,\n hash::poseidon2_hash_with_separator, traits::ToField,\n};\n\n// Salted initialization hash. Used in the computation of a partial address.\npub struct SaltedInitializationHash {\n pub inner: Field,\n}\n\nimpl ToField for SaltedInitializationHash {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl SaltedInitializationHash {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute(salt: Field, initialization_hash: Field, deployer: AztecAddress) -> Self {\n SaltedInitializationHash::from_field(poseidon2_hash_with_separator(\n [salt, initialization_hash, deployer.to_field()],\n GENERATOR_INDEX__PARTIAL_ADDRESS,\n ))\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"
|
|
6305
6358
|
},
|
|
6306
|
-
"
|
|
6359
|
+
"281": {
|
|
6307
6360
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/contract_instance.nr",
|
|
6308
6361
|
"source": "use crate::{\n address::{aztec_address::AztecAddress, partial_address::PartialAddress},\n constants::CONTRACT_INSTANCE_LENGTH,\n contract_class_id::ContractClassId,\n public_keys::PublicKeys,\n traits::{Deserialize, FromField, Hash, Serialize, ToField},\n};\n\npub struct ContractInstance {\n pub salt: Field,\n pub deployer: AztecAddress,\n pub contract_class_id: ContractClassId,\n pub initialization_hash: Field,\n pub public_keys: PublicKeys,\n}\n\nimpl Eq for ContractInstance {\n fn eq(self, other: Self) -> bool {\n self.public_keys.eq(other.public_keys)\n & self.initialization_hash.eq(other.initialization_hash)\n & self.contract_class_id.eq(other.contract_class_id)\n & self.salt.eq(other.salt)\n }\n}\n\nimpl Serialize<CONTRACT_INSTANCE_LENGTH> for ContractInstance {\n fn serialize(self) -> [Field; CONTRACT_INSTANCE_LENGTH] {\n let public_keys_serialized = self.public_keys.serialize();\n [\n self.salt,\n self.deployer.to_field(),\n self.contract_class_id.to_field(),\n self.initialization_hash,\n public_keys_serialized[0],\n public_keys_serialized[1],\n public_keys_serialized[2],\n public_keys_serialized[3],\n public_keys_serialized[4],\n public_keys_serialized[5],\n public_keys_serialized[6],\n public_keys_serialized[7],\n public_keys_serialized[8],\n public_keys_serialized[9],\n public_keys_serialized[10],\n public_keys_serialized[11],\n ]\n }\n}\n\nimpl Deserialize<CONTRACT_INSTANCE_LENGTH> for ContractInstance {\n fn deserialize(serialized: [Field; CONTRACT_INSTANCE_LENGTH]) -> Self {\n Self {\n salt: serialized[0],\n deployer: AztecAddress::from_field(serialized[1]),\n contract_class_id: ContractClassId::from_field(serialized[2]),\n initialization_hash: serialized[3],\n public_keys: PublicKeys::deserialize([\n serialized[4],\n serialized[5],\n serialized[6],\n serialized[7],\n serialized[8],\n serialized[9],\n serialized[10],\n serialized[11],\n serialized[12],\n serialized[13],\n serialized[14],\n serialized[15],\n ]),\n }\n }\n}\n\nimpl Hash for ContractInstance {\n fn hash(self) -> Field {\n self.to_address().to_field()\n }\n}\n\nimpl ContractInstance {\n pub fn to_address(self) -> AztecAddress {\n AztecAddress::compute(\n self.public_keys,\n PartialAddress::compute(\n self.contract_class_id,\n self.salt,\n self.initialization_hash,\n self.deployer,\n ),\n )\n }\n}\n"
|
|
6309
6362
|
},
|
|
6310
|
-
"
|
|
6363
|
+
"288": {
|
|
6311
6364
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr",
|
|
6312
6365
|
"source": "/// Utility function to console.log data in the acir simulator.\n/// Example:\n/// debug_log(\"blah blah this is a debug string\");\npub fn debug_log<let N: u32>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n\n/// Utility function to console.log data in the acir simulator. This variant receives a format string in which the\n/// `${k}` tokens will be replaced with the k-eth value in the `args` array.\n/// Examples:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\n/// debug_log_format(\"whole array: {}\", [e1, e2, e3, e4]);\npub fn debug_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n // Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe\n // to call.\n unsafe { debug_log_oracle_wrapper(msg, args) };\n}\n\npub unconstrained fn debug_log_oracle_wrapper<let M: u32, let N: u32>(\n msg: str<M>,\n args: [Field; N],\n) {\n debug_log_oracle(msg, args.as_slice());\n}\n\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n#[oracle(debugLog)]\nunconstrained fn debug_log_oracle<let M: u32>(_msg: str<M>, args: [Field]) {}\n"
|
|
6313
6366
|
},
|
|
6314
|
-
"
|
|
6367
|
+
"289": {
|
|
6315
6368
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr",
|
|
6316
|
-
"source": "use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n contract_class_log::ContractClassLog,\n function_selector::FunctionSelector,\n note_hash::ScopedNoteHash,\n nullifier::ScopedNullifier,\n private_log::{PrivateLog, PrivateLogData},\n side_effect::{OrderedValue, scoped::Scoped},\n },\n address::{AztecAddress, EthAddress},\n constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__UNIQUE_NOTE_HASH, TWO_POW_64,\n },\n merkle_tree::root::root_from_sibling_path,\n messaging::l2_to_l1_message::{L2ToL1Message, ScopedL2ToL1Message},\n poseidon2::Poseidon2Sponge,\n traits::{FromField, Hash, ToField},\n utils::{\n arrays::{array_concat, unsafe_padded_array_length},\n field::{field_from_bytes, field_from_bytes_32_trunc},\n },\n};\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256::digest(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(\n function_leaf,\n function_leaf_index,\n function_leaf_sibling_path,\n )\n}\n\npub fn compute_note_hash_nonce(first_nullifier_in_tx: Field, note_index_in_tx: u32) -> Field {\n // Hashing the first nullifier with note index in tx is guaranteed to be unique (because all nullifiers are also\n // unique).\n poseidon2_hash_with_separator(\n [first_nullifier_in_tx, note_index_in_tx as Field],\n GENERATOR_INDEX__NOTE_HASH_NONCE,\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, siloed_note_hash: Field) -> Field {\n let inputs = [nonce, siloed_note_hash];\n poseidon2_hash_with_separator(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, note_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [app.to_field(), note_hash],\n GENERATOR_INDEX__SILOED_NOTE_HASH,\n )\n}\n\n/// Computes unique note hashes from siloed note hashes\npub fn compute_unique_siloed_note_hash(\n siloed_note_hash: Field,\n first_nullifier: Field,\n note_index_in_tx: u32,\n) -> Field {\n if siloed_note_hash == 0 {\n 0\n } else {\n let nonce = compute_note_hash_nonce(first_nullifier, note_index_in_tx);\n compute_unique_note_hash(nonce, siloed_note_hash)\n }\n}\n\n/// Siloing in the context of Aztec refers to the process of hashing a note hash with a contract address (this way\n/// the note hash is scoped to a specific contract). This is used to prevent intermingling of notes between contracts.\npub fn silo_note_hash(note_hash: ScopedNoteHash) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_note_hash(note_hash.contract_address, note_hash.value())\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n poseidon2_hash_with_separator(\n [app.to_field(), nullifier],\n GENERATOR_INDEX__OUTER_NULLIFIER,\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn compute_siloed_private_log_field(contract_address: AztecAddress, field: Field) -> Field {\n poseidon2_hash([contract_address.to_field(), field])\n}\n\npub fn silo_private_log(private_log: Scoped<PrivateLogData>) -> PrivateLog {\n if private_log.contract_address.is_zero() {\n private_log.inner.log\n } else {\n let mut fields = private_log.inner.log.fields;\n fields[0] = compute_siloed_private_log_field(private_log.contract_address, fields[0]);\n PrivateLog { fields }\n }\n}\n\nfn compute_siloed_contract_class_log_field(\n contract_address: AztecAddress,\n first_field: Field,\n) -> Field {\n poseidon2_hash([contract_address.to_field(), first_field])\n}\n\npub fn silo_contract_class_log(contract_class_log: ContractClassLog) -> ContractClassLog {\n if contract_class_log.contract_address.is_zero() {\n contract_class_log\n } else {\n let mut log = contract_class_log;\n log.log.fields[0] = compute_siloed_contract_class_log_field(\n contract_class_log.contract_address,\n log.log.fields[0],\n );\n log\n }\n}\n\npub fn compute_contract_class_log_hash(contract_class_log: ContractClassLog) -> Field {\n let array = contract_class_log.log.fields;\n // Safety: The below length is constrained in the base rollup.\n let length = unsafe { unsafe_padded_array_length(array) };\n if length == 0 {\n 0\n } else {\n poseidon2_hash(array)\n }\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n poseidon2_hash([left, right])\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field,\n) -> Field {\n let mut bytes: [u8; 160] = std::mem::zeroed();\n\n let inputs =\n [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..5 {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes: [u8; 32] = inputs[i].to_be_bytes();\n for j in 0..32 {\n bytes[32 * i + j] = item_bytes[j];\n }\n }\n\n sha256_to_field(bytes)\n}\n\npub fn silo_l2_to_l1_message(\n msg: ScopedL2ToL1Message,\n rollup_version_id: Field,\n chain_id: Field,\n) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id,\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a u128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes: [u8; 32] = input[offset].to_be_bytes();\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\npub fn verification_key_hash<let N: u32>(key: [Field; N]) -> Field {\n crate::hash::poseidon2_hash(key)\n}\n\n#[inline_always]\npub fn pedersen_hash<let N: u32>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n poseidon::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[no_predicates]\npub fn poseidon2_hash_with_separator<let N: u32, T>(inputs: [Field; N], separator: T) -> Field\nwhere\n T: ToField,\n{\n let inputs_with_separator = array_concat([separator.to_field()], inputs);\n poseidon2_hash(inputs_with_separator)\n}\n\n// Performs a fixed length hash with a subarray of the given input.\n// Useful for SpongeBlob in which we aborb M things and want to check it vs a hash of M elts of an N-len array.\n// Using stdlib poseidon, this will always absorb an extra 1 as a 'variable' hash, and not match spongeblob.squeeze()\n// or any ts implementation. Also checks that any remaining elts not hashed are empty.\n#[no_predicates]\npub fn poseidon2_hash_subarray<let N: u32>(input: [Field; N], in_len: u32) -> Field {\n let mut sponge = poseidon2_absorb_chunks(input, in_len, false);\n sponge.squeeze()\n}\n\n// NB the below is the same as poseidon::poseidon2::Poseidon2::hash(), but replacing a range check with a bit check,\n// and absorbing in chunks of 3 below.\n#[no_predicates]\npub fn poseidon2_cheaper_variable_hash<let N: u32>(input: [Field; N], in_len: u32) -> Field {\n let mut sponge = poseidon2_absorb_chunks(input, in_len, true);\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if in_len != N {\n sponge.absorb(1);\n }\n sponge.squeeze()\n}\n\n// The below fn reduces gates of a conditional poseidon2 hash by approx 3x (thank you ~* Giant Brain Dev @IlyasRidhuan *~ for the idea)\n// Why? Because when we call stdlib poseidon, we call absorb for each item. When absorbing is conditional, it seems the compiler does not know\n// what cache_size will be when calling absorb, so it assigns the permutation gates for /each i/ rather than /every 3rd i/, which is actually required.\n// The below code forces the compiler to:\n// - absorb normally up to 2 times to set cache_size to 1\n// - absorb in chunks of 3 to ensure perm. only happens every 3rd absorb\n// - absorb normally up to 2 times to add any remaining values to the hash\n// In fixed len hashes, the compiler is able to tell that it will only need to perform the permutation every 3 absorbs.\n// NB: it also replaces unnecessary range checks (i < thing) with a bit check (&= i != thing), which alone reduces the gates of a var. hash by half.\n\n#[no_predicates]\nfn poseidon2_absorb_chunks<let N: u32>(\n input: [Field; N],\n in_len: u32,\n variable: bool,\n) -> Poseidon2Sponge {\n let iv: Field = (in_len as Field) * TWO_POW_64;\n let mut sponge = Poseidon2Sponge::new(iv);\n // Even though shift is always 1 here, if we input in_len = 0 we get an underflow\n // since we cannot isolate computation branches. The below is just to avoid that.\n let shift = if in_len == 0 { 0 } else { 1 };\n if in_len != 0 {\n // cache_size = 0, init absorb\n sponge.cache[0] = input[0];\n sponge.cache_size = 1;\n // shift = num elts already added to make cache_size 1 = 1 for a fresh sponge\n // M = max_chunks = (N - 1 - (N - 1) % 3) / 3: (must be written as a fn of N to compile)\n // max_remainder = (N - 1) % 3;\n // max_chunks = (N - 1 - max_remainder) / 3;\n sponge = poseidon2_absorb_chunks_loop::<N, (N - 1 - (N - 1) % 3) / 3>(\n sponge,\n input,\n in_len,\n variable,\n shift,\n );\n }\n sponge\n}\n\n// NB: If it's not required to check that the non-absorbed elts of 'input' are 0s, set skip_0_check=true\n#[no_predicates]\npub fn poseidon2_absorb_chunks_existing_sponge<let N: u32>(\n in_sponge: Poseidon2Sponge,\n input: [Field; N],\n in_len: u32,\n skip_0_check: bool,\n) -> Poseidon2Sponge {\n let mut sponge = in_sponge;\n // 'shift' is to account for already added inputs\n let mut shift = 0;\n // 'stop' is to avoid an underflow when inputting in_len = 0\n let mut stop = false;\n for i in 0..3 {\n if shift == in_len {\n stop = true;\n }\n if (sponge.cache_size != 1) & (!stop) {\n sponge.absorb(input[i]);\n shift += 1;\n }\n }\n sponge = if stop {\n sponge\n } else {\n // max_chunks = (N - (N % 3)) / 3;\n poseidon2_absorb_chunks_loop::<N, (N - (N % 3)) / 3>(\n sponge,\n input,\n in_len,\n skip_0_check,\n shift,\n )\n };\n sponge\n}\n\n// The below is the loop to absorb elts into a poseidon sponge in chunks of 3\n// shift - the num of elts already absorbed to ensure the sponge's cache_size = 1\n// M - the max number of chunks required to absorb N things (must be comptime to compile)\n// NB: The 0 checks ('Found non-zero field...') are messy, but having a separate loop over N to check\n// for 0s costs 3N gates. Current approach is approx 2N gates.\n#[no_predicates]\nfn poseidon2_absorb_chunks_loop<let N: u32, let M: u32>(\n in_sponge: Poseidon2Sponge,\n input: [Field; N],\n in_len: u32,\n variable: bool,\n shift: u32,\n) -> Poseidon2Sponge {\n assert(in_len <= N, \"Given in_len to absorb is larger than the input array len\");\n // When we have an existing sponge, we may have a shift of 0, and the final 'k+2' below = N\n // The below avoids an overflow\n let skip_last = 3 * M == N;\n // Writing in_sponge: &mut does not compile\n let mut sponge = in_sponge;\n let mut should_add = true;\n // The num of things left over after absorbing in 3s\n let remainder = (in_len - shift) % 3;\n // The num of chunks of 3 to absorb (maximum M)\n let chunks = (in_len - shift - remainder) / 3;\n for i in 0..M {\n // Now we loop through cache size = 1 -> 3\n should_add &= i != chunks;\n // This is the index at the start of the chunk (for readability)\n let k = 3 * i + shift;\n if should_add {\n // cache_size = 1, 2 => just assign\n sponge.cache[1] = input[k];\n sponge.cache[2] = input[k + 1];\n // cache_size = 3 => duplex + perm\n for j in 0..3 {\n sponge.state[j] += sponge.cache[j];\n }\n sponge.state = std::hash::poseidon2_permutation(sponge.state, 4);\n sponge.cache[0] = input[k + 2];\n // cache_size is now 1 again, repeat loop\n } else if (!variable) & (i != chunks) {\n // if we are hashing a fixed len array which is a subarray, we check the remaining elts are 0\n // NB: we don't check at i == chunks, because that chunk contains elts to be absorbed or checked below\n let last_0 = if (i == M - 1) & (skip_last) {\n 0\n } else {\n input[k + 2]\n };\n let all_0 = (input[k] == 0) & (input[k + 1] == 0) & (last_0 == 0);\n assert(all_0, \"Found non-zero field after breakpoint\");\n }\n }\n // we have 'remainder' num of items left to absorb\n should_add = true;\n // below is to avoid overflows (i.e. if inlen is close to N)\n let mut should_check = !variable;\n for i in 0..3 {\n should_add &= i != remainder;\n should_check &= in_len - remainder + i != N;\n if should_add {\n // we want to absorb the final 'remainder' items\n sponge.absorb(input[in_len - remainder + i]);\n } else if should_check {\n assert(input[in_len - remainder + i] == 0, \"Found non-zero field after breakpoint\");\n }\n }\n sponge\n}\n\npub fn poseidon2_hash_with_separator_slice<T>(inputs: [Field], separator: T) -> Field\nwhere\n T: ToField,\n{\n let in_len = inputs.len() + 1;\n let iv: Field = (in_len as Field) * TWO_POW_64;\n let mut sponge = Poseidon2Sponge::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs[i]);\n }\n\n sponge.squeeze()\n}\n\n#[no_predicates]\npub fn poseidon2_hash_bytes<let N: u32>(inputs: [u8; N]) -> Field {\n let mut fields = [0; (N + 30) / 31];\n let mut field_index = 0;\n let mut current_field = [0; 31];\n for i in 0..inputs.len() {\n let index = i % 31;\n current_field[index] = inputs[i];\n if index == 30 {\n fields[field_index] = field_from_bytes(current_field, false);\n current_field = [0; 31];\n field_index += 1;\n }\n }\n if field_index != fields.len() {\n fields[field_index] = field_from_bytes(current_field, false);\n }\n poseidon2_hash(fields)\n}\n\n#[test]\nfn poseidon_chunks_matches_fixed() {\n let in_len = 501;\n let mut input: [Field; 4096] = [0; 4096];\n let mut fixed_input = [3; 501];\n assert(in_len == fixed_input.len()); // sanity check\n for i in 0..in_len {\n input[i] = 3;\n }\n let sub_chunk_hash = poseidon2_hash_subarray(input, in_len);\n let fixed_len_hash = poseidon::poseidon2::Poseidon2::hash(fixed_input, fixed_input.len());\n assert(sub_chunk_hash == fixed_len_hash);\n}\n\n#[test]\nfn poseidon_chunks_matches_variable() {\n let in_len = 501;\n let mut input: [Field; 4096] = [0; 4096];\n for i in 0..in_len {\n input[i] = 3;\n }\n let variable_chunk_hash = poseidon2_cheaper_variable_hash(input, in_len);\n let variable_len_hash = poseidon::poseidon2::Poseidon2::hash(input, in_len);\n assert(variable_chunk_hash == variable_len_hash);\n}\n\n#[test]\nfn existing_sponge_poseidon_chunks_matches_fixed() {\n let in_len = 501;\n let mut input: [Field; 4096] = [0; 4096];\n let mut fixed_input = [3; 501];\n assert(in_len == fixed_input.len()); // sanity check\n for i in 0..in_len {\n input[i] = 3;\n }\n // absorb 250 of the 501 things\n let empty_sponge = Poseidon2Sponge::new((in_len as Field) * TWO_POW_64);\n let first_sponge = poseidon2_absorb_chunks_existing_sponge(empty_sponge, input, 250, true);\n // now absorb the final 251 (since they are all 3s, im being lazy and not making a new array)\n let mut final_sponge = poseidon2_absorb_chunks_existing_sponge(first_sponge, input, 251, true);\n let fixed_len_hash = Poseidon2Sponge::hash(fixed_input, fixed_input.len());\n assert(final_sponge.squeeze() == fixed_len_hash);\n}\n\n#[test]\nfn poseidon_chunks_empty_inputs() {\n let in_len = 0;\n let mut input: [Field; 4096] = [0; 4096];\n let mut constructed_empty_sponge = poseidon2_absorb_chunks(input, in_len, true);\n let mut first_sponge =\n poseidon2_absorb_chunks_existing_sponge(constructed_empty_sponge, input, in_len, true);\n assert(first_sponge.squeeze() == constructed_empty_sponge.squeeze());\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,\n 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,\n 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,\n 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,\n 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,\n 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,\n 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = sha256::digest(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result =\n compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(\n AztecAddress::from_field(1),\n EthAddress::from_field(3),\n 5,\n 2,\n 4,\n );\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n\n#[test]\nfn silo_l2_to_l1_message_matches_typescript() {\n let version = 4;\n let chainId = 5;\n\n let hash = silo_l2_to_l1_message(\n ScopedL2ToL1Message {\n message: L2ToL1Message { recipient: EthAddress::from_field(1), content: 2, counter: 0 },\n contract_address: AztecAddress::from_field(3),\n },\n version,\n chainId,\n );\n\n // The following value was generated by `l2_to_l1_message.test.ts`\n let hash_from_typescript = 0x00c6155d69febb9d5039b374dd4f77bf57b7c881709aa524a18acaa0bd57476a;\n\n assert_eq(hash, hash_from_typescript);\n}\n"
|
|
6369
|
+
"source": "use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n contract_class_log::ContractClassLog,\n function_selector::FunctionSelector,\n note_hash::ScopedNoteHash,\n nullifier::ScopedNullifier,\n private_log::{PrivateLog, PrivateLogData},\n side_effect::{OrderedValue, scoped::Scoped},\n },\n address::{AztecAddress, EthAddress},\n constants::{\n CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__NOTE_HASH_NONCE,\n GENERATOR_INDEX__OUTER_NULLIFIER, GENERATOR_INDEX__SILOED_NOTE_HASH,\n GENERATOR_INDEX__UNIQUE_NOTE_HASH, TWO_POW_64,\n },\n merkle_tree::root::root_from_sibling_path,\n messaging::l2_to_l1_message::{L2ToL1Message, ScopedL2ToL1Message},\n poseidon2::Poseidon2Sponge,\n traits::{FromField, Hash, ToField},\n utils::{arrays::array_concat, field::{field_from_bytes, field_from_bytes_32_trunc}},\n};\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256::digest(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(\n function_leaf,\n function_leaf_index,\n function_leaf_sibling_path,\n )\n}\n\npub fn compute_note_hash_nonce(first_nullifier_in_tx: Field, note_index_in_tx: u32) -> Field {\n // Hashing the first nullifier with note index in tx is guaranteed to be unique (because all nullifiers are also\n // unique).\n poseidon2_hash_with_separator(\n [first_nullifier_in_tx, note_index_in_tx as Field],\n GENERATOR_INDEX__NOTE_HASH_NONCE,\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, siloed_note_hash: Field) -> Field {\n let inputs = [nonce, siloed_note_hash];\n poseidon2_hash_with_separator(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, note_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [app.to_field(), note_hash],\n GENERATOR_INDEX__SILOED_NOTE_HASH,\n )\n}\n\n/// Computes unique note hashes from siloed note hashes\npub fn compute_unique_siloed_note_hash(\n siloed_note_hash: Field,\n first_nullifier: Field,\n note_index_in_tx: u32,\n) -> Field {\n if siloed_note_hash == 0 {\n 0\n } else {\n let nonce = compute_note_hash_nonce(first_nullifier, note_index_in_tx);\n compute_unique_note_hash(nonce, siloed_note_hash)\n }\n}\n\n/// Siloing in the context of Aztec refers to the process of hashing a note hash with a contract address (this way\n/// the note hash is scoped to a specific contract). This is used to prevent intermingling of notes between contracts.\npub fn silo_note_hash(note_hash: ScopedNoteHash) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_note_hash(note_hash.contract_address, note_hash.value())\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n poseidon2_hash_with_separator(\n [app.to_field(), nullifier],\n GENERATOR_INDEX__OUTER_NULLIFIER,\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn compute_siloed_private_log_field(contract_address: AztecAddress, field: Field) -> Field {\n poseidon2_hash([contract_address.to_field(), field])\n}\n\npub fn silo_private_log(private_log: Scoped<PrivateLogData>) -> PrivateLog {\n if private_log.contract_address.is_zero() {\n private_log.inner.log\n } else {\n let mut fields = private_log.inner.log.fields;\n fields[0] = compute_siloed_private_log_field(private_log.contract_address, fields[0]);\n PrivateLog::new(fields, private_log.inner.log.length)\n }\n}\n\npub fn compute_siloed_contract_class_log_field(\n contract_address: AztecAddress,\n first_field: Field,\n) -> Field {\n poseidon2_hash([contract_address.to_field(), first_field])\n}\n\npub fn silo_contract_class_log(contract_class_log: ContractClassLog) -> ContractClassLog {\n if contract_class_log.contract_address.is_zero() {\n contract_class_log\n } else {\n let mut log = contract_class_log;\n log.log.fields[0] = compute_siloed_contract_class_log_field(\n contract_class_log.contract_address,\n log.log.fields[0],\n );\n log\n }\n}\n\npub fn compute_contract_class_log_hash(log: [Field; CONTRACT_CLASS_LOG_SIZE_IN_FIELDS]) -> Field {\n poseidon2_hash(log)\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n poseidon2_hash([left, right])\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field,\n) -> Field {\n let mut bytes: [u8; 160] = std::mem::zeroed();\n\n let inputs =\n [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..5 {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes: [u8; 32] = inputs[i].to_be_bytes();\n for j in 0..32 {\n bytes[32 * i + j] = item_bytes[j];\n }\n }\n\n sha256_to_field(bytes)\n}\n\npub fn silo_l2_to_l1_message(\n msg: ScopedL2ToL1Message,\n rollup_version_id: Field,\n chain_id: Field,\n) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id,\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a u128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes: [u8; 32] = input[offset].to_be_bytes();\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\npub fn verification_key_hash<let N: u32>(key: [Field; N]) -> Field {\n crate::hash::poseidon2_hash(key)\n}\n\n#[inline_always]\npub fn pedersen_hash<let N: u32>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n poseidon::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[no_predicates]\npub fn poseidon2_hash_with_separator<let N: u32, T>(inputs: [Field; N], separator: T) -> Field\nwhere\n T: ToField,\n{\n let inputs_with_separator = array_concat([separator.to_field()], inputs);\n poseidon2_hash(inputs_with_separator)\n}\n\n// Performs a fixed length hash with a subarray of the given input.\n// Useful for SpongeBlob in which we aborb M things and want to check it vs a hash of M elts of an N-len array.\n// Using stdlib poseidon, this will always absorb an extra 1 as a 'variable' hash, and not match spongeblob.squeeze()\n// or any ts implementation. Also checks that any remaining elts not hashed are empty.\n#[no_predicates]\npub fn poseidon2_hash_subarray<let N: u32>(input: [Field; N], in_len: u32) -> Field {\n let mut sponge = poseidon2_absorb_chunks(input, in_len, false);\n sponge.squeeze()\n}\n\n// NB the below is the same as poseidon::poseidon2::Poseidon2::hash(), but replacing a range check with a bit check,\n// and absorbing in chunks of 3 below.\n#[no_predicates]\npub fn poseidon2_cheaper_variable_hash<let N: u32>(input: [Field; N], in_len: u32) -> Field {\n let mut sponge = poseidon2_absorb_chunks(input, in_len, true);\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if in_len != N {\n sponge.absorb(1);\n }\n sponge.squeeze()\n}\n\n// The below fn reduces gates of a conditional poseidon2 hash by approx 3x (thank you ~* Giant Brain Dev @IlyasRidhuan *~ for the idea)\n// Why? Because when we call stdlib poseidon, we call absorb for each item. When absorbing is conditional, it seems the compiler does not know\n// what cache_size will be when calling absorb, so it assigns the permutation gates for /each i/ rather than /every 3rd i/, which is actually required.\n// The below code forces the compiler to:\n// - absorb normally up to 2 times to set cache_size to 1\n// - absorb in chunks of 3 to ensure perm. only happens every 3rd absorb\n// - absorb normally up to 2 times to add any remaining values to the hash\n// In fixed len hashes, the compiler is able to tell that it will only need to perform the permutation every 3 absorbs.\n// NB: it also replaces unnecessary range checks (i < thing) with a bit check (&= i != thing), which alone reduces the gates of a var. hash by half.\n\n#[no_predicates]\nfn poseidon2_absorb_chunks<let N: u32>(\n input: [Field; N],\n in_len: u32,\n variable: bool,\n) -> Poseidon2Sponge {\n let iv: Field = (in_len as Field) * TWO_POW_64;\n let mut sponge = Poseidon2Sponge::new(iv);\n // Even though shift is always 1 here, if we input in_len = 0 we get an underflow\n // since we cannot isolate computation branches. The below is just to avoid that.\n let shift = if in_len == 0 { 0 } else { 1 };\n if in_len != 0 {\n // cache_size = 0, init absorb\n sponge.cache[0] = input[0];\n sponge.cache_size = 1;\n // shift = num elts already added to make cache_size 1 = 1 for a fresh sponge\n // M = max_chunks = (N - 1 - (N - 1) % 3) / 3: (must be written as a fn of N to compile)\n // max_remainder = (N - 1) % 3;\n // max_chunks = (N - 1 - max_remainder) / 3;\n sponge = poseidon2_absorb_chunks_loop::<N, (N - 1 - (N - 1) % 3) / 3>(\n sponge,\n input,\n in_len,\n variable,\n shift,\n );\n }\n sponge\n}\n\n// NB: If it's not required to check that the non-absorbed elts of 'input' are 0s, set skip_0_check=true\n#[no_predicates]\npub fn poseidon2_absorb_chunks_existing_sponge<let N: u32>(\n in_sponge: Poseidon2Sponge,\n input: [Field; N],\n in_len: u32,\n skip_0_check: bool,\n) -> Poseidon2Sponge {\n let mut sponge = in_sponge;\n // 'shift' is to account for already added inputs\n let mut shift = 0;\n // 'stop' is to avoid an underflow when inputting in_len = 0\n let mut stop = false;\n for i in 0..3 {\n if shift == in_len {\n stop = true;\n }\n if (sponge.cache_size != 1) & (!stop) {\n sponge.absorb(input[i]);\n shift += 1;\n }\n }\n sponge = if stop {\n sponge\n } else {\n // max_chunks = (N - (N % 3)) / 3;\n poseidon2_absorb_chunks_loop::<N, (N - (N % 3)) / 3>(\n sponge,\n input,\n in_len,\n skip_0_check,\n shift,\n )\n };\n sponge\n}\n\n// The below is the loop to absorb elts into a poseidon sponge in chunks of 3\n// shift - the num of elts already absorbed to ensure the sponge's cache_size = 1\n// M - the max number of chunks required to absorb N things (must be comptime to compile)\n// NB: The 0 checks ('Found non-zero field...') are messy, but having a separate loop over N to check\n// for 0s costs 3N gates. Current approach is approx 2N gates.\n#[no_predicates]\nfn poseidon2_absorb_chunks_loop<let N: u32, let M: u32>(\n in_sponge: Poseidon2Sponge,\n input: [Field; N],\n in_len: u32,\n variable: bool,\n shift: u32,\n) -> Poseidon2Sponge {\n assert(in_len <= N, \"Given in_len to absorb is larger than the input array len\");\n // When we have an existing sponge, we may have a shift of 0, and the final 'k+2' below = N\n // The below avoids an overflow\n let skip_last = 3 * M == N;\n // Writing in_sponge: &mut does not compile\n let mut sponge = in_sponge;\n let mut should_add = true;\n // The num of things left over after absorbing in 3s\n let remainder = (in_len - shift) % 3;\n // The num of chunks of 3 to absorb (maximum M)\n let chunks = (in_len - shift - remainder) / 3;\n for i in 0..M {\n // Now we loop through cache size = 1 -> 3\n should_add &= i != chunks;\n // This is the index at the start of the chunk (for readability)\n let k = 3 * i + shift;\n if should_add {\n // cache_size = 1, 2 => just assign\n sponge.cache[1] = input[k];\n sponge.cache[2] = input[k + 1];\n // cache_size = 3 => duplex + perm\n for j in 0..3 {\n sponge.state[j] += sponge.cache[j];\n }\n sponge.state = std::hash::poseidon2_permutation(sponge.state, 4);\n sponge.cache[0] = input[k + 2];\n // cache_size is now 1 again, repeat loop\n } else if (!variable) & (i != chunks) {\n // if we are hashing a fixed len array which is a subarray, we check the remaining elts are 0\n // NB: we don't check at i == chunks, because that chunk contains elts to be absorbed or checked below\n let last_0 = if (i == M - 1) & (skip_last) {\n 0\n } else {\n input[k + 2]\n };\n let all_0 = (input[k] == 0) & (input[k + 1] == 0) & (last_0 == 0);\n assert(all_0, \"Found non-zero field after breakpoint\");\n }\n }\n // we have 'remainder' num of items left to absorb\n should_add = true;\n // below is to avoid overflows (i.e. if inlen is close to N)\n let mut should_check = !variable;\n for i in 0..3 {\n should_add &= i != remainder;\n should_check &= in_len - remainder + i != N;\n if should_add {\n // we want to absorb the final 'remainder' items\n sponge.absorb(input[in_len - remainder + i]);\n } else if should_check {\n assert(input[in_len - remainder + i] == 0, \"Found non-zero field after breakpoint\");\n }\n }\n sponge\n}\n\npub fn poseidon2_hash_with_separator_slice<T>(inputs: [Field], separator: T) -> Field\nwhere\n T: ToField,\n{\n let in_len = inputs.len() + 1;\n let iv: Field = (in_len as Field) * TWO_POW_64;\n let mut sponge = Poseidon2Sponge::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs[i]);\n }\n\n sponge.squeeze()\n}\n\n#[no_predicates]\npub fn poseidon2_hash_bytes<let N: u32>(inputs: [u8; N]) -> Field {\n let mut fields = [0; (N + 30) / 31];\n let mut field_index = 0;\n let mut current_field = [0; 31];\n for i in 0..inputs.len() {\n let index = i % 31;\n current_field[index] = inputs[i];\n if index == 30 {\n fields[field_index] = field_from_bytes(current_field, false);\n current_field = [0; 31];\n field_index += 1;\n }\n }\n if field_index != fields.len() {\n fields[field_index] = field_from_bytes(current_field, false);\n }\n poseidon2_hash(fields)\n}\n\n#[test]\nfn poseidon_chunks_matches_fixed() {\n let in_len = 501;\n let mut input: [Field; 4096] = [0; 4096];\n let mut fixed_input = [3; 501];\n assert(in_len == fixed_input.len()); // sanity check\n for i in 0..in_len {\n input[i] = 3;\n }\n let sub_chunk_hash = poseidon2_hash_subarray(input, in_len);\n let fixed_len_hash = poseidon::poseidon2::Poseidon2::hash(fixed_input, fixed_input.len());\n assert(sub_chunk_hash == fixed_len_hash);\n}\n\n#[test]\nfn poseidon_chunks_matches_variable() {\n let in_len = 501;\n let mut input: [Field; 4096] = [0; 4096];\n for i in 0..in_len {\n input[i] = 3;\n }\n let variable_chunk_hash = poseidon2_cheaper_variable_hash(input, in_len);\n let variable_len_hash = poseidon::poseidon2::Poseidon2::hash(input, in_len);\n assert(variable_chunk_hash == variable_len_hash);\n}\n\n#[test]\nfn existing_sponge_poseidon_chunks_matches_fixed() {\n let in_len = 501;\n let mut input: [Field; 4096] = [0; 4096];\n let mut fixed_input = [3; 501];\n assert(in_len == fixed_input.len()); // sanity check\n for i in 0..in_len {\n input[i] = 3;\n }\n // absorb 250 of the 501 things\n let empty_sponge = Poseidon2Sponge::new((in_len as Field) * TWO_POW_64);\n let first_sponge = poseidon2_absorb_chunks_existing_sponge(empty_sponge, input, 250, true);\n // now absorb the final 251 (since they are all 3s, im being lazy and not making a new array)\n let mut final_sponge = poseidon2_absorb_chunks_existing_sponge(first_sponge, input, 251, true);\n let fixed_len_hash = Poseidon2Sponge::hash(fixed_input, fixed_input.len());\n assert(final_sponge.squeeze() == fixed_len_hash);\n}\n\n#[test]\nfn poseidon_chunks_empty_inputs() {\n let in_len = 0;\n let mut input: [Field; 4096] = [0; 4096];\n let mut constructed_empty_sponge = poseidon2_absorb_chunks(input, in_len, true);\n let mut first_sponge =\n poseidon2_absorb_chunks_existing_sponge(constructed_empty_sponge, input, in_len, true);\n assert(first_sponge.squeeze() == constructed_empty_sponge.squeeze());\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,\n 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,\n 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,\n 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,\n 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,\n 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,\n 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = sha256::digest(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result =\n compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(\n AztecAddress::from_field(1),\n EthAddress::from_field(3),\n 5,\n 2,\n 4,\n );\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n\n#[test]\nfn silo_l2_to_l1_message_matches_typescript() {\n let version = 4;\n let chainId = 5;\n\n let hash = silo_l2_to_l1_message(\n ScopedL2ToL1Message {\n message: L2ToL1Message { recipient: EthAddress::from_field(1), content: 2, counter: 0 },\n contract_address: AztecAddress::from_field(3),\n },\n version,\n chainId,\n );\n\n // The following value was generated by `l2_to_l1_message.test.ts`\n let hash_from_typescript = 0x00c6155d69febb9d5039b374dd4f77bf57b7c881709aa524a18acaa0bd57476a;\n\n assert_eq(hash, hash_from_typescript);\n}\n"
|
|
6317
6370
|
},
|
|
6318
|
-
"
|
|
6371
|
+
"290": {
|
|
6319
6372
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/indexed_tagging_secret.nr",
|
|
6320
6373
|
"source": "use crate::traits::{Deserialize, Serialize, ToField};\nuse super::{address::aztec_address::AztecAddress, hash::poseidon2_hash};\nuse std::meta::derive;\n\npub global INDEXED_TAGGING_SECRET_LENGTH: u32 = 2;\n\n#[derive(Serialize, Deserialize)]\npub struct IndexedTaggingSecret {\n app_tagging_secret: Field,\n index: u32,\n}\n\nimpl IndexedTaggingSecret {\n pub fn compute_tag(self, recipient: AztecAddress) -> Field {\n poseidon2_hash(\n [self.app_tagging_secret, recipient.to_field(), self.index as Field],\n )\n }\n}\n"
|
|
6321
6374
|
},
|
|
6322
|
-
"
|
|
6375
|
+
"303": {
|
|
6323
6376
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/meta/mod.nr",
|
|
6324
6377
|
"source": "use super::traits::{Deserialize, Packable, Serialize};\n\n/// Returns the typed expression of a trait method implementation.\n///\n/// This helper function is preferred over directly inlining with `$typ::target_method()` in a quote,\n/// as direct inlining would result in missing import warnings in the generated code (specifically,\n/// warnings that the trait implementation is not in scope).\n///\n/// # Note\n/// A copy of this function exists in `aztec-nr/aztec/src/macros/utils.nr`. We maintain separate copies\n/// because importing it there from here would cause the `target_trait` to be interpreted in the context\n/// of this crate, making it impossible to compile code for traits from that crate (e.g. NoteType).\ncomptime fn get_trait_impl_method(\n typ: Type,\n target_trait: Quoted,\n target_method: Quoted,\n) -> TypedExpr {\n let trait_constraint = target_trait.as_trait_constraint();\n typ\n .get_trait_impl(trait_constraint)\n .expect(f\"Could not find impl for {target_trait} for type {typ}\")\n .methods()\n .filter(|m| m.name() == target_method)[0]\n .as_typed_expr()\n}\n\n/// Generates code that deserializes a struct, primitive type, array or string from a field array.\n///\n/// # Parameters\n/// - `name`: The name of the current field being processed, used to identify fields for replacement.\n/// - `typ`: The type of the struct or field being deserialized (e.g., a custom struct, array, or primitive).\n/// - `field_array_name`: The name of the field array containing serialized field data (e.g., `\"values\"`).\n/// - `num_already_consumed`: The number of fields already processed in previous recursion calls.\n/// - `should_unpack`: A boolean indicating whether the type should be unpacked (see description of `Packable`\n/// and `Serialize` trait for more information about the difference between packing and serialization).\n///\n/// # Returns\n/// A tuple containing:\n/// - `Quoted`: A code that deserializes a given struct, primitive type, array, or string from the field array.\n/// - `u32`: The total number of fields consumed during deserialization (used for recursion).\n///\n/// # Nested Struct Example\n/// Given the following setup:\n/// ```\n/// struct UintNote {\n/// value: u128,\n/// owner: AztecAddress,\n/// randomness: Field,\n/// }\n///\n/// struct AztecAddress {\n/// inner: Field,\n/// }\n/// ```\n///\n/// If `UintNote` is the input type, the function will generate the following deserialization code:\n/// ```\n/// UintNote {\n/// value: fields[0] as u128,\n/// owner: AztecAddress {\n/// inner: fields[1],\n/// },\n/// randomness: fields[2],\n/// }\n/// ```\n/// # Nested Struct Example with Unpacking\n/// - given the same setup as above and given that u128, AztecAddress and Field implement the `Packable` trait\n/// the result we get is:\n/// ```\n/// UintNote {\n/// value: aztec::protocol_types::traits::Packable::unpack([fields[0]]),\n/// owner: aztec::protocol_types::traits::Packable::unpack([fields[1]]),\n/// randomness: aztec::protocol_types::traits::Packable::unpack([fields[2]]),\n/// }\n/// ```\n///\n/// # Panics\n/// - If the deserialization logic encounters a type it does not support.\n/// - If an incorrect number of fields are consumed when deserializing a string.\npub comptime fn generate_deserialize_from_fields(\n name: Quoted,\n typ: Type,\n field_array_name: Quoted,\n num_already_consumed: u32,\n should_unpack: bool,\n) -> (Quoted, u32) {\n let mut result = quote {};\n // Counter for the number of fields consumed\n let mut consumed_counter: u32 = 0;\n\n // If the type implements `Packable`, its length will be assigned to the `maybe_packed_len_typ` variable.\n let maybe_packed_len_typ = std::meta::typ::fresh_type_variable();\n let packable_constraint = quote { Packable<$maybe_packed_len_typ> }.as_trait_constraint();\n\n if (should_unpack & typ.implements(packable_constraint)) {\n // Unpacking is enabled and the given type implements the `Packable` trait so we call the `unpack()`\n // method, add the resulting field array to `aux_vars` and each field to `fields`.\n let packed_len = maybe_packed_len_typ.as_constant().unwrap();\n\n // We copy the packed fields into a new array and pass that to the unpack function in a quote\n let mut packed_fields_quotes = &[];\n for i in 0..packed_len {\n let index_in_field_array = i + num_already_consumed;\n packed_fields_quotes =\n packed_fields_quotes.push_back(quote { $field_array_name[$index_in_field_array] });\n }\n let packed_fields = packed_fields_quotes.join(quote {,});\n\n // Now we call unpack on the type\n let unpack_method = get_trait_impl_method(typ, quote { Packable<_> }, quote { unpack });\n result = quote { $unpack_method([ $packed_fields ]) };\n\n consumed_counter = packed_len;\n } else if typ.is_field() | typ.as_integer().is_some() | typ.is_bool() {\n // The field is a primitive so we just reference it in the field array\n result = quote { $field_array_name[$num_already_consumed] as $typ };\n consumed_counter = 1;\n } else if typ.as_data_type().is_some() {\n // The field is a struct so we iterate over each struct field and recursively call\n // `generate_deserialize_from_fields`\n let (nested_def, generics) = typ.as_data_type().unwrap();\n let nested_name = nested_def.name();\n let mut deserialized_fields_list = &[];\n\n // Iterate over each field in the struct\n for field in nested_def.fields(generics) {\n let (field_name, field_type) = field;\n // Recursively call `generate_deserialize_from_fields` for each field in the struct\n let (deserialized_field, num_consumed_in_recursion) = generate_deserialize_from_fields(\n field_name,\n field_type,\n field_array_name,\n consumed_counter + num_already_consumed,\n should_unpack,\n );\n // We increment the consumed counter by the number of fields consumed in the recursion\n consumed_counter += num_consumed_in_recursion;\n // We add the deserialized field to the list of deserialized fields.\n // E.g. `value: u128 { lo: fields[0], hi: fields[1] }`\n deserialized_fields_list =\n deserialized_fields_list.push_back(quote { $field_name: $deserialized_field });\n }\n\n // We can construct the struct from the deserialized fields\n let deserialized_fields = deserialized_fields_list.join(quote {,});\n result = quote {\n $nested_name {\n $deserialized_fields\n }\n };\n } else if typ.as_array().is_some() {\n // The field is an array so we iterate over each element and recursively call\n // `generate_deserialize_from_fields`\n let (element_type, array_len) = typ.as_array().unwrap();\n let array_len = array_len.as_constant().unwrap();\n let mut array_fields_list = &[];\n\n // Iterate over each element in the array\n for _ in 0..array_len {\n // Recursively call `generate_deserialize_from_fields` for each element in the array\n let (deserialized_field, num_consumed_in_recursion) = generate_deserialize_from_fields(\n name,\n element_type,\n field_array_name,\n consumed_counter + num_already_consumed,\n should_unpack,\n );\n // We increment the consumed counter by the number of fields consumed in the recursion\n consumed_counter += num_consumed_in_recursion;\n // We add the deserialized field to the list of deserialized fields.\n array_fields_list = array_fields_list.push_back(deserialized_field);\n }\n\n // We can construct the array from the deserialized fields\n let array_fields = array_fields_list.join(quote {,});\n result = quote { [ $array_fields ] };\n } else if typ.as_str().is_some() {\n // The field is a string and we expect each byte of the string to be represented as 1 field in the field\n // array. So we iterate over the string length and deserialize each character as u8 in the recursive call\n // to `generate_deserialize_from_fields`.\n let length_type = typ.as_str().unwrap();\n let str_len = length_type.as_constant().unwrap();\n let mut byte_list = &[];\n\n // Iterate over each character in the string\n for _ in 0..str_len {\n // Recursively call `generate_deserialize_from_fields` for each character in the string\n let (deserialized_field, num_consumed_in_recursion) = generate_deserialize_from_fields(\n name,\n quote {u8}.as_type(),\n field_array_name,\n consumed_counter + num_already_consumed,\n should_unpack,\n );\n\n // We should consume just one field in the recursion so we sanity check that\n assert_eq(\n num_consumed_in_recursion,\n 1,\n \"Incorrect number of fields consumed in string deserialization\",\n );\n\n // We increment the consumed counter by 1 as we have consumed one field\n consumed_counter += 1;\n\n // We add the deserialized field to the list of deserialized fields.\n // E.g. `fields[6] as u8`\n byte_list = byte_list.push_back(deserialized_field);\n }\n\n // We construct the string from the deserialized fields\n let bytes = byte_list.join(quote {,});\n result = quote { [ $bytes ].as_str_unchecked() };\n } else {\n panic(\n f\"Unsupported type for serialization of argument {name} and type {typ}\",\n )\n }\n\n (result, consumed_counter)\n}\n\n/// Generates code that serializes a type into an array of fields. Also generates auxiliary variables if necessary\n/// for serialization. If `should_pack` is true, we check if the type implements the `Packable` trait and pack it\n/// if it does.\n///\n/// # Parameters\n/// - `name`: The base identifier (e.g., `self`, `some_var`).\n/// - `typ`: The type being serialized (e.g., a custom struct, array, or primitive type).\n/// - `should_pack`: A boolean indicating whether the type should be packed.\n///\n/// # Returns\n/// A tuple containing:\n/// - A flattened array of `Quoted` field references representing the serialized fields.\n/// - An array of `Quoted` auxiliary variables needed for serialization, such as byte arrays for strings.\n///\n/// # Examples\n///\n/// ## Struct\n/// Given the following struct:\n/// ```rust\n/// struct MockStruct {\n/// a: Field,\n/// b: Field,\n/// }\n/// ```\n///\n/// Serializing the struct:\n/// ```rust\n/// generate_serialize_to_fields(quote { my_mock_struct }, MockStruct, false)\n/// // Returns:\n/// // ([`my_mock_struct.a`, `my_mock_struct.b`], [])\n/// ```\n///\n/// ## Nested Struct\n/// For a more complex struct:\n/// ```rust\n/// struct NestedStruct {\n/// m1: MockStruct,\n/// m2: MockStruct,\n/// }\n/// ```\n///\n/// Serialization output:\n/// ```rust\n/// generate_serialize_to_fields(quote { self }, NestedStruct, false)\n/// // Returns:\n/// // ([`self.m1.a`, `self.m1.b`, `self.m2.a`, `self.m2.b`], [])\n/// ```\n///\n/// ## Array\n/// For an array type:\n/// ```rust\n/// generate_serialize_to_fields(quote { my_array }, [Field; 3], false)\n/// // Returns:\n/// // ([`my_array[0]`, `my_array[1]`, `my_array[2]`], [])\n/// ```\n///\n/// ## String\n/// For a string field, where each character is serialized as a `Field`:\n/// ```rust\n/// generate_serialize_to_fields(quote { my_string }, StringType, false)\n/// // Returns:\n/// // ([`my_string_as_bytes[0] as Field`, `my_string_as_bytes[1] as Field`, ...],\n/// // [`let my_string_as_bytes = my_string.as_bytes()`])\n/// ```\n///\n/// ## Nested Struct with packing enabled\n/// - u128 has a `Packable` implementation hence it will be packed.\n///\n/// For a more complex struct:\n/// ```rust\n/// struct MyStruct {\n/// value: u128,\n/// value2: Field,\n/// }\n/// ```\n///\n/// # Panics\n/// - If the type is unsupported for serialization.\n/// - If the provided `typ` contains invalid constants or incompatible structures.\npub comptime fn generate_serialize_to_fields(\n name: Quoted,\n typ: Type,\n should_pack: bool,\n) -> ([Quoted], [Quoted]) {\n let mut fields = &[];\n let mut aux_vars = &[];\n\n // If the type implements `Packable`, its length will be assigned to the `maybe_packed_len_typ` variable.\n let maybe_packed_len_typ = std::meta::typ::fresh_type_variable();\n let packable_constraint =\n quote { crate::traits::Packable<$maybe_packed_len_typ> }.as_trait_constraint();\n\n if (should_pack & typ.implements(packable_constraint)) {\n // Packing is enabled and the given type implements the `Packable` trait so we call the `pack()`\n // method, add the resulting field array to `aux_vars` and each field to `fields`.\n let packed_len = maybe_packed_len_typ.as_constant().unwrap();\n\n // We collapse the name to a one that gets tokenized as a single token (e.g. \"self.value\" -> \"self_value\").\n let name_at_one_token = collapse_to_one_token(name);\n let packed_struct_name = f\"{name_at_one_token}_aux_var\".quoted_contents();\n\n // We add the individual fields to the fields array\n let pack_method = get_trait_impl_method(\n typ,\n quote { crate::traits::Packable<$packed_len> },\n quote { pack },\n );\n let packed_struct = quote { let $packed_struct_name = $pack_method($name) };\n for i in 0..packed_len {\n fields = fields.push_back(quote { $packed_struct_name[$i] });\n }\n\n // We add the new auxiliary variable to the aux_vars array\n aux_vars = aux_vars.push_back(packed_struct);\n } else if typ.is_field() {\n // For field we just add the value to fields\n fields = fields.push_back(name);\n } else if typ.as_integer().is_some() | typ.is_bool() {\n // For integer and bool we just cast to Field and add the value to fields\n fields = fields.push_back(quote { $name as Field });\n } else if typ.as_data_type().is_some() {\n // For struct we pref\n let nested_struct = typ.as_data_type().unwrap();\n let params = nested_struct.0.fields(nested_struct.1);\n let struct_flattened = params.map(|(param_name, param_type): (Quoted, Type)| {\n let maybe_prefixed_name = if name == quote {} {\n // Triggered when the param name is of a value available in the current scope (e.g. a function\n // argument) --> then we don't prefix the name with anything.\n param_name\n } else {\n // Triggered when we want to prefix the param name with the `name` from function input. This\n // can typically be `self` when implementing a method on a struct.\n quote { $name.$param_name }\n };\n generate_serialize_to_fields(quote {$maybe_prefixed_name}, param_type, should_pack)\n });\n let struct_flattened_fields = struct_flattened.fold(\n &[],\n |acc: [Quoted], (fields, _): (_, [Quoted])| acc.append(fields),\n );\n let struct_flattened_aux_vars = struct_flattened.fold(\n &[],\n |acc: [Quoted], (_, aux_vars): ([Quoted], _)| acc.append(aux_vars),\n );\n fields = fields.append(struct_flattened_fields);\n aux_vars = aux_vars.append(struct_flattened_aux_vars);\n } else if typ.as_array().is_some() {\n // For array we recursively call `generate_serialize_to_fields(...)` for each element\n let (element_type, array_len) = typ.as_array().unwrap();\n let array_len = array_len.as_constant().unwrap();\n for i in 0..array_len {\n let (element_fields, element_aux_vars) =\n generate_serialize_to_fields(quote { $name[$i] }, element_type, should_pack);\n fields = fields.append(element_fields);\n aux_vars = aux_vars.append(element_aux_vars);\n }\n } else if typ.as_str().is_some() {\n // For string we convert the value to bytes, we store the `as_bytes` in an auxiliary variables and\n // then we add each byte to fields as a Field\n let length_type = typ.as_str().unwrap();\n let str_len = length_type.as_constant().unwrap();\n let as_member = name.as_expr().unwrap().as_member_access();\n let var_name = if as_member.is_some() {\n as_member.unwrap().1\n } else {\n name\n };\n let as_bytes_name = f\"{var_name}_as_bytes\".quoted_contents();\n let as_bytes = quote { let $as_bytes_name = $name.as_bytes() };\n for i in 0..str_len {\n fields = fields.push_back(quote { $as_bytes_name[$i] as Field });\n }\n aux_vars = aux_vars.push_back(as_bytes);\n } else {\n panic(\n f\"Unsupported type for serialization of argument {name} and type {typ}\",\n )\n }\n\n (fields, aux_vars)\n}\n\n/// From a quote that gets tokenized to a multiple tokens we collapse it to a single token by replacing all `.` with `_`.\n/// E.g. \"self.values[0]\" -> \"self_values_0_\"\ncomptime fn collapse_to_one_token(q: Quoted) -> Quoted {\n let tokens = q.tokens();\n\n let mut single_token = quote {};\n for token in tokens {\n let new_token = if ((token == quote {.}) | (token == quote {[}) | (token == quote {]})) {\n quote {_}\n } else {\n token\n };\n single_token = f\"{single_token}{new_token}\".quoted_contents();\n }\n single_token\n}\n\npub(crate) comptime fn derive_serialize(s: TypeDefinition) -> Quoted {\n let typ = s.as_type();\n let (fields, aux_vars) = generate_serialize_to_fields(quote { self }, typ, false);\n let aux_vars_for_serialization = if aux_vars.len() > 0 {\n let joint = aux_vars.join(quote {;});\n quote { $joint; }\n } else {\n quote {}\n };\n\n let field_serializations = fields.join(quote {,});\n let serialized_len = fields.len();\n quote {\n impl Serialize<$serialized_len> for $typ {\n fn serialize(self) -> [Field; $serialized_len] {\n $aux_vars_for_serialization\n [ $field_serializations ]\n }\n }\n }\n}\n\npub(crate) comptime fn derive_deserialize(s: TypeDefinition) -> Quoted {\n let typ = s.as_type();\n let (fields, _) = generate_serialize_to_fields(quote { self }, typ, false);\n let serialized_len = fields.len();\n let (deserialized, _) =\n generate_deserialize_from_fields(quote { self }, typ, quote { serialized }, 0, false);\n quote {\n impl Deserialize<$serialized_len> for $typ {\n fn deserialize(serialized: [Field; $serialized_len]) -> Self {\n $deserialized\n }\n }\n }\n}\n\n/// Generates `Packable` implementation for a given struct and returns the packed length.\n///\n/// Note: We are having this function separate from `derive_packable` because we use this in the note macros to get\n/// the packed length of a note as well as the `Packable` implementation. We need the length to be able to register\n/// the note in the global `NOTES` map. There the length is used to generate partial note helper functions.\npub comptime fn derive_packable_and_get_packed_len(s: TypeDefinition) -> (Quoted, u32) {\n let packing_enabled = true;\n\n let typ = s.as_type();\n let (fields, aux_vars) = generate_serialize_to_fields(quote { self }, typ, packing_enabled);\n let aux_vars_for_packing = if aux_vars.len() > 0 {\n let joint = aux_vars.join(quote {;});\n quote { $joint; }\n } else {\n quote {}\n };\n\n let (unpacked, _) =\n generate_deserialize_from_fields(quote { self }, typ, quote { packed }, 0, packing_enabled);\n\n let field_packings = fields.join(quote {,});\n let packed_len = fields.len();\n let packable_trait: TraitConstraint = quote { Packable<$packed_len> }.as_trait_constraint();\n (\n quote {\n impl $packable_trait for $typ {\n fn pack(self) -> [Field; $packed_len] {\n $aux_vars_for_packing\n [ $field_packings ]\n }\n\n fn unpack(packed: [Field; $packed_len]) -> Self {\n $unpacked\n }\n }\n },\n packed_len,\n )\n}\n\npub(crate) comptime fn derive_packable(s: TypeDefinition) -> Quoted {\n let (packable_impl, _) = derive_packable_and_get_packed_len(s);\n packable_impl\n}\n\n#[derive(Packable, Serialize, Deserialize, Eq)]\npub struct Smol {\n a: Field,\n b: Field,\n}\n\n#[derive(Serialize, Deserialize, Eq)]\npub struct HasArray {\n a: [Field; 2],\n b: bool,\n}\n\n#[derive(Serialize, Deserialize, Eq)]\npub struct Fancier {\n a: Smol,\n b: [Field; 2],\n c: [u8; 3],\n d: str<16>,\n}\n\nfn main() {\n assert(false);\n}\n\n#[test]\nfn smol_test() {\n let smol = Smol { a: 1, b: 2 };\n let serialized = smol.serialize();\n assert(serialized == [1, 2], serialized);\n let deserialized = Smol::deserialize(serialized);\n assert(deserialized == smol);\n\n // None of the struct members implements the `Packable` trait so the packed and serialized data should be the same\n let packed = smol.pack();\n assert_eq(packed, serialized, \"Packed does not match serialized\");\n}\n\n#[test]\nfn has_array_test() {\n let has_array = HasArray { a: [1, 2], b: true };\n let serialized = has_array.serialize();\n assert(serialized == [1, 2, 1], serialized);\n let deserialized = HasArray::deserialize(serialized);\n assert(deserialized == has_array);\n}\n\n#[test]\nfn fancier_test() {\n let fancier =\n Fancier { a: Smol { a: 1, b: 2 }, b: [0, 1], c: [1, 2, 3], d: \"metaprogramming!\" };\n let serialized = fancier.serialize();\n assert(\n serialized\n == [\n 1, 2, 0, 1, 1, 2, 3, 0x6d, 0x65, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61,\n 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x21,\n ],\n serialized,\n );\n let deserialized = Fancier::deserialize(serialized);\n assert(deserialized == fancier);\n}\n"
|
|
6325
6378
|
},
|
|
6326
|
-
"
|
|
6379
|
+
"305": {
|
|
6327
6380
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/point.nr",
|
|
6328
6381
|
"source": "pub use dep::std::embedded_curve_ops::EmbeddedCurvePoint as Point;\nuse crate::{hash::poseidon2_hash, traits::{Deserialize, Empty, Hash, Packable, Serialize}};\n\npub global POINT_LENGTH: u32 = 3;\n\nimpl Serialize<POINT_LENGTH> for Point {\n fn serialize(self: Self) -> [Field; POINT_LENGTH] {\n [self.x, self.y, self.is_infinite as Field]\n }\n}\n\nimpl Hash for Point {\n fn hash(self) -> Field {\n poseidon2_hash(self.serialize())\n }\n}\n\nimpl Empty for Point {\n /// Note: Does not return a valid point on curve - instead represents an empty/\"unpopulated\" point struct (e.g.\n /// empty/unpopulated value in an array of points).\n fn empty() -> Self {\n Point { x: 0, y: 0, is_infinite: false }\n }\n}\n\nimpl Deserialize<POINT_LENGTH> for Point {\n fn deserialize(serialized: [Field; POINT_LENGTH]) -> Point {\n Point { x: serialized[0], y: serialized[1], is_infinite: serialized[2] as bool }\n }\n}\n// TODO(#11356): use compact representation here.\nimpl Packable<POINT_LENGTH> for Point {\n fn pack(self) -> [Field; POINT_LENGTH] {\n self.serialize()\n }\n\n fn unpack(packed: [Field; POINT_LENGTH]) -> Self {\n Self::deserialize(packed)\n }\n}\n"
|
|
6329
6382
|
},
|
|
6330
|
-
"
|
|
6383
|
+
"306": {
|
|
6331
6384
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/poseidon2.nr",
|
|
6332
6385
|
"source": "use crate::constants::TWO_POW_64;\n\n// NB: This is a clone of noir/noir-repo/noir_stdlib/src/hash/poseidon2.nr\n// It exists as we sometimes need to perform custom absorption, but the stdlib version\n// has a private absorb() method (it's also designed to just be a hasher)\n// Can be removed when standalone noir poseidon lib exists: See noir#6679\n\ncomptime global RATE: u32 = 3;\n\npub struct Poseidon2Sponge {\n pub cache: [Field; 3],\n pub state: [Field; 4],\n pub cache_size: u32,\n pub squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2Sponge {\n #[no_predicates]\n pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n Poseidon2Sponge::hash_internal(input, message_size, message_size != N)\n }\n\n pub(crate) fn new(iv: Field) -> Poseidon2Sponge {\n let mut result =\n Poseidon2Sponge { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) {\n // add the cache into sponge state\n for i in 0..RATE {\n // We effectively zero-pad the cache by only adding to the state\n // cache that is less than the specified `cache_size`\n if i < self.cache_size {\n self.state[i] += self.cache[i];\n }\n }\n self.state = std::hash::poseidon2_permutation(self.state, 4);\n }\n\n pub fn absorb(&mut self, input: Field) {\n assert(!self.squeeze_mode);\n if self.cache_size == RATE {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n }\n }\n\n pub fn squeeze(&mut self) -> Field {\n assert(!self.squeeze_mode);\n // If we're in absorb mode, apply sponge permutation to compress the cache.\n self.perform_duplex();\n self.squeeze_mode = true;\n\n // Pop one item off the top of the permutation and return it.\n self.state[0]\n }\n\n fn hash_internal<let N: u32>(\n input: [Field; N],\n in_len: u32,\n is_variable_length: bool,\n ) -> Field {\n let iv: Field = (in_len as Field) * TWO_POW_64;\n let mut sponge = Poseidon2Sponge::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n"
|
|
6333
6386
|
},
|
|
6334
|
-
"
|
|
6387
|
+
"316": {
|
|
6335
6388
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/public_keys.nr",
|
|
6336
6389
|
"source": "use crate::{\n address::public_keys_hash::PublicKeysHash,\n constants::{\n DEFAULT_IVPK_M_X, DEFAULT_IVPK_M_Y, DEFAULT_NPK_M_X, DEFAULT_NPK_M_Y, DEFAULT_OVPK_M_X,\n DEFAULT_OVPK_M_Y, DEFAULT_TPK_M_X, DEFAULT_TPK_M_Y, GENERATOR_INDEX__PUBLIC_KEYS_HASH,\n },\n hash::poseidon2_hash_with_separator,\n point::POINT_LENGTH,\n traits::{Deserialize, Hash, Serialize},\n};\n\nuse dep::std::embedded_curve_ops::EmbeddedCurvePoint as Point;\nuse std::default::Default;\n\npub global PUBLIC_KEYS_LENGTH: u32 = 12;\n\npub struct PublicKeys {\n pub npk_m: NpkM,\n pub ivpk_m: IvpkM,\n pub ovpk_m: OvpkM,\n pub tpk_m: TpkM,\n}\n\npub trait ToPoint {\n fn to_point(self) -> Point;\n}\n\npub struct NpkM {\n pub inner: Point,\n}\n\nimpl ToPoint for NpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for NpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\n// Note: If we store npk_m_hash directly we can remove this trait implementation. See #8091\nimpl Hash for NpkM {\n fn hash(self) -> Field {\n self.inner.hash()\n }\n}\n\npub struct IvpkM {\n pub inner: Point,\n}\n\nimpl ToPoint for IvpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for IvpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\npub struct OvpkM {\n pub inner: Point,\n}\n\nimpl Hash for OvpkM {\n fn hash(self) -> Field {\n self.inner.hash()\n }\n}\n\nimpl ToPoint for OvpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for OvpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\npub struct TpkM {\n pub inner: Point,\n}\n\nimpl ToPoint for TpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for TpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\nimpl Default for PublicKeys {\n fn default() -> Self {\n PublicKeys {\n npk_m: NpkM {\n inner: Point { x: DEFAULT_NPK_M_X, y: DEFAULT_NPK_M_Y, is_infinite: false },\n },\n ivpk_m: IvpkM {\n inner: Point { x: DEFAULT_IVPK_M_X, y: DEFAULT_IVPK_M_Y, is_infinite: false },\n },\n ovpk_m: OvpkM {\n inner: Point { x: DEFAULT_OVPK_M_X, y: DEFAULT_OVPK_M_Y, is_infinite: false },\n },\n tpk_m: TpkM {\n inner: Point { x: DEFAULT_TPK_M_X, y: DEFAULT_TPK_M_Y, is_infinite: false },\n },\n }\n }\n}\n\nimpl Eq for PublicKeys {\n fn eq(self, other: PublicKeys) -> bool {\n (self.npk_m.inner == other.npk_m.inner)\n & (self.ivpk_m.inner == other.ivpk_m.inner)\n & (self.ovpk_m.inner == other.ovpk_m.inner)\n & (self.tpk_m.inner == other.tpk_m.inner)\n }\n}\n\nimpl PublicKeys {\n pub fn hash(self) -> PublicKeysHash {\n PublicKeysHash::from_field(poseidon2_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__PUBLIC_KEYS_HASH as Field,\n ))\n }\n}\n\nimpl Serialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn serialize(self) -> [Field; PUBLIC_KEYS_LENGTH] {\n [\n self.npk_m.inner.x,\n self.npk_m.inner.y,\n self.npk_m.inner.is_infinite as Field,\n self.ivpk_m.inner.x,\n self.ivpk_m.inner.y,\n self.ivpk_m.inner.is_infinite as Field,\n self.ovpk_m.inner.x,\n self.ovpk_m.inner.y,\n self.ovpk_m.inner.is_infinite as Field,\n self.tpk_m.inner.x,\n self.tpk_m.inner.y,\n self.tpk_m.inner.is_infinite as Field,\n ]\n }\n}\n\nimpl Deserialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn deserialize(serialized: [Field; PUBLIC_KEYS_LENGTH]) -> PublicKeys {\n PublicKeys {\n npk_m: NpkM {\n inner: Point {\n x: serialized[0],\n y: serialized[1],\n is_infinite: serialized[2] as bool,\n },\n },\n ivpk_m: IvpkM {\n inner: Point {\n x: serialized[3],\n y: serialized[4],\n is_infinite: serialized[5] as bool,\n },\n },\n ovpk_m: OvpkM {\n inner: Point {\n x: serialized[6],\n y: serialized[7],\n is_infinite: serialized[8] as bool,\n },\n },\n tpk_m: TpkM {\n inner: Point {\n x: serialized[9],\n y: serialized[10],\n is_infinite: serialized[11] as bool,\n },\n },\n }\n }\n}\n\npub struct AddressPoint {\n pub inner: Point,\n}\n\nimpl ToPoint for AddressPoint {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\n#[test]\nunconstrained fn compute_public_keys_hash() {\n let keys = PublicKeys {\n npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } },\n ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } },\n ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } },\n tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } },\n };\n\n let actual = keys.hash();\n let expected_public_keys_hash =\n 0x0fecd9a32db731fec1fded1b9ff957a1625c069245a3613a2538bd527068b0ad;\n\n assert(actual.to_field() == expected_public_keys_hash);\n}\n\n#[test]\nunconstrained fn compute_default_hash() {\n let keys = PublicKeys::default();\n\n let actual = keys.hash();\n let test_data_default_hash = 0x1d3bf1fb93ae0e9cda83b203dd91c3bfb492a9aecf30ec90e1057eced0f0e62d;\n\n assert(actual.to_field() == test_data_default_hash);\n}\n\n#[test]\nunconstrained fn test_public_keys_serialization() {\n let keys = PublicKeys {\n npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } },\n ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } },\n ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } },\n tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } },\n };\n\n let serialized = keys.serialize();\n let deserialized = PublicKeys::deserialize(serialized);\n\n assert_eq(keys.npk_m.inner.x, deserialized.npk_m.inner.x);\n assert_eq(keys.npk_m.inner.y, deserialized.npk_m.inner.y);\n assert_eq(keys.ivpk_m.inner.x, deserialized.ivpk_m.inner.x);\n assert_eq(keys.ivpk_m.inner.y, deserialized.ivpk_m.inner.y);\n assert_eq(keys.ovpk_m.inner.x, deserialized.ovpk_m.inner.x);\n assert_eq(keys.ovpk_m.inner.y, deserialized.ovpk_m.inner.y);\n assert_eq(keys.tpk_m.inner.x, deserialized.tpk_m.inner.x);\n assert_eq(keys.tpk_m.inner.y, deserialized.tpk_m.inner.y);\n}\n"
|
|
6337
6390
|
},
|
|
6338
|
-
"
|
|
6391
|
+
"346": {
|
|
6339
6392
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/type_serialization.nr",
|
|
6340
6393
|
"source": "use crate::traits::{Deserialize, Serialize};\n\nglobal BOOL_SERIALIZED_LEN: u32 = 1;\nglobal U8_SERIALIZED_LEN: u32 = 1;\nglobal U16_SERIALIZED_LEN: u32 = 1;\nglobal U32_SERIALIZED_LEN: u32 = 1;\nglobal U64_SERIALIZED_LEN: u32 = 1;\nglobal U128_SERIALIZED_LEN: u32 = 1;\nglobal FIELD_SERIALIZED_LEN: u32 = 1;\nglobal I8_SERIALIZED_LEN: u32 = 1;\nglobal I16_SERIALIZED_LEN: u32 = 1;\nglobal I32_SERIALIZED_LEN: u32 = 1;\nglobal I64_SERIALIZED_LEN: u32 = 1;\n\nimpl Serialize<BOOL_SERIALIZED_LEN> for bool {\n fn serialize(self) -> [Field; BOOL_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<BOOL_SERIALIZED_LEN> for bool {\n fn deserialize(fields: [Field; BOOL_SERIALIZED_LEN]) -> bool {\n fields[0] as bool\n }\n}\n\nimpl Serialize<U8_SERIALIZED_LEN> for u8 {\n fn serialize(self) -> [Field; U8_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U8_SERIALIZED_LEN> for u8 {\n fn deserialize(fields: [Field; U8_SERIALIZED_LEN]) -> Self {\n fields[0] as u8\n }\n}\n\nimpl Serialize<U16_SERIALIZED_LEN> for u16 {\n fn serialize(self) -> [Field; U16_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U16_SERIALIZED_LEN> for u16 {\n fn deserialize(fields: [Field; U16_SERIALIZED_LEN]) -> Self {\n fields[0] as u16\n }\n}\n\nimpl Serialize<U32_SERIALIZED_LEN> for u32 {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U32_SERIALIZED_LEN> for u32 {\n fn deserialize(fields: [Field; U32_SERIALIZED_LEN]) -> Self {\n fields[0] as u32\n }\n}\n\nimpl Serialize<U64_SERIALIZED_LEN> for u64 {\n fn serialize(self) -> [Field; U64_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U64_SERIALIZED_LEN> for u64 {\n fn deserialize(fields: [Field; U64_SERIALIZED_LEN]) -> Self {\n fields[0] as u64\n }\n}\n\nimpl Serialize<U128_SERIALIZED_LEN> for u128 {\n fn serialize(self) -> [Field; U128_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U128_SERIALIZED_LEN> for u128 {\n fn deserialize(fields: [Field; U128_SERIALIZED_LEN]) -> Self {\n fields[0] as u128\n }\n}\n\nimpl Serialize<FIELD_SERIALIZED_LEN> for Field {\n fn serialize(self) -> [Field; FIELD_SERIALIZED_LEN] {\n [self]\n }\n}\n\nimpl Deserialize<FIELD_SERIALIZED_LEN> for Field {\n fn deserialize(fields: [Field; FIELD_SERIALIZED_LEN]) -> Self {\n fields[0]\n }\n}\n\nimpl Serialize<I8_SERIALIZED_LEN> for i8 {\n fn serialize(self) -> [Field; I8_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<I8_SERIALIZED_LEN> for i8 {\n fn deserialize(fields: [Field; I8_SERIALIZED_LEN]) -> Self {\n fields[0] as i8\n }\n}\n\nimpl Serialize<I16_SERIALIZED_LEN> for i16 {\n fn serialize(self) -> [Field; I16_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<I16_SERIALIZED_LEN> for i16 {\n fn deserialize(fields: [Field; I16_SERIALIZED_LEN]) -> Self {\n fields[0] as i16\n }\n}\n\nimpl Serialize<I32_SERIALIZED_LEN> for i32 {\n fn serialize(self) -> [Field; I32_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<I32_SERIALIZED_LEN> for i32 {\n fn deserialize(fields: [Field; I32_SERIALIZED_LEN]) -> Self {\n fields[0] as i32\n }\n}\n\nimpl Serialize<I64_SERIALIZED_LEN> for i64 {\n fn serialize(self) -> [Field; I64_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<I64_SERIALIZED_LEN> for i64 {\n fn deserialize(fields: [Field; I64_SERIALIZED_LEN]) -> Self {\n fields[0] as i64\n }\n}\n\nimpl<T, let N: u32, let M: u32> Serialize<N * M> for [T; N]\nwhere\n T: Serialize<M>,\n{\n fn serialize(self) -> [Field; N * M] {\n let mut result: [Field; N * M] = std::mem::zeroed();\n let mut serialized: [Field; M] = std::mem::zeroed();\n for i in 0..N {\n serialized = self[i].serialize();\n for j in 0..M {\n result[i * M + j] = serialized[j];\n }\n }\n result\n }\n}\n\nimpl<T, let N: u32, let M: u32> Deserialize<N * M> for [T; N]\nwhere\n T: Deserialize<M>,\n{\n fn deserialize(fields: [Field; N * M]) -> Self {\n let mut reader = crate::utils::reader::Reader::new(fields);\n let mut result: [T; N] = std::mem::zeroed();\n reader.read_struct_array::<T, M, N>(Deserialize::deserialize, result)\n }\n}\n\n#[test]\nfn test_u16_serialization() {\n let a: u16 = 10;\n assert_eq(a, u16::deserialize(a.serialize()));\n}\n\n#[test]\nfn test_i8_serialization() {\n let a: i8 = -10;\n assert_eq(a, i8::deserialize(a.serialize()));\n}\n\n#[test]\nfn test_i16_serialization() {\n let a: i16 = -10;\n assert_eq(a, i16::deserialize(a.serialize()));\n}\n\n#[test]\nfn test_i32_serialization() {\n let a: i32 = -10;\n assert_eq(a, i32::deserialize(a.serialize()));\n}\n\n#[test]\nfn test_i64_serialization() {\n let a: i64 = -10;\n assert_eq(a, i64::deserialize(a.serialize()));\n}\n"
|
|
6341
6394
|
},
|
|
6342
|
-
"
|
|
6395
|
+
"362": {
|
|
6343
6396
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/utils/arrays.nr",
|
|
6344
|
-
"source": "pub mod assert_array_appended;\npub mod assert_array_prepended;\npub mod assert_combined_array;\npub mod assert_combined_transformed_array;\npub mod assert_exposed_sorted_transformed_value_array;\npub mod assert_sorted_array;\npub mod assert_sorted_transformed_value_array;\npub mod assert_split_sorted_transformed_value_arrays;\npub mod assert_split_transformed_value_arrays;\npub mod get_sorted_result;\npub mod get_sorted_tuple;\npub mod sort_by;\npub mod sort_by_counter;\n\n// Re-exports.\npub use assert_array_appended::{\n assert_array_appended, assert_array_appended_and_scoped, assert_array_appended_reversed,\n assert_array_appended_scoped,\n};\npub use assert_array_prepended::assert_array_prepended;\npub use assert_combined_array::{assert_combined_array, combine_arrays};\npub use assert_combined_transformed_array::{\n assert_combined_transformed_array, combine_and_transform_arrays,\n};\npub use assert_exposed_sorted_transformed_value_array::{\n assert_exposed_sorted_transformed_value_array,\n get_order_hints::{get_order_hints_asc, get_order_hints_desc, OrderHint},\n};\npub use assert_sorted_array::assert_sorted_array;\npub use assert_sorted_transformed_value_array::{\n assert_sorted_transformed_value_array, assert_sorted_transformed_value_array_capped_size,\n};\npub use assert_split_sorted_transformed_value_arrays::{\n assert_split_sorted_transformed_value_arrays_asc,\n assert_split_sorted_transformed_value_arrays_desc,\n get_split_order_hints::{get_split_order_hints_asc, get_split_order_hints_desc, SplitOrderHints},\n};\npub use assert_split_transformed_value_arrays::assert_split_transformed_value_arrays;\npub use get_sorted_result::{get_sorted_result, SortedResult};\npub use sort_by_counter::{sort_by_counter_asc, sort_by_counter_desc};\n\nuse crate::traits::{Empty, is_empty};\n\npub fn subarray<let SRC_LEN: u32, let DST_LEN: u32>(\n src: [Field; SRC_LEN],\n offset: u32,\n) -> [Field; DST_LEN] {\n assert(offset + DST_LEN <= SRC_LEN, \"offset too large\");\n\n let mut dst: [Field; DST_LEN] = std::mem::zeroed();\n for i in 0..DST_LEN {\n dst[i] = src[i + offset];\n }\n\n dst\n}\n\n// Helper function to convert a validated array to BoundedVec.\n// Important: Only use it for validated arrays: validate_array(array) should be true.\npub unconstrained fn array_to_bounded_vec<T, let N: u32>(array: [T; N]) -> BoundedVec<T, N>\nwhere\n T: Empty + Eq,\n{\n let len = array_length(array);\n BoundedVec::from_parts_unchecked(array, len)\n}\n\n// Helper function to find the index of the first element in an array that satisfies a given predicate. If the element\n// is not found, the function returns N as the index.\npub unconstrained fn find_index_hint<T, let N: u32, Env>(\n array: [T; N],\n find: fn[Env](T) -> bool,\n) -> u32 {\n let mut index = N;\n for i in 0..N {\n // We check `index == N` to ensure that we only update the index if we haven't found a match yet.\n if (index == N) & find(array[i]) {\n index = i;\n }\n }\n index\n}\n\n// Routine which validates that all zero values of an array form a contiguous region at the end, i.e.,\n// of the form: [*,*,*...,0,0,0,0] where any * is non-zero. Note that a full array of non-zero values is\n// valid.\npub fn validate_array<T, let N: u32>(array: [T; N]) -> u32\nwhere\n T: Empty + Eq,\n{\n let mut seen_empty = false;\n let mut length = 0;\n for i in 0..N {\n if is_empty(array[i]) {\n seen_empty = true;\n } else {\n assert(seen_empty == false, \"invalid array\");\n length += 1;\n }\n }\n length\n}\n\n// Helper function to count the number of non-empty elements in a validated array.\n// Important: Only use it for validated arrays where validate_array(array) returns true,\n// which ensures that:\n// 1. All elements before the first empty element are non-empty\n// 2. All elements after and including the first empty element are empty\n// 3. The array forms a contiguous sequence of non-empty elements followed by empty elements\npub fn array_length<T, let N: u32>(array: [T; N]) -> u32\nwhere\n T: Empty + Eq,\n{\n // We get the length by checking the index of the first empty element.\n\n // Safety: This is safe because we have validated the array (see function doc above) and the emptiness\n // of the element and non-emptiness of the previous element is checked below.\n let length = unsafe { find_index_hint(array, |elem: T| is_empty(elem)) };\n if length != 0 {\n assert(!is_empty(array[length - 1]));\n }\n if length != N {\n assert(is_empty(array[length]));\n }\n length\n}\n\npub fn array_concat<T, let N: u32, let M: u32>(array1: [T; N], array2: [T; M]) -> [T; N + M] {\n let mut result = [array1[0]; N + M];\n for i in 1..N {\n result[i] = array1[i];\n }\n for i in 0..M {\n result[i + N] = array2[i];\n }\n result\n}\n/// This function assumes that `array1` and `array2` contain no more than N non-empty elements between them,\n/// if this is not the case then elements from the end of `array2` will be dropped.\npub fn array_merge<T, let N: u32>(array1: [T; N], array2: [T; N]) -> [T; N]\nwhere\n T: Empty + Eq,\n{\n // Safety: we constrain this array below\n let result = unsafe { array_merge_helper(array1, array2) };\n // We assume arrays have been validated. The only use cases so far are with previously validated arrays.\n let array1_len = array_length(array1);\n let mut add_from_left = true;\n for i in 0..N {\n add_from_left &= i != array1_len;\n if add_from_left {\n assert_eq(result[i], array1[i]);\n } else {\n assert_eq(result[i], array2[i - array1_len]);\n }\n }\n result\n}\n\nunconstrained fn array_merge_helper<T, let N: u32>(array1: [T; N], array2: [T; N]) -> [T; N]\nwhere\n T: Empty + Eq,\n{\n let mut result: [T; N] = [T::empty(); N];\n let mut i = 0;\n for elem in array1 {\n if !is_empty(elem) {\n result[i] = elem;\n i += 1;\n }\n }\n for elem in array2 {\n if !is_empty(elem) {\n result[i] = elem;\n i += 1;\n }\n }\n result\n}\n\n// Helper fn to create a subarray from a given array\npub fn array_splice<T, let N: u32, let M: u32>(array: [T; N], offset: u32) -> [T; M]\nwhere\n T: Empty,\n{\n assert(M + offset <= N, \"Subarray length larger than array length\");\n let mut result: [T; M] = [T::empty(); M];\n for i in 0..M {\n result[i] = array[offset + i];\n }\n result\n}\n\npub fn check_permutation<T, let N: u32>(\n original_array: [T; N],\n permuted_array: [T; N],\n original_indexes: [u32; N],\n)\nwhere\n T: Eq + Empty,\n{\n let mut seen_value = [false; N];\n for i in 0..N {\n let index = original_indexes[i];\n let original_value = original_array[index];\n assert(permuted_array[i].eq(original_value), \"Invalid index\");\n assert(!seen_value[index], \"Duplicated index\");\n seen_value[index] = true;\n }\n}\n\n// Helper function to find the index of the last element in an array, allowing empty elements.\n// e.g. useful for removing trailing 0s from [1, 0, 2, 0, 0, 0] -> [1, 0, 2]\n// Nothing to do with validated arrays. Correctness constrained by padded_array_length.\npub unconstrained fn find_last_value_index<T, let N: u32>(array: [T; N]) -> u32\nwhere\n T: Empty + Eq,\n{\n let mut index = N;\n for i in 0..N {\n let j = N - i - 1;\n // We check `index == N` to ensure that we only update the index if we haven't found a match yet.\n if (index == N) & !is_empty(array[j]) {\n index = j;\n }\n }\n index\n}\n\n// Routine which returns the length of an array right padded by empty elements\n// of the form: [*,*,*...,0,0,0,0] where * is any value (zeroes allowed).\n// See smoke_validate_array_trailing for examples.\n// Nothing to do with validated arrays. Correctness constrained by padded_array_length.\npub unconstrained fn unsafe_padded_array_length<T, let N: u32>(array: [T; N]) -> u32\nwhere\n T: Empty + Eq,\n{\n let index = find_last_value_index(array);\n if index == N {\n 0\n } else {\n index + 1\n }\n}\n\n// Routine which validates that zero values of an array form a contiguous region at the end, i.e.,\n// of the form: [*,*,*...,0,0,0,0] where * is any value (zeroes allowed).\npub fn padded_array_length<T, let N: u32>(array: [T; N]) -> u32\nwhere\n T: Empty + Eq,\n{\n // Safety: this value is constrained in the below loop.\n let length = unsafe { unsafe_padded_array_length(array) };\n // Check the elt just before length is non-zero:\n if length != 0 {\n assert(!is_empty(array[length - 1]), \"invalid right padded array\");\n }\n // Check all beyond length are zero:\n let mut check_zero = false;\n for i in 0..N {\n check_zero |= i == length;\n if check_zero {\n assert(is_empty(array[i]), \"invalid right padded array\");\n }\n }\n length\n}\n\n#[test]\nfn smoke_validate_array() {\n let valid_array: [Field; 0] = [];\n assert(validate_array(valid_array) == 0);\n\n let valid_array = [0];\n assert(validate_array(valid_array) == 0);\n\n let valid_array = [3];\n assert(validate_array(valid_array) == 1);\n\n let valid_array = [1, 2, 3];\n assert(validate_array(valid_array) == 3);\n\n let valid_array = [1, 2, 3, 0];\n assert(validate_array(valid_array) == 3);\n\n let valid_array = [1, 2, 3, 0, 0];\n assert(validate_array(valid_array) == 3);\n}\n\n#[test]\nfn smoke_validate_array_trailing() {\n let valid_array: [Field; 0] = [];\n assert(padded_array_length(valid_array) == 0);\n\n let valid_array = [0];\n assert(padded_array_length(valid_array) == 0);\n\n let valid_array = [3];\n assert(padded_array_length(valid_array) == 1);\n\n let valid_array = [1, 0, 3];\n assert(padded_array_length(valid_array) == 3);\n\n let valid_array = [1, 0, 3, 0];\n assert(padded_array_length(valid_array) == 3);\n\n let valid_array = [1, 2, 3, 0, 0];\n assert(padded_array_length(valid_array) == 3);\n\n let valid_array = [0, 0, 3, 0, 0];\n assert(padded_array_length(valid_array) == 3);\n}\n\n#[test(should_fail_with = \"invalid array\")]\nfn smoke_validate_array_invalid_case0() {\n let invalid_array = [0, 1];\n let _ = validate_array(invalid_array);\n}\n\n#[test(should_fail_with = \"invalid array\")]\nfn smoke_validate_array_invalid_case1() {\n let invalid_array = [1, 0, 0, 1, 0];\n let _ = validate_array(invalid_array);\n}\n\n#[test(should_fail_with = \"invalid array\")]\nfn smoke_validate_array_invalid_case2() {\n let invalid_array = [0, 0, 0, 0, 1];\n let _ = validate_array(invalid_array);\n}\n\n#[test]\nfn test_empty_array_length() {\n assert_eq(array_length([0]), 0);\n assert_eq(array_length([0, 0, 0]), 0);\n}\n\n#[test]\nfn test_array_length() {\n assert_eq(array_length([123]), 1);\n assert_eq(array_length([123, 0, 0]), 1);\n assert_eq(array_length([123, 456]), 2);\n assert_eq(array_length([123, 456, 0]), 2);\n}\n\n#[test]\nfn test_array_length_invalid_arrays() {\n // Result can be misleading (but correct) for invalid arrays.\n assert_eq(array_length([0, 0, 123]), 0);\n assert_eq(array_length([0, 123, 0]), 0);\n assert_eq(array_length([0, 123, 456]), 0);\n assert_eq(array_length([123, 0, 456]), 1);\n}\n\n#[test]\nunconstrained fn find_index_greater_than_min() {\n let values = [10, 20, 30, 40];\n let min = 22;\n let index = find_index_hint(values, |v: Field| min.lt(v));\n assert_eq(index, 2);\n}\n\n#[test]\nunconstrained fn find_index_not_found() {\n let values = [10, 20, 30, 40];\n let min = 100;\n let index = find_index_hint(values, |v: Field| min.lt(v));\n assert_eq(index, 4);\n}\n\n#[test]\nfn test_array_concat() {\n let array0 = [1, 2, 3];\n let array1 = [4, 5];\n let concatenated = array_concat(array0, array1);\n assert_eq(concatenated, [1, 2, 3, 4, 5]);\n}\n\n#[test]\nfn check_permutation_basic_test() {\n let original_array = [1, 2, 3];\n let permuted_array = [3, 1, 2];\n let indexes = [2, 0, 1];\n check_permutation(original_array, permuted_array, indexes);\n}\n\n#[test(should_fail_with = \"Duplicated index\")]\nfn check_permutation_duplicated_index() {\n let original_array = [0, 1, 0];\n let permuted_array = [1, 0, 0];\n let indexes = [1, 0, 0];\n check_permutation(original_array, permuted_array, indexes);\n}\n\n#[test(should_fail_with = \"Invalid index\")]\nfn check_permutation_invalid_index() {\n let original_array = [0, 1, 2];\n let permuted_array = [1, 0, 0];\n let indexes = [1, 0, 2];\n check_permutation(original_array, permuted_array, indexes);\n}\n"
|
|
6397
|
+
"source": "pub mod assert_array_appended;\npub mod assert_array_prepended;\npub mod assert_combined_array;\npub mod assert_combined_transformed_array;\npub mod assert_exposed_sorted_transformed_value_array;\npub mod assert_sorted_array;\npub mod assert_sorted_transformed_value_array;\npub mod assert_split_sorted_transformed_value_arrays;\npub mod assert_split_transformed_value_arrays;\npub mod get_sorted_result;\npub mod get_sorted_tuple;\npub mod sort_by;\npub mod sort_by_counter;\n\n// Re-exports.\npub use assert_array_appended::{\n assert_array_appended, assert_array_appended_and_scoped, assert_array_appended_reversed,\n assert_array_appended_scoped,\n};\npub use assert_array_prepended::assert_array_prepended;\npub use assert_combined_array::{assert_combined_array, combine_arrays};\npub use assert_combined_transformed_array::{\n assert_combined_transformed_array, combine_and_transform_arrays,\n};\npub use assert_exposed_sorted_transformed_value_array::{\n assert_exposed_sorted_transformed_value_array,\n get_order_hints::{get_order_hints_asc, OrderHint},\n};\npub use assert_sorted_array::assert_sorted_array;\npub use assert_sorted_transformed_value_array::{\n assert_sorted_transformed_value_array, assert_sorted_transformed_value_array_capped_size,\n};\npub use assert_split_sorted_transformed_value_arrays::{\n assert_split_sorted_transformed_value_arrays_asc,\n get_split_order_hints::{get_split_order_hints_asc, SplitOrderHints},\n};\npub use assert_split_transformed_value_arrays::assert_split_transformed_value_arrays;\npub use get_sorted_result::{get_sorted_result, SortedResult};\npub use sort_by_counter::sort_by_counter_asc;\n\nuse crate::traits::{Empty, is_empty};\n\npub fn subarray<let SRC_LEN: u32, let DST_LEN: u32>(\n src: [Field; SRC_LEN],\n offset: u32,\n) -> [Field; DST_LEN] {\n assert(offset + DST_LEN <= SRC_LEN, \"offset too large\");\n\n let mut dst: [Field; DST_LEN] = std::mem::zeroed();\n for i in 0..DST_LEN {\n dst[i] = src[i + offset];\n }\n\n dst\n}\n\n// Helper function to convert a validated array to BoundedVec.\n// Important: Only use it for validated arrays: validate_array(array) should be true.\npub unconstrained fn array_to_bounded_vec<T, let N: u32>(array: [T; N]) -> BoundedVec<T, N>\nwhere\n T: Empty + Eq,\n{\n let len = array_length(array);\n BoundedVec::from_parts_unchecked(array, len)\n}\n\n// Helper function to find the index of the first element in an array that satisfies a given predicate. If the element\n// is not found, the function returns N as the index.\npub unconstrained fn find_index_hint<T, let N: u32, Env>(\n array: [T; N],\n find: fn[Env](T) -> bool,\n) -> u32 {\n let mut index = N;\n for i in 0..N {\n // We check `index == N` to ensure that we only update the index if we haven't found a match yet.\n if (index == N) & find(array[i]) {\n index = i;\n }\n }\n index\n}\n\n// Routine which validates that all zero values of an array form a contiguous region at the end, i.e.,\n// of the form: [*,*,*...,0,0,0,0] where any * is non-zero. Note that a full array of non-zero values is\n// valid.\npub fn validate_array<T, let N: u32>(array: [T; N]) -> u32\nwhere\n T: Empty + Eq,\n{\n let mut seen_empty = false;\n let mut length = 0;\n for i in 0..N {\n if is_empty(array[i]) {\n seen_empty = true;\n } else {\n assert(seen_empty == false, \"invalid array\");\n length += 1;\n }\n }\n length\n}\n\n// Helper function to count the number of non-empty elements in a validated array.\n// Important: Only use it for validated arrays where validate_array(array) returns true,\n// which ensures that:\n// 1. All elements before the first empty element are non-empty\n// 2. All elements after and including the first empty element are empty\n// 3. The array forms a contiguous sequence of non-empty elements followed by empty elements\npub fn array_length<T, let N: u32>(array: [T; N]) -> u32\nwhere\n T: Empty + Eq,\n{\n // We get the length by checking the index of the first empty element.\n\n // Safety: This is safe because we have validated the array (see function doc above) and the emptiness\n // of the element and non-emptiness of the previous element is checked below.\n let length = unsafe { find_index_hint(array, |elem: T| is_empty(elem)) };\n if length != 0 {\n assert(!is_empty(array[length - 1]));\n }\n if length != N {\n assert(is_empty(array[length]));\n }\n length\n}\n\n// Returns the number of consecutive elements at the start of the array for which the predicate returns false.\n// This function ensures that any element after the first matching element (predicate returns true) also matches the predicate.\npub fn array_length_until<T, let N: u32, Env>(array: [T; N], predicate: fn[Env](T) -> bool) -> u32 {\n let mut length = 0;\n let mut stop = false;\n for i in 0..N {\n if predicate(array[i]) {\n stop = true;\n } else {\n assert(\n stop == false,\n \"matching element found after already encountering a non-matching element\",\n );\n length += 1;\n }\n }\n length\n}\n\npub fn array_concat<T, let N: u32, let M: u32>(array1: [T; N], array2: [T; M]) -> [T; N + M] {\n let mut result = [array1[0]; N + M];\n for i in 1..N {\n result[i] = array1[i];\n }\n for i in 0..M {\n result[i + N] = array2[i];\n }\n result\n}\n\n/// This function assumes that `array1` and `array2` contain no more than N non-empty elements between them,\n/// if this is not the case then elements from the end of `array2` will be dropped.\npub fn array_merge<T, let N: u32>(array1: [T; N], array2: [T; N]) -> [T; N]\nwhere\n T: Empty + Eq,\n{\n // Safety: we constrain this array below\n let result = unsafe { array_merge_helper(array1, array2) };\n // We assume arrays have been validated. The only use cases so far are with previously validated arrays.\n let array1_len = array_length(array1);\n let mut add_from_left = true;\n for i in 0..N {\n add_from_left &= i != array1_len;\n if add_from_left {\n assert_eq(result[i], array1[i]);\n } else {\n assert_eq(result[i], array2[i - array1_len]);\n }\n }\n result\n}\n\nunconstrained fn array_merge_helper<T, let N: u32>(array1: [T; N], array2: [T; N]) -> [T; N]\nwhere\n T: Empty + Eq,\n{\n let mut result: [T; N] = [T::empty(); N];\n let mut i = 0;\n for elem in array1 {\n if !is_empty(elem) {\n result[i] = elem;\n i += 1;\n }\n }\n for elem in array2 {\n if !is_empty(elem) {\n result[i] = elem;\n i += 1;\n }\n }\n result\n}\n\n// Helper fn to create a subarray from a given array\npub fn array_splice<T, let N: u32, let M: u32>(array: [T; N], offset: u32) -> [T; M]\nwhere\n T: Empty,\n{\n assert(M + offset <= N, \"Subarray length larger than array length\");\n let mut result: [T; M] = [T::empty(); M];\n for i in 0..M {\n result[i] = array[offset + i];\n }\n result\n}\n\npub fn check_permutation<T, let N: u32>(\n original_array: [T; N],\n permuted_array: [T; N],\n original_indexes: [u32; N],\n)\nwhere\n T: Eq + Empty,\n{\n let mut seen_value = [false; N];\n for i in 0..N {\n let index = original_indexes[i];\n let original_value = original_array[index];\n assert(permuted_array[i].eq(original_value), \"Invalid index\");\n assert(!seen_value[index], \"Duplicated index\");\n seen_value[index] = true;\n }\n}\n\n// Helper function to find the index of the last element in an array, allowing empty elements.\n// e.g. useful for removing trailing 0s from [1, 0, 2, 0, 0, 0] -> [1, 0, 2]\n// Nothing to do with validated arrays. Correctness constrained by padded_array_length.\npub unconstrained fn find_last_value_index<T, let N: u32>(array: [T; N]) -> u32\nwhere\n T: Empty + Eq,\n{\n let mut index = N;\n for i in 0..N {\n let j = N - i - 1;\n // We check `index == N` to ensure that we only update the index if we haven't found a match yet.\n if (index == N) & !is_empty(array[j]) {\n index = j;\n }\n }\n index\n}\n\n// Routine which returns the length of an array right padded by empty elements\n// of the form: [*,*,*...,0,0,0,0] where * is any value (zeroes allowed).\n// See smoke_validate_array_trailing for examples.\n// Nothing to do with validated arrays. Correctness constrained by padded_array_length.\npub unconstrained fn unsafe_padded_array_length<T, let N: u32>(array: [T; N]) -> u32\nwhere\n T: Empty + Eq,\n{\n let index = find_last_value_index(array);\n if index == N {\n 0\n } else {\n index + 1\n }\n}\n\n// Routine which validates that zero values of an array form a contiguous region at the end, i.e.,\n// of the form: [*,*,*...,0,0,0,0] where * is any value (zeroes allowed).\npub fn padded_array_length<T, let N: u32>(array: [T; N]) -> u32\nwhere\n T: Empty + Eq,\n{\n // Safety: this value is constrained in the below loop.\n let length = unsafe { unsafe_padded_array_length(array) };\n // Check the elt just before length is non-zero:\n if length != 0 {\n assert(!is_empty(array[length - 1]), \"invalid right padded array\");\n }\n // Check all beyond length are zero:\n let mut check_zero = false;\n for i in 0..N {\n check_zero |= i == length;\n if check_zero {\n assert(is_empty(array[i]), \"invalid right padded array\");\n }\n }\n length\n}\n\n// Helper function to check if an array is padded with a given value from a given index.\n// Different to padded_array_length in that it allows the elements before the given index to be the same as the padded value.\npub fn array_padded_with<T, let N: u32>(array: [T; N], from_index: u32, padded_with: T) -> bool\nwhere\n T: Eq,\n{\n let mut is_valid = true;\n let mut should_check = false;\n for i in 0..N {\n should_check |= i == from_index;\n is_valid &= !should_check | (array[i] == padded_with);\n }\n is_valid\n}\n\n#[test]\nfn smoke_validate_array() {\n let valid_array: [Field; 0] = [];\n assert(validate_array(valid_array) == 0);\n\n let valid_array = [0];\n assert(validate_array(valid_array) == 0);\n\n let valid_array = [3];\n assert(validate_array(valid_array) == 1);\n\n let valid_array = [1, 2, 3];\n assert(validate_array(valid_array) == 3);\n\n let valid_array = [1, 2, 3, 0];\n assert(validate_array(valid_array) == 3);\n\n let valid_array = [1, 2, 3, 0, 0];\n assert(validate_array(valid_array) == 3);\n}\n\n#[test]\nfn smoke_validate_array_trailing() {\n let valid_array: [Field; 0] = [];\n assert(padded_array_length(valid_array) == 0);\n\n let valid_array = [0];\n assert(padded_array_length(valid_array) == 0);\n\n let valid_array = [3];\n assert(padded_array_length(valid_array) == 1);\n\n let valid_array = [1, 0, 3];\n assert(padded_array_length(valid_array) == 3);\n\n let valid_array = [1, 0, 3, 0];\n assert(padded_array_length(valid_array) == 3);\n\n let valid_array = [1, 2, 3, 0, 0];\n assert(padded_array_length(valid_array) == 3);\n\n let valid_array = [0, 0, 3, 0, 0];\n assert(padded_array_length(valid_array) == 3);\n}\n\n#[test(should_fail_with = \"invalid array\")]\nfn smoke_validate_array_invalid_case0() {\n let invalid_array = [0, 1];\n let _ = validate_array(invalid_array);\n}\n\n#[test(should_fail_with = \"invalid array\")]\nfn smoke_validate_array_invalid_case1() {\n let invalid_array = [1, 0, 0, 1, 0];\n let _ = validate_array(invalid_array);\n}\n\n#[test(should_fail_with = \"invalid array\")]\nfn smoke_validate_array_invalid_case2() {\n let invalid_array = [0, 0, 0, 0, 1];\n let _ = validate_array(invalid_array);\n}\n\n#[test]\nfn test_empty_array_length() {\n assert_eq(array_length([0]), 0);\n assert_eq(array_length([0, 0, 0]), 0);\n}\n\n#[test]\nfn test_array_length() {\n assert_eq(array_length([123]), 1);\n assert_eq(array_length([123, 0, 0]), 1);\n assert_eq(array_length([123, 456]), 2);\n assert_eq(array_length([123, 456, 0]), 2);\n}\n\n#[test]\nfn test_array_length_invalid_arrays() {\n // Result can be misleading (but correct) for invalid arrays.\n assert_eq(array_length([0, 0, 123]), 0);\n assert_eq(array_length([0, 123, 0]), 0);\n assert_eq(array_length([0, 123, 456]), 0);\n assert_eq(array_length([123, 0, 456]), 1);\n}\n\n#[test]\nfn test_array_length_until() {\n let array = [11, 22, 33, 44, 55];\n assert_eq(array_length_until(array, |x| x == 55), 4);\n assert_eq(array_length_until(array, |x| x == 56), 5);\n assert_eq(array_length_until(array, |x| x > 40), 3);\n assert_eq(array_length_until(array, |x| x > 10), 0);\n}\n\n#[test(should_fail_with = \"matching element found after already encountering a non-matching element\")]\nfn test_array_length_until_non_consecutive_fails() {\n let array = [1, 1, 0, 1, 0];\n let _ = array_length_until(array, |x| x == 0);\n}\n\n#[test(should_fail_with = \"matching element found after already encountering a non-matching element\")]\nfn test_array_length_until_first_non_matching_fails() {\n let array = [1, 0, 0, 0, 0];\n let _ = array_length_until(array, |x| x == 1);\n}\n\n#[test]\nunconstrained fn find_index_greater_than_min() {\n let values = [10, 20, 30, 40];\n let min = 22;\n let index = find_index_hint(values, |v: Field| min.lt(v));\n assert_eq(index, 2);\n}\n\n#[test]\nunconstrained fn find_index_not_found() {\n let values = [10, 20, 30, 40];\n let min = 100;\n let index = find_index_hint(values, |v: Field| min.lt(v));\n assert_eq(index, 4);\n}\n\n#[test]\nfn test_array_concat() {\n let array0 = [1, 2, 3];\n let array1 = [4, 5];\n let concatenated = array_concat(array0, array1);\n assert_eq(concatenated, [1, 2, 3, 4, 5]);\n}\n\n#[test]\nfn check_permutation_basic_test() {\n let original_array = [1, 2, 3];\n let permuted_array = [3, 1, 2];\n let indexes = [2, 0, 1];\n check_permutation(original_array, permuted_array, indexes);\n}\n\n#[test(should_fail_with = \"Duplicated index\")]\nfn check_permutation_duplicated_index() {\n let original_array = [0, 1, 0];\n let permuted_array = [1, 0, 0];\n let indexes = [1, 0, 0];\n check_permutation(original_array, permuted_array, indexes);\n}\n\n#[test(should_fail_with = \"Invalid index\")]\nfn check_permutation_invalid_index() {\n let original_array = [0, 1, 2];\n let permuted_array = [1, 0, 0];\n let indexes = [1, 0, 2];\n check_permutation(original_array, permuted_array, indexes);\n}\n\n#[test]\nfn test_array_padded_with() {\n let array = [11, 22, 33, 44, 44];\n assert_eq(array_padded_with(array, 0, 44), false);\n assert_eq(array_padded_with(array, 1, 44), false);\n assert_eq(array_padded_with(array, 2, 44), false);\n assert_eq(array_padded_with(array, 3, 44), true);\n assert_eq(array_padded_with(array, 4, 44), true);\n assert_eq(array_padded_with(array, 4, 33), false);\n assert_eq(array_padded_with(array, 5, 44), true); // Index out of bounds.\n assert_eq(array_padded_with(array, 0, 11), false);\n}\n"
|
|
6345
6398
|
},
|
|
6346
|
-
"
|
|
6399
|
+
"363": {
|
|
6347
6400
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/utils/field.nr",
|
|
6348
6401
|
"source": "pub fn field_from_bytes<let N: u32>(bytes: [u8; N], big_endian: bool) -> Field {\n assert(bytes.len() < 32, \"field_from_bytes: N must be less than 32\");\n let mut as_field = 0;\n let mut offset = 1;\n for i in 0..N {\n let mut index = i;\n if big_endian {\n index = N - i - 1;\n }\n as_field += (bytes[index] as Field) * offset;\n offset *= 256;\n }\n\n as_field\n}\n\n// Convert a 32 byte array to a field element by truncating the final byte\npub fn field_from_bytes_32_trunc(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..15 {\n // covers bytes 16..30 (31 is truncated and ignored)\n low = low + (bytes32[15 + 15 - i] as Field) * v;\n v = v * 256;\n // covers bytes 0..14\n high = high + (bytes32[14 - i] as Field) * v;\n }\n // covers byte 15\n low = low + (bytes32[15] as Field) * v;\n\n low + high * v\n}\n\n// TODO to radix returns u8, so we cannot use bigger radixes. It'd be ideal to use a radix of the maximum range-constrained integer noir supports\npub fn full_field_less_than(lhs: Field, rhs: Field) -> bool {\n lhs.lt(rhs)\n}\n\npub fn full_field_greater_than(lhs: Field, rhs: Field) -> bool {\n rhs.lt(lhs)\n}\n\npub fn min(f1: Field, f2: Field) -> Field {\n if f1.lt(f2) {\n f1\n } else {\n f2\n }\n}\n\nglobal C1: u32 = 28;\nglobal C3: Field = 40770029410420498293352137776570907027550720424234931066070132305055;\nglobal C5: Field = 19103219067921713944291392827692070036145651957329286315305642004821462161904;\n\npub(crate) fn pow(x: Field, y: Field) -> Field {\n let mut r = 1 as Field;\n let b: [u1; 254] = y.to_le_bits();\n\n for i in 0..254 {\n r *= r;\n r *= (b[254 - 1 - i] as Field) * x + (1 - b[254 - 1 - i] as Field);\n }\n\n r\n}\n\n// Tonelli-Shanks algorithm for computing the square root of a Field element.\n// Requires C1 = max{c: 2^c divides (p-1)}, where p is the order of Field\n// as well as C3 = (C2 - 1)/2, where C2 = (p-1)/(2^c1),\n// and C5 = ZETA^C2, where ZETA is a non-square element of Field.\n// These are pre-computed above as globals.\npub(crate) fn sqrt(x: Field) -> Field {\n let mut z = pow(x, C3);\n let mut t = z * z * x;\n z *= x;\n let mut b = t;\n let mut c = C5;\n\n for i in 0..(C1 - 1) {\n for _j in 1..(C1 - i - 1) {\n b *= b;\n }\n\n z *= if b == 1 { 1 } else { c };\n\n c *= c;\n\n t *= if b == 1 { 1 } else { c };\n\n b = t;\n }\n\n z\n}\n\n#[test]\nunconstrained fn bytes_field_test() {\n // Tests correctness of field_from_bytes_32_trunc against existing methods\n // Bytes representing 0x543e0a6642ffeb8039296861765a53407bba62bd1c97ca43374de950bbe0a7\n let inputs = [\n 84, 62, 10, 102, 66, 255, 235, 128, 57, 41, 104, 97, 118, 90, 83, 64, 123, 186, 98, 189, 28,\n 151, 202, 67, 55, 77, 233, 80, 187, 224, 167,\n ];\n let field = field_from_bytes(inputs, true);\n let return_bytes: [u8; 31] = field.to_be_bytes();\n assert_eq(inputs, return_bytes);\n // 32 bytes - we remove the final byte, and check it matches the field\n let inputs2 = [\n 84, 62, 10, 102, 66, 255, 235, 128, 57, 41, 104, 97, 118, 90, 83, 64, 123, 186, 98, 189, 28,\n 151, 202, 67, 55, 77, 233, 80, 187, 224, 167, 158,\n ];\n let field2 = field_from_bytes_32_trunc(inputs2);\n let return_bytes2: [u8; 31] = field.to_be_bytes();\n\n assert_eq(return_bytes2, return_bytes);\n assert_eq(field2, field);\n}\n\n#[test]\nunconstrained fn max_field_test() {\n // Tests the hardcoded value in constants.nr vs underlying modulus\n // NB: We can't use 0-1 in constants.nr as it will be transpiled incorrectly to ts and sol constants files\n let max_value = crate::constants::MAX_FIELD_VALUE;\n assert_eq(max_value, 0 - 1);\n // modulus == 0 is tested elsewhere, so below is more of a sanity check\n let max_bytes: [u8; 32] = max_value.to_be_bytes();\n let mod_bytes = std::field::modulus_be_bytes();\n for i in 0..31 {\n assert_eq(max_bytes[i], mod_bytes[i]);\n }\n assert_eq(max_bytes[31], mod_bytes[31] - 1);\n}\n"
|
|
6349
6402
|
},
|
|
6350
|
-
"
|
|
6403
|
+
"365": {
|
|
6351
6404
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr",
|
|
6352
6405
|
"source": "pub struct Reader<let N: u32> {\n data: [Field; N],\n offset: u32,\n}\n\nimpl<let N: u32> Reader<N> {\n pub fn new(data: [Field; N]) -> Self {\n Self { data, offset: 0 }\n }\n\n pub fn read(&mut self) -> Field {\n let result = self.data[self.offset];\n self.offset += 1;\n result\n }\n\n pub fn read_u32(&mut self) -> u32 {\n self.read() as u32\n }\n\n pub fn read_bool(&mut self) -> bool {\n self.read() as bool\n }\n\n pub fn read_array<let K: u32>(&mut self) -> [Field; K] {\n let mut result = [0; K];\n for i in 0..K {\n result[i] = self.data[self.offset + i];\n }\n self.offset += K;\n result\n }\n\n pub fn read_struct<T, let K: u32>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array());\n result\n }\n\n pub fn read_struct_array<T, let K: u32, let C: u32>(\n &mut self,\n deserialise: fn([Field; K]) -> T,\n mut result: [T; C],\n ) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn finish(self) {\n assert(self.offset == self.data.len(), \"Reader did not read all data\");\n }\n}\n"
|
|
6353
6406
|
},
|
|
6354
|
-
"
|
|
6407
|
+
"375": {
|
|
6355
6408
|
"path": "/home/aztec-dev/nargo/github.com/noir-lang/sha256/v0.1.2/src/sha256.nr",
|
|
6356
6409
|
"source": "use std::hash::sha256_compression;\nuse std::runtime::is_unconstrained;\n\nuse constants::{\n BLOCK_BYTE_PTR, BLOCK_SIZE, HASH, INITIAL_STATE, INT_BLOCK, INT_BLOCK_SIZE, INT_SIZE,\n INT_SIZE_PTR, MSG_BLOCK, MSG_SIZE_PTR, STATE, TWO_POW_16, TWO_POW_24, TWO_POW_32, TWO_POW_8,\n};\n\nmod constants;\nmod tests;\n\n// Implementation of SHA-256 mapping a byte array of variable length to\n// 32 bytes.\n\n// Deprecated in favour of `sha256_var`\n// docs:start:sha256\npub fn sha256<let N: u32>(input: [u8; N]) -> HASH\n// docs:end:sha256\n{\n digest(input)\n}\n\n// SHA-256 hash function\n#[no_predicates]\npub fn digest<let N: u32>(msg: [u8; N]) -> HASH {\n sha256_var(msg, N as u64)\n}\n\n// Variable size SHA-256 hash\npub fn sha256_var<let N: u32>(msg: [u8; N], message_size: u64) -> HASH {\n let message_size = message_size as u32;\n assert(message_size <= N);\n\n if std::runtime::is_unconstrained() {\n // Safety: SHA256 is running as an unconstrained function.\n unsafe {\n __sha256_var(msg, message_size)\n }\n } else {\n let mut msg_block: MSG_BLOCK = [0; INT_BLOCK_SIZE];\n // Intermediate hash, starting with the canonical initial value\n let mut h: STATE = INITIAL_STATE;\n // Pointer into msg_block on a 64 byte scale\n let mut msg_byte_ptr = 0;\n let num_blocks = N / BLOCK_SIZE;\n for i in 0..num_blocks {\n let msg_start = BLOCK_SIZE * i;\n let (new_msg_block, new_msg_byte_ptr) =\n unsafe { build_msg_block(msg, message_size, msg_start) };\n\n if msg_start < message_size {\n msg_block = new_msg_block;\n }\n\n // Verify the block we are compressing was appropriately constructed\n let new_msg_byte_ptr = verify_msg_block(msg, message_size, msg_block, msg_start);\n if msg_start < message_size {\n msg_byte_ptr = new_msg_byte_ptr;\n }\n\n // If the block is filled, compress it.\n // An un-filled block is handled after this loop.\n if (msg_start < message_size) & (msg_byte_ptr == BLOCK_SIZE) {\n h = sha256_compression(msg_block, h);\n }\n }\n\n let modulo = N % BLOCK_SIZE;\n // Handle setup of the final msg block.\n // This case is only hit if the msg is less than the block size,\n // or our message cannot be evenly split into blocks.\n if modulo != 0 {\n let msg_start = BLOCK_SIZE * num_blocks;\n let (new_msg_block, new_msg_byte_ptr) =\n unsafe { build_msg_block(msg, message_size, msg_start) };\n\n if msg_start < message_size {\n msg_block = new_msg_block;\n }\n\n let new_msg_byte_ptr = verify_msg_block(msg, message_size, msg_block, msg_start);\n if msg_start < message_size {\n msg_byte_ptr = new_msg_byte_ptr;\n verify_msg_block_padding(msg_block, msg_byte_ptr);\n }\n }\n\n // If we had modulo == 0 then it means the last block was full,\n // and we can reset the pointer to zero to overwrite it.\n if msg_byte_ptr == BLOCK_SIZE {\n msg_byte_ptr = 0;\n }\n\n // Pad the rest such that we have a [u32; 2] block at the end representing the length\n // of the message, and a block of 1 0 ... 0 following the message (i.e. [1 << 7, 0, ..., 0]).\n // Here we rely on the fact that everything beyond the available input is set to 0.\n let index = msg_byte_ptr / INT_SIZE;\n msg_block[index] = set_item_byte_then_zeros(msg_block[index], msg_byte_ptr, 1 << 7);\n\n msg_byte_ptr = msg_byte_ptr + 1;\n let last_block = msg_block;\n\n // If we don't have room to write the size, compress the block and reset it.\n if msg_byte_ptr > MSG_SIZE_PTR {\n h = sha256_compression(msg_block, h);\n // `attach_len_to_msg_block` will zero out everything after the `msg_byte_ptr`.\n msg_byte_ptr = 0;\n }\n\n msg_block = unsafe { attach_len_to_msg_block(msg_block, msg_byte_ptr, message_size) };\n\n verify_msg_len(msg_block, last_block, msg_byte_ptr, message_size);\n\n hash_final_block(msg_block, h)\n }\n}\n\n// Variable size SHA-256 hash\nunconstrained fn __sha256_var<let N: u32>(msg: [u8; N], message_size: u32) -> HASH {\n let num_full_blocks = message_size / BLOCK_SIZE;\n // Intermediate hash, starting with the canonical initial value\n let mut h: STATE = INITIAL_STATE;\n // Pointer into msg_block on a 64 byte scale\n for i in 0..num_full_blocks {\n let (msg_block, _) = build_msg_block(msg, message_size, BLOCK_SIZE * i);\n h = sha256_compression(msg_block, h);\n }\n\n // Handle setup of the final msg block.\n // This case is only hit if the msg is less than the block size,\n // or our message cannot be evenly split into blocks.\n let modulo = message_size % BLOCK_SIZE;\n let (mut msg_block, mut msg_byte_ptr): (INT_BLOCK, u32) = if modulo != 0 {\n let msg_start = BLOCK_SIZE * num_full_blocks;\n let (new_msg_block, new_msg_byte_ptr) = build_msg_block(msg, message_size, msg_start);\n\n (new_msg_block, new_msg_byte_ptr)\n } else {\n // If we had modulo == 0 then it means the last block was full,\n // and we can reset the pointer to zero to overwrite it.\n ([0; INT_BLOCK_SIZE], 0)\n };\n\n // Pad the rest such that we have a [u32; 2] block at the end representing the length\n // of the message, and a block of 1 0 ... 0 following the message (i.e. [1 << 7, 0, ..., 0]).\n // Here we rely on the fact that everything beyond the available input is set to 0.\n let index = msg_byte_ptr / INT_SIZE;\n msg_block[index] = set_item_byte_then_zeros(msg_block[index], msg_byte_ptr, 1 << 7);\n\n // If we don't have room to write the size, compress the block and reset it.\n let (h, mut msg_byte_ptr): (STATE, u32) = if msg_byte_ptr >= MSG_SIZE_PTR {\n // `attach_len_to_msg_block` will zero out everything after the `msg_byte_ptr`.\n (sha256_compression(msg_block, h), 0)\n } else {\n (h, msg_byte_ptr + 1)\n };\n msg_block = attach_len_to_msg_block(msg_block, msg_byte_ptr, message_size);\n\n hash_final_block(msg_block, h)\n}\n\n// Take `BLOCK_SIZE` number of bytes from `msg` starting at `msg_start`.\n// Returns the block and the length that has been copied rather than padded with zeros.\nunconstrained fn build_msg_block<let N: u32>(\n msg: [u8; N],\n message_size: u32,\n msg_start: u32,\n) -> (MSG_BLOCK, BLOCK_BYTE_PTR) {\n let mut msg_block: MSG_BLOCK = [0; INT_BLOCK_SIZE];\n\n // We insert `BLOCK_SIZE` bytes (or up to the end of the message)\n let block_input = if message_size < msg_start {\n // This function is sometimes called with `msg_start` past the end of the message.\n // In this case we return an empty block and zero pointer to signal that the result should be ignored.\n 0\n } else if message_size < msg_start + BLOCK_SIZE {\n message_size - msg_start\n } else {\n BLOCK_SIZE\n };\n\n // Figure out the number of items in the int array that we have to pack.\n // e.g. if the input is [0,1,2,3,4,5] then we need to pack it as 2 items: [0123, 4500]\n let mut int_input = block_input / INT_SIZE;\n if block_input % INT_SIZE != 0 {\n int_input = int_input + 1;\n };\n\n for i in 0..int_input {\n let mut msg_item: u32 = 0;\n // Always construct the integer as 4 bytes, even if it means going beyond the input.\n for j in 0..INT_SIZE {\n let k = i * INT_SIZE + j;\n let msg_byte = if k < block_input {\n msg[msg_start + k]\n } else {\n 0\n };\n msg_item = lshift8(msg_item, 1) + msg_byte as u32;\n }\n msg_block[i] = msg_item;\n }\n\n // Returning the index as if it was a 64 byte array.\n // We have to project it down to 16 items and bit shifting to get a byte back if we need it.\n (msg_block, block_input)\n}\n\n// Verify the block we are compressing was appropriately constructed by `build_msg_block`\n// and matches the input data. Returns the index of the first unset item.\n// If `message_size` is less than `msg_start` then this is called with the old non-empty block;\n// in that case we can skip verification, ie. no need to check that everything is zero.\nfn verify_msg_block<let N: u32>(\n msg: [u8; N],\n message_size: u32,\n msg_block: MSG_BLOCK,\n msg_start: u32,\n) -> BLOCK_BYTE_PTR {\n let mut msg_byte_ptr = 0;\n let mut msg_end = msg_start + BLOCK_SIZE;\n if msg_end > N {\n msg_end = N;\n }\n // We might have to go beyond the input to pad the fields.\n if msg_end % INT_SIZE != 0 {\n msg_end = msg_end + INT_SIZE - msg_end % INT_SIZE;\n }\n\n // Reconstructed packed item.\n let mut msg_item: u32 = 0;\n\n // Inclusive at the end so that we can compare the last item.\n let mut i: u32 = 0;\n for k in msg_start..=msg_end {\n if k % INT_SIZE == 0 {\n // If we consumed some input we can compare against the block.\n if (msg_start < message_size) & (k > msg_start) {\n assert_eq(msg_block[i], msg_item as u32);\n i = i + 1;\n msg_item = 0;\n }\n }\n // Shift the accumulator\n msg_item = lshift8(msg_item, 1);\n // If we have input to consume, add it at the rightmost position.\n if k < message_size & k < msg_end {\n msg_item = msg_item + msg[k] as u32;\n msg_byte_ptr = msg_byte_ptr + 1;\n }\n }\n\n msg_byte_ptr\n}\n\n// Verify the block we are compressing was appropriately padded with zeros by `build_msg_block`.\n// This is only relevant for the last, potentially partially filled block.\nfn verify_msg_block_padding(msg_block: MSG_BLOCK, msg_byte_ptr: BLOCK_BYTE_PTR) {\n // Check all the way to the end of the block.\n verify_msg_block_zeros(msg_block, msg_byte_ptr, INT_BLOCK_SIZE);\n}\n\n// Verify that a region of ints in the message block are (partially) zeroed,\n// up to an (exclusive) maximum which can either be the end of the block\n// or just where the size is to be written.\nfn verify_msg_block_zeros(\n msg_block: MSG_BLOCK,\n mut msg_byte_ptr: BLOCK_BYTE_PTR,\n max_int_byte_ptr: u32,\n) {\n // This variable is used to get around the compiler under-constrained check giving a warning.\n // We want to check against a constant zero, but if it does not come from the circuit inputs\n // or return values the compiler check will issue a warning.\n let zero = msg_block[0] - msg_block[0];\n\n // First integer which is supposed to be (partially) zero.\n let mut int_byte_ptr = msg_byte_ptr / INT_SIZE;\n\n // Check partial zeros.\n let modulo = msg_byte_ptr % INT_SIZE;\n if modulo != 0 {\n let zeros = INT_SIZE - modulo;\n let mask = if zeros == 3 {\n TWO_POW_24\n } else if zeros == 2 {\n TWO_POW_16\n } else {\n TWO_POW_8\n };\n assert_eq(msg_block[int_byte_ptr] % mask, zero);\n int_byte_ptr = int_byte_ptr + 1;\n }\n\n // Check the rest of the items.\n for i in 0..max_int_byte_ptr {\n if i >= int_byte_ptr {\n assert_eq(msg_block[i], zero);\n }\n }\n}\n\n// Verify that up to the byte pointer the two blocks are equal.\n// At the byte pointer the new block can be partially zeroed.\nfn verify_msg_block_equals_last(\n msg_block: MSG_BLOCK,\n last_block: MSG_BLOCK,\n mut msg_byte_ptr: BLOCK_BYTE_PTR,\n) {\n // msg_byte_ptr is the position at which they are no longer have to be the same.\n // First integer which is supposed to be (partially) zero contains that pointer.\n let mut int_byte_ptr = msg_byte_ptr / INT_SIZE;\n\n // Check partial zeros.\n let modulo = msg_byte_ptr % INT_SIZE;\n if modulo != 0 {\n // Reconstruct the partially zero item from the last block.\n let last_field = last_block[int_byte_ptr];\n let mut msg_item: u32 = 0;\n // Reset to where they are still equal.\n msg_byte_ptr = msg_byte_ptr - modulo;\n for i in 0..INT_SIZE {\n msg_item = lshift8(msg_item, 1);\n if i < modulo {\n msg_item = msg_item + get_item_byte(last_field, msg_byte_ptr) as u32;\n msg_byte_ptr = msg_byte_ptr + 1;\n }\n }\n assert_eq(msg_block[int_byte_ptr], msg_item);\n }\n\n for i in 0..INT_SIZE_PTR {\n if i < int_byte_ptr {\n assert_eq(msg_block[i], last_block[i]);\n }\n }\n}\n\n// Set the rightmost `zeros` number of bytes to 0.\n#[inline_always]\nfn set_item_zeros(item: u32, zeros: u8) -> u32 {\n lshift8(rshift8(item, zeros), zeros)\n}\n\n// Replace one byte in the item with a value, and set everything after it to zero.\nfn set_item_byte_then_zeros(msg_item: u32, msg_byte_ptr: BLOCK_BYTE_PTR, msg_byte: u8) -> u32 {\n let zeros = INT_SIZE - msg_byte_ptr % INT_SIZE;\n let zeroed_item = set_item_zeros(msg_item, zeros as u8);\n let new_item = byte_into_item(msg_byte, msg_byte_ptr);\n zeroed_item + new_item\n}\n\n// Get a byte of a message item according to its overall position in the `BLOCK_SIZE` space.\nfn get_item_byte(mut msg_item: u32, msg_byte_ptr: BLOCK_BYTE_PTR) -> u8 {\n // How many times do we have to shift to the right to get to the position we want?\n let max_shifts = INT_SIZE - 1;\n let shifts = max_shifts - msg_byte_ptr % INT_SIZE;\n msg_item = rshift8(msg_item, shifts as u8);\n // At this point the byte we want is in the rightmost position.\n msg_item as u8\n}\n\n// Project a byte into a position in a field based on the overall block pointer.\n// For example putting 1 into pointer 5 would be 100, because overall we would\n// have [____, 0100] with indexes [0123,4567].\n#[inline_always]\nfn byte_into_item(msg_byte: u8, msg_byte_ptr: BLOCK_BYTE_PTR) -> u32 {\n let mut msg_item = msg_byte as u32;\n // How many times do we have to shift to the left to get to the position we want?\n let max_shifts = INT_SIZE - 1;\n let shifts = max_shifts - msg_byte_ptr % INT_SIZE;\n lshift8(msg_item, shifts as u8)\n}\n\n// Construct a field out of 4 bytes.\n#[inline_always]\nfn make_item(b0: u8, b1: u8, b2: u8, b3: u8) -> u32 {\n let mut item = b0 as u32;\n item = lshift8(item, 1) + b1 as u32;\n item = lshift8(item, 1) + b2 as u32;\n item = lshift8(item, 1) + b3 as u32;\n item\n}\n\n// Shift by 8 bits to the left between 0 and 4 times.\n// Checks `is_unconstrained()` to just use a bitshift if we're running in an unconstrained context,\n// otherwise multiplies by 256.\n#[inline_always]\nfn lshift8(item: u32, shifts: u8) -> u32 {\n if is_unconstrained() {\n // Brillig wouldn't shift 0<<4 without overflow.\n if shifts >= 4 {\n 0\n } else {\n item << (8 * shifts)\n }\n } else {\n // We can do a for loop up to INT_SIZE or an if-else.\n if shifts == 0 {\n item\n } else if shifts == 1 {\n item * TWO_POW_8\n } else if shifts == 2 {\n item * TWO_POW_16\n } else if shifts == 3 {\n item * TWO_POW_24\n } else {\n // Doesn't make sense, but it's most likely called on 0 anyway.\n 0\n }\n }\n}\n\n// Shift by 8 bits to the right between 0 and 4 times.\n// Checks `is_unconstrained()` to just use a bitshift if we're running in an unconstrained context,\n// otherwise divides by 256.\nfn rshift8(item: u32, shifts: u8) -> u32 {\n if is_unconstrained() {\n item >> (8 * shifts)\n } else {\n // Division wouldn't work on `Field`.\n if shifts == 0 {\n item\n } else if shifts == 1 {\n item / TWO_POW_8\n } else if shifts == 2 {\n item / TWO_POW_16\n } else if shifts == 3 {\n item / TWO_POW_24\n } else {\n 0\n }\n }\n}\n\n// Zero out all bytes between the end of the message and where the length is appended,\n// then write the length into the last 8 bytes of the block.\nunconstrained fn attach_len_to_msg_block(\n mut msg_block: MSG_BLOCK,\n mut msg_byte_ptr: BLOCK_BYTE_PTR,\n message_size: u32,\n) -> MSG_BLOCK {\n // We assume that `msg_byte_ptr` is less than 57 because if not then it is reset to zero before calling this function.\n // In any case, fill blocks up with zeros until the last 64 bits (i.e. until msg_byte_ptr = 56).\n // There can be one item which has to be partially zeroed.\n let modulo = msg_byte_ptr % INT_SIZE;\n if modulo != 0 {\n // Index of the block in which we find the item we need to partially zero.\n let i = msg_byte_ptr / INT_SIZE;\n let zeros = INT_SIZE - modulo;\n msg_block[i] = set_item_zeros(msg_block[i], zeros as u8);\n msg_byte_ptr = msg_byte_ptr + zeros;\n }\n\n // The rest can be zeroed without bit shifting anything.\n for i in (msg_byte_ptr / INT_SIZE)..INT_SIZE_PTR {\n msg_block[i] = 0;\n }\n\n // Set the last two 4 byte ints as the first/second half of the 8 bytes of the length.\n let len = 8 * message_size;\n let len_bytes: [u8; 8] = (len as Field).to_be_bytes();\n for i in 0..=1 {\n let shift = i * 4;\n msg_block[INT_SIZE_PTR + i] = make_item(\n len_bytes[shift],\n len_bytes[shift + 1],\n len_bytes[shift + 2],\n len_bytes[shift + 3],\n );\n }\n msg_block\n}\n\n// Verify that the message length was correctly written by `attach_len_to_msg_block`,\n// and that everything between the byte pointer and the size pointer was zeroed,\n// and that everything before the byte pointer was untouched.\nfn verify_msg_len(\n msg_block: MSG_BLOCK,\n last_block: MSG_BLOCK,\n msg_byte_ptr: BLOCK_BYTE_PTR,\n message_size: u32,\n) {\n // Check zeros up to the size pointer.\n verify_msg_block_zeros(msg_block, msg_byte_ptr, INT_SIZE_PTR);\n\n // Check that up to the pointer we match the last block.\n verify_msg_block_equals_last(msg_block, last_block, msg_byte_ptr);\n\n // We verify the message length was inserted correctly by reversing the byte decomposition.\n let mut reconstructed_len: u64 = 0;\n for i in INT_SIZE_PTR..INT_BLOCK_SIZE {\n reconstructed_len = reconstructed_len * TWO_POW_32;\n reconstructed_len = reconstructed_len + msg_block[i] as u64;\n }\n let len = 8 * message_size as u64;\n assert_eq(reconstructed_len, len);\n}\n\n// Perform the final compression, then transform the `STATE` into `HASH`.\nfn hash_final_block(msg_block: MSG_BLOCK, mut state: STATE) -> HASH {\n let mut out_h: HASH = [0; 32]; // Digest as sequence of bytes\n // Hash final padded block\n state = sha256_compression(msg_block, state);\n\n // Return final hash as byte array\n for j in 0..8 {\n let h_bytes: [u8; 4] = (state[j] as Field).to_be_bytes();\n for k in 0..4 {\n out_h[4 * j + k] = h_bytes[k];\n }\n }\n\n out_h\n}\n\nmod equivalence_test {\n\n #[test]\n fn test_implementations_agree(msg: [u8; 100], message_size: u64) {\n let message_size = message_size % 100;\n let unconstrained_sha = unsafe { super::__sha256_var(msg, message_size as u32) };\n let sha = super::sha256_var(msg, message_size);\n assert_eq(sha, unconstrained_sha);\n }\n}\n"
|
|
6357
6410
|
},
|
|
6358
|
-
"
|
|
6411
|
+
"376": {
|
|
6359
6412
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-contracts/contracts/libs/ecdsa_public_key_note/src/lib.nr",
|
|
6360
|
-
"source": "use dep::aztec::{\n protocol_types::{address::AztecAddress, traits::Packable},\n macros::notes::note\n};\n\nuse dep::aztec::protocol_types::traits::{FromField, ToField};\n\n\n// Stores an ECDSA public key composed of two 32-byte elements\n// TODO: Do we need to include a nonce, in case we want to read/nullify/recreate with the same pubkey value?\n#[note]\n#[derive(Eq)]\npub struct EcdsaPublicKeyNote {\n x: [u8; 32],\n y: [u8; 32],\n owner: AztecAddress,\n}\n\nimpl EcdsaPublicKeyNote {\n pub fn new(x: [u8; 32], y: [u8; 32], owner: AztecAddress) -> Self {\n EcdsaPublicKeyNote { x, y, owner }\n }\n}\n\nglobal ECDSA_PUBLIC_KEY_NOTE_PCKD_LEN: u32 = 5;\n\nimpl Packable<ECDSA_PUBLIC_KEY_NOTE_PCKD_LEN> for EcdsaPublicKeyNote {\n // Cannot use the automatic packing since x and y don't fit. Pack the note as 5 fields where:\n // [0] = x[0..31] (upper bound excluded)\n // [1] = x[31]\n // [2] = y[0..31]\n // [3] = y[31]\n // [4] = owner\n fn pack(self) -> [Field; ECDSA_PUBLIC_KEY_NOTE_PCKD_LEN] {\n let mut x: Field = 0;\n let mut y: Field = 0;\n let mut mul: Field = 1;\n\n for i in 1..32 {\n let byte_x: Field = self.x[31 - i] as Field;\n x = x + (byte_x * mul);\n let byte_y: Field = self.y[31 - i] as Field;\n y = y + (byte_y * mul);\n mul *= 256;\n }\n\n let last_x = self.x[31] as Field;\n let last_y = self.y[31] as Field;\n\n [x, last_x, y, last_y, self.owner.to_field()]\n }\n\n // Cannot use the automatic unpacking for the aforementioned reasons\n fn unpack(packed_note: [Field; ECDSA_PUBLIC_KEY_NOTE_PCKD_LEN]) -> EcdsaPublicKeyNote {\n let mut x: [u8; 32] = [0; 32];\n let mut y: [u8; 32] = [0; 32];\n\n let part_x:[u8; 32] = packed_note[0].to_be_bytes();\n for i in 0..31 {\n x[i] = part_x[i + 1];\n }\n x[31] = packed_note[1].to_be_bytes::<32>()[31];\n\n let part_y:[u8; 32] = packed_note[2].to_be_bytes();\n for i in 0..31 {\n y[i] = part_y[i + 1];\n }\n y[31] = packed_note[3].to_be_bytes::<32>()[31];\n\n EcdsaPublicKeyNote { x, y, owner: AztecAddress::from_field(packed_note[4]) }\n }\n}\n"
|
|
6413
|
+
"source": "use dep::aztec::{\n protocol_types::{address::AztecAddress, traits::Packable},\n macros::notes::note\n};\n\nuse dep::aztec::protocol_types::traits::{FromField, ToField};\n\n\n// Stores an ECDSA public key composed of two 32-byte elements\n// TODO: Do we need to include a nonce, in case we want to read/nullify/recreate with the same pubkey value?\n#[note]\n#[derive(Eq)]\npub struct EcdsaPublicKeyNote {\n pub x: [u8; 32],\n pub y: [u8; 32],\n pub owner: AztecAddress,\n}\n\nimpl EcdsaPublicKeyNote {\n pub fn new(x: [u8; 32], y: [u8; 32], owner: AztecAddress) -> Self {\n EcdsaPublicKeyNote { x, y, owner }\n }\n}\n\nglobal ECDSA_PUBLIC_KEY_NOTE_PCKD_LEN: u32 = 5;\n\nimpl Packable<ECDSA_PUBLIC_KEY_NOTE_PCKD_LEN> for EcdsaPublicKeyNote {\n // Cannot use the automatic packing since x and y don't fit. Pack the note as 5 fields where:\n // [0] = x[0..31] (upper bound excluded)\n // [1] = x[31]\n // [2] = y[0..31]\n // [3] = y[31]\n // [4] = owner\n fn pack(self) -> [Field; ECDSA_PUBLIC_KEY_NOTE_PCKD_LEN] {\n let mut x: Field = 0;\n let mut y: Field = 0;\n let mut mul: Field = 1;\n\n for i in 1..32 {\n let byte_x: Field = self.x[31 - i] as Field;\n x = x + (byte_x * mul);\n let byte_y: Field = self.y[31 - i] as Field;\n y = y + (byte_y * mul);\n mul *= 256;\n }\n\n let last_x = self.x[31] as Field;\n let last_y = self.y[31] as Field;\n\n [x, last_x, y, last_y, self.owner.to_field()]\n }\n\n // Cannot use the automatic unpacking for the aforementioned reasons\n fn unpack(packed_note: [Field; ECDSA_PUBLIC_KEY_NOTE_PCKD_LEN]) -> EcdsaPublicKeyNote {\n let mut x: [u8; 32] = [0; 32];\n let mut y: [u8; 32] = [0; 32];\n\n let part_x:[u8; 32] = packed_note[0].to_be_bytes();\n for i in 0..31 {\n x[i] = part_x[i + 1];\n }\n x[31] = packed_note[1].to_be_bytes::<32>()[31];\n\n let part_y:[u8; 32] = packed_note[2].to_be_bytes();\n for i in 0..31 {\n y[i] = part_y[i + 1];\n }\n y[31] = packed_note[3].to_be_bytes::<32>()[31];\n\n EcdsaPublicKeyNote { x, y, owner: AztecAddress::from_field(packed_note[4]) }\n }\n}\n"
|
|
6361
6414
|
},
|
|
6362
6415
|
"42": {
|
|
6363
6416
|
"path": "std/option.nr",
|
|
@@ -6405,7 +6458,7 @@
|
|
|
6405
6458
|
},
|
|
6406
6459
|
"68": {
|
|
6407
6460
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/context/private_context.nr",
|
|
6408
|
-
"source": "use crate::{\n context::{inputs::PrivateContextInputs, returns_hash::ReturnsHash},\n hash::{ArgsHasher, hash_args_array, hash_calldata_array},\n keys::constants::{NULLIFIER_INDEX, NUM_KEY_TYPES, OUTGOING_INDEX, sk_generators},\n messaging::process_l1_to_l2_message,\n oracle::{\n block_header::get_block_header_at,\n call_private_function::call_private_function_internal,\n enqueue_public_function_call::{\n notify_enqueued_public_function_call, notify_set_min_revertible_side_effect_counter,\n notify_set_public_teardown_function_call,\n },\n execution_cache,\n key_validation_request::get_key_validation_request,\n notes::{notify_created_nullifier, notify_nullified_note},\n },\n};\nuse dep::protocol_types::{\n abis::{\n call_context::CallContext,\n function_selector::FunctionSelector,\n gas_settings::GasSettings,\n log::Log,\n log_hash::LogHash,\n max_block_number::MaxBlockNumber,\n note_hash::NoteHash,\n nullifier::Nullifier,\n private_call_request::PrivateCallRequest,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n private_log::PrivateLogData,\n public_call_request::PublicCallRequest,\n read_request::ReadRequest,\n side_effect::Counted,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n },\n address::{AztecAddress, EthAddress},\n block_header::BlockHeader,\n constants::{\n MAX_CONTRACT_CLASS_LOGS_PER_CALL, MAX_ENQUEUED_CALLS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NOTE_HASHES_PER_CALL,\n MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PRIVATE_LOGS_PER_CALL,\n PRIVATE_LOG_SIZE_IN_FIELDS,\n },\n messaging::l2_to_l1_message::L2ToL1Message,\n traits::{Empty, Hash, ToField},\n utils::arrays::array_concat,\n};\n\n// When finished, one can call .finish() to convert back to the abi\npub struct PrivateContext {\n // docs:start:private-context\n pub inputs: PrivateContextInputs,\n pub side_effect_counter: u32,\n\n pub min_revertible_side_effect_counter: u32,\n pub is_fee_payer: bool,\n\n pub args_hash: Field,\n pub return_hash: Field,\n\n pub max_block_number: MaxBlockNumber,\n\n pub note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n pub nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n pub note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n pub nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n pub private_call_requests: BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n pub public_call_requests: BoundedVec<Counted<PublicCallRequest>, MAX_ENQUEUED_CALLS_PER_CALL>,\n pub public_teardown_call_request: PublicCallRequest,\n pub l2_to_l1_msgs: BoundedVec<L2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n pub historical_header: BlockHeader,\n\n pub private_logs: BoundedVec<PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL>,\n pub contract_class_logs_hashes: BoundedVec<LogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n pub last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n private_logs: BoundedVec::new(),\n contract_class_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES],\n }\n }\n\n pub fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n pub fn this_address(self) -> AztecAddress {\n self.inputs.call_context.contract_address\n }\n\n pub fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n pub fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n pub fn gas_settings(self) -> GasSettings {\n self.inputs.tx_context.gas_settings\n }\n\n pub fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n pub fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n pub fn push_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n pub fn push_nullifier(&mut self, nullifier: Field) {\n notify_created_nullifier(nullifier);\n self.nullifiers.push(\n Nullifier { value: nullifier, note_hash: 0, counter: self.next_counter() },\n );\n }\n\n pub fn push_nullifier_for_note_hash(&mut self, nullifier: Field, nullified_note_hash: Field) {\n let nullifier_counter = self.next_counter();\n notify_nullified_note(nullifier, nullified_note_hash, nullifier_counter);\n self.nullifiers.push(\n Nullifier {\n value: nullifier,\n note_hash: nullified_note_hash,\n counter: nullifier_counter,\n },\n );\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n pub fn get_block_header(self) -> BlockHeader {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_block_header_at(self, block_number: u32) -> BlockHeader {\n get_block_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n self.return_hash = returns_hasher.hash();\n execution_cache::store(returns_hasher.fields, self.return_hash);\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage(),\n nullifier_read_requests: self.nullifier_read_requests.storage(),\n key_validation_requests_and_generators: self\n .key_validation_requests_and_generators\n .storage(),\n note_hashes: self.note_hashes.storage(),\n nullifiers: self.nullifiers.storage(),\n private_call_requests: self.private_call_requests.storage(),\n public_call_requests: self.public_call_requests.storage(),\n public_teardown_call_request: self.public_teardown_call_request,\n l2_to_l1_msgs: self.l2_to_l1_msgs.storage(),\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n private_logs: self.private_logs.storage(),\n contract_class_logs_hashes: self.contract_class_logs_hashes.storage(),\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context,\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\n \"Setting {0} as fee payer\",\n [self.this_address().to_field()],\n );\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n notify_set_min_revertible_side_effect_counter(self.min_revertible_side_effect_counter);\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number =\n MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index as u32].unwrap_or(\n KeyValidationRequest::empty(),\n );\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one\n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale\n // Typically we'd validate keys by showing that they are the preimage of `pk_m_hash`, but that'd require\n // the oracle returning the master secret keys, which could cause malicious contracts to leak it or learn\n // about secrets from other contracts. We therefore silo secret keys, and rely on the private kernel to\n // validate that we siloed secret key corresponds to correct siloing of the master secret key that hashes\n // to `pk_m_hash`.\n\n // Safety: Kernels verify that the key validation request is valid and below we verify that a request\n // for the correct public key has been received.\n let request = unsafe { get_key_validation_request(pk_m_hash, key_index) };\n assert_eq(request.pk_m.hash(), pk_m_hash, \"Obtained invalid key validation request\");\n\n self.key_validation_requests_and_generators.push(\n KeyValidationRequestAndGenerator {\n request,\n sk_app_generator: sk_generators[key_index as u32],\n },\n );\n self.last_key_validation_requests[key_index as u32] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(\n &mut self,\n content: Field,\n secret: Field,\n sender: EthAddress,\n leaf_index: Field,\n ) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret,\n leaf_index,\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_nullifier(nullifier)\n }\n // docs:end:consume_l1_to_l2_message\n\n pub fn emit_private_log(&mut self, log: [Field; PRIVATE_LOG_SIZE_IN_FIELDS]) {\n let counter = self.next_counter();\n let private_log = PrivateLogData { log: Log::new(log), note_hash_counter: 0, counter };\n self.private_logs.push(private_log);\n }\n\n pub fn emit_raw_note_log(\n &mut self,\n log: [Field; PRIVATE_LOG_SIZE_IN_FIELDS],\n note_hash_counter: u32,\n ) {\n let counter = self.next_counter();\n let private_log = PrivateLogData { log: Log::new(log), note_hash_counter, counter };\n self.private_logs.push(private_log);\n }\n\n pub fn call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) -> ReturnsHash {\n let args_hash = hash_args_array(args);\n execution_cache::store(args, args_hash);\n self.call_private_function_with_args_hash(\n contract_address,\n function_selector,\n args_hash,\n false,\n )\n }\n\n pub fn static_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) -> ReturnsHash {\n let args_hash = hash_args_array(args);\n execution_cache::store(args, args_hash);\n self.call_private_function_with_args_hash(\n contract_address,\n function_selector,\n args_hash,\n true,\n )\n }\n\n pub fn call_private_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n ) -> ReturnsHash {\n self.call_private_function_with_args_hash(contract_address, function_selector, 0, false)\n }\n\n pub fn static_call_private_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n ) -> ReturnsHash {\n self.call_private_function_with_args_hash(contract_address, function_selector, 0, true)\n }\n\n pub fn call_private_function_with_args_hash(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n ) -> ReturnsHash {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n\n // Safety: The oracle simulates the private call and returns the value of the side effects counter after\n // execution of the call (which means that end_side_effect_counter - start_side_effect_counter is\n // the number of side effects that took place), along with the hash of the return values. We validate these\n // by requesting a private kernel iteration in which the return values are constrained to hash\n // to `returns_hash` and the side effects counter to increment from start to end.\n let (end_side_effect_counter, returns_hash) = unsafe {\n call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n )\n };\n\n self.private_call_requests.push(\n PrivateCallRequest {\n call_context: CallContext {\n msg_sender: self.this_address(),\n contract_address,\n function_selector,\n is_static_call,\n },\n args_hash,\n returns_hash,\n start_side_effect_counter,\n end_side_effect_counter,\n },\n );\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n self.side_effect_counter = end_side_effect_counter + 1;\n ReturnsHash::new(returns_hash)\n }\n\n pub fn call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) {\n let calldata = array_concat([function_selector.to_field()], args);\n let calldata_hash = hash_calldata_array(calldata);\n execution_cache::store(calldata, calldata_hash);\n self.call_public_function_with_calldata_hash(contract_address, calldata_hash, false)\n }\n\n pub fn static_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) {\n let calldata = array_concat([function_selector.to_field()], args);\n let calldata_hash = hash_calldata_array(calldata);\n execution_cache::store(calldata, calldata_hash);\n self.call_public_function_with_calldata_hash(contract_address, calldata_hash, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n ) {\n let calldata_hash = hash_calldata_array([function_selector.to_field()]);\n self.call_public_function_with_calldata_hash(contract_address, calldata_hash, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n ) {\n let calldata_hash = hash_calldata_array([function_selector.to_field()]);\n self.call_public_function_with_calldata_hash(contract_address, calldata_hash, true)\n }\n\n pub fn call_public_function_with_calldata_hash(\n &mut self,\n contract_address: AztecAddress,\n calldata_hash: Field,\n is_static_call: bool,\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n\n notify_enqueued_public_function_call(\n contract_address,\n calldata_hash,\n counter,\n is_static_call,\n );\n\n let call_request = PublicCallRequest {\n msg_sender: self.this_address(),\n contract_address,\n is_static_call,\n calldata_hash,\n };\n\n self.public_call_requests.push(Counted::new(call_request, counter));\n }\n\n pub fn set_public_teardown_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) {\n let calldata = array_concat([function_selector.to_field()], args);\n let calldata_hash = hash_calldata_array(calldata);\n execution_cache::store(calldata, calldata_hash);\n self.set_public_teardown_function_with_calldata_hash(contract_address, calldata_hash, false)\n }\n\n pub fn set_public_teardown_function_with_calldata_hash(\n &mut self,\n contract_address: AztecAddress,\n calldata_hash: Field,\n is_static_call: bool,\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n\n notify_set_public_teardown_function_call(\n contract_address,\n calldata_hash,\n counter,\n is_static_call,\n );\n\n self.public_teardown_call_request = PublicCallRequest {\n msg_sender: self.this_address(),\n contract_address,\n is_static_call,\n calldata_hash,\n };\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n historical_header: BlockHeader::empty(),\n private_logs: BoundedVec::new(),\n contract_class_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES],\n }\n }\n}\n"
|
|
6461
|
+
"source": "use crate::{\n context::{inputs::PrivateContextInputs, returns_hash::ReturnsHash},\n hash::{ArgsHasher, hash_args_array, hash_calldata_array},\n keys::constants::{NULLIFIER_INDEX, NUM_KEY_TYPES, OUTGOING_INDEX, sk_generators},\n messaging::process_l1_to_l2_message,\n oracle::{\n block_header::get_block_header_at,\n call_private_function::call_private_function_internal,\n enqueue_public_function_call::{\n notify_enqueued_public_function_call, notify_set_min_revertible_side_effect_counter,\n notify_set_public_teardown_function_call,\n },\n execution_cache,\n key_validation_request::get_key_validation_request,\n notes::{notify_created_nullifier, notify_nullified_note},\n },\n};\nuse dep::protocol_types::{\n abis::{\n call_context::CallContext,\n function_selector::FunctionSelector,\n gas_settings::GasSettings,\n log_hash::LogHash,\n max_block_number::MaxBlockNumber,\n note_hash::NoteHash,\n nullifier::Nullifier,\n private_call_request::PrivateCallRequest,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n private_log::{PrivateLog, PrivateLogData},\n public_call_request::PublicCallRequest,\n read_request::ReadRequest,\n side_effect::Counted,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n },\n address::{AztecAddress, EthAddress},\n block_header::BlockHeader,\n constants::{\n MAX_CONTRACT_CLASS_LOGS_PER_CALL, MAX_ENQUEUED_CALLS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NOTE_HASHES_PER_CALL,\n MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PRIVATE_LOGS_PER_CALL,\n PRIVATE_LOG_SIZE_IN_FIELDS,\n },\n messaging::l2_to_l1_message::L2ToL1Message,\n traits::{Empty, Hash, ToField},\n utils::arrays::array_concat,\n};\n\n// When finished, one can call .finish() to convert back to the abi\npub struct PrivateContext {\n // docs:start:private-context\n pub inputs: PrivateContextInputs,\n pub side_effect_counter: u32,\n\n pub min_revertible_side_effect_counter: u32,\n pub is_fee_payer: bool,\n\n pub args_hash: Field,\n pub return_hash: Field,\n\n pub max_block_number: MaxBlockNumber,\n\n pub note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n pub nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n pub note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n pub nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n pub private_call_requests: BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n pub public_call_requests: BoundedVec<Counted<PublicCallRequest>, MAX_ENQUEUED_CALLS_PER_CALL>,\n pub public_teardown_call_request: PublicCallRequest,\n pub l2_to_l1_msgs: BoundedVec<L2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n pub historical_header: BlockHeader,\n\n pub private_logs: BoundedVec<PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL>,\n pub contract_class_logs_hashes: BoundedVec<Counted<LogHash>, MAX_CONTRACT_CLASS_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n pub last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n private_logs: BoundedVec::new(),\n contract_class_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES],\n }\n }\n\n pub fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n pub fn this_address(self) -> AztecAddress {\n self.inputs.call_context.contract_address\n }\n\n pub fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n pub fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n pub fn gas_settings(self) -> GasSettings {\n self.inputs.tx_context.gas_settings\n }\n\n pub fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n pub fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n pub fn push_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n pub fn push_nullifier(&mut self, nullifier: Field) {\n notify_created_nullifier(nullifier);\n self.nullifiers.push(\n Nullifier { value: nullifier, note_hash: 0, counter: self.next_counter() },\n );\n }\n\n pub fn push_nullifier_for_note_hash(&mut self, nullifier: Field, nullified_note_hash: Field) {\n let nullifier_counter = self.next_counter();\n notify_nullified_note(nullifier, nullified_note_hash, nullifier_counter);\n self.nullifiers.push(\n Nullifier {\n value: nullifier,\n note_hash: nullified_note_hash,\n counter: nullifier_counter,\n },\n );\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n pub fn get_block_header(self) -> BlockHeader {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_block_header_at(self, block_number: u32) -> BlockHeader {\n get_block_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n self.return_hash = returns_hasher.hash();\n execution_cache::store(returns_hasher.fields, self.return_hash);\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage(),\n nullifier_read_requests: self.nullifier_read_requests.storage(),\n key_validation_requests_and_generators: self\n .key_validation_requests_and_generators\n .storage(),\n note_hashes: self.note_hashes.storage(),\n nullifiers: self.nullifiers.storage(),\n private_call_requests: self.private_call_requests.storage(),\n public_call_requests: self.public_call_requests.storage(),\n public_teardown_call_request: self.public_teardown_call_request,\n l2_to_l1_msgs: self.l2_to_l1_msgs.storage(),\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n private_logs: self.private_logs.storage(),\n contract_class_logs_hashes: self.contract_class_logs_hashes.storage(),\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context,\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\n \"Setting {0} as fee payer\",\n [self.this_address().to_field()],\n );\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n notify_set_min_revertible_side_effect_counter(self.min_revertible_side_effect_counter);\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number =\n MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index as u32].unwrap_or(\n KeyValidationRequest::empty(),\n );\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one\n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale\n // Typically we'd validate keys by showing that they are the preimage of `pk_m_hash`, but that'd require\n // the oracle returning the master secret keys, which could cause malicious contracts to leak it or learn\n // about secrets from other contracts. We therefore silo secret keys, and rely on the private kernel to\n // validate that we siloed secret key corresponds to correct siloing of the master secret key that hashes\n // to `pk_m_hash`.\n\n // Safety: Kernels verify that the key validation request is valid and below we verify that a request\n // for the correct public key has been received.\n let request = unsafe { get_key_validation_request(pk_m_hash, key_index) };\n assert_eq(request.pk_m.hash(), pk_m_hash, \"Obtained invalid key validation request\");\n\n self.key_validation_requests_and_generators.push(\n KeyValidationRequestAndGenerator {\n request,\n sk_app_generator: sk_generators[key_index as u32],\n },\n );\n self.last_key_validation_requests[key_index as u32] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(\n &mut self,\n content: Field,\n secret: Field,\n sender: EthAddress,\n leaf_index: Field,\n ) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret,\n leaf_index,\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_nullifier(nullifier)\n }\n // docs:end:consume_l1_to_l2_message\n\n pub fn emit_private_log(&mut self, log: [Field; PRIVATE_LOG_SIZE_IN_FIELDS], length: u32) {\n let counter = self.next_counter();\n let private_log =\n PrivateLogData { log: PrivateLog::new(log, length), note_hash_counter: 0, counter };\n self.private_logs.push(private_log);\n }\n\n pub fn emit_raw_note_log(\n &mut self,\n log: [Field; PRIVATE_LOG_SIZE_IN_FIELDS],\n length: u32,\n note_hash_counter: u32,\n ) {\n let counter = self.next_counter();\n let private_log =\n PrivateLogData { log: PrivateLog::new(log, length), note_hash_counter, counter };\n self.private_logs.push(private_log);\n }\n\n pub fn call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) -> ReturnsHash {\n let args_hash = hash_args_array(args);\n execution_cache::store(args, args_hash);\n self.call_private_function_with_args_hash(\n contract_address,\n function_selector,\n args_hash,\n false,\n )\n }\n\n pub fn static_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) -> ReturnsHash {\n let args_hash = hash_args_array(args);\n execution_cache::store(args, args_hash);\n self.call_private_function_with_args_hash(\n contract_address,\n function_selector,\n args_hash,\n true,\n )\n }\n\n pub fn call_private_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n ) -> ReturnsHash {\n self.call_private_function_with_args_hash(contract_address, function_selector, 0, false)\n }\n\n pub fn static_call_private_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n ) -> ReturnsHash {\n self.call_private_function_with_args_hash(contract_address, function_selector, 0, true)\n }\n\n pub fn call_private_function_with_args_hash(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n ) -> ReturnsHash {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n\n // Safety: The oracle simulates the private call and returns the value of the side effects counter after\n // execution of the call (which means that end_side_effect_counter - start_side_effect_counter is\n // the number of side effects that took place), along with the hash of the return values. We validate these\n // by requesting a private kernel iteration in which the return values are constrained to hash\n // to `returns_hash` and the side effects counter to increment from start to end.\n let (end_side_effect_counter, returns_hash) = unsafe {\n call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n )\n };\n\n self.private_call_requests.push(\n PrivateCallRequest {\n call_context: CallContext {\n msg_sender: self.this_address(),\n contract_address,\n function_selector,\n is_static_call,\n },\n args_hash,\n returns_hash,\n start_side_effect_counter,\n end_side_effect_counter,\n },\n );\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n self.side_effect_counter = end_side_effect_counter + 1;\n ReturnsHash::new(returns_hash)\n }\n\n pub fn call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) {\n let calldata = array_concat([function_selector.to_field()], args);\n let calldata_hash = hash_calldata_array(calldata);\n execution_cache::store(calldata, calldata_hash);\n self.call_public_function_with_calldata_hash(contract_address, calldata_hash, false)\n }\n\n pub fn static_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) {\n let calldata = array_concat([function_selector.to_field()], args);\n let calldata_hash = hash_calldata_array(calldata);\n execution_cache::store(calldata, calldata_hash);\n self.call_public_function_with_calldata_hash(contract_address, calldata_hash, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n ) {\n let calldata_hash = hash_calldata_array([function_selector.to_field()]);\n self.call_public_function_with_calldata_hash(contract_address, calldata_hash, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n ) {\n let calldata_hash = hash_calldata_array([function_selector.to_field()]);\n self.call_public_function_with_calldata_hash(contract_address, calldata_hash, true)\n }\n\n pub fn call_public_function_with_calldata_hash(\n &mut self,\n contract_address: AztecAddress,\n calldata_hash: Field,\n is_static_call: bool,\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n\n notify_enqueued_public_function_call(\n contract_address,\n calldata_hash,\n counter,\n is_static_call,\n );\n\n let call_request = PublicCallRequest {\n msg_sender: self.this_address(),\n contract_address,\n is_static_call,\n calldata_hash,\n };\n\n self.public_call_requests.push(Counted::new(call_request, counter));\n }\n\n pub fn set_public_teardown_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) {\n let calldata = array_concat([function_selector.to_field()], args);\n let calldata_hash = hash_calldata_array(calldata);\n execution_cache::store(calldata, calldata_hash);\n self.set_public_teardown_function_with_calldata_hash(contract_address, calldata_hash, false)\n }\n\n pub fn set_public_teardown_function_with_calldata_hash(\n &mut self,\n contract_address: AztecAddress,\n calldata_hash: Field,\n is_static_call: bool,\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n\n notify_set_public_teardown_function_call(\n contract_address,\n calldata_hash,\n counter,\n is_static_call,\n );\n\n self.public_teardown_call_request = PublicCallRequest {\n msg_sender: self.this_address(),\n contract_address,\n is_static_call,\n calldata_hash,\n };\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n historical_header: BlockHeader::empty(),\n private_logs: BoundedVec::new(),\n contract_class_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES],\n }\n }\n}\n"
|
|
6409
6462
|
},
|
|
6410
6463
|
"71": {
|
|
6411
6464
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/context/utility_context.nr",
|
|
@@ -6429,7 +6482,7 @@
|
|
|
6429
6482
|
},
|
|
6430
6483
|
"96": {
|
|
6431
6484
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/macros/aztec.nr",
|
|
6432
|
-
"source": "use crate::{\n macros::{\n dispatch::generate_public_dispatch,\n functions::{stub_registry, utils::check_each_fn_macroified},\n notes::{generate_note_export, NOTES},\n storage::STORAGE_LAYOUT_NAME,\n utils::{get_trait_impl_method, module_has_storage},\n },\n messages::discovery::private_notes::MAX_NOTE_PACKED_LEN,\n};\n\n/// Marks a contract as an Aztec contract, generating the interfaces for its functions and notes, as well as injecting\n/// the `sync_notes` utility function PXE requires in order to discover notes.\n/// Note: This is a module annotation, so the returned quote gets injected inside the module (contract) itself.\npub comptime fn aztec(m: Module) -> Quoted {\n let interface = generate_contract_interface(m);\n\n // Functions that don't have #[private], #[public], #[utility], #[contract_library_method], or #[test] are not\n // allowed in contracts.\n check_each_fn_macroified(m);\n\n let contract_library_method_compute_note_hash_and_nullifier =\n generate_contract_library_method_compute_note_hash_and_nullifier();\n let note_exports = generate_note_exports();\n let public_dispatch = generate_public_dispatch(m);\n let sync_notes = generate_sync_notes();\n\n quote {\n $note_exports\n $interface\n $contract_library_method_compute_note_hash_and_nullifier\n $public_dispatch\n $sync_notes\n }\n}\n\ncomptime fn generate_contract_interface(m: Module) -> Quoted {\n let module_name = m.name();\n let contract_stubs = stub_registry::get(m);\n let fn_stubs_quote = if contract_stubs.is_some() {\n contract_stubs.unwrap().join(quote {})\n } else {\n quote {}\n };\n\n let has_storage_layout = module_has_storage(m) & STORAGE_LAYOUT_NAME.get(m).is_some();\n let storage_layout_getter = if has_storage_layout {\n let storage_layout_name = STORAGE_LAYOUT_NAME.get(m).unwrap();\n quote {\n pub fn storage_layout() -> StorageLayoutFields {\n $storage_layout_name.fields\n }\n }\n } else {\n quote {}\n };\n\n let library_storage_layout_getter = if has_storage_layout {\n quote {\n #[contract_library_method]\n $storage_layout_getter\n }\n } else {\n quote {}\n };\n\n quote {\n pub struct $module_name {\n pub target_contract: dep::aztec::protocol_types::address::AztecAddress\n }\n\n impl $module_name {\n $fn_stubs_quote\n\n pub fn at(\n addr: aztec::protocol_types::address::AztecAddress\n ) -> Self {\n Self { target_contract: addr }\n }\n\n pub fn interface() -> Self {\n Self { target_contract: aztec::protocol_types::address::AztecAddress::zero() }\n }\n\n $storage_layout_getter\n }\n\n #[contract_library_method]\n pub fn at(\n addr: aztec::protocol_types::address::AztecAddress\n ) -> $module_name {\n $module_name { target_contract: addr }\n }\n\n #[contract_library_method]\n pub fn interface() -> $module_name {\n $module_name { target_contract: aztec::protocol_types::address::AztecAddress::zero() }\n }\n\n $library_storage_layout_getter\n\n }\n}\n\n/// Generates a contract library method called `_compute_note_hash_and_nullifier` which is used for note\n/// discovery (to create the `aztec::messages::discovery::ComputeNoteHashAndNullifier` function) and to implement the\n/// `compute_note_hash_and_nullifier` unconstrained contract function.\ncomptime fn generate_contract_library_method_compute_note_hash_and_nullifier() -> Quoted {\n let notes = NOTES.entries();\n\n if notes.len() > 0 {\n let max_note_packed_len = notes.fold(\n 0,\n |acc, (_, (_, len, _, _)): (Type, (TypeDefinition, u32, Field, [(Quoted, u32, bool)]))| {\n if len > acc {\n len\n } else {\n acc\n }\n },\n );\n\n if max_note_packed_len > MAX_NOTE_PACKED_LEN {\n panic(\n f\"One of the notes has packed len {max_note_packed_len} but the maximum is {MAX_NOTE_PACKED_LEN}\",\n );\n }\n\n // Contracts that do define notes produce an if-else chain where `note_type_id` is matched against the\n // `get_note_type_id()` function of each note type that we know of, in order to identify the note type. Once we\n // know it we call we correct `unpack` method from the `Packable` trait to obtain the underlying note type, and\n // compute the note hash (non-siloed) and inner nullifier (also non-siloed).\n\n let mut if_note_type_id_match_statements_list = &[];\n for i in 0..notes.len() {\n let (typ, (_, packed_note_length, _, _)) = notes[i];\n\n let get_note_type_id = get_trait_impl_method(\n typ,\n quote { crate::note::note_interface::NoteType },\n quote { get_id },\n );\n let unpack = get_trait_impl_method(\n typ,\n quote { crate::protocol_types::traits::Packable<_> },\n quote { unpack },\n );\n\n let compute_note_hash = get_trait_impl_method(\n typ,\n quote { crate::note::note_interface::NoteHash },\n quote { compute_note_hash },\n );\n\n let compute_nullifier_unconstrained = get_trait_impl_method(\n typ,\n quote { crate::note::note_interface::NoteHash },\n quote { compute_nullifier_unconstrained },\n );\n\n let if_or_else_if = if i == 0 {\n quote { if }\n } else {\n quote { else if }\n };\n\n if_note_type_id_match_statements_list = if_note_type_id_match_statements_list.push_back(\n quote {\n $if_or_else_if note_type_id == $get_note_type_id() {\n // As an extra safety check we make sure that the packed_note BoundedVec has the expected\n // length, since we're about to interpret it's raw storage as a fixed-size array by calling the\n // unpack function on it.\n let expected_len = $packed_note_length;\n let actual_len = packed_note.len();\n assert(\n actual_len == expected_len,\n f\"Expected packed note of length {expected_len} but got {actual_len} for note type id {note_type_id}\"\n );\n\n let note = $unpack(aztec::utils::array::subarray(packed_note.storage(), 0));\n\n let note_hash = $compute_note_hash(note, storage_slot);\n \n // The message discovery process finds settled notes, that is, notes that were created in prior\n // transactions and are therefore already part of the note hash tree. We therefore compute the\n // nullification note hash by treating the note as a settled note with the provided nonce.\n let note_hash_for_nullify = aztec::note::utils::compute_note_hash_for_nullify(\n aztec::note::retrieved_note::RetrievedNote{ \n note, \n contract_address, \n metadata: aztec::note::note_metadata::SettledNoteMetadata::new(nonce).into() \n }, \n storage_slot,\n );\n\n let inner_nullifier = $compute_nullifier_unconstrained(note, note_hash_for_nullify);\n\n Option::some(\n aztec::messages::discovery::NoteHashAndNullifier {\n note_hash, inner_nullifier\n }\n )\n }\n },\n );\n }\n\n let if_note_type_id_match_statements = if_note_type_id_match_statements_list.join(quote {});\n\n quote {\n /// Unpacks an array into a note corresponding to `note_type_id` and then computes its note hash\n /// (non-siloed) and inner nullifier (non-siloed) assuming the note has been inserted into the note hash\n /// tree with `nonce`.\n ///\n /// The signature of this function notably matches the `aztec::messages::discovery::ComputeNoteHashAndNullifier` type,\n /// and so it can be used to call functions from that module such as `discover_new_messages`, \n /// `do_process_log` and `attempt_note_discovery`.\n ///\n /// This function is automatically injected by the `#[aztec]` macro.\n #[contract_library_method]\n unconstrained fn _compute_note_hash_and_nullifier(\n packed_note: BoundedVec<Field, aztec::messages::discovery::private_notes::MAX_NOTE_PACKED_LEN>,\n storage_slot: Field,\n note_type_id: Field,\n contract_address: aztec::protocol_types::address::AztecAddress,\n nonce: Field,\n ) -> Option<aztec::messages::discovery::NoteHashAndNullifier> {\n $if_note_type_id_match_statements\n else {\n Option::none()\n }\n }\n }\n } else {\n // Contracts with no notes still implement this function to avoid having special-casing, the implementation\n // simply throws immediately.\n quote {\n /// This contract does not use private notes, so this function should never be called as it will\n /// unconditionally fail.\n ///\n /// This function is automatically injected by the `#[aztec]` macro.\n #[contract_library_method]\n unconstrained fn _compute_note_hash_and_nullifier(\n _packed_note: BoundedVec<Field, aztec::messages::discovery::private_notes::MAX_NOTE_PACKED_LEN>,\n _storage_slot: Field,\n _note_type_id: Field,\n _contract_address: aztec::protocol_types::address::AztecAddress,\n _nonce: Field,\n ) -> Option<aztec::messages::discovery::NoteHashAndNullifier> {\n panic(f\"This contract does not use private notes\")\n }\n }\n }\n}\n\ncomptime fn generate_note_exports() -> Quoted {\n let notes = NOTES.values();\n // Second value in each tuple is `note_packed_len` and that is ignored here because it's only used when\n // generating partial note helper functions.\n notes\n .map(|(s, _, note_type_id, fields): (TypeDefinition, u32, Field, [(Quoted, u32, bool)])| {\n generate_note_export(s, note_type_id, fields)\n })\n .join(quote {})\n}\n\ncomptime fn generate_sync_notes() -> Quoted {\n // TODO(https://github.com/noir-lang/noir/issues/7912): Doing the following unfortunately doesn't work. Once\n // the issue is fixed uncomment the following and remove the workaround from TS (look for the issue link in the\n // codebase).\n // let utility: fn(FunctionDefinition) -> () = crate::macros::functions::utility;\n // quote {\n // #[$utility]\n // unconstrained fn sync_notes() {\n // }\n // }\n\n // All we need to do here is trigger message discovery, but this is already done by the #[utility] macro - we don't\n // need to do anything extra.\n quote {\n #[aztec::macros::functions::utility]\n unconstrained fn sync_notes() { }\n }\n}\n"
|
|
6485
|
+
"source": "use crate::{\n macros::{\n dispatch::generate_public_dispatch,\n functions::{stub_registry, utils::check_each_fn_macroified},\n notes::{generate_note_export, NOTES},\n storage::STORAGE_LAYOUT_NAME,\n utils::{get_trait_impl_method, module_has_storage},\n },\n messages::discovery::private_notes::MAX_NOTE_PACKED_LEN,\n};\n\n/// Marks a contract as an Aztec contract, generating the interfaces for its functions and notes, as well as injecting\n/// the `sync_notes` utility function PXE requires in order to discover notes.\n/// Note: This is a module annotation, so the returned quote gets injected inside the module (contract) itself.\npub comptime fn aztec(m: Module) -> Quoted {\n let interface = generate_contract_interface(m);\n\n // Functions that don't have #[private], #[public], #[utility], #[contract_library_method], or #[test] are not\n // allowed in contracts.\n check_each_fn_macroified(m);\n\n let contract_library_method_compute_note_hash_and_nullifier =\n generate_contract_library_method_compute_note_hash_and_nullifier();\n let note_exports = generate_note_exports();\n let public_dispatch = generate_public_dispatch(m);\n let sync_notes = generate_sync_notes();\n\n quote {\n $note_exports\n $interface\n $contract_library_method_compute_note_hash_and_nullifier\n $public_dispatch\n $sync_notes\n }\n}\n\ncomptime fn generate_contract_interface(m: Module) -> Quoted {\n let module_name = m.name();\n let contract_stubs = stub_registry::get(m);\n let fn_stubs_quote = if contract_stubs.is_some() {\n contract_stubs.unwrap().join(quote {})\n } else {\n quote {}\n };\n\n let has_storage_layout = module_has_storage(m) & STORAGE_LAYOUT_NAME.get(m).is_some();\n let storage_layout_getter = if has_storage_layout {\n let storage_layout_name = STORAGE_LAYOUT_NAME.get(m).unwrap();\n quote {\n pub fn storage_layout() -> StorageLayoutFields {\n $storage_layout_name.fields\n }\n }\n } else {\n quote {}\n };\n\n let library_storage_layout_getter = if has_storage_layout {\n quote {\n #[contract_library_method]\n $storage_layout_getter\n }\n } else {\n quote {}\n };\n\n quote {\n pub struct $module_name {\n pub target_contract: dep::aztec::protocol_types::address::AztecAddress\n }\n\n impl $module_name {\n $fn_stubs_quote\n\n pub fn at(\n addr: aztec::protocol_types::address::AztecAddress\n ) -> Self {\n Self { target_contract: addr }\n }\n\n pub fn interface() -> Self {\n Self { target_contract: aztec::protocol_types::address::AztecAddress::zero() }\n }\n\n $storage_layout_getter\n }\n\n #[contract_library_method]\n pub fn at(\n addr: aztec::protocol_types::address::AztecAddress\n ) -> $module_name {\n $module_name { target_contract: addr }\n }\n\n #[contract_library_method]\n pub fn interface() -> $module_name {\n $module_name { target_contract: aztec::protocol_types::address::AztecAddress::zero() }\n }\n\n $library_storage_layout_getter\n\n }\n}\n\n/// Generates a contract library method called `_compute_note_hash_and_nullifier` which is used for note\n/// discovery (to create the `aztec::messages::discovery::ComputeNoteHashAndNullifier` function) and to implement the\n/// `compute_note_hash_and_nullifier` unconstrained contract function.\ncomptime fn generate_contract_library_method_compute_note_hash_and_nullifier() -> Quoted {\n let notes = NOTES.entries();\n\n if notes.len() > 0 {\n let max_note_packed_len = notes.fold(\n 0,\n |acc, (_, (_, len, _, _)): (Type, (TypeDefinition, u32, Field, [(Quoted, u32, bool)]))| {\n if len > acc {\n len\n } else {\n acc\n }\n },\n );\n\n if max_note_packed_len > MAX_NOTE_PACKED_LEN {\n panic(\n f\"One of the notes has packed len {max_note_packed_len} but the maximum is {MAX_NOTE_PACKED_LEN}\",\n );\n }\n\n // Contracts that do define notes produce an if-else chain where `note_type_id` is matched against the\n // `get_note_type_id()` function of each note type that we know of, in order to identify the note type. Once we\n // know it we call we correct `unpack` method from the `Packable` trait to obtain the underlying note type, and\n // compute the note hash (non-siloed) and inner nullifier (also non-siloed).\n\n let mut if_note_type_id_match_statements_list = &[];\n for i in 0..notes.len() {\n let (typ, (_, packed_note_length, _, _)) = notes[i];\n\n let get_note_type_id = get_trait_impl_method(\n typ,\n quote { crate::note::note_interface::NoteType },\n quote { get_id },\n );\n let unpack = get_trait_impl_method(\n typ,\n quote { crate::protocol_types::traits::Packable<_> },\n quote { unpack },\n );\n\n let compute_note_hash = get_trait_impl_method(\n typ,\n quote { crate::note::note_interface::NoteHash },\n quote { compute_note_hash },\n );\n\n let compute_nullifier_unconstrained = get_trait_impl_method(\n typ,\n quote { crate::note::note_interface::NoteHash },\n quote { compute_nullifier_unconstrained },\n );\n\n let if_or_else_if = if i == 0 {\n quote { if }\n } else {\n quote { else if }\n };\n\n if_note_type_id_match_statements_list = if_note_type_id_match_statements_list.push_back(\n quote {\n $if_or_else_if note_type_id == $get_note_type_id() {\n // As an extra safety check we make sure that the packed_note BoundedVec has the expected\n // length, since we're about to interpret it's raw storage as a fixed-size array by calling the\n // unpack function on it.\n let expected_len = $packed_note_length;\n let actual_len = packed_note.len();\n assert(\n actual_len == expected_len,\n f\"Expected packed note of length {expected_len} but got {actual_len} for note type id {note_type_id}\"\n );\n\n let note = $unpack(aztec::utils::array::subarray(packed_note.storage(), 0));\n\n let note_hash = $compute_note_hash(note, storage_slot);\n \n // The message discovery process finds settled notes, that is, notes that were created in prior\n // transactions and are therefore already part of the note hash tree. We therefore compute the\n // nullification note hash by treating the note as a settled note with the provided nonce.\n let note_hash_for_nullify = aztec::note::utils::compute_note_hash_for_nullify(\n aztec::note::retrieved_note::RetrievedNote{ \n note, \n contract_address, \n metadata: aztec::note::note_metadata::SettledNoteMetadata::new(nonce).into() \n }, \n storage_slot,\n );\n\n let inner_nullifier = $compute_nullifier_unconstrained(note, note_hash_for_nullify);\n\n Option::some(\n aztec::messages::discovery::NoteHashAndNullifier {\n note_hash, inner_nullifier\n }\n )\n }\n },\n );\n }\n\n let if_note_type_id_match_statements = if_note_type_id_match_statements_list.join(quote {});\n\n quote {\n /// Unpacks an array into a note corresponding to `note_type_id` and then computes its note hash\n /// (non-siloed) and inner nullifier (non-siloed) assuming the note has been inserted into the note hash\n /// tree with `nonce`.\n ///\n /// The signature of this function notably matches the `aztec::messages::discovery::ComputeNoteHashAndNullifier` type,\n /// and so it can be used to call functions from that module such as `discover_new_messages`, \n /// `do_process_log` and `attempt_note_discovery`.\n ///\n /// This function is automatically injected by the `#[aztec]` macro.\n #[contract_library_method]\n unconstrained fn _compute_note_hash_and_nullifier(\n packed_note: BoundedVec<Field, aztec::messages::discovery::private_notes::MAX_NOTE_PACKED_LEN>,\n storage_slot: Field,\n note_type_id: Field,\n contract_address: aztec::protocol_types::address::AztecAddress,\n nonce: Field,\n ) -> Option<aztec::messages::discovery::NoteHashAndNullifier> {\n $if_note_type_id_match_statements\n else {\n Option::none()\n }\n }\n }\n } else {\n // Contracts with no notes still implement this function to avoid having special-casing, the implementation\n // simply throws immediately.\n quote {\n /// This contract does not use private notes, so this function should never be called as it will\n /// unconditionally fail.\n ///\n /// This function is automatically injected by the `#[aztec]` macro.\n #[contract_library_method]\n unconstrained fn _compute_note_hash_and_nullifier(\n _packed_note: BoundedVec<Field, aztec::messages::discovery::private_notes::MAX_NOTE_PACKED_LEN>,\n _storage_slot: Field,\n _note_type_id: Field,\n _contract_address: aztec::protocol_types::address::AztecAddress,\n _nonce: Field,\n ) -> Option<aztec::messages::discovery::NoteHashAndNullifier> {\n panic(f\"This contract does not use private notes\")\n }\n }\n }\n}\n\ncomptime fn generate_note_exports() -> Quoted {\n let notes = NOTES.values();\n // Second value in each tuple is `note_packed_len` and that is ignored here because it's only used when\n // generating partial note helper functions.\n notes\n .map(|(s, _, note_type_id, fields): (TypeDefinition, u32, Field, [(Quoted, u32, bool)])| {\n generate_note_export(s, note_type_id, fields)\n })\n .join(quote {})\n}\n\ncomptime fn generate_sync_notes() -> Quoted {\n // We obtain the `utility` function on the next line instead of directly doing\n // `#[aztec::macros::functions::utility]` in the returned quote because the latter would result in the function\n // attribute having the full path in the ABI. This is undesirable because we use the information in the ABI only\n // to determine whether a function is `private`, `public`, or `utility`.\n let utility = crate::macros::functions::utility;\n\n // All we need to do here is trigger message discovery, but this is already done by the #[utility] macro - we don't\n // need to do anything extra.\n quote {\n #[$utility]\n unconstrained fn sync_notes() {\n }\n }\n}\n"
|
|
6433
6486
|
}
|
|
6434
6487
|
}
|
|
6435
6488
|
}
|