-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathminaPoseidonLegacy.js
269 lines (263 loc) Β· 15.3 KB
/
minaPoseidonLegacy.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
import { pow5 } from "./modular";
/**
* @noinline
* @const {bigint}
*/
const P = (1n << 254n) + 0x224698fc094cf91b992d30ed00000001n;
/**
* @param {!Array<bigint>} vals
* @return {bigint}
*/
const poseidon = (vals) => {
const /** number */ n = vals.length;
let /** bigint */ s0 = 0n;
let /** bigint */ s1 = 0n;
let /** bigint */ s2 = 0n;
let /** bigint */ t0;
let /** bigint */ t1;
let /** bigint */ t2;
if (n & 1) vals.push(0n);
for (let /** number */ i = 0; i < n; i += 2) {
s0 += vals[i] + 0x2f9dadabbc991f8d691dc62fea5f8ae37b76efe5169a9b0cc92a4820ccb5378n; s0 %= P;
s1 += vals[i + 1] + 0x1783bec6c3570a733c43953d9584b229a9737a3629f1d0dab0b78665580b88e5n; s1 %= P;
s2 += 0x28c01df6666b04196cf02af0390756bba8ecfe80106e3f56377ead8957340c7bn; s2 %= P;
for (let j = 0; j < 63; ++j) {
s0 = pow5(s0, P);
s1 = pow5(s1, P);
s2 = pow5(s2, P);
t0 = md00 * s0 + md01 * s1 + md02 * s2;
t1 = md10 * s0 + md11 * s1 + md12 * s2;
t2 = md20 * s0 + md21 * s1 + md22 * s2;
s0 = (t0 + rc0[j]) % P;
s1 = (t1 + rc1[j]) % P;
s2 = (t2 + rc2[j]) % P;
}
}
return s0;
};
/** @const {bigint} */
const md00 = 0xbc7bd43470f271edd561175959cad06bb21d64fa314a778873762e6ffb4a5can;
/** @const {bigint} */
const md01 = 0x21a33ba4ebd3dff40b654a6b390cb28f9eca5e028831b94079ea43b97f1bfffcn;
/** @const {bigint} */
const md02 = 0x3185adbdc93210522ae0cc0eab26cc7077a14f1263f1714cdce8e4cd293208b1n;
/** @const {bigint} */
const md10 = 0x164cd45138652570ac0442e35cde96aa4fb24c86983bb1b2b1620758f5caf318n;
/** @const {bigint} */
const md11 = 0x25de1627ec1a5754e9c0db6969b0cc16a08f57225c1ffd9db833abc204f5612bn;
/** @const {bigint} */
const md12 = 0x1f690f9372cca3a645304689367c2e0c823241c68dd5eaeb67be04f351680a4fn;
/** @const {bigint} */
const md20 = 0x6c364440aa3b6cf17615d7114a87bdd15917ee6c2d6ec8451336adead4ab5a7n;
/** @const {bigint} */
const md21 = 0x250b797d72cab6bdcf47520851e6d9e069927ff59ca0038c81fab3c8f2ec2261n;
/** @const {bigint} */
const md22 = 0x2557460f3563ba3aa6c4a826ba8639377129acef2f2589b1302dcc8b61eea7bfn;
/**
* @noinline
* @const {!Array<bigint>}
*/
const rc0 = [
0xcd102badb124ebe9c7358494bd7fa35928b7c0954bbf25f00f95df0a63992b4n,
0xd6f067838fca70a3a82d8f7ed72345b0d88d592e2ed2aa03fdeb28371bdad60n,
0x1e6870fd342783ff94d630d4ae7abe1b7c989b533d123fe0290a2fe9afa8b58dn,
0x333772c14246fd782e07478d2cc23cdd5d9d66103377c00176a8f536b6c1d1aan,
0x4c793fc2c4db319f2565881f0eefbdede66ef0b0d314f953e87306310543211n,
0x2348bed14360723e8c643fd1f022ce150fb349e2a5db5f62fbc09705713e5547n,
0x2ae8b1483af5eb5c754ad6a519b214ce67c772ad7537dbd60717492056421f43n,
0x1d469a8eeeb675773d9e9164c94aeda355681fcacd87bd25fb688d816dd50234n,
0x34cf76f034657b1fa7c83b6c8aaa9e65466aaee1cad433d7c09a5c7361c89109n,
0x255b3e6138146a37f70cb9f8f4ce44ba6d7eb08f0994a537ea6ff6b84152583fn,
0x38115c9f35b03dcc031a30d9bc4b1ff93830d9e1edded022e05d843a2f0347e6n,
0x29bcabb23f2d09b8475b951f5ba2bb338dae11940b0557718b63c45e6c1ec9can,
0x93c115bb0f28811a7a11c041ef5847f4ec11dd787457ffe9716b2a996da3d6cn,
0x222013376f6283e3e633f6969ea07641d57e7dee499ac3e881ee4e14d1424499n,
0x1576532889a8dd5dd7bc42845f08f63bacfb53d4081838742b154be87b00b934n,
0x323e9676d56bd57906a49e8f64296b16a5ab57587c1092bd4f3d9fbc48d5bdaan,
0x1fe58500a9141b81fdacedf9fc56a9db74ad3e4b5acf78bf8f01cd70440f3cadn,
0x9fa52f7acb1009c154114747411f2ef0948b5a7b2ba9fc747bffb9766ba8589n,
0x722e1113d90324e06820ff86dc1280d743f2a8288a18b30b26af75f1333e086n,
0x2e61cd35d9d990f9f871e90b768909d88311739321d846f7af89494f891ba4d3n,
0x187e88ba7cccdf4057e20ff2e0177574d8c34711913feebd5dab4f895af005d3n,
0x6c6f01aa8ca190a0e95409a41738505c13006cc008534ab8a68ebf9b71d74e1n,
0x39ec87e4a95dd94e6930d71722c6d1d7df329f2937cd1548345d26b767d678ban,
0x255a12f7505a81b7387bbcaf2b69a02983fcb1f0760a5a354af777ac6f1b25b4n,
0x28f7cfe6a0b76b75b8dbeac43e039ba1ea126addb90ed9ca841c1167c2b8e6d4n,
0x25c178b222bb3251458eacd3593f1871620ce561025d033c4c2a1354e92b2e2n,
0x3f40092e86c6ff92369760f1ae2aecda1306844488f157271e7fb4674783d633n,
0x24be84fe06b6e3df8f63f25bf8132b99980122bbb57b427dcb9cce48e9c27324n,
0x14e9c2ef46ae06997baf594795cf642ee9755aab50c69b43a729f3519eaac4c7n,
0x152dc28205bb989f84fbe0a3e64b252ca66794ecac42c4680a2d65b275c522f8n,
0x2eb7e75c62ba1d7f03cb784e41a6afedbcda222163972fc21085b1b564c36a89n,
0x109ad285b5b20bdeb94efe97b1c8afc0b84f7b41d9242e9e58ddc3c5093c81aen,
0xb2ee969275d2a3afb5c3ac05146da01ee3589add766f22be6331bbed92cd0f1n,
0x62320c5546cfe6217f6db99664de360cf6f96e8ecc28b4dba45254f1508ed92n,
0x39042151c20fa2181845f35474d65b806d93f63448d5a5567478d0610442a97en,
0x1b1775ad9c2ba1f118ce3b216324aff9a8d6a16e75745787031a71e5e49ee881n,
0x941789280992dab6bc83d32da898d379f261fc54806d67718c33ec0db836a4an,
0x20337671bc9d81451d638bc5f2d10caed48756373e93c5bc5d74aee8a2192182n,
0xa0b04b04775f033845870cf4d779d60dc8737800c3f9ff01bba6187ff9b6cb7n,
0x2fbdb6819b90002cfff42f87a37e1f7e804974280f792a3b09c3e6844ec64c40n,
0x39a250eb25a92ea23bf75c9a37f2674ac0a410ca09810533ac44ca6c34b07ca1n,
0x11920f37c58326cfabcced87523d3cd90139c1a1195d0dad4d51bbdcc1cbb88cn,
0x17ace9f6367ac29273dbce8eccd375584c343adf14173d9b5a2573b5ff110577n,
0x2bbadb54fd142142e5d9da726c6effc16e6add297776036a245dd4998df2a72an,
0x60ac054a5db07d9c3b43e3baa677f8be1c659644c5bd9cea2202e4d5b258f4cn,
0x3f190b8ce44186a9a0be8c63cbd7f5a367cf64464b316b2a2770d117d11afea4n,
0x373a9dfa29c8a12b7aea71ef6ccfbf371e93df71aefbcfeb37513542d19dfd9bn,
0x13b37fdc3daa817b242c6975ee13c2a9b79595ddbc15bb52dad35f16aaed68fbn,
0x198c04b22df46de4f139c4a6c4aa889fe140e9deb97ec1e5d83e36ac7429d5d4n,
0x1eb02ce09ed3c42604fa93fb09fac1e5de0b66a5678722308044dec1ac6c90d2n,
0x3c671c8185114e52c21f7b779d05b6e76033737fd91cca5366554eb1c4910d0an,
0x17ae35d76c90b9906e2a8364786001e19ef5942f85db2eea7726c83257481154n,
0x27c26d5998de1ed7dcad2c1d9406af2d0afc389443f7706e67ad5dab07b98a25n,
0xfddd234b11d1b77ff3595b74c94a57a9b7ca4605c626a4e70aa1de721edbc2n,
0x39c41360d52142a4e304dcda3b1ab0d7eedce909e07462196c4f459c5edc9748n,
0x39e3eecf71a7ae2934f557cf2af1ee809754caf22858816b84eac74a646e8246n,
0x2fe1d605af674260ae9e13cf71ee8f6a3bebf4e3ca4ed0ba394c695e9d252cabn,
0xf10617eb0f69195822e0518ad06efc45d33b14a68f93a9149abb0f89eb19e43n,
0x3e50344adf9e70181e4f1df0b87dc829399c9ee2badb2e13c61728f79da7e697n,
0x3d9e5c3252cc09dc78ef80a16f38150c7944e8fb27f2f29cd5cd3ae48b2b19b9n,
0x289a1a58eb1dc10717fac769b508156d581d8b63aed8fe6902e08bcddf9e3395n,
0x1a6a14f5b7a8fa4ed50a60244fbba4bc5470e4cd4ca7a326d8ae8664bc19517en,
0x1cbe945e02625d9af40f5a2945a311fc95246ae07cce8c0777265fbc01facaden,
];
/**
* @noinline
* @const {!Array<bigint>}
*/
const rc1 = [
0x20f1731eef7b4190a40dacf31757cc39bd16733e18d5f624741757bfd7a51d5n,
0x3fb917be23bf82c2ba391b81704ee5a7aae2a9a7e8a75d4b5678f03b729c756fn,
0x31841af166bee119a8ebe61e079a2b962ce00c71e02694847a61118c8634e0dan,
0x425e6a47af44e68352c070ac03c82e97758630e9376e9207e85bcf2bc461920n,
0x2a5c181209489bf91a447f187729b2f144ceb9b825ef2f8ad979128f18ad105en,
0x11b371d0f4a9d4dc688ee6b43d5ed6258a137aa16ac4e190f4aea30516d13d5an,
0x1e3050261e80372fa5830b0a6f119cf3c4e4ddaa8f585310a0c488d850d653bfn,
0x38d6ecd101eb008bc3d94b9f840c68f5c911877303f084f0f72a04d51fae0eadn,
0x2542cd1460d869400226d2d6c126a4812404cc7e007a73859dddc6fc2e19c1e8n,
0x34b63eb174ec334dae32417f5cc272f2171665e32d323f6a58ba7690ac57cc28n,
0x3494b3eea9bd5533003b3e59a455f353b5ece83e79134033a22580a05685b5cn,
0x652648b3548800e4c4e9a5be98e2027130f83c2b57e3f1eea2ee0429453090n,
0x2434aedf500ce5314cce60f7d540710160341ed7fe8faab2fcd2deef68731829n,
0x9067a146776a12055d073e0328ae1d483a4c00d89cc10d80bdc2d6755f4d889n,
0x3db4ef72bd8bd58506ed2e6770520bfc133b53d095eaf820e4668528931de9ecn,
0x1b8309450bc4500389bfc6f736af1478d3a1eac53dce59473d7e682ed25758afn,
0x32aad1dc3e6fe3bcac504e2c1fd1b1d5d67ccc4453494595ab54eddc3675b968n,
0x2835d3ee4caa0b46514ec41c9f2196f5fdae2c68c47710a41f6efd68869c376bn,
0x20b78ceb6e0df0292c43cde8d53df0bc20c7c7fc6a66fdbd3f54d8dce2ba8396n,
0x2ded160893ae32d074fb0700ec1398918543bf95101c0144604cc4d4539f8b5cn,
0xa60ab41c11f95fa605f57c10f8d34b800b7d8159e5f7b00a3b2cb5f2091a846n,
0x28ef788c2018eae12c06b82f190cc97e580c3d3c563085068d0b62d67bc609afn,
0x10bff0fcc663269e3376f4005d194dfd0febc1b302e807ae7947653a910fb6edn,
0x1ede0f41c98e5a789c12e1849ea83292fa0e2ec9e3c60904d40ea129aa9bfc8dn,
0x32e1ed2dbf09026b619f089e041d0628354276387e530b05aeeb8652f0cb20c5n,
0x2611a94466f9ef6e985fa72c1d2d2fbf053cbeb6be85d1c64ef357c2d459db54n,
0x1660a3b2599d67d031089bf39dfb32d5f7c1f39cc762c14624d4113cb6e6fe9fn,
0x5172209042ea906e3ff5ea1e856c643cbf689e363bfcd74ec5a196360fa6d88n,
0x33ca75b3f0eee249ba79ab97f811adf195a71f59794633f5976ba10ebcceb3f9n,
0x28ee5dddc9ef49eca187049b82679c92a9be74e888b098c3f256cebf8eb6a467n,
0x2a779ccb539ab7a8516cad9b7b6bef5d835d73a49f9256f6bdd23430aa4b6176n,
0x82af6fd0d473630b2b8a2bc9c3c6c495b69affe456cf7cee11714c3c3c31d16n,
0x1d11a5a41cfdc731ecd7e52e3fc0ea81b2fe0bbb2801d148f75a05502903007an,
0xde133d07af9bdfdbb3ddfaab9107d2c9e03c630bf11a159216b2fa0fe0e667dn,
0x2f88df0574fd97b6d0bcebb78ecf6769bd59aeed451f7d730a8d5481db79d680n,
0x1ca5356d21e15245f06da068e58121e48e7a9ab2b6b562fec7b9569d870d1306n,
0x96d4deca9fd80930e56d62adf81e3fb15e9807041cbdbaba5033c878141211bn,
0x3eb77d9c0afbd28c29159cbdaacb193c1b54282c4c6ab45ff23cfa21a60a6b33n,
0x59830cd83d371e5b9e629fa432d3f2456002bbe460926dbec347a8cbfa3f623n,
0x1d419da8b49bd73f5f43a8edc44b16114ae57aa251bf34faf86b58c36df28ec8n,
0x285855ef5de9622818dbc87cccd092a98b4c7dab24a2c546b43ef85ee9c1d925n,
0x31057f191bda3f1eb5b6046f0bb930dfc97b8ca505eaa4daa1f747d6f21e1752n,
0x2efb03fdba217d2601c209f6d3aa19c25822c2c4668b27748a6a584b25e488b8n,
0x30159ecc49fe867eb8adc027605f0480c079aa5a6183056d6cdbe5db827c86b9n,
0x1e4ba404df70c4b25e94dc2f4506d1ce9aad21bfafd908b25dac884b545bd96dn,
0x2f27f767edf5209aaebd36d25477daca86e032bdd7e4c7bd2d054a00fb999fc7n,
0x2cf7fb4f8e34330256543c7be2b082e49c18591f6e1c3a5a6c523f2185d060a3n,
0x2b70dc6b83faaf01e662fe5f488e695fa9123bfbb82c00329b1e76c6b262a284n,
0x2e333c8d9b7786b891fcfe79ae56b4ea8bdab8e64f9bc5ce5bf32b48b20de75dn,
0x11c879e6cc2001607e1729b822dcfaa9a4c10a25d354fb0220f4ab5e9e3dec64n,
0x33c5d496652b2dbdfd3281239d59ff1c1563814791b2afc1805ef9dcf20b49dbn,
0x2111fb41b79e1ed7b52ab074344555c1339f6dead74c81d02f2fe37dad97bccbn,
0x26e82b78ed77fa2c7ab0d9d86fe9b2b313c29ec0a20d31d99e7ceb88b4a61a89n,
0x33f13cbaa0e9196a78dbd6c9d34827b74c749a37b337f5ffa2df7b8f0e3b6c21n,
0x2cb7647a82d0e70c9f9ef883157141fb657315bff86c274287181b816cbff535n,
0x3f92e6654a83ebe985ddbab5e9af40c00283536cd0ac92c96e0fec7c22a2d24fn,
0x145f74e0790888452e102444c8d28be2192d392c23c81a6935a6697b803d5f2dn,
0x2d6cf48b81919824fb6cbbd325b14db6f4d29eed69b3b49cdd45b753aa32cb3en,
0x16591f51a54464eeffe9c42af21e6c8cc2a42392121a1e6afdd438569e98d90fn,
0x39e7c187e0b64f15757e5ac90bf4729d6ad6628ea7b4a8644992e8640af67dn,
0x57bfbceaa7f9d5110feb295922ea73006a70b2553057ed6343724cac8bf4ea9n,
0x6ed5244e5e6e55c987fe995cf281e6d873e8750d50f2813f13d6609528f0889n,
0x10e279901e0b4a08f590e5a44b6667b3e608bc7d2411e9190c6538a916ea298n,
];
/**
* @noinline
* @const {!Array<bigint>}
*/
const rc2 = [
0x1e3339ede4ca0304d2fdadf84d097d0bdd370e0aeaa49d68db98fde08cdbdf52n,
0x33c766ac8e43ad4f0001fe8aa2165058d1015a3bed8b2cf657a0d21951ec6995n,
0x1ce218cbe1cd33d3bd3802dde999d1fb33b3806b1b222d1f488e655616f6d5afn,
0x38433342a831c71d9604a5f04595308a32f0ed60c76f3d8fb75fb677a32b6eb6n,
0x36e4781a629fcfe8489dbf28f6a7526a7fe5640fbec1b3cf5f155ae760f26f41n,
0x298d37b85dec2b7d548877975b2de198327e9734bdcdca9a1bd2657121fb8ebbn,
0x1f28f3d4242e8dfe21201b6f28daacb1d9159cbdbe2a26e618ca349999de7c5dn,
0x3b65f8d1d63bd4c211e9658aeb909873d074df4bf8bb8b11cdbcb92e172657cdn,
0x28c7560c1ec842179268bcf3813f4f4be05fa6e600bbfb6daed5b862358205edn,
0x35e0c2b608547ab67f05ecd61f1aeaeac0139fffe734fa073c33ea087d1e1fbbn,
0x293d819ac238e2333c064a816955cfcbf3d557a817785c513349eb03c721b76en,
0x12877b538224e235d91d77661f9e0c73d3d67367852769268b6e7933e7539118n,
0x1291b3e81b69a2d7eb1b566e4e22a28b2a8aae13dc9b6fd50c14ca47897a905fn,
0x3a40dc2198f80b690ff1679bb0538c75b3d718a0283920ce8d39f12d9cfa27abn,
0x2d1e1687b8b93e398a98051141607f1692c706d702670019ebdd2b72247ad9ban,
0x3beb7f00630155ff39e5314babba6ab06ffdaa786b7add69e9895791b9055bb7n,
0x7a380f595acad204ea45f406877315ed504c78044c18c0f867c0e50ca1721cdn,
0x14e2d97c0abb872d8efe475c9ccbdc09694767919087a59d46b5a226ca29b93an,
0x32e168964ba20a863fd84d46b44bc82ffc5174ead595f35253bc972b8cd0ee31n,
0x16577ae073be82232c35882854222749e9d8e0a8fbbf7081ee9c2b42a9f309e5n,
0x2914e18873f7378eb210b493ce3991ac9808a9e9a4d41e104cfc2bacab72b617n,
0x26d45b1aa0e972886118fa56b56e41df4d3acc761685f5b261ffd058201c6af6n,
0x2c58d0a4646e33ac9f633d2c88a7acdb7a192c23aa13f1133b178fadeff93bd9n,
0x37d6ddb158b07eee159e3f531df614299da753ea227e2ffbf270bc20b0513babn,
0x3db54eb1d8c5286111eb66c02c2aee886c891f2d66e635b985ee915a0eff5dd9n,
0x2454b42934012ff778e8e1e5c7c819fee2af51fadb592ea7d025c25ec92be980n,
0x530f1045ffb5c20a9f194c64d1bffba49dfb7544174935a437a32185ba5e9d2n,
0x3cd4ad01b5ceccb9cb65ac8ff460cc9a4a01c3dcdcdf95eb1366d31623d1c611n,
0x10e52756ef1e9062ab5ab4a3e7abe29f01ca703e109dc57666f4bdf1c401977an,
0x371a00f9d51e93a5a03d0b7f462b723cffd9bf007efd4b5726d13b8be1f48264n,
0x351ca417a677264f4df829ffa55bff4e3490dea36dc225b90f62a7fa9781637cn,
0x1461c7f090cbda8b253994a27c72a0b29928db3aefa4e4a48cb2025d611f8af8n,
0x21936b3709c9ddd228f6e0aaa224955afd9b411fd260f42ad988d2920d39261en,
0x35617094e3c1ecdb07317eadd26c63985d01bc36025637191c79dc65359ccbe1n,
0x25fe91a88205b5698bd33087cd536326fc4ac8ec977ec807edc91cb72fe48a9fn,
0x6af4c91a11c52a5f02f13d8fe5a54b47c1c2c18212b5dafbaae1c2bbdee1249n,
0x35367b942f71e94c6699742642a6c6a2c14ad81e10a8c8bda2e8f6f45f3a1630n,
0x3f7a9145cafc9f7e623f0e8ffad7eba26cede885c92b0f045c8f8d2350441652n,
0x1c7d70a41850b060aa600fb388961d6ec2914a44af5b27dcf0974e6620674486n,
0x2fcd8a73ef6217c754f8b6ec6cac929d22b6ce02ff0f4a7897a92612ab015105n,
0x2ef973b323eb9f2dacd5a60002149109669b88ff52e8714b69be770a8ddbaf90n,
0x25154f7ac76edfc82196797946e293e8c8a7fb88fa583f929aad0fe50ea897f3n,
0x1bd0b43cf6ac7b6cd535a6c94e329ce6bc1d58d6ec3fc980d4df42944c639d09n,
0x26e945e1ec402504a6ed02d41a30a4562c0c559743e089bbc72e8a29d2f9cfc8n,
0x3ee4d554f56f3712029c9936bf7adbe897334592046b6442eb236159efedf7c1n,
0x3e340445d8f274a2417ac07b2c83d6a4264e60af0e67193d47e043b0a82649c1n,
0x1187d223845b0f888a340dff2cc6f50bac15f7520f8b42b9aeddd3f9e45b697en,
0x205b55ea84e99f479a3a65ed581eeae8da778031843cc16070ffaf1638ddb55fn,
0xa47e570b4ea649089bba90bf61540edae5a8b037bf59110fbb5cb320d71595en,
0x4b806f5fc40f15e663eac16ba02923d97a2aca5f0efea8e8955a3ebc328cfa1n,
0x26f047d6b5d2b3e74ad01e1635877fec3d2415c273cf9e078f3a035260a761efn,
0x354608988a63494d3d2e11d12f40981cee7e2e5e438e80bb2e976628f98a53b3n,
0x3c9f896389f9168cd521e81f4c4c6e24dbfb316a685ef8a4a59e7810bc1af909n,
0x32060e681369e9d8ab9f49dc6978cd85292cf1c908b1bacdcd7585fa7f8363d1n,
0x10aad98fc92ae62c7211437240dad844416d858f2b6ff9f85b8d2a8372d1c9c4n,
0x1a4cef4f366fa80772b85b9484942bc3b579cd3a36a9ef25e7999b9a9d1f23c9n,
0x295d8c45443dbc0a49882de53c92a295b4f67cba2c49a945def3a9f71d53415dn,
0x2c691a5519e9c0c89d496d6b60229bc852644573b45f0fb08b9a3bb8dd01cc6fn,
0x1947350278ed8b4ac29c88486db3259d8c0a1e5e4b81ef93ca6c9cea8c8f107an,
0x328144c12fffacabff017f0726c86f42ecaad7435eff270f462743f0126efaben,
0x25188b12757e81d8e10352d5a6b540a61737b057aa34afb88c56e6a17f1021e4n,
0x3d405c061d987d6d24e705f8736185498f9454ee641ca25331735e3183b892b5n,
0x1ec2e81eba84f4527aaef43f2ea98d3edcf8f753c705a54b53841c264b1d8d5en,
];
export { P, poseidon };