@aztec/protocol-contracts 5.0.0-nightly.20260307 → 5.0.0-nightly.20260309

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.
@@ -76,7 +76,7 @@
76
76
  }
77
77
  },
78
78
  "bytecode": "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",
79
- "debug_symbols": "tZnbbts4EIbfxde5IDnDU16lKAo3dQsDhhO4yQKLIO++85OckRNAQsJkb+zPI+vXnHiQ9Lz7dfj59OfH8fz7/u/u9tvz7ufleDod//w43d/tH4/3Z7E+7xw+PPndLd3Id9rdZvlm+e09QAweR6JXiONQcgqwRIHsFNRSSKEMqEEgAXKH4OIAL6cHD4gDAiuUAUQKamG1sFpiUEgDkldQ5azXyrgEA+oA+NwhD6heIXUg5xWiAk6XKMizglpCHkDiGHlAGoA8d1BLVEtUC/LcgRXqgEwKZUDBJeAPnG8A5ztEhdqBHSuoxZMCThefOQQFtVAcwOIYO4BYWHoj4nRmgPjDUu5IdQDLtTgByoCIP2dAHpCCglqyWrJaileIA6pTYIXaITlSKAN8UJD0chGIbkDCf6oAstpBLWiJ6AClQ0bdoyQ8o2k7qCWQAv4cBFD3SIA8AHWPDEgDIivUAUktSS1wLEZAGTpFlYsqV7WgVwEFvdohKkBQSlBQ0yjZKM3DBjhLslGahw3U0jxsgNMlLaV5CECZOuQBRS1FLejD5ACpX6s6pxAHeLVgEHWoA1pWAXA1eYAoJ0lvxYzUQf6cJFE1kUIZkNWS1VLUUtSC/kmY4hz6JsVGuAimK4fO6RQQSW6EKxcQOSOo1EZVic3GZkPXd0LbZ9coK2EG7VSckdmq2eBz9o3q8MA37zsVJW82jOxOGNqDMO0HEBaCQbgasuExzgeZDYN3kFwjMwhZ75S9UVIqZitma3HERlGvizgaBUxPg8yGOAYVJcSRU6Os1OLIjZISmw1V6ISmzqVRVWpVaIS+HmS2YrYWByrYFoh+3RYHiNDdgxZbVUKDD5I4CipIiGNQViKzkdnYbGw21KO4RrC5l5ebna7zPx4vhwOW+auFX7YDD/vL4fy4uz0/nU43u3/2p6f2p78P+3P7ftxf5KhoHs6/5FsEfx9PB9DLzXK2Wz81SOTj7EAhmoD0zCsJvy7hZSaoQ0M4kYnk126EDTdQre5F5cWJ7N8dRypJFXIpq3HwugQxaypkqV9SkfmVQvyCTKT/MRMkU56GIWN7NRNlXYJ90GSy7CXXMlE3opBp1/rKSXHWMuG3IrFkyrZqNRXbXhQyL4jiqhcbrUmFl1wsI2wumVdxvEmm3+jMnDSKnJMJ8FxL0Pog35CIIWk9Y6hLV8U3icwbEp41k9Ff93YtrzU2khmKznVUl56iXF8rbPSEDFE/JKrcDC0abyIJG8mQPasWJDleKkIf8MK6qobg173YaMxSg1ZV9mt1XYO2hpgGQleTptyLvb+qrhZrDBdXqxri5kC3skaXVzXe2Z/S7mv9Gb6gP8On+zN8QX/Sp/szfEF/0hf0J326P8MX9Cdt9CcTNqJ9CqerzgjeT/UnrfYnbUSSJaG6DEh9Vr2gjf6UXautiMJ1dYdCdWugLEvB4ga7D7nBaXFjfXvAfkvE+2IiPvOqyNbqnrI2OsnjgZkNl5fbZtv0ubTapdsSziSCm5KonE2Cy5xECiaRaUZCRliwDdfVHvojEuw0F3I3OOcF0yIR/ZyEDbYQr3bRH5GINpMLhjkJiosETXqRTeJqFp71YlbCGlzOmmrwkGxRC4nnipqiVSTlSS/sJlEk/KcDmZOgYquJPEROkxI28clTvimJGmwtqWk9kLSxwHOuGgnLE85l/i3v96LYbWKtk4Esi2Ktc0V1tggIzg12eXi4SMwNdnmuqBLyFHEykLxIfDqQWQm/zOCeypwE25MUeQ82KREWCf/pQGYlcjWJMrcU+aWoUuBJCWvwMDmDXwUyKxHIHvOFqx3fW4ni5qac7/Jrf3e8vHr/+gKty3H/83QYP38/ne+ujj7++6BH9P3tw+X+7vDr6XKA0vISVz6+BXmaLs/2vuOFgPyU55bV44fHMXnbELL//gJX/gM="
79
+ "debug_symbols": "tZnbbts4EIbfxde5IDnDU16lKAo3dQsDhhO4yQKLIO++85OckRNAQsJkb+zPI+vXnHiQ9Lz7dfj59OfH8fz7/u/u9tvz7ufleDod//w43d/tH4/3Z7E+7xw+PPndLd3Id9rdZvlm+e09QAweR6JXiONQcgqwRIHsFNRSSKEMqEEgAXKH4OIAL6cHD4gDAiuUAUQKamG1sFpiUEgDkldQ5azXyrgEA+oA+NwhD6heIXUg5xWiAk6XKMizglpCHkDiGHlAGoA8d1BLVEtUC/LcgRXqgEwKZUDBJeAPnG8A5ztEhdqBHSuoxZMCThefOQQFtVAcwOIYO4BYWHoj4nRmgPjDUu5IdQDLtTgByoCIP2dAHpCCglqyWrJaileIA6pTYIXaITlSKAN8UJD0chGIbkDCf6oAstpBLWiJ6AClQ0bdoyQ8o2k7qCWQAv4cBFD3SIA8AHWPDEgDIivUAUktSS1wLEZAGTpFlYsqV7WgVwEFvdohKkBQSlBQ0yjZKM3DBjhLslGahw3U0jxsgNMlLaV5CECZOuQBRS1FLejD5ACpX6s6pxAHeLVgEHWoA1pWAXA1eYAoJ0lvxYzUQf6cJFE1kUIZkNWS1VLUUtSC/kmY4hz6JsVGuAimK4fO6RQQSW6EKxcQOSOo1EZVic3GZkPXd0LbZ9coK2EG7VSckdmq2eBz9o3q8MA37zsVJW82jOxOGNqDMO0HEBaCQbgasuExzgeZDYN3kFwjMwhZ75S9UVIqZitma3HERlGvizgaBUxPg8yGOAYVJcSRU6Os1OLIjZISmw1V6ISmzqVRVWpVaIS+HmS2YrYWByrYFoh+3RYHiNDdgxZbVUKDD5I4CipIiGNQViKzkdnYbGw21KO4RrC5l5ebna7zPx4vhwOW+auFX7YDD/vL4fy4uz0/nU43u3/2p6f2p78P+3P7ftxf5KhoHs6/5FsEfx9PB9DLzXK2Wz81SOTj7EAhmoD0zCsJvy7hZSaoQ0M4kYnk126EDTdQre5F5cWJ7N8dRypJFXIpq3HwugQxaypkqV9SkfmVQvyCTKT/MRMkU56GIWN7NRNlXYJ90GSy7CXXMlE3opBp1/rKSXHWMuG3IrFkyrZqNRXbXhQyL4jiqhcbrUmFl1wsI2wumVdxvEmm3+jMnDSKnJMJ8FxL0Pog35CIIWk9Y6hLV8U3icwbEp41k9Ff93YtrzU2khmKznVUl56iXF8rbPSEDFE/JKrcDC0abyIJG8mQPasWJDleKkIf8MK6qobg173YaMxSg1ZV9mt1XYO2hpgGQleTptyLvb+qrhZrDBdXqxri5kC3skaXVzXe2Z/S7mv9Gb6gP8On+zN8QX/Sp/szfEF/0hf0J326P8MX9Cdt9CfLxXUK5yuN4P1Uf9Jqf9JGJLk6WwZqqKte0EZ/yq7VVkThurpDobo1UJalYCkKuw+5wWlxY317wH5LxPtiIj7zqsjW6p6yNjrJ44GZDZeX22bb9Lm02qXbEs4kgpuSqHhkMiS4zEmkYBKZZiRkhAXbcF3toT8iwU5zIXeDc14wLRLRz0lUCyRe7aI/IhFtJhcMcxIUFwma9CKbxNUsPOvFrIQ1uJw11eAh2aIWEs8VNUWrSMqTXthNokj4TwcyJ0HFVhN5iJwmJWzik6d8UxI12FpS03ogaWOB51w1EpYnnMv8W97vRbHbxFonA1kWxVrniupsERCcG+zy8HCRmBvs3rYIsjjOBpIXiU8HMivhlxncU5mTYHuSIu/BJiXCIuE/HcisRK4mUeaWIr8UVQo8KWENHiZn8KtAZiUC2WO+cLXjeytR3NyU811+7e+Ol1fvX1+gdTnuf54O4+fvp/Pd1dHHfx/0iL6/fbjc3x1+PV0OUFpe4srHtyBP0+XZ3ne8EJCf8tyyevzwOCZvG0L231/gyn8="
80
80
  },
