@aztec/foundation 0.11.1 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,10 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /**
3
+ * Create a pedersen commitment (point) from an array of input fields.
4
+ */
5
+ export declare function pedersenCommit(input: Buffer[], generatorOffset?: number): Buffer[];
6
+ /**
7
+ * Create a pedersen hash (field) from an array of input fields.
8
+ */
9
+ export declare function pedersenHashWithHashIndex(input: Buffer[], index?: number): Buffer;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/pedersen/index.ts"],"names":[],"mappings":";AAsSA;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,SAAI,YAGlE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,SAAI,UAGnE"}
@@ -0,0 +1,298 @@
1
+ /* cSpell:disable */
2
+ import { Field } from '@noble/curves/abstract/modular';
3
+ import { weierstrassPoints } from '@noble/curves/abstract/weierstrass';
4
+ import { toBigIntBE, toBufferBE } from '../../bigint-buffer/index.js';
5
+ const grumpkin = weierstrassPoints({
6
+ a: 0n,
7
+ b: 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffff0n,
8
+ Fp: Field(0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n),
9
+ n: 0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47n,
10
+ h: 1n,
11
+ Gx: 1n,
12
+ Gy: 0x0000000000000002cf135e7506a45d632d270d45f1181294833fc48d823f272cn,
13
+ });
14
+ const defaultGenerators = [
15
+ [
16
+ 0x083e7911d835097629f0067531fc15cafd79a89beecb39903f69572c636f4a5an,
17
+ 0x1a7f5efaad7f315c25a918f30cc8d7333fccab7ad7c90f14de81bcc528f9935dn,
18
+ ],
19
+ [
20
+ 0x054aa86a73cb8a34525e5bbed6e43ba1198e860f5f3950268f71df4591bde402n,
21
+ 0x209dcfbf2cfb57f9f6046f44d71ac6faf87254afc7407c04eb621a6287cac126n,
22
+ ],
23
+ [
24
+ 0x1c44f2a5207c81c28a8321a5815ce8b1311024bbed131819bbdaf5a2ada84748n,
25
+ 0x03aaee36e6422a1d0191632ac6599ae9eba5ac2c17a8c920aa3caf8b89c5f8a8n,
26
+ ],
27
+ [
28
+ 0x26d8b1160c6821a30c65f6cb47124afe01c29f4338f44d4a12c9fccf22fb6fb2n,
29
+ 0x05c70c3b9c0d25a4c100e3a27bf3cc375f8af8cdd9498ec4089a823d7464caffn,
30
+ ],
31
+ [
32
+ 0x20ed9c6a1d27271c4498bfce0578d59db1adbeaa8734f7facc097b9b994fcf6en,
33
+ 0x29cd7d370938b358c62c4a00f73a0d10aba7e5aaa04704a0713f891ebeb92371n,
34
+ ],
35
+ [
36
+ 0x0224a8abc6c8b8d50373d64cd2a1ab1567bf372b3b1f7b861d7f01257052d383n,
37
+ 0x2358629b90eafb299d6650a311e79914b0215eb0a790810b26da5a826726d711n,
38
+ ],
39
+ [
40
+ 0x0f106f6d46bc904a5290542490b2f238775ff3c445b2f8f704c466655f460a2an,
41
+ 0x29ab84d472f1d33f42fe09c47b8f7710f01920d6155250126731e486877bcf27n,
42
+ ],
43
+ [
44
+ 0x0298f2e42249f0519c8a8abd91567ebe016e480f219b8c19461d6a595cc33696n,
45
+ 0x035bec4b8520a4ece27bd5aafabee3dfe1390d7439c419a8c55aceb207aac83bn,
46
+ ],
47
+ [
48
+ 0x2c9628479de4181ea77e7b0913ccf41d2a74155b1d9c82eaa220c218781f6f3bn,
49
+ 0x278f86b8fd95520b5da23bee1a5e354dc5dcb0cb43d6b76e628ddbffb101d776n,
50
+ ],
51
+ [
52
+ 0x0be1916f382e3532aa53a766fe74b1a983784caab90290aea7bf616bc371fb41n,
53
+ 0x0f65545005e896f14249956344faf9addd762b7573a487b58f805a361d920a20n,
54
+ ],
55
+ [
56
+ 0x29ff8437ae5bec89981441b23036a22b7fd5bee9eff0e83c0dd5b87bfb5bd60en,
57
+ 0x1fd247352b77e2676b22db23cf7cd482474f543e3480b5a39c42f839a306be10n,
58
+ ],
59
+ [
60
+ 0x2f3bd4e98f8c8458cd58888749f0f5e582a43565767398e08e50e94b9b19a4d9n,
61
+ 0x1f534906d1aa8b4ba74ad9e3f85ae3f8295e51eaafd15b5d116801b96360205bn,
62
+ ],
63
+ [
64
+ 0x27759098f425b76447c2c52728576803a1ac5de37bba875ac47cdcff539ab931n,
65
+ 0x0aa47ee64d12d856cfb81b595c1d60ceecb693f0fdae644746ff333e39f61db7n,
66
+ ],
67
+ [
68
+ 0x015ca8d68616fde86c9108e3db04f588e0f308e60d367e963b7d460fe9a65e6cn,
69
+ 0x2cf918009dda942ac9d59903cd2d0294d8738f938b1394170d892a027d0f347bn,
70
+ ],
71
+ [
72
+ 0x0d1783d5b256765515f3c9988df9f1ba7e6f5fb0248c8971fbc503ffd5187714n,
73
+ 0x2ebb434ff4857fc3621f3bc3c6b8002b17d02d9c204e75f19b8f0b99ea68402cn,
74
+ ],
75
+ [
76
+ 0x300f20942e37abb19520f931f7bf7c6bbac93e4461a7789677f986e344d1f5e5n,
77
+ 0x1172a6b674c66bb037109fbb4d93d4ca8054bb9dda08839a6189eb578511116dn,
78
+ ],
79
+ [
80
+ 0x13a6b381a663aa8a757dd386a3a8947d456874a356f52f8af1a3d84ba1067eaan,
81
+ 0x224854000fa9c70e873fb14ad7c0d01dcf6df5f30261333d6b63c78a7da5a348n,
82
+ ],
83
+ [
84
+ 0x2b37dc5eb4c3f8cba62f0085ec131053eae6181a3e73a82e7d79764a023394ccn,
85
+ 0x27c817c1376228a3a9f5ac6caed57857a3baa580a0c1b70a17f75a6ab7e2377cn,
86
+ ],
87
+ [
88
+ 0x26ae1cc453dab3f2cf4810cc3fb8f71257383333aa4f3ace8eb69c8ba4fa5da1n,
89
+ 0x28bfbf80541bde37e9db113ae1eb049cf163ff4ea9654d61f42a95bc2e0b17bdn,
90
+ ],
91
+ [
92
+ 0x0e29626ab6be74417d08b28c8f8ebf02fd701e28d1d47b1961e716e735e02d12n,
93
+ 0x119f55d6bffb6bba81779eaf98f310c5661d85397b094ffbddbb41fb264b0876n,
94
+ ],
95
+ [
96
+ 0x055cda53e781f3eedd760ba2c48c6d36d2a061544c3d33e76100bd4c65e89748n,
97
+ 0x28391e899d6407e40294faa5e5561ab472e43ea5d54c15343b9a47cb7a80ed09n,
98
+ ],
99
+ [
100
+ 0x203c402369e8b2bc2c3827bc82a278d32c51dc9ab95e55ce1566e8b625b7bce7n,
101
+ 0x2bf25525d4a62f1252355559dd496b68ba4d6ea65f4b669bb3da73c42455f0a3n,
102
+ ],
103
+ [
104
+ 0x2468739cedeabea49dbc46c2356bd5cf341aa4574272ba53a40d8049e5ee949fn,
105
+ 0x0e8b73bcac6b2ccffaa2e50fce992db11a0b46dcdb8ad4b8325393f903a2543an,
106
+ ],
107
+ [
108
+ 0x242d8ad05dc6e2a8a6fd636f48eec881e05ee8d2a58e2653173f4954ec867654n,
109
+ 0x0afe0d7aa588a3dcf791f11fcdf54c1d07cfc805c5ae0b02101faafab9cb55f0n,
110
+ ],
111
+ [
112
+ 0x05c378d0596af9f9a2471be52b7ad0112d48ef355c372088eb0db86e42887e14n,
113
+ 0x1ba1f1adb66e67bc88c1b3eafe95b202812803a8b71ca62de9ed06c8b9f3cff3n,
114
+ ],
115
+ [
116
+ 0x04e5c213eebfffcdb42b6c371e52f0d598646cf0ca2a353b4b99889074c5a2bcn,
117
+ 0x0ae6442bc73b0f2b2d45829fd8fa321ab6b5eecdd3988a39f0c5850544de5082n,
118
+ ],
119
+ [
120
+ 0x2c96765650bd7c3bee01114b9097b036e20d5c774afe2ba7d5d6099f498f47fdn,
121
+ 0x0879c9cc5e7eea97f1f9193e1fd08b8d0390320197dee299af1eb67f92c506a3n,
122
+ ],
123
+ [
124
+ 0x2113980404df880af7d25a27aec16e61c770619912435b618914da7fa1a88385n,
125
+ 0x106827183994d8da15037851748b05392620516277bf0000f8b38e97f5db602an,
126
+ ],
127
+ [
128
+ 0x13b4c5f15cc69af871b91e862db8b0044834c5e8da5a287d0794342bb97ffca6n,
129
+ 0x17941f13343835b572e18d37ab3897f80e0461f9b72ab61da61927fc980a6bd2n,
130
+ ],
131
+ [
132
+ 0x085c0f69b19e05986883dcc9d53334bb6799968688935d938cebd4b4455f9187n,
133
+ 0x242b8a5ab074d09e26427b1b6633a79a82ba41d64c4d658017f3186d6926721bn,
134
+ ],
135
+ [
136
+ 0x1bb111daaf71e632a4c9244a362bdde16a5efc5e7c7dda42b20f3290c2776d2cn,
137
+ 0x2b4506bf741b2dc59f71f7036716cac04b6f808b4ca1469eb2fd7bccff5882c0n,
138
+ ],
139
+ [
140
+ 0x1a76ba8ca6b8e2c65915521b175da98137dfcaf0b5faff1019f37afce77c99ean,
141
+ 0x1894c8c79e69e52a495bf6fe467aa4f5bdbe606490d6803df325a075c5b0079an,
142
+ ],
143
+ [
144
+ 0x2fea40a9bfb252ba7e192be641a4051381982719b77d567caee2657f36b701abn,
145
+ 0x1e80d5ea79b50a722e65ce274b8ba2a133de94b757ef71b452183ee958c620e1n,
146
+ ],
147
+ [
148
+ 0x217c100e6cd64b68e91fe26e90eda02eaa505859201253bd5e550e0bb8f0f29an,
149
+ 0x12a5c4fc942353f962bc5b97f36b9a326d5dbb6c505266d2a016415d8da0be65n,
150
+ ],
151
+ [
152
+ 0x2f50fc293e4529108595329b6e7b0110c0db563927bd57a169e81884535660f9n,
153
+ 0x03547f619f9c30a761963381fe31f031ecd5b393d2281455a66e01aff0896338n,
154
+ ],
155
+ [
156
+ 0x06e0f1aab04c530ed9e9584b7c06cb40d6dbd1752313b1bf8498accb8227e743n,
157
+ 0x2b47e83f03e635a9c20eb0d6412955dec1578a197c7d51f648550623ac5b3baen,
158
+ ],
159
+ [
160
+ 0x1dee7c6f5d7527d26da506eec28cc3b71acf9a8e694567749dc5e6b073748632n,
161
+ 0x235955a911e3744859c1db3996aa1f0f64424f67c2ef1c8fcc8c767af5749068n,
162
+ ],
163
+ [
164
+ 0x1e5aa70095a858d1c4153691e91c19f01a883f422efc19ec766c86bc416ceb2an,
165
+ 0x0f1e06c820067d8d0af14cf87633c1bd761d65bc5b3889a17bae7d70d2b19f5dn,
166
+ ],
167
+ [
168
+ 0x2f4d8f60344443350f226f19c4b01e2198f6b475b0291dd2e0c3981e3797a5e0n,
169
+ 0x1aaab92caf692c5fb89e6eab983f26ebe009463c1ddece0a650508994cb84a82n,
170
+ ],
171
+ [
172
+ 0x06e0aba4044a552343f7ba02f234dafe4ccca7fd552342a8493ce544758df012n,
173
+ 0x243269273e7c7ee7a50288f282cb6a7169ec2aac03d2ff7b40463638ad5722d5n,
174
+ ],
175
+ [
176
+ 0x1aecf2ef53262227e12a9ca29ae7f14be031c03488a7604a03cdc77115f26136n,
177
+ 0x0753180b7d445c215d55dbfd6ebfb1c6aabd690ac92fd76cea5144ef3c9a8b3fn,
178
+ ],
179
+ [
180
+ 0x207d50d783c727a979303bc8f50538ad75e5f856180d4f3dc2c7ee186916cef8n,
181
+ 0x20155253cd087a980aad326564240cca45a72c888e69395e4d8f5ca3d2b96e0an,
182
+ ],
183
+ [
184
+ 0x21db09b3c2c299f1b0be7a8f3031fd283cd5f1efca0a468b7ea9a0f170e81fc7n,
185
+ 0x21b50f8107353afc7a1656040c9888ee393608420d88c2a07f34293fb609a26dn,
186
+ ],
187
+ [
188
+ 0x02190016f4cc44935d100bc7b7dae46cea5922261e9889112cc815fafd5c45ccn,
189
+ 0x01dfaacfa00ddb9133042d9833d1201172f69a456f0c9483d0b58e5f01b571fdn,
190
+ ],
191
+ [
192
+ 0x04e67573df0c1591ec51d2f60b74f1964abeef3e201084425a55cd71ffe0b4f8n,
193
+ 0x1f0285b2ede69aff961919827312afad0753c112cab001cb28ff6c2c27f277c6n,
194
+ ],
195
+ [
196
+ 0x092450548d189dfe4e852370c17343aeef92ac3a8fbdeb8fdd244f87d3af03cdn,
197
+ 0x23e3c53d9265d6debfdb40988a908e64673b2f87b1fe2a08b56c6a3fcf84f5d1n,
198
+ ],
199
+ [
200
+ 0x2935be388ee1365bf6a9cc6fd25d130607835dbf7926c5cafed690b9072cd316n,
201
+ 0x059edfbc50a9699e29b975a2fc3bfe7855997e708ce82fa30ed19cc91850f6ccn,
202
+ ],
203
+ [
204
+ 0x21cc891713fb8570152149a9fbb23410d7c42dece266bc6093650e46111a465cn,
205
+ 0x248f486105ee09f447e7e0ff522b5ff1db5f64522f2bbbb28e7a07595cff3e79n,
206
+ ],
207
+ [
208
+ 0x147f06fa12cbb8d1c98f9c06d57899e20d9651bb8da104ad5168c9be10d4419fn,
209
+ 0x2766f677196fb611814f5d7af22aa8555c3c65b572151576b116df5b9f05857dn,
210
+ ],
211
+ [
212
+ 0x0143beefa7f0b8fb72262a3c3d1502a36d8b4cb35befbb37dba3a70ffe2571c7n,
213
+ 0x1808ba6988bbb8585b77765760fb2afccdfe4946702043a46b8d461c7d211b11n,
214
+ ],
215
+ [
216
+ 0x1ac3c1edb1eddd9c5011f88769fac4050aa8820de1f84fcda7e400f87028ba3an,
217
+ 0x050cbb4da87ecd3f0c84d6252e76e19b3678b955c603f35abdcee3b988a57fa4n,
218
+ ],
219
+ [
220
+ 0x05a7092c674d8f44add477edf7369dc7bcb9da4d1b903fd58dd8bd4d166de73en,
221
+ 0x182545ce8ba6fa781823673d50fc62c7d1bb5f3515da6e5c2bdfd7248f311e1bn,
222
+ ],
223
+ [
224
+ 0x0154a12dbf3fd3ae8957fe154f378630c12306eb55425d9732e0ae2b56ca0306n,
225
+ 0x140688ffb0de33c9625e323a13e9df6fb37c841b34c4b18b7e19d51792d393ccn,
226
+ ],
227
+ [
228
+ 0x2fcdf4e4b421286df484fdd08725ffe53728759508f74f0d87e65bd932af28d4n,
229
+ 0x25f57213413f9f0982573c4a6640efe32b612c6c8f0b027425260c4629d38b21n,
230
+ ],
231
+ [
232
+ 0x203ed9a7ff1ef21910003e658dbff87a3e10da7782de00af71995c233587961dn,
233
+ 0x0c7ae4445018e5d451f197d7881b1b95fb66574c26ff6967a37c1eab5f907a08n,
234
+ ],
235
+ [
236
+ 0x131abdc8d6c6319aeee7e8b186ace3c07d140eb4037b21285b2260cd7bf310f7n,
237
+ 0x2371e4c2b73ce0af013b30ee9f434584742cdd7e91f1d842c1a6a95bd12d915dn,
238
+ ],
239
+ [
240
+ 0x124029864085263e79448fdeef91ee2ea5a4952637646b02f132c1ac917edbdan,
241
+ 0x29d11c62ccfca5d8328e5171466137e6cfd19d56bdc3bbc4633a0aed34a90e69n,
242
+ ],
243
+ [
244
+ 0x1ded46fcf96cba70ac0cb4ca58348c90041b257232e476acd236b45271413fben,
245
+ 0x26d04c6660ab9693743bf5c5fcf13047860dfeed3dd903e6ff6fe917fddf73fbn,
246
+ ],
247
+ [
248
+ 0x2b31b48b7313f6a5c3f1f59fe9ad3d4b8900d873056af1691d143208eb5c8790n,
249
+ 0x27cec87606fe5f9562a3d0b1fef90da3e8d17721c668c342b681468a501deff3n,
250
+ ],
251
+ [
252
+ 0x22080b093f3b3c98f9afc52b80594dcf51a714e77c40c3a08513897d73a70806n,
253
+ 0x1cbcacedf498eaebd03b602c4908c165c50ba184230c7c52244c9a5d0e9759ebn,
254
+ ],
255
+ [
256
+ 0x0560b3857af53bc7262482310593e316543551ee57417583161bfce9d12a4d40n,
257
+ 0x2c91b186a9740d4b9f49c8889878381833cc5b5fe29e6e83affa2916e2008988n,
258
+ ],
259
+ [
260
+ 0x2cf006347b380b6e0eb766ebdd1d24dc1eed9a43c206ee58e9457303d509c308n,
261
+ 0x03d11688f54726466399ddce8523148453cd1b6cad3cd414ee6e2af66a6b6addn,
262
+ ],
263
+ [
264
+ 0x2e5c7e4d9a6069892bac121490fee89df1c238c7738c9f3ab599d6b4cc2ff491n,
265
+ 0x0f3c26f5de9ad898d4a4b1a08d1e87fd5cf4362f9796fb8715c60d431902cd54n,
266
+ ],
267
+ [
268
+ 0x15298a52895eb8c9399509dc1f0ef68a90afc29084d3a0cec6956c8420819b5cn,
269
+ 0x2dc0ccd80f1bbbdf364f5b912a961332d9f5db54763745b64e0d85e33faf87c7n,
270
+ ],
271
+ ].map(([x, y]) => new grumpkin.ProjectivePoint(x, y, 1n));
272
+ const lengthGenerator = new grumpkin.ProjectivePoint(0x2df8b940e5890e4e1377e05373fae69a1d754f6935e6a780b666947431f2cdcdn, 0x2ecd88d15967bc53b885912e0d16866154acb6aac2d3f85e27ca7eefb2c19083n, 1n);
273
+ const pointAtInfinity = lengthGenerator.subtract(lengthGenerator);
274
+ /**
275
+ * Create a pedersen commitment (point) from an array of input fields.
276
+ */
277
+ function pedersenCommitInternal(input, generatorOffset = 0) {
278
+ if (generatorOffset + input.length > defaultGenerators.length) {
279
+ throw new Error('Pedersen commit overflowed default generators.');
280
+ }
281
+ const generators = defaultGenerators.slice(generatorOffset, generatorOffset + input.length);
282
+ return generators.reduce((a, g, i) => a.add(g.multiply(toBigIntBE(input[i]))), pointAtInfinity);
283
+ }
284
+ /**
285
+ * Create a pedersen commitment (point) from an array of input fields.
286
+ */
287
+ export function pedersenCommit(input, generatorOffset = 0) {
288
+ const result = pedersenCommitInternal(input, generatorOffset);
289
+ return [toBufferBE(result.x, 32), toBufferBE(result.y, 32)];
290
+ }
291
+ /**
292
+ * Create a pedersen hash (field) from an array of input fields.
293
+ */
294
+ export function pedersenHashWithHashIndex(input, index = 0) {
295
+ const result = lengthGenerator.multiply(BigInt(input.length));
296
+ return toBufferBE(result.add(pedersenCommitInternal(input, index)).x, 32);
297
+ }
298
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL3BlZGVyc2VuL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9CQUFvQjtBQUNwQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV0RSxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQztJQUNqQyxDQUFDLEVBQUUsRUFBRTtJQUNMLENBQUMsRUFBRSxtRUFBbUU7SUFDdEUsRUFBRSxFQUFFLEtBQUssQ0FBQyxtRUFBbUUsQ0FBQztJQUM5RSxDQUFDLEVBQUUsbUVBQW1FO0lBQ3RFLENBQUMsRUFBRSxFQUFFO0lBQ0wsRUFBRSxFQUFFLEVBQUU7SUFDTixFQUFFLEVBQUUsbUVBQW1FO0NBQ3hFLENBQUMsQ0FBQztBQUVILE1BQU0saUJBQWlCLEdBQUc7SUFDeEI7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0lBQ0Q7UUFDRSxtRUFBbUU7UUFDbkUsbUVBQW1FO0tBQ3BFO0NBQ0YsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUUxRCxNQUFNLGVBQWUsR0FBRyxJQUFJLFFBQVEsQ0FBQyxlQUFlLENBQ2xELG1FQUFtRSxFQUNuRSxtRUFBbUUsRUFDbkUsRUFBRSxDQUNILENBQUM7QUFFRixNQUFNLGVBQWUsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBRWxFOztHQUVHO0FBQ0gsU0FBUyxzQkFBc0IsQ0FBQyxLQUFlLEVBQUUsZUFBZSxHQUFHLENBQUM7SUFDbEUsSUFBSSxlQUFlLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUU7UUFDN0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0tBQ25FO0lBQ0QsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxlQUFlLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVGLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUNsRyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQWUsRUFBRSxlQUFlLEdBQUcsQ0FBQztJQUNqRSxNQUFNLE1BQU0sR0FBRyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDOUQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUFDLEtBQWUsRUFBRSxLQUFLLEdBQUcsQ0FBQztJQUNsRSxNQUFNLE1BQU0sR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM5RCxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUM1RSxDQUFDIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/foundation",
3
- "version": "0.11.1",
3
+ "version": "0.13.0",
4
4
  "packageManager": "yarn@3.4.1",
