@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.
|
|
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}/.*)\\.
|
|
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
|
+
}
|