@aztec/protocol-contracts 4.0.0-devnet.1-patch.1 → 4.0.0-devnet.2-patch.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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "transpiled": true,
3
- "noir_version": "1.0.0-beta.18+f1db9754dd26736a9bdbfd41c5ce15fe5d62ba6b",
3
+ "noir_version": "1.0.0-beta.18+2db78f8894936db05c53430f364360ac9cc5c61f",
4
4
  "name": "FeeJuice",
5
5
  "functions": [
6
6
  {
@@ -71,7 +71,7 @@
71
71
  }
72
72
  },
73
73
  "bytecode": "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",
74
- "debug_symbols": "rZlRbhs5DIbv4uc8SJREirlKURRu6hYGDCdwkwUWRe6+pEaUnAISHHlfMp/pzD8USZGy/Wf34/D97de34/nn8+/d45c/u++X4+l0/PXt9Py0fz0+n8X6Z+f0jwfaPYaHnQ+we0x6pe0a/WaPuF2TvCa94nbF+hp5u1Ks17x79E4gBwGvkCswbgBO7vWogBV8MuAKEA3MEswSzBKDAVVIYGDKaM9CfQQLkDOIBrlCBgOqwGYpzgsEJ7eDV0gVvFl8rgDiGJCCWvSuoGHUt0pcC5hFIxuCAlZAs2hwC6irISvkChreDcTVCALqapTURRR/IiqIh1HciBkrsCjHrJA2SLqcyArRgCt4s3izgFl0XQW0bDagCrrADbBCskekZGCCKKtIUi2JaQPUSkgSFgRnYJagFlBIFTTdKShQBTSLZnkD/eeoIA9NEh/M0SBX4LABaWVuIM4niSF5b2CW4hgppPrPUJUpRAOzRFOO9VlUfC6ggpIC0uQmVuAKmlx0CrkCV0tWDzfACt4smqYCmib0ClwhmCWooIQuF8dYgSoUxwqYRetwA6xQolpAlSW8WYOJEl52YIAVdF9skAz0Lokh6wbZIFcIZglmiWaJZkn6LAkda9kgKYirKDFkggpZo8EK8lCSaDA7A21RXoE38M7FRs3myQigUbNp7W0UVRcKJaPUbOorhUK8Pd87dbtSNqJmIzLSNlRJu21U0p1bSZ+mLdrr3q3UbD40ykbQbME3UmVU0g1bqdnKOqhQqs/1ZR2FMDZqtrKOjbJRWUcuREZlHVwIK5V5UImNtPlUaraShULadrIrREax2XQdWXMEZWrlQslI22OlbmOjMsc2ykZtHdDWAbqOHAqlSmU0VGo232y+2aDZQD3Vegna3DK8vz/sbEh/e70cDjqjr6a2zPKX/eVwft09nt9Op4fdP/vTW/mn3y/7c7m+7i/yrsThcP4hVxH8eTwdlN4f+t1ufCvKNK53o8zaJpDgg4KfKETd7ZtCJGoK+NEHGCsEnQ5FIGBs91O43QMG8yDFOPIgzjywIETZDT0IS1GMeRRFHCuQ9tciQITt/gi3e5BaFqSsRx7kiYKc3ZqCg1EUeawAZALAwzzeGsWrKKTboxD1kFVr8TqRf1XzpBiloZgTutubRP5YDD5M4pBtQwbutRA9fVSY1KP0eLKSlt7ufFMJmT+qpEk0XLCiQhd7PMMn/PAtJYow9oMmKi4nc0QmmnNjlUl9hgQtqr3LAPPtqfVsjUaaNo5SC5MCS7lHtC8j01qBDtstTFbBerYvCnIOGrkAYZYO0KNtTQdMWvasMpzz1ERcGHZdSHe3HMA7e85sIcx9p8kJMQ+dmJZmtLIIaeLGPCnxKik8DEaYVJfP3DTYh956JD0rBYppVKBhUqDQdlnwV42Lb3ehb7J0VRV/uxDvbuIh3dvEA/4fTTzQvU381nD6cTh5upI+BYIfNZ3opjMgxFbfeXJKmxz0PHHzI7s8rO+5I8S9ccnH6KEj092asHcNaWNDkdmhE8kiEsinhQOTl1na93saDsV5y2gzkYGXJLiPE060JkG+SWRYkZCvF00C3NUB+DMS0Vks5PPlmhcxdAl0SxLJtYUkwDWJ5JpE8msSMXYJWPQCmwTlu71YlWgFLl8PLxU4YIQmkdaSitgyIt9Nrkm0T3iA2d29kDUJ+Qa6HXXk68BFiX6Sd0tJDdxOKYFxHE6cDPjYh4lMyF7h/hNetOOWIK0thPsxg9cK3LchANeHjE/1To5dYm2ze99KS77ZW1wIdon7F7Io4XsH95HWJBI1CeRFiTYEPLm7F7Iq0T6fyReza6MIelLB50UJ1yX43oWsSvSPFAA5DCUyrLWcr/Jq/3S8fPjZ9l21Lsf999Ohvvz5dn66evf13xd7x372fbk8Px1+vF0OqtR/+5U/X0BOWcDuq/6wIC+lk1PWF17fk14po+nru7ryHw=="
74
+ "debug_symbols": "pZnbbhs5DIbfxde5kCiKFPMqRVGkqVsEMJLATRZYBHn3JTWi5HQxQirfZD7TmX94EiXbb4cfx++vv749PP58+n24/fJ2+H5+OJ0efn07Pd3fvTw8Par17RDsTwQ+3KabQ0xwuM125e2KcbMjbdesr9mutF2pvSbZroztWg63MSiUpBANSgOhDSDovZEMqEHMDtIA0MEtyS3JLZgcuEEGB1cmfxbZI0SBgwM6lAYFHLiBuKU6r5CC3g7RIDeIbomlAahjwAZmsbuSpdHeqnmt4BbLbEoG1IDcYsmtYK6mYlAaWHo3UFcRFMxV1NIhqT9IBuohqhtYqIGoMhaDvEG2cFAM0EEaRLdEt4BbLK4K1jYbcAMLcANqkP0ROTu4IGkUWbslC29A1glZ00IQHNySzAIGuYGVOycDbkBusSpvYP+MBvrQrPmhgg6lgaQN2DpzA3U+aw45Rge3VMfYILd/hqbMCR3cgq6M7Vlcfa5ggloCtuJmMZAGVlwKBqWBNEsxDzegBtEtVqYKViaKBtIguSWZoKauVMfEgBtUxyq4xfpwA2pQs1rBlDW9xZJJml4J4EANbF1skB3sLs2h2ALZoDRIbkluQbegW7I9S1Mn1jbEBuoqaQ6FoUGxbIiBPpQ1GyLBwUZUNJANYgjYqdsiOwF06jbrvY3QdKFSdsrdZr5yqiTb82MwtxsVJ+42ZicbQ41s2qKRrdxG9jQb0dHWbqNui6lTcYJuS7GTKZORLdhG3Vbj4Eq5PTfWOCoRduq2GsdGxanGUSqxU41DKlGjuh80EicbPo26rVahko2dEiqxE3abxVGsRlB3rVIpO9l4bDRs4lT3sY2KU48DehxgcZRUKTeqW0OjbovdFrsNug3MU+uXZMOtwPv7zcE36W8v5+PR9uiLXVv38ue78/Hx5XD7+Ho63Rz+uTu91n/6/Xz3WK8vd2d9V/NwfPyhVxX8+XA6Gr3fjLvD/q1MhdrdzHEIZPigEPcVCG21VwVC5q5AH32AfYVku0MVSIT9fk6f90DAPciIex7gzIPcBFBXw0jCWhZlL4s0U0hdgPr9CJ/2QDeoLoB5z4MyyaKe3TyLEGAvi7KvAOwCILt1/GwWkfdimCnoxuQKAnG3myfNqAPFE2mrvUuUj80Q0yQPxRdkkjJqGfmjwqQfRed0k5DIoyFTKR818qSeIXlLUcDRU+kvvCi+sgUusvk/L3hfo+idTaMIyb7GpDNThp7P0RUg8vmiRvERo+Oa9ooKk9bKZWRzFKTwUmum3UELkyjETvVbORj2XIBJY+rRJvsKs2PO/rDGmUiI3EVC2p23kK8eNkBXTptZICIMIw4su05MWxO9LVKeuDEvCl4URXaTkSbdFXVxuYbENIaOlmepQWmvQdOkQaGvshQvxoV83oWM3QVOuy7g1eM75WvHd6Lrx3fia8f3Z5NZ9pMps7EZejL1SLs3cnDWmKEk7N1dJqezyQEvaiyuUULZ7e65I9pSw5GLQ9qfjkzXaqYxM3SI7YrMDpvEnpHEMS8clKKEMFZ73t0S5wOj74gCsiQhYzORzGsSHLtEgRUJ/VrRJSAwLklg8Fzo58o1LzANCQpLEjn0QDLQmkQOXSLHNQnEIQGLXlCX4HK1F6sSvcH1a+GlBgdC6BJ5rahEvSL6neSaRJ/jQCVcHciahH7z3A86+jXgosQ4x4eloiZJsUvQfjppsr3j2EywpNHh8S+86IctRV4LRMYhQ9YaPPZNQHFtsQfBIbG22GPsraXf6C0GQkPi+kAWJeKY4BF5TSJzlyBZlOibwOXJcTWQVYn+6Uy/kF3bimAUFWJZlAhDQq4NZFVifKAAuDhG/ylRYG3kfNVXd/cP5w8/176b1vnh7vvp2F7+fH28v3j35d9nf8d/7n0+P90ff7yej6Y0fvPVP19AT1kg4av9oKAvdZJzsRfR3tNZqVvT13dz5T8="
75
75
  },
76
76
  {
77
77
  "name": "balance_of_public",
@@ -123,7 +123,7 @@
123
123
  }
124
124
  },
125
125
  "bytecode": "JwACBAEoAAABBIBGJwAABEYlAAAARScCAgQBJwIDBAAfCgACAAMARC0IRAElAAAARi0CAUUnAgIERScCAwQBOw4AAwACJiUAAAFAHgIAAgknAgMBASQCAAIAAABiJQAAAWYpAgACAO9SU00nAgMAASsCAAQAAAAAAAAAAAMAAAAAAAAAAC0IAQUnAgYEBQAIAQYBJwMFBAEAIgUCBi0KBgctDgIHACIHAgctDgMHACIHAgctDgEHACIHAgctDgQHLQsFAQAiAQIBLQ4BBS0IAQEnAgIEBQAIAQIBJwMBBAEAIgUCAgAiAQIDPw8AAgADJwICBAEAKgECBC0LBAMnAgEAAAoqAwECJwIBAQAKKgIBBCQCAAQAAAEfJQAAAXgeAgABAC8qAAMAAQACHAoCAwYcCgMBABwKAQIGLQoCASYoAAAEBHhGDAAABAMkAAADAAABZSoBAAEF2sX11rRKMm08BAIBJioBAAEF3Btu6/u2vEM8BAIBJioBAAEFursh14IzGGQ8BAIBJg==",
126
- "debug_symbols": "nZbdjuIwDIXfJde9SBznx7zKaIQKlFGlqqAOrLRCffd1mLilKyUawQU5dehXO8cJfahTd7h/7fvxfPlWu4+HOkz9MPRf++FybG/9ZeToQ+n0FZza2UZFvkAe3HMg+zNEtTOmUUaHLAxkYa0ImUKZQok4iTiJeCPCZRG0CBRBWUR5RJQ0SIDkfwRoIyIBbRKUhUEREgGJgESsRDClgUm4LJxEXPqNT4Ky8BLxEgkSiSCCSwZgkXIG5ljNQPBJuCzMMzLPjRJb9rep65IrLz6xe9d26sab2o33YWjUn3a4P3/0fW3H53hrJ57VjerGE48MPPdDl9TcrHfr8q0RNea7I3JKAnCwIZgygXwq6Ukgj2Eh+G0OUCYYHSUHww23EIJ9r4pYqqJGcBiF4HwoEVylCu4gqQLILYToNgRfJkAUIy2tNaAJG0CopMCfJQeWsEBspA0kVt1wViCatC5CqAyxDpZS1sUE2gJMxRDgzZ8RvI/9e4zVEoBoy4xKc2IgYWC064qa36dhiVZjX5z9P41acxki8cRqX2ouU0G4KK76F09jeGuHBCqeFJX+JAxyUgQopWCqvQnOL70JoXjaGKpBtAkLRFssHlmV1fBre3rQUERUDk4IS4MTlg69WiHEq7jWgbGYhK1tVJS2sK6SRt0UfDGFyotRa/BIC4PMulWR7Zk/+bI99tPmJWZOsKlvD0OXL8/38fgye/t7lRl5CbpOl2N3uk9dIq1vQunv+MObxvvP9KbDF0E3AT7n9Oh/"
126
+ "debug_symbols": "nZbdbvIwDIbvJcc9SJxfcysTQgXKVKkqqINP+oR673O6OKWTEk2ckDdO+9SOHZOnOHfHx+ehHy/XL7H7eIrj1A9D/3kYrqf23l9Hsj6FjD/eip1uRKCJocEuA+qfIYidUo1Q0iehIAmtWfCS4SXDFssWyxanWNgkvGRhWGASgT8R2A1kILofAVKxiEAdBSahDAu2AFuALZotJrphorBJWLbY+IyLApNwbHFs8WwJwIJCBiARfQbiaElAcFHYJNRimedGcFoO96nrYlZe8kTZu7VTN97FbnwMQyP+tcNjeejr1o7LeG8nWpWN6MYzjQS89EMX1dysb8vyq0oqadLrpMkpRljYMFSZgS4GtSDQGZ8JbusF1LwI2QkquUzw+t04QimOKgNMyAxwvsSwFQbVESMAbSYEuyG4MgECp1PjGoVRfgPwlXSovJkIoDJCh7BBhDIiYKzgBRHQYRGBZYS2kMNYNxIQt1VVSQfQ8U8IOsnuPcaaDoCgy4xKcRqPzDBBQ2aov7uhEdekvmT1txu1wlKIXFhaulJhqQrCBp0ITq6tIvg3z4fHYq+oVafxXJweSk6oUPXCuhcviv1GYQ0ilc8QqU2xaVX2w60F6kBCEVFpneBziaMptb1aIEi7uMZhQtEJXTuqhgtD24ob9aSYl6RgeTNqJU69hhmo1sNqKD3znqbtqZ82F5k5wqa+PQ5dml4e4+ll9f7/xit8EbpN11N3fkxdJK23ofiX/OFU49w+3nZo4mXjYT/HT38D"
127
127
  },
128
128
  {
129
129
  "name": "check_balance",
@@ -165,7 +165,7 @@
165
165
  }
166
166
  },
167
167
  "bytecode": "JwACBAEoAAABBIBFJwAABEUlAAAARicCAgQBJwIDBAAfCgACAAMARBwAREQGLQhEASUAAABsJwIBBEUnAgIEADsOAAIAASwAAEMAMGROcuExoCm4UEW2gYFYXSgz6Eh5uXCRQ+H1k/AAAAAmJQAAAaceAgACCScCAwEBJAIAAgAAAIglAAABzR4CAAIBCiICQwMWCgMEHAoEBQAEKgUCBCcCAgEACioDAgUkAgAFAAAAuycCBgQAPAYGASkCAAMA71JTTScCBQABKwIABgAAAAAAAAAAAwAAAAAAAAAALQgBBycCCAQFAAgBCAEnAwcEAQAiBwIILQoICS0OAwkAIgkCCS0OBQkAIgkCCS0OBAkAIgkCCS0OBgktCwcDACIDAgMtDgMHLQgBAycCBAQFAAgBBAEnAwMEAQAiBwIEACIDAgU/DwAEAAUnAgQEAQAqAwQGLQsGBScCAwAACioFAwQKKgQCAyQCAAMAAAFzJQAAAd8eAgADAC8qAAUAAwAEHAoEBQYcCgUDABwKAwQGDCoEAQMKKgMCASQCAAEAAAGmJQAAAfEmKAAABAR4RQwAAAQDJAAAAwAAAcwqAQABBdrF9da0SjJtPAQCASYqAQABBQ7+IEnrN048PAQCASYqAQABBbq7IdeCMxhkPAQCASYqAQABBYRygMKEIwtGPAQCASY=",
168
- "debug_symbols": "nZZLbuMwDIbv4nUWEkk9mKsMisJN3cKA4QRuMsCgyN2HqkU/OpAwTRbhLyr+QpGUrM/mtXu5vT/349v5ozn++mxepn4Y+vfn4Xxqr/15FO9nY9KXtdgc8SA2NkcSCzhbtNn65hjEkow5WT9bZ2a/c7P1MrY2CZdFUE+IWURUEUREEexnAcZmAaBCp1CnUD2kHlJPimYWpIKz8KgiZhH0L0IOA6ICo8uCFcgCBJNEnAUaVKEeqx6rHlAPSBggS0YkFeqh9BtMImbh1OPU430WQSIETkI8mB6PAsQ0FTkLVg8njxSPDKlQjw1J3O+HRnvh+Tp1XWqFTXNIy1zaqRuvzXG8DcOh+d0Ot68ffVza8cte20lmZYnd+CpWgG/90CV1P6xPm/KjAa3PTwfEuAAc7Ai2TGAPSmBPYSH4fQxQJlgTKROsNSsh4EOrIFNaRY1AQWMIxMU8uDLBk1eCpKGYB18mIHEGoKdSFqoRMGgEjqgUQaxF4DKA5GhZk/BIFt2mkt+7qYbwqITgFwD9oJBuLaTkrhRCrR9hSYMFdgsi7vNgsYyAqHsSN80k+35PoEoQ8lmiEAkLRY6aPcVVt5bTfFrDxpQptcZ0sKxmLSrwN0Ko5MPGmBEgr5vHGGtZACKWGVxmUOClwyOuObX/H4ac62ttN8X9J4xah1nWrW7R+FKHQQXhotbVb6oawyP7xFlX2idQaVGmoAd/gFIIUO1OcH7pTigfmuBrEGPDAjFYPPegUlS/9qcHA0VE5eyEsHQ4F0/v2kJYsriug2IpCDS1nUraFugqYdSLQpuicDEZWGvwyAuD7bpX6evW8/MGxf07/UlG7amfdlfpe2JNffsydHn4dhtPm9nrn4vO6FX8Mp1P3ett6hJpcx+X71/yKgv8lC7lMpDdFt3TPf31Xw=="
168
+ "debug_symbols": "nZZLbuMwDIbv4nUWEqkHmasUReGmbmHAcAI3GWBQ5O5D1aIfM5DQySb8TcVfKIpk9NW8da+3j5d+fD9/Nsenr+Z16oeh/3gZzqf22p9H8X41Jn1Yi80RD2KpOTqxgLNFm21ojlGsk2dONszWm9nv/WyDPFubhM8iqidSFoQqoggSwWEWYGwWACp0CXUJ1ePU49STopmFU8FZBFRBWUT9iZjDAFIg+SxYgSxAMEnQLNCgCvVY9Vj1gHpAwgDZMqJToR6XvoNJUBZePV49IWQRJULgJMSD6XUSIKYl4ixYPZw8cnjOOBXqsTGJ+/3QaC28XKeuS6WwKQ4pmUs7deO1OY63YTg0v9rh9v2lz0s7fttrO8mqbLEb38QK8L0fuqTuh/VtU36V2If8NnGkBeBhR7BlAgdQAgcXF0LYxwBlgjXkMsFasxIiPrQLMqVdVAhsrcbAFot58GVCcEEJkoZiHkKZgI4zAIMrZaEaAYNG4J0rRUC1CHwGOBktaxIeyuKmFv6upgoiBsyEGMMCcD8/SMNrCBaLIdTqEZY0WGC/IGifB4tlBJD2JPJaTNL3e4KrpXJpCgawCwOJ9gxfawuApS0Clxm1ovSw7GQ9UGDeE2IlF5YoI0D+ah5jrEcCQFhmcJnhIi/VTQgLw/48DJnp67luDvafMGrVZVnb3KIJpeqCCsKT9kgwa5dSfKhHvC/1CNTK00UlRCiFAL429GGZ2aLLAxNCDWJsXCAGizMPKoca1voMYKCIqMxNiEuFc3Fy1zbCksV1H45KQaCpdarTskBfCaN+KG5zKFxMBtYKXGaNMngzgd33jef/CzTu/8+f5ak99dPuGn1PrKlvX4cuP77fxtNm9fr7oit6Db9M51P3dpu6RNrcxeXzKbpD5Od0IZcH6Tbyz/f0038A"
169
169
  },
170
170
  {
171
171
  "name": "claim",
@@ -1145,7 +1145,7 @@
1145
1145
  }
1146
1146
  },
1147
1147
  {
1148
- "name": "include_by_timestamp",
1148
+ "name": "expiration_timestamp",
1149
1149
  "type": {
1150
1150
  "kind": "integer",
1151
1151
  "sign": "unsigned",
@@ -1321,7 +1321,7 @@
1321
1321
  }
1322
1322
  },
