@aztec/protocol-contracts 0.0.1-commit.358457c → 0.0.1-commit.3895657bc
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/AuthRegistry.json +109 -97
- package/artifacts/ContractClassRegistry.json +13 -13
- package/artifacts/ContractInstanceRegistry.json +20 -20
- package/artifacts/FeeJuice.json +31 -23
- package/artifacts/MultiCallEntrypoint.json +73 -61
- package/artifacts/PublicChecks.json +73 -61
- package/dest/protocol_contract_data.js +29 -29
- package/package.json +4 -4
- package/src/protocol_contract_data.ts +29 -29
package/artifacts/FeeJuice.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"transpiled": true,
|
|
3
|
-
"noir_version": "1.0.0-beta.19+
|
|
3
|
+
"noir_version": "1.0.0-beta.19+39f25c903f0ddc60373ca60a85cbdaa3c0f016cd",
|
|
4
4
|
"name": "FeeJuice",
|
|
5
5
|
"functions": [
|
|
6
6
|
{
|
|
@@ -70,8 +70,8 @@
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
|
-
"bytecode": "
|
|
74
|
-
"debug_symbols": "
|
|
73
|
+
"bytecode": "JwACBAEoAAABBIBIJwAABEglAAAASicCBAQCJwIFBAAfCgAEAAUARhwAR0cGLQhGAi0IRwMlAAAAeicCAgRIJwIDBAA7DgADAAIsAABDADBkTnLhMaApuFBFtoGBWF0oM+hIeblwkUPh9ZPwAAAAJwBEBAMnAEUAACYlAAABjx4CAAQBCiIEQwUWCgUGHAoGBwAEKgcEBicCBAEACioFBAckAgAHAAAAsicCCAQAPAYIAR4CAAUACioGBQckAgAHAAAAySUAAAG1JwIFAAEpAgAGAO9SU00tCAEHJwIIBAQACAEIAScDBwQBACIHAggtCggJLQ4GCQAiCQIJLQ4FCQAiCQIJLQ4CCScCBQQILQgACC0KBwotCEQLAAgABQAlAAABxy0CAAAtCgoCCiICRQUKKgUEBiQCAAYAAAFDJQAABSYeAgAEAC8qAAIABAAFHAoFBgYcCgYEABwKBAUGACoFAwQOKgUEBiQCAAYAAAF2JQAABTgtCwcDACIDAgMtDgMHHAoEAwAwCgADAAImKAAABAR4SAwAAAQDJAAAAwAAAbQqAQABBdrF9da0SjJtPAQCASYqAQABBXff7AtjnJehPAQCASYlAAABjxwKAwUAKwIABgAAAAAAAAAAAQAAAAAAAAAABCoFBgctCAEFAAABAgEtCAEGJwIIBAUACAEIAScDBgQBACIGAggtCggJLQxFCQAiCQIJLQxFCQAiCQIJLQxFCQAiCQIJLQ4HCS0OBgUGIgNEBicCBwQAJwIIAQEnAgkEAScCCgQCLQoHBCMAAAJVDCoEBgskAgALAAADyCMAAAJnBiIDRAYEIgZECwIqAwsECioEBwYWCgYLJAIABgAAA28jAAACjAIqAwQGDioEAwwkAgAMAAACoyUAAAVKLQsFDAAqDAkOLQsODQwiBkQOJAIADgAAAsIlAAAFXAAiAgIPACoPBhAtCxAOACoNDg8tAgwDJwAEBAUlAAAFbi0IBQ0AKg0JDi0ODw4tDg0FDCoJBAwkAgAMAAADBiMAAANvACoNCgwtCwwEACoGCQwOKgYMDiQCAA4AAAMmJQAABTgMIgxEBiQCAAYAAAM4JQAABVwAIgICCAAqCAwOLQsOBgAqBAYCLQINAycABAQFJQAABW4tCAUEACoECgYtDgIGLQ4EBSMAAANvCioDBwISKgILAyQCAAMAAAOGIwAAA7YtCwUCLQgBAycCBAQFAAgBBAEnAwMEAQAiAgIEACIDAgY/DwAEAAYtDgMFIwAAA7YtCwUCACoCCQQtCwQDLQoDAiYtCwULACoLCQ0tCw0MBCIERA0GIg1EDwoqDwQOJAIADgAAA/ElAAAFzQwiDUQOJAIADgAABAMlAAAFXAAiAgIPACoPDRAtCxAOACoMDg8tAgsDJwAEBAUlAAAFbi0IBQwAKgwJDi0ODw4AKgwKDi0LDgsAKg0JDg4qDQ4PJAIADwAABFElAAAFOAwiDkQPJAIADwAABGMlAAAFXAAiAgIQACoQDhEtCxEPACoLDw4tAgwDJwAEBAUlAAAFbi0IBQsAKgsKDy0ODg8AIgtEDi0LDgwAKg0KDg4qDQ4PJAIADwAABLElAAAFOAwiDkQNJAIADQAABMMlAAAFXAAiAgIPACoPDhAtCxANACoMDQ4tAgsDJwAEBAUlAAAFbi0IBQwAIgxEDS0ODg0tCAELJwINBAUACAENAScDCwQBACIMAg0AIgsCDj8PAA0ADi0OCwUAKgQJCy0KCwQjAAACVSoBAAEFursh14IzGGQ8BAIBJioBAAEF0Afr9MvGZ5A8BAIBJioBAAEFG7xl0D/c6tw8BAIBJioBAAEF5AhQRQK1jB88BAIBJi0BAwYKAAYCByQAAAcAAAWEIwAABY0tAAMFIwAABcwtAAEFAAABBAEAAAMECS0AAwotAAULCgAKCQwkAAAMAAAFxy0BCggtBAgLAAAKAgoAAAsCCyMAAAWjJwEFBAEmKgEAAQUFBBuZIK9gTDwEAgEm",
|
|
74
|
+
"debug_symbols": "pZndbmMpDMffJde9AAzG7quMRqNMJx1FitIq0660qvruawPmpLMCteSm5xen53/8hSHJ2+7X4efr7x/H8+PTn939t7fdz8vxdDr+/nF6eti/HJ/OYn3bOf3jQ97dw93OQ9jdJ73meo2+2iPWa5LXWa9Yr9heI9drju1Ku3vvBAgEvAI1YKwQnNzrUQEb+GTADUI0MAuYBcwSwSA3SMHAlNGehfoIFsjOIBpQAwoGuQGbpTgvAE5uD14hNfBm8dQgiGMhK6hF7wJNo75V8lrALJpZAAVsgGbR5BZQV4EUqIGmt4K4GoOAuhqldBHFn4gK4mEUNyJhAxblSAqpQtJwIitEA27gzeLNEsyicRXQtqmQG2iAFbBBskekZGCCKFEk6ZbEuQJqJyRJCwZnYBZQS1BIDbTcCRRyAzSLVrmC/nNUkIcmyQ9SNJAokiQKGSpk7cwK2MCbxZulOJYVUtXJoSlniAZm0RatQA2KzwVUUEqQtbiJFbiBFhedAjXgZiH1sILcjpIWUg8rcAMtUwWzgFlABSV1VBxjhdygOFbALNqHFbBByWoBVZb0kiYTJb3sgoE6JoliXRcVUoNglmAWMAuYRfsHJT+sbYNZQR9BCtwANQpxg7M8NDuF3IB0LnkFbMBm4WbxTnu9kY6voKTdXimETtkIug26TT3NUAjr071TpxslI+w2jJ3YKEshcixERjqHciqUjdhsXpdsI30GKmmuG5GRTqFG3QbdVuLQie1jaM8tw75SGfeVuq3EUSl10jhIqWwAlfRprKR93KjbShWUyjZArhAaaRUasVHottBtGgf5QtSeG0oclbJR6rYSR6GydVWSOAgKsZHG0ajbqNuo29hsZUegUEht4f39bmc77Y+Xy+GgG+3V1isb8vP+cji/7O7Pr6fT3e6f/em1/NOf5/25XF/2F3lXIj2cf8lVBB+Pp4PS+912txvfmpGw3Z2z3wSS/6DgxwoYdTUXBYw5bwr8QSGMFUBHfBEAjP3+HD7vAQfzIMU48iBOPCALIfp0lYS1LPIoizhTgC6A/f7oP+2B7DJdIKaRBzTJoqw9y2JwYZRFHiuEbALS9KM6fjaLMY9imCnI7mIKHPywmyfNKEPBEilrd0skxY8SMMkD2YIEpqtafkykn/Qjy7G6SbDPW0MCf1zYPk3q6cBaCmXj2TS+4EVfFhyusvk/L/JYg+TOpkGMPNag2XywQIC2fIL7QlE924iR4YujooZJayXasrkVhHCpNWE4aMMkCtajeS1HDiMXwqQx5aCSbIXpoWU8rONMxPncRRwM521INw+bgDdOm1kgzDlscUQaOjFrzbT1Zpq4MS9KvCoKD5MBk+7ysrhMgz1sQyeuzU7AUYPCpEFDX2Xgr8YFfd6FFLsLGYYuxJvHN6Rbxzfg7eMb8q3j+7PJpHEyeTY2XU+mBz8aOXHWmI4g9u6myelscsDzEotpkKNhd88dkZbaHLk+pP3lyHStJtxmhgyxocjssInZMgLZp4WDkqx231f71Xb295Y4l3BdIrgliW0/EqQ1iS2d1wv+CxLBJZOQj4dpSSI6y0WIfs2LCJtE8msS/VNMSD4vSaQ+dwTDmgSkTQIWvchd4vrIt+jFqkRvcPkgv9TgAfsIDhjXioqpVwTzohd9RxMJf3MgaxJAmPohPOOiRJ977JZyId9d9+MW4zgQnGzvcdtMIsG2SDx93gvq5xzmxUBoC4TXiur6JiC4ttgdpU1ibbHLF50m4f1qIHmTuDmQVQm/TXAPtCYR+0cS+RJ0USJsEv7mQFYlMncJWtuK/FZUKfCiRG/wsDjBrwJZlQiAXSLHoQSFtZHzXV7tH46XD7+5vqvW5bj/eTq0l4+v54erd1/+fbZ37Dfb58vTw+HX6+WgStsPt/Lnm+xCd/Ld9Hf9eUBeym8RmfSF1/fkZxrZIL+/qyv/AQ=="
|
|
75
75
|
},
|
|
76
76
|
{
|
|
77
77
|
"name": "balance_of_public",
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
},
|
|
125
|
-
"bytecode": "
|
|
125
|
+
"bytecode": "JwACBAEoAAABBIBGJwAABEYlAAAARScCAwQBJwIEBAAfCgADAAQARC0IRAIlAAAARi0CAkUnAgMERScCBAQBOw4ABAADJiUAAAEzHgIAAwknAgQBASQCAAMAAABiJQAAAVkpAgADAO9SU00nAgQAASsCAAUAAAAAAAAAAAMAAAAAAAAAAC0IAQYnAgcEBQAIAQcBJwMGBAEAIgYCBy0KBwgtDgMIACIIAggtDgQIACIIAggtDgIIACIIAggtDgUILQgBAicCAwQFAAgBAwEnAwIEAQAiBgIDACICAgQ/DwADAAQnAgMEAQAqAgMFLQsFBCcCAgAACioEAgMnAgIBAAoqAwIFJAIABQAAARIlAAABax4CAAIALyoABAACAAMcCgMEBhwKBAIAHAoCAwYtCgMCJigAAAQEeEYMAAAEAyQAAAMAAAFYKgEAAQXaxfXWtEoybTwEAgEmKgEAAQXcG27r+7a8QzwEAgEmKgEAAQW6uyHXgjMYZDwEAgEm",
|
|
126
126
|
"debug_symbols": "nZbbrqowEIbfpddcdKbH8VVWjEHFFRKChqU72TG8+54iA7KTNive2L9T+JhTa5/q3Bwf34e2v1x/1O7rqY5D23Xt96G7nup7e+3Z+lQ6/QSndqZSkSeWBzcNZF5DVDuASoEOswCchTEiZMnKkhWLE4sTiwcRbhZBi7AiaBZRPhHFDUpAk4R/CdQgQiwgFhALigWTGxwWGhQhFpue8Un4WTixOLF4sXiaRfIZMQm2YOJEBmJaSq6+xGQZx0pJ7g/3oWlS6t+KwSW61UPT39Wuf3Rdpf7U3WN66OdW99N4rwde1ZVq+jOPDLy0XZPUWK1v6/yroEHb+XXW7JQgHGwYkGeQT0FNCPI2rATaELDkRVyc4L5aCAE/jSPm4igy0MaFgT7kGK7AQOsEgeQWQrQbgs8TMEo5Da1RWNgmMxTKAUsyift8QRjadkXMIyKlDp4QkTxlEZRHGGskjLiGYfR/XVUoB/KunxEIMXzGQCOtyTvd5hmF5rSBpKQ2GlwYEH/tBldyyQYRZN0oNRaQZAOM9rnGggLCLU54vR4V0X+4PwJlz4pSd9ogzRkw5wTEohfOv3mRPW+AShANYYFoY7OHViEfnv+EJKGoMYsoHJ0YhIBkc8deKRDiLK5x2Jh1whS606171RXcKBfFvhWF8skotTifNcIgMOvZZ7m99jytT+2wua2MCTa09bFr5unl0Z/eVu9/b7Iit53bcD0158fQJNJ65QH+/XKx8mafrjQ88aHytB/Tp/8B"
|
|
127
127
|
},
|
|
128
128
|
{
|
|
@@ -164,8 +164,8 @@
|
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
},
|
|
167
|
-
"bytecode": "
|
|
168
|
-
"debug_symbols": "nZbdavMwDIbvJcc9sCT/qbcyxsi6dARCWrL2g4/Se5+8WvkZ2IyeVG/k5oksyUpuzUf3fv1868fj6avZv9ya96kfhv7zbTgd2kt/GsV7a0z6AaBmTzuxsdlbsUgPS5Ctb/ZBrJVrTtY/rDMPv3MP6+UaIAmXRVBPiFlEUhFERBHsHwINZIGoQpdIl0g9Vj1WPSmah7AqOAtPKmIWQR8RchgYBYgmCZcFGxXZQ8aoUA+oByQMlH0Rggr1UPoPJeGysOqx6nGkQiJESS6lmCndHgRIaSn4LKJ6YvJIhYhBRfZYY5O433eNFvztMnVdqveqA6Qvzu3UjZdmP16HYdf8a4frz5++zu34Yy/tJKuyxW78ECvAYz90Sd13y92mfGtk5/
|
|
167
|
+
"bytecode": "JwACBAEoAAABBIBFJwAABEUlAAAARicCAwQBJwIEBAAfCgADAAQARBwAREQGLQhEAiUAAABsJwICBEUnAgMEADsOAAMAAiwAAEMAMGROcuExoCm4UEW2gYFYXSgz6Eh5uXCRQ+H1k/AAAAAmJQAAAZoeAgADCScCBAEBJAIAAwAAAIglAAABwB4CAAMBCiIDQwQWCgQFHAoFBgAEKgYDBScCAwEACioEAwYkAgAGAAAAuycCBwQAPAYHASkCAAQA71JTTScCBgABKwIABwAAAAAAAAAAAwAAAAAAAAAALQgBCCcCCQQFAAgBCQEnAwgEAQAiCAIJLQoJCi0OBAoAIgoCCi0OBgoAIgoCCi0OBQoAIgoCCi0OBwotCAEEJwIFBAUACAEFAScDBAQBACIIAgUAIgQCBj8PAAUABicCBQQBACoEBQctCwcGJwIEAAAKKgYEBQoqBQMEJAIABAAAAWYlAAAB0h4CAAQALyoABgAEAAUcCgUGBhwKBgQAHAoEBQYMKgUCBAoqBAMCJAIAAgAAAZklAAAB5CYoAAAEBHhFDAAABAMkAAADAAABvyoBAAEF2sX11rRKMm08BAIBJioBAAEFDv4gSes3Tjw8BAIBJioBAAEFursh14IzGGQ8BAIBJioBAAEFhHKAwoQjC0Y8BAIBJg==",
|
|
168
|
+
"debug_symbols": "nZbdavMwDIbvJcc9sCT/qbcyxsi6dARCWrL2g4/Se5+8WvkZ2IyeVG/k5oksyUpuzUf3fv1868fj6avZv9ya96kfhv7zbTgd2kt/GsV7a0z6AaBmTzuxsdlbsUgPS5Ctb/ZBrJVrTtY/rDMPv3MP6+UaIAmXRVBPiFlEUhFERBHsHwINZIGoQpdIl0g9Vj1WPSmah7AqOAtPKmIWQR8RchgYBYgmCZcFGxXZQ8aoUA+oByQMlH0Rggr1UPoPJeGysOqx6nGkQiJESS6lmCndHgRIaSn4LKJ6YvJIhYhBRfZYY5O433eNFvztMnVdqveqA6Qvzu3UjZdmP16HYdf8a4frz5++zu34Yy/tJKuyxW78ECvAYz90Sd13y92mfGtk5/PdkUOcAQ42BCgT2KMS2NuwEHhDwDIBTLSZAGAWQsCndhFNaRcVAgNoDAxUzIMrE7z1SpA0FPPgywSynAHkbSkL1QgYNQJnbSmCWIlgLoSV+bEAnsriuhd+dVMFETxlQgh+Bti/F9LwEgJQMYRaP6J12o8yXmZEtFsElREY9UwSx9UutpVIySqncq4FI8LMIN6ebXC1Y4E4HwvPZUa1KbUeFJedkPmVzlDJBQTta5QXy3MMebcoA4MtM7jMsIG1rDYSzgyIfw5DijlngxnKYdS6C1jTAWR8qbuwgnBzFN4spzT6p86Ic6UzgrX2tEEJAUshoKsNfZxntujywERfgxgIM8RQceZhpageYtR0osEiojI3MSgBuTi5axthyeKyDxtLQVClquSWo+oqYdSLYldF4WIyqNbgMmuUwasJbJ8c4mH7Pn+Vq/bQT5tv5XtiTX37PnT58ngdD6vVy/+zrui39nk6HbqP69Ql0uqDW35fAuyCf01f3XIhszzi6z09+hs="
|
|
169
169
|
},
|
|
170
170
|
{
|
|
171
171
|
"name": "claim",
|
|
@@ -1985,6 +1985,10 @@
|
|
|
1985
1985
|
"error_kind": "string",
|
|
1986
1986
|
"string": "attempt to subtract with overflow"
|
|
1987
1987
|
},
|
|
1988
|
+
"5421095327929394772": {
|
|
1989
|
+
"error_kind": "string",
|
|
1990
|
+
"string": "attempt to bit-shift with overflow"
|
|
1991
|
+
},
|
|
1988
1992
|
"6609888949476313245": {
|
|
1989
1993
|
"error_kind": "string",
|
|
1990
1994
|
"string": "Message not in state"
|
|
@@ -2015,8 +2019,8 @@
|
|
|
2015
2019
|
}
|
|
2016
2020
|
}
|
|
2017
2021
|
},
|
|
2018
|
-
"bytecode": "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pWvP5Nhy7tK1OXfp2py7dG3OXbo25y5dm3OXrs25S9fm3KVrc+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/9YD3X9bvWnrtqmdq7Rp2aF3rc2eZqVvvOnmW269rUzZcrffceddd99z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",
|
|
2019
|
-
"debug_symbols": "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OZ7y1c51qjueLtnxpOUZjejEIHZiUqGI0E6XrH97umRHaBPahDahTWgT2oQ2oU2Nzc4FrYqi2bmkVdGJQezEJBZxEOcVG7TTJTsa0YlBhNagNWgNWoNmDyJjM8ZmjM2gnS7ZMYlFHERoDs2hOTSH5sykMzZnbM7YHJpz3IKZDGYymMmAFtACWkALaMFMBmPrjK0ztg6tc9w6M9mZyc5MdmgdWoeW0BJaMpPJ2JKxJWNLaMlxS2YymcliJgtaQStoBa2gFTNZjK0YWzG2AW1w3AYzOZjJwUwOaAPagDagDWiTmZyMbTK2ydgmtMlxm8zkZCYnMzkv2lr3umMjGtGJQezEJBbxoq11ryvikoZLGi5Z615XhQYNlzRc0nBJwyUNlzRc0nDJWve6aObEIHZiEqEZNFzScEnDJQ2XNFzScEnDJWvd66J5EZlJXNJwyVr3uioENFzScEnDJQ2XNFzScEnDJWvd66J1jhsuabik4ZK17nVXgIZLGi5puKThkoZLGi5puGSte1205LjhkoZLGi5Z615XhYKGSxouabik4ZKGSxouabikFbTiuOGShksaLmkD2oCGSxouabik4ZKGSxouabhkrXtdtMlxwyUNlzRcsta97grQcInhEsMlhksMlxguMVyy1r2etLXudcdBvGbScMla97oqNGi4xHCJ4RLDJYZLDJcYLlnrXhfNGtGITgwiNIOGSwyXGC4xXGK4xHCJ4ZK17nXRvBOZSVxiuGSte10VAhouMVxiuMRwieESwyWGS9a610ULjhsuMVxiuGSte10VOjRcYrjEcInhEsMlhksMl6x1r4uWHDdcYrjEcMla97orQMMlhksMlxguMVxiuMRwyVr3umjFccMlhksMl9iANqDhEsMlhksMlxguMVxiuGSte120yXHDJYZLDJfYhDah4RLDJYZLHJc4LnFc4rhkrXs9aWvd645JLOIgQmvQcInjEscljksclzgucVyy1r0uWruOm+MSxyWOS5zPOGvd647QcInjEscljksclzguWeteF82dyEziEsclzmecte51R2i4xHGJ4xLHJY5LHJesda+LFhw3XOK4xHGJ8xlnrXvdERoucVziuMRxieMSxyVr3euiJccNlzgucVzifMZZ6153hIZLHJc4LnFc4rjEccla97poxXHDJY5LHJc4n3EclzjXJc51ieMS5zPOWve6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iUsSlyQuSVySuCRxyVr3umjBccMliUsSlySfcda61x2h4ZLEJYlLEpckLklcsta9LlrnuOGSxCWJS5LPOGvd647QcEniksQliUsSlyQuWeteFy05brgkcUnikuQzzlr3uiM0XJK4JHFJ4pLEJYlL1rrXRRscN1ySuCRxSfIZZ6173REaLklckrgkcUniksQla93rok2OGy5JXFK4pPiMs9a97ujEIHZiEos4iNfY1rrXRWuNaEQnBhFag4ZLCpcULilcUrikcEnhkrXuddGsE5NYxEGEhkuK65LiuqRwSfEZZ6173REaLilcUrikuC5Z617LzniO7aywPuOsGMROTGIRB3FecblkxYM22hmN6MQgdmISiziI84qnS3aEltASWkJLaAntdMnx23N9rXvdkbEVY1ufcVZkJouZLGaymMliJouZLGayoA1oA9qANqANaAPaYGyDmRzM5GAmJzM5mcnJTE5mcjKTk5mc0Ca0CW1etLXudcdGNM36Wvd6jmKte92xE5NYxEG8ZnKte92xEY0IrUFr0Bq0Bq1Ba9CMsRljMyM6MYidmMQiDiIz6dAcmkNzaA7NoZ0uWbN+umSMMw7ivOLpkh0b0YhODGInHrTj10/7Wve64yDOK54u2bERjejEIHYitA6tQ+vQElpCO1zyvMF4RifGEeuMnZjEIg7ivOLhEsVGNKIToRW0glbQClpBG9AGtAFtQBvQBrQBbUAb0Aa0CW1Cm9AmtAltQpvQJrQJbV60c92rYiMa0YlB7MQkFnEQoTVoDdrhkudd2zMeNOtnDGInJrGIgziveLhEsRGNCM2gGTSDZtAMmkFzaA7NoTk0h+bQHJpDc2gOLaAFtIAW0AJaQAtoAS2gBbQO7XDJ8572GY3oxCB2YhKLOIjziodLFKEltISW0BJaQktoCS2hFbSCVtAKWkEraAWtoBW0gjagDWgD2oA2oA1oA9qANqANaBPahDahTWgT2oQ2oU1oE9oULc51r4qNaEQnBrETk1jEQYTWoDVoDVqD1qA1aA1ag9agNWgGzaAZNINm0AyaQTNoBs2gOTSH5tAcmkNzaA7NoTk0hxbQAlpAC2gBLaAFtIAW0AJah9ahdWgdWofWoXVoHVqH1qEltISW0BJaQktoCS2hJbSEVtAKWkEraAWtoBW0glbQCtqANqANaAPagDagDWgD2oA2oE1oE9qENqFNaBPahDahTWi4pOGShksaLmm4pOGShksaLmm4pOGShksaLmm4pOGShksaLmm4pOGShksaLmm4pOGShksaLmm4pOGShksaLmm4pOGShksaLmm4pOGShksaLmm4pOGShksaLmm4pOGShksaLmm4pOGShksaLmm4pOGShksaLmnLJXnGgxbr/zoxiJ140GKe8aAdT5WKc92r4kHLM54u2bERjXjQsp8xiActxxkPWq1/W8SDVv7Lt9/873c///Ddn3/8/n+++cM/n3/8r3/89Je///DXn/Yf//7//qa/+fPPP/z44w///ae//fzXv3z/n//4+fs//fjXvxx/983j+M9xPv9Hy2+t/fH5j9v+//9hvX9rFX98vm8ff//o3z5P4eefzn9uXt9a2PHHdvwxni+Pcbze9PrnWfxt+GO//hj0cwR6/fPy9NvnxYde/3w/+/bp/eP1frz+eIX78+X698/5j3n8dfzrHne94nnN6dcexuPb6Mdf5/WK56cGyz/+8ssvf/zl/wM=",
|
|
2022
|
+
"bytecode": "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sZ3EsZ3MsZ3CsZ3KsZ3GsZ3OsZ3BsZ3JsZ3FsZ3NsZ3DsZ3LsZ3HsZ3Psf2MY7uAY7uQY/s5x3YRx/YLju2XHFvSl+K+5th+w7H9lmP7Hcf2e47tDxzbxRzbJRzbHzm2P3FsAxxbwbFdyrFdxrFdzrFdwbFdybFdxbFdzbH9mWO7hmO7lmO7jmO7nmO7gWO7kWO7iWO7mWP7C8d2C8d2K8d2G8d2O8d2B8d2J8d2F8d2N8d2D8f2V47tXo7tPvUvSunY7ues9gDH9iDH9hDH9jDH9gjH9ijH9hjH9jeO7XGO7QmO7e8c25Mc2z84tn9ybP/i2J7i2P7Nsf2HY3uaY8vp22tz+vbanL69Nqdvr83p22tz+vbanL69Nqdvr83p22tz+vbanL69Nqdvr83p22tz+vbanL69Nqdvr53tvr1QTwg7dybSE4Lz0aKdh7OnvMiePJwvL9qcHsA2pwewzekBbHN6ANucHsA2pwewzekBbHN6ANucHsA2pwewzekBbHN6ANucHsA2pwewzekBbHN6ANucHsA2pwewzekBbHN6ANucHsA2pwewzekBbHN6ANucHsA2pwewzekBbHN6ANucHsA2pwewzekBbJfm2HJ6ANucHsA2pwewzekBbHN6ANucHsA2pwewzekBbHN6ANucHsA2pwewzekBbHN6ANuPUD6FtTk9gG1OD2Cb0wPY5vQAtjk9gG1OD2Cb0wPY5vQAtitybCtxbCtzbJ/g2Fbh2Fbl2HJ66dqcXro2p5euXYNjy+mla3N66dqcXro2p5euzemla3N66dqcXro2p5euzemla3N66dqcXro2p5euzemla3N66dqcXro2p5euzemla3N66dqcXro2p5euzemla3N66dqcXro2p5euzemla3N66dqcXro2p5euzemla3N66dqcXrp2OseW00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL12b00vX5vTStTm9dO1Mji2nl67N6aVrc3rp2pxeujanl67N6aVrc3rp2pxeujbp6+icXro2p5euzemla3N66dqcXro2p5euzemla3N66dqcXro2p5euzemla3N66dqcXro2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",
|
|
2023
|
+
"debug_symbols": "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e120yX7DJY5LHJf4hDah4RLHJY5LApcELglcErhkrXs9aWvd645JLOIgQjNouCRwSeCSwCWBSwKXBC5Z614Xza79FrgkcEngkuAaZ6173REaLglcErgkcEngksAla93rokUQmUlcErgkuMZZ6153hIZLApcELglcErgkcMla97pojf2GSwKXBC4JrnHWutcdoeGSwCWBSwKXBC4JXLLWvS5ast9wSeCSwCXBNc5a97ojNFwSuCRwSeCSwCWBS9a610Ur9hsuCVwSuCS4xglcEpyXBOclgUuCa5y17nVHaLgkcEngkuC8ZK17Pf66ia91r+fz2Ne61x0bsROTWMRBnIpr3euORnRiEBuxE5NYxEGEZtAMmkEzaAbNoBk0g2bQDJpDc2gOzaE5NIfm0Bza6ZL13N/TJSueLtnxoJ1PgV3rXncMYiN2YlKhiNBOl6yfPV2yI7QGrUFr0Bq0Bq1Ba9AaY+uMrUPr0Dq0Dq1DO12yYxEHkbEltNMlOzoxiI0ILaEltISW0IqZLMZWjK0YW0E7XbIjM1nMZDGTBW1AG9AGtAFtMJODsQ3GNhjbgDbYb5OZnMzkZCYntAltQpvQJrTJTM5rbGvd645GvGhr3euOjdiJSSwqDCI0g2bQzIlBbMROhGZFHMRrJte61x2hOTSH5tAcmieRsTljc8aGS9a61x2ZyWAmg5nEJWvd647QAhou6bik45KOSzouWete91PH2W+4pOOSjkvWutdVoUPDJR2XdFzScUnHJR2XdFyy1r0uWme/4ZKOSzouWeteV4WEhks6Lum4pOOSjks6Lum4ZK17XbRiv+GSjks6LlnrXncFaLik45KOSzou6bik45KOS9a610Ub7Ddc0nFJxyVr3euqMKHhko5LOi7puKTjko5LOi5Z615P2lr3uqMTg9iInQpJLOIgQsMliUsSlyQuWeteF806MYlFHERoDg2XJC5JXJK4JHFJ4pLEJcl5SXJekrgkcUnikuS8JDkvSVySuCRxSeKSxCWJSxKXrHWvi9bYb7gkcUnikrXudVeAhksSlyQuSVySuCRxSeKSte510Tr7DZckLklcsta9rgoJDZckLklckrgkcUniksQla93rohX7DZckLklcsta97grQcEniksQliUsSlyQuSVyy1r0u2mC/4ZLEJYlL1rrXVWFCwyWJSxKXJC5JXJK4JHHJWve6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",
|
|
2020
2024
|
"verification_key": "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"
|
|
2021
2025
|
},
|
|
2022
2026
|
{
|
|
@@ -3837,6 +3841,10 @@
|
|
|
3837
3841
|
"error_kind": "string",
|
|
3838
3842
|
"string": "attempt to subtract with overflow"
|
|
3839
3843
|
},
|
|
3844
|
+
"5421095327929394772": {
|
|
3845
|
+
"error_kind": "string",
|
|
3846
|
+
"string": "attempt to bit-shift with overflow"
|
|
3847
|
+
},
|
|
3840
3848
|
"6609888949476313245": {
|
|
3841
3849
|
"error_kind": "string",
|
|
3842
3850
|
"string": "Message not in state"
|
|
@@ -3867,8 +3875,8 @@
|
|
|
3867
3875
|
}
|
|
3868
3876
|
}
|
|
3869
3877
|
},
|
|
3870
|
-
"bytecode": "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bc5dujbnLl2bc5euzblL1+bcpWtz7tK1OXfp2py7dG3OXbo25y5dm3OXrs25S9fm3KVrc+7StTl36dozOLacu3Rtzl26NucuXZtzl67NuUvX5tyla3Pu0rU5d+nanLt0bc5dujbpF145d+nanLt0bc5dujbnLl2bc5euzblL1+bcpWtz7tK1OXfp2py7dG3OXbo25y5dm3OXrs25S9fm3KVrc+7StTl36dqcu3Rtzl26NucuXXslx5Zzl67NuUvX5tyla3Pu0rU5d+nanLt0bc5dujbnLl2bc5euzblL1+bcpWtz7tK1OXfp2py7dG3OXbo25y5dm3OXrs25S9fm3KVrc+7StTl36dqcu3Rtzl269gGOLecuXZtzl67NuUvX5tyla3Pu0rU5d+nanLt07RMcW85dujbnLl2bc5euzblL1+bcpWtz7tK1OXfp2py7dG3OXbo25y5dm3OXrs25S9fm3KXr4dyl6+Hcpevh3KXr4dyl6+Hcpevh3KXr4dyl6+Hcpevh3KXr4dyl6+Hcpevh3KXr4dyl6+Hcpevh3KXrSeLY5uHY5uXY5uPYcu6/9XDuv/Vw7r/1cO6/9XDuv/Vw7r/1cO6/9XDuv/Vw7r/1cO6/9XDuv/Vw7r/1cO6/9XDuv/Vw7r/1cO6/9XDuv/Vw7r/1cO6/9XDuv/Vw7r/1cO6/9XDuv/Vw7r/1cO6/9XDuv/Vw7r/1cO6/9XDuv/Vw7r/1cO6/9ZTj2HLuv/Vw7r/1cO6/9XDuv/Vw7r/1cO6/9XDuv/Vw7r/1cO6/9XDuv/Vw7r/1cO6/9XDuv/U8wrHl3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/66nNseXcf+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/6+Hcf+tJ5dhy7r/1cO6/9XDuv/Vw7r/1cO6/9XDuv/Vw7r/1cO6/9XDuv/Vw7r/1cO6/9XDuv/Vw7r/1cO6/9XDuv/Vw7r/1cO6/9XDuv/Vw7r/1cO6/9XDuv/Vw7r/1cO6/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",
|
|
3871
|
-
"debug_symbols": "tZ3fjuTGkXffRddzUfEnIyL9KgvD0Hq1CwGCbGjtBT4YevevyMzgaUloqtQ9vhF/o5mKw0wyTrHI7Op/ffNf3/3nP//nL9//+N9/+99v/vQf//rmP3/6/ocfvv+fv/zwt79++4/v//bj8//+65vH8R/xb/6k+fOXb+T8k+Q3f4rnH6T2dq6tPvZW9lb31vbW93bsbeztrqe7nu56tuvZrme7nu169qyXx/b5+jq2tbdzbf2xt8/Xz2P75MnjCNmhOswdxnPfRI4QHbJDdTj+sT5DPDpIB+1gHZ47KfYMefyVH+FAjCMclY+BZHWYO9RR+RhbSQftYB28w1HnGOg8XnWMdEoH7WAdvEPvxowO2aE6zBX08eggHbSDdXjW0ccRskN1mDvIs47KEZ501SNEh+xQHeYOx4m1gnR40tWOYB28w1HQj3AUPHbsOK80jjDX2NUeHaSDdrAO50Q9T3o9TnrNddJp+t6OvY29zb2tvV0nsdZjb2VvdW93vdr1aterXa92vdr1atc7jnEeWztPbj2O57kdext7m+dJb+dxehzBOniHsYPIOrNNtIN18A5jndB2HLAVskN12I1hxwE7Tno7pv446c32eWPn/MYRvMPoEOuEtqOhV6gOcwd/dLB10tvZ1cdIz64+Q3XYx9vGo0PvxtAO1sE7jA7RITtUh90YdjT8cWbb0fAreIfRIdZJb7lPXztcsIJ18A6jQ3TIDrVOcTvOrTMcJ9cKuk56O06r46S347w6Tno7Tqxz7NUTVT1R1RNVPVHLIM+T3s6T/lnjaKCxNrE2uTa1Ns9Xjue/936f8OcfxvGH4yCeu/bcPP9fnP/g2PHnH/L8w7FjPz//1G84f/nHT999d/zNm3eg5/vS37/96bsf//HNn3785w8/fPnm/7794Z/nP/rfv3/747n9x7c/Pf/2OdHf/fhfz+2z4H9//8N3R/r5C69+vP9SjdD9ak21q0COVyt4jl0gzvfJP/r6kb0DIW9en6++/hOD96O7zxd7TdD18q7Lw3aBZ/SrgsfLez/0OPdWCXX7UAmv7BLjMT9W4joIHy4x9HGV8I/NRaZ3iZzx2RL1eHywxHVQS/RDJcrkKuEf2ovQYVdbxfjYXlyd+Ywfms546NWcD/vYQZ3zmos558fm4vG45sLs8wOpj5XIay8e9aEjEvKoy3UqHyzhlNCPlYhrIM+r9w8eEbmOiPjHSkh98qDKQ/qgyiN47zjKvdzsE18MpnPILypovV+iZjfqtPGhfZjHtcruEJf39sFuSsxHV5jypsX88frJ/bjexR8e7+6D3lxJSPQBfX5E4WiE/rKE3Qzj+bmux6Fv+uN5afbLGn53OK5Orxnz/Rrj/RrPC+xd4nmZSIXHryYjbio89CrxMPlYDbmO6vOjiL9fo+4uzua4LnGM81vq9d2I0SWeV/P2saG8rZH5sRqTKZ3x/pS6/nunYxa7Md/fjVsBo77nrZH3ms3vztDnR7/ei+cHIErU6yXGdYXx/AAX75W4fxeYXPqPd8dxc37qeFwfP4bluyXmTcNLH9J6c/08ftnt4/YSvK4rV31z2Sm/fCMacjMTyeVFer1b4m4vnlPYexFv3kg+WuLNXPyhEllXifmxEoNL8JEfG0g93lzFv3tEbs+K65jON59nfn1W1OfPivn5s6I+f1bU58+K+vxZUZ8/K+rfelY8b6N3iecddH3vvLgvMa+LTpd3T63ImxLPG6TXXjzq3UuUuJmM4Bo+3/84E3cd4lwnvf9pJu9un6j3TrjefCLKO3PO0buRj5tbKHc1kltIOWZ9usbb+1B/qEZddw6y5uODNWxeNfIr1Pjofrydj0d+7Pyw66rP7eaj/22NcbWbx3j/w2o9Pn+O3dV49dje13jt2L5c46P78WK/vFrj7vx4ucZNz91ZbF7Xj3O8fzekbkwqz2e6l46fz2nfv1FWd28LD39zM+Kpww/uy/Ne37UvzydR71aZN71bYdclcYz6YI2YV42be7H3o7HrnvAzj/fP1nn7gf6R1xvVzR3yuxqTG/Xzebw/X0MfH61xna5yc9Nrfv7CdH7+wvR+JJeX5/N5+Pu9e3cdZBbXddCbG9S/vg46J+1diWTXqMebSxCv10tUcffs8dES4yrxwb3I6259fXQvkp798ECuK/0PD2ReTxTnmzsTf7CEXCXygyWua48Pl5DH9dzhGeuD+3HdYL6tcXuTJK/bolry7s1ZEb8bS173SeQx57v3e0TG3UcwHj5g0edd1l9WiDt78Uwq3rtHLJKfv0l83mT77F1ikfnZ28Sij8/fXL0v8uKdUdHP3xr9nR157d7o7TkW15tCqb97julNhenXCRL+7jmm8en3WNH89Jvs/X68dvvn9Rrv3//5nRov3QC6r/HaHaD7Gq/dAro9O54axsj2voPuHjK9en7cPWR69fy43Y8Xz4+Xa9ycH/c1Xjs/bmu8eH7c1vgq50dyfrwZy6/Pj7vnTK+eH26fPz9u9+PF8+PlGjfnx32N186P2xovnh+3Nb7G+SHX4p7n+9jj3fPjKzxykq/wzEm+wkMn+QpPneQrPHaSr/DcSb7Cg6ffOT94QKBvPkP95vyor3B+zK9wftRXOD/qK5wf9RXOj/oK50f9m88PHdddD33z7ObX50d8hevT+ArXp/EVrk/jK1yfxle4Po2vcH0a/+7r0zF7PiTk/evT2xoxrveouDnHcnz+KaVkfPYxpWR+9jmlZH3+QeX5IOCzT5Fui7z66OXlInfPTe6LvPhA63eKvPZE6/UiH96TF59H3Z8nLz6wvC/y4hNLuXt08vLJdlfk5UN8X+TFQ/xykQ/vyau982qR2/Pk5SK3DZiffXIpM77Go0uZ+TWeXf7O3rz68FLuHk69+vTyd4q89vjydwb06vNLvX2k8uIDzNsirz7BfL2IPj5c5KVnmPr4/AWsPj5/Afs7g3ntMeb9ldKLzzFVHp99jnlb4rXnmL9T4pXnmL8zkFeeY96XeOk55v1AXnqOeVviteeYv1PileeY9yVeeo55W+LV55j3+/Hac8zbRzvPJ5SDWyPx/gPE248lNJu+uQr4VQ3Vm1urdj2E9LfXVo9ftaverUrhLH/79vKbErcjuZ5TPd859V1/3e3Gm3P0zQ8S/KGRzOvnl355YP9IjeeN8vHmOuSmyN0SqustQR9vn8j+6iS9+zmoVx/rqslnH+vq3c9CvfpY977Ii4919e6JyIuPdX9nR77CY93nBSFLr99cNvyh3jcuMF3fXYCgdz8RJRXXfkx/9/as2vz8EoTztsOnz1X//Ll690zk1R9Vuy/y4s+qncr77LnqX6Pz7otc1/0Wb3bktyf8nROPp4eXFEXe/SEtvVv78zwz5mX4Nz+B/Zsa8+6u5PXjZm+ed5f8gb0ouS4t603z/nov7p5XPW+sz+syZLz9OdXx+lKo541Ivc6zN19X8euf1x13D1Yfdv1o/dufdbXX94KP3fa2/3+zFzcue17GXD8u6/buY+bzYcGnPTTyK3jo7sHIix66e171sodui7zqoZDPe+h2R1710MtFbn5s9r7Iq5cRMf7NU/LiZcRt5+n18N10vt//dz86ZZeW/U33/+oLZ253wq7bKPb2rtCvd+Lu51qej/bH9ZhnSL5v9vwaTv2dfXnzqGe4vf9OlXc/vP/25h8OeP2LgMIvt4e/ufv+m2m9OU9Lr8/9ZW9u7/5mIHc1bFy3H97ezvlNjfwqB+Z2T6537vK7U+Sm657v69fi4TE+8gVPz4cY15d9DP3lj3n/+fmnb//6/U+//OLE83vtju/ZO74G69jW3s61Pb4i7XjDOL7S7tzq3tpx5+3L+d1b53Yc5lnfvnVuj6/f0v39W7q/gOv4drDH3sre6t7a3vrejr2Nvd31bNezXc93Pd/1fNfzXc93Pd/1fNfzXc93Pd/1xq43dr2x641db+x6Y9cbu97Y9cauN3a92PVi14td7/getvE82sfXsJ3bsbdHved5Frm3tbdzbfOxt7L+/fEVbed21zu+oO38+7G3u17uernr5a5Xu17terXr1a5Xe/9q71/terXr1a5Xu97c9Y6vdjy3ure2t3v/5q53fA/guc29rb2dayuPXVAe0kE7WAfvMDpEh+xQHbry8SWPK0gH7WAdurJ0ZenK0pWlK8ueg/MbRlfofdbeZ+3K6h1Gh+iQHbqydmXrytaVrStbz4b1Plvvs/U+W1e26tCz4T0b3rPhXdm7sndl78relb1nw3ufvfd59D6Prjx6nkfPxujZGD0boyuPrjy68ujK0ZWjZyN6n6P3OXqfu8Mkep6jZyN6NqJno9tMsitnV86u3K0m3WvSzSbdbdLtdn5l6lm5ep6746RbTrrnzq9MPV9VXbnbTrrvpBtPuvOkW0+696Sb7/xa1bPy7Hnu/pNuQOkOPL9Wdb1qV9buQe0e1O5B7R7U7kHtHtTuwfOLVo/K5xetrrBnQ7sHtXtQpStLV+4e1O5B7R7U7kHtHtTuQe0ePL+M9ays2sE6eIfRoStrV+4e1O5B7R7U7kHtHtTuQe0eVOvKFh16NroHtXtQvSt7V+4e1O5B7R7U7kHtHtTuQe0eVO/Ko+e5e1C7B7V7UEdXHl25e1C7B7V7ULsHtXtQuwe1e1D7PU77TU67B7V7ULsHtd/otN/ptHtQuwe1e1C7B7V7ULsHtXvw/Kbbs3L2PHcPavegdg+eX3d7vqq6cvegdg9q96B2D2r3oHYPavegzq48e567B7V7ULsHzy/DXa/qyt2D2j1o3YPWPWjdg9Y9aN2D51fmHpXtER2yQ3XYs2HSlaUrdw9a96B1D1r3oHUPWvegdQ+e3697VtZHB+mgHaxDV9au3D1o3YPWPWjdg9Y9aN2D1j14fnPvWdm8Q89G96B1D57f3Lte1ZW7B6170LoHrXvQugete9C6B89v9z0re89z96B1D1r34PntvuerRlfuHrTuQesetO5B6x607kHrHrToytHz3D1o3YPWPWh9qWl9rWndg9Y9aN2D1j1o3YPWPWjdg+d3Ap+Vs+e5e9C6B6170PrC06ordw9a96B1D1r3oHUPWvegdQ+eXw58Vp49z92D1j1o3YPWl6E2u3L3oHUPWvegdQ9696B3D3r3oD92ZX94h9EhOmSH6ld15e5B7x707kHvHvTuQe8e9O5Bl64s1WHPhncPeveg97Woa1fuHvTuQe8e9O5B7x707kHvHnTryqYdeja6B7170Pta1K0rdw9696B3D3r3oHcPevegdw+6d2Xvee4e9O5B7x70vhb10ZW7B7170LsHvXvQuwe9e9C7B3105eh57h707kHvHvS+FvXuQe/3Qe/3Qe8e9L4W9ezK/ZnPuwe9e9C7B73fB/3swTzC8Q3tjyNUh7nD+aXvZ5AO2sE6eIfRITp05erK1ZVnV55deXbl2ZVnV55deXbl2ZVnV5678ng8OkgH7WAdvMPoEB2yQ3XoytKVpStLVz56MM67At5hdDgq2xGyQ3WYO5y/ceIMsl91/s6JM3Tl87dOnP9mdOjK2pW1K2tXtq5sXdm6snVl63223mfrytaVrStbV/aufPTgCtrBOvQ+e1c+enCF7FAd5g6jK4+uPLry6MqjK4+ejdH7PHqfR+/z6MpHD67QsxE9G9GzEV05unJ05ejK0ZWjZyN7n7P3OXufsytnz3P2bGTPRvZsZFfOrlxdubpydeXq2aje5+p9rt7n6srV81w9G7NnY/ZszK48u/LsyrMrz648ezZm7/Pc+xyPR4ddOR7awTp4h9Eh+lXZoTp0ZenKIh20g3XwDl1ZokN2qA57NqJ7MLQra1fWrtw9GN2D0T0Y3YPRPRjale3RoWejezC6B8O6snXl7sHoHozuwegejO7B6B6M7sHwruw9z92D0T0Y3YPhXdm7cvdgdA9G92B0D0b3YHQPRvdgjK48ep67B6N7MLoHI7pydOXuwegejO7B6B6M7sHoHozuwciunD3P3YPRPRjdg5FdObty92B0D0b3YHQPRvdgdA9G92BUV66e5+7B6B6M7sGYXXl25e7B6B6M7sHoHozuwegejO7BmLtyPh4dpIN2sA67cj5Gh+iQHarDno3sHszuwewezH4fzH4fzO7B7B7M7sHs98Hs98HsHszuwewezO7B7B7M7sHsHkztylodeja6B7N7MK0rW1fuHszuwewezO7B7B7M7sHsHkzvyt7z3D2Y3YPZPZjelb0rdw9m92B2D2b3YHYPZvdgdg/m6Mqj57l7MLsHs3swoytHV+4ezO7B7B7M7sHsHszuwewezOjK2fPcPZjdg9k9mNmVsyt3D2b3YHYPZvdgdg9m92B2D2Z15ep57h7M7sHsHszqytWVuwezezC7B7N7MLsHs3swuwdzduXZ89w9WN2D1T1Yj125HtbBO4wO0SE7VIe9z9U9WNKVRTtYB+8wOnTlvhat7sHqHqzuweoerO7B6h6s7sHSrqzRITtUh56NvhYt68rdg9U9WN2D1T1Y3YPVPVjdg2Vd2Xueuwere7C6B6uvRcu7cvdgdQ9W92B1D1b3YHUPVvdgja48ep67B6t7sLoHq69Fa3Tl7sHqHqzuweoerO7B6h6s7sGKrhw9z92D1T1Y3YPV16KVXbl7sLoHq3uwugere7C6B6t7sKorV89z92B1D1b3YPW1aFVX7h6s7sHqHqzuweoerO7B6h6s2ZVnz3P3YHUPVvfg7GvR+ZAO2sE6eIfRITpkh+rQleXRQTpoB+vQlbsHZ78Pzn4fnN2Ds69Fp3bl/jw4uwdn9+DsHpz9PjjPHhxHeFbO81XVYe5w9OAK0kE7WAfvMDpEh65sXdm6sndl78relY8ePH4gex49uMLoEB2yQ3WYOxw9uIJ00A5deXTl0ZVHVx5deXTlowePdRbz6MEVpIN2sA7eYXSIDtmhOhy/slGOp9WPDnL8gMERtIN18A6jQ3TIDtVh7nD04ApdubpydeXqytWVqysfPXis/5pHD64wdzh6cAU5f4DgSHolu5JfaVwprpRXqivNnY6fXiEKUYlGdOIgBjGJRYQm0ASaQBNoAk2gCTSBJtAEmkJTaApNoSk0habQFJpCU2gGzaAZNINm0AyaQTNoBu38bYXHikN5nL+vcEchnr8mtM5oRCcOYhCTWMR5xfP3HO4oRGgD2oA2oA1oA9qANqAFtIAW0AJaQAtoAS2gBbSAltASWkJLaAktoSW0hHb+8lU7j9v561dXPH8B645y/uTGGZVoRCcOYlAhidDOX7q4/u35axd3hDahTWgT2oQ2oU1oE9q8xnau/Ol40c7VPx2N6MRBDGISi3iN7VwNtGmnS3ZUohGdCE2gCTSBJtD0QWRsytiUsSm00yU7BjGJRYRm0AyaQTNoxkwaYzPGZozNoBnHzZlJZyadmXRoDs2hOTSH5sykM7bB2AZjG9AGx20wk4OZHMzkgDagDWgBLaAFMxmMLRhbMLaAFhy3YCaDmUxmMqEltISW0BJaMpPJ2JKxJWPDJevXOe/ITBYzWcwkLpGCVtAKGi4RXCK4RHCJ4JL1y6AXbXLccIngEsEl69dCnxXWL4beUYhKNKITBzGISbxo+riOm+ISxSWKS1SgCTRcorhEcYniEsUliksUl6hCUyM6cRCDCE2h4RLFJYpLFJcoLlFcorhEDZolkZnEJYpL1KE5NFyiuERxieISxSWKSxSX6IA2OG64RHGJ4hId0AY0XKK4RHGJ4hLFJYpLFJdoQAuOGy5RXKK4RANaQsMliksUlyguUVyiuERxiXJdolyXKC5RXKK4RLkuUa5LFJcoLlFcorhEcYniEsUlOqFNjhsuUVyiuEQntAkNlxguMVxiuMRwieESwyX2uGj2SGIRr5k0XLJ+//mqINBwieESwyWGSwyXGC4xXLJ/I/pJUyEq0YhOhKbQcInhEsMlhksMlxguMVyyfg/7otkgMpO4xHDJ+o3sq4JDwyWGSwyXGC4xXGK4xHDJ+j3ui+YcN1xiuMRwyfqN7qvCgIZLDJcYLjFcYrjEcInhEgtowXHDJYZLDJdYQAtouMRwieESwyWGSwyXGC6xhJYcN1xiuMRwifEZx/iMY7jEcInhEsMlhksMlxguWb9aftEmxw2XGC4xXGJ8xrEJDZcYLjFc4rjEcYnjEscl/rho/hjEICaxiNAEGi5xXOK4xHGJ4xLHJY5LXKDJddwclzgucVzifMZxhYZLHJc4LnFc4rjEcYnjEjdoZkRmEpc4LnE+47hBwyWOSxyXOC5xXOK4xHGJOzTnuOESxyWOS5zPOD6g4RLHJY5LHJc4LnFc4rjEA1pw3HCJ4xLHJc5nHA9ouMRxieMSxyWOSxyXOC7xhJYcN1ziuMRxifMZx3GJc13iXJc4LnE+43hB436J4xLHJY5LnOsSXy6xM560OKMRnTiIQUxiEWfHsVyyohCVaEQnDmIQk1hEaAJNoAk0gSbQBJpAE2gCTaApNIWm0BSaQlNoCk2hLZfUGecVl0tWPGnzjEo0ohMHMaiQRGjLJee/XS5ZEZpDc2gOzaE5NIfm0JyxDcY2oA1oA9qANqAtl6yYxCIytoC2XLKiEo3oRGgBLaAFtICWzGQytmRsydgS2nLJisxkMpPJTCa0glbQClpBK2ayGFsxtmJsBa04bpOZnMzkZCYntAltQpvQJrTJTM5rbPF4EIV40eJhRCcOYhCTCkWEJtAEmijRiE4cRGiSxCJeMxn6IEJTaApNoSk0DSJjU8amjA2XhAmRmTRm0phJXBIGzaAZNFwSuCRwSeCSwCXh0JzjhksClwQuCYc2oOGSwCWBSwKXBC4JXBK4JAa0wXHDJYFLApdEQAtouCRwSeCSwCWBSwKXBC6JhJYcN1wSuCRwSSS0hIZLApcELglcErgkcEngkihoxXHDJYFLApfEhDah4ZLAJYFLApcELglcErgkHxctH0JUohGdOKgQxCQWERouSVySuCRxSQo0GcQgJrGI0BQaLklckrgkcUniksQliUuS65LkuiRxSeKSxCXJdUlyXZK4JHFJ4pLEJYlLEpckLkmH5hw3XJK4JHFJOjSHhksSlyQuSVySuCRxSeKSHNAGxw2XJC5JXJIBLaDhksQliUsSlyQuSVySuCQTWnLccEniksQlmdASGi5JXJK4JHFJ4pLEJYlLsqAVxw2XJC5JXJIFbULDJYlLEpckLklckrgkcUlOaPM6boVLCpcULqnHRauHEwcxiEks4jW2wiWFS0qgiRGdOIhBhCbQcEnhksIlhUsKlxQuKVxSCk2TWERmEpcUn3GKzziFSwqXFC4pXFK4pHBJ4ZJyaM5xwyWFSwqXFJ9xyqHhksIlhUsKlxQuKVxSuKQGtMFxwyWFSwqXFJ9xKqDhksIlhUsKlxQuKVxSuKQCWnDccEnhksIlxWecSmi4pHBJ4ZLCJYVLCpcULqmCVhw3XFK4pHBJ8RmnChouKVxSuKRwSeGSwiWFS2pCmxw3XFK4ZOKSyWec+VCiEZ04iEFMYhGvsU2BJkJUohGdCE2g4ZKJSyYumbhk4pKJSyYumQpNBzGISSwiNFwyuS6ZXJdMXDL5jDMNGvdLJi6ZuGTiksl1ybkWVY4vXZVzNar4+o4TIzpxEIOYxCLOK54u2VGI0Aa0AW1AG9AGtAFtQAtoAS2gBbSAFtACWkALaAEtoSW0hJbQElpCS2gJ7XTJ8a1gcq5r3fF0yY4nLc+oRCM6cRCDCkmEdrpk/dvTJTtCm9AmtAltQpvQJrQJbfbYdK173bFputa97mhEJw5iEJNYxHlFgXa6ZEclGtGJ0ASaQBNoAk0fRMamjE0Zm0I7XbJjEJNYRGgGzaAZNINmzKQxNmNsxtgMmnHcnJl0ZtKZSYfm0ByaQ3Nozkw6YxuMbTC2AW1w3AYzOZjJwUwOaAPagBbQAlowk8HYgrEFYwtowXELZjKYyWQmE1pCS2gJLaElM5mMLRlbMraCVhy3YiaLmSxmsqAVtIJW0AraZCYnY5uMbTK2CW1y3CYzOZnJyUzOi7bWve4oRCUa0YmDGMQkXrS17nVFXCK4RHDJWve6Kgg0XCK4RHCJ4BLBJYJLBJesda+LpkZ04iAGEZpCwyWCSwSXCC4RXCK4RHDJWve6aJZEZhKXCC5Z615XBYeGSwSXCC4RXCK4RHCJ4JK17nXRBscNlwguEVyy1r3uCtBwieASwSWCSwSXCC4RXLLWvS5acNxwieASwSVr3euqkNBwieASwSWCSwSXCC4RXCIJLTluuERwieASKWgFDZcILhFcIrhEcIngEsEla93rok2OGy4RXCK4ZK173RWg4RLFJYpLFJcoLlFcorhkrXs9aWvd645FvGZSccla97oqCDRcorhEcYniEsUliksUl6x1r4umQlSiEZ0ITaHhEsUliksUlyguUVyiuGSte100G0RmEpcoLlnrXlcFh4ZLFJcoLlFcorhEcYnikrXuddGc44ZLFJcoLlnrXleFAQ2XKC5RXKK4RHGJ4hLFJWvd66IFxw2XKC5RXLLWve4K0HCJ4hLFJYpLFJcoLlFcsta9Llpy3HCJ4hLFJVrQChouUVyiuERxieISxSWKS9a610WbHDdcorhEcYlOaBMaLlFcorjEcInhEsMlhkvWuteTtta97hjEJBYRmkDDJYZLDJcYLjFcYrjEcMla97poch03wyWGSwyXGJ9x1rrXHaHhEsMlhksMlxguMVyy1r0umhmRmcQlhkuMzzhr3euO0HCJ4RLDJYZLDJcYLlnrXhfNOW64xHCJ4RLjM85a97ojNFxiuMRwieESwyWGS9a610ULjhsuMVxiuMT4jLPWve4IDZcYLjFcYrjEcInhkrXuddGS44ZLDJcYLjE+4xguMa5LjOsSwyXGZ5y17nVHaLjEcInhEuO6ZK17PX5Lja51r+f3t691rzs6cRCDmMQizo5r3euOQlSiEZ04iEFMYhGhCTSBJtAEmkATaAJNoAk0gabQFJpCU2gKTaEpNIV2umR9T/DpkhVPl+x40sYZlWhEJw5iUCGJ0E6XrH97umRHaA7NoTk0h+bQHJpDc8Y2GNuANqANaAPagHa6ZMckFpGxBbTTJTsq0YhOhBbQAlpAC2jJTCZjS8aWjC2hnS7ZkZlMZjKZyYRW0ApaQStoxUwWYyvGVoytoBXHbTKTk5mczOSENqFNaBPahDaZyXmNba173VGIF22te93RiYMYxKRCEaEJNIEmSjSiEwcRmiSxiNdMrnWvO0JTaApNoSk0DSJjU8amjA2XrHWvOzKTxkwaM4lL1rrXHaEZNFwycMnAJQOXDFyy1r3ubynnuOGSgUsGLlnrXleFAQ2XDFwycMnAJQOXDFwycMla97pog+OGSwYuGbhkrXtdFQIaLhm4ZOCSgUsGLhm4ZOCSte510ZLjhksGLhm4ZK173RWg4ZKBSwYuGbhk4JKBSwYuWeteF604brhk4JKBS9a611VhQsMlA5cMXDJwycAlA5cMXLLWvZ60te51RyUa0YmDCkFMYhGh4ZLAJYFLApesda+LJoMYxCQWEZpCwyWBSwKXBC4JXBK4JHBJcF0SXJcELglcErgkuC4JrksClwQuCVwSuCRwSeCSwCVr3euiOccNlwQuCVyy1r3uCtBwSeCSwCWBSwKXBC4JXLLWvS7a4LjhksAlgUvWutdVIaDhksAlgUsClwQuCVwSuGSte1205LjhksAlgUvWutddARouCVwSuCRwSeCSwCWBS9a610UrjhsuCVwSuGSte10VJjRcErgkcEngksAlgUsCl6x1r4s2r+OWuCRxSeKSte71rLDWve44iEFMYhGvsSUuSVyy1r0umhjRiYMYRGgCDZckLklckrgkcUniksQla93romkSi8hM4pLkM07yGSdxSeKSxCWJSxKXJC5JXLLWvS6ac9xwSeKSxCXJZ5y17nVHaLgkcUniksQliUsSl6x1r4s2OG64JHFJ4pLkM85a97ojNFySuCRxSeKSxCWJS9a610ULjhsuSVySuCT5jLPWve4IDZckLklckrgkcUnikrXuddGK44ZLEpckLkk+46x1rztCwyWJSxKXJC5JXJK4ZK17XbTJccMliUsKlxSfcda61x2N6MRBDGISi3iNba17XTQRohKN6ERoAg2XFC4pXFK4pHBJ4ZLCJWvd66LpIAYxiUWEhkuK65LiuqRwSfEZZ6173REaLilcUrikuC5Z616P38iga93r8YsFdK173dGJgxjEJBZxXvF0yY5ChDagDWgD2oA2oA1oA1pAC2gBLaAFtIAW0AJaQAtoCS2hJbSEltASWkJLaKdLju/g1LXudcXTJTueNDujEo3oxEEMKiQR2umS9W9Pl+wIbUKb0Ca0CW1Cm9AmtHmNba173fGirXWvOxrRiYMYxCQW8RrbWve6aKdLdlSiEZ0ITaAJNIEm0PRBZGzK2JSxKbTTJTsGMYlFhGbQDJpBM2jGTBpjM8ZmjM2gGcfNmUlnJp2ZdGgOzaE5NIfmzKQztsHYBmMb0AbHbTCTg5kczOSANqANaAEtoAUzGYwtGFswtoAWHLdgJoOZTGYyoSW0hJbQEloyk8nYkrElY8Mla93rjsxkMZPFTOKSte51R2gFDZdMXDJxycQlE5esda+LNjluuGTikolL1rrXo4Ktda87ClGJRnTiIAYxiU2zte51xcsl9rhcYo/LJbbWva4KAk2gCTSBdrnEHsLYlLEpY1NoakQnDmIQoSk0hWbQDJoxk8bYjLEZYzNolkRm0phJZyYdmkNzaA7NoTkz6YzNGZsztgFtcNwGMzmYycFMDmgD2oA2oA1owUwGYwvGFowtoAXHLZjJYCaDmQxoCS2hJbSElsxkMrZkbMnYElpy3IqZLGaymMmCVtAKWkEraMVMFmObjG0ytgltctwmMzmZyclMTmgTGi4RXCK4RHCJ4BLBJYJL1rrXk7bWve5YxGsmBZesda+rgkDDJYJLBJcILhFcIrhEcMla97poKkQlGtGJ0BQaLhFcIrhEcIngEsElgkvWutdFs0FkJnGJ4JK17nVVcGi4RHCJ4BLBJYJLBJcILlnrXhfNOW64RHCJ4JK17nVVGNBwieASwSWCSwSXCC4RXLLWvS5acNxwieASwSVr3euuAA2XCC4RXCK4RHCJ4BLBJWvd66Ilxw2XCC4RXCIFraDhEsElgksElwguEVwiuGSte120yXHDJYJLBJfIhDah4RLBJYJLFJcoLlFcorhkrXs9aWvd645BTGIRoQk0XKK4RHGJ4hLFJYpLFJesda+LJtdxU1yiuERxiSo0hYZLFJcoLlFcorhEcYnikrXuddHMiMwkLlFcogbNoOESxSWKSxSXKC5RXKK4ZK17XTTnuOESxSWKS3RAG9BwieISxSWKSxSXKC5RXLLWvS5acNxwieISxSUa0AIaLlFcorhEcYniEsUlikvWutdFS44bLlFcorhEExouUa5LlOsSxSVa0ApaQcMliksUlyjXJWvd6/FbUWyte406oxGdOIhBTGIRZ8e17nVHISrRiE4cxCAmsYjQBJpAE2gCTaAJNIEm0ASaQFNoCk2hKTSFptAUmkI7XZKPM84rni7Z8aClnFGJRnTiIAYVkgjtdMn6t6dLdoTm0ByaQ3NoDs2hOTRnbIOxDWgD2oA2oA1op0t2TGIRGVtAO12yoxKN6ERoAS2gBbSAlsxkMrZkbMnYEtrpkh2ZyWQmk5lMaAWtoBW0glbMZDG2YmzF2ApacdwmMzmZyclMTmgT2oQ2oU1ok5mc19jWutcdhXjR1rrXHZ04iEFMKhQRmkATaKJEIzpxEKFJEot4zeRa97ojNIWm0BSaQtMgMjZlbMrYcMla97ojM2nMpDGTuGSte90RmkHDJY5LHJc4LnFcsta9Lppz3HCJ4xLHJWvd66owoOESxyWOSxyXOC5xXOK4ZK17XbTBccMljkscl6x1r6tCQMMljksclzgucVziuMRxyVr3umjJccMljkscl6x1r7sCNFziuMRxieMSxyWOSxyXrHWvi1YcN1ziuMRxyVr3uipMaLjEcYnjEscljksclzguWeteT9pa97qjEo3oxEGFICaxiNBwycAlA5cMXLLWvS6aDGIQk1hEaAoNlwxcMnDJwCUDlwxcMnDJ4LpkcF0ycMnAJQOXDK5LBtclA5cMXDJwycAlA5cMXDJwyVr3umjOccMlA5cMXLLWve4K0HDJwCUDlwxcMnDJwCUDl6x1r4s2OG64ZOCSgUvWutdVIaDhkoFLBi4ZuGTgkoFLBi5Z614XLTluuGTgkoFL1rrXXQEaLhm4ZOCSgUsGLhm4ZOCSte510YrjhksGLhm4ZK17XRUmNFwycMnAJQOXDFwycMnAJWvd66LN67gFLglcErhkrXs9K6x1rzsOYhCTWMRrbIFLApesda+LJkZ04iAGEZpAwyWBSwKXBC4JXBK4JHDJWve6aJrEIjKTuCT4jBN8xglcErgkcEngksAlgUsCl6x1r4vmHDdcErgkcEnwGWete90RGi4JXBK4JHBJ4JLAJWvd66INjhsuCVwSuCT4jLPWve4IDZcELglcErgkcEngkrXuddGC44ZLApcELgk+46x1rztCwyWBSwKXBC4JXBK4ZK17XbTiuOGSwCWBS4LPOGvd647QcEngksAlgUsClwQuWeteF21y3HBJ4JLEJclnnLXudUcjOnEQg5jEIl5jW+teF02EqEQjOhGaQMMliUsSlyQuSVySuCRxyVr3umg6iEFMYhGh4ZLkuiS5LklcknzGWeted4SGSxKXJC5JrkvWute0Mx60OiucLtnRiYMYxCQWcV7xdMmOB630jEo0ohMHMYhJLOK84umSHaEFtIAW0AJaQDtdcvy2XVvrXndkbMnYTpfsyEwmM5nMZDKTyUwmM5nMZEIraAWtoBW0glbQirEVM1nMZDGTk5mczORkJiczOZnJyUxOaBPahDYv2lr3uqMQtWd9rXs9R7HWve44iEFMYhGvmVzrXncUohKhCTSBJtAEmkATaMrYlLGpEo3oxEEMYhKLyEwaNINm0AyaQTNop0vWrJ8uqXnGIs4rni7ZUYhKNKITB/GgHb+u2ta61x2LOK94umRHISrRiE4cRGgD2oA2oAW0gHa45PlU8YxG9CPWGQcxiEks4rzi4ZKOQlSiEaEltISW0BJaQitoBa2gFbSCVtAKWkEraAVtQpvQJrQJbUKb0Ca0CW1CmxftXPfaUYhKNKITBzGISSwiNIEm0A6XPB/VnvGgaZzRiYMYxCQWcV7xcElHISoRmkJTaApNoSk0hWbQDJpBM2gGzaAZNINm0AyaQ3NoDs2hOTSH5tAcmkNzaAPa4ZLng+wzKtGIThzEICaxiPOKh0s6QgtoAS2gBbSAFtACWkBLaAktoSW0hJbQElpCS2gJraAVtIJW0ApaQStoBa2gFbQJbUKb0Ca0CW1Cm9AmtAltNs3Pda8dhahEIzpxEIOYxCJCE2gCTaAJNIEm0ASaQBNoAk2hKTSFptAUmkJTaApNoSk0g2bQDJpBM2gGzaAZNINm0ByaQ3NoDs2hOTSH5tAcmkMb0Aa0AW1AG9AGtAFtQBvQBrSAFtACWkALaAEtoAW0gBbQElpCS2gJLaEltISW0BJaQitoBa2gFbSCVtAKWkEraAVtQpvQJrQJbUKb0Ca0CW1CwyWCSwSXCC4RXCK4RHCJ4BLBJYJLBJcILhFcIrhEcIngEsElgksElwguEVwiuERwieASwSWCSwSXCC4RXCK4RHCJ4BLBJYJLBJcILhFcIrhEcIngEsElgksElwguEVwiuERwieASwSWCSwSXCC6R5ZI840Hz9X+N6MRBPGjjccaDdnyrlJ/rXjsetDjj6ZIdhajEgxZxRicetJhnPGi5/m0SD1r6GQ9ani87XbLjQcs6oxIPWj1+/vLN/3370/ff/ucP3/3vN3/61/OP//3PH//6j+//9uP+4z/+39/7b/7zp+9/+OH7//nL33/621+/+69//vTdX37421+Pv/vmcfznaIP/kPii8ufnP5b9//9Dx/jy3L8/P9/uj79/jC/PM//5p/OfH3Ourscf5fijP1/udbxe+/XPk/+L22O/XkOe1aRf/7yq/fK8ZunXP98GvzzfLo7X2/H64xVmz5f3v3f/4vP4a//tHo9+hY4vdu2hP774OP46rlfocxfi+F9Jkecw9M8///zzn3/+/w==",
|
|
3878
|
+
"bytecode": "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",
|
|
3879
|
+
"debug_symbols": "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Di2gBbSAFtACWkALaAEtoAW0Du1wyfNO9xmN6MQgdmISiziI84qHSxShJbSEltASWkJLaAktoRW0glbQClpBK2gFraAVtII2oA1oA9qANqANaAPagDagDWgT2oQ2oU1oE9qENqFNaBPaFC3Oda+KjWhEJwaxE5NYxEGE1qA1aA1ag9agNWgNWoPWoDVoBs2gGTSDZtAMmkEzaAbNoDk0h+bQHJpDc2gOzaE5NIcW0AJaQAtoAS2gBbSAFtACWofWoXVoHVqH1qF1aB1ah9ahJbSEltASWkJLaAktoSW0hFbQClpBK2gFraAVtIJW0AragDagDWgD2oA2oA1oA9qANqBNaBPahDahTWgT2oQ2oU1ouKThkoZLGi5puKThkoZLGi5puKThkoZLGi5puKThkoZLGi5puKThkoZLGi5puKThkoZLGi5puKThkoZLGi5puKThkoZLGi5puKThkoZLGi5puKThkoZLGi5puKThkoZLGi5puKThkoZLGi5puKThkoZLGi5pyyVxxoMW6/86MYideNCiznjQjqdKxbnuVfGg9TOeLtmxEY140NLPGMSDlnnGg5br3xbxoFU740Gr822nS3Y8aNXPaMSDVvXPb9/9nz/+9MMf//PH7//3u9/94/nH//77n//0tx/+8uf9x7/937/qb/7zpx9+/PGH//nDX3/6y5++/6+///T9H378y5+Ov/vucfznaIP/aPnN2u+f/7jt//8fbvXtebv698+P++PvH/ntebg//3T+c3/+0Vs7/tiOP7b+/GMd7ze9/3k/+dvzFux+v6V9szK9/3lP/dvzBrne/7z//e15t/t4vx/vP97h/i38+vfxLebx1/HrLe56hz03ol/veHyLfvx1Xu+w9s3y+F9Fkfpm9vt//vOfv//n/wM=",
|
|
3872
3880
|
"verification_key": "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"
|
|
3873
3881
|
},
|
|
3874
3882
|
{
|
|
@@ -3940,8 +3948,8 @@
|
|
|
3940
3948
|
}
|
|
3941
3949
|
}
|
|
3942
3950
|
},
|
|
3943
|
-
"bytecode": "
|
|
3944
|
-
"debug_symbols": "
|
|
3951
|
+
"bytecode": "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",
|
|
3952
|
+
"debug_symbols": "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"
|
|
3945
3953
|
}
|
|
3946
3954
|
],
|
|
3947
3955
|
"outputs": {
|
|
@@ -4202,13 +4210,13 @@
|
|
|
4202
4210
|
"path": "std/hash/mod.nr",
|
|
4203
4211
|
"source": "// Exposed only for usage in `std::meta`\npub(crate) mod poseidon2;\n\nuse crate::default::Default;\nuse crate::embedded_curve_ops::{\n EmbeddedCurvePoint, EmbeddedCurveScalar, multi_scalar_mul, multi_scalar_mul_array_return,\n};\nuse crate::meta::derive_via;\n\n#[foreign(sha256_compression)]\n// docs:start:sha256_compression\npub fn sha256_compression(input: [u32; 16], state: [u32; 8]) -> [u32; 8] {}\n// docs:end:sha256_compression\n\n#[foreign(keccakf1600)]\n// docs:start:keccakf1600\npub fn keccakf1600(input: [u64; 25]) -> [u64; 25] {}\n// docs:end:keccakf1600\n\npub mod keccak {\n #[deprecated(\"This function has been moved to std::hash::keccakf1600\")]\n pub fn keccakf1600(input: [u64; 25]) -> [u64; 25] {\n super::keccakf1600(input)\n }\n}\n\n#[foreign(blake2s)]\n// docs:start:blake2s\npub fn blake2s<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake2s\n{}\n\n// docs:start:blake3\npub fn blake3<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake3\n{\n if crate::runtime::is_unconstrained() {\n // Temporary measure while Barretenberg is main proving system.\n // Please open an issue if you're working on another proving system and running into problems due to this.\n crate::static_assert(\n N <= 1024,\n \"Barretenberg cannot prove blake3 hashes with inputs larger than 1024 bytes\",\n );\n }\n __blake3(input)\n}\n\n#[foreign(blake3)]\nfn __blake3<let N: u32>(input: [u8; N]) -> [u8; 32] {}\n\n// docs:start:pedersen_commitment\npub fn pedersen_commitment<let N: u32>(input: [Field; N]) -> EmbeddedCurvePoint {\n // docs:end:pedersen_commitment\n pedersen_commitment_with_separator(input, 0)\n}\n\n#[inline_always]\npub fn pedersen_commitment_with_separator<let N: u32>(\n input: [Field; N],\n separator: u32,\n) -> EmbeddedCurvePoint {\n let mut points = [EmbeddedCurveScalar { lo: 0, hi: 0 }; N];\n for i in 0..N {\n // we use the unsafe version because the multi_scalar_mul will constrain the scalars.\n points[i] = from_field_unsafe(input[i]);\n }\n let generators = derive_generators(\"DEFAULT_DOMAIN_SEPARATOR\".as_bytes(), separator);\n multi_scalar_mul(generators, points)\n}\n\n// docs:start:pedersen_hash\npub fn pedersen_hash<let N: u32>(input: [Field; N]) -> Field\n// docs:end:pedersen_hash\n{\n pedersen_hash_with_separator(input, 0)\n}\n\n#[no_predicates]\npub fn pedersen_hash_with_separator<let N: u32>(input: [Field; N], separator: u32) -> Field {\n let mut scalars: [EmbeddedCurveScalar; N + 1] = [EmbeddedCurveScalar { lo: 0, hi: 0 }; N + 1];\n let mut generators: [EmbeddedCurvePoint; N + 1] =\n [EmbeddedCurvePoint::point_at_infinity(); N + 1];\n crate::assert_constant(separator);\n let domain_generators: [EmbeddedCurvePoint; N] =\n derive_generators(\"DEFAULT_DOMAIN_SEPARATOR\".as_bytes(), separator);\n\n for i in 0..N {\n scalars[i] = from_field_unsafe(input[i]);\n generators[i] = domain_generators[i];\n }\n scalars[N] = EmbeddedCurveScalar { lo: N as Field, hi: 0 as Field };\n\n let length_generator: [EmbeddedCurvePoint; 1] =\n derive_generators(\"pedersen_hash_length\".as_bytes(), 0);\n generators[N] = length_generator[0];\n multi_scalar_mul_array_return(generators, scalars, true)[0].x\n}\n\n#[field(bn254)]\n#[inline_always]\npub fn derive_generators<let N: u32, let M: u32>(\n domain_separator_bytes: [u8; M],\n starting_index: u32,\n) -> [EmbeddedCurvePoint; N] {\n crate::assert_constant(domain_separator_bytes);\n crate::assert_constant(starting_index);\n __derive_generators(domain_separator_bytes, starting_index)\n}\n\n#[builtin(derive_pedersen_generators)]\n#[field(bn254)]\nfn __derive_generators<let N: u32, let M: u32>(\n domain_separator_bytes: [u8; M],\n starting_index: u32,\n) -> [EmbeddedCurvePoint; N] {}\n\n#[field(bn254)]\n// Decompose the input 'bn254 scalar' into two 128 bits limbs.\n// It is called 'unsafe' because it does not assert the limbs are 128 bits\n// Assuming the limbs are 128 bits:\n// Assert the decomposition does not overflow the field size.\nfn from_field_unsafe(scalar: Field) -> EmbeddedCurveScalar {\n // Safety: xlo and xhi decomposition is checked below\n let (xlo, xhi) = unsafe { crate::field::bn254::decompose_hint(scalar) };\n // Check that the decomposition is correct\n assert_eq(scalar, xlo + crate::field::bn254::TWO_POW_128 * xhi);\n // Check that the decomposition does not overflow the field size\n let (a, b) = if xhi == crate::field::bn254::PHI {\n (xlo, crate::field::bn254::PLO)\n } else {\n (xhi, crate::field::bn254::PHI)\n };\n crate::field::bn254::assert_lt(a, b);\n\n EmbeddedCurveScalar { lo: xlo, hi: xhi }\n}\n\npub fn poseidon2_permutation<let N: u32>(input: [Field; N], state_len: u32) -> [Field; N] {\n assert_eq(input.len(), state_len);\n poseidon2_permutation_internal(input)\n}\n\n#[foreign(poseidon2_permutation)]\nfn poseidon2_permutation_internal<let N: u32>(input: [Field; N]) -> [Field; N] {}\n\n// Generic hashing support.\n// Partially ported and impacted by rust.\n\n// Hash trait shall be implemented per type.\n#[derive_via(derive_hash)]\npub trait Hash {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher;\n}\n\n// docs:start:derive_hash\ncomptime fn derive_hash(s: TypeDefinition) -> Quoted {\n let name = quote { $crate::hash::Hash };\n let signature = quote { fn hash<H>(_self: Self, _state: &mut H) where H: $crate::hash::Hasher };\n let for_each_field = |name| quote { _self.$name.hash(_state); };\n crate::meta::make_trait_impl(\n s,\n name,\n signature,\n for_each_field,\n quote {},\n |fields| fields,\n )\n}\n// docs:end:derive_hash\n\n// Hasher trait shall be implemented by algorithms to provide hash-agnostic means.\n// TODO: consider making the types generic here ([u8], [Field], etc.)\npub trait Hasher {\n fn finish(self) -> Field;\n\n fn write(&mut self, input: Field);\n}\n\n// BuildHasher is a factory trait, responsible for production of specific Hasher.\npub trait BuildHasher {\n type H: Hasher;\n\n fn build_hasher(self) -> H;\n}\n\npub struct BuildHasherDefault<H>;\n\nimpl<H> BuildHasher for BuildHasherDefault<H>\nwhere\n H: Hasher + Default,\n{\n type H = H;\n\n fn build_hasher(_self: Self) -> H {\n H::default()\n }\n}\n\nimpl<H> Default for BuildHasherDefault<H>\nwhere\n H: Hasher + Default,\n{\n fn default() -> Self {\n BuildHasherDefault {}\n }\n}\n\nimpl Hash for Field {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self);\n }\n}\n\nimpl Hash for u1 {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u8 {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u16 {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u32 {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u64 {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u128 {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i8 {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as u8 as Field);\n }\n}\n\nimpl Hash for i16 {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as u16 as Field);\n }\n}\n\nimpl Hash for i32 {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as u32 as Field);\n }\n}\n\nimpl Hash for i64 {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as u64 as Field);\n }\n}\n\nimpl Hash for bool {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for () {\n fn hash<H>(_self: Self, _state: &mut H)\n where\n H: Hasher,\n {}\n}\n\nimpl<T, let N: u32> Hash for [T; N]\nwhere\n T: Hash,\n{\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<T> Hash for [T]\nwhere\n T: Hash,\n{\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n self.len().hash(state);\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<A, B> Hash for (A, B)\nwhere\n A: Hash,\n B: Hash,\n{\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n self.0.hash(state);\n self.1.hash(state);\n }\n}\n\nimpl<A, B, C> Hash for (A, B, C)\nwhere\n A: Hash,\n B: Hash,\n C: Hash,\n{\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n }\n}\n\nimpl<A, B, C, D> Hash for (A, B, C, D)\nwhere\n A: Hash,\n B: Hash,\n C: Hash,\n D: Hash,\n{\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n }\n}\n\nimpl<A, B, C, D, E> Hash for (A, B, C, D, E)\nwhere\n A: Hash,\n B: Hash,\n C: Hash,\n D: Hash,\n E: Hash,\n{\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n self.4.hash(state);\n }\n}\n\n// Some test vectors for Pedersen hash and Pedersen Commitment.\n// They have been generated using the same functions so the tests are for now useless\n// but they will be useful when we switch to Noir implementation.\n#[test]\nfn assert_pedersen() {\n assert_eq(\n pedersen_hash_with_separator([1], 1),\n 0x1b3f4b1a83092a13d8d1a59f7acb62aba15e7002f4440f2275edb99ebbc2305f,\n );\n assert_eq(\n pedersen_commitment_with_separator([1], 1),\n EmbeddedCurvePoint {\n x: 0x054aa86a73cb8a34525e5bbed6e43ba1198e860f5f3950268f71df4591bde402,\n y: 0x209dcfbf2cfb57f9f6046f44d71ac6faf87254afc7407c04eb621a6287cac126,\n is_infinite: false,\n },\n );\n\n assert_eq(\n pedersen_hash_with_separator([1, 2], 2),\n 0x26691c129448e9ace0c66d11f0a16d9014a9e8498ee78f4d69f0083168188255,\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2], 2),\n EmbeddedCurvePoint {\n x: 0x2e2b3b191e49541fe468ec6877721d445dcaffe41728df0a0eafeb15e87b0753,\n y: 0x2ff4482400ad3a6228be17a2af33e2bcdf41be04795f9782bd96efe7e24f8778,\n is_infinite: false,\n },\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3], 3),\n 0x0bc694b7a1f8d10d2d8987d07433f26bd616a2d351bc79a3c540d85b6206dbe4,\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3], 3),\n EmbeddedCurvePoint {\n x: 0x1fee4e8cf8d2f527caa2684236b07c4b1bad7342c01b0f75e9a877a71827dc85,\n y: 0x2f9fedb9a090697ab69bf04c8bc15f7385b3e4b68c849c1536e5ae15ff138fd1,\n is_infinite: false,\n },\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4], 4),\n 0xdae10fb32a8408521803905981a2b300d6a35e40e798743e9322b223a5eddc,\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4], 4),\n EmbeddedCurvePoint {\n x: 0x07ae3e202811e1fca39c2d81eabe6f79183978e6f12be0d3b8eda095b79bdbc9,\n y: 0x0afc6f892593db6fbba60f2da558517e279e0ae04f95758587760ba193145014,\n is_infinite: false,\n },\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5], 5),\n 0xfc375b062c4f4f0150f7100dfb8d9b72a6d28582dd9512390b0497cdad9c22,\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5], 5),\n EmbeddedCurvePoint {\n x: 0x1754b12bd475a6984a1094b5109eeca9838f4f81ac89c5f0a41dbce53189bb29,\n y: 0x2da030e3cfcdc7ddad80eaf2599df6692cae0717d4e9f7bfbee8d073d5d278f7,\n is_infinite: false,\n },\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6], 6),\n 0x1696ed13dc2730062a98ac9d8f9de0661bb98829c7582f699d0273b18c86a572,\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6], 6),\n EmbeddedCurvePoint {\n x: 0x190f6c0e97ad83e1e28da22a98aae156da083c5a4100e929b77e750d3106a697,\n y: 0x1f4b60f34ef91221a0b49756fa0705da93311a61af73d37a0c458877706616fb,\n is_infinite: false,\n },\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7], 7),\n 0x128c0ff144fc66b6cb60eeac8a38e23da52992fc427b92397a7dffd71c45ede3,\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7], 7),\n EmbeddedCurvePoint {\n x: 0x015441e9d29491b06563fac16fc76abf7a9534c715421d0de85d20dbe2965939,\n y: 0x1d2575b0276f4e9087e6e07c2cb75aa1baafad127af4be5918ef8a2ef2fea8fc,\n is_infinite: false,\n },\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8),\n 0x2f960e117482044dfc99d12fece2ef6862fba9242be4846c7c9a3e854325a55c,\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8),\n EmbeddedCurvePoint {\n x: 0x1657737676968887fceb6dd516382ea13b3a2c557f509811cd86d5d1199bc443,\n y: 0x1f39f0cb569040105fa1e2f156521e8b8e08261e635a2b210bdc94e8d6d65f77,\n is_infinite: false,\n },\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9),\n 0x0c96db0790602dcb166cc4699e2d306c479a76926b81c2cb2aaa92d249ec7be7,\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9),\n EmbeddedCurvePoint {\n x: 0x0a3ceae42d14914a432aa60ec7fded4af7dad7dd4acdbf2908452675ec67e06d,\n y: 0xfc19761eaaf621ad4aec9a8b2e84a4eceffdba78f60f8b9391b0bd9345a2f2,\n is_infinite: false,\n },\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10),\n 0x2cd37505871bc460a62ea1e63c7fe51149df5d0801302cf1cbc48beb8dff7e94,\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10),\n EmbeddedCurvePoint {\n x: 0x2fb3f8b3d41ddde007c8c3c62550f9a9380ee546fcc639ffbb3fd30c8d8de30c,\n y: 0x300783be23c446b11a4c0fabf6c91af148937cea15fcf5fb054abf7f752ee245,\n is_infinite: false,\n },\n );\n}\n"
|
|
4204
4212
|
},
|
|
4205
|
-
"
|
|
4213
|
+
"234": {
|
|
4206
4214
|
"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 `
|
|
4215
|
+
"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 `aztec_utl_assertCompatibleOracleVersion` oracle is\n/// called\n/// and if the oracle version is incompatible an error is thrown.\npub global ORACLE_VERSION: Field = 14;\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(aztec_utl_assertCompatibleOracleVersion)]\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
4216
|
},
|
|
4209
4217
|
"3": {
|
|
4210
4218
|
"path": "std/array/mod.nr",
|
|
4211
|
-
"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"
|
|
4219
|
+
"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 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 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 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 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"
|
|
4212
4220
|
},
|
|
4213
4221
|
"301": {
|
|
4214
4222
|
"path": "/home/aztec-dev/nargo/github.com/noir-lang/poseidon/v0.2.6/src/poseidon2.nr",
|
|
@@ -4220,7 +4228,7 @@
|
|
|
4220
4228
|
},
|
|
4221
4229
|
"390": {
|
|
4222
4230
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr",
|
|
4223
|
-
"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"
|
|
4231
|
+
"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 values_to_hash = [3; 17];\n let 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 values_to_hash = [3; 17];\n let 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"
|
|
4224
4232
|
},
|
|
4225
4233
|
"398": {
|
|
4226
4234
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/merkle_tree/merkle_tree.nr",
|
|
@@ -4244,7 +4252,7 @@
|
|
|
4244
4252
|
},
|
|
4245
4253
|
"441": {
|
|
4246
4254
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/type_packing.nr",
|
|
4247
|
-
"source": "use crate::traits::Packable;\n\nglobal BOOL_PACKED_LEN: u32 = 1;\nglobal U8_PACKED_LEN: u32 = 1;\nglobal U16_PACKED_LEN: u32 = 1;\nglobal U32_PACKED_LEN: u32 = 1;\nglobal U64_PACKED_LEN: u32 = 1;\nglobal U128_PACKED_LEN: u32 = 1;\nglobal FIELD_PACKED_LEN: u32 = 1;\nglobal I8_PACKED_LEN: u32 = 1;\nglobal I16_PACKED_LEN: u32 = 1;\nglobal I32_PACKED_LEN: u32 = 1;\nglobal I64_PACKED_LEN: u32 = 1;\n\nimpl Packable for bool {\n let N: u32 = BOOL_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> bool {\n (fields[0] as u1) != 0\n }\n}\n\nimpl Packable for u8 {\n let N: u32 = U8_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u8\n }\n}\n\nimpl Packable for u16 {\n let N: u32 = U16_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u16\n }\n}\n\nimpl Packable for u32 {\n let N: u32 = U32_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u32\n }\n}\n\nimpl Packable for u64 {\n let N: u32 = U64_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u64\n }\n}\n\nimpl Packable for u128 {\n let N: u32 = U128_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u128\n }\n}\n\nimpl Packable for Field {\n let N: u32 = FIELD_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0]\n }\n}\n\nimpl Packable for i8 {\n let N: u32 = I8_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as u8 as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u8 as i8\n }\n}\n\nimpl Packable for i16 {\n let N: u32 = I16_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as u16 as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u16 as i16\n }\n}\n\nimpl Packable for i32 {\n let N: u32 = I32_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as u32 as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u32 as i32\n }\n}\n\nimpl Packable for i64 {\n let N: u32 = I64_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as u64 as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u64 as i64\n }\n}\n\nimpl<T, let M: u32> Packable for [T; M]\nwhere\n T: Packable,\n{\n let N: u32 = M * <T as Packable>::N;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n let mut result: [Field; Self::N] = std::mem::zeroed();\n for i in 0..M {\n let serialized = self[i].pack();\n for j in 0..<T as Packable>::N {\n result[i * <T as Packable>::N + j] = serialized[j];\n }\n }\n result\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n let mut reader = crate::utils::reader::Reader::new(fields);\n let
|
|
4255
|
+
"source": "use crate::traits::Packable;\n\nglobal BOOL_PACKED_LEN: u32 = 1;\nglobal U8_PACKED_LEN: u32 = 1;\nglobal U16_PACKED_LEN: u32 = 1;\nglobal U32_PACKED_LEN: u32 = 1;\nglobal U64_PACKED_LEN: u32 = 1;\nglobal U128_PACKED_LEN: u32 = 1;\nglobal FIELD_PACKED_LEN: u32 = 1;\nglobal I8_PACKED_LEN: u32 = 1;\nglobal I16_PACKED_LEN: u32 = 1;\nglobal I32_PACKED_LEN: u32 = 1;\nglobal I64_PACKED_LEN: u32 = 1;\n\nimpl Packable for bool {\n let N: u32 = BOOL_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> bool {\n (fields[0] as u1) != 0\n }\n}\n\nimpl Packable for u8 {\n let N: u32 = U8_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u8\n }\n}\n\nimpl Packable for u16 {\n let N: u32 = U16_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u16\n }\n}\n\nimpl Packable for u32 {\n let N: u32 = U32_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u32\n }\n}\n\nimpl Packable for u64 {\n let N: u32 = U64_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u64\n }\n}\n\nimpl Packable for u128 {\n let N: u32 = U128_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u128\n }\n}\n\nimpl Packable for Field {\n let N: u32 = FIELD_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0]\n }\n}\n\nimpl Packable for i8 {\n let N: u32 = I8_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as u8 as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u8 as i8\n }\n}\n\nimpl Packable for i16 {\n let N: u32 = I16_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as u16 as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u16 as i16\n }\n}\n\nimpl Packable for i32 {\n let N: u32 = I32_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as u32 as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u32 as i32\n }\n}\n\nimpl Packable for i64 {\n let N: u32 = I64_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as u64 as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u64 as i64\n }\n}\n\nimpl<T, let M: u32> Packable for [T; M]\nwhere\n T: Packable,\n{\n let N: u32 = M * <T as Packable>::N;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n let mut result: [Field; Self::N] = std::mem::zeroed();\n for i in 0..M {\n let serialized = self[i].pack();\n for j in 0..<T as Packable>::N {\n result[i * <T as Packable>::N + j] = serialized[j];\n }\n }\n result\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n let mut reader = crate::utils::reader::Reader::new(fields);\n let result: [T; M] = std::mem::zeroed();\n reader.read_struct_array::<T, <T as Packable>::N, M>(Packable::unpack, result)\n }\n}\n\n#[test]\nfn test_u16_packing() {\n let a: u16 = 10;\n assert_eq(a, u16::unpack(a.pack()));\n}\n\n#[test]\nfn test_i8_packing() {\n let a: i8 = -10;\n assert_eq(a, i8::unpack(a.pack()));\n}\n\n#[test]\nfn test_i16_packing() {\n let a: i16 = -10;\n assert_eq(a, i16::unpack(a.pack()));\n}\n\n#[test]\nfn test_i32_packing() {\n let a: i32 = -10;\n assert_eq(a, i32::unpack(a.pack()));\n}\n\n#[test]\nfn test_i64_packing() {\n let a: i64 = -10;\n assert_eq(a, i64::unpack(a.pack()));\n}\n"
|
|
4248
4256
|
},
|
|
4249
4257
|
"454": {
|
|
4250
4258
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/serde/src/reader.nr",
|
|
@@ -4264,7 +4272,7 @@
|
|
|
4264
4272
|
},
|
|
4265
4273
|
"5": {
|
|
4266
4274
|
"path": "std/cmp.nr",
|
|
4267
|
-
"source": "use crate::meta::derive_via;\n\n#[derive_via(derive_eq)]\n// docs:start:eq-trait\npub trait Eq {\n fn eq(self, other: Self) -> bool;\n}\n// docs:end:eq-trait\n\n// docs:start:derive_eq\ncomptime fn derive_eq(s: TypeDefinition) -> Quoted {\n let signature = quote { fn eq(_self: Self, _other: Self) -> bool };\n let for_each_field = |name| quote { (_self.$name == _other.$name) };\n let body = |fields| {\n if s.fields_as_written().len() == 0 {\n quote { true }\n } else {\n fields\n }\n };\n crate::meta::make_trait_impl(\n s,\n quote { $crate::cmp::Eq },\n signature,\n for_each_field,\n quote { & },\n body,\n )\n}\n// docs:end:derive_eq\n\nimpl Eq for Field {\n fn eq(self, other: Field) -> bool {\n self == other\n }\n}\n\nimpl Eq for u128 {\n fn eq(self, other: u128) -> bool {\n self == other\n }\n}\nimpl Eq for u64 {\n fn eq(self, other: u64) -> bool {\n self == other\n }\n}\nimpl Eq for u32 {\n fn eq(self, other: u32) -> bool {\n self == other\n }\n}\nimpl Eq for u16 {\n fn eq(self, other: u16) -> bool {\n self == other\n }\n}\nimpl Eq for u8 {\n fn eq(self, other: u8) -> bool {\n self == other\n }\n}\nimpl Eq for u1 {\n fn eq(self, other: u1) -> bool {\n self == other\n }\n}\n\nimpl Eq for i8 {\n fn eq(self, other: i8) -> bool {\n self == other\n }\n}\nimpl Eq for i16 {\n fn eq(self, other: i16) -> bool {\n self == other\n }\n}\nimpl Eq for i32 {\n fn eq(self, other: i32) -> bool {\n self == other\n }\n}\nimpl Eq for i64 {\n fn eq(self, other: i64) -> bool {\n self == other\n }\n}\n\nimpl Eq for () {\n fn eq(_self: Self, _other: ()) -> bool {\n true\n }\n}\nimpl Eq for bool {\n fn eq(self, other: bool) -> bool {\n self == other\n }\n}\n\nimpl<T, let N: u32> Eq for [T; N]\nwhere\n T: Eq,\n{\n fn eq(self, other: [T; N]) -> bool {\n let mut result = true;\n for i in 0..self.len() {\n result &= self[i].eq(other[i]);\n }\n result\n }\n}\n\nimpl<T> Eq for [T]\nwhere\n T: Eq,\n{\n fn eq(self, other: [T]) -> bool {\n let mut result = self.len() == other.len();\n if result {\n for i in 0..self.len() {\n result &= self[i].eq(other[i]);\n }\n }\n result\n }\n}\n\nimpl<let N: u32> Eq for str<N> {\n fn eq(self, other: str<N>) -> bool {\n let self_bytes = self.as_bytes();\n let other_bytes = other.as_bytes();\n self_bytes == other_bytes\n }\n}\n\nimpl<A, B> Eq for (A, B)\nwhere\n A: Eq,\n B: Eq,\n{\n fn eq(self, other: (A, B)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1)\n }\n}\n\nimpl<A, B, C> Eq for (A, B, C)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n{\n fn eq(self, other: (A, B, C)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2)\n }\n}\n\nimpl<A, B, C, D> Eq for (A, B, C, D)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n D: Eq,\n{\n fn eq(self, other: (A, B, C, D)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3)\n }\n}\n\nimpl<A, B, C, D, E> Eq for (A, B, C, D, E)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n D: Eq,\n E: Eq,\n{\n fn eq(self, other: (A, B, C, D, E)) -> bool {\n self.0.eq(other.0)\n & self.1.eq(other.1)\n & self.2.eq(other.2)\n & self.3.eq(other.3)\n & self.4.eq(other.4)\n }\n}\n\nimpl Eq for Ordering {\n fn eq(self, other: Ordering) -> bool {\n self.result == other.result\n }\n}\n\n// Noir doesn't have enums yet so we emulate (Lt | Eq | Gt) with a struct\n// that has 3 public functions for constructing the struct.\npub struct Ordering {\n result: Field,\n}\n\nimpl Ordering {\n // Implementation note: 0, 1, and 2 for Lt, Eq, and Gt are built\n // into the compiler, do not change these without also updating\n // the compiler itself!\n pub fn less() -> Ordering {\n Ordering { result: 0 }\n }\n\n pub fn equal() -> Ordering {\n Ordering { result: 1 }\n }\n\n pub fn greater() -> Ordering {\n Ordering { result: 2 }\n }\n}\n\n#[derive_via(derive_ord)]\n// docs:start:ord-trait\npub trait Ord {\n fn cmp(self, other: Self) -> Ordering;\n}\n// docs:end:ord-trait\n\n// docs:start:derive_ord\ncomptime fn derive_ord(s: TypeDefinition) -> Quoted {\n let name = quote { $crate::cmp::Ord };\n let signature = quote { fn cmp(_self: Self, _other: Self) -> $crate::cmp::Ordering };\n let for_each_field = |name| quote {\n if result == $crate::cmp::Ordering::equal() {\n result = _self.$name.cmp(_other.$name);\n }\n };\n let body = |fields| quote {\n let mut result = $crate::cmp::Ordering::equal();\n $fields\n result\n };\n crate::meta::make_trait_impl(s, name, signature, for_each_field, quote {}, body)\n}\n// docs:end:derive_ord\n\n// Note: Field deliberately does not implement Ord\n\nimpl Ord for u128 {\n fn cmp(self, other: u128) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\nimpl Ord for u64 {\n fn cmp(self, other: u64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u32 {\n fn cmp(self, other: u32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u16 {\n fn cmp(self, other: u16) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u8 {\n fn cmp(self, other: u8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i8 {\n fn cmp(self, other: i8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i16 {\n fn cmp(self, other: i16) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i32 {\n fn cmp(self, other: i32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i64 {\n fn cmp(self, other: i64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for () {\n fn cmp(_self: Self, _other: ()) -> Ordering {\n Ordering::equal()\n }\n}\n\nimpl Ord for bool {\n fn cmp(self, other: bool) -> Ordering {\n if self {\n if other {\n Ordering::equal()\n } else {\n Ordering::greater()\n }\n } else if other {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl<T, let N: u32> Ord for [T; N]\nwhere\n T: Ord,\n{\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T; N]) -> Ordering {\n let mut result = Ordering::equal();\n for i in 0..self.len() {\n if result == Ordering::equal() {\n result = self[i].cmp(other[i]);\n }\n }\n result\n }\n}\n\nimpl<T> Ord for [T]\nwhere\n T: Ord,\n{\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T]) -> Ordering {\n let self_len = self.len();\n let other_len = other.len();\n let min_len = if self_len < other_len {\n self_len\n } else {\n other_len\n };\n\n let mut result = Ordering::equal();\n for i in 0..min_len {\n if result == Ordering::equal() {\n result = self[i].cmp(other[i]);\n }\n }\n\n if result != Ordering::equal() {\n result\n } else {\n self_len.cmp(other_len)\n }\n }\n}\n\nimpl<A, B> Ord for (A, B)\nwhere\n A: Ord,\n B: Ord,\n{\n fn cmp(self, other: (A, B)) -> Ordering {\n let result = self.0.cmp(other.0);\n\n if result != Ordering::equal() {\n result\n } else {\n self.1.cmp(other.1)\n }\n }\n}\n\nimpl<A, B, C> Ord for (A, B, C)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n{\n fn cmp(self, other: (A, B, C)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n result\n }\n}\n\nimpl<A, B, C, D> Ord for (A, B, C, D)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n D: Ord,\n{\n fn cmp(self, other: (A, B, C, D)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n result\n }\n}\n\nimpl<A, B, C, D, E> Ord for (A, B, C, D, E)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n D: Ord,\n E: Ord,\n{\n fn cmp(self, other: (A, B, C, D, E)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n if result == Ordering::equal() {\n result = self.4.cmp(other.4);\n }\n\n result\n }\n}\n\n// Compares and returns the maximum of two values.\n//\n// Returns the second argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::max(1, 2), 2);\n// assert_eq(cmp::max(2, 2), 2);\n// ```\npub fn max<T>(v1: T, v2: T) -> T\nwhere\n T: Ord,\n{\n if v1 > v2 {\n v1\n } else {\n v2\n }\n}\n\n// Compares and returns the minimum of two values.\n//\n// Returns the first argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::min(1, 2), 1);\n// assert_eq(cmp::min(2, 2), 2);\n// ```\npub fn min<T>(v1: T, v2: T) -> T\nwhere\n T: Ord,\n{\n if v1 > v2 {\n v2\n } else {\n v1\n }\n}\n\nmod cmp_tests {\n use super::{Eq, max, min, Ord};\n\n #[test]\n fn sanity_check_min() {\n assert_eq(min(0_u64, 1), 0);\n assert_eq(min(0_u64, 0), 0);\n assert_eq(min(1_u64, 1), 1);\n assert_eq(min(255_u8, 0), 0);\n }\n\n #[test]\n fn sanity_check_max() {\n assert_eq(max(0_u64, 1), 1);\n assert_eq(max(0_u64, 0), 0);\n assert_eq(max(1_u64, 1), 1);\n assert_eq(max(255_u8, 0), 255);\n }\n\n #[test]\n fn correctly_handles_unequal_length_vectors() {\n let vector_1 = [0, 1, 2, 3].as_vector();\n let vector_2 = [0, 1, 2].as_vector();\n assert(!vector_1.eq(vector_2));\n }\n\n #[test]\n fn lexicographic_ordering_for_vectors() {\n assert(\n [2_u32].as_vector().cmp([1_u32, 1_u32, 1_u32].as_vector())\n == super::Ordering::greater(),\n );\n assert(\n [1_u32, 2_u32].as_vector().cmp([1_u32, 2_u32, 3_u32].as_vector())\n == super::Ordering::less(),\n );\n }\n}\n"
|
|
4275
|
+
"source": "use crate::meta::ctstring::AsCtString;\nuse crate::meta::derive_via;\n\n#[derive_via(derive_eq)]\n// docs:start:eq-trait\npub trait Eq {\n fn eq(self, other: Self) -> bool;\n}\n// docs:end:eq-trait\n\n// docs:start:derive_eq\ncomptime fn derive_eq(s: TypeDefinition) -> Quoted {\n let signature = quote { fn eq(_self: Self, _other: Self) -> bool };\n let for_each_field = |name| quote { (_self.$name == _other.$name) };\n let body = |fields| {\n if s.fields_as_written().len() == 0 {\n quote { true }\n } else {\n fields\n }\n };\n crate::meta::make_trait_impl(\n s,\n quote { $crate::cmp::Eq },\n signature,\n for_each_field,\n quote { & },\n body,\n )\n}\n// docs:end:derive_eq\n\nimpl Eq for Field {\n fn eq(self, other: Field) -> bool {\n self == other\n }\n}\n\nimpl Eq for u128 {\n fn eq(self, other: u128) -> bool {\n self == other\n }\n}\nimpl Eq for u64 {\n fn eq(self, other: u64) -> bool {\n self == other\n }\n}\nimpl Eq for u32 {\n fn eq(self, other: u32) -> bool {\n self == other\n }\n}\nimpl Eq for u16 {\n fn eq(self, other: u16) -> bool {\n self == other\n }\n}\nimpl Eq for u8 {\n fn eq(self, other: u8) -> bool {\n self == other\n }\n}\nimpl Eq for u1 {\n fn eq(self, other: u1) -> bool {\n self == other\n }\n}\n\nimpl Eq for i8 {\n fn eq(self, other: i8) -> bool {\n self == other\n }\n}\nimpl Eq for i16 {\n fn eq(self, other: i16) -> bool {\n self == other\n }\n}\nimpl Eq for i32 {\n fn eq(self, other: i32) -> bool {\n self == other\n }\n}\nimpl Eq for i64 {\n fn eq(self, other: i64) -> bool {\n self == other\n }\n}\n\nimpl Eq for () {\n fn eq(_self: Self, _other: ()) -> bool {\n true\n }\n}\nimpl Eq for bool {\n fn eq(self, other: bool) -> bool {\n self == other\n }\n}\n\nimpl<T, let N: u32> Eq for [T; N]\nwhere\n T: Eq,\n{\n fn eq(self, other: [T; N]) -> bool {\n let mut result = true;\n for i in 0..self.len() {\n result &= self[i].eq(other[i]);\n }\n result\n }\n}\n\nimpl<T> Eq for [T]\nwhere\n T: Eq,\n{\n fn eq(self, other: [T]) -> bool {\n let mut result = self.len() == other.len();\n if result {\n for i in 0..self.len() {\n result &= self[i].eq(other[i]);\n }\n }\n result\n }\n}\n\nimpl<let N: u32> Eq for str<N> {\n fn eq(self, other: str<N>) -> bool {\n let self_bytes = self.as_bytes();\n let other_bytes = other.as_bytes();\n self_bytes == other_bytes\n }\n}\n\ncomptime fn make_tuple_eq_body(n: u32) -> Quoted {\n let mut body = f\"self.0.eq(other.0)\".as_ctstring();\n for i in 1u32..n {\n body = body.append_fmtstr(f\" & self.{i}.eq(other.{i})\");\n }\n f\"{body}\".quoted_contents()\n}\n\nimpl<A: Eq, B: Eq> Eq for (A, B) {\n fn eq(self, other: (A, B)) -> bool {\n make_tuple_eq_body!(2u32)\n }\n}\n\nimpl<A: Eq, B: Eq, C: Eq> Eq for (A, B, C) {\n fn eq(self, other: (A, B, C)) -> bool {\n make_tuple_eq_body!(3u32)\n }\n}\n\nimpl<A: Eq, B: Eq, C: Eq, D: Eq> Eq for (A, B, C, D) {\n fn eq(self, other: (A, B, C, D)) -> bool {\n make_tuple_eq_body!(4u32)\n }\n}\n\nimpl<A: Eq, B: Eq, C: Eq, D: Eq, E: Eq> Eq for (A, B, C, D, E) {\n fn eq(self, other: (A, B, C, D, E)) -> bool {\n make_tuple_eq_body!(5u32)\n }\n}\n\nimpl<A: Eq, B: Eq, C: Eq, D: Eq, E: Eq, F: Eq> Eq for (A, B, C, D, E, F) {\n fn eq(self, other: (A, B, C, D, E, F)) -> bool {\n make_tuple_eq_body!(6u32)\n }\n}\n\nimpl<A: Eq, B: Eq, C: Eq, D: Eq, E: Eq, F: Eq, G: Eq> Eq for (A, B, C, D, E, F, G) {\n fn eq(self, other: (A, B, C, D, E, F, G)) -> bool {\n make_tuple_eq_body!(7u32)\n }\n}\n\nimpl<A: Eq, B: Eq, C: Eq, D: Eq, E: Eq, F: Eq, G: Eq, H: Eq> Eq for (A, B, C, D, E, F, G, H) {\n fn eq(self, other: (A, B, C, D, E, F, G, H)) -> bool {\n make_tuple_eq_body!(8u32)\n }\n}\n\nimpl<A: Eq, B: Eq, C: Eq, D: Eq, E: Eq, F: Eq, G: Eq, H: Eq, I: Eq> Eq for (A, B, C, D, E, F, G, H, I) {\n fn eq(self, other: (A, B, C, D, E, F, G, H, I)) -> bool {\n make_tuple_eq_body!(9u32)\n }\n}\n\nimpl<A: Eq, B: Eq, C: Eq, D: Eq, E: Eq, F: Eq, G: Eq, H: Eq, I: Eq, J: Eq> Eq for (A, B, C, D, E, F, G, H, I, J) {\n fn eq(self, other: (A, B, C, D, E, F, G, H, I, J)) -> bool {\n make_tuple_eq_body!(10u32)\n }\n}\n\nimpl<A: Eq, B: Eq, C: Eq, D: Eq, E: Eq, F: Eq, G: Eq, H: Eq, I: Eq, J: Eq, K: Eq> Eq for (A, B, C, D, E, F, G, H, I, J, K) {\n fn eq(self, other: (A, B, C, D, E, F, G, H, I, J, K)) -> bool {\n make_tuple_eq_body!(11u32)\n }\n}\n\nimpl<A: Eq, B: Eq, C: Eq, D: Eq, E: Eq, F: Eq, G: Eq, H: Eq, I: Eq, J: Eq, K: Eq, L: Eq> Eq for (A, B, C, D, E, F, G, H, I, J, K, L) {\n fn eq(self, other: (A, B, C, D, E, F, G, H, I, J, K, L)) -> bool {\n make_tuple_eq_body!(12u32)\n }\n}\n\nimpl Eq for Ordering {\n fn eq(self, other: Ordering) -> bool {\n self.result == other.result\n }\n}\n\n// Noir doesn't have enums yet so we emulate (Lt | Eq | Gt) with a struct\n// that has 3 public functions for constructing the struct.\npub struct Ordering {\n result: Field,\n}\n\nimpl Ordering {\n // Implementation note: 0, 1, and 2 for Lt, Eq, and Gt are built\n // into the compiler, do not change these without also updating\n // the compiler itself!\n pub fn less() -> Ordering {\n Ordering { result: 0 }\n }\n\n pub fn equal() -> Ordering {\n Ordering { result: 1 }\n }\n\n pub fn greater() -> Ordering {\n Ordering { result: 2 }\n }\n}\n\n#[derive_via(derive_ord)]\n// docs:start:ord-trait\npub trait Ord {\n fn cmp(self, other: Self) -> Ordering;\n}\n// docs:end:ord-trait\n\n// docs:start:derive_ord\ncomptime fn derive_ord(s: TypeDefinition) -> Quoted {\n let name = quote { $crate::cmp::Ord };\n let signature = quote { fn cmp(_self: Self, _other: Self) -> $crate::cmp::Ordering };\n let for_each_field = |name| quote {\n if result == $crate::cmp::Ordering::equal() {\n result = _self.$name.cmp(_other.$name);\n }\n };\n let body = |fields| quote {\n let mut result = $crate::cmp::Ordering::equal();\n $fields\n result\n };\n crate::meta::make_trait_impl(s, name, signature, for_each_field, quote {}, body)\n}\n// docs:end:derive_ord\n\n// Note: Field deliberately does not implement Ord\n\nimpl Ord for u128 {\n fn cmp(self, other: u128) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\nimpl Ord for u64 {\n fn cmp(self, other: u64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u32 {\n fn cmp(self, other: u32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u16 {\n fn cmp(self, other: u16) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u8 {\n fn cmp(self, other: u8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i8 {\n fn cmp(self, other: i8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i16 {\n fn cmp(self, other: i16) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i32 {\n fn cmp(self, other: i32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i64 {\n fn cmp(self, other: i64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for () {\n fn cmp(_self: Self, _other: ()) -> Ordering {\n Ordering::equal()\n }\n}\n\nimpl Ord for bool {\n fn cmp(self, other: bool) -> Ordering {\n if self {\n if other {\n Ordering::equal()\n } else {\n Ordering::greater()\n }\n } else if other {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl<T, let N: u32> Ord for [T; N]\nwhere\n T: Ord,\n{\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T; N]) -> Ordering {\n let mut result = Ordering::equal();\n for i in 0..self.len() {\n if result == Ordering::equal() {\n result = self[i].cmp(other[i]);\n }\n }\n result\n }\n}\n\nimpl<T> Ord for [T]\nwhere\n T: Ord,\n{\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T]) -> Ordering {\n let self_len = self.len();\n let other_len = other.len();\n let min_len = if self_len < other_len {\n self_len\n } else {\n other_len\n };\n\n let mut result = Ordering::equal();\n for i in 0..min_len {\n if result == Ordering::equal() {\n result = self[i].cmp(other[i]);\n }\n }\n\n if result != Ordering::equal() {\n result\n } else {\n self_len.cmp(other_len)\n }\n }\n}\n\ncomptime fn make_tuple_ord_body(n: u32) -> Quoted {\n let last = n - 1u32;\n let mut body = if last == 1 {\n f\"let result = self.0.cmp(other.0);\".as_ctstring()\n } else {\n f\"let mut result = self.0.cmp(other.0);\".as_ctstring()\n };\n for i in 1u32..last {\n body = body.append_fmtstr(\n f\" if result == Ordering::equal() {{ result = self.{i}.cmp(other.{i}); }}\",\n );\n }\n body = body.append_fmtstr(\n f\" if result != Ordering::equal() {{ result }} else {{ self.{last}.cmp(other.{last}) }}\",\n );\n f\"{body}\".quoted_contents()\n}\n\nimpl<A: Ord, B: Ord> Ord for (A, B) {\n fn cmp(self, other: (A, B)) -> Ordering {\n make_tuple_ord_body!(2u32)\n }\n}\n\nimpl<A: Ord, B: Ord, C: Ord> Ord for (A, B, C) {\n fn cmp(self, other: (A, B, C)) -> Ordering {\n make_tuple_ord_body!(3u32)\n }\n}\n\nimpl<A: Ord, B: Ord, C: Ord, D: Ord> Ord for (A, B, C, D) {\n fn cmp(self, other: (A, B, C, D)) -> Ordering {\n make_tuple_ord_body!(4u32)\n }\n}\n\nimpl<A: Ord, B: Ord, C: Ord, D: Ord, E: Ord> Ord for (A, B, C, D, E) {\n fn cmp(self, other: (A, B, C, D, E)) -> Ordering {\n make_tuple_ord_body!(5u32)\n }\n}\n\nimpl<A: Ord, B: Ord, C: Ord, D: Ord, E: Ord, F: Ord> Ord for (A, B, C, D, E, F) {\n fn cmp(self, other: (A, B, C, D, E, F)) -> Ordering {\n make_tuple_ord_body!(6u32)\n }\n}\n\nimpl<A: Ord, B: Ord, C: Ord, D: Ord, E: Ord, F: Ord, G: Ord> Ord for (A, B, C, D, E, F, G) {\n fn cmp(self, other: (A, B, C, D, E, F, G)) -> Ordering {\n make_tuple_ord_body!(7u32)\n }\n}\n\nimpl<A: Ord, B: Ord, C: Ord, D: Ord, E: Ord, F: Ord, G: Ord, H: Ord> Ord for (A, B, C, D, E, F, G, H) {\n fn cmp(self, other: (A, B, C, D, E, F, G, H)) -> Ordering {\n make_tuple_ord_body!(8u32)\n }\n}\n\nimpl<A: Ord, B: Ord, C: Ord, D: Ord, E: Ord, F: Ord, G: Ord, H: Ord, I: Ord> Ord for (A, B, C, D, E, F, G, H, I) {\n fn cmp(self, other: (A, B, C, D, E, F, G, H, I)) -> Ordering {\n make_tuple_ord_body!(9u32)\n }\n}\n\nimpl<A: Ord, B: Ord, C: Ord, D: Ord, E: Ord, F: Ord, G: Ord, H: Ord, I: Ord, J: Ord> Ord for (A, B, C, D, E, F, G, H, I, J) {\n fn cmp(self, other: (A, B, C, D, E, F, G, H, I, J)) -> Ordering {\n make_tuple_ord_body!(10u32)\n }\n}\n\nimpl<A: Ord, B: Ord, C: Ord, D: Ord, E: Ord, F: Ord, G: Ord, H: Ord, I: Ord, J: Ord, K: Ord> Ord for (A, B, C, D, E, F, G, H, I, J, K) {\n fn cmp(self, other: (A, B, C, D, E, F, G, H, I, J, K)) -> Ordering {\n make_tuple_ord_body!(11u32)\n }\n}\n\nimpl<A: Ord, B: Ord, C: Ord, D: Ord, E: Ord, F: Ord, G: Ord, H: Ord, I: Ord, J: Ord, K: Ord, L: Ord> Ord for (A, B, C, D, E, F, G, H, I, J, K, L) {\n fn cmp(self, other: (A, B, C, D, E, F, G, H, I, J, K, L)) -> Ordering {\n make_tuple_ord_body!(12u32)\n }\n}\n\n// Compares and returns the maximum of two values.\n//\n// Returns the second argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::max(1, 2), 2);\n// assert_eq(cmp::max(2, 2), 2);\n// ```\npub fn max<T>(v1: T, v2: T) -> T\nwhere\n T: Ord,\n{\n if v1 > v2 {\n v1\n } else {\n v2\n }\n}\n\n// Compares and returns the minimum of two values.\n//\n// Returns the first argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::min(1, 2), 1);\n// assert_eq(cmp::min(2, 2), 2);\n// ```\npub fn min<T>(v1: T, v2: T) -> T\nwhere\n T: Ord,\n{\n if v1 > v2 {\n v2\n } else {\n v1\n }\n}\n\nmod cmp_tests {\n use super::{Eq, max, min, Ord};\n\n #[test]\n fn sanity_check_min() {\n assert_eq(min(0_u64, 1), 0);\n assert_eq(min(0_u64, 0), 0);\n assert_eq(min(1_u64, 1), 1);\n assert_eq(min(255_u8, 0), 0);\n }\n\n #[test]\n fn sanity_check_max() {\n assert_eq(max(0_u64, 1), 1);\n assert_eq(max(0_u64, 0), 0);\n assert_eq(max(1_u64, 1), 1);\n assert_eq(max(255_u8, 0), 255);\n }\n\n #[test]\n fn correctly_handles_unequal_length_vectors() {\n let vector_1 = [0, 1, 2, 3].as_vector();\n let vector_2 = [0, 1, 2].as_vector();\n assert(!vector_1.eq(vector_2));\n }\n\n #[test]\n fn lexicographic_ordering_for_vectors() {\n assert(\n [2_u32].as_vector().cmp([1_u32, 1_u32, 1_u32].as_vector())\n == super::Ordering::greater(),\n );\n assert(\n [1_u32, 2_u32].as_vector().cmp([1_u32, 2_u32, 3_u32].as_vector())\n == super::Ordering::less(),\n );\n }\n}\n"
|
|
4268
4276
|
},
|
|
4269
4277
|
"50": {
|
|
4270
4278
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-contracts/contracts/protocol/fee_juice_contract/src/lib.nr",
|
|
@@ -4292,23 +4300,23 @@
|
|
|
4292
4300
|
},
|
|
4293
4301
|
"72": {
|
|
4294
4302
|
"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(
|
|
4303
|
+
"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(aztec_avm_address)]\nunconstrained fn address_opcode() -> AztecAddress {}\n\n#[oracle(aztec_avm_sender)]\nunconstrained fn sender_opcode() -> AztecAddress {}\n\n#[oracle(aztec_avm_transactionFee)]\nunconstrained fn transaction_fee_opcode() -> Field {}\n\n#[oracle(aztec_avm_chainId)]\nunconstrained fn chain_id_opcode() -> Field {}\n\n#[oracle(aztec_avm_version)]\nunconstrained fn version_opcode() -> Field {}\n\n#[oracle(aztec_avm_blockNumber)]\nunconstrained fn block_number_opcode() -> u32 {}\n\n#[oracle(aztec_avm_timestamp)]\nunconstrained fn timestamp_opcode() -> u64 {}\n\n#[oracle(aztec_avm_minFeePerL2Gas)]\nunconstrained fn min_fee_per_l2_gas_opcode() -> u128 {}\n\n#[oracle(aztec_avm_minFeePerDaGas)]\nunconstrained fn min_fee_per_da_gas_opcode() -> u128 {}\n\n#[oracle(aztec_avm_l2GasLeft)]\nunconstrained fn l2_gas_left_opcode() -> u32 {}\n\n#[oracle(aztec_avm_daGasLeft)]\nunconstrained fn da_gas_left_opcode() -> u32 {}\n\n#[oracle(aztec_avm_isStaticCall)]\nunconstrained fn is_static_call_opcode() -> u1 {}\n\n#[oracle(aztec_avm_noteHashExists)]\nunconstrained fn note_hash_exists_opcode(note_hash: Field, leaf_index: u64) -> u1 {}\n\n#[oracle(aztec_avm_emitNoteHash)]\nunconstrained fn emit_note_hash_opcode(note_hash: Field) {}\n\n#[oracle(aztec_avm_nullifierExists)]\nunconstrained fn nullifier_exists_opcode(siloed_nullifier: Field) -> u1 {}\n\n#[oracle(aztec_avm_emitNullifier)]\nunconstrained fn emit_nullifier_opcode(nullifier: Field) {}\n\n#[oracle(aztec_avm_emitPublicLog)]\nunconstrained fn emit_public_log_opcode(message: [Field]) {}\n\n#[oracle(aztec_avm_l1ToL2MsgExists)]\nunconstrained fn l1_to_l2_msg_exists_opcode(msg_hash: Field, msg_leaf_index: u64) -> u1 {}\n\n#[oracle(aztec_avm_sendL2ToL1Msg)]\nunconstrained fn send_l2_to_l1_msg_opcode(recipient: EthAddress, content: Field) {}\n\n#[oracle(aztec_avm_calldataCopy)]\nunconstrained fn calldata_copy_opcode<let N: u32>(cdoffset: u32, copy_size: u32) -> [Field; N] {}\n\n#[oracle(aztec_avm_returndataSize)]\nunconstrained fn returndata_size_opcode() -> u32 {}\n\n#[oracle(aztec_avm_returndataCopy)]\nunconstrained fn returndata_copy_opcode(rdoffset: u32, copy_size: u32) -> [Field] {}\n\n#[oracle(aztec_avm_return)]\nunconstrained fn return_opcode(returndata: [Field]) {}\n\n#[oracle(aztec_avm_revert)]\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(aztec_avm_call)]\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(aztec_avm_staticCall)]\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(aztec_avm_successCopy)]\nunconstrained fn success_copy_opcode() -> bool {}\n\n#[oracle(aztec_avm_storageRead)]\nunconstrained fn storage_read_opcode(storage_slot: Field, contract_address: Field) -> Field {}\n\n#[oracle(aztec_avm_storageWrite)]\nunconstrained fn storage_write_opcode(storage_slot: Field, value: Field) {}\n"
|
|
4296
4304
|
},
|
|
4297
4305
|
"75": {
|
|
4298
4306
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/enqueue_public_function_call.nr",
|
|
4299
|
-
"source": "use crate::protocol::address::AztecAddress;\n\n#[oracle(
|
|
4307
|
+
"source": "use crate::protocol::address::AztecAddress;\n\n#[oracle(aztec_prv_notifyEnqueuedPublicFunctionCall)]\nunconstrained fn notify_enqueued_public_function_call_oracle(\n _contract_address: AztecAddress,\n _calldata_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n) {}\n\nunconstrained fn notify_enqueued_public_function_call_wrapper(\n contract_address: AztecAddress,\n calldata_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n) {\n notify_enqueued_public_function_call_oracle(\n contract_address,\n calldata_hash,\n side_effect_counter,\n is_static_call,\n )\n}\n\npub fn notify_enqueued_public_function_call(\n contract_address: AztecAddress,\n calldata_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n) {\n // Safety: Notifies the simulator that a public call has been enqueued, allowing it to prepare hints for the AVM to\n // process this call.\n unsafe {\n notify_enqueued_public_function_call_wrapper(\n contract_address,\n calldata_hash,\n side_effect_counter,\n is_static_call,\n )\n }\n}\n\n#[oracle(aztec_prv_notifySetPublicTeardownFunctionCall)]\nunconstrained fn notify_set_public_teardown_function_call_oracle(\n _contract_address: AztecAddress,\n _calldata_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n) {}\n\nunconstrained fn notify_set_public_teardown_function_call_wrapper(\n contract_address: AztecAddress,\n calldata_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n) {\n notify_set_public_teardown_function_call_oracle(\n contract_address,\n calldata_hash,\n side_effect_counter,\n is_static_call,\n )\n}\n\npub fn notify_set_public_teardown_function_call(\n contract_address: AztecAddress,\n calldata_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n) {\n // Safety: Notifies the simulator that a teardown call has been set, allowing it to prepare hints for the AVM to\n // process this call.\n unsafe {\n notify_set_public_teardown_function_call_wrapper(\n contract_address,\n calldata_hash,\n side_effect_counter,\n is_static_call,\n )\n }\n}\n\npub fn notify_set_min_revertible_side_effect_counter(counter: u32) {\n // Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to\n // call.\n unsafe { notify_set_min_revertible_side_effect_counter_oracle_wrapper(counter) };\n}\n\npub unconstrained fn notify_set_min_revertible_side_effect_counter_oracle_wrapper(counter: u32) {\n notify_set_min_revertible_side_effect_counter_oracle(counter);\n}\n\n#[oracle(aztec_prv_notifySetMinRevertibleSideEffectCounter)]\nunconstrained fn notify_set_min_revertible_side_effect_counter_oracle(_counter: u32) {}\n\npub unconstrained fn is_side_effect_counter_revertible_oracle_wrapper(counter: u32) -> bool {\n is_side_effect_counter_revertible_oracle(counter)\n}\n\n#[oracle(aztec_prv_isSideEffectCounterRevertible)]\nunconstrained fn is_side_effect_counter_revertible_oracle(counter: u32) -> bool {}\n"
|
|
4300
4308
|
},
|
|
4301
4309
|
"77": {
|
|
4302
4310
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/execution_cache.nr",
|
|
4303
|
-
"source": "/// Stores values represented as slice in execution cache to be later obtained by its hash.\npub fn store<let N: u32>(values: [Field; N], hash: Field) {\n // Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to\n // call. When loading the values, however, the caller must check that the values are indeed the preimage.\n unsafe { store_in_execution_cache_oracle_wrapper(values, hash) };\n}\n\nunconstrained fn store_in_execution_cache_oracle_wrapper<let N: u32>(\n values: [Field; N],\n hash: Field,\n) {\n store_in_execution_cache_oracle(values, hash);\n}\n\npub unconstrained fn load<let N: u32>(hash: Field) -> [Field; N] {\n load_from_execution_cache_oracle(hash)\n}\n\n#[oracle(
|
|
4311
|
+
"source": "/// Stores values represented as slice in execution cache to be later obtained by its hash.\npub fn store<let N: u32>(values: [Field; N], hash: Field) {\n // Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to\n // call. When loading the values, however, the caller must check that the values are indeed the preimage.\n unsafe { store_in_execution_cache_oracle_wrapper(values, hash) };\n}\n\nunconstrained fn store_in_execution_cache_oracle_wrapper<let N: u32>(\n values: [Field; N],\n hash: Field,\n) {\n store_in_execution_cache_oracle(values, hash);\n}\n\npub unconstrained fn load<let N: u32>(hash: Field) -> [Field; N] {\n load_from_execution_cache_oracle(hash)\n}\n\n#[oracle(aztec_prv_storeInExecutionCache)]\nunconstrained fn store_in_execution_cache_oracle<let N: u32>(_values: [Field; N], _hash: Field) {}\n\n#[oracle(aztec_prv_loadFromExecutionCache)]\nunconstrained fn load_from_execution_cache_oracle<let N: u32>(_hash: Field) -> [Field; N] {}\n"
|
|
4304
4312
|
},
|
|
4305
4313
|
"78": {
|
|
4306
4314
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/get_l1_to_l2_membership_witness.nr",
|
|
4307
|
-
"source": "use crate::protocol::{address::AztecAddress, constants::L1_TO_L2_MSG_TREE_HEIGHT};\n\n/// Returns the leaf index and sibling path of an entry in the L1 to L2 messaging tree, which can then be used to prove\n/// its existence.\npub unconstrained fn get_l1_to_l2_membership_witness(\n contract_address: AztecAddress,\n message_hash: Field,\n secret: Field,\n) -> (Field, [Field; L1_TO_L2_MSG_TREE_HEIGHT]) {\n get_l1_to_l2_membership_witness_oracle(contract_address, message_hash, secret)\n}\n\n// Obtains membership witness (index and sibling path) for a message in the L1 to L2 message tree.\n#[oracle(
|
|
4315
|
+
"source": "use crate::protocol::{address::AztecAddress, constants::L1_TO_L2_MSG_TREE_HEIGHT};\n\n/// Returns the leaf index and sibling path of an entry in the L1 to L2 messaging tree, which can then be used to prove\n/// its existence.\npub unconstrained fn get_l1_to_l2_membership_witness(\n contract_address: AztecAddress,\n message_hash: Field,\n secret: Field,\n) -> (Field, [Field; L1_TO_L2_MSG_TREE_HEIGHT]) {\n get_l1_to_l2_membership_witness_oracle(contract_address, message_hash, secret)\n}\n\n// Obtains membership witness (index and sibling path) for a message in the L1 to L2 message tree.\n#[oracle(aztec_utl_getL1ToL2MembershipWitness)]\nunconstrained fn get_l1_to_l2_membership_witness_oracle(\n _contract_address: AztecAddress,\n _message_hash: Field,\n _secret: Field,\n) -> (Field, [Field; L1_TO_L2_MSG_TREE_HEIGHT]) {}\n"
|
|
4308
4316
|
},
|
|
4309
4317
|
"81": {
|
|
4310
4318
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/nullifiers.nr",
|
|
4311
|
-
"source": "//! Nullifier creation, existence checks, etc.\n\nuse crate::protocol::address::aztec_address::AztecAddress;\n\n/// Notifies the simulator that a nullifier has been created, so that its correct status (pending or settled) can be\n/// determined when reading nullifiers in subsequent private function calls. The first non-revertible nullifier emitted\n/// is also used to compute note nonces.\npub fn notify_created_nullifier(inner_nullifier: Field) {\n // Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to\n // call.\n unsafe { notify_created_nullifier_oracle(inner_nullifier) };\n}\n\n#[oracle(
|
|
4319
|
+
"source": "//! Nullifier creation, existence checks, etc.\n\nuse crate::protocol::address::aztec_address::AztecAddress;\n\n/// Notifies the simulator that a nullifier has been created, so that its correct status (pending or settled) can be\n/// determined when reading nullifiers in subsequent private function calls. The first non-revertible nullifier emitted\n/// is also used to compute note nonces.\npub fn notify_created_nullifier(inner_nullifier: Field) {\n // Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to\n // call.\n unsafe { notify_created_nullifier_oracle(inner_nullifier) };\n}\n\n#[oracle(aztec_prv_notifyCreatedNullifier)]\nunconstrained fn notify_created_nullifier_oracle(_inner_nullifier: Field) {}\n\n/// Returns true if the nullifier has been emitted in the same transaction, i.e. if [notify_created_nullifier] has been\n/// called for this inner nullifier from the contract with the specified address.\n///\n/// Note that despite sharing pending transaction information with the app, this is not a privacy leak: anyone in the\n/// network can always determine in which transaction a inner nullifier was emitted by a given contract by simply\n/// inspecting transaction effects. What _would_ constitute a leak would be to share the list of inner pending\n/// nullifiers, as that would reveal their preimages.\npub unconstrained fn is_nullifier_pending(\n inner_nullifier: Field,\n contract_address: AztecAddress,\n) -> bool {\n is_nullifier_pending_oracle(inner_nullifier, contract_address)\n}\n\n#[oracle(aztec_prv_isNullifierPending)]\nunconstrained fn is_nullifier_pending_oracle(\n _inner_nullifier: Field,\n _contract_address: AztecAddress,\n) -> bool {}\n\n/// Returns true if the nullifier exists. Note that a `true` value can be constrained by proving existence of the\n/// nullifier, but a `false` value should not be relied upon since other transactions may emit this nullifier before\n/// the current transaction is included in a block. While this might seem of little use at first, certain design\n/// patterns benefit from this abstraction (see e.g. `PrivateMutable`).\npub unconstrained fn check_nullifier_exists(inner_nullifier: Field) -> bool {\n check_nullifier_exists_oracle(inner_nullifier)\n}\n\n#[oracle(aztec_utl_checkNullifierExists)]\nunconstrained fn check_nullifier_exists_oracle(_inner_nullifier: Field) -> bool {}\n"
|
|
4312
4320
|
},
|
|
4313
4321
|
"84": {
|
|
4314
4322
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/state_vars/map.nr",
|