@aztec/protocol-contracts 0.77.0-testnet-ignition.26 → 0.77.0-testnet-ignition.28

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.
@@ -4,7 +4,7 @@
4
4
  "name": "ContractInstanceDeployer",
5
5
  "functions": [
6
6
  {
7
- "name": "update",
7
+ "name": "set_update_delay",
8
8
  "is_unconstrained": true,
9
9
  "custom_attributes": [
10
10
  "public"
@@ -15,6 +15,10 @@
15
15
  "error_kind": "string",
16
16
  "string": "msg.sender is not deployed"
17
17
  },
18
+ "15573886522241766899": {
19
+ "error_kind": "string",
20
+ "string": "New update delay is too low"
21
+ },
18
22
  "16761564377371454734": {
19
23
  "error_kind": "string",
20
24
  "string": "Array index out of bounds"
@@ -38,36 +42,25 @@
38
42
  "5019202896831570965": {
39
43
  "error_kind": "string",
40
44
  "string": "attempt to add with overflow"
41
- },
42
- "6504213605561840204": {
43
- "error_kind": "string",
44
- "string": "New contract class is not registered"
45
45
  }
46
46
  },
47
47
  "parameters": [
48
48
  {
49
- "name": "new_contract_class_id",
49
+ "name": "new_update_delay",
50
50
  "type": {
51
- "fields": [
52
- {
53
- "name": "inner",
54
- "type": {
55
- "kind": "field"
56
- }
57
- }
58
- ],
59
- "kind": "struct",
60
- "path": "aztec::protocol_types::contract_class_id::ContractClassId"
51
+ "kind": "integer",
52
+ "sign": "unsigned",
53
+ "width": 32
61
54
  },
62
55
  "visibility": "private"
63
56
  }
64
57
  ],
65
58
  "return_type": null
66
59
  },
67
- "bytecode": "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",
68
- "debug_symbols": "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",
60
+ "bytecode": "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",
61
+ "debug_symbols": "7V3djhupEn6XuZ4LqigK2FdZHUVJNrsaaZSskuyRjlZ599P2uOmeQBu7gj00cBONYz5XfR80FMVP//vwx6cP//z17unzn1++Pfz2+78Pz18+vv/+9OXz9OnfH48PH74+PT8//fVu/d8P6vAPsDkCvv39/vPh87fv779+f/jNsubHh0+f/5j+9MzTT/z59Pzp4TcA9+M/jxPKS1CWJCinRCiZLREvL9LQS2yhIhFKZAt0CsVEdEIxMQYUw4/HqDAx4KnwVFaFwjZV2GmjToWdZrMufHTHJd0xNIPYsMq4Q9rP7hC5jDvo9OwOev+zO7ihjjfBHfDn3QFj7KkwMOjz7njNs++eAH92R0PWHdZrd44gLwBRsgky69As2NLPIIMCECsJyAlANl2ZFub6mTAmU5mK5+YCsKpMMC5V2s2PHvilHWr18uRZW5U7Dutypy51fF3q+KrU0QrqcqcudaCqtqOB7+2Omd1Bha/cicta4+aR3jIuzmNyuNThl2kVd6BJFEXw89iAuBpZp8IHUbQdokSiEA5RYlHG4xOLYtQQJRbFDFEiUXi0lIQoNESJRXFDlEgUO4bkhChjSI5FcaOjTYgyOtqEKH6IEoni9RAlFmXMkiNRSI0hOSHKGJJjUWAMyQlRxiw5IcoYkmNRcAzJCVHGLDkWRY8hOSHKGJJjUQiGKLEoY0hOiDKG5FgUQ0OUSBTbpyioF1FW/E6i+D6HZAvzfj60Wkei9JlPOSuKUX0OyRlR+hySM6L0OSSfFwX6nCVnRBkdbSwKjiE5IcpoKbEoegzJCVEKDMng3CzKOmZOi2IMcfhpa5fSmPxt58Nve1j9Nh+3ARvSu3bfwL7d97t2/4INa5bPu68Vzya08uqViYT7Ss/HlYziXGmreT6RZrXLnLmywDAXRpU5vgagAEI/pojWxQ/KWHV3ZdzcSxkwNlN6Sl34VOpCq5dOzZpdu+8qVx+1C+5bE7tfufqobXDf+cj9C/bMvKn7Guc+BLWO1fduz+6z2rX6rGpX3+jgvrOR+1C7+mYeEZEURO4j1O0+LcllorjxIO/afb1v9XXt6oepJ5KnyH2qXf0QzKJRcc9zwcLkm7pvlpjHrK5jmN2/YAmxavf3rT7Xrj6HRJDxcc/DtavPIeZhFQXMfMEVEG/q/tQ1BvdNNNviC66MqNr9favva1ffqpA9XaVVgvu1q89L8neVrz65b1XlU3VLIeaxJnYfKk+U5NzftfruxuofTdDtTfibm0B9exP25iY03t4E39wE3b7Rkrm9ids3WnP7RmvczU3w7Rst377RWri9iQKNFnCe4mug3OhiXMhnGLdayktfcMgwz6Am2KvCB+dLLJisnTcc6ePMzU3427PwJViwDSa8ydSyRhccwlfXeCXXJT2HaFsp/ar05D4ope7tv8HZoyl1nvAI3J09oiWkp2nuGntUItoo7FF1GpUINMp6xHBvj5yaS9MUTyQ84to8stVpZH1tHl1wN8idPfKqOo9q0whUbRqBqk+jAqMI0hKNMOU8gpD3JsjmVq7braV02K2l9M83ZAMAdsTV9sMVO6pX7KhedUf1WiJ23gtX6qheqaPntURyczdcO4qbSmwE2Q3XjurVdvS8uqbq1bjA1fz8YiJA5RviCmG5fPoz5gq1t2GzcF1l6tPnD5eXc2jE1W5O5BPZ2oOJkmSrn9UVJVt7+H8NWfRhdWdasnxFNrE6pWw4/KvWB4coVdqFY7dOU6YsQ3gxnOZXZY+SaxqS31vy2gfh9iSnlsbHnUje0ii9D8mNGZLfW/LaJxk3lDxcCjCpr2JpuOM+NydNxxFARprqszFvKM1oNVvSuNFqNqXpOA7LSONhSLMlTceZmPPS6BL7qVqVpuMJSE6amiYKR4+qWjN48aimAOfo0f2z7xjmpoScO+cCHO58A+boAPTkv923/xp27r/Zt/+0c/2J9+2/2bn+Zuft//7pvSv9D6/ZAIsm9v/+e5YK++/27b+tPX7I+V97/5nx39Xef+b837n+Xu3c/8r7T2sX//3r27MSpQHCaAe0utr9MPJFpW24Bt6yeVX2oMwl7/TtVZnKn1kHYanU6bsqA5U/TW+oTOVxjjOLMhzd0geEeuf+31b/o40bn+N6scG3t0HqDjboDjZK1HnYbj+Zg0wrZIXhBRPK60xpH9LPh6tJlsI+1b3QVGR+HJTWcQMvciipGrLhkn1S8WXLE9mmajZDlnuqWbYdkS1xJcl+yJqOyJa4U2w/ZLuqWd8RWd/Q0KN9eG/SRDYxRfANBRXamyVcNNHN02BUU0EFL83Y+wTZlsJFUPNMl6YMRUwWWqrZLNmearbIXpXdkOWOyOqWwsUs2ZbCxRxZ6qlmiyT1dkO2qRxUeMfQRDaeCJiWsovr2BiAE2SbCir00owtxWSbyi6CdYGsS9QsN1WzGbK2p5q1LeWNc2RdS3njLNmmwsUMWd9UuJgj21XNtpQ3zpDlprKLoDGQ9SpBttG8Mfh41sNNZRdRhWaM2ifIthQuYrhgkNAkahabqtkc2Z5qVreUN86SbSlvnCPbVHYxS7alcDFH1vRUs4Z6ItvU0LO8dgdNYiLQUnZxHRvj6v3HC9mmajYcr6FXl2PMZJvKLmoIE4Hj7R8R2ZZqNkfW9VSzrqW8cY6sbylvnCXbUriYIWtVS+FilmxXNdtS3jhHtq3sYrixmLSGBNlG88Zax/es2Kayiya85YJY6QTZloKKHNmmsotZsj3VLPVUs9RTzZqWJgJZsi2Fizmy3NJEIEuWeiLb0kQgR3a/2cUX93c7mBzdd7sd+F/cr3sJGBQt/q/upEw/Kta4ubRldKE0pu+0DrcQTUszS9nU9UYI4Wo0RMB14YOKTtXdhneiItT9KO1FxfFEF1AR644N96Ji3dOJnahY+YnXvahIQ8UCKtadiN+JipVnC/ei4oh0CqhY+e7Jvag4RpcSKtadt9uJipVvJN2LiiOnU0BFOyKdEiqOSKeAipVfNLoXFUdOp4SKI9IpoGLld67uRcWR0/l1Fb0akU4JFUekU0BFqHvP2l5UHJFOCRVHpFNARaSh4q+rqEdbvERF1IuKq1cdzCpWvm+2FhVteCkb2tVbqIKKY3QpoeJ4oguoWPkW4r2oOFYMCqhY+YWte1FxjC4FVKz8itm9qDjaYgkVR6Tzyyqiquq23RePaooajh5VdQ7jxaO7Z4Wn5jz/NGiVKW2dmX/bOl5+O92YNc8Xe2ht7asH5Uj2/kcP3pKs6Yis7qlmdU81Sz3V7P1fXfWWZF1HZO//6qq3JGs7IsvYE9mewkULHZF1tdcsUCCr+TxZa3C+9G76k9aFD1xB1T7yXMOVicN833DEFWofeK7iGhxJc22qXo0LXNlGXLGpes1w7ahedUv9cIYr1T7AluTaUb2ajurV1J6MuYpr8Hri6s4XBgAM6xIArwPQozTcVDPYlObItfJL7WtZQ9JqLovr93mc1pDAjz3qv67itKgzVCyg4lgVLqAi0FCxgIqjLRZQcez0L6LiONN40U5/j0FFZSIV9dgXXELFsS+4gIo04sUSKo69mCVUHJFOARXNGF1KqDhGlwIq8ri9oYSKoy0WUHHc9lVCxSJ3AxEGFZkyuhCwmZ0Hn83ra55/22q3aJ7O66tleUcZvy78wtU2xBXcfILDgo+46iL37FTDNbw5PM21qXrlsC0GV6+i2Vi2UzCXnv6maHeUhpYeb6CwEwwobgZFdgzthCt2VK8aOuLK/XClpoaoDFffD9cil7zvhGuRS372wtX0w9V2VK+2o+fV9hMj0gUnI1bXliW5TpkLHeYXsEp5mGTKI6QlUC0JD63cXRMe55e86YIZUY+qjLaSUAV5qBKrcsF8rEdVRltJqEKjraRUMV2qcn4pgi54xVqPqtBQJaFKn/FKRpULlud7VKXPkTmjih29bUqV0dumVPFDlVgVN9pKQhXfZ37lvCrGJ0dmEzYUGbQxhq/GcPq4YAYjsAMCOyCwk77lMYMR2NECPukDC+cxhAJMMtY1PLdkszquPWMMCjD2ekz6WLjxy9FtjDHmekw6WslgBHacwI6T2PHXY/z1dqxSAgxfjwEQYOz1GMTrMelnIXMFsjVJFYCXoYld9DxYJgkq/frfLMpKUOkXB8C07DWjrDcxiiWo9MXwWRSJUE6AcultklmURA0HIEKJbKESoUiEEimvRcprkRokUoNEaqSzmOBhjg/BYwLlBCif7g3Bh13t4GmJJzTpF5hWMpgRwUjLYC4LMy6GbXTbOdhGv52DWZTBkj03KgdhJuM5hjmUwWTW0uFGBqZVOuLIw2TWQGYtfZMFKhsmccq6BMyJYOnNunmYzJqWWdMya4QiWDomc87PWYLpzwUG7oRiCSo9R8mikk+N82Gq5vwqjwGpbAO6sPcH3SoUm02ke4+yJm7PIh1QljXBNzfhb8/C35wFKLi9iduzSN+QU9REOtItaiIdZZU1cfu64I0+yqpgwmKESqdR/HJayStrYpQR2dpoLS507359WPOESk8yJw8peLjK+QaUF6BQSWxh+v1CWZTdQOGCimoZEUUoka30NCKHIiVCiWwZkS1DWZSO68tstChtAoqi1otM2edrdRgwoDZskVueythDu1HLZM88y+hQ0AOgsxJUeuzOoDaOlU1D6JwWnIa61QqROaGMCJVUflrbWta5DEQoshJU+hLbHCp9kCWLSk+blz3vAC5WI93PA6lwYJ5UbCvdz+dQ6eXILMoKUJSOvmB5gQEYo2IUS1AgspWOrHKojbRgBrWRZcqhrASVnoVmUU6CSt/Hk0WJbPEGrzC7BuMxQlklQhkJymkRyklQXqSGZwHKKCVCpZ8vvaRxp2EnQqWzUVmUk6A2UsY5FEtQGz1ADiVSQ4uUJ5EtEilvRMobkfIbo7kOMds0dVQxiiUoq0UoJ0E5EqG8BLURA5xHbWzAyUQOrIwIJYmIGCS2bLqftzpcQkM/L6FrtzHvDccnvTExxl2P2Zgpn8fw9ZiNRdXzsf/WomoO5SUoLbKlRbZIZItEtozIFovqi2W2RLw2+s4cykpQDkQoyXzXpTd+nO8ttjJyId2FCYy/+in2qK6245EEGHc9RqMAc31P5tPH8jIYgR1DAoygTllghwV20s/r5PKMsRhj3PUYJ7CzkQU7j+FrMVOYAAKMwE56aX9VPymMubZOaeNF8hmMwE56XT6DcddjiK7HGBBg+HoMowBjr8dYgR0r4OMEbccJ6sdd2Q5+TJ/++/7r0/sPz5++TYjDl/98/vj96cvn08fv//t7/ubD16fn56e/3v399cvHT3/88/XTu+cvHw/fPajTP79b5R4t+smXQ0NxCh4dHD8dviRPj+SPHw/fWu8enVKTD5Mf/wc=",
69
62
  "brillig_names": [
70
- "update"
63
+ "set_update_delay"
71
64
  ]
72
65
  },