1323
1323
  {
1324
- "name": "key_validation_requests_and_generators",
1324
+ "name": "key_validation_requests_and_separators",
1325
1325
  "type": {
1326
1326
  "kind": "struct",
1327
1327
  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray",
@@ -1333,7 +1333,7 @@
1333
1333
  "length": 16,
1334
1334
  "type": {
1335
1335
  "kind": "struct",
1336
- "path": "aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator",
1336
+ "path": "aztec::protocol_types::abis::validation_requests::key_validation_request_and_separator::KeyValidationRequestAndSeparator",
1337
1337
  "fields": [
1338
1338
  {
1339
1339
  "name": "request",
@@ -1378,7 +1378,7 @@
1378
1378
  }
1379
1379
  },
1380
1380
  {
1381
- "name": "sk_app_generator",
1381
+ "name": "key_type_domain_separator",
1382
1382
  "type": {
1383
1383
  "kind": "field"
1384
1384
  }
@@ -1860,7 +1860,7 @@
1860
1860
  "name": "fields",
1861
1861
  "type": {
1862
1862
  "kind": "array",
1863
- "length": 18,
1863
+ "length": 16,
1864
1864
  "type": {
1865
1865
  "kind": "field"
1866
1866
  }
@@ -2015,9 +2015,9 @@
2015
2015
  }
2016
2016
  }
2017
2017
  },
2018
- "bytecode": "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",
2019
- "debug_symbols": "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wyWOSxyXOOcla93r8RtObK17PZ/Hvta97hjETkxiEQdxKq51rzs2ohGdGMROTGIRBxFag9agNWgNWoPWoDVoDVqD1qAZNINm0AyaQTNoBs2gnS5Zz/09XbLi6ZIdT1qc0YhODGInJhWKCO10yfq3p0t2hBbQAlpAC2gBLaAFtGBsnbF1aB1ah9ahdWinS3Ys4iAytoR2umRHIzoxiNASWkJLaAmtmMlibMXYirEVtNMlOzKTxUwWM1nQBrQBbUAb0AYzORjbYGyDsQ1og/02mcnJTE5mckKb0Ca0CW1Cm8zkvMa21r3u2IgXba173TGInZjEosIgQmvQGrRmRCcGsROhtSIO4jWTa93rjtAMmkEzaAbNksjYjLEZY8Mla93rjsykM5POTOKSte51R2gODZd0XNJxScclHZesda/7qePsN1zScUnHJWvd66rQoeGSjks6Lum4pOOSjks6LlnrXhets99wScclHZesda+rQkLDJR2XdFzScUnHJR2XdFyy1r0uWrHfcEnHJR2XrHWvuwI0XNJxScclHZd0XNJxSccla93rog32Gy7puKTjkrXudVWY0HBJxyUdl3Rc0nFJxyUdl6x1rydtrXvd0YhODGKnQhKLOIjQcEniksQliUvWutdFa52YxCIOIjSDhksSlyQuSVySuCRxSeKS5LwkOS9JXJK4JHFJcl6SnJckLklckrgkcUniksQliUvWutdFC/YbLklckrhkrXvdFaDhksQliUsSlyQuSVySuGSte120zn7DJYlLEpesda+rQkLDJYlLEpckLklckrgkccla97poxX7DJYlLEpesda+7AjRckrgkcUniksQliUsSl6x1r4s22G+4JHFJ4pK17nVVmNBwSeKSxCWJSxKXJC5JXLLWvS7avPZb4ZLCJYVL1rrXs8Ja97pjJyaxiIN4ja1wSeGSte510ZoTg9iJSYTWoOGSwiWFSwqXFC4pXFK4ZK17XTQr4iAyk7ikuMYprnEKlxQuKVxSuKRwSeGSwiVr3euiBfsNlxQuKVxSXOOsda87QsMlhUsKlxQuKVxSuGSte120zn7DJYVLCpcU1zhr3euO0HBJ4ZLCJYVLCpcULlnrXhct2W+4pHBJ4ZLiGmete90RGi4pXFK4pHBJ4ZLCJWvd66IN9hsuKVxSuKS4xlnrXneEhksKlxQuKVxSuKRwyVr3umiT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",
2020
- "verification_key": "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"
2018
+ "bytecode": "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0rVncGw5d+nanLt0bc5dujbnLl2bc5euzblL1+bcpWtz7tK1OXfp2py7dG3SL7xy7tK1OXfp2py7dG3OXbo25y5dm3OXrs25S9fm3KVrc+7StTl36dqcu3Rtzl26NucuXZtzl67NuUvX5tyla3Pu0rU5d+nanLt0bc5duvZKji3nLl2bc5euzblL1+bcpWtz7tK1OXfp2py7dG3OXbo25y5dm3OXrs25S9fm3KVrc+7StTl36dqcu3Rtzl26NucuXZtzl67NuUvX5tyla3Pu0rU5d+nanLt07QMcW85dujbnLl2bc5euzblL1+bcpWtz7tK1OXfp2ic4tpy7dG3OXbo25y5dm3OXrs25S9fm3KVrc+7StTl36dqcu3Rtzl26NucuXZtzl67NuUvXw7lL18O5S9fDuUvXw7lL18O5S9fDuUvXw7lL18O5S9fDuUvXw7lL18O5S9fDuUvXw7lL18O5S9fDuUvXk8SxzcOxzcuxzcex5dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6ynHseXcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+t5hGPLuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1lObY8u5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9aTyrHl3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+uB7r+t3qRVm9ROVVq3aN+r1mZP09I33nTzLbfeVqZsudvvuPOuu++5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",
2019
+ "debug_symbols": "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/O23Qv+2E3efyfp5o3Hb8Pn1wrtOra9w6m/sy5tbPT38/Xequvvh/bdf/r35XPbyo4BiXO9TMd98F3NM6x+ff/ruLz/8/Mtn6Z3PPTsev1aHro6Ht+3tXNvjMVrH3aPjKVrn1vbWj6/pv12PZer7uUy5H8yU68lMxw208/l5bT2b6diez887H9S1t7a3vrext31vc293Pd/1fNeLXS92vdj1YteLXS92vdj1YteLXS92vb7r9V2v73p91+u7Xt/1+q7Xd72+6/VdL3e93PVy1zue1XX88PjxqK5z2/f2qPe0yPGcrnM79naubT32tq1/fzzG69zueufj4I6/73u769WuV7te7Xpj1xu73tj1xq439v6NvX9j1xu73tj1xq43d73jKV7n1vbW93bv39z1jsfDndva27G3c23bYxdsj6ZgCq4QCl0hFUphKKjy8RDAFZqCKbiCKjdVbqrcVLmpcttzsB46GXrqZOixk6HnTroePOl68qTr0ZOuZ0+6Hj4Zevpk6PGToedPhh5AGXoCZexHUK6gfXbts6uyDwXNRmg2QrMRqhyqHKocqhyqHJqN0D6H9rlrn7sqd81z12x0zUbXbHRV7qrcVbmrcqpyajZS+5za59Q+q8Naap5Ts5GajdRsqM1aqXKpcqmyWq2p15qaranbmtrtfKTmWXlontVxTS3X1HPnIzXPVw1VVts19V1T4zV1XlPrNfVeU/Odj908K0/Ns/qvqQGbOvB87OZ61a5s6kFTD5p60NSDph409aCpB88HcR6VzwdxrrBnw9SDph60pspNldWDph409aCpB009aOpBUw+eD+s8K5spuEIodAVVNlVWD5p60NSDph409aCpB009eD6+86zsqaDZUA+aetBClUOV1YOmHjT1oKkHTT1o6kFTD1qoctc8qwdNPWjqQeuq3FVZPWjqQVMPmnrQ1IOmHjT1oOk9zvQmZ+pBUw+aetD0Rmd6pzP1oKkHTT1o6kFTD5p60NSD6wGorieguh6B6noGqushqK6noIYegxp6DmroQaihJ6GGHoUaehZq6GGosZ+GuoIqT82zetDUg6YePJ+Rul6lyupBUw+6etDVg64edPWgqwfPh6kelf2RCqUwFPZseFPlpsrqQVcPunrQ1YOuHnT1oKsHz2ewnpXtodAUTMEVVNlUWT3o6kFXD7p60NWDrh509aC7Knso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4rjEuS5Z616P325ia93r+Tz2te51xyB2YhKLOIhTca173bERjejEIHZiEos4iNAatAatQWvQGrQGrUFr0Bq0Bs2gGTSDZtAMmkEzaAbtdMl67u/pkhVPl+x40uKMRnRiEDsxqVBEaKdL1r89XbIjtIAW0AJaQAtoAS2gBWPrjK1D69A6tA6tQztdsmMRB5GxJbTTJTsa0YlBhJbQElpCS2jFTBZjK8ZWjK2gnS7ZkZksZrKYyYI2oA1oA9qANpjJwdgGYxuMbUAbHLfJTE5mcjKTE9qENqFNaBPaZCbnNba17nXHRrxoa93rjkHsxCQWFQYRWoPWoDUjOjGInQitFXEQr5lc6153hGbQDJpBM2iWRMZmjM0YGy5Z6153ZCadmXRmEpesda87QnNouKTjko5LOi7puGSte91PHee44ZKOSzouWeteV4UODZd0XNJxScclHZd0XNJxyVr3umid44ZLOi7puGSte10VEhou6bik45KOSzou6bik45K17nXRiuOGSzou6bhkrXvdFaDhko5LOi7puKTjko5LOi5Z614XbXDccEnHJR2XrHWvq8KEhks6Lum4pOOSjks6Lum4ZK17PWlr3euORnRiEDsVkljEQYSGSxKXJC5JXLLWvS5a68QkFnEQoRk0XJK4JHFJ4pLEJYlLEpck1yXJdUniksQliUuS65LkuiRxSeKSxCWJSxKXJC5JXLLWvS5acNxwSeKSxCVr3euuAA2XJC5JXJK4JHFJ4pLEJWvd66J1jhsuSVySuGSte10VEhouSVySuCRxSeKSxCWJS9a610UrjhsuSVySuGSte90VoOGSxCWJSxKXJC5JXJK4ZK17XbTBccMliUsSl6x1r6vChIZLEpckLklckrgkcUnikrXuddHmddwKlxQuKVyy1r2eFda61x07MYlFHMRrbIVLCpesda+L1pwYxE5MIrQGDZcULilcUrikcEnhksIla93rolkRB5GZxCXFZ5ziM07hksIlhUsKlxQuKVxSuGSte1204LjhksIlhUuKzzhr3euO0HBJ4ZLCJYVLCpcULlnrXhetc9xwSeGSwiXFZ5y17nVHaLikcEnhksIlhUsKl6x1r4uWHDdcUrikcEnxGWete90RGi4pXFK4pHBJ4ZLCJWvd66INjhsuKVxSuKT4jLPWve4IDZcULilcUrikcEnhkrXuddEmxw2XFC4ZuGTwGWete93RiUHsxCQWcRCvsa11r4vWGtGITgwitAYNlwxcMnDJwCUDlwxcMnDJWve6aNaJSSziIELDJYPrksF1ycAlg884a93rjtBwycAlA5cMrkvWutfjNyzYWvd6/KIAW+tedwxiJyaxiIM4r7hcsmIjQuvQOrQOrUPr0Dq0Di2hJbSEltASWkJLaAktoSW0glbQClpBK2gFraAVtNMlxzM1ba17XfF0yY4H7Xigpq11rzs6MYidmFQoIrTTJevfni7ZEdqENqFNaBPahDahTWjzGtta97rjRVvrXnd0YhA7MYlFHMRrbGvd66KdLtnRiE4MIrQGrUFr0Bo0exAZmzE2Y2wG7XTJjkks4iBCc2gOzaE5NGcmnbE5Y3PG5tCc4xbMZDCTwUwGtIAW0AJaQAtmMhhbZ2ydsXVonePWmcnOTHZmskPr0Dq0hJbQkplMxpaMLRlbQkuOWzKTyUwWM1nQClpBK2gFrZjJYmzF2Iqx4ZK17nVHZnIwk4OZxCVr3euO0AY0XDJxycQlE5dMXLLWvS7a5LjhkolLJi5Z616PCr7Wve7YiEZ0YhA7MYlFFM3XutcVL5f443KJPy6X+Fr3uio0aA1ag9agXS7xR2NsxtiMsRk0c2IQOzGJ0AyaQXNoDs2ZSWdszticsTk0LyIz6cxkMJMBLaAFtIAW0IKZDMYWjC0YW4fWOW6dmezMZGcmO7QOrUPr0Dq0ZCaTsSVjS8aW0JLjlsxkMpPJTCa0glbQClpBK2ayGFsxtmJsBa04boOZHMzkYCYHtAFtQBvQBrTBTA7GNhnbZGwT2uS4TWZyMpOTmZzQJjRc0nBJwyUNlzRc0nBJwyVr3etJW+tedxzEayYbLlnrXleFBg2XNFzScEnDJQ2XNFzScMla97po1ohGdGIQoRk0XNJwScMlDZc0XNJwScMla93ronknMpO4pOGSte51VQhouKThkoZLGi5puKThkoZL1rrXRQuOGy5puKThktahdWi4pOGShksaLmm4pOGShktaQkuOGy5puKThkrXudVeAhksaLmm4pOGShksaLmm4ZK17XbTiuOGShksaLmkD2oCGSxouabik4ZKGSxouabhkrXtdtMlxwyUNlzRc0ia0CQ2XNFzScInhEsMlhksMl6x1rydtrXvdMYlFHERoDRouMVxiuMRwieESwyWGS9a610Vr13EzXGK4xHCJGTSDhksMlxguMVxiuMRwieGSte510dyJzCQuMVxiDs2h4RLDJYZLDJcYLjFcYrhkrXtdtOC44RLDJYZLrEPr0HCJ4RLDJYZLDJcYLjFcsta9Llpy3HCJ4RLDJZbQEhouMVxiuMRwieESwyWGS9a610UrjhsuMVxiuMQKGi4xrkuM6xLDJTagDWgDGi4xXGK4xLguWetej99y4mvda9YZnRjETkxiEQdxKq51rzs2ohGdGMROTGIRBxFag9agNWgNWoPWoDVoDVqD1qAZNINm0AyaQTNoBs2gLZfMM84rLpeseNDqcUYjOjGInZhUKCK00yXr354u2RFaQAtoAS2gBbSAFtCCsXXG1qF1aB1ah9ahnS7ZsYiDyNgS2nLJikZ0YhChJbSEltASWjGTxdiKsRVjK2jLJSsyk8VMFjNZ0Aa0AW1AG9AGMzkY22Bsg7ENaIPjNpnJyUxOZnJCm9AmtAltQpvM5LzGtta97tiIF22te90xiJ2YxKLCIEJr0Bq0ZkQnBrETobUiDuI1k2vd647QDJpBM2gGzZLI2IyxGWPDJWvd647MpDOTzkzikrXudUdoDg2XBC4JXBK4JHDJWve6aMFxwyWBSwKXrHWvq0KHhksClwQuCVwSuCRwSeCSte510TrHDZcELglcsta9rgoJDZcELglcErgkcEngksAla93rohXHDZcELglcsta97grQcEngksAlgUsClwQuCVyy1r0u2uC44ZLAJYFL1rrXVWFCwyWBSwKXBC4JXBK4JHDJWvd60ta61x2N6MQgdioksYiDCA2XdFzScUnHJWvd66K1TkxiEQcRmkHDJR2XdFzScUnHJR2XdFzSuS7pXJd0XNJxScclneuSznVJxyUdl3Rc0nFJxyUdl3Rcsta9Llpw3HBJxyUdl6x1r7sCNFzScUnHJR2XdFzScUnHJWvd66J1jhsu6bik45K17nVVSGi4pOOSjks6Lum4pOOSjkvWutdFK44bLum4pOOSte51V4CGSzou6bik45KOSzou6bhkrXtdtMFxwyUdl3Rcsta9rgoTGi7puKTjko5LOi7puKTjkrXuddHmddwSlyQuSVyy1r2eFda61x07MYlFHMRrbIlLEpesda+L1pwYxE5MIrQGDZckLklckrgkcUniksQla93rolkRB5GZxCXJZ5zkM07iksQliUsSlyQuSVySuGSte1204LjhksQliUuSzzhr3euO0HBJ4pLEJYlLEpckLlnrXhetc9xwSeKSxCXJZ5y17nVHaLgkcUniksQliUsSl6x1r4uWHDdckrgkcUnyGWete90RGi5JXJK4JHFJ4pLEJWvd66INjhsuSVySuCT5jLPWve4IDZckLklckrgkcUnikrXuddEmxw2XJC4pXFJ8xlnrXnd0YhA7MYlFHMRrbGvd66K1RjSiE4MIrUHDJYVLCpcULilcUrikcMla97po1olJLOIgQsMlxXVJcV1SuKT4jLPWve4IDZcULilcUlyXrHWvZWc8x3ZWWJ9xVgxiJyaxiIM4r7hcsuJBG+2MRnRiEDsxiUUcxHnF0yU7QktoCS2hJbSEdrrk+O25vta97sjYirGtzzgrMpPFTBYzWcxkMZPFTBYzWdAGtAFtQBvQBrQBbTC2wUwOZnIwk5OZnMzkZCYnMzmZyclMTmgT2oQ2L9pa97pjI5pmfa17PUex1r3u2IlJLOIgXjO51r3u2IhGhNagNWgNWoPWoDVoxtiMsZkRnRjETkxiEQeRmXRoDs2hOTSH5tBOl6xZP10yxhkHcV7xdMmOjWhEJwaxEw/a8eunfa173XEQ5xVPl+zYiEZ0YhA7EVqH1qF1aAktoR0ued5gPKMT44h1xk5MYhEHcV7xcIliIxrRidAKWkEraAWtoA1oA9qANqANaAPagDagDWgD2oQ2oU1oE9qENqFNaBPahDYv2rnuVbERjejEIHZiEos4iNAatAbtcMnzru0ZD5r1MwaxE5NYxEGcVzxcotiIRoRm0AyaQTNoBs2gOTSH5tAcmkNzaA7NoTk0hxbQAlpAC2gBLaAFtIAW0AJah3a45HlP+4xGdGIQOzGJRRzEecXDJYrQElpCS2gJLaEltISW0ApaQStoBa2gFbSCVtAKWkEb0Aa0AW1AG9AGtAFtQBvQBrQJbUKb0Ca0CW1Cm9AmtAltihbnulfFRjSiE4PYiUks4iBCa9AatAatQWvQGrQGrUFr0Bo0g2bQDJpBM2gGzaAZNINm0ByaQ3NoDs2hOTSH5tAcmkMLaAEtoAW0gBbQAlpAC2gBrUPr0Dq0Dq1D69A6tA6tQ+vQElpCS2gJLaEltISW0BJaQitoBa2gFbSCVtAKWkEraAVtQBvQBrQBbUAb0Aa0AW1AG9AmtAltQpvQJrQJbUKb0CY0XNJwScMlDZc0XNJwScMlDZc0XNJwScMlDZc0XNJwScMlDZc0XNJwScMlDZc0XNJwScMlDZc0XNJwScMlDZc0XNJwScMlDZc0XNJwScMlDZc0XNJwScMlDZc0XNJwScMlDZc0XNJwScMlDZc0XNJwScMlDZe05ZI840GL9X+dGMROPGgxz3jQjqdKxbnuVfGg5RlPl+zYiEY8aNnPGMSDluOMB63Wvy3iQSv/17ff/O93P//w3Z9//P5/vvnDP59//K9//PSXv//w15/2H//+//6mv/nzzz/8+OMP//2nv/381798/5//+Pn7P/34178cf/fN4/jPcT7/R8tvrf3x+Y/b/v//Yb2+tco/Pt+3j79/9G+fp/DzT+c/N5/fPifl+GM7/hjjW+uP4/Wm1z+P9Lfhtl9/DPo5Ar3+eQn37fMNWq9/Ov/5xzxe78frj1f48XL9++f8xzz+Ov59j7te8bzm9GsP4/Ft9OOv83rF81ODPRn/+tcf//X/AQ==",
2020
+ "verification_key": "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"
2021
2021
  },
2022
2022
  {
2023
2023
  "name": "claim_and_end_setup",
@@ -2997,7 +2997,7 @@
2997
2997
  }
2998
2998
  },
2999
2999
  {
3000
- "name": "include_by_timestamp",
3000
+ "name": "expiration_timestamp",
3001
3001
  "type": {
3002
3002
  "kind": "integer",
3003
3003
  "sign": "unsigned",
@@ -3173,7 +3173,7 @@
3173
3173
  }
3174
3174
  },