81
81
  {
82
82
  "name": "consume",
@@ -152,7 +152,7 @@
152
152
  }
153
153
  },
154
154
  "bytecode": "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",
155
- "debug_symbols": "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"
155
+ "debug_symbols": "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"
156
156
  },
157
157
  {
158
158
  "name": "is_consumable",
@@ -225,7 +225,7 @@
225
225
  }
226
226
  },
227
227
  "bytecode": "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",
228
- "debug_symbols": "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"
228
+ "debug_symbols": "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"
229
229
  },
230
230
  {
231
231
  "name": "is_reject_all",
@@ -275,7 +275,7 @@
275
275
  }
276
276
  },
277
277
  "bytecode": "JwACBAEoAAABBIBGJwAABEYlAAAARScCAwQBJwIEBAAfCgADAAQARC0IRAIlAAAARi0CAkUnAgMERScCBAQBOw4ABAADJiUAAAE9HgIAAwAeAgAEAB4CAAUJJwIGAQEkAgAFAAAAbCUAAAFjKQIABQDvUlNNJwIGAAErAgAHAAAAAAAAAAADAAAAAAAAAAAtCAEIJwIJBAUACAEJAScDCAQBACIIAgktCgkKLQ4FCgAiCgIKLQ4GCgAiCgIKLQ4CCgAiCgIKLQ4HCi0IAQInAgUEBQAIAQUBJwMCBAEAIggCBQAiAgIGPw8ABQAGJwIFBAEAKgIFBy0LBwYnAgIAAAoqBgIFJwICAQAKKgUCByQCAAcAAAEcJQAAAXUeAgACAC8qAAYAAgAFHAoFBgEcCgYCABwKAgUBLQoFAiYoAAAEBHhGDAAABAMkAAADAAABYioBAAEF2sX11rRKMm08BAIBJioBAAEFoj+MFkXsKv88BAIBJioBAAEFursh14IzGGQ8BAIBJg==",