73
66
  {
@@ -202,6 +195,123 @@
202
195
  "sync_notes"
203
196
  ]
204
197
  },
198
+ {
199
+ "name": "public_dispatch",
200
+ "is_unconstrained": true,
201
+ "custom_attributes": [
202
+ "public"
203
+ ],
204
+ "abi": {
205
+ "error_types": {
206
+ "10019982601749771606": {
207
+ "error_kind": "string",
208
+ "string": "msg.sender is not deployed"
209
+ },
210
+ "11343565365413149907": {
211
+ "error_kind": "string",
212
+ "string": "Function get_update_delay can only be called statically"
213
+ },
214
+ "15573886522241766899": {
215
+ "error_kind": "string",
216
+ "string": "New update delay is too low"
217
+ },
218
+ "16541607464495309456": {
219
+ "error_kind": "fmtstring",
220
+ "item_types": [],
221
+ "length": 16
222
+ },
223
+ "16761564377371454734": {
224
+ "error_kind": "string",
225
+ "string": "Array index out of bounds"
226
+ },
227
+ "17595253152434889169": {
228
+ "error_kind": "string",
229
+ "string": "offset too large"
230
+ },
231
+ "17843811134343075018": {
232
+ "error_kind": "string",
233
+ "string": "Stack too deep"
234
+ },
235
+ "206160798890201757": {
236
+ "error_kind": "string",
237
+ "string": "Storage slot 0 not allowed. Storage slots must start from 1."
238
+ },
239
+ "2920182694213909827": {
240
+ "error_kind": "string",
241
+ "string": "attempt to subtract with overflow"
242
+ },
243
+ "5019202896831570965": {
244
+ "error_kind": "string",
245
+ "string": "attempt to add with overflow"
246
+ },
247
+ "6504213605561840204": {
248
+ "error_kind": "string",
249
+ "string": "New contract class is not registered"
250
+ }
251
+ },
252
+ "parameters": [
253
+ {
254
+ "name": "selector",
255
+ "type": {
256
+ "kind": "field"
257
+ },
258
+ "visibility": "private"
259
+ }
260
+ ],
261
+ "return_type": null
262
+ },
263
+ "bytecode": "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",
264
+ "debug_symbols": "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",
265
+ "brillig_names": [
266
+ "public_dispatch"
267
+ ]
268
+ },
269
+ {
270
+ "name": "get_update_delay",
271
+ "is_unconstrained": true,
272
+ "custom_attributes": [
273
+ "public",
274
+ "view"
275
+ ],
276
+ "abi": {
277
+ "error_types": {
278
+ "11343565365413149907": {
279
+ "error_kind": "string",
280
+ "string": "Function get_update_delay can only be called statically"
281
+ },
282
+ "16761564377371454734": {
283
+ "error_kind": "string",
284
+ "string": "Array index out of bounds"
285
+ },
286
+ "17843811134343075018": {
287
+ "error_kind": "string",
288
+ "string": "Stack too deep"
289
+ },
290
+ "206160798890201757": {
291
+ "error_kind": "string",
292
+ "string": "Storage slot 0 not allowed. Storage slots must start from 1."
293
+ },
294
+ "5019202896831570965": {
295
+ "error_kind": "string",
296
+ "string": "attempt to add with overflow"
297
+ }
298
+ },
299
+ "parameters": [],
300
+ "return_type": {
301
+ "abi_type": {
302
+ "kind": "integer",
303
+ "sign": "unsigned",
304
+ "width": 32
305
+ },
306
+ "visibility": "public"
307
+ }
308
+ },
309
+ "bytecode": "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",
310
+ "debug_symbols": "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",
311
+ "brillig_names": [
312
+ "get_update_delay"
313
+ ]
314
+ },
205
315
  {
206
316
  "name": "deploy",
207
317
  "is_unconstrained": false,
@@ -2009,7 +2119,7 @@
2009
2119
  }