3175
3175
  {
3176
- "name": "key_validation_requests_and_generators",
3176
+ "name": "key_validation_requests_and_separators",
3177
3177
  "type": {
3178
3178
  "kind": "struct",
3179
3179
  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray",
@@ -3185,7 +3185,7 @@
3185
3185
  "length": 16,
3186
3186
  "type": {
3187
3187
  "kind": "struct",
3188
- "path": "aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator",
3188
+ "path": "aztec::protocol_types::abis::validation_requests::key_validation_request_and_separator::KeyValidationRequestAndSeparator",
3189
3189
  "fields": [
3190
3190
  {
3191
3191
  "name": "request",
@@ -3230,7 +3230,7 @@
3230
3230
  }
3231
3231
  },
3232
3232
  {
3233
- "name": "sk_app_generator",
3233
+ "name": "key_type_domain_separator",
3234
3234
  "type": {
3235
3235
  "kind": "field"
3236
3236
  }
@@ -3712,7 +3712,7 @@
3712
3712
  "name": "fields",
3713
3713
  "type": {
3714
3714
  "kind": "array",
3715
- "length": 18,
3715
+ "length": 16,
3716
3716
  "type": {
3717
3717
  "kind": "field"
3718
3718
  }
@@ -3867,9 +3867,9 @@
3867
3867
  }
3868
3868
  }
3869
3869
  },
3870
- "bytecode": "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",
3871
- "debug_symbols": "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",
3872
- "verification_key": "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"
3870
+ "bytecode": "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tTl36dqcu3Rtzl26NucuXZtzl67NuUvX5tyla3Pu0rU5d+nanLt0bc5dujbnLl2bc5euzblL1+bcpWvP4Nhy7tK1OXfp2py7dG3OXbo25y5dm3OXrs25S9fm3KVrc+7StTl36dqkX3jl3KVrc+7StTl36dqcu3Rtzl26NucuXZtzl67NuUvX5tyla3Pu0rU5d+nanLt0bc5dujbnLl2bc5euzblL1+bcpWtz7tK1OXfp2py7dO2VHFvOXbo25y5dm3OXrs25S9fm3KVrc+7StTl36dqcu3Rtzl26NucuXZtzl67NuUvX5tyla3Pu0rU5d+nanLt0bc5dujbnLl2bc5euzblL1+bcpWtz7tK1OXfp2gc4tpy7dG3OXbo25y5dm3OXrs25S9fm3KVrc+7StU9wbDl36dqcu3Rtzl26NucuXZtzl67NuUvX5tyla3Pu0rU5d+nanLt0bc5dujbnLl2bc5euh3OXrodzl66Hc5euh3OXrodzl66Hc5euh3OXrodzl66Hc5euh3OXrodzl66Hc5euh3OXrodzl66Hc5euJ4ljm4djm5djm49jy7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1lOOY8u5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bzCMeWc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rac2x5Zz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/60nlWPLuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9YD3X9bvUmrNqmdqrRu0b5Xrc2epqVvvOnmW269rUzZcrffceddd99z7333P/DgQw8/Uv7RxypUfLxS5SpVqz1RvUbNWk/WfurpOs/Uffa551+o9+JL9RukNGzUuEnTZs1bvPxKy1at27R9NbVd+w6vvd6x0xtvvvX2O+8GOge6BN4LvB/4IPBh4KNA10C3wMeBTwKfBj4LdA/0CPQMpAX8gfRAr0DvQJ9A30C/QP/A54EBgYGBQYHBgSGBoYFhgeGBEYGRgVGB0YExgbGBcYHxgQmBiYFJgcmBKYGpgWmB6YEZgZmBWYHZgTmBuYF5gfmBLwILAgsDXwYWBb4KfB34JvBt4LvA94EfAj8Gfgr8HFgcWBL4JRAIiMDSwLLA8sCKwMrAqsDqwJrA2sC6wPrAhsDGwKbA5sCWwNbAtsD2wI7AzsCuwO7AnsDewL7Ar4H9gQOBg4FDgcOBI4GjgWOB44ETgZOBU4HTgd8Cvwf+CPwZ+CtwJvB34J/A2cC/wsohLEtYtrA8wooRVk5heYUVK6xcwooTVrywEoSVKKzcwvIJK0lYeYSVV1j5hJVfWAWEVVBYVwjrSmEVElZhYV0lrKuFdY2wigjrWmEVFVaysK4T1vXCukFYxYRVXFglhFVSWKWEVVpYNwrrJmHdLKxbhHWrsG4TVhlhlRVWOWHdLqw7hHWnsO4S1t3CukdY9wrrPmHdL6wHhPWgsB4S1sPCekRY5YX1qLAeE1YFYVUU1uPCqiSsysKqIqyqwqomrCeEVV1YNYRVU1i1hPWksGoL6ylhPS2sOsJ6Rlh1hfWssJ4T1vPCekFY9YT1orBeElZ9YTUQVoqwGgqrkbAaC6uJsJoKq5mwmgurhbBeFtYrwmoprFbCai2sNsJqK6xXhZUqrHbCai+sDsJ6TVivC6ujsDoJ6w1hvSmst4T1trDeEda7wuosrC7Cek9Y7wvrA2F9KKyPhNVVWN2E9bGwPhHWp8L6TFjdhdVDWD2FlSYsv7DShdVLWL2F1UdYfYXVT1j9hfW5sAYIa6CwBglrsLCGCGuosIYJa7iwRghrpLBGCWu0sMYIa6ywxglrvLAmCGuisCYJa7KwpghrqrCmCWu6sGYIa6awZglrtrDmCGuusOYJa76wvhDWAmEtFNaXwlokrK+E9bWwvhHWt8L6TljfC+sHYf0orJ+E9bOwFgtribB+EVZAWEJYS4W1TFjLhbVCWCuFtUpYq4W1RlhrhbVOWOuFtUFYG4W1SVibhbVFWFuFtU1Y24W1Q1g7hbVLWLuFtUdYe4W1T1i/Cmu/sA4I66CwDgnrsLCOCOuosI4J67iwTgjrpLBOCeu0sH4T1u/C+kNYfwrrL2GdEdbfwvpHWGeF9a+wcwjbErYtbI+wY4SdU9heYccKO5ew44QdL+wEYScKO7ewfcJOEnYeYecVdj5h5xd2AWEXFPYVwr5S2IWEXVjYVwn7amFfI+wiwr5W2EWFnSzs64R9vbBvEHYxYRcXdglhlxR2KWGXFvaNwr5J2DcL+xZh3yrs24RdRthlhV1O2LcL+w5h3ynsu4R9t7DvEfa9wr5P2PcL+wFhPyjsh4T9sLAfEXZ5YT8q7MeEXUHYFYX9uLArCbuysKsIu6qwqwn7CWFXF3YNYdcUdi1hPyns2sJ+SthPC7uOsJ8Rdl1hPyvs54T9vLBfEHY9Yb8o7JeEXV/YDYSdIuyGwm4k7MbCbiLspsJuJuzmwm4h7JeF/YqwWwq7lbBbC7uNsNsK+1Vhpwq7nbDbC7uDsF8T9uvC7ijsTsJ+Q9hvCvstYb8t7HeE/a6wOwu7i7DfE/b7wv5A2B8K+yNhdxV2N2F/LOxPhP2psD8Tdndh9xB2T2GnCdsv7HRh9xJ2b2H3EXZfYfcTdn9hfy7sAcIeKOxBwh4s7CHCHirsYcIeLuwRwh4p7FHCHi3sMcIeK+xxwh4v7AnCnijsScKeLOwpwp4q7GnCni7sGcKeKexZwp4t7DnCnivsecKeL+wvhL1A2AuF/aWwFwn7K2F/LexvhP2tsL8T9vfC/kHYPwr7J2H/LOzFwl4i7F+EHRC2EPZSYS8T9nJhrxD2SmGvEvZqYa8R9lphrxP2emFvEPZGYW8S9mZhbxH2VmFvE/Z2Ye8Q9k5h7xL2bmHvEfZeYe8T9q/C3i/sA8I+KOxDwj4s7CPCPirsY8I+LuwTwj4p7FPCPi3s34T9u7D/EPafwv5L2GeE/bew/xH2WWH/Kzw5hEci2RYej/DECE9O4fEKT6zw5BKeOOGJF54E4UkUntzC4xOeJOHJIzx5hSef8OQXngLCU1B4rhCeK4WnkPAUFp6rhOdq4blGeIoIz7XCU1R4koXnOuG5XnhuEJ5iwlNceEoIT0nhKSU8pYXnRuG5SXhuFp5bhOdW4blNeMoIT1nhKSc8twvPHcJzp/DcJTx3C889wnOv8NwnPPcLzwPC86DwPCQ8DwvPI8JTXngeFZ7HhKeC8FQUnseFp5LwVJYf7cuP4eVH5vLjbflRtPzYWH7EKz+OlR+dyo855UeS8uND+VGf/FhOfoQmP+6SH03Jj5HkRz7y4xn5UYr82EN+RCE/TpCP/uVjevlIXT7+lo+q5WNl+QhYPq6Vj1blY1D5yFI+XpSPAuVjO/mITT4Ok4+u5GMm+UhIPr6Rj1rkYxH5CEM+bpCPBuTbePmWW749lm9l5dtO+RZRvp2Tb73k2yT5lka+/ZBvFeTLevkSXL5cli9t5ctQ+ZJRvryTL8Xky6YJtZu075DaukJK+5TNOUrnsGxPTE5vbK64+ITE3L6kPHnz5S9Q8IorCxW+6uprilxbNPm6628oVrxEyVJpaZtzlEnvMqp8oxaphdKXLY89eOqXH5ulpV340VWZf/RA+rJN391Ue21Fb9HQjx7M/KOHMv9INtWsfvhvFj+0c2TxQ8/u9GX9DxUYnTgw9/PODw9k9cNjWf3wt6x++HcWP4yxs/phrqx+6Mvqh7dnMfmYO7L64Z1Z/DDn6ax++FtWP/w9ix/Gzs3qh/Oy+uH8LH4Y1ymrH76R1Q/fzOKHCfdn9cMHsvphFkUjEv/J6odZlU1iVmWTVCSL7Ui6Iasfls7qh7dl9cM7s/rh/Vn9sHxWP6yU1Q9bpy+bOKln47c7/9zl4g/z3J2+7IUF8X/1rfXzYOeHD2U+gCJPpax+WDWrHz7h+uHA9A2lUs69H6vfqE2rtintWzRs2aR+m9SURvL/ea1JarsWbVrXfz01pW3bJqmbc1zRZfRjbVq3a9+ry5gKLVKbNGpvdxlbpXX7Js2apI6sc3s59Vu5jP/eyta/71wh47/Pkb34FbqMeiylZUt/wkWfcbWbtJSLfq1J9mYi329mcrCz6zApOJfGsjc/1qZtp4tLquCek8v8/MxzX/bMKxiY+ain2rdp608PM9MMe/TY6MdbNGmp/iA4ccx5Wl1YaZ4uEx9vk9qkRbPWwf/ZZ0OxDu1btGzRvtP5pwePXSzWmudq9ZnzpZqW5u8y+fyDgPKNG6c2adfu4iz8XcY81aJV25ZNzk8nFCzDZGOylYqOFbpMfLRF65TgY4f2Ndv2Cbl4xj0hQz/dPKV10MUp1otBxlTt0KptlabpF/9BwS6Tq7RufH6mYU/IXRG+nb/xh9NrZ1Ut16rLqKflafWnO/8+dFQvrDh9TsMOLVo2rt+qXbP6DVu2afRK/eZNWgZPt1Xwf3y6B17m6R54oXKaZq7w7G1rjsczO+Q0c7oruufkMpczdy28ojMIRR1R554MosedQXhRJWcQXlTZGYQXVXEG4UVVnUF4UTVnEF70hDMIL6ruDMKLajiD8KKaziC8qJYzCC960hmEF9V2BuFFTzmD8KKnnUF4UR1nEF70jDMIL6rrDMKLnnUG4UXPOYPwouedQXjRC84gvKieMwgvetEZhBe95AzCi+o7g/CiBs4gvCjFGYQXNXQG4UWNnEF4UWNnEF7UxBmEFzV1BuFFzZxBeFFzZxBe1MIZhBe97AzCi15xBuFFLZ1BeFErZxBe1NoZhBe1cQbhRW2dQXjRq84gvCjVGYQXtXMG4UXtnUF4UQdnEF70mjMIL3rdGYQXdXQG4UWdnEF40RvOILzoTWcQXvSWMwgvetsZhBe94wzCi951BuFFgc6uUQRZF9coguw91yiC7H3XKILsA9coguxD1yiC7CPXKIKsq2sUQdbNNYog+9g1cr+6zKj7xDW6RHe57wUrXvbr3ApdRlZv81q6+1Xthblamb292Z1dlm+urJHyrZ37fZXljpDxbdQ4zbcAVobgToiL4TOv2b6QjQv/0+PemEv+S4x7ypf8l5wZ3hXI9zMtMubYcofO8N9sV01l+E8eVxmdd24fbpF25kU6byQzb6wne7n99LLfoOUJm2g7bKI9YRMdczHRl/to5NPLzk2ezA9XbLdZxocr2XN/JOO/r5C9fx8TemyS5cmMzXgyPU6yL8l9Lkdwyc/jnG3LMkD8mIqvdkhp2c4d46JXbKanKvHtuox6ok1K44s/8Dr/aLTMcmqTzJG9WUfOlXFpuZzjkOU/iMv4D+KcfzAqOE9/y0ufdwWOGnjokOHEeyM049jseefNfjOODd+MvYaacWzmPuWN0KdyZfcshgmbK3PYXO51Z9iGOPd/C2MZPyX0yNBV4lm5xzll7vxj+VIpVNBZRc0ZLmpc5oVkqtN3Mi4n1tlrtCacLck4y1j3zoVD7qWPU7NujJmz4g0MuLAEyUJ8Jz1Obw2XtYh75XFvW+ZZxQW6h0786bAB1AvO2jo9tOC0sK3gsZCkf/icPNWhYYRMX25W7Cyn3jeUlT8yT9216ouTz/S606W/IBoUQZTTEWm80KsQNncRk3DJJDMnIVdgmFMal9u8rPBnPtP2XpLhy21Q3iwb1Ghne8Pmu0KL18L0oiw+tIrLbi/P5BDvem9WNhufblw0SLjsT94S3W8PdT50zJ29KeTK/HYh84mYHG6HfOq2lNXm+wIzQtbTQi/IxmXxXiY29IIowxyTTPImCaBinpHVO7TMuETVyc+XuXzzKP9R3jFZHaZ8kXtl3sAXocN0JmOufFns58Kw0cPsp8+Zd1bRl4WMv8q0mz53ojP+xyTgZVAedYll9QIoT+D7UErOhn1rmHR5H/bKl8DnQwjLypj2PM4bnXC5zkyTPOHeQrhqKtM/yuvOSabqzufeikivtcK+tPVlDnnJq47w/cOn7B/5ssqB69+H+Wf5I5Inj3v1mSsjf2CV8uVW/jBFl+8S8mdhvT605LUZ85LX3eMviHaHjZ/Vi1DXLML8swLoC678WUy+QGCzMi/5wuQlvxuBma3zBbY5hzHc3CM+YArzjwpm/kcF3LPK2HBc+1cwwgblczYogkNS+N17qnnLsIWTO/QwN6v/mPfSx7l468h/2eWR3z2LrMrjoOulaASI5s3GrH0RGonPbXkRXJf37ZyBpr6dEzj1f/b1nMsNFPpmHz3Q1QubLH9484HN9EA5Y67+PHlqgyfogXbnqlXRnv1ZUXWgME8VPWEei2bx1NL1lCpjtcUKK/TSTVixGR9aXwwVUhQIo8j2i+UY8EGmx/kHl0SOD/NQNyHca6MLP07MIj3xrqemGdKTKKz8GTYgl/PPMjzWTXAkWT9Qzri4eMVj3YSM/yAh4+MyYSWGK8RsPs61lN/Ym/6//cZel7sv7xt71t0XX1Hbl/2R0M7od/ai39mLfmcv+p296Hf2ot/Zi35nL/qdveh39qLf2Wvyf/KdvSxkWX1lLwvZp65RBNlnrlEEWXfXKIKsh2sUQdbTNYogS3ONIsj8rlEEWbprFEHmHkWQ9XaNIsj6uEYRZH1dowiyfq5RBFl/1yiC7HPXKIJsgGsUQTbQNYogG+QaRZANdo0iyIa4RhFkQ12jCLJhrlEE2XDXKIJshGsUQTbSNYogG+UaRZCNdo0iyMa4RhFkY12jCLJxrlEE2XjXKIJsgmsUQTbRNYogm+QaRZBNdo0iyKa4RhFkU12jCLJprlEE2XTXKIJshmsUQTbTNYogm+UaRZDNdo0iyOa4RhFkc12jCLJ5rlEE2XzXKILsC9cogmyBaxRBttA1iiD70jWKIFvkGkWQfeUaRZB97RpFkH3jGkWQfesaRZB95xpFkH3vGkWQ/eAaRZD96BpFkP3kGkWQ/ewaRZAtdo0iyJa4RhFkv7hGEWQB1yiCTLhGEWRLXaMIsmWuUQTZctcogmyFaxRBttI1iiBb5RpFkK12jSLI1rhGEWRrXaMIsnWuUQTZetcogmyDaxRBttE1iiDb5BpFkG12jSLItrhGEWRbXaMIsm2uUQTZdtcogmyHaxRBttM1iiDb5RpFkO12jSLI9rhGEWR7XaMIsn2uUQTZr65RBNl+1yiC7IBrFEF20DWKIDvkGkWQHXaNIsiOuEYRZEddowiyY65RBNlx1yiC7IRrFEF20jWKIDvlGkWQnXaNIsh+c40iyH53jSLI/nCNIsj+dI0iyP5yjSLIzrhGEWR/u0YRZP+4RhFkZ12jCLJ/XaPwMmHlcA8jCS33MJLQdg8jCT3uYSRhjHsYSZjTPYwk9LqHkYSx7mEkYS73MJIwzj2MJIx3DyMJE9zDSMJE9zCSMLd7GEnocw8jCZPcw0jCPO5hJGFe9zCSMJ97GEmY3z2MJCzgHkYSFnQPIwmvcA8jCa90DyMJC7mHkYSF3cNIwqvcw0jCq93DSMJr3MNIwiLuYSThte5hJGFR9zCSMNk9jCS8zj2MJLzePYwkvME9jCQs5h5GEhZ3D0PCLH6HX1gl3MNLlP/73+LfTvwt/h3R3+K/8B2nnFq/xx8srHC/yB8spZB7nv/J7/JbJf+jv8sfTPdl/jZ/VmuL/jZ/k//Zb/MHX+j8h3+fX75MvfQ3+oX1afRX+sP9X/RX+t1mWfzGbPBlFO13+oMvOP9f/a1+Yd11cRXF/0O/1y+s0hcPvt/0b/YL69aLi75Z+bv9wrrjP/XL/cIqdzE1vYFf7w/OX/37/cK6B/gF/6Dqv/Mb/sJ6wFUk///1O/7CKu/a5f+v/pb/9v83fstfWFVM/5q/sGpcNH8i+ov+Bn7RX1jPXDxR/YBf9RfWs2Z/119Yr1y0fuG/89v+wmpwMS8D/g9+339w9Pf9M/83n7qT/E9+4V9YbdSvw3R/5V9Y7S8uOxX4pX9hdf5P/da/sDqqk6P7e//CetN1LP8f+s3/4C5Ff/XfqZGu7teo/5tf/g+i7LLad6e7Tf32v7DSor/+n/H/or/+n+khpLFf/x9+8QyMVP76/7T/7/36/9T/9q//jzP96/9fNWvSvn7LsvXbt6nfslz9Vk1aNWyS2q55i7b1X2/RvrXsZZtzlPsf/+Welpf5l3taXuDNFZf9YZKHdgtABfecXOaZPtO7qA/3iV7FsJ/nPX4hD1deeoQque3DENeT1ev48I/Ns5nWyped1mJh36Z5wn7KF6P8UPW6y/6ErtJl56Z45s/4XKuLufQzoUzPbnNG+DzHm92JmPykPaehR5FZPGTN6eqyl/yNt+su/I23Sk3aP1H26TZPlKt+sdnVPd/r0jP+eTfXro2v3CSlbfnU1JRO7qfLxdIv/cNvXUafl2T4e3DFeoV1tsL+Fzvsf/H0yhA10v/K1tcCnCz+v/Xp7U3/5c9ui5n5c4AtTb3lKPt/9+cANxRv3aZ9i6ad6jdKbZLSvknj+q07tGzZommLJqmhPwPaNrVNx07/+z/+WfEyX2RUvNCCEy/7rzxYl00d4EWGnZmQWb3IGGXoz4JWZP9Z0Ih/3fPLtqktXpPVV+NcKT52vhJrhAoxi7/q6YSg/F3Piv8P/l3PDSXbBdto/Rat6zfp2KSRRGmb1vUbpTRqfvHv+V78O763/o+PcuXLPMqVL1RRocs+iDGX/fIPOMrul4OMv9+b7fdI4d5/WJf9Mj8m+69Bc4Z/Deox9Bo0Z4Rvg+h82zOn8uuHhSO8qPOEfWdY6cK/LnbZVVL5/6qd//+6u5qVhoEgnJ9q24hCxSqoNw96UMG7t7aiB1HsAwTbbiFQY5s2xccopQc9exME8Sg+ig/jJtlks5vduiGxJL2J7GYnOzPfN98k2eaj+DzIcvG5T1LjUQyJL3OU1DfiU/fersyGzwc1hw6cn4JnaiVV5SudKUc3qf9Bv5dp0e/JAun3GNXRwBzYwIaFdN9u9Yy23rXNNuLiXg9z8N6ScHAlBc5I2vkQ4OCV8MXJbzMYh3K68UWOYp7KeZZy+4/3GYZPDJv5IQbP4CrV4TkkCv0GSpVbN1MuUKI4IyeTWbr9GH7faCbSqSEjg/4nDISMAd/uAoHvHAHfED6meIDqwwJjYI2MFlQcQ6MDdNDtwvF6+9GGC1sRMbKzJH2F9Rz2FUiIq+M/iHD/q/uwkbfuQ4VCpVMClZpgdG2Yd0EUN2EQN9wYrnkhLNaPIOzPWFtie3Hw8OktA7fGeYBp3XeMpx+pQm9E7Id01PzVhJhRjCuh2XkmhTSIf2NkjslslKLtifnesyaow8p49XdvgstyN/3gpET1Da1bN8aRu1J4swrOi7QRsTdneNNuMeKUp8UKcaUV9TmmhE1jizpmApX5grJUTOwwH64inpl+4IwxTAeEXujFqgmjfSsdVpGwPcGFaS73yiiBJXjxiJQ+IxYjqFaKVAKCq3OzQXoNpYGMbaCcFxxfUJ1+hZ3nbrE+sCGtAHP0TJunxXODQs9fS9mNGr4wZz+UeejA3UU5jA6KwHAWOsiclFZoZwSv5Gi/8kva55clCwA=",
3871
+ "debug_symbols": "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",
3872
+ "verification_key": "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"
3873
3873
  },
3874
3874
  {
3875
3875
  "name": "public_dispatch",
@@ -3941,7 +3941,7 @@
3941
3941
  }
3942
3942
  },
3943
3943
  "bytecode": "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",
3944
- "debug_symbols": "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"
3944
+ "debug_symbols": "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"
3945
3945
  }
3946
3946
  ],
3947
3947
  "outputs": {
@@ -4204,7 +4204,7 @@
4204
4204
  },
4205
4205
  "231": {
4206
4206
  "path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/oracle/version.nr",
4207
- "source": "/// The ORACLE_VERSION constant is used to check that the oracle interface is in sync between PXE and Aztec.nr. We need\n/// to version the oracle interface to ensure that developers get a reasonable error message if they use incompatible\n/// versions of Aztec.nr and PXE. The TypeScript counterpart is in `oracle_version.ts`.\n///\n/// @dev Whenever a contract function or Noir test is run, the `utilityAssertCompatibleOracleVersion` oracle is called\n/// and if the oracle version is incompatible an error is thrown.\npub global ORACLE_VERSION: Field = 11;\n\n/// Asserts that the version of the oracle is compatible with the version expected by the contract.\npub fn assert_compatible_oracle_version() {\n // Safety: This oracle call returns nothing: we only call it to check Aztec.nr and Oracle interface versions are\n // compatible. It is therefore always safe to call.\n unsafe {\n assert_compatible_oracle_version_wrapper();\n }\n}\n\nunconstrained fn assert_compatible_oracle_version_wrapper() {\n assert_compatible_oracle_version_oracle(ORACLE_VERSION);\n}\n\n#[oracle(utilityAssertCompatibleOracleVersion)]\nunconstrained fn assert_compatible_oracle_version_oracle(version: Field) {}\n\nmod test {\n use super::{assert_compatible_oracle_version_oracle, ORACLE_VERSION};\n\n #[test]\n unconstrained fn compatible_oracle_version() {\n assert_compatible_oracle_version_oracle(ORACLE_VERSION);\n }\n\n #[test(should_fail_with = \"Incompatible oracle version. TXE is using version\")]\n unconstrained fn incompatible_oracle_version() {\n let arbitrary_incorrect_version = 318183437;\n assert_compatible_oracle_version_oracle(arbitrary_incorrect_version);\n }\n}\n"
4207
+ "source": "/// The ORACLE_VERSION constant is used to check that the oracle interface is in sync between PXE and Aztec.nr. We need\n/// to version the oracle interface to ensure that developers get a reasonable error message if they use incompatible\n/// versions of Aztec.nr and PXE. The TypeScript counterpart is in `oracle_version.ts`.\n///\n/// @dev Whenever a contract function or Noir test is run, the `utilityAssertCompatibleOracleVersion` oracle is called\n/// and if the oracle version is incompatible an error is thrown.\npub global ORACLE_VERSION: Field = 12;\n\n/// Asserts that the version of the oracle is compatible with the version expected by the contract.\npub fn assert_compatible_oracle_version() {\n // Safety: This oracle call returns nothing: we only call it to check Aztec.nr and Oracle interface versions are\n // compatible. It is therefore always safe to call.\n unsafe {\n assert_compatible_oracle_version_wrapper();\n }\n}\n\nunconstrained fn assert_compatible_oracle_version_wrapper() {\n assert_compatible_oracle_version_oracle(ORACLE_VERSION);\n}\n\n#[oracle(utilityAssertCompatibleOracleVersion)]\nunconstrained fn assert_compatible_oracle_version_oracle(version: Field) {}\n\nmod test {\n use super::{assert_compatible_oracle_version_oracle, ORACLE_VERSION};\n\n #[test]\n unconstrained fn compatible_oracle_version() {\n assert_compatible_oracle_version_oracle(ORACLE_VERSION);\n }\n\n #[test(should_fail_with = \"Incompatible oracle version. TXE is using version\")]\n unconstrained fn incompatible_oracle_version() {\n let arbitrary_incorrect_version = 318183437;\n assert_compatible_oracle_version_oracle(arbitrary_incorrect_version);\n }\n}\n"
4208
4208
  },