278
- "debug_symbols": "tVbbbuMgEP0XP/uBYYBh+iurqnJTt7JkOZGbrLSq8u87tIwvkWCrtpuHcBjs47mcAd6ap/7x8vIwTM/H1+bu11vzOA/jOLw8jMdDdx6Ok1jfGpP+yDd32DZRJiSDzMC0DcsUQEb/MYJBBVFAFACUgbUZOFSgS16XvFqCWoJaCBT4DJIvH8Ap4AxYP8HZDWuE0JoEQgYACtRi1WLVgmpBccNKXNZZBWrx6RlMIGQQ1BLUQmohziD5bDkBsWDiYSFEWcLk6gd4t1yvbaP1eDjPfZ/KsSmQlO3Uzf10bu6myzi2ze9uvLw/9Hrqpvfx3M2yKnH005OMQvg8jH1C13Z925RftWh8ftui9QsBgN9RQJkCGBxnDsEBFxLau2ErblBUL9itThB8Oo4QgzJQjMU4XJkCndNUoAtrKsjtGPwPZCL8x0wgEi1hGFfMRKz4wJRkmr0g70pxcCUXJjpNBRj6fiShGEmFwnurBfHyWyj8Pg6oSNOD00A8bEvCcc+BlYRGbVHkVZtIvGeoiJNhSSfLdrZy3EZSkWeUNzNH5MBljlBrEhUGbrpMNsY9A1VyAaQlsRDpaxwWl2635MocFYE6Ym13F9GudY2fdkOKuWSDGcpu1ORlWBveW+OL8rIVDrc2isONROUk/FKjbDJ6Iw1bkWgA0mwE2Mj81gtbkSgCetW5YPLFs6SmURNI5SGYywcS/cSpFr+7mf8jlnSHyLHQZiO9cQNrG6lfu9bXHKlXxm0qw6boiK1KRBWy6ThnxI17mXaHYd7dUK+Jah66x7HP0+fLdNisnv+cdEVvuKf5eOifLnOfmNZrLsj/r2Da4O/T3TVNuCW4v6ZP/wU="
278
+ "debug_symbols": "tVbbbuMgEP0XP/sBZoBh+itVVbmpW1mynMhNVlpV+fcdWsaXSrBVL3kIh8E+PnMDXpvH/uHyfD9MT8eX5ub2tXmYh3Ecnu/H46E7D8dJrK+NSX/kmxtsmygTkkFm1rQNy9RaGf37aA0qiAKiAEsZAGTgUIEueV3yaglqCWohq8BnkLS8A6eAM2D9BGcZYIQQTAIhA2sVqAXUAmpBtaDIAPELHChQi0/PYAIhg6CWoBZSC3EGSTNwAmLBxMNCiLKESeo7eLNcr22j+bg/z32f0rFJkKTt1M39dG5upss4ts2fbry8PfRy6qa38dzNsip+9NOjjEL4NIx9Qtd2fduUXwU0Pr8NCH4hsNbvKGyZwrJ1nDkEB1xIaC8DKjIoqgp2qwiyn/YjxKAMFGPRD1emQOc0FOjCGgpyOwb/A5EIvxgJRKLFDeOKkYgVDUypTLMK8q7kB1diYaLTUFhD3/ckFD2pUHgPmhAvv4XC7/2wldL01qkj3m5TwnHPgZWARm1R5LU2kXjPUClOtks4WbazleOjJ5XyjPJm5ogcuMwRak2ihYGbLpONcc9AlVhY0pSAjfQ1DsCl24FcmaNSoI5Y291FhDWv8dMyJJlLNJhtWUatvAxrw3swvlheUOFwkgt1xW045CT8UqNsIvqhNKBSomEt0QCGiyqgUqJo0SuJYPLFs6RWoyaQlodgLh9I9BOnWvzuZv4fX9IdIvtCm430gwysbaR+7VpfE1LPjNtkhk1RCNRKRDf0sOk4Z0TGnUy7wzDvbqjXRDUP3cPY5+nTZTpsVs9/T7qiN9zTfDz0j5e5T0zrNdfK/20wbfB36e6aJtySvbumT/8D"
279
279
  },
280
280
  {
281
281
  "name": "set_authorized",
@@ -329,7 +329,7 @@
329
329
  }
330
330
  },
331
331
  "bytecode": "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",