2010
2120
  },
2011
2121
  "bytecode": "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",
2012
- "debug_symbols": "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",
2122
+ "debug_symbols": "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",
2013
2123
  "brillig_names": [
2014
2124
  "store_in_execution_cache_oracle_wrapper",
2015
2125
  "call_private_function_internal",
@@ -2023,67 +2133,7 @@
2023
2133
  "verification_key": "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"
2024
2134
  },
2025
2135
  {
2026
- "name": "set_update_delay",
2027
- "is_unconstrained": true,
2028
- "custom_attributes": [
2029
- "public"
2030
- ],
2031
- "abi": {
2032
- "error_types": {
2033
- "10019982601749771606": {
2034
- "error_kind": "string",
2035
- "string": "msg.sender is not deployed"
2036
- },
2037
- "15573886522241766899": {
2038
- "error_kind": "string",
2039
- "string": "New update delay is too low"
2040
- },
2041
- "16761564377371454734": {
2042
- "error_kind": "string",
2043
- "string": "Array index out of bounds"
2044
- },
2045
- "17595253152434889169": {
2046
- "error_kind": "string",
2047
- "string": "offset too large"
2048
- },
2049
- "17843811134343075018": {
2050
- "error_kind": "string",
2051
- "string": "Stack too deep"
2052
- },
2053
- "206160798890201757": {
2054
- "error_kind": "string",
2055
- "string": "Storage slot 0 not allowed. Storage slots must start from 1."
2056
- },
2057
- "2920182694213909827": {
2058
- "error_kind": "string",
2059
- "string": "attempt to subtract with overflow"
2060
- },
2061
- "5019202896831570965": {
2062
- "error_kind": "string",
2063
- "string": "attempt to add with overflow"
2064
- }
2065
- },
2066
- "parameters": [
2067
- {
2068
- "name": "new_update_delay",
2069
- "type": {
2070
- "kind": "integer",
2071
- "sign": "unsigned",
2072
- "width": 32
2073
- },
2074
- "visibility": "private"
2075
- }
2076
- ],
2077
- "return_type": null
2078
- },
2079
- "bytecode": "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",
2080
- "debug_symbols": "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",
2081
- "brillig_names": [
2082
- "set_update_delay"
2083
- ]
2084
- },
2085
- {
2086
- "name": "public_dispatch",
2136
+ "name": "update",
2087
2137
  "is_unconstrained": true,
2088
2138
  "custom_attributes": [
2089
2139
  "public"
@@ -2094,19 +2144,6 @@
2094
2144
  "error_kind": "string",
2095
2145
  "string": "msg.sender is not deployed"
2096
2146
  },
2097
- "11343565365413149907": {
2098
- "error_kind": "string",
2099
- "string": "Function get_update_delay can only be called statically"
2100
- },
2101
- "15573886522241766899": {
2102
- "error_kind": "string",
2103
- "string": "New update delay is too low"
2104
- },
2105
- "16541607464495309456": {
2106
- "error_kind": "fmtstring",
2107
- "item_types": [],
2108
- "length": 16
2109
- },
2110
2147
  "16761564377371454734": {
2111
2148
  "error_kind": "string",
2112
2149
  "string": "Array index out of bounds"
@@ -2138,65 +2175,28 @@
2138
2175
  },
2139
2176
  "parameters": [
2140
2177
  {
2141
- "name": "selector",
2178
+ "name": "new_contract_class_id",
2142
2179
  "type": {
2143
- "kind": "field"
2180
+ "fields": [
2181
+ {
2182
+ "name": "inner",
2183
+ "type": {
2184
+ "kind": "field"
2185
+ }
2186
+ }
2187
+ ],
2188
+ "kind": "struct",
2189
+ "path": "aztec::protocol_types::contract_class_id::ContractClassId"
2144
2190
  },
2145
2191
  "visibility": "private"
2146
2192
  }
2147
2193
  ],
2148
2194
  "return_type": null
2149
2195
  },