4209
4209
  "299": {
4210
4210
  "path": "/home/aztec-dev/nargo/github.com/noir-lang/poseidon/v0.2.3/src/poseidon2.nr",
@@ -4214,9 +4214,9 @@
4214
4214
  "path": "std/array/mod.nr",
4215
4215
  "source": "use crate::cmp::{Eq, Ord};\nuse crate::convert::From;\nuse crate::runtime::is_unconstrained;\n\nmod check_shuffle;\nmod quicksort;\n\nimpl<T, let N: u32> [T; N] {\n /// Returns the length of this array.\n ///\n /// ```noir\n /// fn len(self) -> Field\n /// ```\n ///\n /// example\n ///\n /// ```noir\n /// fn main() {\n /// let array = [42, 42];\n /// assert(array.len() == 2);\n /// }\n /// ```\n #[builtin(array_len)]\n pub fn len(self) -> u32 {}\n\n /// Returns this array as a vector.\n ///\n /// ```noir\n /// let array = [1, 2];\n /// let vector = array.as_vector();\n /// assert_eq(vector, [1, 2].as_vector());\n /// ```\n #[builtin(as_vector)]\n pub fn as_vector(self) -> [T] {}\n\n /// Returns this array as a vector.\n /// This method is deprecated in favor of `as_vector`.\n ///\n /// ```noir\n /// let array = [1, 2];\n /// let vector = array.as_slice();\n /// assert_eq(vector, [1, 2].as_vector());\n /// ```\n #[builtin(as_vector)]\n #[deprecated(\"This method has been renamed to `as_vector`\")]\n pub fn as_slice(self) -> [T] {}\n\n /// Applies a function to each element of this array, returning a new array containing the mapped elements.\n ///\n /// Example:\n ///\n /// ```rust\n /// let a = [1, 2, 3];\n /// let b = a.map(|a| a * 2);\n /// assert_eq(b, [2, 4, 6]);\n /// ```\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> [U; N] {\n let uninitialized = crate::mem::zeroed();\n let mut ret = [uninitialized; N];\n\n for i in 0..self.len() {\n ret[i] = f(self[i]);\n }\n\n ret\n }\n\n /// Applies a function to each element of this array along with its index,\n /// returning a new array containing the mapped elements.\n ///\n /// Example:\n ///\n /// ```rust\n /// let a = [1, 2, 3];\n /// let b = a.mapi(|i, a| i + a * 2);\n /// assert_eq(b, [2, 5, 8]);\n /// ```\n pub fn mapi<U, Env>(self, f: fn[Env](u32, T) -> U) -> [U; N] {\n let uninitialized = crate::mem::zeroed();\n let mut ret = [uninitialized; N];\n\n for i in 0..self.len() {\n ret[i] = f(i, self[i]);\n }\n\n ret\n }\n\n /// Applies a function to each element of this array.\n ///\n /// Example:\n ///\n /// ```rust\n /// let a = [1, 2, 3];\n /// let mut b = [0; 3];\n /// let mut i = 0;\n /// a.for_each(|x| {\n /// b[i] = x;\n /// i += 1;\n /// });\n /// assert_eq(a, b);\n /// ```\n pub fn for_each<Env>(self, f: fn[Env](T) -> ()) {\n for i in 0..self.len() {\n f(self[i]);\n }\n }\n\n /// Applies a function to each element of this array along with its index.\n ///\n /// Example:\n ///\n /// ```rust\n /// let a = [1, 2, 3];\n /// let mut b = [0; 3];\n /// a.for_eachi(|i, x| {\n /// b[i] = x;\n /// });\n /// assert_eq(a, b);\n /// ```\n pub fn for_eachi<Env>(self, f: fn[Env](u32, T) -> ()) {\n for i in 0..self.len() {\n f(i, self[i]);\n }\n }\n\n /// Applies a function to each element of the array, returning the final accumulated value. The first\n /// parameter is the initial value.\n ///\n /// This is a left fold, so the given function will be applied to the accumulator and first element of\n /// the array, then the second, and so on. For a given call the expected result would be equivalent to:\n ///\n /// ```rust\n /// let a1 = [1];\n /// let a2 = [1, 2];\n /// let a3 = [1, 2, 3];\n ///\n /// let f = |a, b| a - b;\n /// a1.fold(10, f); //=> f(10, 1)\n /// a2.fold(10, f); //=> f(f(10, 1), 2)\n /// a3.fold(10, f); //=> f(f(f(10, 1), 2), 3)\n ///\n /// assert_eq(a3.fold(10, f), 10 - 1 - 2 - 3);\n /// ```\n pub fn fold<U, Env>(self, mut accumulator: U, f: fn[Env](U, T) -> U) -> U {\n for elem in self {\n accumulator = f(accumulator, elem);\n }\n accumulator\n }\n\n /// Same as fold, but uses the first element as the starting element.\n ///\n /// Requires the input array to be non-empty.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn main() {\n /// let arr = [1, 2, 3, 4];\n /// let reduced = arr.reduce(|a, b| a + b);\n /// assert(reduced == 10);\n /// }\n /// ```\n pub fn reduce<Env>(self, f: fn[Env](T, T) -> T) -> T {\n let mut accumulator = self[0];\n for i in 1..self.len() {\n accumulator = f(accumulator, self[i]);\n }\n accumulator\n }\n\n /// Returns true if all the elements in this array satisfy the given predicate.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn main() {\n /// let arr = [2, 2, 2, 2, 2];\n /// let all = arr.all(|a| a == 2);\n /// assert(all);\n /// }\n /// ```\n pub fn all<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = true;\n for elem in self {\n ret &= predicate(elem);\n }\n ret\n }\n\n /// Returns true if any of the elements in this array satisfy the given predicate.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn main() {\n /// let arr = [2, 2, 2, 2, 5];\n /// let any = arr.any(|a| a == 5);\n /// assert(any);\n /// }\n /// ```\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n for elem in self {\n ret |= predicate(elem);\n }\n ret\n }\n\n /// Concatenates this array with another array.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn main() {\n /// let arr1 = [1, 2, 3, 4];\n /// let arr2 = [6, 7, 8, 9, 10, 11];\n /// let concatenated_arr = arr1.concat(arr2);\n /// assert(concatenated_arr == [1, 2, 3, 4, 6, 7, 8, 9, 10, 11]);\n /// }\n /// ```\n pub fn concat<let M: u32>(self, array2: [T; M]) -> [T; N + M] {\n let mut result = [crate::mem::zeroed(); N + M];\n for i in 0..N {\n result[i] = self[i];\n }\n for i in 0..M {\n result[i + N] = array2[i];\n }\n result\n }\n}\n\nimpl<T, let N: u32> [T; N]\nwhere\n T: Ord + Eq,\n{\n /// Returns a new sorted array. The original array remains untouched. Notice that this function will\n /// only work for arrays of fields or integers, not for any arbitrary type. This is because the sorting\n /// logic it uses internally is optimized specifically for these values. If you need a sort function to\n /// sort any type, you should use the [`Self::sort_via`] function.\n ///\n /// Example:\n ///\n /// ```rust\n /// fn main() {\n /// let arr = [42, 32];\n /// let sorted = arr.sort();\n /// assert(sorted == [32, 42]);\n /// }\n /// ```\n pub fn sort(self) -> Self {\n self.sort_via(|a, b| a <= b)\n }\n}\n\nimpl<T, let N: u32> [T; N]\nwhere\n T: Eq,\n{\n /// Returns a new sorted array by sorting it with a custom comparison function.\n /// The original array remains untouched.\n /// The ordering function must return true if the first argument should be sorted to be before the second argument or is equal to the second argument.\n ///\n /// Using this method with an operator like `<` that does not return `true` for equal values will result in an assertion failure for arrays with equal elements.\n ///\n /// Example:\n ///\n /// ```rust\n /// fn main() {\n /// let arr = [42, 32]\n /// let sorted_ascending = arr.sort_via(|a, b| a <= b);\n /// assert(sorted_ascending == [32, 42]); // verifies\n ///\n /// let sorted_descending = arr.sort_via(|a, b| a >= b);\n /// assert(sorted_descending == [32, 42]); // does not verify\n /// }\n /// ```\n pub fn sort_via<Env>(self, ordering: fn[Env](T, T) -> bool) -> Self {\n // Safety: `sorted` array is checked to be:\n // a. a permutation of `input`'s elements\n // b. satisfying the predicate `ordering`\n let sorted = unsafe { quicksort::quicksort(self, ordering) };\n\n if !is_unconstrained() {\n for i in 0..N - 1 {\n assert(\n ordering(sorted[i], sorted[i + 1]),\n \"Array has not been sorted correctly according to `ordering`.\",\n );\n }\n check_shuffle::check_shuffle(self, sorted);\n }\n sorted\n }\n}\n\nimpl<let N: u32> [u8; N] {\n /// Converts a byte array of type `[u8; N]` to a string. Note that this performs no UTF-8 validation -\n /// the given array is interpreted as-is as a string.\n ///\n /// Example:\n ///\n /// ```rust\n /// fn main() {\n /// let hi = [104, 105].as_str_unchecked();\n /// assert_eq(hi, \"hi\");\n /// }\n /// ```\n #[builtin(array_as_str_unchecked)]\n pub fn as_str_unchecked(self) -> str<N> {}\n}\n\nimpl<let N: u32> From<str<N>> for [u8; N] {\n /// Returns an array of the string bytes.\n fn from(s: str<N>) -> Self {\n s.as_bytes()\n }\n}\n\nmod test {\n #[test]\n fn map_empty() {\n assert_eq([].map(|x| x + 1), []);\n }\n\n global arr_with_100_values: [u32; 100] = [\n 42, 123, 87, 93, 48, 80, 50, 5, 104, 84, 70, 47, 119, 66, 71, 121, 3, 29, 42, 118, 2, 54,\n 89, 44, 81, 0, 26, 106, 68, 96, 84, 48, 95, 54, 45, 32, 89, 100, 109, 19, 37, 41, 19, 98,\n 53, 114, 107, 66, 6, 74, 13, 19, 105, 64, 123, 28, 44, 50, 89, 58, 123, 126, 21, 43, 86, 35,\n 21, 62, 82, 0, 108, 120, 72, 72, 62, 80, 12, 71, 70, 86, 116, 73, 38, 15, 127, 81, 30, 8,\n 125, 28, 26, 69, 114, 63, 27, 28, 61, 42, 13, 32,\n ];\n global expected_with_100_values: [u32; 100] = [\n 0, 0, 2, 3, 5, 6, 8, 12, 13, 13, 15, 19, 19, 19, 21, 21, 26, 26, 27, 28, 28, 28, 29, 30, 32,\n 32, 35, 37, 38, 41, 42, 42, 42, 43, 44, 44, 45, 47, 48, 48, 50, 50, 53, 54, 54, 58, 61, 62,\n 62, 63, 64, 66, 66, 68, 69, 70, 70, 71, 71, 72, 72, 73, 74, 80, 80, 81, 81, 82, 84, 84, 86,\n 86, 87, 89, 89, 89, 93, 95, 96, 98, 100, 104, 105, 106, 107, 108, 109, 114, 114, 116, 118,\n 119, 120, 121, 123, 123, 123, 125, 126, 127,\n ];\n fn sort_u32(a: u32, b: u32) -> bool {\n a <= b\n }\n\n #[test]\n fn test_sort() {\n let mut arr: [u32; 7] = [3, 6, 8, 10, 1, 2, 1];\n\n let sorted = arr.sort();\n\n let expected: [u32; 7] = [1, 1, 2, 3, 6, 8, 10];\n assert(sorted == expected);\n }\n\n #[test]\n fn test_sort_100_values() {\n let mut arr: [u32; 100] = [\n 42, 123, 87, 93, 48, 80, 50, 5, 104, 84, 70, 47, 119, 66, 71, 121, 3, 29, 42, 118, 2,\n 54, 89, 44, 81, 0, 26, 106, 68, 96, 84, 48, 95, 54, 45, 32, 89, 100, 109, 19, 37, 41,\n 19, 98, 53, 114, 107, 66, 6, 74, 13, 19, 105, 64, 123, 28, 44, 50, 89, 58, 123, 126, 21,\n 43, 86, 35, 21, 62, 82, 0, 108, 120, 72, 72, 62, 80, 12, 71, 70, 86, 116, 73, 38, 15,\n 127, 81, 30, 8, 125, 28, 26, 69, 114, 63, 27, 28, 61, 42, 13, 32,\n ];\n\n let sorted = arr.sort();\n\n let expected: [u32; 100] = [\n 0, 0, 2, 3, 5, 6, 8, 12, 13, 13, 15, 19, 19, 19, 21, 21, 26, 26, 27, 28, 28, 28, 29, 30,\n 32, 32, 35, 37, 38, 41, 42, 42, 42, 43, 44, 44, 45, 47, 48, 48, 50, 50, 53, 54, 54, 58,\n 61, 62, 62, 63, 64, 66, 66, 68, 69, 70, 70, 71, 71, 72, 72, 73, 74, 80, 80, 81, 81, 82,\n 84, 84, 86, 86, 87, 89, 89, 89, 93, 95, 96, 98, 100, 104, 105, 106, 107, 108, 109, 114,\n 114, 116, 118, 119, 120, 121, 123, 123, 123, 125, 126, 127,\n ];\n assert(sorted == expected);\n }\n\n #[test]\n fn test_sort_100_values_comptime() {\n let sorted = arr_with_100_values.sort();\n assert(sorted == expected_with_100_values);\n }\n\n #[test]\n fn test_sort_via() {\n let mut arr: [u32; 7] = [3, 6, 8, 10, 1, 2, 1];\n\n let sorted = arr.sort_via(sort_u32);\n\n let expected: [u32; 7] = [1, 1, 2, 3, 6, 8, 10];\n assert(sorted == expected);\n }\n\n #[test]\n fn test_sort_via_100_values() {\n let mut arr: [u32; 100] = [\n 42, 123, 87, 93, 48, 80, 50, 5, 104, 84, 70, 47, 119, 66, 71, 121, 3, 29, 42, 118, 2,\n 54, 89, 44, 81, 0, 26, 106, 68, 96, 84, 48, 95, 54, 45, 32, 89, 100, 109, 19, 37, 41,\n 19, 98, 53, 114, 107, 66, 6, 74, 13, 19, 105, 64, 123, 28, 44, 50, 89, 58, 123, 126, 21,\n 43, 86, 35, 21, 62, 82, 0, 108, 120, 72, 72, 62, 80, 12, 71, 70, 86, 116, 73, 38, 15,\n 127, 81, 30, 8, 125, 28, 26, 69, 114, 63, 27, 28, 61, 42, 13, 32,\n ];\n\n let sorted = arr.sort_via(sort_u32);\n\n let expected: [u32; 100] = [\n 0, 0, 2, 3, 5, 6, 8, 12, 13, 13, 15, 19, 19, 19, 21, 21, 26, 26, 27, 28, 28, 28, 29, 30,\n 32, 32, 35, 37, 38, 41, 42, 42, 42, 43, 44, 44, 45, 47, 48, 48, 50, 50, 53, 54, 54, 58,\n 61, 62, 62, 63, 64, 66, 66, 68, 69, 70, 70, 71, 71, 72, 72, 73, 74, 80, 80, 81, 81, 82,\n 84, 84, 86, 86, 87, 89, 89, 89, 93, 95, 96, 98, 100, 104, 105, 106, 107, 108, 109, 114,\n 114, 116, 118, 119, 120, 121, 123, 123, 123, 125, 126, 127,\n ];\n assert(sorted == expected);\n }\n\n #[test]\n fn mapi_empty() {\n assert_eq([].mapi(|i, x| i * x + 1), []);\n }\n\n #[test]\n fn for_each_empty() {\n let empty_array: [Field; 0] = [];\n empty_array.for_each(|_x| assert(false));\n }\n\n #[test]\n fn for_eachi_empty() {\n let empty_array: [Field; 0] = [];\n empty_array.for_eachi(|_i, _x| assert(false));\n }\n\n #[test]\n fn map_example() {\n let a = [1, 2, 3];\n let b = a.map(|a| a * 2);\n assert_eq(b, [2, 4, 6]);\n }\n\n #[test]\n fn mapi_example() {\n let a = [1, 2, 3];\n let b = a.mapi(|i, a| i + a * 2);\n assert_eq(b, [2, 5, 8]);\n }\n\n #[test]\n fn for_each_example() {\n let a = [1, 2, 3];\n let mut b = [0, 0, 0];\n let b_ref = &mut b;\n let mut i = 0;\n let i_ref = &mut i;\n a.for_each(|x| {\n b_ref[*i_ref] = x * 2;\n *i_ref += 1;\n });\n assert_eq(b, [2, 4, 6]);\n assert_eq(i, 3);\n }\n\n #[test]\n fn for_eachi_example() {\n let a = [1, 2, 3];\n let mut b = [0, 0, 0];\n let b_ref = &mut b;\n a.for_eachi(|i, a| { b_ref[i] = i + a * 2; });\n assert_eq(b, [2, 5, 8]);\n }\n\n #[test]\n fn concat() {\n let arr1 = [1, 2, 3, 4];\n let arr2 = [6, 7, 8, 9, 10, 11];\n let concatenated_arr = arr1.concat(arr2);\n assert_eq(concatenated_arr, [1, 2, 3, 4, 6, 7, 8, 9, 10, 11]);\n }\n\n #[test]\n fn concat_zero_length_with_something() {\n let arr1 = [];\n let arr2 = [1];\n let concatenated_arr = arr1.concat(arr2);\n assert_eq(concatenated_arr, [1]);\n }\n\n #[test]\n fn concat_something_with_zero_length() {\n let arr1 = [1];\n let arr2 = [];\n let concatenated_arr = arr1.concat(arr2);\n assert_eq(concatenated_arr, [1]);\n }\n\n #[test]\n fn concat_zero_lengths() {\n let arr1: [Field; 0] = [];\n let arr2: [Field; 0] = [];\n let concatenated_arr = arr1.concat(arr2);\n assert_eq(concatenated_arr, []);\n }\n}\n"
4216
4216
  },