332
- "debug_symbols": "tZndTis5DMffpde9SGInjnmVoyNUoBxVqgrqgZVWiHdfOxN7CtKMIHRv4FdP5x9/JZlJ3zYP+7vXP7eH0+PT383Nr7fN3flwPB7+3B6f7ncvh6eTWN82Qf/ERJsb2G4ipM0N6X/5HKMAiiHqFaQOOfZLuXQoaskKpQOZhbhDRYO6uUlBgGGCFJJB6RCjgVmSWZJZIBigAXdAU8Y+Vso6BChQB/V5gmzAHQgNzFLBQG+XKBIng26BkDtEcQyCAhpwh2SWZBYwC9QOmvAJqIMmfILSoegQoJANuAOBAXWoycAsHA30dvEZQzAwSwQDdYwFklgwCegQCApyCVGAeYIcJBzMCrWD6mBRoA4pGZgFzAJmwWiQO+RggAbcodgQpXYgEyTJGEo/Fy1Kg6TfqQIABmbRtkFWqB00vVkSXigYmEVbYgL5cpZZULQlclKgCShIFBkUSgdtiQm4QzJLMos6llGhdh1MBqaczaIt0UD7eYJsoIJSAtK6Z8kGNQ8b6F2Sjdo8bGCW5mEDvV3SUpuHClqmCagDmgXNor2aWaFMY1Xt1QlyBzKLTrQJuEPLqoK6WoKCKBdJL8dsIF8ukijWhpygdgCzgFnQLGgW7Z8i+WFtm4IKOoQkirVtGlSJohQFHVSywRwM9PaqwBPEENDJbdrtE2m7F25ERpCNMDi5LbtNfaXQiKfxY2huT1SNyG066yfSad9JSkG6Tged+J1kNJIsxKhTv5PbdNJ2kjFIV/2o2Z4IolMxQreh2zQOwka5jxs1jokKOrlN4+hUjTQOyo3IqMVRGpVOKUQnNtJmJmrERlqFidpeN5Hb0G0tDq1g0p5u46YWRyPt6k6zjY20sTtJHFUrmDSOTmTEbmOzQUhObmv14EbqKb+/bze2id++nPd73cMvdnXZ65935/3pZXNzej0et5t/dsfX9qW/z7tT+/+yO8tVUd+fHuS/CD4ejnul9+18d1i+VTbg3O+WTGYXkBp/kIjLElJHXWabhnABF6GPbqQVN7RGkxeMsxMUvxxHqcUUqNbFOHBZAhAtFYBlTgXhB4V8hUyU/zMToOtFr2hNLpE/ulCXFVAmQVdAmfRLieAVH0LK3lZBarOUiBjW6mG5hLKciXUvKrgXAHnRi5XOhIpzLuYJloeSeRHHp2TGlcakYlEQFRfAb3QEoHdEKUsdEVe6Mkc0iRwv+5LrRw1acaPaOgU8NwS0dfBCYSWXMr1il+BIczHgcyQrTVECWDZLwDkZ8A0vvCVY3mgWvUgra6Y8GaWuUbnwssZaZ6IFAhcLnrwSfb2qgW2xySnkxaqm1VWTvaw50KLGV/vzIpTPubhCf6Yf92e6Qn+mH/dnukJ/whX6E37cn+kK/Qkr/YlAth0iXHSGnE6M9CeGxf6ElUhIEmpruNRn0QtY6U+QRwPPqJxqLD5dQF2bKNkzOruB4VtuYJndWN7bcW1vl8Cri0TCRZGVJpUHHasLUMwjD0uxcvQHtlAWu3RdIrhECkMSjOQSWMckSnIJghEJmWHJn5Yunn+/IyFHUD5T4pgXCLNEjmMSPtnkrY+GJLKv5IJpTALyLAGDXvijfL5YhUe9GJXwBpe7hho8Fd/UUsGxopbsFSk06IW/4IlE/HEgYxJQi79mViqDEr7wcRjKBXDyvYTLciBlZYNHYosE5VhxXn/r172o/o4nh3NjgcybIvNYUYNvAoJjkz3U+X2Xxya7HCiahJzYDQZCs8SPAxmViPMKHqGOSaCfgsQSBiXSLBF/HMioBLFL1LGtKM5FlQIPSniDp8EV/CKQUYkEfkSXLp74PksQjy05v+XT7v5w/vDD6LtqnQ+7u+O+f3x8Pd1fXH3599mu2A+rz+en+/3D63mvSvOvq/LnlxxlbeXk97cevsvHmrbTh9iupa1sMb/f1ZX/AA=="
332
+ "debug_symbols": "tZndTis5DMffpde9SGInjnmVoyNUoBxVqgrqgZVWiHdfOxN7CtKMIHRv4FdP5x9/JZlJ3zYP+7vXP7eH0+PT383Nr7fN3flwPB7+3B6f7ncvh6eTWN82Qf/ERJsb2G4ipM0N6X/5HKMAiiHqFaQOOfZLuXQoaskKpQOZhbhDRYO6uUlBgGGCFJJB6RCjgVmSWZJZIBigAXdAU8Y+Vso6BChQB/V5gmzAHQgNzFLBQG+XKBIng26BkDtEcQyCAhpwh2SWZBYwC9QOmvAJqIMmfILSoegQoJANuAOBAXWoycAsHA30dvEZQzAwSwQDdYwFklgwCegQCApyCVGAeYIcJBzMCrWD6mBRoA4pGZgFzAJmwWiQO+RggAbcodgQpXYgEyTJGEo/Fy1Kg6TfqQIABmbRtkFWqB00vVkSXigYmEVbYgL5cpZZULQlclKgCShIFBkUSgdtiQm4QzJLMos6llGhdh1MBqaczaIt0UD7eYJsoIJSAtK6Z8kGNQ8b6F2Sjdo8bGCW5mEDvV3SUpuHClqmCagDmgXNor2aWaFMY1Xt1QlyBzKLTrQJuEPLqoK6WoKCKBdJL8dsIF8ukijWhpygdgCzgFnQLGgW7Z8i+WFtm4IKOoQkirVtGlSJohQFHVSywRwM9PaqwBPEENDJbdrtE2m7F25ERpCNMDi5LbtNfaXQiKfxY2huT1SNyG066yfSad9JSkG6Tged+J1kNJIsxKhTv5PbdNJ2kjFIV/2o2Z4IolMxQreh2zQOwka5jxs1jokKOrlN4+hUjTQOyo3IqMVRGpVOKUQnNtJmJmrERlqFidpeN5Hb0G0tDq1g0p5u46YWRyPt6k6zjY20sTtJHFUrmDSOTmTEbmOzQUhObmv14EbqKb+/bze2id++nPd73cMvdnXZ65935/3pZXNzej0et5t/dsfX9qW/z7tT+/+yO8tVUd+fHuS/CD4ejnul9+18d1i+VTbg3O+WTGYXkBp/kIjLElJHXWabhnABF6GPbqQVN7RGkxeMsxMUvxxHqcUUqNbFOHBZAhAtFYBlTgXhB4V8hUyU/zMToOtFr2hNLpE/ulCXFVAmQVdAmfRLieAVH0LK3lZBarOUiBjW6mG5hLKciXUvKrgXAHnRi5XOhIpzLuYJloeSeRHHp2TGlcakYlEQFRfAb3QEoHdEKUsdEVe6Mkc0iRwv+5LrRw1acaPaOgU8NwS0dfBCYSWXMr1il+BIczHgcyQrTVECWDZLwDkZ8A0vvCVY3mgWvUgra6Y8GaWuUbnwssZaZ6IFAhcLnrwSfb2qgW2xySnkxaqm1VWTvaw50KLGV/vzIpTPubhCf6Yf92e6Qn+mH/dnukJ/whX6E37cn+kK/Qkr/YkyuK2/eKEhpxMj/YlhsT9hJRLi4Gs4J170Alb6E+TRwDMqpxqLTxdQ1yZK9ozOkWD4lhtYZjeW93Zc29sl8OoikXBRZKVJ5UHH6gIU88jDUqwc/YEtlMUuXZcILpHCkAQjuQTWMYmSXIJgREJmWPKnpYvn3+9IyBGUz5Q45gXCLJHjmAR7IHJgNSSRfSUXTGMSkGcJGPTCH+XzxSo86sWohDe43DXU4Kn4ppYKjhW1ZK9IoUEv/AVPJOKPAxmTgFr8NbNSGZTwhY/DUC6Ak+8lXJYDKSsbPBJbJCjHivP6W7/uRfV3PDmcGwtk3hSZx4oafBMQHJvsoc7vuzw22aM/IsjmOBoIzRI/DmRUIs4reIQ6JoF+ChJLGJRIs0T8cSCjEsQuUce2ojgXVQo8KOENngZX8ItARiUS+BFdunji+yxBPLbk/JZPu/vD+cMPo++qdT7s7o77/vHx9XR/cfXl32e7Yj+sPp+f7vcPr+e9Ks2/rsqfX3KUtZWT3996+C4fa9pOH2K7lrayxfx+V1f+Aw=="
333
333
  },