2150
- "bytecode": "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",
2151
- "debug_symbols": "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",
2196
+ "bytecode": "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",
2197
+ "debug_symbols": "7V3bjhwpEv2XfvYDEUAA8yujlWV7PKOWWrbly0ory/++VFUnmdWQiSuGrCaBl1H3mNMR50BCENx+Pvz18f2Pf94+fvr787eHP/78+fD0+cO774+fP/nffv568/D+6+PT0+M/b5f/+0Gc/gNOnwHfvrz7dPr92/d3X78//GFI0puHj5/+8j86Iv8n/n58+vjwB4D99Z83HuUYKBSKgwLBQvFssXihZqFYtiSLl2TZUjKF0kqLZ5RWZAOK4NebqLAiwOfCilCEwiZV2Mrwl60kvSx8dscm3fFOTO7oBYm0O0q6yR2lbMYdtHJyB5176Y5Oq6MFBHdQb7sDWpvnwkAgt91xkibfnQJ86Q5B1h1yS3fOIMcAmWQT1KQntTQZcz/iFnPuGCVecnCCA0p+59qqALIuR1zQVBhgQRy0TZW2U9MGNzdWKS6fZ7oTfi13ZLp3fz136lIH6lIH6lIHZV3u1KWOrKvtSHtvd/TkDgq8cicua7SdYghDODuPyaFFhr+sFsHJadiOivrYUE1e4GIU8oVPomg3RIlEITVEiUUZn08sisEhSiyKGaJEotjRUhKi0BAlEmVljte5KGNITogyhuRIFCVGR5sQZXS0sSgAQ5RYFD1EiUUZs+RYFBxDckKUMSTHosgxJCdEGbPkWBQ1huSEKGNIjkXRY5acEGUMyQlRxpAci0JyiBKLMobkWBQzhuSEKCOfEovi+hQF5SyK0i9E0fffQFOFKAamvW9opIxE6TOfsi0K9jkkZ0Tpc0jeFkX2OSRnROlzlpwRZXS0sShqDMkJUUZLiUXRY0hOiFJgSAZrJ1GWMXNalMVRGTKLIxqAyb9tXfjbDhZ/m87bgDXpQ7tv5KHdt3Bs97NTXKdx2330C6fT16UUXZmISysgPX234ESmtJE0HVsz0mbOJxkhp+NS/seX55N0fhtaO1R1L1RJdFOrJPqpVeinVvP5tGaoYj+1iv18q/nkTTtUu4mWSGE/VPupVd3Pt0pN1aq2gap+eQMGWdMQVQhe+x8jqq72Bqxnqosj2+kM1ny8WyLOM3mJdOFaewxRjqupfhpXkqtqiCu6KWcrJagrrqncsQm5Y2Hnj1uqVGkbsrZWqkxZP2OckmKSrsqeFIfag5n2FK999G1OcWxpZDyG4i2Nz4dQXMqh+J0Vr31qsaPiBEFxIyJlVMf9bUaZjsf+bWWqT7+8njKjzawoQ6PNrCnTcfyVUcYNZdLKmI5zLxll7FAmrYzteNaRUaam2cHJoaqWB84O1RTXeIfs/RPtGCajCslkSgPJyX0gWu4Y1hf39bHdd4d2H+Sx3T+2+vn7iep2/9jqy2O3/fsn8m50P5zEBrN4rmNy//7bkcq6T4d2X9ceNGTcr73jzLhfe8e57T4dW32yh3bfVN5x+oxMcH/xttPJ/URpgDDIweJdIDwNeFFpE04ImsUjVqeyJ2Fs5X3a6wlT+ffqZyETVSvvKYyr/FN6PWEqj26snoUh97KLdAKO7f6x1Yd91T+b0Lub2Plo09mE2t+E3d3EztPoswmzuwm1f6Pdecp4MlFkWmdMMLEIU9J9gRYhSaEFFT43EJYqDIrMA6cAAsLCBgillsXPytDdlbFTn6pB5/pU3wGHCy2W99ZNfWqRPQOv6H7l6qO0wX0TTbmcqVx9lOFvo40HZOPqdl/i1IeglLH6RaYvr+j+sdV3tasfglH/EZvY/drVD0v9qAS8dB+EMHX7r+QiINGx/0UO6rym/wfXH2vXP9w95v+2Svhfu/4hokUtTOy/1HX7r+fIRysb+6/Ewf0/uP66dv0pXAfoPUn4X7v+YXMVknCx/yTr9p8UBP81Jvy3x/bfHFx/U7v+Zto9imaRZAn+29r1p/ki0MXdpcF/V/nU3QRHfOIh5X/lmZOM/yCOrT+U0F+Ha21Q69xajLY0XzS6uA00mfa0BNPw62FXhU/eYwn1l95TdN+ot0H724A78ChxwYEvEkYDyLVU37ZC3yvEsu1dak+WuADAzN+OFTFribS/DXkHHtLtbyN/K3vehg2L9OhxmRZilZpaiFV6GZ3KZHsSU2cAfj3rqvTZ/xIbZIr5f/GoJkUvHtnaPCqxScWFxTF0CBmPSGC4j1q4nP8uHD/yycrFAqBL7TqRfoXyubR0Nh5upTPtkFUiLMsokcjN/cY78C2R7almS8QrxyGreyLrOiJbYoPSccj2VLMlNm0dh2xDQ490YaeNJxsnrJVqM1xUfiUkQbapoILmZuwSNatbChf9yuhEFgASZFuq2RxZ6qlmS+wFPAxZI3oiq3oi21K4mCNre6rZEinAw5BtKbvoIyiaySYmAi1lF5exMQBFZHVT2UW/wBPIGpUg21S4aGwgaxM1C03VbI5sTzWLLeWNs2RbyhtnyTYVLmbIStUT2Z5qVrWUN86SbWrokRjIujiVqlvKLl7Fxg4SZFuqWRShGaOM88a6qewiBq8V6kTNUlM1myFreqpZ01LeOEfWtpQ3zpJVPZFtKVzMkXU91axrKW+cIUtNZRdRmJksJcg2mjdGHZ9YpqayixjuXFRXjyMEsi2FixLCROD8+sNLsthSzWbJ9lSzsqW8cZZsS3njLNmWwsUc2RIHrI5Dtqea1S3ljbNkm8pBhWdqlZSJiUBL2cVlbCwlJsi2VLPaht0yJOKzeGRaCiqyZFvKLubI2p5q1vZUs66nmnUtTQSyZFsKFzNkjVA9kW0pb5wjCy1NBLJkDxsunt0/7m7Ei/uHHfjP7su6l4BPV4MG/xfPE6Y/FeNXtJ9LG0IbSmP6TePwOI1fmpnLpl69QQivZV3dPI/Pn6Cuuw0fRcW6P6WDqEjjiy6hohoqFlCx7unEQVSs/MTrUVSsewJ0EBVt3Yn4o6g4Ip0CKroR6ZRQcYwuJVQco8u/V9GKuvN2R1Gx7oTgQVSs/HbNo6g4Ip0CKuKIdEqoqIaKBVQcOZ0CKlZ+NepRVByRTgEVK7/M9SgqjkingIp6RDolVKx7z9pRVByRTgEVaUQ6JVQc+cUCKtrRFn9HRZyf+8bFUwfPKjqhhoq/oaKB+dFQKWMVx+hSQMXKd/oeRcUxjy6gYuU7mY+i4pi7lFBxjC4FVKz8itmjqDjaYgEVK78U9ygq1hTpnD2q6uzIxaOaMtlnj+5/psE358kjkCJT2lg9/W1jaf7b6cYsabrYQ0pjrj6UC1nVE1nXEVnTU82anmrW9lSz93+66hXJ3v/pqtcka7ohi0JAT2SpI7LQT7joyeqOyMraaxZUICtpm6zROHntf1TLwmeuO08MLzb0HWwkA0GSOGUASCq5bcOGJxetyzSh04YDPSUi/M/zUyVo9cWh9ASL6ZBb3Kox1Ry5nQ2YvRmYvRmkV+JLGrA7G3B7M3A7M4D07folDZidDaTP6JQ0QDsbwL0ZpJfTChqQezOQe9eBEnsb2LsO1M7dNWi1t4G9OzuSexso0NmFi4Hd4qK3ZJjjk/RTiOa0i4JHMFiVN1VpY6Eqb6gmb1xV2rjaM423TPdITd2HIU0vueL9z77vyVXCJtem6lXbwJVMxBWaqtcM147qFWvPqBbkKmtPlZfk2lG9qo7qVdWeJ7+JK5iZq90u7LMkIXrzP1/n4M/S6Kaawao0Z66Vv0pRyzY6KaayuHzS8LKNzqs4DjsXULHydzSOouLYXvzvVZRCDRULqDjaYgEVYbTFEiqOI+O/ddjZYVBR6EhFHMcuSqg4DpgWULHyB5iPouI4YFpCxRHpFFBxHOorouIYXQqoqMc1gCVUHG2xgIo08osFVCxx3ZXCcBeUUpTRRQFNe68VuGxeX9LkvvG+htLpvL6Yl3eEdsvCF66mIa5gp0PsBlzMtcSZtHq4GrXJtal6pbAtBq+3ECb6GBChA/M/q2h3lBItfd4QvPY/upir7YcrdFSvJe7MOgxX6oerbGqIynB1/XBVqh+uJe4iPwxX3Q9X6qheqaPvlTqKEfMnI6wz21x95kKG+QUsUh46mfIIaQkUs4hS2LsmPLaXvHV+RtSlKqOtJFTJv0zXoyr5+ViXqoy2klBFjraSUkV3qcr2UoRWYqiSUEUNVRKq9BmvZFTJL893qUqfI3NGFRq9bUqV0dumVHFDlVgVM9pKQhXbZ35lWxWy6ZE5bCjSaGIM3Y5ZOS64jbndjhHAwDDsrFzTuo1h2EEGn5UDC5sYiQxMOtalqSXrxXHtCbPyXvM2xtyOWTkW7uaj2xhj9O2YlWhlG8OwYxh2DMeOux1jGXYcg89Kf7CFsQIYGHM7BvB2TPpb2H4FBlfe6gaahyay0fdg05fg5VCELJThoEyypsCYqQsC43SMIg7KChZKsVCWg0pvk8yiOGo4ASwUyxYIFkqxUBzlHSILxVJDstSQLDXSWUxwMMWHp+cLY5TloFa+ShduVjs9ZjWHxEpeYCsfWBbmWLD07twMTIr0zcNXMG1j2ErDz8IsC4bEgqVXRVDYcBpBOErAiAVTPGvpC2OzsPQImIfxrBHPWnobCAoTJnHCJOotfWNqHmZYMMuzZnnWHM+aIw4MMFlv1qcGnmH+xxkG9hllOSgpWahkg/QBw9T7W7d49xxS2QYfok17f3x8ApGJ9NJOWRP7s9ByfxN2dxO0Pwvan4XZn4XZn0U6iVXWBO1tAtMBTFkTu9cFypU+yohgwmCESi9Euvm0khNGxyjDsUUrrcWG7t0tD2tOKFrxUAUPFznfCZWePGdRLFvpKD2LcisonFFxLTvFQnFsyXTaJ4cCZKFYtpBlCymLklF9rdzX4ovqgFIyRlH2+1ocBpxQasWWsvNXGXuoVmpZmY1vWWrF6AGkdhxUeuzOoFaORoIIaUG/DLVYIdLPKMNBpR+h8Wtb8zqXhhjlOKj0skQOlV6YyKLS8995zzuAjdVI9/OgRDgwr0RsK93PZ1GahXIcVDr6gvkNN9BaxCjLQVmWrXRklUURA6VXEjg5lOOgVhKXGRQKFkpzUJJlayUFqcPsGrTDCKWQhTIclNYcFAkWiqUGWQ7KsDRM3xwNck7j+gE/RhEHlV7ay6IUC2UZKFrpAXIojhoEwEKxbKFgoRQLxVJ+ZTSXIWYDr3OMshxU+tL8HEoLFoo4qJXIIYdyHNRKDLAdOZDhRERkgYXi2LLpft7IcAmNkhFmZd6rwoRI6wiTXjLOYBQDY2/HrCwWb8f+a4vF26i1xeIcimULWLaAZQtZtpBlSyILxbKlWLxW+s4cynFQWrJQnPmuS29o2ewt3FpGLqS7MMas5OO2vmLn8HY77mbffHcqGBjFwNzck/n+XTIwDDtIt2MkMDAMO4phJ/29Oj2162V+esKkI50MhmFnJQu2jbG3YwzDjmHYSS9/L+onhTG316lDBuZ2OyD07RgQDMzt3wKgZGBu7w9AKgbG3Y5RDDuKwUcjA8OoH7qxHfzyv/333dfHd++fPn7ziNM//vj04fvj50/Pv37/35fpX95/fXx6evzn7Zevnz98/OvH149vnz5/OP3bg3j+z5+nvbJGCe/LqdO0fvJp5fm30z9qYd9okKdfz/8q3BsL4H3wfvwf",
2152
2198
  "brillig_names": [
2153
- "public_dispatch"
2154
- ]
2155
- },
2156
- {
2157
- "name": "get_update_delay",
2158
- "is_unconstrained": true,
2159
- "custom_attributes": [
2160
- "public",
2161
- "view"
2162
- ],
2163
- "abi": {
2164
- "error_types": {
2165
- "11343565365413149907": {
2166
- "error_kind": "string",
2167
- "string": "Function get_update_delay can only be called statically"
2168
- },
2169
- "16761564377371454734": {
2170
- "error_kind": "string",
2171
- "string": "Array index out of bounds"
2172
- },
2173
- "17843811134343075018": {
2174
- "error_kind": "string",
2175
- "string": "Stack too deep"
2176
- },
2177
- "206160798890201757": {
2178
- "error_kind": "string",
2179
- "string": "Storage slot 0 not allowed. Storage slots must start from 1."
2180
- },
2181
- "5019202896831570965": {
2182
- "error_kind": "string",
2183
- "string": "attempt to add with overflow"
2184
- }
2185
- },
2186
- "parameters": [],
2187
- "return_type": {
2188
- "abi_type": {
2189
- "kind": "integer",
2190
- "sign": "unsigned",
2191
- "width": 32
2192
- },
2193
- "visibility": "public"
2194
- }
2195
- },
2196
- "bytecode": "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",
2197
- "debug_symbols": "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",
2198
- "brillig_names": [
2199
- "get_update_delay"
2199
+ "update"
2200
2200
  ]
2201
2201
  }