5
5
  "type": "module",
6
6
  "main": "./dest/index.js",
@@ -49,13 +49,14 @@
49
49
  "jest": {
50
50
  "preset": "ts-jest/presets/default-esm",
51
51
  "moduleNameMapper": {
52
- "^(\\.{1,2}/.*)\\.m?js$": "$1"
52
+ "^(\\.{1,2}/.*)\\.[cm]?js$": "$1"
53
53
  },
54
54
  "testRegex": "./src/.*\\.test\\.(js|mjs|ts)$",
55
55
  "rootDir": "./src"
56
56
  },
57
57
  "dependencies": {
58
58
  "@koa/cors": "^4.0.0",
59
+ "@noble/curves": "^1.2.0",
59
60
  "debug": "^4.3.4",
60
61
  "detect-node": "^2.1.0",
61
62
  "hash.js": "^1.1.7",
@@ -0,0 +1,309 @@
1
+ /* cSpell:disable */
2
+ import { Field } from '@noble/curves/abstract/modular';
3
+ import { weierstrassPoints } from '@noble/curves/abstract/weierstrass';
4
+
5
+ import { toBigIntBE, toBufferBE } from '../../bigint-buffer/index.js';
6
+
7
+ const grumpkin = weierstrassPoints({
8
+ a: 0n,
9
+ b: 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffff0n,
10
+ Fp: Field(0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n),
11
+ n: 0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47n,
12
+ h: 1n,
13
+ Gx: 1n,
14
+ Gy: 0x0000000000000002cf135e7506a45d632d270d45f1181294833fc48d823f272cn,
15
+ });
16
+
17
+ const defaultGenerators = [
18
+ [
19
+ 0x083e7911d835097629f0067531fc15cafd79a89beecb39903f69572c636f4a5an,
20
+ 0x1a7f5efaad7f315c25a918f30cc8d7333fccab7ad7c90f14de81bcc528f9935dn,
21
+ ],
22
+ [
23
+ 0x054aa86a73cb8a34525e5bbed6e43ba1198e860f5f3950268f71df4591bde402n,
24
+ 0x209dcfbf2cfb57f9f6046f44d71ac6faf87254afc7407c04eb621a6287cac126n,
25
+ ],
26
+ [
27
+ 0x1c44f2a5207c81c28a8321a5815ce8b1311024bbed131819bbdaf5a2ada84748n,
28
+ 0x03aaee36e6422a1d0191632ac6599ae9eba5ac2c17a8c920aa3caf8b89c5f8a8n,
29
+ ],
30
+ [
31
+ 0x26d8b1160c6821a30c65f6cb47124afe01c29f4338f44d4a12c9fccf22fb6fb2n,
32
+ 0x05c70c3b9c0d25a4c100e3a27bf3cc375f8af8cdd9498ec4089a823d7464caffn,
33
+ ],
34
+ [
35
+ 0x20ed9c6a1d27271c4498bfce0578d59db1adbeaa8734f7facc097b9b994fcf6en,
36
+ 0x29cd7d370938b358c62c4a00f73a0d10aba7e5aaa04704a0713f891ebeb92371n,
37
+ ],
38
+ [
39
+ 0x0224a8abc6c8b8d50373d64cd2a1ab1567bf372b3b1f7b861d7f01257052d383n,
40
+ 0x2358629b90eafb299d6650a311e79914b0215eb0a790810b26da5a826726d711n,
41
+ ],
42
+ [
43
+ 0x0f106f6d46bc904a5290542490b2f238775ff3c445b2f8f704c466655f460a2an,
44
+ 0x29ab84d472f1d33f42fe09c47b8f7710f01920d6155250126731e486877bcf27n,
45
+ ],
46
+ [
47
+ 0x0298f2e42249f0519c8a8abd91567ebe016e480f219b8c19461d6a595cc33696n,
48
+ 0x035bec4b8520a4ece27bd5aafabee3dfe1390d7439c419a8c55aceb207aac83bn,
49
+ ],
50
+ [
51
+ 0x2c9628479de4181ea77e7b0913ccf41d2a74155b1d9c82eaa220c218781f6f3bn,
52
+ 0x278f86b8fd95520b5da23bee1a5e354dc5dcb0cb43d6b76e628ddbffb101d776n,
53
+ ],
54
+ [
55
+ 0x0be1916f382e3532aa53a766fe74b1a983784caab90290aea7bf616bc371fb41n,
56
+ 0x0f65545005e896f14249956344faf9addd762b7573a487b58f805a361d920a20n,
57
+ ],
58
+ [
59
+ 0x29ff8437ae5bec89981441b23036a22b7fd5bee9eff0e83c0dd5b87bfb5bd60en,
60
+ 0x1fd247352b77e2676b22db23cf7cd482474f543e3480b5a39c42f839a306be10n,
61
+ ],
62
+ [
63
+ 0x2f3bd4e98f8c8458cd58888749f0f5e582a43565767398e08e50e94b9b19a4d9n,
64
+ 0x1f534906d1aa8b4ba74ad9e3f85ae3f8295e51eaafd15b5d116801b96360205bn,
65
+ ],
66
+ [
67
+ 0x27759098f425b76447c2c52728576803a1ac5de37bba875ac47cdcff539ab931n,
68
+ 0x0aa47ee64d12d856cfb81b595c1d60ceecb693f0fdae644746ff333e39f61db7n,
69
+ ],
70
+ [
71
+ 0x015ca8d68616fde86c9108e3db04f588e0f308e60d367e963b7d460fe9a65e6cn,
72
+ 0x2cf918009dda942ac9d59903cd2d0294d8738f938b1394170d892a027d0f347bn,
73
+ ],
74
+ [
75
+ 0x0d1783d5b256765515f3c9988df9f1ba7e6f5fb0248c8971fbc503ffd5187714n,
76
+ 0x2ebb434ff4857fc3621f3bc3c6b8002b17d02d9c204e75f19b8f0b99ea68402cn,
77
+ ],
78
+ [
79
+ 0x300f20942e37abb19520f931f7bf7c6bbac93e4461a7789677f986e344d1f5e5n,
80
+ 0x1172a6b674c66bb037109fbb4d93d4ca8054bb9dda08839a6189eb578511116dn,
81
+ ],
82
+ [
83
+ 0x13a6b381a663aa8a757dd386a3a8947d456874a356f52f8af1a3d84ba1067eaan,
84
+ 0x224854000fa9c70e873fb14ad7c0d01dcf6df5f30261333d6b63c78a7da5a348n,
85
+ ],
86
+ [
87
+ 0x2b37dc5eb4c3f8cba62f0085ec131053eae6181a3e73a82e7d79764a023394ccn,
88
+ 0x27c817c1376228a3a9f5ac6caed57857a3baa580a0c1b70a17f75a6ab7e2377cn,
89
+ ],
90
+ [
91
+ 0x26ae1cc453dab3f2cf4810cc3fb8f71257383333aa4f3ace8eb69c8ba4fa5da1n,
92
+ 0x28bfbf80541bde37e9db113ae1eb049cf163ff4ea9654d61f42a95bc2e0b17bdn,
93
+ ],
94
+ [
95
+ 0x0e29626ab6be74417d08b28c8f8ebf02fd701e28d1d47b1961e716e735e02d12n,
96
+ 0x119f55d6bffb6bba81779eaf98f310c5661d85397b094ffbddbb41fb264b0876n,
97
+ ],
98
+ [
99
+ 0x055cda53e781f3eedd760ba2c48c6d36d2a061544c3d33e76100bd4c65e89748n,
100
+ 0x28391e899d6407e40294faa5e5561ab472e43ea5d54c15343b9a47cb7a80ed09n,
101
+ ],
102
+ [
103
+ 0x203c402369e8b2bc2c3827bc82a278d32c51dc9ab95e55ce1566e8b625b7bce7n,
104
+ 0x2bf25525d4a62f1252355559dd496b68ba4d6ea65f4b669bb3da73c42455f0a3n,
105
+ ],
106
+ [
107
+ 0x2468739cedeabea49dbc46c2356bd5cf341aa4574272ba53a40d8049e5ee949fn,
108
+ 0x0e8b73bcac6b2ccffaa2e50fce992db11a0b46dcdb8ad4b8325393f903a2543an,
109
+ ],
110
+ [
111
+ 0x242d8ad05dc6e2a8a6fd636f48eec881e05ee8d2a58e2653173f4954ec867654n,
112
+ 0x0afe0d7aa588a3dcf791f11fcdf54c1d07cfc805c5ae0b02101faafab9cb55f0n,
113
+ ],
114
+ [
115
+ 0x05c378d0596af9f9a2471be52b7ad0112d48ef355c372088eb0db86e42887e14n,
116
+ 0x1ba1f1adb66e67bc88c1b3eafe95b202812803a8b71ca62de9ed06c8b9f3cff3n,
117
+ ],
118
+ [
119
+ 0x04e5c213eebfffcdb42b6c371e52f0d598646cf0ca2a353b4b99889074c5a2bcn,
120
+ 0x0ae6442bc73b0f2b2d45829fd8fa321ab6b5eecdd3988a39f0c5850544de5082n,
121
+ ],
122
+ [
123
+ 0x2c96765650bd7c3bee01114b9097b036e20d5c774afe2ba7d5d6099f498f47fdn,
124
+ 0x0879c9cc5e7eea97f1f9193e1fd08b8d0390320197dee299af1eb67f92c506a3n,
125
+ ],
126
+ [
127
+ 0x2113980404df880af7d25a27aec16e61c770619912435b618914da7fa1a88385n,
128
+ 0x106827183994d8da15037851748b05392620516277bf0000f8b38e97f5db602an,
129
+ ],
130
+ [
131
+ 0x13b4c5f15cc69af871b91e862db8b0044834c5e8da5a287d0794342bb97ffca6n,
132
+ 0x17941f13343835b572e18d37ab3897f80e0461f9b72ab61da61927fc980a6bd2n,
133
+ ],
134
+ [
135
+ 0x085c0f69b19e05986883dcc9d53334bb6799968688935d938cebd4b4455f9187n,
136
+ 0x242b8a5ab074d09e26427b1b6633a79a82ba41d64c4d658017f3186d6926721bn,
137
+ ],
138
+ [
139
+ 0x1bb111daaf71e632a4c9244a362bdde16a5efc5e7c7dda42b20f3290c2776d2cn,
140
+ 0x2b4506bf741b2dc59f71f7036716cac04b6f808b4ca1469eb2fd7bccff5882c0n,
141
+ ],
142
+ [
143
+ 0x1a76ba8ca6b8e2c65915521b175da98137dfcaf0b5faff1019f37afce77c99ean,
144
+ 0x1894c8c79e69e52a495bf6fe467aa4f5bdbe606490d6803df325a075c5b0079an,
145
+ ],
146
+ [
147
+ 0x2fea40a9bfb252ba7e192be641a4051381982719b77d567caee2657f36b701abn,
148
+ 0x1e80d5ea79b50a722e65ce274b8ba2a133de94b757ef71b452183ee958c620e1n,
149
+ ],
150
+ [
151
+ 0x217c100e6cd64b68e91fe26e90eda02eaa505859201253bd5e550e0bb8f0f29an,
152
+ 0x12a5c4fc942353f962bc5b97f36b9a326d5dbb6c505266d2a016415d8da0be65n,
153
+ ],
154
+ [
155
+ 0x2f50fc293e4529108595329b6e7b0110c0db563927bd57a169e81884535660f9n,
156
+ 0x03547f619f9c30a761963381fe31f031ecd5b393d2281455a66e01aff0896338n,
157
+ ],
158
+ [
159
+ 0x06e0f1aab04c530ed9e9584b7c06cb40d6dbd1752313b1bf8498accb8227e743n,
160
+ 0x2b47e83f03e635a9c20eb0d6412955dec1578a197c7d51f648550623ac5b3baen,
161
+ ],
162
+ [
163
+ 0x1dee7c6f5d7527d26da506eec28cc3b71acf9a8e694567749dc5e6b073748632n,
164
+ 0x235955a911e3744859c1db3996aa1f0f64424f67c2ef1c8fcc8c767af5749068n,
165
+ ],
166
+ [
167
+ 0x1e5aa70095a858d1c4153691e91c19f01a883f422efc19ec766c86bc416ceb2an,
168
+ 0x0f1e06c820067d8d0af14cf87633c1bd761d65bc5b3889a17bae7d70d2b19f5dn,
169
+ ],
170
+ [
171
+ 0x2f4d8f60344443350f226f19c4b01e2198f6b475b0291dd2e0c3981e3797a5e0n,
172
+ 0x1aaab92caf692c5fb89e6eab983f26ebe009463c1ddece0a650508994cb84a82n,
173
+ ],
174
+ [
175
+ 0x06e0aba4044a552343f7ba02f234dafe4ccca7fd552342a8493ce544758df012n,
176
+ 0x243269273e7c7ee7a50288f282cb6a7169ec2aac03d2ff7b40463638ad5722d5n,
177
+ ],
178
+ [
179
+ 0x1aecf2ef53262227e12a9ca29ae7f14be031c03488a7604a03cdc77115f26136n,
180
+ 0x0753180b7d445c215d55dbfd6ebfb1c6aabd690ac92fd76cea5144ef3c9a8b3fn,
181
+ ],
182
+ [
183
+ 0x207d50d783c727a979303bc8f50538ad75e5f856180d4f3dc2c7ee186916cef8n,
184
+ 0x20155253cd087a980aad326564240cca45a72c888e69395e4d8f5ca3d2b96e0an,
185
+ ],
186
+ [
187
+ 0x21db09b3c2c299f1b0be7a8f3031fd283cd5f1efca0a468b7ea9a0f170e81fc7n,
188
+ 0x21b50f8107353afc7a1656040c9888ee393608420d88c2a07f34293fb609a26dn,
189
+ ],
190
+ [
191
+ 0x02190016f4cc44935d100bc7b7dae46cea5922261e9889112cc815fafd5c45ccn,
192
+ 0x01dfaacfa00ddb9133042d9833d1201172f69a456f0c9483d0b58e5f01b571fdn,
193
+ ],
194
+ [
195
+ 0x04e67573df0c1591ec51d2f60b74f1964abeef3e201084425a55cd71ffe0b4f8n,
196
+ 0x1f0285b2ede69aff961919827312afad0753c112cab001cb28ff6c2c27f277c6n,
197
+ ],
198
+ [
199
+ 0x092450548d189dfe4e852370c17343aeef92ac3a8fbdeb8fdd244f87d3af03cdn,
200
+ 0x23e3c53d9265d6debfdb40988a908e64673b2f87b1fe2a08b56c6a3fcf84f5d1n,
201
+ ],
202
+ [
203
+ 0x2935be388ee1365bf6a9cc6fd25d130607835dbf7926c5cafed690b9072cd316n,
204
+ 0x059edfbc50a9699e29b975a2fc3bfe7855997e708ce82fa30ed19cc91850f6ccn,
205
+ ],
206
+ [
207
+ 0x21cc891713fb8570152149a9fbb23410d7c42dece266bc6093650e46111a465cn,
208
+ 0x248f486105ee09f447e7e0ff522b5ff1db5f64522f2bbbb28e7a07595cff3e79n,
209
+ ],
210
+ [
211
+ 0x147f06fa12cbb8d1c98f9c06d57899e20d9651bb8da104ad5168c9be10d4419fn,
212
+ 0x2766f677196fb611814f5d7af22aa8555c3c65b572151576b116df5b9f05857dn,
213
+ ],
214
+ [
215
+ 0x0143beefa7f0b8fb72262a3c3d1502a36d8b4cb35befbb37dba3a70ffe2571c7n,
216
+ 0x1808ba6988bbb8585b77765760fb2afccdfe4946702043a46b8d461c7d211b11n,
217
+ ],
218
+ [
219
+ 0x1ac3c1edb1eddd9c5011f88769fac4050aa8820de1f84fcda7e400f87028ba3an,
220
+ 0x050cbb4da87ecd3f0c84d6252e76e19b3678b955c603f35abdcee3b988a57fa4n,
221
+ ],
222
+ [
223
+ 0x05a7092c674d8f44add477edf7369dc7bcb9da4d1b903fd58dd8bd4d166de73en,
224
+ 0x182545ce8ba6fa781823673d50fc62c7d1bb5f3515da6e5c2bdfd7248f311e1bn,
225
+ ],
226
+ [
227
+ 0x0154a12dbf3fd3ae8957fe154f378630c12306eb55425d9732e0ae2b56ca0306n,
228
+ 0x140688ffb0de33c9625e323a13e9df6fb37c841b34c4b18b7e19d51792d393ccn,
229
+ ],
230
+ [
231
+ 0x2fcdf4e4b421286df484fdd08725ffe53728759508f74f0d87e65bd932af28d4n,
232
+ 0x25f57213413f9f0982573c4a6640efe32b612c6c8f0b027425260c4629d38b21n,
233
+ ],
234
+ [
235
+ 0x203ed9a7ff1ef21910003e658dbff87a3e10da7782de00af71995c233587961dn,
236
+ 0x0c7ae4445018e5d451f197d7881b1b95fb66574c26ff6967a37c1eab5f907a08n,
237
+ ],
238
+ [
239
+ 0x131abdc8d6c6319aeee7e8b186ace3c07d140eb4037b21285b2260cd7bf310f7n,
240
+ 0x2371e4c2b73ce0af013b30ee9f434584742cdd7e91f1d842c1a6a95bd12d915dn,
241
+ ],
242
+ [
243
+ 0x124029864085263e79448fdeef91ee2ea5a4952637646b02f132c1ac917edbdan,
244
+ 0x29d11c62ccfca5d8328e5171466137e6cfd19d56bdc3bbc4633a0aed34a90e69n,
245
+ ],
246
+ [
247
+ 0x1ded46fcf96cba70ac0cb4ca58348c90041b257232e476acd236b45271413fben,
248
+ 0x26d04c6660ab9693743bf5c5fcf13047860dfeed3dd903e6ff6fe917fddf73fbn,
249
+ ],
250
+ [
251
+ 0x2b31b48b7313f6a5c3f1f59fe9ad3d4b8900d873056af1691d143208eb5c8790n,
252
+ 0x27cec87606fe5f9562a3d0b1fef90da3e8d17721c668c342b681468a501deff3n,
253
+ ],
254
+ [
255
+ 0x22080b093f3b3c98f9afc52b80594dcf51a714e77c40c3a08513897d73a70806n,
256
+ 0x1cbcacedf498eaebd03b602c4908c165c50ba184230c7c52244c9a5d0e9759ebn,
257
+ ],
258
+ [
259
+ 0x0560b3857af53bc7262482310593e316543551ee57417583161bfce9d12a4d40n,
260
+ 0x2c91b186a9740d4b9f49c8889878381833cc5b5fe29e6e83affa2916e2008988n,
261
+ ],
262
+ [
263
+ 0x2cf006347b380b6e0eb766ebdd1d24dc1eed9a43c206ee58e9457303d509c308n,
264
+ 0x03d11688f54726466399ddce8523148453cd1b6cad3cd414ee6e2af66a6b6addn,
265
+ ],
266
+ [
267
+ 0x2e5c7e4d9a6069892bac121490fee89df1c238c7738c9f3ab599d6b4cc2ff491n,
268
+ 0x0f3c26f5de9ad898d4a4b1a08d1e87fd5cf4362f9796fb8715c60d431902cd54n,
269
+ ],
270
+ [
271
+ 0x15298a52895eb8c9399509dc1f0ef68a90afc29084d3a0cec6956c8420819b5cn,
272
+ 0x2dc0ccd80f1bbbdf364f5b912a961332d9f5db54763745b64e0d85e33faf87c7n,
273
+ ],
274
+ ].map(([x, y]) => new grumpkin.ProjectivePoint(x, y, 1n));
275
+
276
+ const lengthGenerator = new grumpkin.ProjectivePoint(
277
+ 0x2df8b940e5890e4e1377e05373fae69a1d754f6935e6a780b666947431f2cdcdn,
278
+ 0x2ecd88d15967bc53b885912e0d16866154acb6aac2d3f85e27ca7eefb2c19083n,
279
+ 1n,
280
+ );
281
+
282
+ const pointAtInfinity = lengthGenerator.subtract(lengthGenerator);
283
+
284
+ /**
285
+ * Create a pedersen commitment (point) from an array of input fields.
286
+ */
287
+ function pedersenCommitInternal(input: Buffer[], generatorOffset = 0) {
288
+ if (generatorOffset + input.length > defaultGenerators.length) {
289
+ throw new Error('Pedersen commit overflowed default generators.');
290
+ }
291
+ const generators = defaultGenerators.slice(generatorOffset, generatorOffset + input.length);
292
+ return generators.reduce((a, g, i) => a.add(g.multiply(toBigIntBE(input[i]))), pointAtInfinity);
293
+ }
294
+
295
+ /**
296
+ * Create a pedersen commitment (point) from an array of input fields.
297
+ */
298
+ export function pedersenCommit(input: Buffer[], generatorOffset = 0) {
299
+ const result = pedersenCommitInternal(input, generatorOffset);
300
+ return [toBufferBE(result.x, 32), toBufferBE(result.y, 32)];
301
+ }
302
+
303
+ /**
304
+ * Create a pedersen hash (field) from an array of input fields.
305
+ */
306
+ export function pedersenHashWithHashIndex(input: Buffer[], index = 0) {
307
+ const result = lengthGenerator.multiply(BigInt(input.length));
308
+ return toBufferBE(result.add(pedersenCommitInternal(input, index)).x, 32);
309
+ }