4217
- "389": {
4217
+ "388": {
4218
4218
  "path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr",
4219
- "source": "mod poseidon2_chunks;\n\nuse crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector,\n note_hash::NoteHash,\n nullifier::Nullifier,\n private_log::{PrivateLog, PrivateLogData},\n transaction::tx_request::TxRequest,\n },\n address::{AztecAddress, EthAddress},\n constants::{\n CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, DOM_SEP__NOTE_HASH_NONCE,\n DOM_SEP__PRIVATE_LOG_FIRST_FIELD, DOM_SEP__SILOED_NOTE_HASH, DOM_SEP__SILOED_NULLIFIER,\n DOM_SEP__UNIQUE_NOTE_HASH, FUNCTION_TREE_HEIGHT, NULL_MSG_SENDER_CONTRACT_ADDRESS,\n TWO_POW_64,\n },\n merkle_tree::root_from_sibling_path,\n messaging::l2_to_l1_message::L2ToL1Message,\n poseidon2::Poseidon2Sponge,\n side_effect::{Counted, Scoped},\n traits::{FromField, Hash, ToField},\n utils::field::{field_from_bytes, field_from_bytes_32_trunc},\n};\n\npub use poseidon2_chunks::poseidon2_absorb_in_chunks_existing_sponge;\nuse poseidon2_chunks::poseidon2_absorb_in_chunks;\nuse std::embedded_curve_ops::EmbeddedCurveScalar;\n\n// TODO: refactor these into their own files: sha256, poseidon2, some protocol-specific hash computations, some merkle computations.\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 DOM_SEP__NOTE_HASH_NONCE,\n )\n}\n\npub fn compute_unique_note_hash(note_nonce: Field, siloed_note_hash: Field) -> Field {\n let inputs = [note_nonce, siloed_note_hash];\n poseidon2_hash_with_separator(inputs, DOM_SEP__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_note_nonce_and_unique_note_hash(\n siloed_note_hash: Field,\n first_nullifier: Field,\n note_index_in_tx: u32,\n) -> Field {\n let note_nonce = compute_note_hash_nonce(first_nullifier, note_index_in_tx);\n compute_unique_note_hash(note_nonce, siloed_note_hash)\n}\n\npub fn compute_siloed_note_hash(contract_address: AztecAddress, note_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [contract_address.to_field(), note_hash],\n DOM_SEP__SILOED_NOTE_HASH,\n )\n}\n\n/// Computes unique, siloed note hashes from siloed note hashes.\n///\n/// The protocol injects uniqueness into every note_hash, so that every single note_hash in the\n/// tree is unique. This prevents faerie gold attacks, where a malicious sender could create\n/// two identical note_hashes for a recipient (meaning only one would be nullifiable in future).\n///\n/// Most privacy protocols will inject the note's leaf_index (its position in the Note Hashes Tree)\n/// into the note, but this requires the creator of a note to wait until their tx is included in\n/// a block to know the note's final note hash (the unique, siloed note hash), because inserting\n/// leaves into trees is the job of a block producer.\n///\n/// We took a different approach so that the creator of a note will know each note's unique, siloed\n/// note hash before broadcasting their tx to the network.\n/// (There was also a historical requirement relating to \"chained transactions\" -- a feature that\n/// Aztec Connect had to enable notes to be spent from distinct txs earlier in the same block,\n/// and hence before an archive block root had been established for that block -- but that feature\n/// was abandoned for the Aztec Network for having too many bad tradeoffs).\n///\n/// (\n/// Edit: it is no longer true that all final note_hashes will be known by the creator of a tx\n/// before they send it to the network. If a tx makes public function calls, then _revertible_\n/// note_hashes that are created in private will not be made unique in private by the Reset circuit,\n/// but will instead be made unique by the AVM, because the `note_index_in_tx` will not be known\n/// until the AVM has executed the public functions of the tx. (See an explanation in\n/// reset_output_composer.nr for why).\n/// For some such txs, the `note_index_in_tx` might still be predictable through simulation, but\n/// for txs whose public functions create a varying number of non-revertible notes (determined at\n/// runtime), the `note_index_in_tx` will not be deterministically derivable before submitting the\n/// tx to the network.\n/// )\n///\n/// We use the `first_nullifier` of a tx as a seed of uniqueness. We have a guarantee that there will\n/// always be at least one nullifier per tx, because the init circuit will create one if one isn't\n/// created naturally by any functions of the tx. (Search \"protocol_nullifier\").\n/// We combine the `first_nullifier` with the note's index (its position within this tx's new\n/// note_hashes array) (`note_index_in_tx`) to get a truly unique value to inject into a note, which\n/// we call a `note_nonce`.\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 compute_note_nonce_and_unique_note_hash(siloed_note_hash, first_nullifier, note_index_in_tx)\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: Scoped<Counted<NoteHash>>) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_note_hash(note_hash.contract_address, note_hash.innermost())\n }\n}\n\npub fn compute_siloed_nullifier(contract_address: AztecAddress, nullifier: Field) -> Field {\n poseidon2_hash_with_separator(\n [contract_address.to_field(), nullifier],\n DOM_SEP__SILOED_NULLIFIER,\n )\n}\n\npub fn silo_nullifier(nullifier: Scoped<Counted<Nullifier>>) -> Field {\n let value = nullifier.innermost().value;\n // Q: shouldn't we be checking whether the _whole_ scoped, counted, nullifier struct is empty?\n // A: We don't have to. The init and inner circuits add a contract address only to non-empty nullifiers.\n // So we know we should silo it if the contract address is not empty.\n if nullifier.contract_address.is_zero() {\n // Return `.value` instead of 0, because already-siloed nullifiers also have a zero\n // contract_address field, and we of course want to return that already-siloed nullifier\n // (we just don't want to silo it a second time).\n value\n } else {\n compute_siloed_nullifier(nullifier.contract_address, value)\n }\n}\n\npub fn create_protocol_nullifier(tx_request: TxRequest) -> Scoped<Counted<Nullifier>> {\n // The protocol nullifier is ascribed a special side-effect counter of 1. No other side-effect\n // can have counter 1 (see `validate_as_first_call` for that assertion).\n Nullifier { value: tx_request.hash(), note_hash: 0 }.count(1).scope(\n NULL_MSG_SENDER_CONTRACT_ADDRESS,\n )\n}\n\npub fn compute_siloed_private_log_first_field(\n contract_address: AztecAddress,\n field: Field,\n) -> Field {\n poseidon2_hash_with_separator(\n [contract_address.to_field(), field],\n DOM_SEP__PRIVATE_LOG_FIRST_FIELD,\n )\n}\n\npub fn silo_private_log(private_log: Scoped<Counted<PrivateLogData>>) -> PrivateLog {\n let log = private_log.innermost().log;\n if private_log.contract_address.is_zero() {\n log\n } else {\n let mut fields = log.fields;\n fields[0] = compute_siloed_private_log_first_field(private_log.contract_address, fields[0]);\n PrivateLog::new(fields, log.length)\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 compute_app_siloed_secret_key(\n master_secret_key: EmbeddedCurveScalar,\n app_address: AztecAddress,\n app_secret_key_domain_separator: Field,\n) -> Field {\n poseidon2_hash_with_separator(\n [master_secret_key.hi, master_secret_key.lo, app_address.to_field()],\n app_secret_key_domain_separator,\n )\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 contract_address_bytes: [u8; 32] = contract_address.to_field().to_be_bytes();\n let recipient_bytes: [u8; 20] = recipient.to_be_bytes();\n let content_bytes: [u8; 32] = content.to_be_bytes();\n let rollup_version_id_bytes: [u8; 32] = rollup_version_id.to_be_bytes();\n let chain_id_bytes: [u8; 32] = chain_id.to_be_bytes();\n\n let mut bytes: [u8; 148] = std::mem::zeroed();\n for i in 0..32 {\n bytes[i] = contract_address_bytes[i];\n bytes[i + 32] = rollup_version_id_bytes[i];\n // 64 - 84 are for recipient.\n bytes[i + 84] = chain_id_bytes[i];\n bytes[i + 116] = content_bytes[i];\n }\n\n for i in 0..20 {\n bytes[64 + i] = recipient_bytes[i];\n }\n\n sha256_to_field(bytes)\n}\n\npub fn silo_l2_to_l1_message(\n msg: Scoped<L2ToL1Message>,\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.inner.recipient,\n msg.inner.content,\n rollup_version_id,\n chain_id,\n )\n }\n}\n\n// TODO: consider a variant that enables domain separation with a u32 (we seem to have standardised u32s for domain separators)\n/// Computes sha256 hash of 2 input fields.\n///\n/// @returns A truncated field (i.e., the first byte is always 0).\npub fn accumulate_sha256(v0: Field, v1: Field) -> Field {\n // Concatenate two fields into 32 x 2 = 64 bytes\n let v0_as_bytes: [u8; 32] = v0.to_be_bytes();\n let v1_as_bytes: [u8; 32] = v1.to_be_bytes();\n let hash_input_flattened = v0_as_bytes.concat(v1_as_bytes);\n\n sha256_to_field(hash_input_flattened)\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 = [separator.to_field()].concat(inputs);\n poseidon2_hash(inputs_with_separator)\n}\n\n/// Computes a Poseidon2 hash over a dynamic-length subarray of the given input.\n/// Only the first `in_len` fields of `input` are absorbed; any remaining fields are ignored.\n/// The caller is responsible for ensuring that the input is padded with zeros if required.\n#[no_predicates]\npub fn poseidon2_hash_subarray<let N: u32>(input: [Field; N], in_len: u32) -> Field {\n let mut sponge = poseidon2_absorb_in_chunks(input, in_len);\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_in_chunks(input, in_len);\n sponge.squeeze()\n}\n\n// This function is unconstrained because it is intended to be used in unconstrained context only as\n// in constrained contexts it would be too inefficient.\npub unconstrained fn poseidon2_hash_with_separator_bounded_vec<let N: u32, T>(\n inputs: BoundedVec<Field, N>,\n separator: T,\n) -> 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.get(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 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 == 0x3b18c58c739716e76429634a61375c45b3b5cd470c22ab6d3e14cee23dd992);\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 == 0xaab2a5828156782b12a1dc6f336e2bc627eb1b9514b02d511f66296990c050);\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 L2ToL1Message { recipient: EthAddress::from_field(1), content: 2 }.scope(\n AztecAddress::from_field(3),\n ),\n version,\n chainId,\n );\n\n // The following value was generated by `yarn-project/stdlib/src/hash/hash.test.ts`\n let l2_to_l1_message_hash_from_ts =\n 0x0081edf209e087ad31b3fd24263698723d57190bd1d6e9fe056fc0c0a68ee661;\n\n assert_eq(hash, l2_to_l1_message_hash_from_ts);\n}\n\n#[test]\nunconstrained fn poseidon2_hash_with_separator_bounded_vec_matches_non_bounded_vec_version() {\n let inputs = BoundedVec::<Field, 4>::from_array([1, 2, 3]);\n let separator = 42;\n\n // Hash using bounded vec version\n let bounded_result = poseidon2_hash_with_separator_bounded_vec(inputs, separator);\n\n // Hash using regular version\n let regular_result = poseidon2_hash_with_separator([1, 2, 3], separator);\n\n // Results should match\n assert_eq(bounded_result, regular_result);\n}\n"
4219
+ "source": "mod poseidon2_chunks;\n\nuse crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector, nullifier::Nullifier, private_log::PrivateLog,\n transaction::tx_request::TxRequest,\n },\n address::{AztecAddress, EthAddress},\n constants::{\n CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, DOM_SEP__NOTE_HASH_NONCE,\n DOM_SEP__PRIVATE_LOG_FIRST_FIELD, DOM_SEP__SILOED_NOTE_HASH, DOM_SEP__SILOED_NULLIFIER,\n DOM_SEP__UNIQUE_NOTE_HASH, FUNCTION_TREE_HEIGHT, NULL_MSG_SENDER_CONTRACT_ADDRESS,\n TWO_POW_64,\n },\n merkle_tree::root_from_sibling_path,\n messaging::l2_to_l1_message::L2ToL1Message,\n poseidon2::Poseidon2Sponge,\n side_effect::{Counted, Scoped},\n traits::{FromField, Hash, ToField},\n utils::field::{field_from_bytes, field_from_bytes_32_trunc},\n};\n\npub use poseidon2_chunks::poseidon2_absorb_in_chunks_existing_sponge;\nuse poseidon2_chunks::poseidon2_absorb_in_chunks;\nuse std::embedded_curve_ops::EmbeddedCurveScalar;\n\n// TODO: refactor these into their own files: sha256, poseidon2, some protocol-specific hash computations, some merkle computations.\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\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 compute_siloed_note_hash(contract_address: AztecAddress, note_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [contract_address.to_field(), note_hash],\n DOM_SEP__SILOED_NOTE_HASH,\n )\n}\n\n/// Computes unique, siloed note hashes from siloed note hashes.\n///\n/// The protocol injects uniqueness into every note_hash, so that every single note_hash in the\n/// tree is unique. This prevents faerie gold attacks, where a malicious sender could create\n/// two identical note_hashes for a recipient (meaning only one would be nullifiable in future).\n///\n/// Most privacy protocols will inject the note's leaf_index (its position in the Note Hashes Tree)\n/// into the note, but this requires the creator of a note to wait until their tx is included in\n/// a block to know the note's final note hash (the unique, siloed note hash), because inserting\n/// leaves into trees is the job of a block producer.\n///\n/// We took a different approach so that the creator of a note will know each note's unique, siloed\n/// note hash before broadcasting their tx to the network.\n/// (There was also a historical requirement relating to \"chained transactions\" -- a feature that\n/// Aztec Connect had to enable notes to be spent from distinct txs earlier in the same block,\n/// and hence before an archive block root had been established for that block -- but that feature\n/// was abandoned for the Aztec Network for having too many bad tradeoffs).\n///\n/// (\n/// Edit: it is no longer true that all final note_hashes will be known by the creator of a tx\n/// before they send it to the network. If a tx makes public function calls, then _revertible_\n/// note_hashes that are created in private will not be made unique in private by the Reset circuit,\n/// but will instead be made unique by the AVM, because the `note_index_in_tx` will not be known\n/// until the AVM has executed the public functions of the tx. (See an explanation in\n/// reset_output_composer.nr for why).\n/// For some such txs, the `note_index_in_tx` might still be predictable through simulation, but\n/// for txs whose public functions create a varying number of non-revertible notes (determined at\n/// runtime), the `note_index_in_tx` will not be deterministically derivable before submitting the\n/// tx to the network.\n/// )\n///\n/// We use the `first_nullifier` of a tx as a seed of uniqueness. We have a guarantee that there will\n/// always be at least one nullifier per tx, because the init circuit will create one if one isn't\n/// created naturally by any functions of the tx. (Search \"protocol_nullifier\").\n/// We combine the `first_nullifier` with the note's index (its position within this tx's new\n/// note_hashes array) (`note_index_in_tx`) to get a truly unique value to inject into a note, which\n/// we call a `note_nonce`.\npub fn compute_unique_note_hash(note_nonce: Field, siloed_note_hash: Field) -> Field {\n let inputs = [note_nonce, siloed_note_hash];\n poseidon2_hash_with_separator(inputs, DOM_SEP__UNIQUE_NOTE_HASH)\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 DOM_SEP__NOTE_HASH_NONCE,\n )\n}\n\npub fn compute_note_nonce_and_unique_note_hash(\n siloed_note_hash: Field,\n first_nullifier: Field,\n note_index_in_tx: u32,\n) -> Field {\n let note_nonce = compute_note_hash_nonce(first_nullifier, note_index_in_tx);\n compute_unique_note_hash(note_nonce, siloed_note_hash)\n}\n\npub fn compute_siloed_nullifier(contract_address: AztecAddress, nullifier: Field) -> Field {\n poseidon2_hash_with_separator(\n [contract_address.to_field(), nullifier],\n DOM_SEP__SILOED_NULLIFIER,\n )\n}\n\npub fn create_protocol_nullifier(tx_request: TxRequest) -> Scoped<Counted<Nullifier>> {\n // The protocol nullifier is ascribed a special side-effect counter of 1. No other side-effect\n // can have counter 1 (see `validate_as_first_call` for that assertion).\n Nullifier { value: tx_request.hash(), note_hash: 0 }.count(1).scope(\n NULL_MSG_SENDER_CONTRACT_ADDRESS,\n )\n}\n\npub fn compute_siloed_private_log_first_field(\n contract_address: AztecAddress,\n field: Field,\n) -> Field {\n poseidon2_hash_with_separator(\n [contract_address.to_field(), field],\n DOM_SEP__PRIVATE_LOG_FIRST_FIELD,\n )\n}\n\npub fn compute_siloed_private_log(contract_address: AztecAddress, log: PrivateLog) -> PrivateLog {\n let mut fields = log.fields;\n fields[0] = compute_siloed_private_log_first_field(contract_address, fields[0]);\n PrivateLog::new(fields, log.length)\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 compute_app_siloed_secret_key(\n master_secret_key: EmbeddedCurveScalar,\n app_address: AztecAddress,\n key_type_domain_separator: Field,\n) -> Field {\n poseidon2_hash_with_separator(\n [master_secret_key.hi, master_secret_key.lo, app_address.to_field()],\n key_type_domain_separator,\n )\n}\n\npub fn compute_l2_to_l1_message_hash(\n message: Scoped<L2ToL1Message>,\n rollup_version_id: Field,\n chain_id: Field,\n) -> Field {\n let contract_address_bytes: [u8; 32] = message.contract_address.to_field().to_be_bytes();\n let recipient_bytes: [u8; 20] = message.inner.recipient.to_be_bytes();\n let content_bytes: [u8; 32] = message.inner.content.to_be_bytes();\n let rollup_version_id_bytes: [u8; 32] = rollup_version_id.to_be_bytes();\n let chain_id_bytes: [u8; 32] = chain_id.to_be_bytes();\n\n let mut bytes: [u8; 148] = std::mem::zeroed();\n for i in 0..32 {\n bytes[i] = contract_address_bytes[i];\n bytes[i + 32] = rollup_version_id_bytes[i];\n // 64 - 84 are for recipient.\n bytes[i + 84] = chain_id_bytes[i];\n bytes[i + 116] = content_bytes[i];\n }\n\n for i in 0..20 {\n bytes[64 + i] = recipient_bytes[i];\n }\n\n sha256_to_field(bytes)\n}\n\n// TODO: consider a variant that enables domain separation with a u32 (we seem to have standardised u32s for domain separators)\n/// Computes sha256 hash of 2 input fields.\n///\n/// @returns A truncated field (i.e., the first byte is always 0).\npub fn accumulate_sha256(v0: Field, v1: Field) -> Field {\n // Concatenate two fields into 32 x 2 = 64 bytes\n let v0_as_bytes: [u8; 32] = v0.to_be_bytes();\n let v1_as_bytes: [u8; 32] = v1.to_be_bytes();\n let hash_input_flattened = v0_as_bytes.concat(v1_as_bytes);\n\n sha256_to_field(hash_input_flattened)\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 = [separator.to_field()].concat(inputs);\n poseidon2_hash(inputs_with_separator)\n}\n\n/// Computes a Poseidon2 hash over a dynamic-length subarray of the given input.\n/// Only the first `in_len` fields of `input` are absorbed; any remaining fields are ignored.\n/// The caller is responsible for ensuring that the input is padded with zeros if required.\n#[no_predicates]\npub fn poseidon2_hash_subarray<let N: u32>(input: [Field; N], in_len: u32) -> Field {\n let mut sponge = poseidon2_absorb_in_chunks(input, in_len);\n sponge.squeeze()\n}\n\n// This function is unconstrained because it is intended to be used in unconstrained context only as\n// in constrained contexts it would be too inefficient.\npub unconstrained fn poseidon2_hash_with_separator_bounded_vec<let N: u32, T>(\n inputs: BoundedVec<Field, N>,\n separator: T,\n) -> 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.get(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 subarray_hash_matches_fixed() {\n let mut values_to_hash = [3; 17];\n let mut padded = values_to_hash.concat([0; 11]);\n let subarray_hash = poseidon2_hash_subarray(padded, values_to_hash.len());\n\n // Hash the entire values_to_hash.\n let fixed_len_hash = poseidon::poseidon2::Poseidon2::hash(values_to_hash, values_to_hash.len());\n\n assert_eq(subarray_hash, fixed_len_hash);\n}\n\n#[test]\nfn subarray_hash_matches_variable() {\n let mut values_to_hash = [3; 17];\n let mut padded = values_to_hash.concat([0; 11]);\n let subarray_hash = poseidon2_hash_subarray(padded, values_to_hash.len());\n\n // Hash up to values_to_hash.len() fields of the padded array.\n let variable_len_hash = poseidon::poseidon2::Poseidon2::hash(padded, values_to_hash.len());\n\n assert_eq(subarray_hash, variable_len_hash);\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 unique_siloed_note_hash_matches_typescript() {\n let inner_note_hash = 1;\n let contract_address = AztecAddress::from_field(2);\n let first_nullifier = 3;\n let note_index_in_tx = 4;\n\n let siloed_note_hash = compute_siloed_note_hash(contract_address, inner_note_hash);\n let siloed_note_hash_from_ts =\n 0x1986a4bea3eddb1fff917d629a13e10f63f514f401bdd61838c6b475db949169;\n assert_eq(siloed_note_hash, siloed_note_hash_from_ts);\n\n let nonce: Field = compute_note_hash_nonce(first_nullifier, note_index_in_tx);\n let note_hash_nonce_from_ts =\n 0x28e7799791bf066a57bb51fdd0fbcaf3f0926414314c7db515ea343f44f5d58b;\n assert_eq(nonce, note_hash_nonce_from_ts);\n\n let unique_siloed_note_hash_from_nonce = compute_unique_note_hash(nonce, siloed_note_hash);\n let unique_siloed_note_hash = compute_note_nonce_and_unique_note_hash(\n siloed_note_hash,\n first_nullifier,\n note_index_in_tx,\n );\n assert_eq(unique_siloed_note_hash_from_nonce, unique_siloed_note_hash);\n\n let unique_siloed_note_hash_from_ts =\n 0x29949aef207b715303b24639737c17fbfeb375c1d965ecfa85c7e4f0febb7d16;\n assert_eq(unique_siloed_note_hash, unique_siloed_note_hash_from_ts);\n}\n\n#[test]\nfn siloed_nullifier_matches_typescript() {\n let contract_address = AztecAddress::from_field(123);\n let nullifier = 456;\n\n let res = compute_siloed_nullifier(contract_address, nullifier);\n\n let siloed_nullifier_from_ts =\n 0x169b50336c1f29afdb8a03d955a81e485f5ac7d5f0b8065673d1e407e5877813;\n\n assert_eq(res, siloed_nullifier_from_ts);\n}\n\n#[test]\nfn siloed_private_log_first_field_matches_typescript() {\n let contract_address = AztecAddress::from_field(123);\n let field = 456;\n let res = compute_siloed_private_log_first_field(contract_address, field);\n\n let siloed_private_log_first_field_from_ts =\n 0x29480984f7b9257fded523d50addbcfc8d1d33adcf2db73ef3390a8fd5cdffaa;\n\n assert_eq(res, siloed_private_log_first_field_from_ts);\n}\n\n#[test]\nfn empty_l2_to_l1_message_hash_matches_typescript() {\n // All zeroes\n let res = compute_l2_to_l1_message_hash(\n L2ToL1Message { recipient: EthAddress::zero(), content: 0 }.scope(AztecAddress::from_field(\n 0,\n )),\n 0,\n 0,\n );\n\n let empty_l2_to_l1_msg_hash_from_ts =\n 0x003b18c58c739716e76429634a61375c45b3b5cd470c22ab6d3e14cee23dd992;\n\n assert_eq(res, empty_l2_to_l1_msg_hash_from_ts);\n}\n\n#[test]\nfn l2_to_l1_message_hash_matches_typescript() {\n let message = L2ToL1Message { recipient: EthAddress::from_field(1), content: 2 }.scope(\n AztecAddress::from_field(3),\n );\n let version = 4;\n let chainId = 5;\n\n let hash = compute_l2_to_l1_message_hash(message, version, chainId);\n\n // The following value was generated by `yarn-project/stdlib/src/hash/hash.test.ts`\n let l2_to_l1_message_hash_from_ts =\n 0x0081edf209e087ad31b3fd24263698723d57190bd1d6e9fe056fc0c0a68ee661;\n\n assert_eq(hash, l2_to_l1_message_hash_from_ts);\n}\n\n#[test]\nunconstrained fn poseidon2_hash_with_separator_bounded_vec_matches_non_bounded_vec_version() {\n let inputs = BoundedVec::<Field, 4>::from_array([1, 2, 3]);\n let separator = 42;\n\n // Hash using bounded vec version\n let bounded_result = poseidon2_hash_with_separator_bounded_vec(inputs, separator);\n\n // Hash using regular version\n let regular_result = poseidon2_hash_with_separator([1, 2, 3], separator);\n\n // Results should match\n assert_eq(bounded_result, regular_result);\n}\n"
4220
4220
  },
4221
4221
  "39": {
4222
4222
  "path": "std/ops/arith.nr",
@@ -4268,15 +4268,15 @@
4268
4268
  },
4269
4269
  "51": {
4270
4270
  "path": "/home/aztec-dev/aztec-packages/noir-projects/noir-contracts/contracts/protocol/fee_juice_contract/src/lib.nr",
4271
- "source": "use aztec::context::PublicContext;\nuse aztec::protocol::address::AztecAddress;\nuse aztec::protocol::hash::sha256_to_field;\nuse aztec::protocol::traits::ToField;\n\npub fn calculate_fee<TPublicContext>(context: PublicContext) -> Field {\n context.transaction_fee()\n}\n\npub fn get_bridge_gas_msg_hash(owner: AztecAddress, amount: u128) -> Field {\n let mut hash_bytes = [0; 68];\n let recipient_bytes: [u8; 32] = owner.to_field().to_be_bytes();\n let amount_bytes: [u8; 32] = (amount as Field).to_be_bytes();\n\n // The purpose of including the following selector is to make the message unique to that specific call. Note that\n // it has nothing to do with calling the function.\n let selector = comptime { keccak256::keccak256(\"claim(bytes32,uint256)\".as_bytes(), 22) };\n\n for i in 0..4 {\n hash_bytes[i] = selector[i];\n }\n\n for i in 0..32 {\n hash_bytes[i + 4] = recipient_bytes[i];\n hash_bytes[i + 36] = amount_bytes[i];\n }\n\n let content_hash = sha256_to_field(hash_bytes);\n content_hash\n}\n"
4271
+ "source": "use aztec::context::PublicContext;\nuse aztec::protocol::address::AztecAddress;\nuse aztec::protocol::hash::sha256_to_field;\nuse aztec::protocol::traits::ToField;\n\npub fn calculate_fee<TPublicContext>(context: PublicContext) -> Field {\n context.transaction_fee()\n}\n\n/// Computes the content hash for an L1-to-L2 \"bridge gas\" message, matching the hash produced on L1 by\n/// `FeeJuicePortal.depositToAztecPublic`: `sha256ToField(abi.encodeWithSignature(\"claim(bytes32,uint256)\", to, amount))`.\n///\n/// The 68-byte buffer is: [4-byte selector of \"claim(bytes32,uint256)\"][32-byte recipient][32-byte amount], hashed\n/// with `sha256_to_field` to produce a single Field.\npub fn get_bridge_gas_msg_hash(owner: AztecAddress, amount: u128) -> Field {\n let mut hash_bytes = [0; 68];\n let recipient_bytes: [u8; 32] = owner.to_field().to_be_bytes();\n let amount_bytes: [u8; 32] = (amount as Field).to_be_bytes();\n\n // The purpose of including the following selector is to make the message unique to that specific call. Note that\n // it has nothing to do with calling the function.\n let selector = comptime { keccak256::keccak256(\"claim(bytes32,uint256)\".as_bytes(), 22) };\n\n for i in 0..4 {\n hash_bytes[i] = selector[i];\n }\n\n for i in 0..32 {\n hash_bytes[i + 4] = recipient_bytes[i];\n hash_bytes[i + 36] = amount_bytes[i];\n }\n\n let content_hash = sha256_to_field(hash_bytes);\n content_hash\n}\n"
4272
4272
  },
4273
4273
  "52": {
4274
4274
  "path": "/home/aztec-dev/aztec-packages/noir-projects/noir-contracts/contracts/protocol/fee_juice_contract/src/main.nr",
4275
- "source": "mod lib;\n\npub contract FeeJuice {\n use crate::lib::get_bridge_gas_msg_hash;\n use aztec::{\n protocol::{\n abis::function_selector::FunctionSelector,\n address::{AztecAddress, EthAddress},\n constants::FEE_JUICE_ADDRESS,\n traits::{Deserialize, ToField},\n },\n state_vars::{Map, PublicMutable},\n };\n use std::ops::Add;\n\n struct Storage<Context> {\n // This map is accessed directly by protocol circuits to check balances for fee payment.\n // Do not change this storage layout unless you also update the base rollup circuits.\n balances: Map<AztecAddress, PublicMutable<u128, Context>, Context>,\n }\n\n global INCREASE_PUBLIC_BALANCE_SELECTOR: Field = comptime {\n FunctionSelector::from_signature(\"_increase_public_balance((Field),u128)\").to_field()\n };\n global CHECK_BALANCE_SELECTOR: Field =\n comptime { FunctionSelector::from_signature(\"check_balance(u128)\").to_field() };\n global BALANCE_OF_PUBLIC_SELECTOR: Field =\n comptime { FunctionSelector::from_signature(\"balance_of_public((Field))\").to_field() };\n\n /// Verifies that a message from L1 exists with the correct claim information, consumes it (emitting a nullifier)\n /// and enqueues the increase in public balance of the recipient.\n #[contract_library_method]\n fn claim_helper(\n context: &mut aztec::context::PrivateContext,\n to: AztecAddress,\n amount: u128,\n secret: Field,\n message_leaf_index: Field,\n ) {\n let content_hash: Field = get_bridge_gas_msg_hash(to, amount);\n let portal_address: EthAddress = EthAddress::from_field(FEE_JUICE_ADDRESS.to_field());\n assert(!portal_address.is_zero());\n\n // Consume message and emit nullifier\n context.consume_l1_to_l2_message(content_hash, secret, portal_address, message_leaf_index);\n\n // Enqueue call to _increase_public_balance\n // Note: The rest of the function body used to be `self.enqueue_self._increase_public_balance(to, amount);`\n // before de-macroification.\n let serialized_params: [Field; 2] = [to.to_field(), amount.to_field()];\n let calldata: [Field; 1 + 2] = [INCREASE_PUBLIC_BALANCE_SELECTOR].concat(serialized_params);\n let calldata_hash: Field = aztec::hash::hash_calldata_array(calldata);\n aztec::oracle::execution_cache::store(calldata, calldata_hash);\n context.call_public_function_with_calldata_hash(\n context.this_address(),\n calldata_hash,\n false,\n false,\n );\n }\n\n /// Claims FeeJuice by consuming an L1 to L2 message with the provided information.\n #[aztec::macros::internals_functions_generation::abi_attributes::abi_private]\n fn claim(\n inputs: aztec::context::inputs::PrivateContextInputs,\n to: AztecAddress,\n amount: u128,\n secret: Field,\n message_leaf_index: Field,\n ) -> return_data aztec::protocol::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs {\n // MACRO CODE START\n // Note: The macros initially inserted a phase check here, but since there is no phase change in this function.\n // nor in the claim helper function or the enqueued public function call, I have removed that check.\n aztec::oracle::version::assert_compatible_oracle_version();\n let serialized_params: [Field; 4] =\n [to.to_field(), amount.to_field(), secret, message_leaf_index];\n let args_hash: Field = aztec::hash::hash_args(serialized_params);\n let mut context: aztec::context::PrivateContext =\n aztec::context::PrivateContext::new(inputs, args_hash);\n // MACRO CODE END\n\n claim_helper(&mut context, to, amount, secret, message_leaf_index);\n\n // MACRO CODE START\n context.finish()\n // MACRO CODE END\n }\n\n /// Claims FeeJuice by consuming an L1 to L2 message with the provided information. After enqueuing the\n /// the balance increase it ends the setup phase, making sure the claim happens in the non-revertible phase\n /// of the transaction. This variant should only be used when the intent is to pay the transaction fee via\n /// the claimed fee juice in a single interaction.\n #[aztec::macros::internals_functions_generation::abi_attributes::abi_private]\n fn claim_and_end_setup(\n inputs: aztec::context::inputs::PrivateContextInputs,\n to: AztecAddress,\n amount: u128,\n secret: Field,\n message_leaf_index: Field,\n ) -> return_data aztec::protocol::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs {\n // MACRO CODE START\n aztec::oracle::version::assert_compatible_oracle_version();\n let serialized_params: [Field; 4] =\n [to.to_field(), amount.to_field(), secret, message_leaf_index];\n let args_hash: Field = aztec::hash::hash_args(serialized_params);\n let mut context: aztec::context::PrivateContext =\n aztec::context::PrivateContext::new(inputs, args_hash);\n // MACRO CODE END\n\n claim_helper(&mut context, to, amount, secret, message_leaf_index);\n\n // MACRO CODE START\n context.end_setup();\n context.finish()\n // MACRO CODE END\n }\n\n #[aztec::macros::internals_functions_generation::abi_attributes::abi_public]\n #[aztec::macros::internals_functions_generation::abi_attributes::abi_only_self]\n unconstrained fn _increase_public_balance(to: AztecAddress, amount: u128) {\n // MACRO CODE START\n let context: aztec::context::PublicContext = aztec::context::PublicContext::new(\n || -> Field {\n let serialized_args: [Field; 2] = aztec::oracle::avm::calldata_copy(\n 1,\n <AztecAddress as aztec::protocol::traits::Serialize>::N\n + <u128 as aztec::protocol::traits::Serialize>::N,\n );\n aztec::hash::hash_args(serialized_args)\n },\n );\n let storage: Storage<aztec::context::PublicContext> =\n Storage::<aztec::context::PublicContext>::init(context);\n\n assert(\n context.maybe_msg_sender().unwrap() == context.this_address(),\n \"Function _increase_public_balance can only be called by the same contract\",\n );\n // MACRO CODE END\n\n let new_balance = storage.balances.at(to).read().add(amount);\n storage.balances.at(to).write(new_balance);\n }\n\n #[aztec::macros::internals_functions_generation::abi_attributes::abi_public]\n #[aztec::macros::internals_functions_generation::abi_attributes::abi_view]\n unconstrained fn check_balance(fee_limit: u128) {\n // MACRO CODE START\n let context: aztec::context::PublicContext = aztec::context::PublicContext::new(\n || -> Field {\n let serialized_args: [Field; 1] = aztec::oracle::avm::calldata_copy(\n 1,\n <u128 as aztec::protocol::traits::Serialize>::N,\n );\n aztec::hash::hash_args(serialized_args)\n },\n );\n let storage: Storage<aztec::context::PublicContext> =\n Storage::<aztec::context::PublicContext>::init(context);\n\n assert(context.is_static_call(), \"Function check_balance can only be called statically\");\n // MACRO CODE END\n\n assert(\n storage.balances.at(context.maybe_msg_sender().unwrap()).read() >= fee_limit,\n \"Balance too low\",\n );\n }\n\n #[aztec::macros::internals_functions_generation::abi_attributes::abi_public]\n #[aztec::macros::internals_functions_generation::abi_attributes::abi_view]\n unconstrained fn balance_of_public(owner: AztecAddress) -> pub u128 {\n // MACRO CODE START\n let context: aztec::context::PublicContext = aztec::context::PublicContext::new(\n || -> Field {\n let serialized_args: [Field; 1] = aztec::oracle::avm::calldata_copy(\n 1,\n <AztecAddress as aztec::protocol::traits::Serialize>::N,\n );\n aztec::hash::hash_args(serialized_args)\n },\n );\n let storage: Storage<aztec::context::PublicContext> =\n Storage::<aztec::context::PublicContext>::init(context);\n\n assert(\n context.is_static_call(),\n \"Function balance_of_public can only be called statically\",\n );\n // MACRO CODE END\n\n storage.balances.at(owner).read()\n }\n\n // THE REST OF THE CODE IN THIS CONTRACT WAS ORIGINALLY INJECTED BY THE #[aztec] MACRO.\n\n #[aztec::macros::internals_functions_generation::abi_attributes::abi_public]\n pub unconstrained fn public_dispatch(selector: Field) {\n if selector == INCREASE_PUBLIC_BALANCE_SELECTOR {\n let input_calldata: [Field; 2] = aztec::oracle::avm::calldata_copy(\n 1,\n <AztecAddress as aztec::protocol::traits::Serialize>::N\n + <u128 as aztec::protocol::traits::Serialize>::N,\n );\n let mut reader: aztec::protocol::utils::reader::Reader<2> =\n aztec::protocol::utils::reader::Reader::<2>::new(input_calldata);\n let arg0: AztecAddress = <AztecAddress as Deserialize>::stream_deserialize(&mut reader);\n let arg1: u128 = <u128 as Deserialize>::stream_deserialize(&mut reader);\n _increase_public_balance(arg0, arg1);\n aztec::oracle::avm::avm_return([].as_vector());\n };\n if selector == CHECK_BALANCE_SELECTOR {\n let input_calldata: [Field; 1] = aztec::oracle::avm::calldata_copy(\n 1,\n <u128 as aztec::protocol::traits::Serialize>::N,\n );\n let mut reader: aztec::protocol::utils::reader::Reader<1> =\n aztec::protocol::utils::reader::Reader::<1>::new(input_calldata);\n let arg0: u128 = <u128 as Deserialize>::stream_deserialize(&mut reader);\n check_balance(arg0);\n aztec::oracle::avm::avm_return([].as_vector());\n };\n if selector == BALANCE_OF_PUBLIC_SELECTOR {\n let input_calldata: [Field; 1] = aztec::oracle::avm::calldata_copy(\n 1,\n <AztecAddress as aztec::protocol::traits::Serialize>::N,\n );\n let mut reader: aztec::protocol::utils::reader::Reader<1> =\n aztec::protocol::utils::reader::Reader::<1>::new(input_calldata);\n let arg0: AztecAddress = <AztecAddress as Deserialize>::stream_deserialize(&mut reader);\n let return_value: [Field; 1] =\n <u128 as aztec::protocol::traits::Serialize>::serialize(balance_of_public(arg0));\n aztec::oracle::avm::avm_return(return_value.as_vector());\n };\n panic(f\"Unknown selector {selector}\")\n }\n\n pub struct StorageLayoutFields {\n pub balances: aztec::state_vars::Storable,\n }\n\n pub struct StorageLayout<let N: u32> {\n pub contract_name: str<N>,\n pub fields: StorageLayoutFields,\n }\n\n #[abi(storage)]\n pub global STORAGE_LAYOUT_FeeJuice: StorageLayout<8> = StorageLayout::<8> {\n contract_name: \"FeeJuice\",\n fields: StorageLayoutFields { balances: aztec::state_vars::Storable { slot: 1 } },\n };\n\n impl<Context> Storage<Context> {\n fn init(context: Context) -> Self {\n Self {\n balances: <Map<AztecAddress, PublicMutable<u128, Context>, Context> as aztec::state_vars::StateVariable<1, Context>>::new(\n context,\n 1,\n ),\n }\n }\n }\n pub struct _increase_public_balance_parameters {\n pub _to: AztecAddress,\n pub _amount: u128,\n }\n\n pub struct balance_of_public_parameters {\n pub _owner: AztecAddress,\n }\n\n pub struct check_balance_parameters {\n pub _fee_limit: u128,\n }\n\n pub struct claim_and_end_setup_parameters {\n pub _to: AztecAddress,\n pub _amount: u128,\n pub _secret: Field,\n pub _message_leaf_index: Field,\n }\n\n pub struct claim_parameters {\n pub _to: AztecAddress,\n pub _amount: u128,\n pub _secret: Field,\n pub _message_leaf_index: Field,\n }\n\n #[abi(functions)]\n pub struct _increase_public_balance_abi {\n parameters: _increase_public_balance_parameters,\n }\n\n #[abi(functions)]\n pub struct balance_of_public_abi {\n parameters: balance_of_public_parameters,\n return_type: u128,\n }\n\n #[abi(functions)]\n pub struct check_balance_abi {\n parameters: check_balance_parameters,\n }\n\n #[abi(functions)]\n pub struct claim_abi {\n parameters: claim_parameters,\n }\n\n #[abi(functions)]\n pub struct claim_and_end_setup_abi {\n parameters: claim_and_end_setup_parameters,\n }\n}\n"
4275
+ "source": "/// Protocol contract that manages the native gas token (\"Fee Juice\") used to pay transaction fees.\n///\n/// Fee Juice is minted on L2 by bridging from L1: a user deposits ERC-20 tokens into the L1 FeeJuicePortal, which\n/// sends an L1-to-L2 message. On L2, `claim` or `claim_and_end_setup` consumes that message and credits the\n/// recipient's balance via an enqueued public call to `_increase_public_balance`.\n///\n/// The protocol's base rollup circuits read directly from this contract's `balances` storage map (at slot 1) to verify\n/// fee payers can cover their transaction costs. This storage layout is protocol-critical and must not change without\n/// updating the base rollup circuits.\n///\n/// There is no withdrawal mechanism -- Fee Juice can only be bridged in, not withdrawn or transferred by users. Tokens\n/// leave the L1 portal only via `distributeFees` called by the Rollup contract to pay sequencers.\n\nmod lib;\n\npub contract FeeJuice {\n use crate::lib::get_bridge_gas_msg_hash;\n use aztec::{\n protocol::{\n abis::function_selector::FunctionSelector,\n address::{AztecAddress, EthAddress},\n constants::FEE_JUICE_ADDRESS,\n traits::{Deserialize, ToField},\n },\n state_vars::{Map, PublicMutable},\n };\n use std::ops::Add;\n\n struct Storage<Context> {\n // contract address --> public fee juice balance\n balances: Map<AztecAddress, PublicMutable<u128, Context>, Context>,\n }\n\n global INCREASE_PUBLIC_BALANCE_SELECTOR: Field = comptime {\n FunctionSelector::from_signature(\"_increase_public_balance((Field),u128)\").to_field()\n };\n\n global CHECK_BALANCE_SELECTOR: Field =\n comptime { FunctionSelector::from_signature(\"check_balance(u128)\").to_field() };\n\n global BALANCE_OF_PUBLIC_SELECTOR: Field =\n comptime { FunctionSelector::from_signature(\"balance_of_public((Field))\").to_field() };\n\n /// A helper implementing the core L1-to-L2 message claim logic shared by `claim` and `claim_and_end_setup`.\n /// Computes the expected content hash, consumes the L1-to-L2 message (emitting a nullifier to prevent\n /// double-claiming), and enqueues a public call to `_increase_public_balance` to credit the recipient.\n #[contract_library_method]\n fn claim_helper(\n context: &mut aztec::context::PrivateContext,\n to: AztecAddress,\n amount: u128,\n secret: Field,\n message_leaf_index: Field,\n ) {\n let content_hash: Field = get_bridge_gas_msg_hash(to, amount);\n let portal_address: EthAddress = EthAddress::from_field(FEE_JUICE_ADDRESS.to_field());\n assert(!portal_address.is_zero());\n\n // Consume the L1-to-L2 message (verifies existence + emits nullifier to prevent replay).\n context.consume_l1_to_l2_message(content_hash, secret, portal_address, message_leaf_index);\n\n // Enqueue a public call to _increase_public_balance to credit the recipient.\n let serialized_params: [Field; 2] = [to.to_field(), amount.to_field()];\n let calldata: [Field; 1 + 2] = [INCREASE_PUBLIC_BALANCE_SELECTOR].concat(serialized_params);\n let calldata_hash: Field = aztec::hash::hash_calldata_array(calldata);\n aztec::oracle::execution_cache::store(calldata, calldata_hash);\n context.call_public_function_with_calldata_hash(\n context.this_address(),\n calldata_hash,\n false,\n false,\n );\n }\n\n /// Claims Fee Juice by consuming an L1-to-L2 message from the FeeJuicePortal.\n ///\n /// Use this variant when the claimed Fee Juice is NOT intended to pay for the current transaction's fees (e.g.,\n /// pre-funding an account for future transactions).\n #[aztec::macros::internals_functions_generation::abi_attributes::abi_private]\n fn claim(\n inputs: aztec::context::inputs::PrivateContextInputs,\n to: AztecAddress,\n amount: u128,\n secret: Field,\n message_leaf_index: Field,\n ) -> return_data aztec::protocol::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs {\n // MACRO CODE START\n // Note: The macros initially inserted a phase check here, but since there is no phase change in this function\n // nor in the claim helper function or the enqueued public function call, I have removed that check.\n aztec::oracle::version::assert_compatible_oracle_version();\n let serialized_params: [Field; 4] =\n [to.to_field(), amount.to_field(), secret, message_leaf_index];\n let args_hash: Field = aztec::hash::hash_args(serialized_params);\n let mut context: aztec::context::PrivateContext =\n aztec::context::PrivateContext::new(inputs, args_hash);\n // MACRO CODE END\n\n claim_helper(&mut context, to, amount, secret, message_leaf_index);\n\n // MACRO CODE START\n context.finish()\n // MACRO CODE END\n }\n\n /// Claims Fee Juice and ends the transaction setup phase.\n ///\n /// Use this variant when the claimed Fee Juice is intended to pay for THIS transaction's fees. By ending setup\n /// after the claim, the balance increase is placed in the non-revertible phase, ensuring the fee payer's balance\n /// is credited even if the revertible portion of the transaction fails. This guarantees the sequencer can collect\n /// fees.\n #[aztec::macros::internals_functions_generation::abi_attributes::abi_private]\n fn claim_and_end_setup(\n inputs: aztec::context::inputs::PrivateContextInputs,\n to: AztecAddress,\n amount: u128,\n secret: Field,\n message_leaf_index: Field,\n ) -> return_data aztec::protocol::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs {\n // MACRO CODE START\n aztec::oracle::version::assert_compatible_oracle_version();\n let serialized_params: [Field; 4] =\n [to.to_field(), amount.to_field(), secret, message_leaf_index];\n let args_hash: Field = aztec::hash::hash_args(serialized_params);\n let mut context: aztec::context::PrivateContext =\n aztec::context::PrivateContext::new(inputs, args_hash);\n // MACRO CODE END\n\n claim_helper(&mut context, to, amount, secret, message_leaf_index);\n\n // MACRO CODE START\n // End setup: everything before this point (including the enqueued _increase_public_balance\n // call) is non-revertible. Everything after is revertible.\n context.end_setup();\n context.finish()\n // MACRO CODE END\n }\n\n /// Internal function that credits a recipient's Fee Juice balance. Only callable by this contract itself\n /// (`#[only_self]`), enqueued by `claim` / `claim_and_end_setup` after consuming an L1-to-L2 message.\n #[aztec::macros::internals_functions_generation::abi_attributes::abi_public]\n #[aztec::macros::internals_functions_generation::abi_attributes::abi_only_self]\n unconstrained fn _increase_public_balance(to: AztecAddress, amount: u128) {\n // MACRO CODE START\n let context: aztec::context::PublicContext = aztec::context::PublicContext::new(\n || -> Field {\n let serialized_args: [Field; 2] = aztec::oracle::avm::calldata_copy(\n 1,\n <AztecAddress as aztec::protocol::traits::Serialize>::N\n + <u128 as aztec::protocol::traits::Serialize>::N,\n );\n aztec::hash::hash_args(serialized_args)\n },\n );\n let storage: Storage<aztec::context::PublicContext> =\n Storage::<aztec::context::PublicContext>::init(context);\n\n assert(\n context.maybe_msg_sender().unwrap() == context.this_address(),\n \"Function _increase_public_balance can only be called by the same contract\",\n );\n // MACRO CODE END\n\n let new_balance = storage.balances.at(to).read().add(amount);\n storage.balances.at(to).write(new_balance);\n }\n\n /// Asserts the caller has at least `fee_limit` Fee Juice. Used during transaction validation to verify the fee\n /// payer can cover the transaction's fee limit.\n #[aztec::macros::internals_functions_generation::abi_attributes::abi_public]\n #[aztec::macros::internals_functions_generation::abi_attributes::abi_view]\n unconstrained fn check_balance(fee_limit: u128) {\n // MACRO CODE START\n let context: aztec::context::PublicContext = aztec::context::PublicContext::new(\n || -> Field {\n let serialized_args: [Field; 1] = aztec::oracle::avm::calldata_copy(\n 1,\n <u128 as aztec::protocol::traits::Serialize>::N,\n );\n aztec::hash::hash_args(serialized_args)\n },\n );\n let storage: Storage<aztec::context::PublicContext> =\n Storage::<aztec::context::PublicContext>::init(context);\n\n assert(context.is_static_call(), \"Function check_balance can only be called statically\");\n // MACRO CODE END\n\n assert(\n storage.balances.at(context.maybe_msg_sender().unwrap()).read() >= fee_limit,\n \"Balance too low\",\n );\n }\n\n /// Returns the Fee Juice balance of the given address.\n #[aztec::macros::internals_functions_generation::abi_attributes::abi_public]\n #[aztec::macros::internals_functions_generation::abi_attributes::abi_view]\n unconstrained fn balance_of_public(owner: AztecAddress) -> pub u128 {\n // MACRO CODE START\n let context: aztec::context::PublicContext = aztec::context::PublicContext::new(\n || -> Field {\n let serialized_args: [Field; 1] = aztec::oracle::avm::calldata_copy(\n 1,\n <AztecAddress as aztec::protocol::traits::Serialize>::N,\n );\n aztec::hash::hash_args(serialized_args)\n },\n );\n let storage: Storage<aztec::context::PublicContext> =\n Storage::<aztec::context::PublicContext>::init(context);\n\n assert(\n context.is_static_call(),\n \"Function balance_of_public can only be called statically\",\n );\n // MACRO CODE END\n\n storage.balances.at(owner).read()\n }\n\n // THE REST OF THE CODE IN THIS CONTRACT WAS ORIGINALLY INJECTED BY THE #[aztec] MACRO.\n\n #[aztec::macros::internals_functions_generation::abi_attributes::abi_public]\n pub unconstrained fn public_dispatch(selector: Field) {\n if selector == INCREASE_PUBLIC_BALANCE_SELECTOR {\n let input_calldata: [Field; 2] = aztec::oracle::avm::calldata_copy(\n 1,\n <AztecAddress as aztec::protocol::traits::Serialize>::N\n + <u128 as aztec::protocol::traits::Serialize>::N,\n );\n let mut reader: aztec::protocol::utils::reader::Reader<2> =\n aztec::protocol::utils::reader::Reader::<2>::new(input_calldata);\n let arg0: AztecAddress = <AztecAddress as Deserialize>::stream_deserialize(&mut reader);\n let arg1: u128 = <u128 as Deserialize>::stream_deserialize(&mut reader);\n _increase_public_balance(arg0, arg1);\n aztec::oracle::avm::avm_return([].as_vector());\n };\n if selector == CHECK_BALANCE_SELECTOR {\n let input_calldata: [Field; 1] = aztec::oracle::avm::calldata_copy(\n 1,\n <u128 as aztec::protocol::traits::Serialize>::N,\n );\n let mut reader: aztec::protocol::utils::reader::Reader<1> =\n aztec::protocol::utils::reader::Reader::<1>::new(input_calldata);\n let arg0: u128 = <u128 as Deserialize>::stream_deserialize(&mut reader);\n check_balance(arg0);\n aztec::oracle::avm::avm_return([].as_vector());\n };\n if selector == BALANCE_OF_PUBLIC_SELECTOR {\n let input_calldata: [Field; 1] = aztec::oracle::avm::calldata_copy(\n 1,\n <AztecAddress as aztec::protocol::traits::Serialize>::N,\n );\n let mut reader: aztec::protocol::utils::reader::Reader<1> =\n aztec::protocol::utils::reader::Reader::<1>::new(input_calldata);\n let arg0: AztecAddress = <AztecAddress as Deserialize>::stream_deserialize(&mut reader);\n let return_value: [Field; 1] =\n <u128 as aztec::protocol::traits::Serialize>::serialize(balance_of_public(arg0));\n aztec::oracle::avm::avm_return(return_value.as_vector());\n };\n panic(f\"Unknown selector {selector}\")\n }\n\n pub struct StorageLayoutFields {\n pub balances: aztec::state_vars::Storable,\n }\n\n pub struct StorageLayout<let N: u32> {\n pub contract_name: str<N>,\n pub fields: StorageLayoutFields,\n }\n\n #[abi(storage)]\n pub global STORAGE_LAYOUT_FeeJuice: StorageLayout<8> = StorageLayout::<8> {\n contract_name: \"FeeJuice\",\n fields: StorageLayoutFields { balances: aztec::state_vars::Storable { slot: 1 } },\n };\n\n impl<Context> Storage<Context> {\n fn init(context: Context) -> Self {\n Self {\n balances: <Map<AztecAddress, PublicMutable<u128, Context>, Context> as aztec::state_vars::StateVariable<1, Context>>::new(\n context,\n 1,\n ),\n }\n }\n }\n\n pub struct _increase_public_balance_parameters {\n pub _to: AztecAddress,\n pub _amount: u128,\n }\n\n pub struct balance_of_public_parameters {\n pub _owner: AztecAddress,\n }\n\n pub struct check_balance_parameters {\n pub _fee_limit: u128,\n }\n\n pub struct claim_and_end_setup_parameters {\n pub _to: AztecAddress,\n pub _amount: u128,\n pub _secret: Field,\n pub _message_leaf_index: Field,\n }\n\n pub struct claim_parameters {\n pub _to: AztecAddress,\n pub _amount: u128,\n pub _secret: Field,\n pub _message_leaf_index: Field,\n }\n\n #[abi(functions)]\n pub struct _increase_public_balance_abi {\n parameters: _increase_public_balance_parameters,\n }\n\n #[abi(functions)]\n pub struct balance_of_public_abi {\n parameters: balance_of_public_parameters,\n return_type: u128,\n }\n\n #[abi(functions)]\n pub struct check_balance_abi {\n parameters: check_balance_parameters,\n }\n\n #[abi(functions)]\n pub struct claim_abi {\n parameters: claim_parameters,\n }\n\n #[abi(functions)]\n pub struct claim_and_end_setup_abi {\n parameters: claim_and_end_setup_parameters,\n }\n}\n"
4276
4276
  },
4277
4277
  "59": {
4278
4278
  "path": "/home/aztec-dev/aztec-packages/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/context/private_context.nr",
4279
- "source": "use crate::{\n context::{inputs::PrivateContextInputs, NullifierExistenceRequest, ReturnsHash},\n hash::hash_args,\n messaging::process_l1_to_l2_message,\n oracle::{\n call_private_function::call_private_function_internal,\n enqueue_public_function_call::{\n is_side_effect_counter_revertible_oracle_wrapper, notify_enqueued_public_function_call,\n notify_set_min_revertible_side_effect_counter,\n },\n execution_cache,\n logs::notify_created_contract_class_log,\n nullifiers::notify_created_nullifier,\n },\n};\nuse crate::protocol::{\n abis::{\n block_header::BlockHeader,\n call_context::CallContext,\n function_selector::FunctionSelector,\n gas_settings::GasSettings,\n log_hash::LogHash,\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 },\n address::{AztecAddress, EthAddress},\n constants::{\n CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, MAX_CONTRACT_CLASS_LOGS_PER_CALL,\n MAX_ENQUEUED_CALLS_PER_CALL, MAX_INCLUDE_BY_TIMESTAMP_DURATION, MAX_L2_TO_L1_MSGS_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 NULL_MSG_SENDER_CONTRACT_ADDRESS, PRIVATE_LOG_SIZE_IN_FIELDS,\n },\n hash::poseidon2_hash,\n messaging::l2_to_l1_message::L2ToL1Message,\n side_effect::{Counted, scoped::Scoped},\n traits::Empty,\n utils::arrays::{ClaimedLengthArray, trimmed_array_length_hint},\n};\n\n/// Minimal PrivateContext for protocol contracts going to audit.\n/// Contains only the methods actually used by: fee_juice, auth_registry, contract_class_registry, contract_instance_registry\n#[derive(Eq)]\npub struct PrivateContext {\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 include_by_timestamp: u64,\n\n pub nullifier_read_requests: BoundedVec<Scoped<Counted<Field>>, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n\n pub nullifiers: BoundedVec<Counted<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<Counted<L2ToL1Message>, MAX_L2_TO_L1_MSGS_PER_CALL>,\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n pub anchor_block_header: BlockHeader,\n\n pub private_logs: BoundedVec<Counted<PrivateLogData>, MAX_PRIVATE_LOGS_PER_CALL>,\n pub contract_class_logs_hashes: BoundedVec<Counted<LogHash>, MAX_CONTRACT_CLASS_LOGS_PER_CALL>,\n\n pub expected_non_revertible_side_effect_counter: u32,\n pub expected_revertible_side_effect_counter: u32,\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n let max_allowed_include_by_timestamp = inputs.anchor_block_header.global_variables.timestamp\n + MAX_INCLUDE_BY_TIMESTAMP_DURATION;\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 include_by_timestamp: max_allowed_include_by_timestamp,\n nullifier_read_requests: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n anchor_block_header: inputs.anchor_block_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 expected_non_revertible_side_effect_counter: 0,\n expected_revertible_side_effect_counter: 0,\n }\n }\n\n /// Returns the contract address that initiated this function call (similar to msg.sender in Solidity).\n pub fn maybe_msg_sender(self) -> Option<AztecAddress> {\n let maybe_msg_sender = self.inputs.call_context.msg_sender;\n if maybe_msg_sender == NULL_MSG_SENDER_CONTRACT_ADDRESS {\n Option::none()\n } else {\n Option::some(maybe_msg_sender)\n }\n }\n\n /// Returns the contract address of the current function being executed.\n pub fn this_address(self) -> AztecAddress {\n self.inputs.call_context.contract_address\n }\n\n /// Returns the chain ID of the current network.\n pub fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n /// Returns the protocol version.\n pub fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n /// Returns the gas settings for the current transaction.\n pub fn gas_settings(self) -> GasSettings {\n self.inputs.tx_context.gas_settings\n }\n\n /// Returns the function selector of the currently executing function.\n pub fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n /// Returns the hash of the arguments passed to the current function.\n pub fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n /// Returns the anchor block header.\n pub fn get_anchor_block_header(self) -> BlockHeader {\n self.anchor_block_header\n }\n\n /// Sets the hash of the return values for this private function.\n pub fn set_return_hash<let N: u32>(&mut self, serialized_return_values: [Field; N]) {\n let return_hash = hash_args(serialized_return_values);\n self.return_hash = return_hash;\n execution_cache::store(serialized_return_values, return_hash);\n }\n\n /// Builds the PrivateCircuitPublicInputs for this private function.\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 include_by_timestamp: self.include_by_timestamp,\n note_hash_read_requests: ClaimedLengthArray::empty(), // Not used by protocol contracts\n nullifier_read_requests: ClaimedLengthArray::from_bounded_vec(\n self.nullifier_read_requests,\n ),\n key_validation_requests_and_generators: ClaimedLengthArray::empty(), // Not used by protocol contracts\n note_hashes: ClaimedLengthArray::empty(), // Not used by protocol contracts\n nullifiers: ClaimedLengthArray::from_bounded_vec(self.nullifiers),\n private_call_requests: ClaimedLengthArray::from_bounded_vec(self.private_call_requests),\n public_call_requests: ClaimedLengthArray::from_bounded_vec(self.public_call_requests),\n public_teardown_call_request: self.public_teardown_call_request,\n l2_to_l1_msgs: ClaimedLengthArray::from_bounded_vec(self.l2_to_l1_msgs),\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n private_logs: ClaimedLengthArray::from_bounded_vec(self.private_logs),\n contract_class_logs_hashes: ClaimedLengthArray::from_bounded_vec(\n self.contract_class_logs_hashes,\n ),\n anchor_block_header: self.anchor_block_header,\n tx_context: self.inputs.tx_context,\n expected_non_revertible_side_effect_counter: self\n .expected_non_revertible_side_effect_counter,\n expected_revertible_side_effect_counter: self.expected_revertible_side_effect_counter,\n }\n }\n\n /// Declares the end of the \"setup phase\" of this tx. Used by fee_juice.\n pub fn end_setup(&mut self) {\n self.side_effect_counter += 1;\n self.min_revertible_side_effect_counter = self.next_counter();\n notify_set_min_revertible_side_effect_counter(self.min_revertible_side_effect_counter);\n }\n\n pub fn in_revertible_phase(&mut self) -> bool {\n let current_counter = self.side_effect_counter;\n\n // Safety: Kernel will validate that the claim is correct by validating the expected counters.\n let is_revertible =\n unsafe { is_side_effect_counter_revertible_oracle_wrapper(current_counter) };\n\n if is_revertible {\n if (self.expected_revertible_side_effect_counter == 0)\n | (current_counter < self.expected_revertible_side_effect_counter) {\n self.expected_revertible_side_effect_counter = current_counter;\n }\n } else if current_counter > self.expected_non_revertible_side_effect_counter {\n self.expected_non_revertible_side_effect_counter = current_counter;\n }\n\n is_revertible\n }\n\n /// Sets a deadline for when this transaction must be included in a block.\n pub fn set_include_by_timestamp(&mut self, include_by_timestamp: u64) {\n self.include_by_timestamp = std::cmp::min(self.include_by_timestamp, include_by_timestamp);\n }\n\n /// Pushes a new nullifier. Used by class_registry and instance_registry.\n pub fn push_nullifier(&mut self, nullifier: Field) {\n notify_created_nullifier(nullifier);\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: 0 }.count(self.next_counter()));\n }\n\n /// Asserts that a nullifier has been emitted. Used by instance_registry.\n pub fn assert_nullifier_exists(\n &mut self,\n nullifier_existence_request: NullifierExistenceRequest,\n ) {\n let nullifier = nullifier_existence_request.nullifier();\n let contract_address =\n nullifier_existence_request.maybe_contract_address().unwrap_or(AztecAddress::zero());\n\n let request = Scoped::new(\n Counted::new(nullifier, self.next_counter()),\n contract_address,\n );\n\n self.nullifier_read_requests.push(request);\n }\n\n /// Consumes a message sent from Ethereum (L1) to Aztec (L2). Used by fee_juice.\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 let nullifier = process_l1_to_l2_message(\n self.anchor_block_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\n /// Emits a private log. Used by instance_registry.\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 = PrivateLogData { log: PrivateLog::new(log, length), note_hash_counter: 0 }\n .count(counter);\n self.private_logs.push(private_log);\n }\n\n /// Emits a contract class log. Used by class_registry.\n pub fn emit_contract_class_log<let N: u32>(&mut self, log: [Field; N]) {\n let contract_address = self.this_address();\n let counter = self.next_counter();\n\n let log_to_emit: [Field; CONTRACT_CLASS_LOG_SIZE_IN_FIELDS] =\n log.concat([0; CONTRACT_CLASS_LOG_SIZE_IN_FIELDS - N]);\n // Safety: The below length is constrained in the base rollup, which will make sure that all the fields beyond\n // length are zero. However, it won't be able to check that we didn't add extra padding (trailing zeroes) or\n // that we cut trailing zeroes from the end.\n let length = unsafe { trimmed_array_length_hint(log_to_emit) };\n // We hash the entire padded log to ensure a user cannot pass a shorter length and so emit incorrect shorter\n // bytecode.\n let log_hash = poseidon2_hash(log_to_emit);\n // Safety: the below only exists to broadcast the raw log, so we can provide it to the base rollup later to be\n // constrained.\n unsafe {\n notify_created_contract_class_log(contract_address, log_to_emit, length, counter);\n }\n\n self.contract_class_logs_hashes.push(LogHash { value: log_hash, length: length }.count(\n counter,\n ));\n }\n\n /// Makes a read-only call to a private function. Used by auth_registry for authwit.\n pub fn static_call_private_function<let ArgsCount: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ArgsCount],\n ) -> ReturnsHash {\n let args_hash = hash_args(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 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.\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 self.side_effect_counter = end_side_effect_counter + 1;\n ReturnsHash::new(returns_hash)\n }\n\n /// Enqueues a call to a public function with a calldata hash. Used by fee_juice and auth_registry.\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 hide_msg_sender: 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 msg_sender = if hide_msg_sender {\n NULL_MSG_SENDER_CONTRACT_ADDRESS\n } else {\n self.this_address()\n };\n\n let call_request =\n PublicCallRequest { msg_sender, contract_address, is_static_call, calldata_hash };\n\n self.public_call_requests.push(Counted::new(call_request, counter));\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 include_by_timestamp: 0,\n nullifier_read_requests: 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 anchor_block_header: BlockHeader::empty(),\n private_logs: BoundedVec::new(),\n contract_class_logs_hashes: BoundedVec::new(),\n expected_non_revertible_side_effect_counter: 0,\n expected_revertible_side_effect_counter: 0,\n }\n }\n}\n"
4279
+ "source": "use crate::{\n context::{inputs::PrivateContextInputs, NullifierExistenceRequest, ReturnsHash},\n hash::hash_args,\n messaging::process_l1_to_l2_message,\n oracle::{\n call_private_function::call_private_function_internal,\n enqueue_public_function_call::{\n is_side_effect_counter_revertible_oracle_wrapper, notify_enqueued_public_function_call,\n notify_set_min_revertible_side_effect_counter,\n },\n execution_cache,\n logs::notify_created_contract_class_log,\n nullifiers::notify_created_nullifier,\n },\n};\nuse crate::protocol::{\n abis::{\n block_header::BlockHeader,\n call_context::CallContext,\n function_selector::FunctionSelector,\n gas_settings::GasSettings,\n log_hash::LogHash,\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 },\n address::{AztecAddress, EthAddress},\n constants::{\n CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, MAX_CONTRACT_CLASS_LOGS_PER_CALL,\n MAX_ENQUEUED_CALLS_PER_CALL, MAX_TX_LIFETIME, MAX_L2_TO_L1_MSGS_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 NULL_MSG_SENDER_CONTRACT_ADDRESS, PRIVATE_LOG_SIZE_IN_FIELDS,\n },\n hash::poseidon2_hash,\n messaging::l2_to_l1_message::L2ToL1Message,\n side_effect::{Counted, scoped::Scoped},\n traits::Empty,\n utils::arrays::{ClaimedLengthArray, trimmed_array_length_hint},\n};\n\n/// Minimal PrivateContext for protocol contracts going to audit.\n/// Contains only the methods actually used by: fee_juice, auth_registry, contract_class_registry, contract_instance_registry\n#[derive(Eq)]\npub struct PrivateContext {\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 expiration_timestamp: u64,\n\n pub nullifier_read_requests: BoundedVec<Scoped<Counted<Field>>, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n\n pub nullifiers: BoundedVec<Counted<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<Counted<L2ToL1Message>, MAX_L2_TO_L1_MSGS_PER_CALL>,\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n pub anchor_block_header: BlockHeader,\n\n pub private_logs: BoundedVec<Counted<PrivateLogData>, MAX_PRIVATE_LOGS_PER_CALL>,\n pub contract_class_logs_hashes: BoundedVec<Counted<LogHash>, MAX_CONTRACT_CLASS_LOGS_PER_CALL>,\n\n pub expected_non_revertible_side_effect_counter: u32,\n pub expected_revertible_side_effect_counter: u32,\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 expiration_timestamp: inputs.anchor_block_header.global_variables.timestamp\n + MAX_TX_LIFETIME,\n nullifier_read_requests: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n anchor_block_header: inputs.anchor_block_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 expected_non_revertible_side_effect_counter: 0,\n expected_revertible_side_effect_counter: 0,\n }\n }\n\n /// Returns the contract address that initiated this function call (similar to msg.sender in Solidity).\n pub fn maybe_msg_sender(self) -> Option<AztecAddress> {\n let maybe_msg_sender = self.inputs.call_context.msg_sender;\n if maybe_msg_sender == NULL_MSG_SENDER_CONTRACT_ADDRESS {\n Option::none()\n } else {\n Option::some(maybe_msg_sender)\n }\n }\n\n /// Returns the contract address of the current function being executed.\n pub fn this_address(self) -> AztecAddress {\n self.inputs.call_context.contract_address\n }\n\n /// Returns the chain ID of the current network.\n pub fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n /// Returns the protocol version.\n pub fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n /// Returns the gas settings for the current transaction.\n pub fn gas_settings(self) -> GasSettings {\n self.inputs.tx_context.gas_settings\n }\n\n /// Returns the function selector of the currently executing function.\n pub fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n /// Returns the hash of the arguments passed to the current function.\n pub fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n /// Returns the anchor block header.\n pub fn get_anchor_block_header(self) -> BlockHeader {\n self.anchor_block_header\n }\n\n /// Sets the hash of the return values for this private function.\n pub fn set_return_hash<let N: u32>(&mut self, serialized_return_values: [Field; N]) {\n let return_hash = hash_args(serialized_return_values);\n self.return_hash = return_hash;\n execution_cache::store(serialized_return_values, return_hash);\n }\n\n /// Builds the PrivateCircuitPublicInputs for this private function.\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 expiration_timestamp: self.expiration_timestamp,\n note_hash_read_requests: ClaimedLengthArray::empty(), // Not used by protocol contracts\n nullifier_read_requests: ClaimedLengthArray::from_bounded_vec(\n self.nullifier_read_requests,\n ),\n key_validation_requests_and_separators: ClaimedLengthArray::empty(), // Not used by protocol contracts\n note_hashes: ClaimedLengthArray::empty(), // Not used by protocol contracts\n nullifiers: ClaimedLengthArray::from_bounded_vec(self.nullifiers),\n private_call_requests: ClaimedLengthArray::from_bounded_vec(self.private_call_requests),\n public_call_requests: ClaimedLengthArray::from_bounded_vec(self.public_call_requests),\n public_teardown_call_request: self.public_teardown_call_request,\n l2_to_l1_msgs: ClaimedLengthArray::from_bounded_vec(self.l2_to_l1_msgs),\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n private_logs: ClaimedLengthArray::from_bounded_vec(self.private_logs),\n contract_class_logs_hashes: ClaimedLengthArray::from_bounded_vec(\n self.contract_class_logs_hashes,\n ),\n anchor_block_header: self.anchor_block_header,\n tx_context: self.inputs.tx_context,\n expected_non_revertible_side_effect_counter: self\n .expected_non_revertible_side_effect_counter,\n expected_revertible_side_effect_counter: self.expected_revertible_side_effect_counter,\n }\n }\n\n /// Declares the end of the \"setup phase\" of this tx. Used by fee_juice.\n pub fn end_setup(&mut self) {\n self.side_effect_counter += 1;\n self.min_revertible_side_effect_counter = self.next_counter();\n notify_set_min_revertible_side_effect_counter(self.min_revertible_side_effect_counter);\n }\n\n pub fn in_revertible_phase(&mut self) -> bool {\n let current_counter = self.side_effect_counter;\n\n // Safety: Kernel will validate that the claim is correct by validating the expected counters.\n let is_revertible =\n unsafe { is_side_effect_counter_revertible_oracle_wrapper(current_counter) };\n\n if is_revertible {\n if (self.expected_revertible_side_effect_counter == 0)\n | (current_counter < self.expected_revertible_side_effect_counter) {\n self.expected_revertible_side_effect_counter = current_counter;\n }\n } else if current_counter > self.expected_non_revertible_side_effect_counter {\n self.expected_non_revertible_side_effect_counter = current_counter;\n }\n\n is_revertible\n }\n\n /// Sets a deadline for when this transaction must be included in a block.\n pub fn set_expiration_timestamp(&mut self, expiration_timestamp: u64) {\n self.expiration_timestamp = std::cmp::min(self.expiration_timestamp, expiration_timestamp);\n }\n\n /// Pushes a new nullifier. Used by class_registry and instance_registry.\n pub fn push_nullifier(&mut self, nullifier: Field) {\n notify_created_nullifier(nullifier);\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: 0 }.count(self.next_counter()));\n }\n\n /// Asserts that a nullifier has been emitted. Used by instance_registry.\n pub fn assert_nullifier_exists(\n &mut self,\n nullifier_existence_request: NullifierExistenceRequest,\n ) {\n let nullifier = nullifier_existence_request.nullifier();\n let contract_address =\n nullifier_existence_request.maybe_contract_address().unwrap_or(AztecAddress::zero());\n\n let request = Scoped::new(\n Counted::new(nullifier, self.next_counter()),\n contract_address,\n );\n\n self.nullifier_read_requests.push(request);\n }\n\n /// Consumes a message sent from Ethereum (L1) to Aztec (L2). Used by fee_juice.\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 let nullifier = process_l1_to_l2_message(\n self.anchor_block_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\n /// Emits a private log. Used by instance_registry.\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 = PrivateLogData { log: PrivateLog::new(log, length), note_hash_counter: 0 }\n .count(counter);\n self.private_logs.push(private_log);\n }\n\n /// Emits a contract class log. Used by class_registry.\n pub fn emit_contract_class_log<let N: u32>(&mut self, log: [Field; N]) {\n let contract_address = self.this_address();\n let counter = self.next_counter();\n\n let log_to_emit: [Field; CONTRACT_CLASS_LOG_SIZE_IN_FIELDS] =\n log.concat([0; CONTRACT_CLASS_LOG_SIZE_IN_FIELDS - N]);\n // Safety: The below length is constrained in the base rollup, which will make sure that all the fields beyond\n // length are zero. However, it won't be able to check that we didn't add extra padding (trailing zeroes) or\n // that we cut trailing zeroes from the end.\n let length = unsafe { trimmed_array_length_hint(log_to_emit) };\n // We hash the entire padded log to ensure a user cannot pass a shorter length and so emit incorrect shorter\n // bytecode.\n let log_hash = poseidon2_hash(log_to_emit);\n // Safety: the below only exists to broadcast the raw log, so we can provide it to the base rollup later to be\n // constrained.\n unsafe {\n notify_created_contract_class_log(contract_address, log_to_emit, length, counter);\n }\n\n self.contract_class_logs_hashes.push(LogHash { value: log_hash, length: length }.count(\n counter,\n ));\n }\n\n /// Makes a read-only call to a private function. Used by auth_registry for authwit.\n pub fn static_call_private_function<let ArgsCount: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ArgsCount],\n ) -> ReturnsHash {\n let args_hash = hash_args(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 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.\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 self.side_effect_counter = end_side_effect_counter + 1;\n ReturnsHash::new(returns_hash)\n }\n\n /// Enqueues a call to a public function with a calldata hash. Used by fee_juice and auth_registry.\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 hide_msg_sender: 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 msg_sender = if hide_msg_sender {\n NULL_MSG_SENDER_CONTRACT_ADDRESS\n } else {\n self.this_address()\n };\n\n let call_request =\n PublicCallRequest { msg_sender, contract_address, is_static_call, calldata_hash };\n\n self.public_call_requests.push(Counted::new(call_request, counter));\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 expiration_timestamp: 0,\n nullifier_read_requests: 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 anchor_block_header: BlockHeader::empty(),\n private_logs: BoundedVec::new(),\n contract_class_logs_hashes: BoundedVec::new(),\n expected_non_revertible_side_effect_counter: 0,\n expected_revertible_side_effect_counter: 0,\n }\n }\n}\n"
4280
4280
  },
4281
4281
  "60": {
4282
4282
  "path": "/home/aztec-dev/aztec-packages/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/context/public_context.nr",
@@ -4284,7 +4284,7 @@
4284
4284
  },
4285
4285
  "63": {
4286
4286
  "path": "/home/aztec-dev/aztec-packages/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/hash.nr",
4287
- "source": "//! Aztec hash functions.\n\nuse crate::protocol::{\n address::{AztecAddress, EthAddress},\n constants::{\n DOM_SEP__FUNCTION_ARGS, DOM_SEP__MESSAGE_NULLIFIER, DOM_SEP__PUBLIC_BYTECODE,\n DOM_SEP__PUBLIC_CALLDATA, DOM_SEP__SECRET_HASH, MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS,\n },\n hash::{poseidon2_hash_subarray, poseidon2_hash_with_separator, sha256_to_field},\n traits::ToField,\n};\n\npub use crate::protocol::hash::compute_siloed_nullifier;\n\npub fn compute_secret_hash(secret: Field) -> Field {\n poseidon2_hash_with_separator([secret], DOM_SEP__SECRET_HASH)\n}\n\npub fn compute_l1_to_l2_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field,\n leaf_index: Field,\n) -> Field {\n let mut hash_bytes = [0 as u8; 224];\n let sender_bytes: [u8; 32] = sender.to_field().to_be_bytes();\n let chain_id_bytes: [u8; 32] = chain_id.to_be_bytes();\n let recipient_bytes: [u8; 32] = recipient.to_field().to_be_bytes();\n let version_bytes: [u8; 32] = version.to_be_bytes();\n let content_bytes: [u8; 32] = content.to_be_bytes();\n let secret_hash_bytes: [u8; 32] = secret_hash.to_be_bytes();\n let leaf_index_bytes: [u8; 32] = leaf_index.to_be_bytes();\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n hash_bytes[i + 192] = leaf_index_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret\npub fn compute_l1_to_l2_message_nullifier(message_hash: Field, secret: Field) -> Field {\n poseidon2_hash_with_separator([message_hash, secret], DOM_SEP__MESSAGE_NULLIFIER)\n}\n\n// Computes the hash of input arguments or return values for private functions, or for authwit creation.\npub fn hash_args<let N: u32>(args: [Field; N]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n poseidon2_hash_with_separator(args, DOM_SEP__FUNCTION_ARGS)\n }\n}\n\n// Computes the hash of calldata for public functions.\npub fn hash_calldata_array<let N: u32>(calldata: [Field; N]) -> Field {\n poseidon2_hash_with_separator(calldata, DOM_SEP__PUBLIC_CALLDATA)\n}\n\n/// Computes the public bytecode commitment for a contract class. The commitment is `hash([separator, ...bytecode])`\n/// where bytecode omits the length prefix present in `packed_bytecode`.\n///\n/// @param packed_bytecode - The packed bytecode of the contract class. 0th word is the length in bytes.\n/// packed_bytecode is mutable so that we can avoid copying the array to construct one starting with separator instead\n/// of length. @returns The public bytecode commitment.\npub fn compute_public_bytecode_commitment(\n mut packed_public_bytecode: [Field; MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS],\n) -> Field {\n // First field element contains the length of the bytecode\n let bytecode_length_in_bytes: u32 = packed_public_bytecode[0] as u32;\n let bytecode_length_in_fields: u32 =\n (bytecode_length_in_bytes / 31) + (bytecode_length_in_bytes % 31 != 0) as u32;\n // Don't allow empty public bytecode. AVM doesn't handle execution of contracts that exist with empty bytecode.\n assert(bytecode_length_in_fields != 0);\n assert(bytecode_length_in_fields < MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS);\n\n // Packed_bytecode's 0th entry is the length. Replace it with separator before hashing.\n let separator = DOM_SEP__PUBLIC_BYTECODE.to_field();\n packed_public_bytecode[0] = separator;\n\n // `fields_to_hash` is the number of fields from the start of `packed_public_bytecode` that should be included in\n // the hash. Fields after this length are ignored. +1 to account for the separator.\n let num_fields_to_hash = bytecode_length_in_fields + 1;\n\n poseidon2_hash_subarray(packed_public_bytecode, num_fields_to_hash)\n}\n"
4287
+ "source": "//! Aztec hash functions.\n\nuse crate::protocol::{\n address::{AztecAddress, EthAddress},\n constants::{\n DOM_SEP__FUNCTION_ARGS, DOM_SEP__MESSAGE_NULLIFIER, DOM_SEP__PUBLIC_BYTECODE,\n DOM_SEP__PUBLIC_CALLDATA, DOM_SEP__SECRET_HASH, MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS,\n },\n hash::{poseidon2_hash_subarray, poseidon2_hash_with_separator, sha256_to_field},\n traits::ToField,\n};\n\npub use crate::protocol::hash::compute_siloed_nullifier;\n\npub fn compute_secret_hash(secret: Field) -> Field {\n poseidon2_hash_with_separator([secret], DOM_SEP__SECRET_HASH)\n}\n\npub fn compute_l1_to_l2_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field,\n leaf_index: Field,\n) -> Field {\n let mut hash_bytes = [0 as u8; 224];\n let sender_bytes: [u8; 32] = sender.to_field().to_be_bytes();\n let chain_id_bytes: [u8; 32] = chain_id.to_be_bytes();\n let recipient_bytes: [u8; 32] = recipient.to_field().to_be_bytes();\n let version_bytes: [u8; 32] = version.to_be_bytes();\n let content_bytes: [u8; 32] = content.to_be_bytes();\n let secret_hash_bytes: [u8; 32] = secret_hash.to_be_bytes();\n let leaf_index_bytes: [u8; 32] = leaf_index.to_be_bytes();\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n hash_bytes[i + 192] = leaf_index_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret\npub fn compute_l1_to_l2_message_nullifier(message_hash: Field, secret: Field) -> Field {\n poseidon2_hash_with_separator([message_hash, secret], DOM_SEP__MESSAGE_NULLIFIER)\n}\n\n// Computes the hash of input arguments or return values for private functions, or for authwit creation.\npub fn hash_args<let N: u32>(args: [Field; N]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n poseidon2_hash_with_separator(args, DOM_SEP__FUNCTION_ARGS)\n }\n}\n\n// Computes the hash of calldata for public functions.\npub fn hash_calldata_array<let N: u32>(calldata: [Field; N]) -> Field {\n poseidon2_hash_with_separator(calldata, DOM_SEP__PUBLIC_CALLDATA)\n}\n\n/// Computes the public bytecode commitment for a contract class. The commitment is `hash([(length | separator),\n/// ...bytecode])`.\n///\n/// @param packed_bytecode - The packed bytecode of the contract class. 0th word is the length in bytes.\n/// packed_bytecode is mutable so that we can avoid copying the array to construct one starting with first_field\n/// instead of length. @returns The public bytecode commitment.\npub fn compute_public_bytecode_commitment(\n mut packed_public_bytecode: [Field; MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS],\n) -> Field {\n // First field element contains the length of the bytecode\n let bytecode_length_in_bytes: u32 = packed_public_bytecode[0] as u32;\n let bytecode_length_in_fields: u32 = (bytecode_length_in_bytes / 31) + (bytecode_length_in_bytes % 31 != 0) as u32;\n // Don't allow empty public bytecode. AVM doesn't handle execution of contracts that exist with empty bytecode.\n assert(bytecode_length_in_fields != 0);\n assert(bytecode_length_in_fields < MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS);\n\n // Packed_bytecode's 0th entry is the length. Append it to the separator before hashing.\n let first_field = DOM_SEP__PUBLIC_BYTECODE.to_field() + (packed_public_bytecode[0] as u64 << 32) as Field;\n packed_public_bytecode[0] = first_field;\n\n // `fields_to_hash` is the number of fields from the start of `packed_public_bytecode` that should be included in\n // the hash. Fields after this length are ignored. +1 to account for the separator.\n let num_fields_to_hash = bytecode_length_in_fields + 1;\n\n poseidon2_hash_subarray(packed_public_bytecode, num_fields_to_hash)\n}\n"
4288
4288
  },
4289
4289
  "70": {
4290
4290
  "path": "/home/aztec-dev/aztec-packages/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/messaging.nr",
@@ -4292,7 +4292,7 @@
4292
4292
  },
4293
4293
  "73": {
4294
4294
  "path": "/home/aztec-dev/aztec-packages/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/avm.nr",
4295
- "source": "//! AVM oracles.\n//!\n//! There are only available during public execution. Calling any of them from a private or utility function will\n//! result in runtime errors.\n\nuse crate::protocol::address::{AztecAddress, EthAddress};\n\npub unconstrained fn address() -> AztecAddress {\n address_opcode()\n}\npub unconstrained fn sender() -> AztecAddress {\n sender_opcode()\n}\npub unconstrained fn transaction_fee() -> Field {\n transaction_fee_opcode()\n}\npub unconstrained fn chain_id() -> Field {\n chain_id_opcode()\n}\npub unconstrained fn version() -> Field {\n version_opcode()\n}\npub unconstrained fn block_number() -> u32 {\n block_number_opcode()\n}\npub unconstrained fn timestamp() -> u64 {\n timestamp_opcode()\n}\npub unconstrained fn min_fee_per_l2_gas() -> u128 {\n min_fee_per_l2_gas_opcode()\n}\npub unconstrained fn min_fee_per_da_gas() -> u128 {\n min_fee_per_da_gas_opcode()\n}\npub unconstrained fn l2_gas_left() -> u32 {\n l2_gas_left_opcode()\n}\npub unconstrained fn da_gas_left() -> u32 {\n da_gas_left_opcode()\n}\npub unconstrained fn is_static_call() -> u1 {\n is_static_call_opcode()\n}\npub unconstrained fn note_hash_exists(note_hash: Field, leaf_index: u64) -> u1 {\n note_hash_exists_opcode(note_hash, leaf_index)\n}\npub unconstrained fn emit_note_hash(note_hash: Field) {\n emit_note_hash_opcode(note_hash)\n}\npub unconstrained fn nullifier_exists(siloed_nullifier: Field) -> u1 {\n nullifier_exists_opcode(siloed_nullifier)\n}\npub unconstrained fn emit_nullifier(nullifier: Field) {\n emit_nullifier_opcode(nullifier)\n}\npub unconstrained fn emit_public_log(message: [Field]) {\n emit_public_log_opcode(message)\n}\npub unconstrained fn l1_to_l2_msg_exists(msg_hash: Field, msg_leaf_index: u64) -> u1 {\n l1_to_l2_msg_exists_opcode(msg_hash, msg_leaf_index)\n}\npub unconstrained fn send_l2_to_l1_msg(recipient: EthAddress, content: Field) {\n send_l2_to_l1_msg_opcode(recipient, content)\n}\n\npub unconstrained fn call<let N: u32>(\n l2_gas_allocation: u32,\n da_gas_allocation: u32,\n address: AztecAddress,\n args: [Field; N],\n) {\n call_opcode(l2_gas_allocation, da_gas_allocation, address, N, args)\n}\n\npub unconstrained fn call_static<let N: u32>(\n l2_gas_allocation: u32,\n da_gas_allocation: u32,\n address: AztecAddress,\n args: [Field; N],\n) {\n call_static_opcode(l2_gas_allocation, da_gas_allocation, address, N, args)\n}\n\npub unconstrained fn calldata_copy<let N: u32>(cdoffset: u32, copy_size: u32) -> [Field; N] {\n calldata_copy_opcode(cdoffset, copy_size)\n}\n\n/// `success_copy` is placed immediately after the CALL opcode to get the success value\npub unconstrained fn success_copy() -> bool {\n success_copy_opcode()\n}\n\npub unconstrained fn returndata_size() -> u32 {\n returndata_size_opcode()\n}\n\npub unconstrained fn returndata_copy(rdoffset: u32, copy_size: u32) -> [Field] {\n returndata_copy_opcode(rdoffset, copy_size)\n}\n\n/// The additional prefix is to avoid clashing with the `return` Noir keyword.\npub unconstrained fn avm_return(returndata: [Field]) {\n return_opcode(returndata)\n}\n\n/// This opcode reverts using the exact data given. In general it should only be used to do rethrows, where the revert\n/// data is the same as the original revert data. For normal reverts, use Noir's `assert` which, on top of reverting,\n/// will also add an error selector to the revert data.\npub unconstrained fn revert(revertdata: [Field]) {\n revert_opcode(revertdata)\n}\n\npub unconstrained fn storage_read(storage_slot: Field, contract_address: Field) -> Field {\n storage_read_opcode(storage_slot, contract_address)\n}\n\npub unconstrained fn storage_write(storage_slot: Field, value: Field) {\n storage_write_opcode(storage_slot, value);\n}\n\n#[oracle(avmOpcodeAddress)]\nunconstrained fn address_opcode() -> AztecAddress {}\n\n#[oracle(avmOpcodeSender)]\nunconstrained fn sender_opcode() -> AztecAddress {}\n\n#[oracle(avmOpcodeTransactionFee)]\nunconstrained fn transaction_fee_opcode() -> Field {}\n\n#[oracle(avmOpcodeChainId)]\nunconstrained fn chain_id_opcode() -> Field {}\n\n#[oracle(avmOpcodeVersion)]\nunconstrained fn version_opcode() -> Field {}\n\n#[oracle(avmOpcodeBlockNumber)]\nunconstrained fn block_number_opcode() -> u32 {}\n\n#[oracle(avmOpcodeTimestamp)]\nunconstrained fn timestamp_opcode() -> u64 {}\n\n#[oracle(avmOpcodeMinFeePerL2Gas)]\nunconstrained fn min_fee_per_l2_gas_opcode() -> u128 {}\n\n#[oracle(avmOpcodeMinFeePerDaGas)]\nunconstrained fn min_fee_per_da_gas_opcode() -> u128 {}\n\n#[oracle(avmOpcodeL2GasLeft)]\nunconstrained fn l2_gas_left_opcode() -> u32 {}\n\n#[oracle(avmOpcodeDaGasLeft)]\nunconstrained fn da_gas_left_opcode() -> u32 {}\n\n#[oracle(avmOpcodeIsStaticCall)]\nunconstrained fn is_static_call_opcode() -> u1 {}\n\n#[oracle(avmOpcodeNoteHashExists)]\nunconstrained fn note_hash_exists_opcode(note_hash: Field, leaf_index: u64) -> u1 {}\n\n#[oracle(avmOpcodeEmitNoteHash)]\nunconstrained fn emit_note_hash_opcode(note_hash: Field) {}\n\n#[oracle(avmOpcodeNullifierExists)]\nunconstrained fn nullifier_exists_opcode(siloed_nullifier: Field) -> u1 {}\n\n#[oracle(avmOpcodeEmitNullifier)]\nunconstrained fn emit_nullifier_opcode(nullifier: Field) {}\n\n// TODO(#11124): rename unencrypted to public in avm\n#[oracle(avmOpcodeEmitUnencryptedLog)]\nunconstrained fn emit_public_log_opcode(message: [Field]) {}\n\n#[oracle(avmOpcodeL1ToL2MsgExists)]\nunconstrained fn l1_to_l2_msg_exists_opcode(msg_hash: Field, msg_leaf_index: u64) -> u1 {}\n\n#[oracle(avmOpcodeSendL2ToL1Msg)]\nunconstrained fn send_l2_to_l1_msg_opcode(recipient: EthAddress, content: Field) {}\n\n#[oracle(avmOpcodeCalldataCopy)]\nunconstrained fn calldata_copy_opcode<let N: u32>(cdoffset: u32, copy_size: u32) -> [Field; N] {}\n\n#[oracle(avmOpcodeReturndataSize)]\nunconstrained fn returndata_size_opcode() -> u32 {}\n\n#[oracle(avmOpcodeReturndataCopy)]\nunconstrained fn returndata_copy_opcode(rdoffset: u32, copy_size: u32) -> [Field] {}\n\n#[oracle(avmOpcodeReturn)]\nunconstrained fn return_opcode(returndata: [Field]) {}\n\n#[oracle(avmOpcodeRevert)]\nunconstrained fn revert_opcode(revertdata: [Field]) {}\n\n// While the length parameter might seem unnecessary given that we have N we keep it around because at the AVM bytecode\n// level, we want to support non-comptime-known lengths for such opcodes, even if Noir code will not generally take\n// that route.\n#[oracle(avmOpcodeCall)]\nunconstrained fn call_opcode<let N: u32>(\n l2_gas_allocation: u32,\n da_gas_allocation: u32,\n address: AztecAddress,\n length: u32,\n args: [Field; N],\n) {}\n\n// While the length parameter might seem unnecessary given that we have N we keep it around because at the AVM bytecode\n// level, we want to support non-comptime-known lengths for such opcodes, even if Noir code will not generally take\n// that route.\n#[oracle(avmOpcodeStaticCall)]\nunconstrained fn call_static_opcode<let N: u32>(\n l2_gas_allocation: u32,\n da_gas_allocation: u32,\n address: AztecAddress,\n length: u32,\n args: [Field; N],\n) {}\n\n#[oracle(avmOpcodeSuccessCopy)]\nunconstrained fn success_copy_opcode() -> bool {}\n\n#[oracle(avmOpcodeStorageRead)]\nunconstrained fn storage_read_opcode(storage_slot: Field, contract_address: Field) -> Field {}\n\n#[oracle(avmOpcodeStorageWrite)]\nunconstrained fn storage_write_opcode(storage_slot: Field, value: Field) {}\n"
4295
+ "source": "//! AVM oracles.\n//!\n//! There are only available during public execution. Calling any of them from a private or utility function will\n//! result in runtime errors.\n\nuse crate::protocol::address::{AztecAddress, EthAddress};\n\npub unconstrained fn address() -> AztecAddress {\n address_opcode()\n}\npub unconstrained fn sender() -> AztecAddress {\n sender_opcode()\n}\npub unconstrained fn transaction_fee() -> Field {\n transaction_fee_opcode()\n}\npub unconstrained fn chain_id() -> Field {\n chain_id_opcode()\n}\npub unconstrained fn version() -> Field {\n version_opcode()\n}\npub unconstrained fn block_number() -> u32 {\n block_number_opcode()\n}\npub unconstrained fn timestamp() -> u64 {\n timestamp_opcode()\n}\npub unconstrained fn min_fee_per_l2_gas() -> u128 {\n min_fee_per_l2_gas_opcode()\n}\npub unconstrained fn min_fee_per_da_gas() -> u128 {\n min_fee_per_da_gas_opcode()\n}\npub unconstrained fn l2_gas_left() -> u32 {\n l2_gas_left_opcode()\n}\npub unconstrained fn da_gas_left() -> u32 {\n da_gas_left_opcode()\n}\npub unconstrained fn is_static_call() -> u1 {\n is_static_call_opcode()\n}\npub unconstrained fn note_hash_exists(note_hash: Field, leaf_index: u64) -> u1 {\n note_hash_exists_opcode(note_hash, leaf_index)\n}\npub unconstrained fn emit_note_hash(note_hash: Field) {\n emit_note_hash_opcode(note_hash)\n}\npub unconstrained fn nullifier_exists(siloed_nullifier: Field) -> u1 {\n nullifier_exists_opcode(siloed_nullifier)\n}\npub unconstrained fn emit_nullifier(nullifier: Field) {\n emit_nullifier_opcode(nullifier)\n}\npub unconstrained fn emit_public_log(message: [Field]) {\n emit_public_log_opcode(message)\n}\npub unconstrained fn l1_to_l2_msg_exists(msg_hash: Field, msg_leaf_index: u64) -> u1 {\n l1_to_l2_msg_exists_opcode(msg_hash, msg_leaf_index)\n}\npub unconstrained fn send_l2_to_l1_msg(recipient: EthAddress, content: Field) {\n send_l2_to_l1_msg_opcode(recipient, content)\n}\n\npub unconstrained fn call<let N: u32>(\n l2_gas_allocation: u32,\n da_gas_allocation: u32,\n address: AztecAddress,\n args: [Field; N],\n) {\n call_opcode(l2_gas_allocation, da_gas_allocation, address, N, args)\n}\n\npub unconstrained fn call_static<let N: u32>(\n l2_gas_allocation: u32,\n da_gas_allocation: u32,\n address: AztecAddress,\n args: [Field; N],\n) {\n call_static_opcode(l2_gas_allocation, da_gas_allocation, address, N, args)\n}\n\npub unconstrained fn calldata_copy<let N: u32>(cdoffset: u32, copy_size: u32) -> [Field; N] {\n calldata_copy_opcode(cdoffset, copy_size)\n}\n\n/// `success_copy` is placed immediately after the CALL opcode to get the success value\npub unconstrained fn success_copy() -> bool {\n success_copy_opcode()\n}\n\npub unconstrained fn returndata_size() -> u32 {\n returndata_size_opcode()\n}\n\npub unconstrained fn returndata_copy(rdoffset: u32, copy_size: u32) -> [Field] {\n returndata_copy_opcode(rdoffset, copy_size)\n}\n\n/// The additional prefix is to avoid clashing with the `return` Noir keyword.\npub unconstrained fn avm_return(returndata: [Field]) {\n return_opcode(returndata)\n}\n\n/// This opcode reverts using the exact data given. In general it should only be used to do rethrows, where the revert\n/// data is the same as the original revert data. For normal reverts, use Noir's `assert` which, on top of reverting,\n/// will also add an error selector to the revert data.\npub unconstrained fn revert(revertdata: [Field]) {\n revert_opcode(revertdata)\n}\n\npub unconstrained fn storage_read(storage_slot: Field, contract_address: Field) -> Field {\n storage_read_opcode(storage_slot, contract_address)\n}\n\npub unconstrained fn storage_write(storage_slot: Field, value: Field) {\n storage_write_opcode(storage_slot, value);\n}\n\n#[oracle(avmOpcodeAddress)]\nunconstrained fn address_opcode() -> AztecAddress {}\n\n#[oracle(avmOpcodeSender)]\nunconstrained fn sender_opcode() -> AztecAddress {}\n\n#[oracle(avmOpcodeTransactionFee)]\nunconstrained fn transaction_fee_opcode() -> Field {}\n\n#[oracle(avmOpcodeChainId)]\nunconstrained fn chain_id_opcode() -> Field {}\n\n#[oracle(avmOpcodeVersion)]\nunconstrained fn version_opcode() -> Field {}\n\n#[oracle(avmOpcodeBlockNumber)]\nunconstrained fn block_number_opcode() -> u32 {}\n\n#[oracle(avmOpcodeTimestamp)]\nunconstrained fn timestamp_opcode() -> u64 {}\n\n#[oracle(avmOpcodeMinFeePerL2Gas)]\nunconstrained fn min_fee_per_l2_gas_opcode() -> u128 {}\n\n#[oracle(avmOpcodeMinFeePerDaGas)]\nunconstrained fn min_fee_per_da_gas_opcode() -> u128 {}\n\n#[oracle(avmOpcodeL2GasLeft)]\nunconstrained fn l2_gas_left_opcode() -> u32 {}\n\n#[oracle(avmOpcodeDaGasLeft)]\nunconstrained fn da_gas_left_opcode() -> u32 {}\n\n#[oracle(avmOpcodeIsStaticCall)]\nunconstrained fn is_static_call_opcode() -> u1 {}\n\n#[oracle(avmOpcodeNoteHashExists)]\nunconstrained fn note_hash_exists_opcode(note_hash: Field, leaf_index: u64) -> u1 {}\n\n#[oracle(avmOpcodeEmitNoteHash)]\nunconstrained fn emit_note_hash_opcode(note_hash: Field) {}\n\n#[oracle(avmOpcodeNullifierExists)]\nunconstrained fn nullifier_exists_opcode(siloed_nullifier: Field) -> u1 {}\n\n#[oracle(avmOpcodeEmitNullifier)]\nunconstrained fn emit_nullifier_opcode(nullifier: Field) {}\n\n#[oracle(avmOpcodeEmitPublicLog)]\nunconstrained fn emit_public_log_opcode(message: [Field]) {}\n\n#[oracle(avmOpcodeL1ToL2MsgExists)]\nunconstrained fn l1_to_l2_msg_exists_opcode(msg_hash: Field, msg_leaf_index: u64) -> u1 {}\n\n#[oracle(avmOpcodeSendL2ToL1Msg)]\nunconstrained fn send_l2_to_l1_msg_opcode(recipient: EthAddress, content: Field) {}\n\n#[oracle(avmOpcodeCalldataCopy)]\nunconstrained fn calldata_copy_opcode<let N: u32>(cdoffset: u32, copy_size: u32) -> [Field; N] {}\n\n#[oracle(avmOpcodeReturndataSize)]\nunconstrained fn returndata_size_opcode() -> u32 {}\n\n#[oracle(avmOpcodeReturndataCopy)]\nunconstrained fn returndata_copy_opcode(rdoffset: u32, copy_size: u32) -> [Field] {}\n\n#[oracle(avmOpcodeReturn)]\nunconstrained fn return_opcode(returndata: [Field]) {}\n\n#[oracle(avmOpcodeRevert)]\nunconstrained fn revert_opcode(revertdata: [Field]) {}\n\n// While the length parameter might seem unnecessary given that we have N we keep it around because at the AVM bytecode\n// level, we want to support non-comptime-known lengths for such opcodes, even if Noir code will not generally take\n// that route.\n#[oracle(avmOpcodeCall)]\nunconstrained fn call_opcode<let N: u32>(\n l2_gas_allocation: u32,\n da_gas_allocation: u32,\n address: AztecAddress,\n length: u32,\n args: [Field; N],\n) {}\n\n// While the length parameter might seem unnecessary given that we have N we keep it around because at the AVM bytecode\n// level, we want to support non-comptime-known lengths for such opcodes, even if Noir code will not generally take\n// that route.\n#[oracle(avmOpcodeStaticCall)]\nunconstrained fn call_static_opcode<let N: u32>(\n l2_gas_allocation: u32,\n da_gas_allocation: u32,\n address: AztecAddress,\n length: u32,\n args: [Field; N],\n) {}\n\n#[oracle(avmOpcodeSuccessCopy)]\nunconstrained fn success_copy_opcode() -> bool {}\n\n#[oracle(avmOpcodeStorageRead)]\nunconstrained fn storage_read_opcode(storage_slot: Field, contract_address: Field) -> Field {}\n\n#[oracle(avmOpcodeStorageWrite)]\nunconstrained fn storage_write_opcode(storage_slot: Field, value: Field) {}\n"
4296
4296
  },
4297
4297
  "76": {
4298
4298
  "path": "/home/aztec-dev/aztec-packages/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/enqueue_public_function_call.nr",