2202
2202
  ],
@@ -2540,59 +2540,6 @@
2540
2540
  }
2541
2541
  ],
2542
2542
  "functions": [
2543
- {
2544
- "fields": [
2545
- {
2546
- "name": "parameters",
2547
- "type": {
2548
- "fields": [
2549
- {
2550
- "name": "new_contract_class_id",
2551
- "type": {
2552
- "fields": [
2553
- {
2554
- "name": "inner",
2555
- "type": {
2556
- "kind": "field"
2557
- }
2558
- }
2559
- ],
2560
- "kind": "struct",
2561
- "path": "aztec::protocol_types::contract_class_id::ContractClassId"
2562
- }
2563
- }
2564
- ],
2565
- "kind": "struct",
2566
- "path": "ContractInstanceDeployer::update_parameters"
2567
- }
2568
- }
2569
- ],
2570
- "kind": "struct",
2571
- "path": "ContractInstanceDeployer::update_abi"
2572
- },
2573
- {
2574
- "fields": [
2575
- {
2576
- "name": "parameters",
2577
- "type": {
2578
- "fields": [
2579
- {
2580
- "name": "new_update_delay",
2581
- "type": {
2582
- "kind": "integer",
2583
- "sign": "unsigned",
2584
- "width": 32
2585
- }
2586
- }
2587
- ],
2588
- "kind": "struct",
2589
- "path": "ContractInstanceDeployer::set_update_delay_parameters"
2590
- }
2591
- }
2592
- ],
2593
- "kind": "struct",
2594
- "path": "ContractInstanceDeployer::set_update_delay_abi"
2595
- },
2596
2543
  {
2597
2544
  "fields": [
2598
2545
  {
@@ -2794,6 +2741,59 @@
2794
2741
  "kind": "struct",
2795
2742
  "path": "ContractInstanceDeployer::deploy_abi"
2796
2743
  },
2744
+ {
2745
+ "fields": [
2746
+ {
2747
+ "name": "parameters",
2748
+ "type": {
2749
+ "fields": [
2750
+ {
2751
+ "name": "new_contract_class_id",
2752
+ "type": {
2753
+ "fields": [
2754
+ {
2755
+ "name": "inner",
2756
+ "type": {
2757
+ "kind": "field"
2758
+ }
2759
+ }
2760
+ ],
2761
+ "kind": "struct",
2762
+ "path": "aztec::protocol_types::contract_class_id::ContractClassId"
2763
+ }
2764
+ }
2765
+ ],
2766
+ "kind": "struct",
2767
+ "path": "ContractInstanceDeployer::update_parameters"
2768
+ }
2769
+ }
2770
+ ],
2771
+ "kind": "struct",
2772
+ "path": "ContractInstanceDeployer::update_abi"
2773
+ },
2774
+ {
2775
+ "fields": [
2776
+ {
2777
+ "name": "parameters",
2778
+ "type": {
2779
+ "fields": [
2780
+ {
2781
+ "name": "new_update_delay",
2782
+ "type": {
2783
+ "kind": "integer",
2784
+ "sign": "unsigned",
2785
+ "width": 32
2786
+ }
2787
+ }
2788
+ ],
2789
+ "kind": "struct",
2790
+ "path": "ContractInstanceDeployer::set_update_delay_parameters"
2791
+ }
2792
+ }
2793
+ ],
2794
+ "kind": "struct",
2795
+ "path": "ContractInstanceDeployer::set_update_delay_abi"
2796
+ },
2797
2797
  {
2798
2798
  "fields": [
2799
2799
  {
@@ -2962,7 +2962,7 @@
2962
2962
  },
2963
2963
  "63": {
2964
2964
  "path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/context/call_interfaces.nr",
2965
- "source": "use dep::protocol_types::{\n abis::function_selector::FunctionSelector, address::AztecAddress, traits::Deserialize,\n};\n\nuse crate::context::{gas::GasOpts, private_context::PrivateContext, public_context::PublicContext};\n\nuse crate::hash::hash_args;\nuse crate::oracle::execution_cache;\n\npub trait CallInterface<let N: u32> {\n fn get_args(self) -> [Field];\n fn get_selector(self) -> FunctionSelector;\n fn get_name(self) -> str<N>;\n fn get_contract_address(self) -> AztecAddress;\n fn get_is_static(self) -> bool;\n}\n\npub struct PrivateCallInterface<let N: u32, T> {\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args_hash: Field,\n args: [Field],\n return_type: T,\n is_static: bool,\n}\n\nimpl<let N: u32, T> PrivateCallInterface<N, T> {\n pub fn new(\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n is_static: bool,\n ) -> Self {\n let args_hash = hash_args(args);\n Self {\n target_contract,\n selector,\n name,\n args_hash,\n args,\n return_type: std::mem::zeroed(),\n is_static,\n }\n }\n\n pub fn call<let M: u32>(self, context: &mut PrivateContext) -> T\n where\n T: Deserialize<M>,\n {\n execution_cache::store(self.args);\n let returns_hash = context.call_private_function_with_args_hash(\n self.target_contract,\n self.selector,\n self.args_hash,\n false,\n );\n let returns: T = returns_hash.get_preimage();\n returns\n }\n\n pub fn view<let M: u32>(self, context: &mut PrivateContext) -> T\n where\n T: Deserialize<M>,\n {\n execution_cache::store(self.args);\n let returns_hash = context.call_private_function_with_args_hash(\n self.target_contract,\n self.selector,\n self.args_hash,\n true,\n );\n returns_hash.get_preimage()\n }\n}\n\nimpl<let N: u32> CallInterface<N> for PrivateVoidCallInterface<N> {\n fn get_args(self) -> [Field] {\n self.args\n }\n\n fn get_selector(self) -> FunctionSelector {\n self.selector\n }\n\n fn get_name(self) -> str<N> {\n self.name\n }\n\n fn get_contract_address(self) -> AztecAddress {\n self.target_contract\n }\n\n fn get_is_static(self) -> bool {\n self.is_static\n }\n}\n\npub struct PrivateVoidCallInterface<let N: u32> {\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args_hash: Field,\n args: [Field],\n return_type: (), // Unit type () indicates this interface is for functions that return nothing (void)\n is_static: bool,\n}\n\nimpl<let N: u32> PrivateVoidCallInterface<N> {\n pub fn new(\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n is_static: bool,\n ) -> Self {\n let args_hash = hash_args(args);\n Self { target_contract, selector, name, args_hash, args, return_type: (), is_static }\n }\n\n pub fn call(self, context: &mut PrivateContext) {\n execution_cache::store(self.args);\n context\n .call_private_function_with_args_hash(\n self.target_contract,\n self.selector,\n self.args_hash,\n false,\n )\n .assert_empty();\n }\n\n pub fn view(self, context: &mut PrivateContext) {\n execution_cache::store(self.args);\n context\n .call_private_function_with_args_hash(\n self.target_contract,\n self.selector,\n self.args_hash,\n true,\n )\n .assert_empty();\n }\n}\n\nimpl<let N: u32, T> CallInterface<N> for PrivateStaticCallInterface<N, T> {\n fn get_args(self) -> [Field] {\n self.args\n }\n\n fn get_selector(self) -> FunctionSelector {\n self.selector\n }\n\n fn get_name(self) -> str<N> {\n self.name\n }\n\n fn get_contract_address(self) -> AztecAddress {\n self.target_contract\n }\n\n fn get_is_static(self) -> bool {\n self.is_static\n }\n}\n\npub struct PrivateStaticCallInterface<let N: u32, T> {\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args_hash: Field,\n args: [Field],\n return_type: T,\n is_static: bool,\n}\n\nimpl<let N: u32, T> PrivateStaticCallInterface<N, T> {\n pub fn new(\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n ) -> Self {\n let args_hash = hash_args(args);\n Self {\n target_contract,\n selector,\n name,\n args_hash,\n args,\n return_type: std::mem::zeroed(),\n is_static: true,\n }\n }\n\n pub fn view<let M: u32>(self, context: &mut PrivateContext) -> T\n where\n T: Deserialize<M>,\n {\n execution_cache::store(self.args);\n let returns = context.call_private_function_with_args_hash(\n self.target_contract,\n self.selector,\n self.args_hash,\n true,\n );\n returns.get_preimage()\n }\n}\n\nimpl<let N: u32> CallInterface<N> for PrivateStaticVoidCallInterface<N> {\n fn get_args(self) -> [Field] {\n self.args\n }\n\n fn get_selector(self) -> FunctionSelector {\n self.selector\n }\n\n fn get_name(self) -> str<N> {\n self.name\n }\n\n fn get_contract_address(self) -> AztecAddress {\n self.target_contract\n }\n\n fn get_is_static(self) -> bool {\n self.is_static\n }\n}\n\npub struct PrivateStaticVoidCallInterface<let N: u32> {\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args_hash: Field,\n args: [Field],\n return_type: (), // Unit type () indicates this interface is for functions that return nothing (void)\n is_static: bool,\n}\n\nimpl<let N: u32> PrivateStaticVoidCallInterface<N> {\n pub fn new(\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n ) -> Self {\n let args_hash = hash_args(args);\n Self { target_contract, selector, name, args_hash, args, return_type: (), is_static: true }\n }\n\n pub fn view(self, context: &mut PrivateContext) {\n execution_cache::store(self.args);\n context\n .call_private_function_with_args_hash(\n self.target_contract,\n self.selector,\n self.args_hash,\n true,\n )\n .assert_empty();\n }\n}\n\nimpl<let N: u32, T> CallInterface<N> for PublicCallInterface<N, T> {\n fn get_args(self) -> [Field] {\n self.args\n }\n\n fn get_selector(self) -> FunctionSelector {\n self.selector\n }\n\n fn get_name(self) -> str<N> {\n self.name\n }\n\n fn get_contract_address(self) -> AztecAddress {\n self.target_contract\n }\n\n fn get_is_static(self) -> bool {\n self.is_static\n }\n}\n\npub struct PublicCallInterface<let N: u32, T> {\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n gas_opts: GasOpts,\n return_type: T,\n is_static: bool,\n}\n\nimpl<let N: u32, T> PublicCallInterface<N, T> {\n pub fn new(\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n is_static: bool,\n ) -> Self {\n Self {\n target_contract,\n selector,\n name,\n args,\n gas_opts: GasOpts::default(),\n return_type: std::mem::zeroed(),\n is_static,\n }\n }\n\n pub fn with_gas(self: &mut Self, gas_opts: GasOpts) -> &mut Self {\n self.gas_opts = gas_opts;\n self\n }\n\n pub unconstrained fn call<let M: u32>(self, context: &mut PublicContext) -> T\n where\n T: Deserialize<M>,\n {\n let returns = context.call_public_function(\n self.target_contract,\n self.selector,\n self.args,\n self.gas_opts,\n );\n Deserialize::deserialize(returns.as_array::<M>())\n }\n\n pub unconstrained fn view<let M: u32>(self, context: &mut PublicContext) -> T\n where\n T: Deserialize<M>,\n {\n let returns = context.static_call_public_function(\n self.target_contract,\n self.selector,\n self.args,\n self.gas_opts,\n );\n Deserialize::deserialize(returns.as_array::<M>())\n }\n\n pub fn enqueue(self, context: &mut PrivateContext) {\n let args_hash = hash_args(self.args);\n execution_cache::store(self.args);\n context.call_public_function_with_args_hash(\n self.target_contract,\n self.selector,\n args_hash,\n /*static=*/\n false,\n )\n }\n\n pub fn enqueue_view(self, context: &mut PrivateContext) {\n let args_hash = hash_args(self.args);\n execution_cache::store(self.args);\n context.call_public_function_with_args_hash(\n self.target_contract,\n self.selector,\n args_hash,\n /*static=*/\n true,\n )\n }\n}\n\nimpl<let N: u32> CallInterface<N> for PublicVoidCallInterface<N> {\n fn get_args(self) -> [Field] {\n self.args\n }\n\n fn get_selector(self) -> FunctionSelector {\n self.selector\n }\n\n fn get_name(self) -> str<N> {\n self.name\n }\n\n fn get_contract_address(self) -> AztecAddress {\n self.target_contract\n }\n\n fn get_is_static(self) -> bool {\n self.is_static\n }\n}\n\npub struct PublicVoidCallInterface<let N: u32> {\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n return_type: (), // Unit type () indicates this interface is for functions that return nothing (void)\n is_static: bool,\n gas_opts: GasOpts,\n}\n\nimpl<let N: u32> PublicVoidCallInterface<N> {\n pub fn new(\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n is_static: bool,\n ) -> Self {\n Self {\n target_contract,\n selector,\n name,\n args,\n return_type: (),\n is_static,\n gas_opts: GasOpts::default(),\n }\n }\n\n pub fn with_gas(self: &mut Self, gas_opts: GasOpts) -> &mut Self {\n self.gas_opts = gas_opts;\n self\n }\n\n pub unconstrained fn call(self, context: &mut PublicContext) {\n let returns = context.call_public_function(\n self.target_contract,\n self.selector,\n self.args,\n self.gas_opts,\n );\n assert(returns.len() == 0);\n }\n\n pub unconstrained fn view(self, context: &mut PublicContext) {\n let returns = context.static_call_public_function(\n self.target_contract,\n self.selector,\n self.args,\n self.gas_opts,\n );\n assert(returns.len() == 0);\n }\n\n pub fn enqueue(self, context: &mut PrivateContext) {\n let args_hash = hash_args(self.args);\n execution_cache::store(self.args);\n context.call_public_function_with_args_hash(\n self.target_contract,\n self.selector,\n args_hash,\n /*static=*/\n false,\n )\n }\n\n pub fn enqueue_view(self, context: &mut PrivateContext) {\n let args_hash = hash_args(self.args);\n execution_cache::store(self.args);\n context.call_public_function_with_args_hash(\n self.target_contract,\n self.selector,\n args_hash,\n /*static=*/\n true,\n )\n }\n}\n\nimpl<let N: u32, T> CallInterface<N> for PublicStaticCallInterface<N, T> {\n fn get_args(self) -> [Field] {\n self.args\n }\n\n fn get_selector(self) -> FunctionSelector {\n self.selector\n }\n\n fn get_name(self) -> str<N> {\n self.name\n }\n\n fn get_contract_address(self) -> AztecAddress {\n self.target_contract\n }\n\n fn get_is_static(self) -> bool {\n self.is_static\n }\n}\n\npub struct PublicStaticCallInterface<let N: u32, T> {\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n return_type: T,\n is_static: bool,\n gas_opts: GasOpts,\n}\n\nimpl<let N: u32, T> PublicStaticCallInterface<N, T> {\n pub fn new(\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n ) -> Self {\n Self {\n target_contract,\n selector,\n name,\n args,\n return_type: std::mem::zeroed(),\n is_static: true,\n gas_opts: GasOpts::default(),\n }\n }\n\n pub fn with_gas(self: &mut Self, gas_opts: GasOpts) -> &mut Self {\n self.gas_opts = gas_opts;\n self\n }\n\n pub unconstrained fn view<let M: u32>(self, context: &mut PublicContext) -> T\n where\n T: Deserialize<M>,\n {\n let returns = context.static_call_public_function(\n self.target_contract,\n self.selector,\n self.args,\n self.gas_opts,\n );\n Deserialize::deserialize(returns.as_array::<M>())\n }\n\n pub fn enqueue_view(self, context: &mut PrivateContext) {\n let args_hash = hash_args(self.args);\n execution_cache::store(self.args);\n context.call_public_function_with_args_hash(\n self.target_contract,\n self.selector,\n args_hash,\n /*static=*/\n true,\n )\n }\n}\n\nimpl<let N: u32> CallInterface<N> for PublicStaticVoidCallInterface<N> {\n fn get_args(self) -> [Field] {\n self.args\n }\n\n fn get_selector(self) -> FunctionSelector {\n self.selector\n }\n\n fn get_name(self) -> str<N> {\n self.name\n }\n\n fn get_contract_address(self) -> AztecAddress {\n self.target_contract\n }\n\n fn get_is_static(self) -> bool {\n self.is_static\n }\n}\n\npub struct PublicStaticVoidCallInterface<let N: u32> {\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n return_type: (), // Unit type () indicates this interface is for functions that return nothing (void)\n is_static: bool,\n gas_opts: GasOpts,\n}\n\nimpl<let N: u32> PublicStaticVoidCallInterface<N> {\n pub fn new(\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n ) -> Self {\n Self {\n target_contract,\n selector,\n name,\n args,\n return_type: (),\n is_static: true,\n gas_opts: GasOpts::default(),\n }\n }\n\n pub fn with_gas(self: &mut Self, gas_opts: GasOpts) -> &mut Self {\n self.gas_opts = gas_opts;\n self\n }\n\n pub unconstrained fn view(self, context: &mut PublicContext) {\n let returns = context.static_call_public_function(\n self.target_contract,\n self.selector,\n self.args,\n self.gas_opts,\n );\n assert(returns.len() == 0);\n }\n\n pub fn enqueue_view(self, context: &mut PrivateContext) {\n let args_hash = hash_args(self.args);\n execution_cache::store(self.args);\n context.call_public_function_with_args_hash(\n self.target_contract,\n self.selector,\n args_hash,\n /*static=*/\n true,\n )\n }\n}\n"
2965
+ "source": "use dep::protocol_types::{\n abis::function_selector::FunctionSelector, address::AztecAddress, traits::Deserialize,\n};\n\nuse crate::context::{gas::GasOpts, private_context::PrivateContext, public_context::PublicContext};\n\nuse crate::hash::hash_args;\nuse crate::oracle::execution_cache;\n\npub trait CallInterface<let N: u32> {\n fn get_args(self) -> [Field];\n fn get_selector(self) -> FunctionSelector;\n fn get_name(self) -> str<N>;\n fn get_contract_address(self) -> AztecAddress;\n fn get_is_static(self) -> bool;\n}\n\n// PrivateCallInterface\n\npub struct PrivateCallInterface<let N: u32, T> {\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args_hash: Field,\n args: [Field],\n return_type: T,\n is_static: bool,\n}\n\nimpl<let N: u32, T> PrivateCallInterface<N, T> {\n pub fn new(\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n is_static: bool,\n ) -> Self {\n let args_hash = hash_args(args);\n Self {\n target_contract,\n selector,\n name,\n args_hash,\n args,\n return_type: std::mem::zeroed(),\n is_static,\n }\n }\n\n pub fn call<let M: u32>(self, context: &mut PrivateContext) -> T\n where\n T: Deserialize<M>,\n {\n execution_cache::store(self.args);\n let returns_hash = context.call_private_function_with_args_hash(\n self.target_contract,\n self.selector,\n self.args_hash,\n false,\n );\n let returns: T = returns_hash.get_preimage();\n returns\n }\n\n pub fn view<let M: u32>(self, context: &mut PrivateContext) -> T\n where\n T: Deserialize<M>,\n {\n execution_cache::store(self.args);\n let returns_hash = context.call_private_function_with_args_hash(\n self.target_contract,\n self.selector,\n self.args_hash,\n true,\n );\n returns_hash.get_preimage()\n }\n}\n\nimpl<let N: u32, T> CallInterface<N> for PrivateCallInterface<N, T> {\n fn get_args(self) -> [Field] {\n self.args\n }\n\n fn get_selector(self) -> FunctionSelector {\n self.selector\n }\n\n fn get_name(self) -> str<N> {\n self.name\n }\n\n fn get_contract_address(self) -> AztecAddress {\n self.target_contract\n }\n\n fn get_is_static(self) -> bool {\n self.is_static\n }\n}\n\n// PrivateVoidCallInterface\n\npub struct PrivateVoidCallInterface<let N: u32> {\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args_hash: Field,\n args: [Field],\n return_type: (), // Unit type () indicates this interface is for functions that return nothing (void)\n is_static: bool,\n}\n\nimpl<let N: u32> PrivateVoidCallInterface<N> {\n pub fn new(\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n is_static: bool,\n ) -> Self {\n let args_hash = hash_args(args);\n Self { target_contract, selector, name, args_hash, args, return_type: (), is_static }\n }\n\n pub fn call(self, context: &mut PrivateContext) {\n execution_cache::store(self.args);\n context\n .call_private_function_with_args_hash(\n self.target_contract,\n self.selector,\n self.args_hash,\n false,\n )\n .assert_empty();\n }\n\n pub fn view(self, context: &mut PrivateContext) {\n execution_cache::store(self.args);\n context\n .call_private_function_with_args_hash(\n self.target_contract,\n self.selector,\n self.args_hash,\n true,\n )\n .assert_empty();\n }\n}\n\nimpl<let N: u32> CallInterface<N> for PrivateVoidCallInterface<N> {\n fn get_args(self) -> [Field] {\n self.args\n }\n\n fn get_selector(self) -> FunctionSelector {\n self.selector\n }\n\n fn get_name(self) -> str<N> {\n self.name\n }\n\n fn get_contract_address(self) -> AztecAddress {\n self.target_contract\n }\n\n fn get_is_static(self) -> bool {\n self.is_static\n }\n}\n\n// PrivateStaticCallInterface\n\npub struct PrivateStaticCallInterface<let N: u32, T> {\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args_hash: Field,\n args: [Field],\n return_type: T,\n is_static: bool,\n}\n\nimpl<let N: u32, T> PrivateStaticCallInterface<N, T> {\n pub fn new(\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n ) -> Self {\n let args_hash = hash_args(args);\n Self {\n target_contract,\n selector,\n name,\n args_hash,\n args,\n return_type: std::mem::zeroed(),\n is_static: true,\n }\n }\n\n pub fn view<let M: u32>(self, context: &mut PrivateContext) -> T\n where\n T: Deserialize<M>,\n {\n execution_cache::store(self.args);\n let returns = context.call_private_function_with_args_hash(\n self.target_contract,\n self.selector,\n self.args_hash,\n true,\n );\n returns.get_preimage()\n }\n}\n\nimpl<let N: u32, T> CallInterface<N> for PrivateStaticCallInterface<N, T> {\n fn get_args(self) -> [Field] {\n self.args\n }\n\n fn get_selector(self) -> FunctionSelector {\n self.selector\n }\n\n fn get_name(self) -> str<N> {\n self.name\n }\n\n fn get_contract_address(self) -> AztecAddress {\n self.target_contract\n }\n\n fn get_is_static(self) -> bool {\n self.is_static\n }\n}\n\n// PrivateStaticVoidCallInterface\n\npub struct PrivateStaticVoidCallInterface<let N: u32> {\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args_hash: Field,\n args: [Field],\n return_type: (), // Unit type () indicates this interface is for functions that return nothing (void)\n is_static: bool,\n}\n\nimpl<let N: u32> PrivateStaticVoidCallInterface<N> {\n pub fn new(\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n ) -> Self {\n let args_hash = hash_args(args);\n Self { target_contract, selector, name, args_hash, args, return_type: (), is_static: true }\n }\n\n pub fn view(self, context: &mut PrivateContext) {\n execution_cache::store(self.args);\n context\n .call_private_function_with_args_hash(\n self.target_contract,\n self.selector,\n self.args_hash,\n true,\n )\n .assert_empty();\n }\n}\n\nimpl<let N: u32> CallInterface<N> for PrivateStaticVoidCallInterface<N> {\n fn get_args(self) -> [Field] {\n self.args\n }\n\n fn get_selector(self) -> FunctionSelector {\n self.selector\n }\n\n fn get_name(self) -> str<N> {\n self.name\n }\n\n fn get_contract_address(self) -> AztecAddress {\n self.target_contract\n }\n\n fn get_is_static(self) -> bool {\n self.is_static\n }\n}\n\n// PublicCallInterface\n\npub struct PublicCallInterface<let N: u32, T> {\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n gas_opts: GasOpts,\n return_type: T,\n is_static: bool,\n}\n\nimpl<let N: u32, T> PublicCallInterface<N, T> {\n pub fn new(\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n is_static: bool,\n ) -> Self {\n Self {\n target_contract,\n selector,\n name,\n args,\n gas_opts: GasOpts::default(),\n return_type: std::mem::zeroed(),\n is_static,\n }\n }\n\n pub fn with_gas(self: &mut Self, gas_opts: GasOpts) -> &mut Self {\n self.gas_opts = gas_opts;\n self\n }\n\n pub unconstrained fn call<let M: u32>(self, context: &mut PublicContext) -> T\n where\n T: Deserialize<M>,\n {\n let returns = context.call_public_function(\n self.target_contract,\n self.selector,\n self.args,\n self.gas_opts,\n );\n Deserialize::deserialize(returns.as_array::<M>())\n }\n\n pub unconstrained fn view<let M: u32>(self, context: &mut PublicContext) -> T\n where\n T: Deserialize<M>,\n {\n let returns = context.static_call_public_function(\n self.target_contract,\n self.selector,\n self.args,\n self.gas_opts,\n );\n Deserialize::deserialize(returns.as_array::<M>())\n }\n\n pub fn enqueue(self, context: &mut PrivateContext) {\n let args_hash = hash_args(self.args);\n execution_cache::store(self.args);\n context.call_public_function_with_args_hash(\n self.target_contract,\n self.selector,\n args_hash,\n /*static=*/\n false,\n )\n }\n\n pub fn enqueue_view(self, context: &mut PrivateContext) {\n let args_hash = hash_args(self.args);\n execution_cache::store(self.args);\n context.call_public_function_with_args_hash(\n self.target_contract,\n self.selector,\n args_hash,\n /*static=*/\n true,\n )\n }\n}\n\nimpl<let N: u32, T> CallInterface<N> for PublicCallInterface<N, T> {\n fn get_args(self) -> [Field] {\n self.args\n }\n\n fn get_selector(self) -> FunctionSelector {\n self.selector\n }\n\n fn get_name(self) -> str<N> {\n self.name\n }\n\n fn get_contract_address(self) -> AztecAddress {\n self.target_contract\n }\n\n fn get_is_static(self) -> bool {\n self.is_static\n }\n}\n\n// PublicVoidCallInterface\n\npub struct PublicVoidCallInterface<let N: u32> {\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n return_type: (), // Unit type () indicates this interface is for functions that return nothing (void)\n is_static: bool,\n gas_opts: GasOpts,\n}\n\nimpl<let N: u32> PublicVoidCallInterface<N> {\n pub fn new(\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n is_static: bool,\n ) -> Self {\n Self {\n target_contract,\n selector,\n name,\n args,\n return_type: (),\n is_static,\n gas_opts: GasOpts::default(),\n }\n }\n\n pub fn with_gas(self: &mut Self, gas_opts: GasOpts) -> &mut Self {\n self.gas_opts = gas_opts;\n self\n }\n\n pub unconstrained fn call(self, context: &mut PublicContext) {\n let returns = context.call_public_function(\n self.target_contract,\n self.selector,\n self.args,\n self.gas_opts,\n );\n assert(returns.len() == 0);\n }\n\n pub unconstrained fn view(self, context: &mut PublicContext) {\n let returns = context.static_call_public_function(\n self.target_contract,\n self.selector,\n self.args,\n self.gas_opts,\n );\n assert(returns.len() == 0);\n }\n\n pub fn enqueue(self, context: &mut PrivateContext) {\n let args_hash = hash_args(self.args);\n execution_cache::store(self.args);\n context.call_public_function_with_args_hash(\n self.target_contract,\n self.selector,\n args_hash,\n /*static=*/\n false,\n )\n }\n\n pub fn enqueue_view(self, context: &mut PrivateContext) {\n let args_hash = hash_args(self.args);\n execution_cache::store(self.args);\n context.call_public_function_with_args_hash(\n self.target_contract,\n self.selector,\n args_hash,\n /*static=*/\n true,\n )\n }\n}\n\nimpl<let N: u32> CallInterface<N> for PublicVoidCallInterface<N> {\n fn get_args(self) -> [Field] {\n self.args\n }\n\n fn get_selector(self) -> FunctionSelector {\n self.selector\n }\n\n fn get_name(self) -> str<N> {\n self.name\n }\n\n fn get_contract_address(self) -> AztecAddress {\n self.target_contract\n }\n\n fn get_is_static(self) -> bool {\n self.is_static\n }\n}\n\n// PublicStaticCallInterface\n\npub struct PublicStaticCallInterface<let N: u32, T> {\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n return_type: T,\n is_static: bool,\n gas_opts: GasOpts,\n}\n\nimpl<let N: u32, T> PublicStaticCallInterface<N, T> {\n pub fn new(\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n ) -> Self {\n Self {\n target_contract,\n selector,\n name,\n args,\n return_type: std::mem::zeroed(),\n is_static: true,\n gas_opts: GasOpts::default(),\n }\n }\n\n pub fn with_gas(self: &mut Self, gas_opts: GasOpts) -> &mut Self {\n self.gas_opts = gas_opts;\n self\n }\n\n pub unconstrained fn view<let M: u32>(self, context: &mut PublicContext) -> T\n where\n T: Deserialize<M>,\n {\n let returns = context.static_call_public_function(\n self.target_contract,\n self.selector,\n self.args,\n self.gas_opts,\n );\n Deserialize::deserialize(returns.as_array::<M>())\n }\n\n pub fn enqueue_view(self, context: &mut PrivateContext) {\n let args_hash = hash_args(self.args);\n execution_cache::store(self.args);\n context.call_public_function_with_args_hash(\n self.target_contract,\n self.selector,\n args_hash,\n /*static=*/\n true,\n )\n }\n}\n\nimpl<let N: u32, T> CallInterface<N> for PublicStaticCallInterface<N, T> {\n fn get_args(self) -> [Field] {\n self.args\n }\n\n fn get_selector(self) -> FunctionSelector {\n self.selector\n }\n\n fn get_name(self) -> str<N> {\n self.name\n }\n\n fn get_contract_address(self) -> AztecAddress {\n self.target_contract\n }\n\n fn get_is_static(self) -> bool {\n self.is_static\n }\n}\n\n// PublicStaticVoidCallInterface\n\npub struct PublicStaticVoidCallInterface<let N: u32> {\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n return_type: (), // Unit type () indicates this interface is for functions that return nothing (void)\n is_static: bool,\n gas_opts: GasOpts,\n}\n\nimpl<let N: u32> PublicStaticVoidCallInterface<N> {\n pub fn new(\n target_contract: AztecAddress,\n selector: FunctionSelector,\n name: str<N>,\n args: [Field],\n ) -> Self {\n Self {\n target_contract,\n selector,\n name,\n args,\n return_type: (),\n is_static: true,\n gas_opts: GasOpts::default(),\n }\n }\n\n pub fn with_gas(self: &mut Self, gas_opts: GasOpts) -> &mut Self {\n self.gas_opts = gas_opts;\n self\n }\n\n pub unconstrained fn view(self, context: &mut PublicContext) {\n let returns = context.static_call_public_function(\n self.target_contract,\n self.selector,\n self.args,\n self.gas_opts,\n );\n assert(returns.len() == 0);\n }\n\n pub fn enqueue_view(self, context: &mut PrivateContext) {\n let args_hash = hash_args(self.args);\n execution_cache::store(self.args);\n context.call_public_function_with_args_hash(\n self.target_contract,\n self.selector,\n args_hash,\n /*static=*/\n true,\n )\n }\n}\n\nimpl<let N: u32> CallInterface<N> for PublicStaticVoidCallInterface<N> {\n fn get_args(self) -> [Field] {\n self.args\n }\n\n fn get_selector(self) -> FunctionSelector {\n self.selector\n }\n\n fn get_name(self) -> str<N> {\n self.name\n }\n\n fn get_contract_address(self) -> AztecAddress {\n self.target_contract\n }\n\n fn get_is_static(self) -> bool {\n self.is_static\n }\n}\n"
2966
2966
  },
2967
2967
  "70": {
2968
2968
  "path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/context/private_context.nr",