334
334
  {
335
335
  "name": "set_authorized_private",
@@ -2196,7 +2196,7 @@
2196
2196
  }
2197
2197
  },
2198
2198
  "bytecode": "JwACBAEoAAABBIBFJwAABEUlAAAARicCAwQBJwIEBAAfCgADAAQARBwAREQBLQhEAiUAAABsJwICBEUnAgMEADsOAAMAAiwAAEMAMGROcuExoCm4UEW2gYFYXSgz6Eh5uXCRQ+H1k/AAAAAmJQAAAWUeAgADAB4CAAQAHgIABQEKIgVDBhYKBgccCgcIAAQqCAUHJwIFAQAKKgYFCCQCAAgAAACuJwIJBAA8BgkBKQIABgDvUlNNJwIIAAErAgAJAAAAAAAAAAADAAAAAAAAAAAtCAEKJwILBAUACAELAScDCgQBACIKAgstCgsMLQ4GDAAiDAIMLQ4IDAAiDAIMLQ4HDAAiDAIMLQ4JDC0IAQYnAgcEBQAIAQcBJwMGBAEAIgoCBwAiBgIIPw8ABwAIJwIHBAEAKgYHCS0LCQgnAgYAAAoqCAYHCioHBQYkAgAGAAABWSUAAAGLHAoCBQAwCgAFAAgmKAAABAR4RQwAAAQDJAAAAwAAAYoqAQABBdrF9da0SjJtPAQCASYqAQABBbq7IdeCMxhkPAQCASY=",
2199
- "debug_symbols": "tVbtauMwEHwX//YP7a6klfIqpRQ3dYrBOMFNDo6Qd79VzuuPgEQb7v7E41U8Hs2OZF2rj/b98vnWDYfjV7V7uVbvY9f33edbf9w35+44SPVamfQDQNWOarmGasdyRbkHSEAKkEaIFPA0ZFFBqjgBDhVoxbsJsFFgqx2igEAKwl+AJk4ASIEOoVZQK6SVpOcOLCjwE3BGgVOgr/BWQSK0AhgV8ASCVoJWolbiVCGTZLgEwgRAK5D+I2YSogKtkFasUSAKScykpJns7VZX2qa389i2qUurvkk3T83YDudqN1z6vq5+Nf3l/qevUzPcr+dmlFFTV+3wIVchPHR9m9CtXp42+UeRjJueRkI3EwC4DQXkKSCCjROHYE8zCW9lYEEGB1UR7SKC4dvz8MErA4eQnYfNU5C1agVZv1jBdsPg/oET/n86wTB3lGmJhNtKCHkGC6heWnBZI2JBg5HVqCKM9CZnBJhSP9RL8nknyioCzSqIXFZFIZkU7OLFys2nzFzN48FMKASTvc6C2c8E9idrY84Ug80lAgqpdGDVBgfrXMaw5eCCjKD7FMUlEMRxy1DwMsLcjIgIC8fjTAqhCDF9Ee4cIfqY5cBiMrUhtNpq0G87goU9E4E13PL94+c4kOYtD9nmOaiQTo66Tm0gXPoavi1Dmjm7ESNkZRTjZaIm1KFx2XhhgcMSs06FVhFFeG6hUMwtFCxElCVfulglrlkVWIioHCEWS5Fj9jNCprRi3ezoIsOaH8mwfpGR38SptH3KxMNMAquYPpIUUkqedd2TfN2234JXuW323bg58d4S2dg173073R4uw341ev590hE9MZ/G4779uIxtYlodm+X3xWPt+TWdndNNqNm83tKr/wA="
2199
+ "debug_symbols": "tVbtbqMwEHwXfvPD+2GvnVepqoqmtEJCJKLJSacq7352jjVQyVZb3f0JwzoM49mx8Ufz0j9f356G6fX03hwePprneRjH4e1pPB27y3CaYvWjMekHgJoDtfHqm4PEK8Z7gARiAdIIkQJZhhgVpIqNwKICrTi7ADEKuDkgRuBJgf8L0IQFACnQIdQKaoW0kvTcAYMCtwBrFFgF+grHChIhRyCoQBbgteK1ErQSlgqZJMMm4BcAWoH0n2gmISrQCmmFjYKokKKZlDQT325to216usx9n7q06Vvs5rmb++nSHKbrOLbNr2683v/0fu6m+/XSzXHUtE0/vcRrJHwdxj6hW7s+bcqPIhm7PI2ENhMA2B0FlCkgAIeFI2JHmUT2MrAiQ7yqCLyKEPjyPJx3yiDeF+fBZQpiViuI3WqF8I7B/gMn3P90QiB3VGiNhN1L8GUGBlQvGWzRiFDRYOJqVBEm9qZkBJhaP9RLcmUn6io8ZRVEtqiikkzyvHqxcfNHZm7m8clMqARTnM5CxGUC/s7ayJkS4FIioJJKC6w2WNjmMvg9h1RkeN2nKKyBIAl7hoqXAXIzAiKsHJ9nUgmFD+mLcOfwwYUiB1aTqQ2hzVaDbt8RrOyZCKLhjt8/+RkHUt7yULjMQZV0StB1yp5w7av/sozYzOxGCFCUUY2XCZpQi8YW44UVDqaccuYNB8LPFgqF0kLBSkQlmLxYA4aiCqxENB4hVktRQvEzQqa2Ym12dM0om2/JYLfKKG/iVNs+48R9JoFNTD+TVFJKTnTdU/y67b8Fj/G2Ow7z7sR7S2Tz0D2P/XL7ep2Om9HL77OO6In5PJ+O/ct17hPT5tgcfx8ctk4e09k53fhWzOMtvfoP"
2200
2200
  },
2201
2201
  {
2202
2202
  "name": "utility_is_consumable",
@@ -2264,7 +2264,7 @@
2264
2264
  }
2265
2265
  },
2266
2266
  "bytecode": "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",
2267
- "debug_symbols": "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"
2267
+ "debug_symbols": "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"
2268
2268
  },
2269
2269
  {
2270
2270
  "name": "process_message",
@@ -2595,7 +2595,7 @@
2595
2595
  }
2596
2596
  },
2597
2597
  "bytecode": "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",
2598
- "debug_symbols": "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"
2598
+ "debug_symbols": "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"
2599
2599
  },
2600
2600
  {
2601
2601
  "name": "sync_state",
@@ -3395,7 +3395,7 @@
3395
3395
  },
3396
3396
  "211": {
3397
3397
  "path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/state_vars/public_mutable.nr",
3398
- "source": "use crate::context::{PublicContext, UtilityContext};\nuse crate::protocol::traits::Packable;\nuse crate::state_vars::StateVariable;\n\n/// Mutable public values.\n///\n/// This is one of the most basic public state variables. It is equivalent to a non-`immutable` non-`constant` Solidity\n/// state variable.\n///\n/// It represents a public value of type `T` that can be written to repeatedly over the lifetime of the contract,\n/// allowing the last value that was written to be read.\n///\n/// ## Access Patterns\n///\n/// A value stored in a `PublicMutable` can be read and written from public contract functions.\n///\n/// It is not possible to read or write a `PublicMutable` from private contract functions. A common pattern is to have\n/// these functions [enqueue a public self\n/// calls](crate::contract_self::ContractSelfPrivate::enqueue) in which the\n/// required operation is performed.\n///\n/// For an immutable variant which can be read from private functions, see\n/// [`PublicImmutable`](crate::state_vars::PublicImmutable).\n///\n/// For a mutable (with restrictions) variant which can be read from private functions see\n/// [`DelayedPublicMutable`](crate::state_vars::DelayedPublicMutable).\n///\n/// ## Privacy\n///\n/// `PublicMutable` provides zero privacy. All write and read operations are public: the entire network can see these\n/// accesses and the data involved.\n///\n/// ## Use Cases\n///\n/// This is suitable for any kind of global state that needs to be accessible by everyone. For example, a token may\n/// have a public total supply, or a voting contract may have public vote tallies.\n///\n/// Note that contracts having public values does not necessarily mean the actions that update these values must\n/// themselves be wholly public. For example, the token could allow for private minting and burning, and casting a vote\n/// could be kept private: these private functions would enqueue a public function that writes to the `PublicMutable`.\n///\n/// Similarly, private functions can enqueue a public call in which the `PublicMutable` is checked to meet some\n/// condition. For example, a private action might be executable only if the vote count has exceeded some threshold, in\n/// which case the private function would enqueue a public function that reads from the `PublicMutable`.\n///\n/// Such patterns preserve the privacy of the account that executed the action, as well as details related to the\n/// private execution itself, but they _do_ reveal that the transaction interacted with the `PublicMutable` value (and\n/// hence that the contract was called), as all accesses to it are public. The\n/// [`only_self`](crate::macros::functions::only_self) attribute is very useful when implementing this.\n///\n/// ## Examples\n///\n/// Declaring a `PublicMutable` in the contract's [`storage`](crate::macros::storage::storage) struct requires\n/// specifying the type `T` that is stored in the variable:\n///\n/// ```noir\n/// #[storage]\n/// struct Storage<C> {\n/// total_supply: PublicMutable<u128, C>,\n/// public_balances: Map<AztecAddress, PublicMutable<u128, C>, C>,\n///\n/// vote_tallies: Map<ElectionId, PublicMutable<u128, C>, C>,\n/// }\n/// ```\n///\n/// ## Requirements\n///\n/// The type `T` stored in the `PublicMutable` must implement the [`Packable`](crate::protocol::traits::Packable)\n/// trait.\n///\n/// ## Implementation Details\n///\n/// Values are packed and stored directly in the public storage tree, with no overhead. A `PublicMutable` therefore\n/// takes up as many storage slots as the packing length of the stored type `T`.\n///\n/// Private reads are not possible because private functions do not have access to the current network state, only the\n/// _past_ state at the anchor block. They _can_ perform historical reads of `PublicMutable` values at past times, but\n/// they have no way to guarantee that the value has not changed since then.\n/// [`PublicImmutable`](crate::state_vars::PublicImmutable) and\n/// [`DelayedPublicMutable`](crate::state_vars::DelayedPublicMutable) are examples of public state variables that _can_\n/// be read privately by restricting mutation.\npub struct PublicMutable<T, Context> {\n context: Context,\n storage_slot: Field,\n}\n\nimpl<T, Context, let M: u32> StateVariable<M, Context> for PublicMutable<T, Context>\nwhere\n T: Packable<N = M>,\n{\n 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 PublicMutable { context, storage_slot }\n }\n\n fn get_storage_slot(self) -> Field {\n self.storage_slot\n }\n}\n\nimpl<T> PublicMutable<T, PublicContext> {\n /// Returns the current value.\n ///\n /// If [`write`](PublicMutable::write) has never been called, then this returns the default empty public storage\n /// value, which is all zeroes - equivalent to `let t = T::unpack(std::mem::zeroed());`.\n ///\n /// It is not possible to detect if a `PublicMutable` has ever been initialized or not other than by testing for\n /// the zero sentinel value. For a more robust solution, store an `Option<T>` in the `PublicMutable`.\n ///\n /// ## Examples\n ///\n /// A public getter that returns the current value:\n /// ```noir\n /// #[external(\"public\")]\n /// fn get_total_supply() -> u128 {\n /// self.storage.total_supply.read()\n /// }\n /// ```\n ///\n /// An [`only_self`](crate::macros::functions::only_self) helper that asserts a condition a private function\n /// requires:\n /// ```noir\n /// #[external(\"private\")]\n /// fn execute_proposal(election_id: ElectionId) {\n /// self.enqueue_self._assert_vote_passed(election_id);\n ///\n /// // execute the proposal - this remains private\n /// }\n ///\n /// #[external(\"public\")]\n /// #[only_self]\n /// fn _assert_vote_passed(election_id: ElectionId) {\n /// assert(self.storage.vote_tallies.at(election_id).read() >= VOTE_PASSED_THRESHOLD);\n /// }\n /// ```\n ///\n /// ## Cost\n ///\n /// The `SLOAD` AVM opcode is invoked a number of times equal to `T`'s packed length.\n pub fn read(self) -> T\n where\n T: Packable,\n {\n self.context.storage_read(self.storage_slot)\n }\n\n /// Stores a new value.\n ///\n /// The old value is overridden and cannot be recovered. The new value can be immediately retrieved by\n /// [`read`](PublicMutable::read).\n ///\n /// ## Examples\n ///\n /// A public setter that updates the current value:\n /// ```noir\n /// #[external(\"public\")]\n /// fn mint_tokens(recipient: AztecAddress, amount: u128) {\n /// let current_recipient_balance = self.storage.public_balances.at(recipient).read();\n /// self.storage.public_balances.at(recipient).write(current_recipient_balance + amount);\n ///\n /// let current_supply = self.storage.total_supply.read();\n /// self.storage.total_supply.write(current_supply + amount);\n /// }\n /// ```\n ///\n /// An [`only_self`](crate::macros::functions::only_self) helper that updates public state triggered by a private\n /// function:\n /// ```noir\n /// #[external(\"private\")]\n /// fn vote_for_proposal(election_id: ElectionId, votes: u128) {\n /// // validate the sender can cast this many votes - this remains private\n ///\n /// self.enqueue_self._tally_vote(election_id, votes);\n /// }\n ///\n /// #[external(\"public\")]\n /// #[only_self]\n /// fn _tally_vote(election_id: ElectionId, votes: u128) {\n /// let current = self.storage.vote_tallies.at(election_id).read();\n /// self.storage.vote_tallies.at(election_id).write(current + votes);\n /// }\n /// ```\n ///\n /// ## Cost\n ///\n /// The `SSTORE` AVM opcode is invoked a number of times equal to `T`'s packed length.\n pub fn write(self, value: T)\n where\n T: Packable,\n {\n self.context.storage_write(self.storage_slot, value);\n }\n}\n\nimpl<T> PublicMutable<T, UtilityContext> {\n /// Returns the value at the anchor block.\n ///\n /// If [`write`](PublicMutable::write) has never been called, then this returns the default empty public storage\n /// value, which is all zeroes - equivalent to `let t = T::unpack(std::mem::zeroed());`.\n ///\n /// It is not possible to detect if a `PublicMutable` has ever been initialized or not other than by testing for\n /// the zero sentinel value. For a more robust solution, store an `Option<T>` in the `PublicMutable`.\n ///\n /// ## Examples\n ///\n /// ```noir\n /// #[external(\"utility\")]\n /// fn get_total_supply() -> u128 {\n /// self.storage.total_supply.read()\n /// }\n /// ```\n pub unconstrained fn read(self) -> T\n where\n T: Packable,\n {\n self.context.storage_read(self.storage_slot)\n }\n}\n"
3398
+ "source": "use crate::context::{PublicContext, UtilityContext};\nuse crate::protocol::traits::Packable;\nuse crate::state_vars::StateVariable;\n\nmod test;\n\n/// Mutable public values.\n///\n/// This is one of the most basic public state variables. It is equivalent to a non-`immutable` non-`constant` Solidity\n/// state variable.\n///\n/// It represents a public value of type `T` that can be written to repeatedly over the lifetime of the contract,\n/// allowing the last value that was written to be read.\n///\n/// ## Access Patterns\n///\n/// A value stored in a `PublicMutable` can be read and written from public contract functions.\n///\n/// It is not possible to read or write a `PublicMutable` from private contract functions. A common pattern is to have\n/// these functions [enqueue a public self\n/// calls](crate::contract_self::ContractSelfPrivate::enqueue) in which the\n/// required operation is performed.\n///\n/// For an immutable variant which can be read from private functions, see\n/// [`PublicImmutable`](crate::state_vars::PublicImmutable).\n///\n/// For a mutable (with restrictions) variant which can be read from private functions see\n/// [`DelayedPublicMutable`](crate::state_vars::DelayedPublicMutable).\n///\n/// ## Privacy\n///\n/// `PublicMutable` provides zero privacy. All write and read operations are public: the entire network can see these\n/// accesses and the data involved.\n///\n/// ## Use Cases\n///\n/// This is suitable for any kind of global state that needs to be accessible by everyone. For example, a token may\n/// have a public total supply, or a voting contract may have public vote tallies.\n///\n/// Note that contracts having public values does not necessarily mean the actions that update these values must\n/// themselves be wholly public. For example, the token could allow for private minting and burning, and casting a vote\n/// could be kept private: these private functions would enqueue a public function that writes to the `PublicMutable`.\n///\n/// Similarly, private functions can enqueue a public call in which the `PublicMutable` is checked to meet some\n/// condition. For example, a private action might be executable only if the vote count has exceeded some threshold, in\n/// which case the private function would enqueue a public function that reads from the `PublicMutable`.\n///\n/// Such patterns preserve the privacy of the account that executed the action, as well as details related to the\n/// private execution itself, but they _do_ reveal that the transaction interacted with the `PublicMutable` value (and\n/// hence that the contract was called), as all accesses to it are public. The\n/// [`only_self`](crate::macros::functions::only_self) attribute is very useful when implementing this.\n///\n/// ## Examples\n///\n/// Declaring a `PublicMutable` in the contract's [`storage`](crate::macros::storage::storage) struct requires\n/// specifying the type `T` that is stored in the variable:\n///\n/// ```noir\n/// #[storage]\n/// struct Storage<C> {\n/// total_supply: PublicMutable<u128, C>,\n/// public_balances: Map<AztecAddress, PublicMutable<u128, C>, C>,\n///\n/// vote_tallies: Map<ElectionId, PublicMutable<u128, C>, C>,\n/// }\n/// ```\n///\n/// ## Requirements\n///\n/// The type `T` stored in the `PublicMutable` must implement the [`Packable`](crate::protocol::traits::Packable)\n/// trait.\n///\n/// ## Implementation Details\n///\n/// Values are packed and stored directly in the public storage tree, with no overhead. A `PublicMutable` therefore\n/// takes up as many storage slots as the packing length of the stored type `T`.\n///\n/// Private reads are not possible because private functions do not have access to the current network state, only the\n/// _past_ state at the anchor block. They _can_ perform historical reads of `PublicMutable` values at past times, but\n/// they have no way to guarantee that the value has not changed since then.\n/// [`PublicImmutable`](crate::state_vars::PublicImmutable) and\n/// [`DelayedPublicMutable`](crate::state_vars::DelayedPublicMutable) are examples of public state variables that _can_\n/// be read privately by restricting mutation.\npub struct PublicMutable<T, Context> {\n context: Context,\n storage_slot: Field,\n}\n\nimpl<T, Context, let M: u32> StateVariable<M, Context> for PublicMutable<T, Context>\nwhere\n T: Packable<N = M>,\n{\n 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 PublicMutable { context, storage_slot }\n }\n\n fn get_storage_slot(self) -> Field {\n self.storage_slot\n }\n}\n\nimpl<T> PublicMutable<T, PublicContext> {\n /// Returns the current value.\n ///\n /// If [`write`](PublicMutable::write) has never been called, then this returns the default empty public storage\n /// value, which is all zeroes - equivalent to `let t = T::unpack(std::mem::zeroed());`.\n ///\n /// It is not possible to detect if a `PublicMutable` has ever been initialized or not other than by testing for\n /// the zero sentinel value. For a more robust solution, store an `Option<T>` in the `PublicMutable`.\n ///\n /// ## Examples\n ///\n /// A public getter that returns the current value:\n /// ```noir\n /// #[external(\"public\")]\n /// fn get_total_supply() -> u128 {\n /// self.storage.total_supply.read()\n /// }\n /// ```\n ///\n /// An [`only_self`](crate::macros::functions::only_self) helper that asserts a condition a private function\n /// requires:\n /// ```noir\n /// #[external(\"private\")]\n /// fn execute_proposal(election_id: ElectionId) {\n /// self.enqueue_self._assert_vote_passed(election_id);\n ///\n /// // execute the proposal - this remains private\n /// }\n ///\n /// #[external(\"public\")]\n /// #[only_self]\n /// fn _assert_vote_passed(election_id: ElectionId) {\n /// assert(self.storage.vote_tallies.at(election_id).read() >= VOTE_PASSED_THRESHOLD);\n /// }\n /// ```\n ///\n /// ## Cost\n ///\n /// The `SLOAD` AVM opcode is invoked a number of times equal to `T`'s packed length.\n pub fn read(self) -> T\n where\n T: Packable,\n {\n self.context.storage_read(self.storage_slot)\n }\n\n /// Stores a new value.\n ///\n /// The old value is overridden and cannot be recovered. The new value can be immediately retrieved by\n /// [`read`](PublicMutable::read).\n ///\n /// ## Examples\n ///\n /// A public setter that updates the current value:\n /// ```noir\n /// #[external(\"public\")]\n /// fn mint_tokens(recipient: AztecAddress, amount: u128) {\n /// let current_recipient_balance = self.storage.public_balances.at(recipient).read();\n /// self.storage.public_balances.at(recipient).write(current_recipient_balance + amount);\n ///\n /// let current_supply = self.storage.total_supply.read();\n /// self.storage.total_supply.write(current_supply + amount);\n /// }\n /// ```\n ///\n /// An [`only_self`](crate::macros::functions::only_self) helper that updates public state triggered by a private\n /// function:\n /// ```noir\n /// #[external(\"private\")]\n /// fn vote_for_proposal(election_id: ElectionId, votes: u128) {\n /// // validate the sender can cast this many votes - this remains private\n ///\n /// self.enqueue_self._tally_vote(election_id, votes);\n /// }\n ///\n /// #[external(\"public\")]\n /// #[only_self]\n /// fn _tally_vote(election_id: ElectionId, votes: u128) {\n /// let current = self.storage.vote_tallies.at(election_id).read();\n /// self.storage.vote_tallies.at(election_id).write(current + votes);\n /// }\n /// ```\n ///\n /// ## Cost\n ///\n /// The `SSTORE` AVM opcode is invoked a number of times equal to `T`'s packed length.\n pub fn write(self, value: T)\n where\n T: Packable,\n {\n self.context.storage_write(self.storage_slot, value);\n }\n}\n\nimpl<T> PublicMutable<T, UtilityContext> {\n /// Returns the value at the anchor block.\n ///\n /// If [`write`](PublicMutable::write) has never been called, then this returns the default empty public storage\n /// value, which is all zeroes - equivalent to `let t = T::unpack(std::mem::zeroed());`.\n ///\n /// It is not possible to detect if a `PublicMutable` has ever been initialized or not other than by testing for\n /// the zero sentinel value. For a more robust solution, store an `Option<T>` in the `PublicMutable`.\n ///\n /// ## Examples\n ///\n /// ```noir\n /// #[external(\"utility\")]\n /// fn get_total_supply() -> u128 {\n /// self.storage.total_supply.read()\n /// }\n /// ```\n pub unconstrained fn read(self) -> T\n where\n T: Packable,\n {\n self.context.storage_read(self.storage_slot)\n }\n}\n"
3399
3399
  },
3400
3400
  "240": {
3401
3401
  "path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/utils/array/append.nr",