@pyefi/sdk 0.1.1

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,3626 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+
21
+ // src/config.ts
22
+ var _config = null;
23
+ function configurePyeSDK(config) {
24
+ _config = config;
25
+ }
26
+ function getPyeConfig() {
27
+ if (!_config) {
28
+ throw new Error(
29
+ "PyeSDK not configured. Call configurePyeSDK() before using SDK functions."
30
+ );
31
+ }
32
+ return _config;
33
+ }
34
+
35
+ // src/constants/validators.ts
36
+ var validators = {
37
+ adrastea: {
38
+ name: "Adrastea",
39
+ symbol: "ADRASTE",
40
+ vote_account: "adraBKLNY3DL3pg6SJRDYiMA8BsznaWpUdE42X41gbP",
41
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/adrastea_psol.png",
42
+ is_allowed: false,
43
+ type: "validator",
44
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/adrastea_ysol.png"
45
+ },
46
+ alchemy: {
47
+ name: "Alchemy",
48
+ symbol: "ALCHEMY",
49
+ vote_account: "JEJzKYzyYJJjtn6Yb1P7r6YV75TdSNmmJT49sgDoHvmk",
50
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/alchemy_psol.png",
51
+ is_allowed: true,
52
+ type: "validator",
53
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/alchemy_ysol.png"
54
+ },
55
+ "all-nodes": {
56
+ name: "All Nodes",
57
+ symbol: "ALL",
58
+ vote_account: "6F5xdRXh2W3B2vhte12VG79JVUkUSLYrHydGX1SAadfZ",
59
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
60
+ is_allowed: false,
61
+ type: "validator",
62
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
63
+ },
64
+ "alpha-pro": {
65
+ name: "Alpha Pro",
66
+ symbol: "ALPHA",
67
+ vote_account: "7opSZGmevWhRDyLt5Wu38FZFjUyredGmMki4DNmxDnjd",
68
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/alpha_pro_psol.png",
69
+ is_allowed: false,
70
+ type: "validator",
71
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/aplha_pro_rsol.png"
72
+ },
73
+ anagram: {
74
+ name: "Anagram",
75
+ symbol: "ANA",
76
+ vote_account: "4AUED4uj6nSTuANzaAUnGBPJQRmhpDYDwoWJNkoUUBBW",
77
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/reordertheblocks.png",
78
+ is_allowed: false,
79
+ type: "validator",
80
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/reordertheblocks.png"
81
+ },
82
+ "anchorage-digital": {
83
+ name: "Anchorage Digital",
84
+ symbol: "ANCHOR",
85
+ vote_account: "ANCVpxEySGWWLqqkVKw2xWYDE9UP4fmZWMCBr5t96jch",
86
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/anchorage_digital_psol.png",
87
+ is_allowed: false,
88
+ type: "validator",
89
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/anchorage_digital_ysol.png"
90
+ },
91
+ anza: {
92
+ name: "Anza",
93
+ symbol: "ANZA",
94
+ vote_account: "anza1Vgz2kcN9Qo6ECvf43v8RxBzQ7UpvxFoxJtLmGz",
95
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/anza_psol.png",
96
+ is_allowed: false,
97
+ type: "validator",
98
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/anza_ysol.png"
99
+ },
100
+ astralane: {
101
+ name: "Astralane",
102
+ symbol: "ASTRA",
103
+ vote_account: "sShosKd6uA5c1ZpVMxdsE6do13TLRWSMYsXbSMmNC77",
104
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/astralane_psol.png",
105
+ is_allowed: false,
106
+ type: "validator",
107
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/astralane_ysol.png"
108
+ },
109
+ asymmetric: {
110
+ name: "Asymmetric",
111
+ symbol: "ASYM",
112
+ vote_account: "CertusDeBmqN8ZawdkxK5kFGMwBXdudvWHYwtNgNhvLu",
113
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/asymmetric_psol.png",
114
+ is_allowed: false,
115
+ type: "validator",
116
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/asymmetric_ysol.png"
117
+ },
118
+ binance: {
119
+ name: "Binance",
120
+ symbol: "BINANCE",
121
+ vote_account: "3N7s9zXMZ4QqvHQR15t5GNHyqc89KduzMP7423eWiD5g",
122
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
123
+ is_allowed: false,
124
+ type: "validator",
125
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
126
+ },
127
+ bitwise: {
128
+ name: "Bitwise",
129
+ symbol: "BITWISE",
130
+ vote_account: "8GbwASqdpw4dVcwbWUxbHXMrjyQx2aKkoBR5H1GJF8iD",
131
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/bitwise_psol.png",
132
+ is_allowed: false,
133
+ type: "validator",
134
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/bitwise_ysol.png"
135
+ },
136
+ "block-logic": {
137
+ name: "Block Logic",
138
+ symbol: "BLOCK",
139
+ vote_account: "9GJmEHGom9eWo4np4L5vC6b6ri1Df2xN8KFoWixvD1Bs",
140
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
141
+ is_allowed: false,
142
+ type: "validator",
143
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
144
+ },
145
+ blockdaemon: {
146
+ name: "Blockdaemon",
147
+ symbol: "DAEMON",
148
+ vote_account: "FQwewNXahV7MiZcLpY6p1xhUs2acVGQ3U5Xxc7FzV571",
149
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/blockdaemon_psol.png",
150
+ is_allowed: false,
151
+ type: "validator",
152
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/blockdaemon_rsol.png"
153
+ },
154
+ blockport: {
155
+ name: "Blockport",
156
+ symbol: "BLOCKP",
157
+ vote_account: "FnAPJkzf19s87sm24Qhv6bHZMZvZ43gjNUBRgjwXpD4v",
158
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
159
+ is_allowed: false,
160
+ type: "validator",
161
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
162
+ },
163
+ blocksize: {
164
+ name: "Blocksize",
165
+ symbol: "BLKSIZE",
166
+ vote_account: "HMk1qny4fvMnajErxjXG5kT89JKV4cx1PKa9zhQBF9ib",
167
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/blocksize_psol.png",
168
+ is_allowed: false,
169
+ type: "validator",
170
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/blocksize_ysol.png"
171
+ },
172
+ bloxroute: {
173
+ name: "BloxRoute",
174
+ symbol: "BLOX",
175
+ vote_account: "bXr9MyoUAaGusQZ4gaUPmSZByHAV7RRGr1FhCW5tFh8",
176
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/bloxroute_psol.png",
177
+ is_allowed: false,
178
+ type: "validator",
179
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/bloxroute_ysol.png"
180
+ },
181
+ blueshift: {
182
+ name: "Blueshift",
183
+ symbol: "BLUE",
184
+ vote_account: "shft7Fry1js37Hm9wq4dfwcZSp2DyKszeWMvEpjYCQ1",
185
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/blueshift_psol.png",
186
+ is_allowed: false,
187
+ type: "validator",
188
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/blueshift_ysol.png"
189
+ },
190
+ bonk: {
191
+ name: "Bonk",
192
+ symbol: "BONK",
193
+ vote_account: "BoNKvwirX136zCjcnayEM4W82vn13RKkjm1Sy3UPBdim",
194
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
195
+ is_allowed: false,
196
+ type: "validator",
197
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
198
+ },
199
+ bybit: {
200
+ name: "Bybit",
201
+ symbol: "BYBIT",
202
+ vote_account: "8hPk5CbKDoM7dN9LssTdVkFhDykeq7A8CZurA5AQSFJH",
203
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/bybit_psol.png",
204
+ is_allowed: false,
205
+ type: "validator",
206
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_rsol.png"
207
+ },
208
+ chainflow: {
209
+ name: "Chainflow",
210
+ symbol: "FLOW",
211
+ vote_account: "CAf8jfgqhia5VNrEF4A7Y9VLD3numMq9DVSceq7cPhNY",
212
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
213
+ is_allowed: false,
214
+ type: "validator",
215
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
216
+ },
217
+ "chorus-one": {
218
+ name: "Chorus One",
219
+ symbol: "CHORUS",
220
+ vote_account: "Chorus6Kis8tFHA7AowrPMcRJk3LbApHTYpgSNXzY5KE",
221
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/chorus_one_psol.png",
222
+ is_allowed: true,
223
+ type: "validator",
224
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/chorus_one_ysol.png"
225
+ },
226
+ coinbase: {
227
+ name: "Coinbase",
228
+ symbol: "BASE",
229
+ vote_account: "beefKGBWeSpHzYBHZXwp5So7wdQGX6mu4ZHCsH3uTar",
230
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
231
+ is_allowed: false,
232
+ type: "validator",
233
+ rt_sol: "strhttps://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
234
+ },
235
+ "coyote-staking": {
236
+ name: "Coyote Staking",
237
+ symbol: "COYOTE",
238
+ vote_account: "DHoZJqvvMGvAXw85Lmsob7YwQzFVisYg8HY4rt5BAj6M",
239
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/coyote_staking_psol.png",
240
+ is_allowed: false,
241
+ type: "validator",
242
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/coyote_staking_ysol.png"
243
+ },
244
+ dawnlabs: {
245
+ name: "DawnLabs",
246
+ symbol: "DAWN",
247
+ vote_account: "8zuMRTXThoPTTPLLvaiKiJshLLCqGMt9BdRjjCL19xBc",
248
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
249
+ is_allowed: false,
250
+ type: "validator",
251
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
252
+ },
253
+ decentra: {
254
+ name: "Decentra",
255
+ symbol: "DECNTRA",
256
+ vote_account: "dcntrKBwh8j5yL62Eg96Z5QjJWv3UXxMu4rqL82w6Cb",
257
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/decentra_psol.png",
258
+ is_allowed: false,
259
+ type: "validator",
260
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/decentra_ysol.png"
261
+ },
262
+ "defi-dev-corp": {
263
+ name: "DeFi Dev Corp",
264
+ symbol: "DEFI",
265
+ vote_account: "2iWXwF2Q5W6o7yntV2mkbxncB4rYHnX61y3NU8a8EFMJ",
266
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
267
+ is_allowed: false,
268
+ type: "validator",
269
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
270
+ },
271
+ drift: {
272
+ name: "Drift",
273
+ symbol: "DRIFT",
274
+ vote_account: "DriFTm3wM9ugxhCA1K3wVQMSdC4Dv4LNmyZMmZiuHRpp",
275
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/drift_psol.png",
276
+ is_allowed: false,
277
+ type: "validator",
278
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/drift_ysol.png"
279
+ },
280
+ dsrv: {
281
+ name: "DSRV",
282
+ symbol: "DSRV",
283
+ vote_account: "2mxWiqtwdpE8zgkWxwFaJLn127dbuuHY4D32d8A6UnPL",
284
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/dsrv_psol.png",
285
+ is_allowed: false,
286
+ type: "validator",
287
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/dsrv_ysol.png"
288
+ },
289
+ edgevana: {
290
+ name: "Edgevana",
291
+ symbol: "EDGE",
292
+ vote_account: "EdGevanAjM8a6Gg9KxBVrmVdZAUGAZ9xaVd7t9R4H2x",
293
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/edgevana_psol.png",
294
+ is_allowed: false,
295
+ type: "validator",
296
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/edgevana_ysol.png"
297
+ },
298
+ "emory-blockchain": {
299
+ name: "Emory Blockchain",
300
+ symbol: "EMORY",
301
+ vote_account: "ySxF6XaSFSwU46iJbgyh2rAW5jagLbYULPtWvZCshrk",
302
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/emory_blockchain_psol.png",
303
+ is_allowed: false,
304
+ type: "validator",
305
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/emory_blockchain_ysol.png"
306
+ },
307
+ everstake: {
308
+ name: "Everstake",
309
+ symbol: "EVER",
310
+ vote_account: "9QU2QSxhb24FUX3Tu2FpczXjpK3VYrvRudywSZaM29mF",
311
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/everstake_psol.png",
312
+ is_allowed: false,
313
+ type: "validator",
314
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/everstake_ysol.png"
315
+ },
316
+ "exo-tech": {
317
+ name: "Exo Tech",
318
+ symbol: "EXO",
319
+ vote_account: "6q1VNp8Vy2Go12vb8CwbjUqqj2SXr2JYftJRWs71sW23",
320
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/exo_psol.png",
321
+ is_allowed: true,
322
+ type: "validator",
323
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/exo_ysol.png"
324
+ },
325
+ facilities: {
326
+ name: "Facilities",
327
+ symbol: "FACIL",
328
+ vote_account: "DumiCKHVqoCQKD8roLApzR5Fit8qGV5fVQsJV9sTZk4a",
329
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
330
+ is_allowed: false,
331
+ type: "validator",
332
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png"
333
+ },
334
+ falconx: {
335
+ name: "FalconX",
336
+ symbol: "FALCON",
337
+ vote_account: "AX6v1G9GH7FNcoX6ogNyoD2fZiLaNps7heL9RrGUYGC8",
338
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/falconx_psol.png",
339
+ is_allowed: false,
340
+ type: "validator",
341
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/falconx_rsol.png"
342
+ },
343
+ fd1: {
344
+ name: "FD1",
345
+ symbol: "FD1",
346
+ vote_account: "fdvtuDvWJZ89Z7TmeLjCwxgoLcmoEWNxruV48DvJtfm",
347
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/fd1_psol.png",
348
+ is_allowed: false,
349
+ type: "validator",
350
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/fd1_ysol.png"
351
+ },
352
+ figment: {
353
+ name: "Figment",
354
+ symbol: "FIGMENT",
355
+ vote_account: "CcaHc2L43ZWjwCHART3oZoJvHLAe9hzT2DJNUpBzoTN1",
356
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/figment_psol.png",
357
+ is_allowed: true,
358
+ type: "validator",
359
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/figment_ysol.png"
360
+ },
361
+ "forward-industries": {
362
+ name: "Forward Industries",
363
+ symbol: "FORWARD",
364
+ vote_account: "3JD3jMmnR6g88qff2WZ3cMHJRjJMUk9yVZtmYTYeFrXf",
365
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/forward_industries_psol.png",
366
+ is_allowed: false,
367
+ type: "validator",
368
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/forward_industries_rsol.png"
369
+ },
370
+ galaxy: {
371
+ name: "Galaxy",
372
+ symbol: "GALAXY",
373
+ vote_account: "CvSb7wdQAFpHuSpTYTJnX5SYH4hCfQ9VuGnqrKaKwycB",
374
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/galaxy_psol.png",
375
+ is_allowed: true,
376
+ type: "validator",
377
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/galaxy_ysol.png"
378
+ },
379
+ "gate-omega": {
380
+ name: "Gate Omega",
381
+ symbol: "OMEGA",
382
+ vote_account: "9Gko8QZBbV5SrEvHKtQHcMrGGSfgFP3KJUozEGifu25x",
383
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/gate_omega_psol.png",
384
+ is_allowed: false,
385
+ type: "validator",
386
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/gate_omega_ysol.png"
387
+ },
388
+ gemini: {
389
+ name: "Gemini",
390
+ symbol: "GEMINI",
391
+ vote_account: "GEM1N1pCDGKiTa547eckcwuHWYMsUQeXgnXHfEZLDvpB",
392
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/gemini_psol.png",
393
+ is_allowed: false,
394
+ type: "validator",
395
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/gemini_ysol.png"
396
+ },
397
+ genco: {
398
+ name: "Genco",
399
+ symbol: "GENCO",
400
+ vote_account: "6yShbTX3KRMJLANDfo8Xo4aHYCjepjUbna9Y64mdQB1a",
401
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
402
+ is_allowed: false,
403
+ type: "validator",
404
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
405
+ },
406
+ "global-stake": {
407
+ name: "Global Stake",
408
+ symbol: "GLOBAL",
409
+ vote_account: "FdGcvmbpebUwYA3vSywnagsaC3Tq3pAVmcR6VoxVcdV9",
410
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/global_stake_psol.png",
411
+ is_allowed: false,
412
+ type: "validator",
413
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/global_stake_ysol.png"
414
+ },
415
+ "greed-academy": {
416
+ name: "Greed Academy",
417
+ symbol: "GREED",
418
+ vote_account: "GREEDkpTvpKzcGvBu9qd36yk6BfjTWPShB67gLWuixMv",
419
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/greed_academy_psol.png",
420
+ is_allowed: false,
421
+ type: "validator",
422
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/greed_academy_ysol.png"
423
+ },
424
+ gripto: {
425
+ name: "Gripto",
426
+ symbol: "GRIPTO",
427
+ vote_account: "mnvkHm47ZmRKoSWuQZAfXLRiDPiKCq8PWkMWrp1Wwqe",
428
+ pt_sol: "strhttps://assets.pye.fi/ysol_psol_logos/sol_psol.png",
429
+ is_allowed: false,
430
+ type: "validator",
431
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
432
+ },
433
+ guardian: {
434
+ name: "Guardian",
435
+ symbol: "GUARD",
436
+ vote_account: "gVot34jauJpexBL2YUSPBKsmZ4V2ffmDcRk4yfSEnx8",
437
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
438
+ is_allowed: false,
439
+ type: "validator",
440
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
441
+ },
442
+ "h2o-nodes": {
443
+ name: "H2O Nodes",
444
+ symbol: "H2O",
445
+ vote_account: "FCvNkHa4U3yh7AXWGGL2jWLWiSRouR8EtzY5WVTHKTHa",
446
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/drift_psol.png",
447
+ is_allowed: false,
448
+ type: "validator",
449
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/drift_ysol.png"
450
+ },
451
+ "hashkey-cloud": {
452
+ name: "Hashkey Cloud",
453
+ symbol: "HASHKEY",
454
+ vote_account: "Cat8oWQiFfrR3c7BcceTYcpnYCzSWfCPjMXT7mfHXvEP",
455
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/hashkey_cloud_psol.png",
456
+ is_allowed: false,
457
+ type: "validator",
458
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/hashkey_cloud_ysol.png"
459
+ },
460
+ haus: {
461
+ name: "Haus",
462
+ symbol: "HAUS",
463
+ vote_account: "HxRrsnbc6K8CdEo3LCTrSUkFaDDxv9BdJsTDzBKnUVWH",
464
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/haus_psol.png",
465
+ is_allowed: false,
466
+ type: "validator",
467
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/haus_rsol.png"
468
+ },
469
+ helius: {
470
+ name: "Helius",
471
+ symbol: "HELIUS",
472
+ vote_account: "he1iusunGwqrNtafDtLdhsUQDFvo13z9sUa36PauBtk",
473
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/helius_psol.png",
474
+ is_allowed: true,
475
+ type: "validator",
476
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/helius_ysol.png"
477
+ },
478
+ "hello-moon": {
479
+ name: "Hello Moon",
480
+ symbol: "HMOON",
481
+ vote_account: "HMV14UAuULSwqmZhsKHzaVkYAd94iWpEeURgbUegfQLc",
482
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/hello_moon_psol.png",
483
+ is_allowed: false,
484
+ type: "validator",
485
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/hello_moon_ysol.png"
486
+ },
487
+ "hinode-tech": {
488
+ name: "Hinode Tech",
489
+ symbol: "HINODE",
490
+ vote_account: "5DutFKQ8qPmbjFEmp31QH9JDYJXvwh9pma8ap5Phxk6H",
491
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/hinode_technologies_psol.png",
492
+ is_allowed: false,
493
+ type: "validator",
494
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/hinode_technologies_ysol.png"
495
+ },
496
+ hubra: {
497
+ name: "Hubra",
498
+ symbol: "HUBRA",
499
+ vote_account: "7K8DVxtNJGnMtUY1CQJT5jcs8sFGSZTDiG7kowvFpECh",
500
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
501
+ is_allowed: false,
502
+ type: "validator",
503
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
504
+ },
505
+ hylo: {
506
+ name: "Hylo",
507
+ symbol: "HYLO",
508
+ vote_account: "hy1oJTV2kX9acsqpwk7hbteqXFw9VDbWvbxoamFEufW",
509
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/hylo_psol.png",
510
+ is_allowed: true,
511
+ type: "validator",
512
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/hylo_ysol.png"
513
+ },
514
+ "ice-staking": {
515
+ name: "Ice Staking",
516
+ symbol: "ICE",
517
+ vote_account: "votem3UdGx5xWFbY9EFbyZ1X2pBuswfR5yd2oB3JAaj",
518
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/ice_staking_psol.png",
519
+ is_allowed: false,
520
+ type: "validator",
521
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/ice_staking_ysol.png"
522
+ },
523
+ "ily-validator": {
524
+ name: "ILY Validator",
525
+ symbol: "ILY",
526
+ vote_account: "DG6fVEB2Qy1jntvHVPui3R12CMqcwNNnjYPYdsbQ9ACP",
527
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/ily_validator_psol.png",
528
+ is_allowed: false,
529
+ type: "validator",
530
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/ily_validator_ysol.png"
531
+ },
532
+ "infinite-sol": {
533
+ name: "Infinite SOL",
534
+ symbol: "INFSOL",
535
+ vote_account: "26RGqX3mezgYDxJnGh94gnMM4L2k9grH1eWcTSCHnaxR",
536
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/infinite_sol_psol.png",
537
+ is_allowed: false,
538
+ type: "validator",
539
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/infinite_sol_ysol.png"
540
+ },
541
+ jupiter: {
542
+ name: "Jupiter",
543
+ symbol: "JUPITER",
544
+ vote_account: "CatzoSMUkTRidT5DwBxAC2pEtnwMBTpkCepHkFgZDiqb",
545
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
546
+ is_allowed: false,
547
+ type: "validator",
548
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
549
+ },
550
+ "kairos-research": {
551
+ name: "Kairos Research",
552
+ symbol: "KAIROS",
553
+ vote_account: "Hx4UJCvf8amGeuW9fPFfTckRoznDHxPSYiU9HuUSZKLT",
554
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/kairos_psol.png",
555
+ is_allowed: false,
556
+ type: "validator",
557
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/kairos_pysol.png"
558
+ },
559
+ kiln: {
560
+ name: "Kiln",
561
+ symbol: "Kiln",
562
+ vote_account: "DdCNGDpP7qMgoAy6paFzhhak2EeyCZcgjH7ak5u5v28m",
563
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/kiln_psol.png",
564
+ is_allowed: true,
565
+ type: "validator",
566
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/kiln_ysol.png"
567
+ },
568
+ kraken: {
569
+ name: "Kraken",
570
+ symbol: "KRAKEN",
571
+ vote_account: "KRAKEnMdmT4EfM8ykTFH6yLoCd5vNLcQvJwF66Y2dag",
572
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/kraken_psol.png",
573
+ is_allowed: false,
574
+ type: "validator",
575
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/kraken_rsol.png"
576
+ },
577
+ kumavalidator: {
578
+ name: "kumavalidator",
579
+ symbol: "KUMA",
580
+ vote_account: "4m1PbxzwLdUnEwog3T9UKxgjktgriHgE1CfAhMqDw7Xx",
581
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/kumavalidator_psol.png",
582
+ is_allowed: false,
583
+ type: "validator",
584
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/kumavalidator_ysol.png"
585
+ },
586
+ laine: {
587
+ name: "Laine",
588
+ symbol: "LAINE",
589
+ vote_account: "GE6atKoWiQ2pt3zL7N13pjNHjdLVys8LinG8qeJLcAiL",
590
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
591
+ is_allowed: false,
592
+ type: "validator",
593
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
594
+ },
595
+ lakestake: {
596
+ name: "Lakestake.io",
597
+ symbol: "LAKE",
598
+ vote_account: "LAKEuKJQYVFpf4vyjX7iuf9ajHo3k9FiyewYKf6VxPV",
599
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/lakestake_io_psol.png",
600
+ is_allowed: false,
601
+ type: "validator",
602
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/lakestake_io_ysol.png"
603
+ },
604
+ lantern: {
605
+ name: "LANTERN",
606
+ symbol: "LANTERN",
607
+ vote_account: "FACqsS19VScz8oo2YhdMg35EsAy6xsCZ9Y58eJXGv8QJ",
608
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/lantern_psol.png",
609
+ is_allowed: false,
610
+ type: "validator",
611
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/lantern_ysol.png"
612
+ },
613
+ ledger: {
614
+ name: "Ledger",
615
+ symbol: "LEDGER",
616
+ vote_account: "CpfvLiiPALdzZTP3fUrALg2TXwEDSAknRh1sn5JCt9Sr",
617
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/ledger_psol.png",
618
+ is_allowed: false,
619
+ type: "validator",
620
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/ledger_ysol.png"
621
+ },
622
+ luganodes: {
623
+ name: "Luganodes",
624
+ symbol: "LUGA",
625
+ vote_account: "6aow5rTURdbhbeMDrFrbP2GR5vZjMEhktEy87iH1VGPs",
626
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/luganodes_psol.png",
627
+ is_allowed: false,
628
+ type: "validator",
629
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/lugandoes_ysol.png"
630
+ },
631
+ luminal: {
632
+ name: "Luminal",
633
+ symbol: "LUMINAL",
634
+ vote_account: "LunarE7WQyxpPwKo2hkEZZquu6UDWMNjvf3JyzGmdfp",
635
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/luminal_psol.png",
636
+ is_allowed: false,
637
+ type: "validator",
638
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/luminal_ysol.png"
639
+ },
640
+ "lumos-maxima": {
641
+ name: "Lumos Maxima",
642
+ symbol: "LUMOS",
643
+ vote_account: "5daP6pZoPSak6UEKuRg2HHjvTPpqqwB113oNamGNKuuZ",
644
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/lumos_maxima_psol.png",
645
+ is_allowed: false,
646
+ type: "validator",
647
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/lumos_maxima_ysol.png"
648
+ },
649
+ madlads: {
650
+ name: "Madlads",
651
+ symbol: "MADLADS",
652
+ vote_account: "B6nDYYLc2iwYqY3zdmavMmU9GjUL2hf79MkufviM2bXv",
653
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/madlads_psol.png",
654
+ is_allowed: false,
655
+ type: "validator",
656
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/madlads_ysol.png"
657
+ },
658
+ "magic-eden": {
659
+ name: "Magic Eden",
660
+ symbol: "MAGIC",
661
+ vote_account: "magiCChVWbehZ1e3XqQfLh164yUfQ8LnRWgSP9i4oFp",
662
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/magic_eden_psol.png",
663
+ is_allowed: false,
664
+ type: "validator",
665
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/magic_eden_ysol.png"
666
+ },
667
+ marginfi: {
668
+ name: "Marginfi",
669
+ symbol: "MRGN",
670
+ vote_account: "mrgn4t2JabSgvGnrCaHXMvz8ocr4F52scsxJnkQMQsQ",
671
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/marginfi_psol.png",
672
+ is_allowed: false,
673
+ type: "validator",
674
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/marginfi_ysol.png"
675
+ },
676
+ meria: {
677
+ name: "Meria",
678
+ symbol: "MERIA",
679
+ vote_account: "H2tJNyMHnRF6ahCQLQ1sSycM4FGchymuzyYzUqKEuydk",
680
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/meria_psol.png",
681
+ is_allowed: false,
682
+ type: "validator",
683
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/meria_ysol.png"
684
+ },
685
+ "mesh-validator": {
686
+ name: "Mesh Validator",
687
+ symbol: "MESH",
688
+ vote_account: "mesh3Px7WMi7Dkxke4ZZBULoKHM6sp37wKtg4DwPqPY",
689
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/mesh_validator_psol.png",
690
+ is_allowed: false,
691
+ type: "validator",
692
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/mesh_validator_ysol.png"
693
+ },
694
+ monkedao: {
695
+ name: "MonkeDAO",
696
+ symbol: "MONKE",
697
+ vote_account: "DfpdmTsSCBPxCDwZwgBMfjjV8mF8xHkGRcXP8dJBVmrq",
698
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
699
+ is_allowed: false,
700
+ type: "validator",
701
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
702
+ },
703
+ nansen: {
704
+ name: "Nansen",
705
+ symbol: "NANSEN",
706
+ vote_account: "2NxEEbhqqj1Qptq5LXLbDTP5tLa9f7PqkU8zNgxbGU9P",
707
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/nansen_rsol.png",
708
+ is_allowed: false,
709
+ type: "validator",
710
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/nansen_ysol.png"
711
+ },
712
+ neodyme: {
713
+ name: "Neodyme",
714
+ symbol: "NEODYME",
715
+ vote_account: "NeodymeDFipD7eA1ShrLJAZTBdHWcFsDB9YkoHshZNk",
716
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/neodyme_psol.png",
717
+ is_allowed: false,
718
+ type: "validator",
719
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/neodyme_ysol.png"
720
+ },
721
+ "nordic-staking": {
722
+ name: "Nordic Staking",
723
+ symbol: "NORDIC",
724
+ vote_account: "B1w6SZcyvjyp6zEyStcc8u9AxXAh2AbYvNzMmP9rRKE9",
725
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/nordic_staking_psol.png",
726
+ is_allowed: false,
727
+ type: "validator",
728
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/nordic_staking_ysol.png"
729
+ },
730
+ "nova-consortium": {
731
+ name: "Nova Consortium",
732
+ symbol: "NOVA",
733
+ vote_account: "novaoLcuVHSudkW3Cphuhiv82vspN5qzinGCtEbwQxz",
734
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/nova_consortium_psol.png",
735
+ is_allowed: false,
736
+ type: "validator",
737
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/nova_consortium_ysol.png"
738
+ },
739
+ "okx-earn": {
740
+ name: "OKX earn",
741
+ symbol: "OKX",
742
+ vote_account: "2tucttroqFNXsrYeMBQ8LfzKNfgwT2rHBzAF6RzbbHEp",
743
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/okx_psol.png",
744
+ is_allowed: false,
745
+ type: "validator",
746
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/okx_ysol.png"
747
+ },
748
+ omakase: {
749
+ name: "Omakase",
750
+ symbol: "OMAKASE",
751
+ vote_account: "GzjMbJQDVuBLFY69QwhhjDGDy2o5Q6nswXMuVTCWEFnp",
752
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/omakase_psol.png",
753
+ is_allowed: false,
754
+ type: "validator",
755
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/omakase_ysol.png"
756
+ },
757
+ orang3club: {
758
+ name: "OranG3Club",
759
+ symbol: "ORANG3",
760
+ vote_account: "AY271jdvcyo5VzBiWsMGLEjpZFFrarq8FDydJHPmYgCG",
761
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/orang3club_psol.png",
762
+ is_allowed: false,
763
+ type: "validator",
764
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/orang3club_ysol.png"
765
+ },
766
+ orangefin: {
767
+ name: "OrangeFin",
768
+ symbol: "ORANGE",
769
+ vote_account: "oRAnGeU5h8h2UkvbfnE5cjXnnAa4rBoaxmS4kbFymSe",
770
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/orangefin_by_sol_strategues_psol.png",
771
+ is_allowed: false,
772
+ type: "validator",
773
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/orangefin_by_sol_strategues_rsol.png"
774
+ },
775
+ ottersec: {
776
+ name: "OtterSec",
777
+ symbol: "OTTER",
778
+ vote_account: "23XqhxnRHt5gQWHowvyRHDX4Ky6BZyFdYxjTzxx2QEFr",
779
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/ottersec_psol.png",
780
+ is_allowed: false,
781
+ type: "validator",
782
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/ottersec_ysol.png"
783
+ },
784
+ overclock: {
785
+ name: "Overclock",
786
+ symbol: "OVER",
787
+ vote_account: "AS3nKBQfKs8fJ8ncyHrdvo4FDT6S8HMRhD75JjCcyr1t",
788
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/overclock_psol.png",
789
+ is_allowed: false,
790
+ type: "validator",
791
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/overclock_rsol.png"
792
+ },
793
+ "p-ops": {
794
+ name: "P-Ops",
795
+ symbol: "POPS",
796
+ vote_account: "HLM6hyDWrEca9QMS92nDBa2AreU1qDkppttPVuJ7E2CU",
797
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/p_ops_psol.png",
798
+ is_allowed: false,
799
+ type: "validator",
800
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/p_ops_ysol.png"
801
+ },
802
+ p2p: {
803
+ name: "P2P.org",
804
+ symbol: "P2P",
805
+ vote_account: "FKsC411dik9ktS6xPADxs4Fk2SCENvAiuccQHLAPndvk",
806
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/p2p_psol.png",
807
+ is_allowed: false,
808
+ type: "validator",
809
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/p2p_ysol.png"
810
+ },
811
+ parafi: {
812
+ name: "Parafi.Tech",
813
+ symbol: "PARAFI",
814
+ vote_account: "pt1LsjkNwqCKdYYfc35ToDkqtEG9pswLTJNaMo8inft",
815
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/parafi_tech_psol.png",
816
+ is_allowed: false,
817
+ type: "validator",
818
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/parafi_tech_ysol.png"
819
+ },
820
+ phantom: {
821
+ name: "Phantom",
822
+ symbol: "PHANTOM",
823
+ vote_account: "J2nUHEAgZFRyuJbFjdqPrAa9gyWDuc7hErtDQHPhsYRp",
824
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/phantom_psol.png",
825
+ // @dev: disable phantom for now (no lockups found)
826
+ is_allowed: false,
827
+ type: "validator",
828
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/phantom_ysol.png"
829
+ },
830
+ "phase-labs": {
831
+ name: "Phase Labs",
832
+ symbol: "PHASE",
833
+ vote_account: "phz34EcgWRCT9otPzRS2JtSzVHxQJk4SovqJvV1TQk8",
834
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/phase_labs_psol.png",
835
+ is_allowed: false,
836
+ type: "validator",
837
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/phase_labs_ysol.png"
838
+ },
839
+ "pier-two": {
840
+ name: "PIER TWO",
841
+ symbol: "PIERTWO",
842
+ vote_account: "DierScgiTrz5AM7mddeJLHYNvafym3XhjjdM51AnKevU",
843
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
844
+ is_allowed: false,
845
+ type: "validator",
846
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
847
+ },
848
+ portals: {
849
+ name: "Portals",
850
+ symbol: "PORTALS",
851
+ vote_account: "prt1s9dMM15LdsUX9HugajzqPB5WVN8a2mw3frAiCfj",
852
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/portals_psol.png",
853
+ is_allowed: false,
854
+ type: "validator",
855
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/portals_ysol.png"
856
+ },
857
+ "project-catalyst": {
858
+ name: "Project Catalyst",
859
+ symbol: "CATALYS",
860
+ vote_account: "ErvMUdtMC7AX55zKdYSyy4DnWNCrTsWn5GwprSG7ocnx",
861
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/project_catalyst_psol.png",
862
+ is_allowed: false,
863
+ type: "validator",
864
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/project_catalyst_ysol.png"
865
+ },
866
+ "project-super": {
867
+ name: "Project Super",
868
+ symbol: "PSUPER",
869
+ vote_account: "EfnywDKqArxK6N6FS9ctsuzNdxfx3pzfXEQE5EevQ1SV",
870
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/project_super_psol.png",
871
+ is_allowed: false,
872
+ type: "validator",
873
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/project_super_ysol.png"
874
+ },
875
+ prostaking: {
876
+ name: "ProStaking",
877
+ symbol: "PRO",
878
+ vote_account: "juicQdAnksqZ5Yb8NQwCLjLWhykvXGktxnQCDvMe6Nx",
879
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/prostaking_psol.png",
880
+ is_allowed: false,
881
+ type: "validator",
882
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/prostaking_ysol.png"
883
+ },
884
+ "pumpkins-pool": {
885
+ name: "Pumpkins Pool",
886
+ symbol: "PUMPKIN",
887
+ vote_account: "DsiG71AvUHUEo9rMMHqM9NAWQ6ptguRAHyot6wGzLJjx",
888
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/pumpkins_pool_psol.png",
889
+ is_allowed: false,
890
+ type: "validator",
891
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/pumpkins_pool_ysol.png"
892
+ },
893
+ quicknode: {
894
+ name: "QuickNode",
895
+ symbol: "QUICK",
896
+ vote_account: "5s3vajJvaAbabQvxFdiMfg14y23b2jvK6K2Mw4PYcYK",
897
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
898
+ is_allowed: false,
899
+ type: "validator",
900
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
901
+ },
902
+ radiants: {
903
+ name: "Radiants",
904
+ symbol: "RADIANT",
905
+ vote_account: "radYEig9KGrMTMWbWRFV7LStotQbnLgPaEFHVDsudQz",
906
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/radiants_psol.png",
907
+ is_allowed: false,
908
+ type: "validator",
909
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/radiants_ysol.png"
910
+ },
911
+ rakurai: {
912
+ name: "Rakurai",
913
+ symbol: "RAKURAI",
914
+ vote_account: "4YykTGwg94GgHZEPSsQfbaMaEE9HHAHqSuXT65L6C6wf",
915
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/rakurai_psol.png",
916
+ is_allowed: false,
917
+ type: "validator",
918
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/rakurai_ysol.png"
919
+ },
920
+ range: {
921
+ name: "Range",
922
+ symbol: "RANGE",
923
+ vote_account: "21oUQzzytWh6y3G3SQ7ehktMh1RrbsJNA4R5pAMNyyrG",
924
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/range_psol.png",
925
+ is_allowed: false,
926
+ type: "validator",
927
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/range_ysol.png"
928
+ },
929
+ raposa: {
930
+ name: "Raposa",
931
+ symbol: "RAPOSA",
932
+ vote_account: "rapxbkwBSSvtqRFrsY83f51oUuZNuVXci74MuzYhiCy",
933
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/raposa_psol.png",
934
+ is_allowed: false,
935
+ type: "validator",
936
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/raposa_ysol.png"
937
+ },
938
+ raydium: {
939
+ name: "Raydium",
940
+ symbol: "RAYDIUM",
941
+ vote_account: "RaydiumJDX8X6om6Fg44xyqz5eukZ9KC3LX61SttLbH",
942
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/raydium_psol.png",
943
+ is_allowed: false,
944
+ type: "validator",
945
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/raydium_ysol.png"
946
+ },
947
+ restake: {
948
+ name: "Restake",
949
+ symbol: "RESTAKE",
950
+ vote_account: "CqSMzh8DWZeqYVa5M1V1rHU825T19NCjYipM3pkdHncm",
951
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/restake_psol.png",
952
+ is_allowed: false,
953
+ type: "validator",
954
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/restake_ysol.png"
955
+ },
956
+ "rockaway-x": {
957
+ name: "Rockaway X",
958
+ symbol: "ROCKWAY",
959
+ vote_account: "6XiVWAyRpG7wGUQPVRd2XrYdgQVQyoQamd2J8XAmate",
960
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/rockaway_x_psol.png",
961
+ is_allowed: false,
962
+ type: "validator",
963
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/rockaway_x_ysol.png"
964
+ },
965
+ "saga-dao": {
966
+ name: "Saga DAO",
967
+ symbol: "SAGADAO",
968
+ vote_account: "sagasJDjjAHND4hien3bbo5xXkzCT5Ss6nKjyUJ45aw",
969
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
970
+ is_allowed: false,
971
+ type: "validator",
972
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
973
+ },
974
+ sec3: {
975
+ name: "Sec3",
976
+ symbol: "SEC3",
977
+ vote_account: "EnRcbgr5r7EUS2P35szncy6TW6eWA9UQiU3yQRCDbh2P",
978
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sec3_psol.png",
979
+ is_allowed: false,
980
+ type: "validator",
981
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sec3_ysol.png"
982
+ },
983
+ sendai: {
984
+ name: "SendAI",
985
+ symbol: "SENDAI",
986
+ vote_account: "sENda1ZL5hoQUMpWbvRpReEfkrM4F35g9GBXPpYaZ9v",
987
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sendai_inc_psol.png",
988
+ is_allowed: false,
989
+ type: "validator",
990
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sendai_inc_rsol_psol.png"
991
+ },
992
+ "sensei-node": {
993
+ name: "Sensei Node",
994
+ symbol: "SENSEI",
995
+ vote_account: "5xk3gjstftRwZRqQdme4vTuZonpkgs2wsm734M68Bq1Y",
996
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sensei_node_psol.png",
997
+ is_allowed: false,
998
+ type: "validator",
999
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sensei_node_ysol.png"
1000
+ },
1001
+ sentinel: {
1002
+ name: "Sentinel",
1003
+ symbol: "SENT",
1004
+ vote_account: "CiTYUYPAPHdcri5yEfsmqVcs54J6j8X1QaiFLgYqMVe",
1005
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
1006
+ is_allowed: false,
1007
+ type: "validator",
1008
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
1009
+ },
1010
+ shinobi: {
1011
+ name: "Shinobi",
1012
+ symbol: "SHINO",
1013
+ vote_account: "HTz9TJBmyuT7YEFVYTGHdsnTgt4bzkgq1Gv2Zx688FP7",
1014
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/shinobi_psol.png",
1015
+ is_allowed: false,
1016
+ type: "validator",
1017
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/shinobi_rsol.png"
1018
+ },
1019
+ shiro: {
1020
+ name: "Shiro",
1021
+ symbol: "SHIRO",
1022
+ vote_account: "7JZTyHRTmzHfmHH89uT9xKSKDVJ1VnNQ1FeTeM4iH3J2",
1023
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/shiro_psol.png",
1024
+ is_allowed: false,
1025
+ type: "validator",
1026
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/shiro_ysol.png"
1027
+ },
1028
+ "sol-rain-drops": {
1029
+ name: "SOL Rain Drops",
1030
+ symbol: "SOLRAIN",
1031
+ vote_account: "4BVYjw1ztUzUPsxsaCheWWwThT2X4rjogZytGnuWPUGg",
1032
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_rain_drops_psol.png",
1033
+ is_allowed: false,
1034
+ type: "validator",
1035
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_rain_drops_ysol.png"
1036
+ },
1037
+ "sol-strategies": {
1038
+ name: "Sol Strategies",
1039
+ symbol: "STRAT",
1040
+ vote_account: "punK4RDD3pFbcum79ACHatYPLLE1hr5UNnQVUGNfeyP",
1041
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
1042
+ is_allowed: false,
1043
+ type: "validator",
1044
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
1045
+ },
1046
+ solana: {
1047
+ name: "Solana",
1048
+ symbol: "SOL",
1049
+ vote_account: "000dmTsSCBPxCDwZwgBMfjjV8mF8xHkGRcXP8dJBVmrq",
1050
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
1051
+ is_allowed: false,
1052
+ type: "validator",
1053
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
1054
+ },
1055
+ "solana-compass": {
1056
+ name: "Solana Compass",
1057
+ symbol: "COMPASS",
1058
+ vote_account: "EARNynHRWg6GfyJCmrrizcZxARB3HVzcaasvNa8kBS72",
1059
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/solana_compass_psol.png",
1060
+ is_allowed: false,
1061
+ type: "validator",
1062
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_rsol.png"
1063
+ },
1064
+ "solana-japan": {
1065
+ name: "Solana Japan",
1066
+ symbol: "SOLJPN",
1067
+ vote_account: "76DafWkJ6pGK2hoD41HjrM4xTBhfKqrDYDazv13n5ir1",
1068
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/solana_japan_validator_psol.png",
1069
+ is_allowed: false,
1070
+ type: "validator",
1071
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/solana_japan_validator_ysol.png"
1072
+ },
1073
+ solayer: {
1074
+ name: "Solayer",
1075
+ symbol: "SOLAYER",
1076
+ vote_account: "SLaYv7tCwetrFGbPCRnqpHswG5qqKino78EYpbGF7xY",
1077
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/solayer_psol.png",
1078
+ is_allowed: false,
1079
+ type: "validator",
1080
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/solayer_ysol.png"
1081
+ },
1082
+ solflare: {
1083
+ name: "Solflare",
1084
+ symbol: "FLARE",
1085
+ vote_account: "EXhYxF25PJEHb3v5G1HY8Jn8Jm7bRjJtaxEghGrUuhQw",
1086
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/solflare_psol.png",
1087
+ is_allowed: false,
1088
+ type: "validator",
1089
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/solflare_ysol.png"
1090
+ },
1091
+ solstack: {
1092
+ name: "Solstack",
1093
+ symbol: "SOLSTK",
1094
+ vote_account: "soLStAckuvkHtNzHF1cwmeSRG1FzVxKxwsdWZ1yrHrz",
1095
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/solstack_psol.png",
1096
+ is_allowed: false,
1097
+ type: "validator",
1098
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/solstack_ysol.png"
1099
+ },
1100
+ solstice: {
1101
+ name: "Solstice",
1102
+ symbol: "SOLS",
1103
+ vote_account: "4vqwZsEEEsKtSqqEWbLyFAciWg66jGLP9zrbcZ1Hsrxb",
1104
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/solstice_psol.png",
1105
+ is_allowed: false,
1106
+ type: "validator",
1107
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/solstice_ysol.png"
1108
+ },
1109
+ solyrae: {
1110
+ name: "Solyrae",
1111
+ symbol: "SOLYRAE",
1112
+ vote_account: "DPhzpiNGU9C6576uLsNSHmdi2AxwxpjMsRdh2iVC4TPh",
1113
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/solyrae_psol.png",
1114
+ is_allowed: false,
1115
+ type: "validator",
1116
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/solyrae_ysol.png"
1117
+ },
1118
+ somos: {
1119
+ name: "Somos",
1120
+ symbol: "SOMOS",
1121
+ vote_account: "axyQeKp44XqUnvC1jVHoeuAJ3j8wVnGeWtddeAcNYcF",
1122
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/somos_psol.png",
1123
+ is_allowed: false,
1124
+ type: "validator",
1125
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/somos_ysol.png"
1126
+ },
1127
+ "squads-validator": {
1128
+ name: "Squads Validator",
1129
+ symbol: "SQUADS",
1130
+ vote_account: "SQDSVTDfE5HqL7D6RjZk1vvZhaheWoskrDdDHCki68w",
1131
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/squads_validator_psol.png",
1132
+ is_allowed: false,
1133
+ type: "validator",
1134
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/squads_validator_ysol.png"
1135
+ },
1136
+ stachenode: {
1137
+ name: "Stachenode",
1138
+ symbol: "STACHE",
1139
+ vote_account: "sTach38ebT8jnGH8i2D1g8NDAS6An19whVMnSSWPXt4",
1140
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/stachenode_psol.png",
1141
+ is_allowed: false,
1142
+ type: "validator",
1143
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/stachenode_ysol.png"
1144
+ },
1145
+ stakecraft: {
1146
+ name: "StakeCraft",
1147
+ symbol: "CRAFT",
1148
+ vote_account: "BDn3HiXMTym7ZQofWFxDb7ZGQX6GomQzJYKfytTAqd5g",
1149
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sec3_psol.png",
1150
+ is_allowed: true,
1151
+ type: "validator",
1152
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sec3_ysol.png"
1153
+ },
1154
+ stakefish: {
1155
+ name: "StakeFish",
1156
+ symbol: "FISH",
1157
+ vote_account: "7VGU4ZwR1e1AFekqbqv2gvjeg47e1PwMPm4BfLt6rxNk",
1158
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/stakefish_psol.png",
1159
+ is_allowed: false,
1160
+ type: "validator",
1161
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_rsol.png"
1162
+ },
1163
+ stakely: {
1164
+ name: "Stakely",
1165
+ symbol: "STAKELY",
1166
+ vote_account: "BmMVRAVef2qmJ1tJpG3JwRUtnfEiTbvDw9ZeFEi4wE7D",
1167
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
1168
+ is_allowed: false,
1169
+ type: "validator",
1170
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
1171
+ },
1172
+ "stakin-the-tie": {
1173
+ name: "Stakin The Tie",
1174
+ symbol: "STAKIN",
1175
+ vote_account: "23SUe5fzmLws1M58AnGnvnUBRUKJmzCpnFQwv4M4b9Er",
1176
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/stakin_by_the_tie_psol.png",
1177
+ is_allowed: false,
1178
+ type: "validator",
1179
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/stakin_by_the_tie_ysol.png"
1180
+ },
1181
+ "stakr-space": {
1182
+ name: "Stakr Space",
1183
+ symbol: "STAKR",
1184
+ vote_account: "3a2onvgTpGynakAQwx6gigtSeL7itZewNxqb5JiAvWeA",
1185
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
1186
+ is_allowed: false,
1187
+ type: "validator",
1188
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
1189
+ },
1190
+ stardust: {
1191
+ name: "Stardust",
1192
+ symbol: "STAR",
1193
+ vote_account: "5iJDEVRi1nMLwKAWhYbEokZnvBAe15rgFaHGkggVEP9z",
1194
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/stardust_psol.png",
1195
+ is_allowed: false,
1196
+ type: "validator",
1197
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/stardust_ysol.png"
1198
+ },
1199
+ "starke-finance": {
1200
+ name: "Starke Finance",
1201
+ symbol: "STARKE",
1202
+ vote_account: "D3QPJm7BDzzPeRG51YZSEz3LfV7GvFNu9NkcibzURxuj",
1203
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
1204
+ is_allowed: false,
1205
+ type: "validator",
1206
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
1207
+ },
1208
+ "step-finance": {
1209
+ name: "Step Finance",
1210
+ symbol: "STEP",
1211
+ vote_account: "StepeLdhJ2znRjHcZdjwMWsC4nTRURNKQY8Nca82LJp",
1212
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/step_finance_psol.png",
1213
+ is_allowed: false,
1214
+ type: "validator",
1215
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/step_finance_rsol.png"
1216
+ },
1217
+ stronghold: {
1218
+ name: "Stronghold",
1219
+ symbol: "STRONG",
1220
+ vote_account: "Ac1beBKixfNdrTAac7GRaTsJTxLyvgGvJjvy4qQfvyfc",
1221
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/stronghold_psol.png",
1222
+ is_allowed: false,
1223
+ type: "validator",
1224
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/stronghold_ysol.png"
1225
+ },
1226
+ superfast: {
1227
+ name: "Superfast",
1228
+ symbol: "SUPER",
1229
+ vote_account: "R1vAoSPFQdCc6wsAEMtxWXjqptSeN1YUiq2Zni1of21",
1230
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/superfast_psol.png",
1231
+ is_allowed: false,
1232
+ type: "validator",
1233
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/superfast_ysol.png"
1234
+ },
1235
+ swyke: {
1236
+ name: "Swyke",
1237
+ symbol: "SWYKE",
1238
+ vote_account: "BARLL1NvF3jPHQ3zb82q1v5m6uewcpkgRBYVNufQMWjo",
1239
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
1240
+ is_allowed: false,
1241
+ type: "validator",
1242
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
1243
+ },
1244
+ temporal: {
1245
+ name: "Temporal",
1246
+ symbol: "TEMP",
1247
+ vote_account: "RuBYsjLeJYtWXbabcxPbNcbbFXQvMLrJGutpcqVRomz",
1248
+ pt_sol: "strhttps://assets.pye.fi/ysol_psol_logos/temporal_opal_psol.png",
1249
+ is_allowed: false,
1250
+ type: "validator",
1251
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/temporal_opal_ysol.png"
1252
+ },
1253
+ "temporal-opal": {
1254
+ name: "Temporal Opal",
1255
+ symbol: "TEMPO",
1256
+ vote_account: "oPaLTmyvoUhW26QCMwLA5JNUeBYy72PDpFoXQF8SeX4",
1257
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/temporal_opal_psol.png",
1258
+ is_allowed: false,
1259
+ type: "validator",
1260
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/temporal_opal_rsol.png"
1261
+ },
1262
+ "the-vault": {
1263
+ name: "The Vault",
1264
+ symbol: "VAULT",
1265
+ vote_account: "FahWJg2PkphJaMUUCzdYhXkD5NngUuuFRFD3YCE3BSwb",
1266
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/the_vault_psol.png",
1267
+ is_allowed: false,
1268
+ type: "validator",
1269
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/the_vault_ysol.png"
1270
+ },
1271
+ "theia-capital": {
1272
+ name: "Theia Capital",
1273
+ symbol: "THEIA",
1274
+ vote_account: "THEVb5dS9gHYnr8eu2FHCprjnyp3uqmHNofUXD8MCQp",
1275
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/theia_capital_psol.png",
1276
+ is_allowed: false,
1277
+ type: "validator",
1278
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/theia_capital_ysol.png"
1279
+ },
1280
+ thw: {
1281
+ name: "THW",
1282
+ symbol: "THW",
1283
+ vote_account: "THWfRpcJSC7oDrNMSCcixTZmCHVBTEVQL4qnd1UTD1x",
1284
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/thw_psol.png",
1285
+ is_allowed: false,
1286
+ type: "validator",
1287
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/thw_ysol.png"
1288
+ },
1289
+ tinydancer: {
1290
+ name: "Tinydancer",
1291
+ symbol: "TINY",
1292
+ vote_account: "2ZP7DPXW6gwMRSY9PSXQ75fZLrk4gKWKnT85pK5sVPa5",
1293
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/tinydancer_psol.png",
1294
+ is_allowed: false,
1295
+ type: "validator",
1296
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/tinydancer_ysol.png"
1297
+ },
1298
+ "triton-one": {
1299
+ name: "Triton One",
1300
+ symbol: "TRITON",
1301
+ vote_account: "GNZ1PAAS33davY4Q1BMEpZEpVBtRtGvSpcTH5wYVkkVt",
1302
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/triton_one_psol.png",
1303
+ is_allowed: false,
1304
+ type: "validator",
1305
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/triton_one_ysol.png"
1306
+ },
1307
+ twinstake: {
1308
+ name: "Twinstake",
1309
+ symbol: "TWIN",
1310
+ vote_account: "Ak5BJzQe2R8qFuyYmaAFPjXuD7XPux3ZNTv52D7rfiqR",
1311
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/twinstake_psol.png",
1312
+ is_allowed: false,
1313
+ type: "validator",
1314
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/twinstake_ysol.png"
1315
+ },
1316
+ txtx: {
1317
+ name: "Txtx",
1318
+ symbol: "TXTX",
1319
+ vote_account: "TXTXAmsarrYrTobiCzq2r9NBqfChqRE8wEfJNsYZZ6F",
1320
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/txtx_psol.png",
1321
+ is_allowed: false,
1322
+ type: "validator",
1323
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/txtx_ysol.png"
1324
+ },
1325
+ unruggable: {
1326
+ name: "UNruggable",
1327
+ symbol: "UNRUG",
1328
+ vote_account: "unRgBLTLNXdBmenHXNPAg3AMn3KWcV3Mk4eoZBmTrdk",
1329
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/unruggable_psol.png",
1330
+ is_allowed: false,
1331
+ type: "validator",
1332
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/unruggable_ysol.png"
1333
+ },
1334
+ "upbit-staking": {
1335
+ name: "Upbit Staking",
1336
+ symbol: "UPBIT",
1337
+ vote_account: "GHViLgbrJdZDPb6sphRbeuPNM9cmjsFuGWzrTF1sKF5n",
1338
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/upbit_staking_psol.png",
1339
+ is_allowed: false,
1340
+ type: "validator",
1341
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/upbit_staking_rsol.png"
1342
+ },
1343
+ "valid-blocks": {
1344
+ name: "Valid Blocks",
1345
+ symbol: "VALID",
1346
+ vote_account: "6hkfqeNAbURk7CmAQsP4Qm6WwHVF4LxHupEvQf7Tkrf1",
1347
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/valid_blocks_psol.png",
1348
+ is_allowed: false,
1349
+ type: "validator",
1350
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/valid_blocks_ysol.png"
1351
+ },
1352
+ "validation-cloud": {
1353
+ name: "Validation Cloud",
1354
+ symbol: "CLOUD",
1355
+ vote_account: "Ec37CQZjwRgGnuMmUi3BnEBXS5Xa3siakAPxPkHtahSf",
1356
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_psol.png",
1357
+ is_allowed: false,
1358
+ type: "validator",
1359
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/sol_ysol.png"
1360
+ },
1361
+ valigator: {
1362
+ name: "Valigator",
1363
+ symbol: "GATOR",
1364
+ vote_account: "gaToR246dheK1DGAMEqxMdBJZwU4qFyt7DzhSwAHFWF",
1365
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/valigator_psol.png",
1366
+ is_allowed: false,
1367
+ type: "validator",
1368
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/valigator_ysol.png"
1369
+ },
1370
+ vladika: {
1371
+ name: "Vladika",
1372
+ symbol: "VLADIKA",
1373
+ vote_account: "53RJBy7aBGA7Aag6AryxEmBbsHDgwfBWagLrPbGHnfvR",
1374
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/vladika_psol.png",
1375
+ is_allowed: false,
1376
+ type: "validator",
1377
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/vladika_ysol.png"
1378
+ },
1379
+ "vybe-network": {
1380
+ name: "Vybe Network",
1381
+ symbol: "VYBE",
1382
+ vote_account: "6oscGUEkXE8fyWoC4czRKbM1cuLkJNtgRsX1Un6w88Vf",
1383
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/vybe_psol.png",
1384
+ is_allowed: false,
1385
+ type: "validator",
1386
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/exo_ysol.png"
1387
+ },
1388
+ watchtower: {
1389
+ name: "Watchtower",
1390
+ symbol: "WATCH",
1391
+ vote_account: "9jYFwBfbjYmvasFbJyES9apLJDTkwtbgSDRWanHEvcRw",
1392
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/watchtower_psol.png",
1393
+ is_allowed: false,
1394
+ type: "validator",
1395
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/watchtower_ysol.png"
1396
+ },
1397
+ xandeum: {
1398
+ name: "Xandeum",
1399
+ symbol: "XANDEUM",
1400
+ vote_account: "6hZL2FZim27WkQccMfygvvXH2eow5u3wR6XUJHbMoeWP",
1401
+ pt_sol: "https://assets.pye.fi/ysol_psol_logos/xandeum_psol.png",
1402
+ is_allowed: false,
1403
+ type: "validator",
1404
+ rt_sol: "https://assets.pye.fi/ysol_psol_logos/xandeum_ysol.png"
1405
+ }
1406
+ };
1407
+ var ALLOWED_VALIDATORS = Object.entries(validators).filter(([, v]) => v.is_allowed).map(([id, v]) => __spreadValues({ id }, v));
1408
+
1409
+ // src/constants/maturities.ts
1410
+ var maturities = {
1411
+ // @dev: add new maturities here
1412
+ q12026: {
1413
+ human_readable: "Mar 31, 2026",
1414
+ month: "MAR",
1415
+ year: "2026",
1416
+ issuance_start_timestamp: "1770354000",
1417
+ //1770354000 found from supabase
1418
+ issuance_close_timestamp: "1774828740",
1419
+ maturity_timestamp: "1775001540"
1420
+ },
1421
+ q22026: {
1422
+ human_readable: "Jun 30, 2026",
1423
+ month: "JUN",
1424
+ year: "2026",
1425
+ issuance_start_timestamp: "1770354000",
1426
+ issuance_close_timestamp: "1782691140",
1427
+ maturity_timestamp: "1782863940"
1428
+ },
1429
+ q32026: {
1430
+ human_readable: "Sep 30, 2026",
1431
+ month: "SEP",
1432
+ year: "2026",
1433
+ issuance_start_timestamp: "1770354000",
1434
+ issuance_close_timestamp: "1790639940",
1435
+ maturity_timestamp: "1790812740"
1436
+ },
1437
+ q42026: {
1438
+ human_readable: "Dec 31, 2026",
1439
+ month: "DEC",
1440
+ year: "2026",
1441
+ issuance_start_timestamp: "1770354000",
1442
+ issuance_close_timestamp: "1798588740",
1443
+ maturity_timestamp: "1798761540"
1444
+ }
1445
+ };
1446
+ var maturitiesArray = Object.values(maturities);
1447
+ var maturityIdsArray = Object.keys(
1448
+ maturities
1449
+ );
1450
+ var getMaturity = (maturityId) => maturities[maturityId];
1451
+
1452
+ // src/constants/lockups.ts
1453
+ var lockups = {
1454
+ alchemy: {
1455
+ q12026: {
1456
+ pubkey: "DAvM99bax26DbtQg8arjKCnGShc1D2DmEkrTrzjo83gG",
1457
+ pt_address: "399NjCZnuFbgHs2uCtvvEAGPPmsEpxxVmE8TV6wUhNVQ",
1458
+ rt_address: "5CNRw6qELjQuocgv1d44rXrCe12MkgzbkHb2tRKdWqG8"
1459
+ },
1460
+ q22026: {
1461
+ pubkey: "8k8EyRnaybKP9g9E9JNsWTXWMHdMoJttzShwq2994jDL",
1462
+ pt_address: "2toCKwQjihotbYZNNQtoXCjXkp669xoT5Ms4gWtJYvDr",
1463
+ rt_address: "2aPkXwCD4pbvaoenWcx9oKaeJ9rdyVeqkLNyJS5sRyfv"
1464
+ },
1465
+ q32026: {
1466
+ pubkey: "DY7Bm6nhrEKyXXnVwTDfrmwdFZrjqdM9jPvESWtGcpHv",
1467
+ pt_address: "GA8MAhp5mWew3VwdxJU8571rUKeEeU3yVsG8Ag7SU7Hs",
1468
+ rt_address: "EAbT1HvVdo7EtByZVifw3f6wJA4YqK1FaUQx41uAYe6X"
1469
+ },
1470
+ q42026: {
1471
+ pubkey: "UbzpFyhFVkRUQx3oGqFJ6Cjx86A9N4SgPKHhDPhmhfv",
1472
+ pt_address: "4TmjAh1FKbLkfRHRooJLMyxYSqaNfEvGu3KziJfHBsvq",
1473
+ rt_address: "CH3hjYys34LGP2b4YrBUwXP7JsakvjV3fjhXL33A9o9n"
1474
+ }
1475
+ },
1476
+ "all-nodes": {
1477
+ q12026: {
1478
+ pubkey: "6htH1Ln55SrsKrYjW57tC67wREYMGqZh4R6Yo6qdwd3o",
1479
+ pt_address: "CLCS1eTEgaPJVgGA2MwyE2mM1Tj5W6jqzMuGbDGcBJhB",
1480
+ rt_address: "3gCpipBKNxNzXNb2zh51ypvM9DYw2pLuNcgJEsDRWHEJ"
1481
+ },
1482
+ q22026: {
1483
+ pubkey: "HrngyrsCT5aatWn2FjMj5ENJUHU4D597LPN4m51PdhcU",
1484
+ pt_address: "CryX1SFRXJVC7CAqgXwDdSXq6jBFAAbFrhsed59VmvDh",
1485
+ rt_address: "8iwXT53XK1vAG6vDK2mGNCnaR7g3XktUcG31tezFesHL"
1486
+ },
1487
+ q32026: {
1488
+ pubkey: "BbgALNYxZhQDWqho6ghXWrTLLbGWtmBTAEQb8nLhXMqX",
1489
+ pt_address: "2dfoDUohWketwamzX9HfaMYT5Tmp8CNvmURLzCX5pUNH",
1490
+ rt_address: "5g5Cqqr8U6ipGW6LXU9ET7SwNfZG6PfF1NjWrs16myYC"
1491
+ },
1492
+ q42026: {
1493
+ pubkey: "Gtahjnmhh8ETimbxS7mJvxNT7JNtp7pGvRDJGk183Z5E",
1494
+ pt_address: "GUsvSsGaafBtQUXt4gck3rqdQsYVMh2unnweKge5GUo2",
1495
+ rt_address: "EYyNhVrpCdQPcKYyMdqNTZcKt1sSmumNA8TdWy6ZTc8Y"
1496
+ }
1497
+ },
1498
+ anagram: {
1499
+ q12026: {
1500
+ pubkey: "HutzKe4aghCvM7S2C3deMqZjzKjSYruAjVxDM7uZEUtX",
1501
+ pt_address: "9gj2CMWGRie5vXSSnU2LSMgHboJEU5hk9uRPRUXujAnC",
1502
+ rt_address: "MSYJj6f8wyy2dREvtvCSbtaprkpQunP9jNE5W4esQ2j"
1503
+ },
1504
+ q22026: {
1505
+ pubkey: "GoNxGu3j4XMK9ksFGEpKSx6e6K5kQHGweQ1PUpLM4Wa6",
1506
+ pt_address: "GBaveq2r7CbWm9J5mATPRoGeGKHz8gHt3LseFmqqKiBH",
1507
+ rt_address: "8hc6w58vDUoPBCnAnz113HMKvEXnQSEK4UhQA9LbtBF"
1508
+ },
1509
+ q32026: {
1510
+ pubkey: "5g3uyqr38GmRYEyxbg2uHvJdt15PZnLoQYVPBj7nWXM5",
1511
+ pt_address: "CmrZ2kgAvAzyvcXSiKgV1WnW5Q2o77woWop4CY563NkH",
1512
+ rt_address: "EAbi4cVJ3m3TcVkwvKw2QQcqbTDLvao7jgGZ1PP2EpYG"
1513
+ },
1514
+ q42026: {
1515
+ pubkey: "BAxrajzc9cCWygjUdAUUR8StNHMaWf65DkfLvQBa8Mzo",
1516
+ pt_address: "FRjpm6NkQhzjVeADeCzteAYF2rYV4QBtTVimf4kok7VE",
1517
+ rt_address: "GNcodp1AAoweBJcyKUpg57B8iydHnzAy5XZHvFrN7T6o"
1518
+ }
1519
+ },
1520
+ asymmetric: {
1521
+ q12026: {
1522
+ pubkey: "HemceeH8ogzqEYJ7m6d8142dHzinESw9JpbD49o1e2Xb",
1523
+ pt_address: "DFAooHHEKzBSbqLSd5rXaLugHjxdwBTE4DyaSAjipFoF",
1524
+ rt_address: "8WsLC5F3ucJYy7dkXt5vcKVSdnb5ZL1aoPixC6CYAuLy"
1525
+ },
1526
+ q22026: {
1527
+ pubkey: "Bbdutwsih7QaN9QXBiuf2eHrdMBKDfpBqmhucQidWcge",
1528
+ pt_address: "CGdgsqbki3EWjFoZPJVZmiy7RGjCHDwZtVEM6v9B1eTu",
1529
+ rt_address: "HeSpWK4WPzKHcZXuBxXGJMCzpuNBhGpdUY5b7QCtdh5m"
1530
+ },
1531
+ q32026: {
1532
+ pubkey: "6Hjbdo4ZV1eYHuMCa4AKTkAMXynJ2ywGy9Mp7rErKNKU",
1533
+ pt_address: "AqrXYZinerC8jwz8YfpmUg4aigyjvUdLyR4JZNX6Xs2C",
1534
+ rt_address: "21CepzUkmG4Ast6JiaU3kHmerPDLMeyKd2XpbVYqQ3Ws"
1535
+ },
1536
+ q42026: {
1537
+ pubkey: "4kk4KCXERNZeFTxn6vXodtUsZhwsnWo6kAgL53nDgxt9",
1538
+ pt_address: "DoigvB7ixa6VWYE2qUPBCRut19y5pgeJ3Fe4yTTD6dY9",
1539
+ rt_address: "2KEixPo7ri8779tWd6Nu3B8QVBfyurWia22gNpsc6peb"
1540
+ }
1541
+ },
1542
+ coinbase: {
1543
+ q12026: {
1544
+ pubkey: "2zCLdBYM7a76dtW9h8SBiihrgX5JL1onz7nn6bdLtRrn",
1545
+ pt_address: "FvHre9TtG6RykyuVi64gwGrDi2s1hnRKZmoBTyhGB4aK",
1546
+ rt_address: "G58njy1XzrJCqx83g7sJtMHcJbqFahMpYxAhWYmMvAjx"
1547
+ },
1548
+ q22026: {
1549
+ pubkey: "6Ge8ryxbBxGaVckT2A9KEYATnFCUvgDjEuuMN71kB4Kn",
1550
+ pt_address: "39Teyy2rFU1GSQ6RCWTtMERb8r5LTn5ELv8hi33BHNPJ",
1551
+ rt_address: "4tXCBepQmhHvdWCS9uT2sni7hqHnarZ2KsAtJdbfJkyb"
1552
+ },
1553
+ q32026: {
1554
+ pubkey: "3LGtSxfwhH7wngn6JSw6wVfBp18hrxELCUjTUnerR5Xi",
1555
+ pt_address: "FxbmCGDQ5TFs5dR15w2aVieepJpWY58W35pGEuDfTSrx",
1556
+ rt_address: "BgbKutokbSSGwk8RTe3umW72hSuReditE7bzK5XNeHPX"
1557
+ },
1558
+ q42026: {
1559
+ pubkey: "H65nqFUEZbSot7T4USsFR3Vh8SiTKuAwrQEt1gRxvjRd",
1560
+ pt_address: "7fqy3idXm9J8voLAoruSg2gfXwwRUMRCgQ714dVSxuW1",
1561
+ rt_address: "98d3ADhmLmTMKQMXcSEnnFb68Fi7V6caNkbP7Lvrq1Xv"
1562
+ }
1563
+ },
1564
+ blocksize: {
1565
+ q12026: {
1566
+ pubkey: "7WaEYBjn273XZNdEfTApQUYRKN8fjBe6hov6Tg5YMAVA",
1567
+ pt_address: "8PpPNMyoERpdFPcYikH19JZvgkuRCo11zHS15q3hgchh",
1568
+ rt_address: "DkrYtLmTdoUqxx23b6qWHZ59tXxeWJib8KA8XugKKAT8"
1569
+ },
1570
+ q22026: {
1571
+ pubkey: "HQCoDhVYMAyDxhASZZfkJXtcVpLDgDezJF1Pmfry31re",
1572
+ pt_address: "DnQXk5CTNHXDx6hRDyikKWLv3Pt8eq7Y4xPHYDT6s4Uk",
1573
+ rt_address: "CemtczMNaZ5eoXSJXfWnsUKMUKzMHAxXPbM2M3ECrTWR"
1574
+ },
1575
+ q32026: {
1576
+ pubkey: "ATuAaWqCoBT5HZ2TGWASnM4Tp581uYVmCtQX9Sdmxsu3",
1577
+ pt_address: "93DoJKSAdZSLTp12yNW6VnyPcMVsvuw1TYAecXDRfeG2",
1578
+ rt_address: "14D6SofJjbdSm4G3m2DXxJoV5vyk1CnoidXDSf2A8Yd7"
1579
+ },
1580
+ q42026: {
1581
+ pubkey: "5WNeC7CYKUi5NZmT9eJ2RWvAhXgmcHCFszbFvuJeK8D4",
1582
+ pt_address: "CHpVz6LWBLdcJV1rcxaFCu4AFcomkxjxGW1jKktAMSTA",
1583
+ rt_address: "HVMXzRsSb9D3e1b78z8xUGFo7hzZWxA5C9oDXuHmwWye"
1584
+ }
1585
+ },
1586
+ "block-logic": {
1587
+ q12026: {
1588
+ pubkey: "BCNcazCuXCRg7khiuVYcdKrqsjWczGRSkY1kHXjd3N1x",
1589
+ pt_address: "XB6CUr1p4dEBbCkiRXiZSKVXNvaux8JRhhhpWynw6Mp",
1590
+ rt_address: "89qsSesG28xi4gJ5c1ou8x45U1MFgfNDCdNEQpTgKLnC"
1591
+ },
1592
+ q22026: {
1593
+ pubkey: "EWb3aQpqodRZQXk1yvaFCkX6DSDy6ZbdV3hBeUFGJXyR",
1594
+ pt_address: "9qq5y5V6LeJMWbuCFf4HEik7WMxs2yzUvn2u1GHrrq86",
1595
+ rt_address: "GmkfKFyxisAigZ1WoUwsAS7eGe5FV54vF6gamt1AifG6"
1596
+ },
1597
+ q32026: {
1598
+ pubkey: "DzJLGgcw7d9h9SVnt7rdwkADYcJT9DfPyXXuPcEYshMF",
1599
+ pt_address: "HXF4Rgchfd6nFA1LRQuNV2c7GiTf3bbJCQQadub6jar8",
1600
+ rt_address: "CJDwYq9GTfNTa3kKoGtdPKN2GSfhTywBp353o7rpbGBB"
1601
+ },
1602
+ q42026: {
1603
+ pubkey: "8sXeSr3oufwCq1xskzWvJRRTywv5HbpPukpmwRzNMJCf",
1604
+ pt_address: "6Tq1wEsccSX1Zf7nsMpvbJKSXMDjUJChJFHNJ1a5vHPm",
1605
+ rt_address: "zz8kJzX3fKvG8nJBYqy8yDy8oz5dMwvAV48BxoHeiup"
1606
+ }
1607
+ },
1608
+ blockport: {
1609
+ q12026: {
1610
+ pubkey: "DZbDkAYBiCK5gbhcsKtP6vC9SbTENTBKv5AGXGAVyTFV",
1611
+ pt_address: "4X3a3FXKgoQqH4fkEJyoCLKs5Rq98w6P9x9qCyC7wAtj",
1612
+ rt_address: "7g2MyfmMPKG9hCGDseY33TtrDVkasYXrPXyphDmiz6SZ"
1613
+ },
1614
+ q22026: {
1615
+ pubkey: "HTWZAkVj3rj35vxTGVKTpq6eFBnuhJP5SQfZRHgBSB8N",
1616
+ pt_address: "Fsr2Df5YnZQ25Etr3aTV6nUXtidME4XFhWdBcKaAkdAN",
1617
+ rt_address: "C4jAft9zMLHKXLCbTSXaXdh4kH6enhPFdz3MdyFYX2pn"
1618
+ },
1619
+ q32026: {
1620
+ pubkey: "CyfEgbPEK78A9UMVYcz18Vu3iiz2v8u1pxTRe9EhR38m",
1621
+ pt_address: "4sKbstuDBms4HuvSGfNvyrxbbCwBbdv74gSZTihZNWLe",
1622
+ rt_address: "2WSiA3Xs9kLHZUeCqc1LLANnY6kRp2nJJmsq1Dw1dw24"
1623
+ },
1624
+ q42026: {
1625
+ pubkey: "8iDTyhFTWdXk9eagDofc46cj8aEoHTzLuUCd5SZyuZZW",
1626
+ pt_address: "HK4CArrwkayQ5PxUpzDzDLhsuPUnm9fWQCWpVLiAzTim",
1627
+ rt_address: "2ECGYw42byW7gj9vVR9FXdMExCTGyqcH2c4yLWC9Mbf7"
1628
+ }
1629
+ },
1630
+ bonk: {
1631
+ q12026: {
1632
+ pubkey: "Dq8PPWzsbq4FQCZHREQhUbjPGRPNEGCUMcSC4mfD3169",
1633
+ pt_address: "CCfKNXfMN2K12qaa5Qo8wkJ71esvrfhtyfNwz1NiUvy5",
1634
+ rt_address: "AtD2qYM6JJj5d42W1rbP2E2mDxRofzu7HvRud9av5yco"
1635
+ },
1636
+ q22026: {
1637
+ pubkey: "4uN3yvVjLQBNyYVnazdNeik9RaQpNnsQTkji4ht67ycQ",
1638
+ pt_address: "ATreP17v6E3nRy8wPUKUUP71ofZLGUKzPfzthirWWDDP",
1639
+ rt_address: "418wRPgkSzVBcHcidBVEa6wpwkGeGLLuBAr3wMervo9q"
1640
+ },
1641
+ q32026: {
1642
+ pubkey: "99Mt2xwjNbgJZyA1burfmHg96BgZptojQXZqxS4H6BSa",
1643
+ pt_address: "ADQuQM8U43xJGgNxHdUFroEheVZV1E63UQvGBzkJk1B1",
1644
+ rt_address: "5P4vHKNXzk79SkFvHeKJsMcmcHF4XVz8VyvpDYFTbWHo"
1645
+ },
1646
+ q42026: {
1647
+ pubkey: "GoqgSw6NAiiGD2ZgksAebdRWpqfJoctAsHBw2JtqSqtj",
1648
+ pt_address: "BUQLwUhze9n6EQU4dQkZ14aiymWsmDxgbNFDvwt1Ft2t",
1649
+ rt_address: "GBGKNdcEC1vqaaotiypd9ekB1qbhXxK64mZxJUJSPDQQ"
1650
+ }
1651
+ },
1652
+ bybit: {
1653
+ q12026: {
1654
+ pubkey: "9DJ4ScsH6u7Th2XgNxE5AhZmYXgVUnmvQ3WG2j2nQX2X",
1655
+ pt_address: "BRZdKq1ftrUr1BiFLaGWnChCe9nvDQUyTxhE9uA3UGxy",
1656
+ rt_address: "Ej1Ye7bxdwxfwWApHg2ZZUecmEwGTUMLZ1FGvoYtyAJg"
1657
+ },
1658
+ q22026: {
1659
+ pubkey: "E33MdzdkKnDjFjqsL3puM74Facw9Unoxs4tSWPRsr2N1",
1660
+ pt_address: "F4YVH2keLMMLhkkqVNGE4eJ2AkZTQRcb3oqJXhdEZqah",
1661
+ rt_address: "55SZiGpjAshdync7Guhtu3JppB3LAZSvZxCMKfdeeEfE"
1662
+ },
1663
+ q32026: {
1664
+ pubkey: "Es8WwtaDB5PwKfwTdgEQnR1NnBmfLgvC1pbqvME4Fmyp",
1665
+ pt_address: "62fhgf3yx4GjUf5KG9pV91oG1D2yXhczuzFx2RiG1byF",
1666
+ rt_address: "4QWCEgfSrF8ScEHARBpGrM3yJsZEDzVkVyfbAyRAo5e8"
1667
+ },
1668
+ q42026: {
1669
+ pubkey: "4sCddWYPuFMd1uHDF5RHMHpz78v2GwD663LJU7sm6Ysx",
1670
+ pt_address: "LnvKRxoxWX6DKZBusXo3zxBYwyURLyZ5Tz425ZoPCZw",
1671
+ rt_address: "GjZUp5FwymYcbqUYJufQkjHKxRkSbG7iqw1xV5bEN6ty"
1672
+ }
1673
+ },
1674
+ "chorus-one": {
1675
+ q12026: {
1676
+ pubkey: "2ASJRCVBvxuoVbeYTUdTaiQV4KGADwArj8dnhF31ecGJ",
1677
+ pt_address: "9ct4MwT7tvWhKbRJXaWgLh73X47qMuVX8CMjDiK1HB7v",
1678
+ rt_address: "GBWgdv4L9CoCy7c7XXfqoWVGnMnzaXpQ4MsXjuaY2KSS"
1679
+ },
1680
+ q22026: {
1681
+ pubkey: "3Mfe1D6FL5ZWG4evCUZ3vYpPPoCV97EiYVGk52FMv84T",
1682
+ pt_address: "CvMe2jY1ZmBf48bVTd5FHYF8CwWTUDS9sto8tCm3cLgd",
1683
+ rt_address: "X4KWCWiizSQTR6Gti7mYqN3TTFgf2TazNPwKSCkmjCy"
1684
+ },
1685
+ q32026: {
1686
+ pubkey: "9Nif871skt8u75PaTqhiSzGymsFhhEjb28PWVKULpFf2",
1687
+ pt_address: "21iWeEVPTtWosNvAfvENMTAxQbkizLxAQhtF3vrJUzEe",
1688
+ rt_address: "5m8ySHASsFPV6x7wQr7RDocw5VCBAn3iEmc8CALFvEAs"
1689
+ },
1690
+ q42026: {
1691
+ pubkey: "3qYNA2GRMsejog9HQ2K4rg1U7dQHrtCx1jphFYxe4fd7",
1692
+ pt_address: "C2sRbkTGKZstWYx7caSow2HRw12eoUZEN66ntvrppqoH",
1693
+ rt_address: "24Si2nj1wWpXfHH27uyMkbQ56pguu91Ag8aiXZu6ZSH5"
1694
+ }
1695
+ },
1696
+ "validation-cloud": {
1697
+ q12026: {
1698
+ pubkey: "EWETv5FnuWKkdYM6sPJaU2HoMqESo1JvNizfmXLixcZa",
1699
+ pt_address: "GzZp1RnTuggp7r5EH61u1u1SzLLCt85qFAr2WaL9czy5",
1700
+ rt_address: "BBUFcrpCEmz8nxVYY9JXinBU9zHfYkwk7wk7SpaAEfK6"
1701
+ },
1702
+ q22026: {
1703
+ pubkey: "E5F5CBP1JSWLVVuzjtoSmnMgiiFdNqAT4BvyTGZZ2ciB",
1704
+ pt_address: "HrgZu6eQAFGUa7R71KpCZyUtibAGNwag3478sZo4W2LF",
1705
+ rt_address: "93GjccSWhJravBCAJxQBokKnU1sJT3Sp6CRGaATz53De"
1706
+ },
1707
+ q32026: {
1708
+ pubkey: "H9aE3niyYeLrc9crKWVkX9yRuizvT95aiJN7QU5ChP62",
1709
+ pt_address: "AqA26xDipNdzgN142BiALbWPD9udjLhd2H2HrNMu3zNn",
1710
+ rt_address: "4DoZi3ur3VLgQhXbMyRf7dycSit8GdTZ5yAUANiUbNzS"
1711
+ },
1712
+ q42026: {
1713
+ pubkey: "DaeFvuRYN2fLF2E2n8XDKgxsrC2YSbM4iiqpSy5dkMed",
1714
+ pt_address: "3w2aZRmL2mtx2gMADrdH5ijH94VL4yoEPfFW1L2LfFR4",
1715
+ rt_address: "4TgzxRKiH7ZgywK7bcUHbwk6z8PVfyoiVscFF1R9LsxF"
1716
+ }
1717
+ },
1718
+ "solana-compass": {
1719
+ q12026: {
1720
+ pubkey: "7j6WMXcxCXXAkNLeedb29jvWaaLnvTxq9Dfp5wF2Q1pf",
1721
+ pt_address: "7z26RYyAwe4khH7b8oEMLmsjPXbM4CaTTqiNEK6FYxC3",
1722
+ rt_address: "4rmdLWDcndSDhTZ2LAcEXsvGRZZ9Upxc6P5aHhk21FXo"
1723
+ },
1724
+ q22026: {
1725
+ pubkey: "4wrn2x3ywSzUVy24VrcLeRuSJvLCfpKexgyZswhqXVjL",
1726
+ pt_address: "98ekYgAGTawK2p4Q18sX4ygadhP7nWjSrr4Pq9Ri81Yi",
1727
+ rt_address: "3xWWBRiTQQBuULWbf8QZB9sndobnsjLE287PBJJNZPZc"
1728
+ },
1729
+ q32026: {
1730
+ pubkey: "BewPU9mhAD7KNysbLtQEcvRkJrdheZuCigKTwKgH6LoM",
1731
+ pt_address: "94zd4xng6QmedY6Y14vaBKkMVjfyC32DqDiTXtcjQqy",
1732
+ rt_address: "GSWJtR1ScPqXvteuKXgqXNN52gK5hoAXSNaMvFesnoXM"
1733
+ },
1734
+ q42026: {
1735
+ pubkey: "9A1YQKXsn3Sbi9gtx6S2vMyim7NaErtvwALbaAXgpugx",
1736
+ pt_address: "FkGaBF2fzbqZctsu4ypu8Ssb7U5osDtyaAXhUUtyXhkH",
1737
+ rt_address: "EEpmALPWDEDGNDixwcE8bcRNUEWWMmKQfAFpscNzBUhX"
1738
+ }
1739
+ },
1740
+ stakecraft: {
1741
+ q12026: {
1742
+ pubkey: "7ivKjMe3g4D64RU4kgdoh38297nsz4rSAA7FmuP84LnW",
1743
+ pt_address: "Ct4FdNoTkiiRS9BCDZ8aqTy4wam5N9uT2fzvVfMb8Jtj",
1744
+ rt_address: "47UdBrsXcgAe4D84NkWkhsSG2r1cbxoEDpyJkwukLitX"
1745
+ },
1746
+ q22026: {
1747
+ pubkey: "3Yf1giKxr1YvwBZjyGggvCnEK5werC63hb7q1niAzVMN",
1748
+ pt_address: "BM2FuciSHTNRwQjY2haxG6AyUJLfUX9kLQmA49C6fzGz",
1749
+ rt_address: "GMZ2ZRC6oyhdz6hthYwNrdaXhGn97szbSAaGEzie7P5T"
1750
+ },
1751
+ q32026: {
1752
+ pubkey: "4nu6LDss9YPLZ6CQy353ojMSbaBd8MgRwGYF1WRK6Sr3",
1753
+ pt_address: "GZCtHrcFPBvyAtxKpDzoAKnAmpJ1XiPpwAshWmHkNtnL",
1754
+ rt_address: "5AnuBMeZLRstSDFgEcF1Mn7KqhvZg7ibGyDzF6T15stF"
1755
+ },
1756
+ q42026: {
1757
+ pubkey: "AzJGQPG8GX3RHsKBb8ToSTQWkazrqbs9kL5UbdLwQYFq",
1758
+ pt_address: "98ckTubm4ofNetzoC16dmSfHsnPoVo1K8Jx3LTZAe31v",
1759
+ rt_address: "4GdSYRqpbtRBAmApLBmqrwykqvfp8dHBfmGUBDyTCABS"
1760
+ }
1761
+ },
1762
+ blockdaemon: {
1763
+ q12026: {
1764
+ pubkey: "FuRaZYxMesUmrutjTJdJtCiLa9eKfwC8YT3Tzmxs8LE7",
1765
+ pt_address: "ZhJeRjWpTw3fokZpri4AT9VhfER2AVvgWsKd1Aka1bY",
1766
+ rt_address: "FGtQU5QQpCfCve1VKqJ9nQBBpiJ5uQ3bQe3PD8pTewH1"
1767
+ },
1768
+ q22026: {
1769
+ pubkey: "29nP6929TfDpdn1pLsC9EHstRSo4MWvEcw55FNt872bJ",
1770
+ pt_address: "CdZqsidKMHAHmS3GyFo75UT3cobVA1DL4FycyPwqUm5h",
1771
+ rt_address: "BSBR7SXki9c8SJhLas656JWzG2gVuseUkKWxZyeBgzRo"
1772
+ },
1773
+ q32026: {
1774
+ pubkey: "D1LHkSQhvkWdyqTgBDzXeNv2b8f2NPcXWhDP7tnaCaVc",
1775
+ pt_address: "C4PE6fpmANut4sfNZJqVemMAjoxF9DMZqszPPN6mDGcf",
1776
+ rt_address: "6THjgJ99GF9h9KEVSgqr1FbKCr41CZjcwdtKCGej4UAe"
1777
+ },
1778
+ q42026: {
1779
+ pubkey: "Dy1artCfKnEuZ7zvbAvdSDWrYV8hgbQaQFy5KV3DUrGU",
1780
+ pt_address: "238UbWB4pBTu7fU7EjWvbEqEstrLkaWR7SLjvtsoV5Th",
1781
+ rt_address: "83ptnmoWiwMnsr5xHCx5Kozwreqcj71Sx4ztqEoPkEht"
1782
+ }
1783
+ },
1784
+ dawnlabs: {
1785
+ q12026: {
1786
+ pubkey: "B6A5grbLJk7teche8bRWCjBY1dHriYWiXTMBDpP5Dk25",
1787
+ pt_address: "2QCoKt6QCnn4y5y7zY74Ka5Q6QuHkkQbGJvR5ReGrEt8",
1788
+ rt_address: "FKVzKAujJhYLSzYPu8ZNaPaamyYc8XXLmRwTU9ZTC8Ay"
1789
+ },
1790
+ q22026: {
1791
+ pubkey: "BXh3PZvXfKopXJMjFVHQf6uont7iW3wAm977vTJo5YXQ",
1792
+ pt_address: "HhKq5WRag4aRETDGCe7kHcjc6QmHNMuaYAYprFbPx1YR",
1793
+ rt_address: "9JJZ1ZAB9frT1ktHCXJEYHpaV6qqMd3o92HmfZeuwk55"
1794
+ },
1795
+ q32026: {
1796
+ pubkey: "DzPsERtGVSG13h9QWJohjBGGTwZE6ChviEAzt3F3iYUN",
1797
+ pt_address: "26BqQYTxdBLHgESNdaAvXetFvVtqH7WiFBggKh7F3y44",
1798
+ rt_address: "A3wrcx5uJM4JXpMqnMK4U1F4A7YQPaLu1mRPJfiKjVS5"
1799
+ },
1800
+ q42026: {
1801
+ pubkey: "9HRkvMKrN596UFwxBwKu4jZpVzfch98X19VvPGCSdvJF",
1802
+ pt_address: "9zaEBBwSsamCKYZtkWncQNau13Srn6nwtofdcZ6SdB8Y",
1803
+ rt_address: "5LF94WQVrhfebqnMAZnZkBHSuXE91NySekVeSyEaL4Rc"
1804
+ }
1805
+ },
1806
+ "defi-dev-corp": {
1807
+ q12026: {
1808
+ pubkey: "84aWo2LxsAxZW8JPFcApmTMH1aXM8PnF1r1Td4w4vzmZ",
1809
+ pt_address: "HWmkicjTQtmxAJpMze2emHy6tyG9UuiUNL1L3VuYGFzA",
1810
+ rt_address: "DZTWBfd1AmDcGNJk594vdxv5SwnErfb2u83ShyZvozVp"
1811
+ },
1812
+ q22026: {
1813
+ pubkey: "DMtwhEK2YMk8HWD2tdWJBPy6mm39jwpvPuJSPudmShMZ",
1814
+ pt_address: "4SimYekHiTZ3vaK4kwvFnEjqT18q9s5UnXGrku3kzRc9",
1815
+ rt_address: "3YJ7Zm8FeKjKBqWJjWDRaoCDBnK7SqxycGhRHmZfC3z2"
1816
+ },
1817
+ q32026: {
1818
+ pubkey: "EYfScC1jDLKhMEs7bwmXNAo4xoFSzFL6BagSNreGSxd2",
1819
+ pt_address: "GaUht3rUtjYsnst3Dg71sbLVJxsNE1bW6SFcmknt6xTu",
1820
+ rt_address: "HdvAkh3PtViRq9HPYaEwXiHqpK61CSbpFuWA4zFgbfVa"
1821
+ },
1822
+ q42026: {
1823
+ pubkey: "5HAxFevAxZPnWkHb8dJoAe8bM11Ppir5JiUdMz1YQ3jT",
1824
+ pt_address: "FdNmLyvzJiHS1cDNNMNDs9QVeMewbQALtM5BrdLX1JHT",
1825
+ rt_address: "46mmPY9TPort45cUDxWtXkCWoZFofo9YqQ2ys7ktV5kq"
1826
+ }
1827
+ },
1828
+ drift: {
1829
+ q12026: {
1830
+ pubkey: "JDwwSud1JFdREfbzfbNxm83Sa7cBsdGNkrSvXfE2S5qj",
1831
+ pt_address: "8WXYC8gNchUyFk5F71xWDRvmNpXox2oxc9C6omBHvRqA",
1832
+ rt_address: "Dp5S7kBs3K4X9wh8bftRVTD2jBkXAfPW5G8dp7T5XHZ3"
1833
+ },
1834
+ q22026: {
1835
+ pubkey: "EzHwGuutt4BNMJizdAtmPihC9bkZtiC3VGxRt1wk8fwG",
1836
+ pt_address: "9RboxKcR5oiJyDXXTcP67vNBhbHRNeHwuq7iA4HvqBwA",
1837
+ rt_address: "99VMdq5JdwJZzRSXpyhCDMa7m1yr4R6nH2qqpMBiAqGW"
1838
+ },
1839
+ q32026: {
1840
+ pubkey: "JDSB2m42tVs7MkZWsLM4hZB1EYoMQPUUKECUQfcQRJ4m",
1841
+ pt_address: "Fr8BtFQWFAzQyYizeRByMktfvy2S7FGhyeqtgWMxZTyH",
1842
+ rt_address: "6acEXLQnWqG3S78myEJpcu6AnN86sZRAh7k2ivhFWaxS"
1843
+ },
1844
+ q42026: {
1845
+ pubkey: "4qmMw4dzsee4cPgcxixJjxiTGABzjh9ZzuYtJhftH8Gw",
1846
+ pt_address: "9kfDiAxbkxJSrWy56kq5cABwCmsFHTQ5BG4gArBMGFUA",
1847
+ rt_address: "6i45Vd34E9ceFzRFrqnwb5MihbwHSoA6U9mP7Rum4Pmy"
1848
+ }
1849
+ },
1850
+ everstake: {
1851
+ q12026: {
1852
+ pubkey: "CdQrn848tdMU4UhSBXDoPjX3KMDcbZGTjPizQVVQynzV",
1853
+ pt_address: "CpuWa9T2AuwKjt6ZUyWNshNehKrCfXA5oG5yZYivg8Yb",
1854
+ rt_address: "5duHK99y4ZmfW3VqTcmASbE9z4USFrRVUHNEPEemupFB"
1855
+ },
1856
+ q22026: {
1857
+ pubkey: "4NMNphczpQ8cya96ngWMFFRAfjKEZFxYWqDs8Su6rLEY",
1858
+ pt_address: "2pcj9TUPLBq2rrrKff6vUxcnGqkaT3345fhjVqnuyg1W",
1859
+ rt_address: "2BUWoYytTr9dyY3XodvERKLGr8JUoZEskAKXV4Cit3PY"
1860
+ },
1861
+ q32026: {
1862
+ pubkey: "H4YQGjXWrNGk4BNQLJZr6qeM3Dz3ipDfm2oWDU88KmK1",
1863
+ pt_address: "6yu4Um2GXbwSihswxa9QGdTQCv69kR1GGJy6kEgueUME",
1864
+ rt_address: "BvqJ4URn5NKob8yYTt8fbji4MhBYVwe7zsir4b2ZJ1si"
1865
+ },
1866
+ q42026: {
1867
+ pubkey: "GCBFWGifMGtnd7EZZuaw9txzJsypU2eakoCaUHf6sRX5",
1868
+ pt_address: "FjzKynSENkp5E1r82wknzww4TJSVemwuTxyG2qJLey9u",
1869
+ rt_address: "9hU5r1aUxKuM1ynutVuw1wGXpdDzWKFF2rWYUdNCSbhx"
1870
+ }
1871
+ },
1872
+ "exo-tech": {
1873
+ q12026: {
1874
+ pubkey: "CyTBvu5CkLujVgETLpYFjhXgkeRHPqTBbMkNFfxj6pJW",
1875
+ pt_address: "w9VNqfsT7WkSkZaPzp5ZkCytE97b9GBn7M6xfTe9xFQ",
1876
+ rt_address: "GhAZcqqqo37mAmXtLKAyW36shVUq2Q7uk8JSrEAhMCSn"
1877
+ },
1878
+ q22026: {
1879
+ pubkey: "FCScnhLhJh7My72cesYXHHqfTTNWcYzoExQdEkmmNqWm",
1880
+ pt_address: "6nVoqJxjns8bcqmRhbehcPgm7CQhqqj4FN6hzcbHqLg4",
1881
+ rt_address: "FQUfzqcEjd9rLNisGtEhZDUnWG4U22W3aTTCFAaREPJm"
1882
+ },
1883
+ q32026: {
1884
+ pubkey: "CNVGQD9jiTiTJWpiv4eqVueQUdJtXDLi7zR2hDRBxgMG",
1885
+ pt_address: "DTs3D8mmXP9oDhwogaC1vxCuMS2ybbp5VmmCuwXzvUEF",
1886
+ rt_address: "6mVUjZxfFAvR2HKac6ec48kGa5CrR3pcgGXytEP34poM"
1887
+ },
1888
+ q42026: {
1889
+ pubkey: "6cSM6CRxKjfaN57t2vPFEiBgUrzkeap7v3b4y7MSpwhm",
1890
+ pt_address: "G6PnSFdTVK8BJbXjiRFe4VPdS8oMbZnPhx9dGc8bj4q9",
1891
+ rt_address: "5wYuWfMzssTKRDvyDrmf58DhhUYwkg2FMz3u7tCao9L1"
1892
+ }
1893
+ },
1894
+ facilities: {
1895
+ q12026: {
1896
+ pubkey: "FC8kHUWkHTX61fCcxEodLTcxUkRHZj8iCYeDKjNYmf4j",
1897
+ pt_address: "ChpQBVBLqHnD47nfJ8eHaHhMLtbDFtS6ox3zfb2KjEyA",
1898
+ rt_address: "4za7wmUGgfq1qRXWATEHXMtiy9caEMHE2q3C1oKcLoVT"
1899
+ },
1900
+ q22026: {
1901
+ pubkey: "DEwogPMHoQPChT9FZc8deBSgq9e9bmCYPQWXLwbC5wAg",
1902
+ pt_address: "B6hS8heyy71p3Vi3DVBXy8LSJ8aVKuVoJ4JLcqb97ykp",
1903
+ rt_address: "58kSsBfBSvLY251J9GXpXGy6YDfkutneFHijRFTBCYm"
1904
+ },
1905
+ q32026: {
1906
+ pubkey: "7DriD865CcdsGFgkzuff3m6LW1QEW5xiJWeMvrEAbeqN",
1907
+ pt_address: "7PnA8LquJecq49RjJUSUiEWPwYgGxeHNGRP7efymDsn",
1908
+ rt_address: "7V9SZJDEpBYm8MAd5EKFDusGBSrdhKZTnVdNcYCiPeX"
1909
+ },
1910
+ q42026: {
1911
+ pubkey: "9U5FuamdXCZCq4A7no1dzx6Y5Ch6VRf2qmbpZZ1PXvLk",
1912
+ pt_address: "3W3QFwYAgGoVY8UZ2TQMK6mdfnqRaWxkkq2wP9qQX485",
1913
+ rt_address: "DvehVQwQEjJPKorzdcGRejw52SDGC41QwKxuu6FAxJkt"
1914
+ }
1915
+ },
1916
+ falconx: {
1917
+ q12026: {
1918
+ pubkey: "Bw1qnmKKEdY2hvbMbagwuKFSCdBhbM33HETzihhF87Mv",
1919
+ pt_address: "3tfybWkfkhnRDntCU53MnET7VJPRssFraMG6RNGpS7Nr",
1920
+ rt_address: "4kVfvD8L4R6Rab6QgPmb2jgrarJv4HautaLCsS2LiVam"
1921
+ },
1922
+ q22026: {
1923
+ pubkey: "6sg3HVa3hCWKxkkh51LhyM4GQdApTmoNXaghkrdnDD1k",
1924
+ pt_address: "8n5yXCK5nEV4jUeFf7sLCaZ253KzaSA9jUHWVvn81zGu",
1925
+ rt_address: "7FsMDrczSjucUqcQnaWYc6YdrdiBS7Saj96QEhB6fir6"
1926
+ },
1927
+ q32026: {
1928
+ pubkey: "GM6NUbjgsXEqLSWS5uijQv9gt67KU1rsP2HbMc5Ba7et",
1929
+ pt_address: "cjywXsaHk31Em8xCnyYXMZTmEK97op1TY9vQVA8naGn",
1930
+ rt_address: "BZgALoKWFmmSxrfozaUfcDnGRjgQT2HzcLD2y6ngv9Rh"
1931
+ },
1932
+ q42026: {
1933
+ pubkey: "DCkybJWkkQSZZJg86CPWE2zf4PvVrW5qqJkXMpAPB98k",
1934
+ pt_address: "GKkSH1XRdG4EBzyxkdoiujWmDyAjZvphb6JZCgcCwbu6",
1935
+ rt_address: "GWUuGwvggmtUVzNydGunyVQG53aGia55YyAQNUVgBzhn"
1936
+ }
1937
+ },
1938
+ figment: {
1939
+ q12026: {
1940
+ pubkey: "25qer2TaoaKHW3ChdENDASSf2CVXabvkBKz5BCebV4oL",
1941
+ pt_address: "3euQQ8MecQJN6PDY4NCbqYLByNYhqcNb28K9M6GCRd1Y",
1942
+ rt_address: "BqWq2vEqXPioNNRhd1m66Py9P3JYNRFWUoG6HTZUgaA5"
1943
+ },
1944
+ q22026: {
1945
+ pubkey: "FY6Lv3x5WpTertEHSM3i62Vg5Dkx3e7P9MWEyDKpGfi2",
1946
+ pt_address: "Ht2K5CqmVutxA4Q7cdNfqV7dFJmyngTeySXM6inz8H6w",
1947
+ rt_address: "EjiQ1aCkzh3Y3VrJhbjh9SrcRzK9YCwJTS1orT8BUbJt"
1948
+ },
1949
+ q32026: {
1950
+ pubkey: "3DBC5wtCBjnkKm81ENLpdwFUd7QNVk34VFdMX72hvQPP",
1951
+ pt_address: "6wtRJHHZiYbENr6N8MvZnZd9tfk4FvXNzuLUMYnafMDt",
1952
+ rt_address: "AEzgw71QsC3CKvEj7XLE61kmft2SpYwT5NfXdd2gN9dV"
1953
+ },
1954
+ q42026: {
1955
+ pubkey: "8Fgxev5GwYY8fG4RkVZkZJa91ohjQnLt6HyqL896okLy",
1956
+ pt_address: "BPawHp6rw14rkDws7i2BzYPkrZhiNogXQ9zDyj8H6jNx",
1957
+ rt_address: "2HDBy9oGbTXTF9QhcaDKe4oQEM1S2RV2D4iYE4jiTHNy"
1958
+ }
1959
+ },
1960
+ stakefish: {
1961
+ q12026: {
1962
+ pubkey: "FDw33kDJtqRkQ5TXHjVvB4SW8tsBtMsZ7QuC5nTE2Gog",
1963
+ pt_address: "8MaqH2L5UZfqkByuUmRbPFaPsohdfppaBz8txZCUpbWT",
1964
+ rt_address: "BcoRr7zMNsD4pFNef9pN43aaei8PhbnxzomWHnBnAMeB"
1965
+ },
1966
+ q22026: {
1967
+ pubkey: "4nn6dtfjNrqZvWnvRh77bd7fiFKzuzDq3KHAbPyBoyRK",
1968
+ pt_address: "95J31GNPLZJXbUyWrXCztQukk6DptPtcm38bUkhS63Xf",
1969
+ rt_address: "DEqtoqPy5Xy4JoX3XGf8GumQKYffskkRMR2RfmUfCKcR"
1970
+ },
1971
+ q32026: {
1972
+ pubkey: "GZcYzaEgogZFZa2vJtyYAY1U3YPXfRp2RzfUGJc599Na",
1973
+ pt_address: "7UWbdgRyKabU28NMq4zs1Su1DuqAAMnmDrptdpxiJBgi",
1974
+ rt_address: "7k91TC91Aw1bPCPK1R6fsxRfDAEc8z22Zh89MySCqmDW"
1975
+ },
1976
+ q42026: {
1977
+ pubkey: "7id9jo6tugJgoCB9DvVgXkVLSWjiXobygApCYnrtPiQg",
1978
+ pt_address: "ABmeMjXQA6ZZCs82YHwFgz6e2AVdPQ8SeHnrEKMEGv2X",
1979
+ rt_address: "7fGMWmW9xMokZ1LNT7vjzF8NZVZjmysj8NW1HDtg6AD4"
1980
+ }
1981
+ },
1982
+ solflare: {
1983
+ q12026: {
1984
+ pubkey: "BtUiSmqn51jeEdrUKDu77juQYjAERpAj5ZDKBUX5vHjD",
1985
+ pt_address: "6sMCuFmQDnZz4zrkqZ5oKcWpi5Gz9TWh3f64EDVD1CuB",
1986
+ rt_address: "9sCqpLxKG82HzVoaaJhxpqHV4rb2JZG5EGjy1yVs2vcp"
1987
+ },
1988
+ q22026: {
1989
+ pubkey: "EgtbnmmkEQyNtacML8kn7hSKMDD7R12hKMS6etRtHuYW",
1990
+ pt_address: "1DJStxhYbnsMxXCnNG1uaWXjY2QYUTZuTxKhM1335R5",
1991
+ rt_address: "GXjMyciaDehda4JekhFmUtT6WZpZohYWY7823Vv5Ec77"
1992
+ },
1993
+ q32026: {
1994
+ pubkey: "Asa1HUbvrJroktxB8Kn458eC9FJq2ECxTKHGmGpXBGHd",
1995
+ pt_address: "Gb7w9LXNxdg8yd9oZBjJAvKFDFSeTq3nf7ExCwj3WuXP",
1996
+ rt_address: "CpSvPx9WQjpSTXNxef6MoaByJq8DDhRW2Lw8p3LHDvML"
1997
+ },
1998
+ q42026: {
1999
+ pubkey: "CwFpfFhLXb25YtUTAcdgL1orQQ2cVV52Rip3rYuuqN1E",
2000
+ pt_address: "tno1jbK5LfNtiXsW8EsjrsEh1G2nhhTN8BNE3EbdiqT",
2001
+ rt_address: "Bnkow3geXVgmLYXeJoA9mDCSoB28iNY8C3BzDgXsVUNK"
2002
+ }
2003
+ },
2004
+ chainflow: {
2005
+ q12026: {
2006
+ pubkey: "8WAwAhSXRjMDfaC8FbUm7knDwZqh4mKEn89bUZZGpD4A",
2007
+ pt_address: "FKvpNcG74LGSnv8o7a9JEjNhQarY3aNsaQtdxDTnpo1g",
2008
+ rt_address: "2PFHu32VQaCK6JrsugiZA11vQq7WCSgbjpMNQA7pdqe7"
2009
+ },
2010
+ q22026: {
2011
+ pubkey: "sHrLUTnLGyBdD6hMLzEwbHUWTfc9Dz6VSZKPCGfXyPT",
2012
+ pt_address: "3rxGuyFjx4cT6MZtdYBRQ2cDT99bTTsMYjirAm77znhA",
2013
+ rt_address: "46LuT46oXwp3RQgjxNG7jR2MJUz4VUEkZb5DqDFVnEEB"
2014
+ },
2015
+ q32026: {
2016
+ pubkey: "2aVfysx49uxLYY33kUqDBDbN6icwTqDc2btBw7JmqQNN",
2017
+ pt_address: "8jqofmS9XKzkddTRxCWUEwKtMvBjxe5hosxGMwUaGzPp",
2018
+ rt_address: "3LfPKN1jZYDV9pYDK4jnBXJF8GK6LyaGQMeTPSGKRMvD"
2019
+ },
2020
+ q42026: {
2021
+ pubkey: "BjKSnQwDh22jQ1UeMS832MkHcss17c5Aw1rz7SE7ocEh",
2022
+ pt_address: "EoezBgaUerFBmkNVQ7MQnJSECEqvTadzHipnSBnhj9Yf",
2023
+ rt_address: "G1wzWQyE8iTLDrB74xJFtyXWmpyaTGZ43q6gWkztpzJN"
2024
+ }
2025
+ },
2026
+ "forward-industries": {
2027
+ q12026: {
2028
+ pubkey: "HbFDqsr8MLe6pQsGTXkDH9dPFqvaEyGpNNE2GVrmQzSc",
2029
+ pt_address: "HCXpdzeKjeBbHD2t4CSxXN328U3B8SqdW5DYH2iw8o1j",
2030
+ rt_address: "2ykJKSCpRHEjQP3M2zdwioMWJ91PCRi2KG5md5g9xSno"
2031
+ },
2032
+ q22026: {
2033
+ pubkey: "4v2DDFBeFtyqr6YiSAg9Yp5FrGVuHd2YBCsMUj9RDD83",
2034
+ pt_address: "BZCC8Wtho367ZoDhaj2rt6zn9HwUDQoLvoTSkhBPALax",
2035
+ rt_address: "5tRespeN3Q6FeQ9CZ4KtWS568AwZg1F5KepH8TaSGt6p"
2036
+ },
2037
+ q32026: {
2038
+ pubkey: "BFZfb5nS4dgo2ooMNUsSWCXZYUa3Bp6c6GzQjeuwzJnb",
2039
+ pt_address: "92thdYpRm24ftkLp6Sn4oWGaixWMH3jgHekKfJxkxotp",
2040
+ rt_address: "8NGqLbe82jY7m4qHYsKXxwFY629y69M7uvsBoX9B7GX8"
2041
+ },
2042
+ q42026: {
2043
+ pubkey: "BBtC8Nq3HmUwSbHDhtPxyKy4xfKvbwYjtD7PEc984QeG",
2044
+ pt_address: "ALDP1FjYfh2XXX3hhtYaHBTzpdyq5ch8XLbyUAVKcevV",
2045
+ rt_address: "8hnvKn4BbxAWVoEkSt8U3gN9hNiaVNJcCbaBugdEM5p8"
2046
+ }
2047
+ },
2048
+ galaxy: {
2049
+ q12026: {
2050
+ pubkey: "D2GU4gY2wtm85iUjcYvm9CaX1ys7Y35HvJQdz17FFAHj",
2051
+ pt_address: "GctVsXR8snwEwZF4mZCo7pixZqaqQJQPbQThznFK9u63",
2052
+ rt_address: "Gs4Ph3RDCWiCT5ZVmLGWLiBQro7HHcp1dfUYf5qWLgtC"
2053
+ },
2054
+ q22026: {
2055
+ pubkey: "9vwjAqDkoyCqyQ8EFBtnMEA6yDTYKDbCu8HzYAnb6617",
2056
+ pt_address: "BrQoKRRY48xwJAKSNHLmuSqmdH67g7cp2J8KjSL6GpDh",
2057
+ rt_address: "4zu25Yu77p3AX3W2rAyww9cCbSZ69GraywHCPTAV2jnw"
2058
+ },
2059
+ q32026: {
2060
+ pubkey: "41XWqAP4ctWDj3BVPasVshv1oE7H2XPK3PoNYFVPkEAv",
2061
+ pt_address: "CSASXWttsfeJtykyjMt5sBZ2WF3dHNWFj6qcsZVgzT5T",
2062
+ rt_address: "EHSbzLJj85FYuR2zJwCZmoHLj2VAb8Ta2t131QdTz4nx"
2063
+ },
2064
+ q42026: {
2065
+ pubkey: "8ujEkRq1HHXVZa7bJTkk1rp7JYR4FpmCjAFeRUTiYMF",
2066
+ pt_address: "HmxB56N7qdcT6Y8RmuwxbovYJgyB5wjrKdGXmfV6NXTm",
2067
+ rt_address: "73UmSc7PWT2FoVCZvWZc8wNKnLqPWAyRttbHoyg4GT4w"
2068
+ }
2069
+ },
2070
+ valigator: {
2071
+ q12026: {
2072
+ pubkey: "3xXvcPhdyedepE8d7BKBgYqUcGZNCWnbMui2WEiw2G4L",
2073
+ pt_address: "ALn6TwBu72UU5hrToMVV74LYCex2mmCy4uHJZhkwYNnr",
2074
+ rt_address: "HWxKMroWwFwfERtShFR99uRakibbUvmSEUushFU4yzTR"
2075
+ },
2076
+ q22026: {
2077
+ pubkey: "7TfSjdTBkEQVwbRshvwqxYDvH7r1qWNmAxyEN9pd5rLQ",
2078
+ pt_address: "BBJg1YWNy1xSgRnHSk16uGPM666WHtK9xgzAY1WKxFkM",
2079
+ rt_address: "EsMc3JfGMVUJ3K1aiJH16cJnvaYCj3aMX1kACv1WZzXh"
2080
+ },
2081
+ q32026: {
2082
+ pubkey: "GpWE8XBKRrs96NZrqJwSsm3an3suBcfpSFnMjtXNoWT2",
2083
+ pt_address: "5kYRGWVsnyqAK7BS4KY41fdXwgoeFDqHXyRMypDYzGRa",
2084
+ rt_address: "J3usWUtzQ4y8TSGph4khUX7gEMNV2tyudn1oCSxPk4Tj"
2085
+ },
2086
+ q42026: {
2087
+ pubkey: "CKWk5KZfxDPhpDKd4ZDswb8sA1hbFpQSpWquH6KgQ1j2",
2088
+ pt_address: "E6szjTUuKE89RfYD3VUSKkpfFEGULzJ3piWCdymHnoj4",
2089
+ rt_address: "935CiAhoGE8Mo7KpX58emJSMWFLxTbrpLVPK7n6QVJhK"
2090
+ }
2091
+ },
2092
+ gripto: {
2093
+ q12026: {
2094
+ pubkey: "5dt8edywbyfRcemF8btE2sd6dQZew5SA2YHpWsbotRyT",
2095
+ pt_address: "Ah4oLNmwRrfcpt6QYtoDm2WyQNbDETYWnruEKUKGyKkT",
2096
+ rt_address: "2jHpKxSYgBrQKpqg9GGbMappWvreGPs2LCk6Rn77Vo9n"
2097
+ },
2098
+ q22026: {
2099
+ pubkey: "EUPJ8LLpyUrnHVszamE92hNVafQBV6hmDCMie5QMXdVt",
2100
+ pt_address: "BwZjsgecxewDEFL2Yxauc5SDLRjEBh3ixHBbjRHAVArx",
2101
+ rt_address: "FDrvNvZx37QGA6sL2esKDzXia1v9pQobxBJ2m4EvcYnd"
2102
+ },
2103
+ q32026: {
2104
+ pubkey: "AM19iBKLqStcZppPdLYZYto5gVXM7CjkB757SKdtUoEJ",
2105
+ pt_address: "GXacDwxcc65xMUQsUgmZzbLgs4XjMxmz3Yokmg6GfCF6",
2106
+ rt_address: "FxQWVg2az1bRDaPCYFEUPh3LVqnM3cc3M7ttKjmeuAy6"
2107
+ },
2108
+ q42026: {
2109
+ pubkey: "DCo9zqG5MjuWiRYyHmnmjhqwt9vbHz8EuY3iqoGYznKs",
2110
+ pt_address: "GGgHqw43Pk1z1gTCoPAwgA9xGfGfvVAbVAMYNs3eYWpj",
2111
+ rt_address: "6iTGMgF6vPXKVAi7vUDUCi8NTb2o9MXJZi4yzR8Wdy9z"
2112
+ }
2113
+ },
2114
+ "h2o-nodes": {
2115
+ q12026: {
2116
+ pubkey: "Db9bnNcKm43DnBMFXDYaueBvDSXcFMPEWGUKHYzHNsZD",
2117
+ pt_address: "2B4BmjPWw7KnR2EWtduxCvrAtG7MKaqz5BfF8GrP8Tek",
2118
+ rt_address: "2JPJ749RFBYP2L4SvUkJSu6v4C2fRsnnvMqishQUgJEa"
2119
+ },
2120
+ q22026: {
2121
+ pubkey: "1r1itBi46FhHrqM3tn8WZAQfUETtq7Cw9NxfftkzegH",
2122
+ pt_address: "EuizdBd81VnjiS38qnMVJeefoM6hZpu1L2AggtUmm5fi",
2123
+ rt_address: "pcS3RmMxDWZR8gE8GEKZrPmvQjkQQfdSsiwDJToEgKT"
2124
+ },
2125
+ q32026: {
2126
+ pubkey: "G5qjFSp9Bfscn1yoYrs29vsM8o12canRw1Jutsqv8iRG",
2127
+ pt_address: "LmKXwMAUPdPcaZjV9po2DGi2EKER4qh4fbLGexLWPzn",
2128
+ rt_address: "2qdoDk1eeVbArTd6k51m2rc79vLeQa2Lc9RhXV7jrbx4"
2129
+ },
2130
+ q42026: {
2131
+ pubkey: "8xcPt32Ln9Mq4eJDwasVfcfRaoGwHqbLjYXbcx89eMzS",
2132
+ pt_address: "6J2HsuqKxSMvrfHNwtN8qFFKHQBG7tQPUCxdK464w4ie",
2133
+ rt_address: "Bj1Fz67p9FHavUjV3EEuFeRYjjgKby8x2HLRhDgZxqCU"
2134
+ }
2135
+ },
2136
+ helius: {
2137
+ q12026: {
2138
+ pubkey: "UqCX9u1tcGedcenHVyh2AAK98B2MrYT8a28qNcCqRLo",
2139
+ pt_address: "3X1MsYzvYchr3oXZHJmNsRByouteSkHxpCcFmxLyGTrq",
2140
+ rt_address: "9V46xNRChEYseHF2uUhMuMD925WX7Ccc9qyjnacgVNWJ"
2141
+ },
2142
+ q22026: {
2143
+ pubkey: "CBoM7AaEGTTSLrUGjgnaj8KgeMyaX76AmRt33iz8PDsp",
2144
+ pt_address: "8M7PnbbAj59DZHACHZpfAmF78YsEsZyrrPuBhM4P8xwJ",
2145
+ rt_address: "Gfou83rrKxkVALBKdZUPYzqkhCsFBgTCPAmxiEe5navT"
2146
+ },
2147
+ q32026: {
2148
+ pubkey: "GE8cbZcBJqc2ftBXgfkyyaFZcDqZibHNFpsd1rPoR5zp",
2149
+ pt_address: "EyuispXoWQPXS7N8ieLwFCPQhZPsufQQTdeHBao36aL7",
2150
+ rt_address: "DDRBbX62PMf6qbCUfufDoudLfpXeN8XkWzUgU3hxuNsz"
2151
+ },
2152
+ q42026: {
2153
+ pubkey: "EpxJt1e5DcKrC4vA82d5HXEhCanz8yJA6e3Zv3GPdzp8",
2154
+ pt_address: "Fq148RgF4Er3bRB8LakVfLUFrFsr7aRAe4Hdeke8JR2v",
2155
+ rt_address: "UK2sFwdMMXv6mBbnFZFs6Q2frKbUQTaHAHM7AmriFmn"
2156
+ }
2157
+ },
2158
+ hubra: {
2159
+ q12026: {
2160
+ pubkey: "9o2MhRjtFPM4kMfR39Eq3s6EzHBWfewvbJTTNqS3iBSw",
2161
+ pt_address: "4hMYqHzjUWLfts6DYm4QuiPxMytrYUhDEAC33Wwt1tw2",
2162
+ rt_address: "tqmoMn2y1nfSpgP8nRU5gMYpyvkiC67javr8aceJhDz"
2163
+ },
2164
+ q22026: {
2165
+ pubkey: "ADtDK1hzwMpMjVvujmn8ngCRW6LDRRA47XnXYqwo5cYx",
2166
+ pt_address: "Gd1NNMzJqa1dpqgCN7UPviPhH24fwx9iD9JsnJtd2TSc",
2167
+ rt_address: "D9jbfmq4t8sE3McVfxAT67preCYtb1UtuxRiCw5ZTSv7"
2168
+ },
2169
+ q32026: {
2170
+ pubkey: "BjXsEqvv5Csw4Gev5XMQ8kVzwLj5CGYs9frJ3i8geoKV",
2171
+ pt_address: "TyZU3iZ7gxSmuVqt6Ab3diLLkJcNBYXd44tiUxD8YgQ",
2172
+ rt_address: "DpHYCdbySrYgaTs9D27f1ZvT9XudJDfZwBtyQxeYuS9F"
2173
+ },
2174
+ q42026: {
2175
+ pubkey: "32mNZcR2ssDFYAbjXup23GfHGjz8RBdEkDPT7FQ4PB9o",
2176
+ pt_address: "6wDvsfsZa17B7bXXsq2TMgHixoD7GDEXcmstLi3A3Dgn",
2177
+ rt_address: "561wJ5YnmaDK68op7skw47ob3Kbe9DA6VXo1ekRHjxZ5"
2178
+ }
2179
+ },
2180
+ hylo: {
2181
+ q12026: {
2182
+ pubkey: "2XRNfai2vgce2RB7Dkw5bK552Y8ZdWuF72kxZxcyLJQR",
2183
+ pt_address: "Enr4YMRddUneK5fhfiR1HjV2uUaPARKCVp4ooT698Gh",
2184
+ rt_address: "DhEDQhdNd7rfKhs8pDazgWPNUTSkCYCZUZE4Nz5qjR7i"
2185
+ },
2186
+ q22026: {
2187
+ pubkey: "6NAmn1NXrCo2zyUTBX75amV4mZ29uACzDgqBG1WzSs6z",
2188
+ pt_address: "FS3AEgwcMom95evGUz6HPo7DRa2yrQc8SavS1vbARdJc",
2189
+ rt_address: "Wd8cKG1SdNNcUaD3dEJADDLHfK7ZMwoVm8FqaCt2z1C"
2190
+ },
2191
+ q32026: {
2192
+ pubkey: "7c7A43mWJVMEAMEGCz1PkVDdHbJYz6haUkDHKwCnnFQq",
2193
+ pt_address: "2761Y465LxMpzgHzYgQFDmJQeT2Nv2wgdcTrRXxfH6uz",
2194
+ rt_address: "EaDna31yUtrYuomRmJHeATqg8wWaUX9TxJBGbAPPvSKM"
2195
+ },
2196
+ q42026: {
2197
+ pubkey: "9SZaPEWdtezZiwbCCQHw1KHMD5F7USYgTGCc6y9ZGxfJ",
2198
+ pt_address: "HGZQKziv3bnXezwmHeUdQR4xzqNejyA4234HU9ZGoDpc",
2199
+ rt_address: "EZJAo2BF7xXfPEDQWecWPPcCh9XnwbuhSrxApps2MDqb"
2200
+ }
2201
+ },
2202
+ jupiter: {
2203
+ q12026: {
2204
+ pubkey: "DPtL5sJDcP3e6TKaUsjPbCqXH7BFc8XZ1sf9VAvVA734",
2205
+ pt_address: "DwuNzFwU4yBepM5uRwC6rdLAmbG6Qe6fzAmkfcrMpkp4",
2206
+ rt_address: "GAbM1qHfpj8B7wWNw3ktAuVL74CoWEnKU6DFWzfiDDpr"
2207
+ },
2208
+ q22026: {
2209
+ pubkey: "Hrhns8Ec5v6PDgbS311Kojim7n3KWwVxPKPucwocYNuF",
2210
+ pt_address: "Cfj9aGHWM9zhDALa4C1Un6LiVNqXnfiGaG8AmqR2RGQ3",
2211
+ rt_address: "D8zKeVVa8q2q8z6ahxAbFQz82aK53yUgJ1nnaspwkN4C"
2212
+ },
2213
+ q32026: {
2214
+ pubkey: "BgnyobeHTkzFiottxUiTq1bH4qBq9GuEnAv9p9mSCFZX",
2215
+ pt_address: "BCgWNkqaVmikfoUTemnk8oWE6dAKS6wcwZJV2Hf6juh9",
2216
+ rt_address: "5NASsLokFkNQ5fjvpGmCJNHwrDRJWKfjZ9xnSz49eds"
2217
+ },
2218
+ q42026: {
2219
+ pubkey: "DqqHjNLb7iDvfsnZEcUBE92AoUiyJWqWLcHtSAF2NwW4",
2220
+ pt_address: "7uDbnULfr8sG8gbLPh6Vg7WrwpfCMbNjsvAXdjcTBY3R",
2221
+ rt_address: "9gq5tSd2F2ZMJoyTuS1UDFR8CXW7FyjF16996dQ1y29Z"
2222
+ }
2223
+ },
2224
+ "kairos-research": {
2225
+ q12026: {
2226
+ pubkey: "21XHobfZftF6LMJmQnPJnQppp5cTCP7dpb7TGW7uCbQW",
2227
+ pt_address: "jYdDurGDEtUw7rijRgKikB4dVNkxRuh9CAY8eZsNXoE",
2228
+ rt_address: "7kDkfrvxWFACWa8cFZaYwwmjqijWvijh73uEoDWvaGzK"
2229
+ },
2230
+ q22026: {
2231
+ pubkey: "GnPYARayDNbqatwn4NyJU8myqwdcertz7z5JYD2Z84Af",
2232
+ pt_address: "9L1Jszj3AfXTSxWWMvyrJZzHnB92122DmqEzCpAbQc6j",
2233
+ rt_address: "7qYt4HiqLt6rRqQiayKkeS9HBFSjmhdGrRfT9SCKudJb"
2234
+ },
2235
+ q32026: {
2236
+ pubkey: "8n6nLQLq6j6Uo5G3W71zXNz2nYMSjEQeMmMESx2w18mh",
2237
+ pt_address: "DXsT4yAJ1tNhNih3BCAYDJNHPH5tJLcDhWBwHUxkPkFK",
2238
+ rt_address: "65EfvBLDovPdF7yHQw1BaEA9fMMktbTVv3vPAUm83Xm4"
2239
+ },
2240
+ q42026: {
2241
+ pubkey: "GjfGcqNuGSqrksXm4bqi9i7wTAFxwmtBre6SNoS475hJ",
2242
+ pt_address: "DLAidetrarswftwMkQvUff9e7DMuQxsaUb9k9JzgNcXf",
2243
+ rt_address: "6kAxcPwYTb8GqRJwqBZXPB92FZ4NSMNRqJTVpJJHJ6o4"
2244
+ }
2245
+ },
2246
+ kiln: {
2247
+ q12026: {
2248
+ pubkey: "9Ez8wHNRvxeSDztR7kFChxJhkDxgtbhipMuohjr2vSJx",
2249
+ pt_address: "ENZhSVE5jzGNm5jYKwyyCj59pSsfAWV4RQFnsFZu6e3k",
2250
+ rt_address: "B7z4anxnDvNGfQ4TeHofUSDTDYy7JPyfQwfJPuPkGjJw"
2251
+ },
2252
+ q22026: {
2253
+ pubkey: "Fbd2n47V2QP8iFpyKZVgbeH2DkMBdJZt9UBCKEyKQSyy",
2254
+ pt_address: "CwyJAJCWnmZXP2ntZHUBndhcoLyWJpLfMwFSauFevuz8",
2255
+ rt_address: "GVuVASAoGoKgWD6xWoEFS2QwCcd6MG5EXXJ4aPJkABvf"
2256
+ },
2257
+ q32026: {
2258
+ pubkey: "8ecgtkNeDPD5v4U4N19p9KJBMBVYCivFmGu76w6GczUi",
2259
+ pt_address: "9gCoEbdU9MW67MbTHESoX3n3kaJMaFcbyezKNcDxY5w4",
2260
+ rt_address: "7APibp2kDAhbEMr158zZakrNMZefHm4H2dt6U9DicJNy"
2261
+ },
2262
+ q42026: {
2263
+ pubkey: "9BCUwHoFPdbvJReZa2HoVKRGby8L5vxB6JbBiYacDNQi",
2264
+ pt_address: "8PFWzpsqXahdemvK1kXPqQ3S365S57JdScdiwxx1N4FP",
2265
+ rt_address: "EswvyfG6zW2qPMUnX2JG5RRrR71FfXLd12AV8RTKiTK3"
2266
+ }
2267
+ },
2268
+ lantern: {
2269
+ q12026: {
2270
+ pubkey: "D56zYUx9SM49akp3dCJJurk3ARVSTvQmxPhA1jmxCpP1",
2271
+ pt_address: "6YCMnVRdBP8ytLf2jpDeGyXeRRPmqUQ5cmEkfC3QMgnk",
2272
+ rt_address: "2kqEAmRwTwLWr3RZM6Bx7Phf3nYQpvrwzf4hdUEuBSeB"
2273
+ },
2274
+ q22026: {
2275
+ pubkey: "B6cm6eSzCzFq2wLmtqq6zdFNPW99Eoafw4BoskRM25sM",
2276
+ pt_address: "4TdiNkhNJpMXTsmVq7x1HNacSj3NvpznfVjyUbKjnp19",
2277
+ rt_address: "AZoRdnaBGpeAL22v4hDWrNixpjnMqiR3pvswmiCgvEbB"
2278
+ },
2279
+ q32026: {
2280
+ pubkey: "7cbbuKq2DQ6d1no1Nc3U89nzTzsqNfjGkDby8wcc9Nz7",
2281
+ pt_address: "7VYVzncztzn1VNxvnLBPSPFYUY7XLZXXUXLksaihk3hg",
2282
+ rt_address: "2nk37MuvMaCmQojDKQsbhuhy1McDLfEfGRbUSG2n5shP"
2283
+ },
2284
+ q42026: {
2285
+ pubkey: "FP8NBzmWS6fneQRRUgBPgFwTeV3rMWF3qxvRZHYyGVzz",
2286
+ pt_address: "4ekWjpj2FRHzbN8VdP3i7JAyzgYBudTvMkekGw6zzhje",
2287
+ rt_address: "DyLa9WnoZmzCYKPwQAkxjpaUMDZZEqtyunMeDtfgZ6fw"
2288
+ }
2289
+ },
2290
+ luganodes: {
2291
+ q12026: {
2292
+ pubkey: "6khq3EmW5kBRSd6n4jaP3FFsHdazKFjF36kJcWQ18DmN",
2293
+ pt_address: "Dby3Ef9uzb7UsotGT5f4TsR3DfXhjoDHtQDi8MtUezZH",
2294
+ rt_address: "9c6bKpnjdNZN85GcdXQjiHkYpR1yF2FtgQA5bHh7RJX1"
2295
+ },
2296
+ q22026: {
2297
+ pubkey: "GUS3RkVX9LbujMRKBZkG5TMtn33Rrgqeub4kxH9tNzBC",
2298
+ pt_address: "EjzcXu37eUxGDyGJU4LNifMwa2AQ45AjTQYQtFyi8QzC",
2299
+ rt_address: "BtubcFcLZ6oENugP72H6T2QLZg2TfaBt3NhpZKDYSpHo"
2300
+ },
2301
+ q32026: {
2302
+ pubkey: "3vXycT3LYARa4NQPdsVdTLHH6aiJSANTG2eHm24kW9iW",
2303
+ pt_address: "1412HdNjogm8VUbVjPPmsKyYMjCjCghovRZpSqz3K8W6",
2304
+ rt_address: "AeJLywwHmXz8oYgNJMgAeWpiajtz9sWXkMZhgSSfKuLn"
2305
+ },
2306
+ q42026: {
2307
+ pubkey: "J8wafWnnTJPSR5JQ6mXhVX2YwTAgAvfwz7brKq62QegE",
2308
+ pt_address: "88Qn7hz6vWtZQ7T8M7rWoTQzzkkGPdKaUteooJygUxG",
2309
+ rt_address: "49VtaA7LCTjfYgaAELU7QbPhx9XKdgbrDECAsWHvtCPM"
2310
+ }
2311
+ },
2312
+ "lumos-maxima": {
2313
+ q12026: {
2314
+ pubkey: "BrDyH1tAqzRVQ2PvV8pyJ9BtweXNic6CUkADdSoTo1d",
2315
+ pt_address: "2g6d7beVNQXx8mJ7EA76bTTsCsKedUXCYkYAriZa6iet",
2316
+ rt_address: "BrdocPVacgmRTQLWBWs7DCti3bd2pFvhkT3tLvqLTSUX"
2317
+ },
2318
+ q22026: {
2319
+ pubkey: "Ccz4dPofKspJjh4WCkFYqASF1jCpdVXiV7CfhHD4VohC",
2320
+ pt_address: "GFu7NY68u2cTQspfPaGyKvLQaXUifU8ooPCu4q12FXRp",
2321
+ rt_address: "GNTHvEdPbDjMFCfB21cXMr6PJ5GPPAfBdnVb33ptjdyZ"
2322
+ },
2323
+ q32026: {
2324
+ pubkey: "Hm29stvJXwW7fUyhPsa2cebad4MPHnwF8hLJoCJit874",
2325
+ pt_address: "HDYBiuhq8Czm44or76grG9Rmgw1tDGwZRNXhg8RTzgyW",
2326
+ rt_address: "EapicD7c6v3neDYCjXnNn1Cn41s6A7PrWq9fa9cwFKTr"
2327
+ },
2328
+ q42026: {
2329
+ pubkey: "r7BzFLveBCkyRctxZYrpRc76kfdKUrXbWr7HzES9u3t",
2330
+ pt_address: "HGnDBdouSawuzTueLokWbbFfA5v4ELpMaHxrmoWVRYtz",
2331
+ rt_address: "9yL6UjE2uqo1DwhG1iW91DaSoRW8Cbx6BhTsFvyWhc4y"
2332
+ }
2333
+ },
2334
+ monkedao: {
2335
+ q12026: {
2336
+ pubkey: "9JrSRm9v3aWdrttodkArrczhMhfbSRpvsoKmPMiqrrfV",
2337
+ pt_address: "8AcczBEat8Uz9an6ExpEKkPBuEE1phWQMXA6ufGhCjET",
2338
+ rt_address: "3FEgZvU8vUY17DVvp931vQSTWucTukskdGiponhn3pFc"
2339
+ },
2340
+ q22026: {
2341
+ pubkey: "6Q6swaS3DYunx855tbHS3pdtV3PVostJcCfgftvKeM5v",
2342
+ pt_address: "J6Ro4KMJew1WpovMxKAkZoH8HNFyBLNau27YRh8AZj4t",
2343
+ rt_address: "GpobDw2Jk5zh3RSMHN5fiMvCYujMLGnbjK3hwcmxcFou"
2344
+ },
2345
+ q32026: {
2346
+ pubkey: "5HDU3go3hYNEHqLCuUxJn9Ny3bBvgf7Fg5Avhki2YFyp",
2347
+ pt_address: "EjHLLaVXi9ZojRA5xaFUMmFFSKm52LW5L2VvJCtSdeo4",
2348
+ rt_address: "G7jmEgX17hyEbtaZvF8H2oa4jCu6UsF2iGycxu1qrS88"
2349
+ },
2350
+ q42026: {
2351
+ pubkey: "BUf99qV9NxvJ2iJxxBY71TS1vLuK5WfKWUNEonQWcT3a",
2352
+ pt_address: "9QhuB5k9hv4zywMnyuWHMfzTshQYsh89CJhpHdakxCA9",
2353
+ rt_address: "B3CeN9CyfuVUKYkM4nfWbtZ27HMw6wtm64w2j6keoFJK"
2354
+ }
2355
+ },
2356
+ nansen: {
2357
+ q12026: {
2358
+ pubkey: "5Ry3LsFXhd6gZ5k83DGRJPx4ZmNkAGmrJPPgkgc2u1Rm",
2359
+ pt_address: "78yowBLHQi2mQa5n6xpz6N6VgoHTCQFpqd74bdz6d1p8",
2360
+ rt_address: "BWHMfetyXfDR3jFLx2GKnvTgCPtic4jyDXQ5a7yFAYLM"
2361
+ },
2362
+ q22026: {
2363
+ pubkey: "4Gi53Fr4FdGyRyD6fmzFTPjGCB73uwsZRQj5fzRPyHN6",
2364
+ pt_address: "8aPSEPMJqPZ76Q2f1XrMqh68QcynnQXuo7BfsTkkhyAn",
2365
+ rt_address: "BYyHt3kXKm4HNTXrYYZPtxB3obuhqkX7kqampjmgApAn"
2366
+ },
2367
+ q32026: {
2368
+ pubkey: "8oyNfTrBYZUHjTqbiWUiAHnHH8W7F9PFvEnVyRAc5X9x",
2369
+ pt_address: "BcxRfM2UPaCQnvBBDeJSWnVAYFz5S2VvniZMioxfMCT7",
2370
+ rt_address: "U8KMvMz5qphpLNLCTkFcj8eAw8WC55E4be5QWk6buLG"
2371
+ },
2372
+ q42026: {
2373
+ pubkey: "DKbP2vhreiZkgjEHD3XgKbB49pRMVZXp7ALzVHdR6DRp",
2374
+ pt_address: "Bxh5RgeRaQKcLXCVYroRzncQ2qK2aGVdKtPEJi6bUZno",
2375
+ rt_address: "6DgCCmL5m4E1dqXWTuGnZ6KDfWGWBt53rzpeAr9uLwWG"
2376
+ }
2377
+ },
2378
+ "okx-earn": {
2379
+ q12026: {
2380
+ pubkey: "DmNWgqUqv2oQ9sFt33CcJH9dLuvGSLrZWNmTYAcH88Ad",
2381
+ pt_address: "83hDN7hMQNT24BPWedcVTjje3sQ1cYN1rHnVt9y7jXbz",
2382
+ rt_address: "HQvHfMakUPkG72gMCmRFJ7itwnSemCvJAW7dEL2KXARX"
2383
+ },
2384
+ q22026: {
2385
+ pubkey: "4nE14WqLDMDCc3Ld8GmWHYVm44Tus8vv8zK4aUpYjtbz",
2386
+ pt_address: "8tAVieDX3gGmqtv9Wa2hJEcv8S8gC7oVquVT6AGmq9sM",
2387
+ rt_address: "73Esp2XxhMaFMGcuDNwZYcuZdDWz4R8J5MvT8SJ9HSqv"
2388
+ },
2389
+ q32026: {
2390
+ pubkey: "57CTuVr5R5DZHmcn3gN1kbQ2KtDQFyqi59upiD4G3va8",
2391
+ pt_address: "8eboREQ3i9TwGYrEDYLHPMCDkKShHGzwWzkvfuG95JdS",
2392
+ rt_address: "3CW4cPhQ56oTeQn3g5TUVmgjy94xjAYNtjV5wdZjeU3K"
2393
+ },
2394
+ q42026: {
2395
+ pubkey: "HpbecUNBRo1wy7NWDyfcbNnWqfzK7X2ihf4mPshd9o2Y",
2396
+ pt_address: "8kCBrLfQsSgqiKgAN7SeXGqFY7UCmkhy7fKJBAmhAyuZ",
2397
+ rt_address: "7sKdy1q5VkNFar9CmJaNzzSr3U851e39rZF1TosqpLBf"
2398
+ }
2399
+ },
2400
+ p2p: {
2401
+ q12026: {
2402
+ pubkey: "2Ufjzez7pDLJE7JPo82igEkG3FuiJkQ6xqN4ELmieAEz",
2403
+ pt_address: "5H1Ravb2hjxZ2KkDq6AXujXe71CG44SPZjsVgwCDfs7S",
2404
+ rt_address: "BU82BzAZ5qvKhWaBZ7SLgLWcGa2FXng1TxCmZpRQnSLB"
2405
+ },
2406
+ q22026: {
2407
+ pubkey: "C9VebtBGEeSXtomxt7LApqPFg36nr9ZdyeTmJbjzMJFS",
2408
+ pt_address: "Bzeg3kwyB7VgETTKTM1dYHr4HY6nSsiMHdBvdEQcADNo",
2409
+ rt_address: "Gvi8YmbScymZrZCH8wUVVX5kvxSniBTckjaa6AyYBpX3"
2410
+ },
2411
+ q32026: {
2412
+ pubkey: "CFkEq1Bzx55pxDuQgNqm87HXyyxtckmoSEbPiiEsF8Zp",
2413
+ pt_address: "8xLPDGhHis2MfTBu7bX7sfjdZhcHezJeLajYMLxvVHhD",
2414
+ rt_address: "AqdFvrZYbi1tpHcoefryTYM9YMs2rH2gXkUwLXojgZmd"
2415
+ },
2416
+ q42026: {
2417
+ pubkey: "7TjswMrEQKyMzWsTN42bfkV56BmUbXxFzdgovv8vvNy2",
2418
+ pt_address: "B3EEwQbrA6QBAtdB5fejbYjFmrQi6C2MbvYT4CwYa8Rw",
2419
+ rt_address: "4MXVDSCAvzWu3tTp1kXtdN7sLDu5tEMZjnNsvf1GKdR5"
2420
+ }
2421
+ },
2422
+ "phase-labs": {
2423
+ q12026: {
2424
+ pubkey: "9FCUdoZ7ypge9uPjfeYTfguXBWt6Bfmyry6UVGhSg9rU",
2425
+ pt_address: "61BtU6Dh9YftWiPhd2a2Hax4HhCEsGFwPMeKx5d9qQGc",
2426
+ rt_address: "95xVbDcccQsUS9ZZkTGEefswddFretwXzYaqtFFBJqFW"
2427
+ },
2428
+ q22026: {
2429
+ pubkey: "5a1BuMwce4o2w4JNHE9NBLsMzZZVEiFv4T9L2XqxF953",
2430
+ pt_address: "EYA4ddEs7oixDcGxqNcSiN6NjMtrciFWNz7UyhsMDKAT",
2431
+ rt_address: "6AbgYc6p1vHJbkpJHAjf1nk4CQnZPHeKAGHuGQsBCBvz"
2432
+ },
2433
+ q32026: {
2434
+ pubkey: "FPKRQNC5Dzo9Pv46GRcKFv2dWKAG8UWQZERHNKDxhC28",
2435
+ pt_address: "C6DeajXqve8d5oR7SEYtDpYp98uAZvxeMd6AczDGyJdc",
2436
+ rt_address: "DE8eC7xh9PQPqwRKS1tk5cHvsjKYpCkPokbS4iBJf4Ld"
2437
+ },
2438
+ q42026: {
2439
+ pubkey: "4PjmrRVakr8ZtqjdQEZMWPTAP62KMk8KkYL2Pi4gFfKg",
2440
+ pt_address: "5zUAbqh5xEppD5ppaoj9QnQU3E5iUPfuGEkMyf2z6TDP",
2441
+ rt_address: "8VyFVKo9ywUMejfwNnHcfbJ36JZ5jxCo7FHD49wwJ1S5"
2442
+ }
2443
+ },
2444
+ "pier-two": {
2445
+ q12026: {
2446
+ pubkey: "By9DRKM3KhZNtTEZkCWCxTSecpNCawSFu6tVhDRujHU3",
2447
+ pt_address: "BaJMiWvCKKDuCb79cSY5s71DHwQ6K4yEJaPmbKWh2qu1",
2448
+ rt_address: "GRLXXvU1MuL3a4j4LKCvQMiV3vzn55yiGxArGycZb9W"
2449
+ },
2450
+ q22026: {
2451
+ pubkey: "3MSdPHQg5i5QZJnZV7UY75dMDxu5nmQhfAx667qTEhnn",
2452
+ pt_address: "GwqCnnh6JhQh4n1TYSXcuUCAcMxXf4RmPQj1aArEL5rG",
2453
+ rt_address: "6yASHXVukHGTiK834XBpw9Mz6fPM8gzgcsoqxMJiS4XD"
2454
+ },
2455
+ q32026: {
2456
+ pubkey: "5Yfgr4j2gphVFEeXBu8RCqUQuH1NqFg4XeT8JV7UivQi",
2457
+ pt_address: "6H7wf8mryDHFSoZmvBK4uJcGfLLZMM9xZTHob4ganR24",
2458
+ rt_address: "7yxPmTr7yPUz1Ysj21pCmNnJJhbHWsekXU4BAyMXeTuU"
2459
+ },
2460
+ q42026: {
2461
+ pubkey: "CbmPKNwGawizDHovwzC9HBnmz9qD3jVeij2L3iZrNN6T",
2462
+ pt_address: "5PhgwLezLEgv35hHesMTAQT8TE3hHXr2e74YmE5KM3yg",
2463
+ rt_address: "9rRspT8RkvGxe9sKMDU9jmLzvRPinQu7Far8h9SekxDT"
2464
+ }
2465
+ },
2466
+ prostaking: {
2467
+ q12026: {
2468
+ pubkey: "Et5HKnBKgb5QWdSnDJyEQRBGTQmeEL2XTbqD3REVpD3y",
2469
+ pt_address: "5ubipQcpB8D7Kcndaib9k2RCepHRkShHBLZFXurM1MAZ",
2470
+ rt_address: "BjGNZuRxc2EykgAFbyifgqSsfEhfj99MniQrTXbwnLip"
2471
+ },
2472
+ q22026: {
2473
+ pubkey: "CEmQqUFj21uXd5GPNjExDsiAYEwdaGbG8zWtewApAoBi",
2474
+ pt_address: "2FWQc7utyEC8o49a8395jsVNN9WLJprSZUAJaahMa7Po",
2475
+ rt_address: "DxBajZwf6aeYkoCsLkA9aW925RyvSKiigoNXEFPH6Xdy"
2476
+ },
2477
+ q32026: {
2478
+ pubkey: "HBGzEsUnds4gQyBfZ8kK1wTW8ZGq9EUK33bM1bh8dig1",
2479
+ pt_address: "3Z7QgwYFUpcpePtsDsvFBDebLRFu4UN5riRrBcpizQrM",
2480
+ rt_address: "3ehj25TSRKJWDh7pTnupXZeibBT3Ee37p7ia2358VDNC"
2481
+ },
2482
+ q42026: {
2483
+ pubkey: "HWLhRqvf7unc2mJhRSgLGpJ3eaMa237hyWWd2Qc8s7G2",
2484
+ pt_address: "2LYtuCzjvE2zU8NbxZzJ2KN6E7Xq1syN8Ck1uGeZV3By",
2485
+ rt_address: "GD8om8MMRcWyVM64B4hQ2LTcZ6MVqpjhzDVfd7pbLH55"
2486
+ }
2487
+ },
2488
+ quicknode: {
2489
+ q12026: {
2490
+ pubkey: "EdecXE9aNHrSwRzzQhswYvXBJmcbaQ6NaZfAhbnxvd4k",
2491
+ pt_address: "9dqbip8ENYHiFNVprzpXL6S6PfFzQJMA2kBeiFzS9cxz",
2492
+ rt_address: "FJzk6rRrEQ9E897Bgt4VcZCqasaXX79mHwbsxPiVsRw"
2493
+ },
2494
+ q22026: {
2495
+ pubkey: "EiHEbrwD1NWRGU6Tcm7c1Q7B9n3g3mYGtDSaH6V8Tqqq",
2496
+ pt_address: "5JKf7fbvNtTeceokJkczc5bF8vksp7VAeRVPdDqGrBbt",
2497
+ rt_address: "3dkAqjhPkNH7fWLtcq3digh5X8JNvfWuCTbDKwbZQ1eC"
2498
+ },
2499
+ q32026: {
2500
+ pubkey: "GURHc8rFMVzsshonz5RfGsxuu5y6LfqEV5H9ZBeFAjJR",
2501
+ pt_address: "F9sRJvd4eCD46zg5kT1GLMPjufbdUFDdJdM5XijnEWdQ",
2502
+ rt_address: "EAdkDXmXRhMCdqKxh72VX2JMVWZ4mnqaWxjJz1EDi9PL"
2503
+ },
2504
+ q42026: {
2505
+ pubkey: "55CMChj9CR2DGbDuPKmgDJPLs6sQ958hjhwuXF8S15HV",
2506
+ pt_address: "8NYadL9n2DUxk2F7KPXgdthSGsc5ZZWvPNSFUZYbUQQi",
2507
+ rt_address: "DRuzvgXRfjKXUJ54xjGCLqd6Gxq3CLpKGWv2EVs3ApsJ"
2508
+ }
2509
+ },
2510
+ sec3: {
2511
+ q12026: {
2512
+ pubkey: "GZe5UCx29K9fda96MhSvaFXsLGdS78L6VTebTXSUXgM7",
2513
+ pt_address: "GuLxpNCmPdcdwAmfaZpfEKBn1NuxuUzkhaoYGpApUtyK",
2514
+ rt_address: "Em1umHUedyr5wKet4WtVmB8RWuToykxYbdGd773V8sxf"
2515
+ },
2516
+ q22026: {
2517
+ pubkey: "Ey1JshtttaMK7nNqjaD8nSzQ4pz5w3xr3nACB8CqF7VQ",
2518
+ pt_address: "CEn88XYXaPphrKM2isZ7NJz4ZENAnAuZUQX6ozUwE2KE",
2519
+ rt_address: "9x9bhJN2DrjSDtaSFMrXCpAECX2UFLHtFGfBj2ScGrEM"
2520
+ },
2521
+ q32026: {
2522
+ pubkey: "4cU13V8JwHjJ8bE3Qx5ZCUWfaSEVQcV9ZAXnja2LjEj1",
2523
+ pt_address: "A7qVFsxDZbPs6RTf72r9QYu1Jx56pwiVkX9VR13RBMhz",
2524
+ rt_address: "J8vEAqRZZRu3DPxnUG9443qnptKENXcTsf3DD16ibh5b"
2525
+ },
2526
+ q42026: {
2527
+ pubkey: "9AKyaiUqLBYbKK1moy648xALrRdWQrin2XCfK6onGcyL",
2528
+ pt_address: "73FYMKqtM3shhqC9Doz84H9v4ppHLkCpRQRdnvmoiNL",
2529
+ rt_address: "EVUP1CFHStt7dUiYjgUtbMACREtAeC6pNMjTfUkgE5C6"
2530
+ }
2531
+ },
2532
+ sendai: {
2533
+ q12026: {
2534
+ pubkey: "5eUdyJdLQNNXLT1z4UVKnnqAoYddv51WdgV1SmFEUaaN",
2535
+ pt_address: "E6dCWvmbew1gVf2YUzaCCSmrrdZC73SLUm3PRhCvYMmP",
2536
+ rt_address: "EeWCm5NTecqN83yiTzKrR6Z4FokTBhbD4eG3xS667X2Q"
2537
+ },
2538
+ q22026: {
2539
+ pubkey: "2FpGbFHL1g4sfYqA5y8E9xqeT1mZaNSfV2SardJPg9Af",
2540
+ pt_address: "3ZZbjL5bZZdhGQD7FTdGyTA5fnZ6PN7NHsm2mdoDfjH5",
2541
+ rt_address: "CeYQgrLwWqCC891wYoVXiaTtZAHEWKCfZQt7NtuSJfBf"
2542
+ },
2543
+ q32026: {
2544
+ pubkey: "3TnnzwzwxTd8K9FHZL7wLYNncbyp42inx7AifMA2jnGU",
2545
+ pt_address: "6LdfnA5vkGwT8UvJ5iSBQUFCtKXkgxCbWrxsGdPSgi6C",
2546
+ rt_address: "429nSsLXsbRQgjUHEb6B3FK1pKu753cEdm5GFUAkYZ7y"
2547
+ },
2548
+ q42026: {
2549
+ pubkey: "A75Se24tu3Z6yEEpBiDDdqZqXVyvgkEqgXjKv4SdVkox",
2550
+ pt_address: "C781R6EHC7AWqqHypocCsB3rVQDTJUsz2ARRe8pxw6jY",
2551
+ rt_address: "3kv6bgX8K1LYGKsYWV1FUvyyHKGxp1FPaDDoqaSTCFUf"
2552
+ }
2553
+ },
2554
+ solstice: {
2555
+ q12026: {
2556
+ pubkey: "HieSk2YzwFeWT6UAE3gT9q9mMU7dKHQKmefPCKBpNBJ7",
2557
+ pt_address: "AMu19ovqGEaPao6dV8d4AyDV1NKUx6ZGDzvY49nL5t3B",
2558
+ rt_address: "BE8WQhXLk6PJ6EUs3cA96Xjcho2ZCJGcpuJvgsUYBSYK"
2559
+ },
2560
+ q22026: {
2561
+ pubkey: "3rNGXWj7VdNxFMcBYh4v1YEhXxHWYWPcFxJZKMsttbfW",
2562
+ pt_address: "CG4RG2cP2HbZGEN1wXPbwBkMwZXtZsyymYsEKtpPMKAd",
2563
+ rt_address: "jbwszhqENoAcJa9vVjWSdHtaaqcBkZjHZemaboU56fG"
2564
+ },
2565
+ q32026: {
2566
+ pubkey: "4aDP3ncCjw1oBu98S7AGtnDXP5eKjcpQzrnR4SwqPBZ2",
2567
+ pt_address: "gW91rWS6dFuy5eaiE4WU9eNnAjJfevgKNHAWVUMinLR",
2568
+ rt_address: "7KkgENJjUav5XGj8j3xW82SVHWL2tMDjXZrx2V5aD4Xe"
2569
+ },
2570
+ q42026: {
2571
+ pubkey: "AhH91sjrZahpYpJafM2uXrGBa3Q4oGha9KgiwyJWeef7",
2572
+ pt_address: "8BpyjbRZEFPk588ertQjgF6khfoTTvPjBjNnXo2CmTrG",
2573
+ rt_address: "5oaCdAnc1etXE2NYeASAQVmdSszdhkPPbziXyCewqZtE"
2574
+ }
2575
+ },
2576
+ stakely: {
2577
+ q12026: {
2578
+ pubkey: "FrGBEonsMPaUBZkZMeXecFsCePSUDe6pQdFVf73dUFzQ",
2579
+ pt_address: "CDiXWQsMggfhGxnUvcUnw1WWUwG5sr9Eym1r1ZfcKGdT",
2580
+ rt_address: "ERG6oSp1Yg2SbuNWx5LFp3dwaKauxh7NmQVcyvoWH9Qt"
2581
+ },
2582
+ q22026: {
2583
+ pubkey: "3AQbZWmiRZ7ZqbhKSiMtsUvgRReyD14cVpLMtYLbmRvJ",
2584
+ pt_address: "CdbpLior5NxyzWZNvjviBpwKoq7inuCT4EBeJHq3SKu2",
2585
+ rt_address: "J59HdwCK4Mk4tTdRb5xB2edAQ6eaPPZgiW8YhpoC2dLK"
2586
+ },
2587
+ q32026: {
2588
+ pubkey: "9vLaTTvbvUA3cFq79U3cXorthy9MrxkeMJGsGEcF1tLo",
2589
+ pt_address: "4AwHJaY472hd3b9EVY18mv3ph87riwp1q3tCSHVpMUR6",
2590
+ rt_address: "C4N6oKtzfJ3wjoaAa2DtsvE9z4YZC4ZKqCJD3vtmQAoT"
2591
+ },
2592
+ q42026: {
2593
+ pubkey: "C7xgMEoJFqZR1jSK4rq1DetoAYSSS5peTZkm25ATWisK",
2594
+ pt_address: "Fg8knk6HrYyqnDtr8tLXAB9rpJ6FS8pUNsFx4SzvqcAj",
2595
+ rt_address: "FphgkMFE1dTCYzxSZKRbXatRb3nR9LwHLxXRBX3cZaTf"
2596
+ }
2597
+ },
2598
+ "stakr-space": {
2599
+ q12026: {
2600
+ pubkey: "FwuqaFRCyR84MrUGbLNJV93K55PyhG8U3ijd9FcJsxzr",
2601
+ pt_address: "H4Ht3tNRmQGqTwvpCDia188qjhBwdNnZ4hyT1ZwDZiWJ",
2602
+ rt_address: "DR8J5ZKcf5Fhuh5HvjbrgXDX5bG2mPWho8ourx1imQrQ"
2603
+ },
2604
+ q22026: {
2605
+ pubkey: "AnhbP84zeaSCai9spg3ypdoSK6bMxefL5kom8gTesqkz",
2606
+ pt_address: "3qbbvnXWEyt5vupGdcKKwxgoxQnPrZuP3Zsws8uikEBW",
2607
+ rt_address: "ANMeSYqpUqwhjiRx5NrzK1NJLMpAhiYdZ7jDKCiSHfEQ"
2608
+ },
2609
+ q32026: {
2610
+ pubkey: "JChYRnTsXfPr1Gavmi8XfV2hkVRzrhuMtMCxyDzamf9w",
2611
+ pt_address: "DVWtx2oF2PYNi5FgQ3nvrHzNVtkGNHSSRVtxRAwAwHxf",
2612
+ rt_address: "DRDyM314m1DGdcBLtcXHZMB9MTyigBLC21yiwsB2VmH1"
2613
+ },
2614
+ q42026: {
2615
+ pubkey: "HvTY41oyPD8zPCGd9GM6G1xaHEX2By8LennpkSGqhtMn",
2616
+ pt_address: "3imE7wXbYMBoMZ6rJ4yGYyJD9WWvYsAxFwFGedaS9HHT",
2617
+ rt_address: "31NE9aaDH9hXy2VeCSXah3Nr9xnv7zydrRviAgcAahgs"
2618
+ }
2619
+ },
2620
+ "starke-finance": {
2621
+ q12026: {
2622
+ pubkey: "6cTpdbDSGCLD8Uk5188ULprfEac8XMEQfM1H6eCX5afN",
2623
+ pt_address: "B1Bt81ogusoGf13GjH4fjJvL4doKPJ9idavRggNxWSP9",
2624
+ rt_address: "DwuW53h4SixLsqMFM7nCHGASYiYahrfacwmRNLE6XqqR"
2625
+ },
2626
+ q22026: {
2627
+ pubkey: "E4C9NXuGKW2M86QKCpuEXU6w54BBAqypcPL2gTPbqAqG",
2628
+ pt_address: "2ZhRE8LFvRCU3dirrKFGj2GzUJoihCs8ExkTXo8mQZyA",
2629
+ rt_address: "3ZLxw4Usm1T6xLYDVaCKX9NVnBTBuVWtcVQ7JnyxpZ8W"
2630
+ },
2631
+ q32026: {
2632
+ pubkey: "vMKdg5ChMHGHir3HKqKLh7fVKRE5q5hqCe6zG2FEzzB",
2633
+ pt_address: "EXSUvY5KsyaY8dUpBKXPexEbUG23QMWrPmzyB1D6Cmzh",
2634
+ rt_address: "AhiWFHwrSo5YZSS54VP4DYrnxZD7djz6Wa46f2RoVmQt"
2635
+ },
2636
+ q42026: {
2637
+ pubkey: "F8eotp6pEEAiQURr2oLs98ozqyHQoxtMudWvjUmVSSTL",
2638
+ pt_address: "DBu8kSniCiy5AAKXKZiVxPZRPyCi7ZLVd1tZo3z5ZnFQ",
2639
+ rt_address: "E3TCXYEbsm54pNwEsZvvB89UnKmvv5rREUBx45gu7Lrp"
2640
+ }
2641
+ },
2642
+ "sol-strategies": {
2643
+ q12026: {
2644
+ pubkey: "BnwkRyYw3RKSBfKy9YYeKFwK8qUZkMZ9ejYev8MPqgaz",
2645
+ pt_address: "3r64PxhY9EXCKG1MNxrGcpYcP5zyRfmPhT58uyCjHPUE",
2646
+ rt_address: "6cuWKYymyKMXEE4KxBiZEwHEUfYDTkg5GzHdHcg8G8LW"
2647
+ },
2648
+ q22026: {
2649
+ pubkey: "4C2JXMckMAX7nirbYk45LjBsY2F1QQbxjFV4YLCBoV1F",
2650
+ pt_address: "9rPfjFJCjGd8MAAqatM33uw7DE6aTxjXLvHznRT65Kh",
2651
+ rt_address: "uojnCj5i4HqQyJxfgGjEzYAbA1nCq7qFUkGXZTwnyNe"
2652
+ },
2653
+ q32026: {
2654
+ pubkey: "J3Q6YkbqQBybM6nwB5D6W2YcNzDAHMN6N2bWiQgNTGes",
2655
+ pt_address: "qijBQ5VGkz1Z3sk29qBCb37MPdnT1XjMxAWQZvNXZfu",
2656
+ rt_address: "DXooLmonnT4BoHYYg6utDiAoD3GndvxPnetRiGh287o8"
2657
+ },
2658
+ q42026: {
2659
+ pubkey: "32yLZAPpRV1fywyhfiKyzxV5BXzqQR2vNP934eajXhXj",
2660
+ pt_address: "3yMQuVZ1cdggrwL383WQocxFCiQwzPhTQaXAyYWw4gZe",
2661
+ rt_address: "2r1wbxndHbLVYM9JxfDfE4yh5QEivPWozxrLgjodhPv5"
2662
+ }
2663
+ },
2664
+ swyke: {
2665
+ q12026: {
2666
+ pubkey: "3HxGGBHvQvig4MXMAFT2fDMWC3BSRn2uBZHThszXwphx",
2667
+ pt_address: "E2s6cSSr1e2LBpna8yorvmikeNcSonAea4yKNdbB35os",
2668
+ rt_address: "CmNVCRzM8sKjKgMmUCD7m39cg7e5FP4vLNTdvZjc57uZ"
2669
+ },
2670
+ q22026: {
2671
+ pubkey: "EhmmYQdJMwt7yK7oLCbbPJiHKNy5P83ywDUwqESmo4dD",
2672
+ pt_address: "GzZTkQzySgx8gevhqX4pSXyBvZkPaBZ3P9QrEzGoWWQ",
2673
+ rt_address: "F4YawFZBtEoqqcT5MtuMXpk7Cu29WVN8sJ2Ua7pdF6RP"
2674
+ },
2675
+ q32026: {
2676
+ pubkey: "GsdbWASEPyoQrftXNc9pkbHhiLqUZuHM4FtB7ftkeGMF",
2677
+ pt_address: "FYYfU9wyw7wwenMJ2DHxMgGgk9ceUPte84nTbQxgPgCt",
2678
+ rt_address: "C3UJWjoMBLoEsWF1U4sMzP5RjzAoXawh5nwYNkBV4kzt"
2679
+ },
2680
+ q42026: {
2681
+ pubkey: "DD3wFv6R8yz1hBTWB1D3T12KjbHN6tuT1Mvh5oTU5wz4",
2682
+ pt_address: "7LQWKiXBQn6WiUJvxzYCiYs19RwkyQBKWvF6jDrA6kou",
2683
+ rt_address: "4wWTqnVfGFPNboMsG2ycDmRGYUuvEGaBfSLmo9SeUZt9"
2684
+ }
2685
+ },
2686
+ thw: {
2687
+ q12026: {
2688
+ pubkey: "4zxzL55FJUGM3q4UtyVzBA4zfAxKNJQV2EY6E6jqow8k",
2689
+ pt_address: "4ZArRXSN6srhMTM8n27GkdSZYMdMWz2scbxsrPznKeN5",
2690
+ rt_address: "FnsYqkF77JHAUoShZ1dc1RoMw7Co7p25zbH91U9vMa9k"
2691
+ },
2692
+ q22026: {
2693
+ pubkey: "4u6Bc2pMRD9JHaXVrR9QAALJibncggSaiRRMbr7zsWG1",
2694
+ pt_address: "FGYDT2RNoA1ENgNGH7on96FwkTSzw4Yu4kk355SBASHF",
2695
+ rt_address: "FPS76KcXCqYVG6CXTCn5H6Pnwb2mWAnFTrpNetqqfKkC"
2696
+ },
2697
+ q32026: {
2698
+ pubkey: "2EMRv1rNREa4Rnd5QCXQVLALHiJ3848XXpP5NM88JDW3",
2699
+ pt_address: "8jhYJzgp97QgvChwNkkfWLrcUMXoRx6WkTHH6xHe1spm",
2700
+ rt_address: "Ak85b8vKtG7LydRrgy4gD8zyiocf9TZ4X9YmyCJTQ9QD"
2701
+ },
2702
+ q42026: {
2703
+ pubkey: "GTDfvQvinW66stMbQFFUBhab7NRF44uzpJnr77bM3HQk",
2704
+ pt_address: "rTry7pVjg56NXfxsPVbtscnjJixeUazpNTXbMXepZcC",
2705
+ rt_address: "JEBeASPkZZnUf17VWT6Mc2PMfvk28qdGHQ1c2KNf1iUg"
2706
+ }
2707
+ },
2708
+ tinydancer: {
2709
+ q12026: {
2710
+ pubkey: "Afseq5hshFXF9adWBzdwoaNuyZrCbfYd8UBrZfr4ExVE",
2711
+ pt_address: "358qzSrMfUGG5suZ3Rh6L6FvvZ67aiRc2rFWdYUD7hnG",
2712
+ rt_address: "DRaQS3JjjY3G1Xy9bCPvH9tuATA9fU1V7zwBAE7WNk2D"
2713
+ },
2714
+ q22026: {
2715
+ pubkey: "DzqaoihfWScqR2zR2AdbK3cNAwrsx2wQ199U8UyTsLtW",
2716
+ pt_address: "4KDsRm1mbXbXBQ3gsnaJ5ExxENLEpji1nUfGmUyvPNZn",
2717
+ rt_address: "2VcjBXVcZJo7wi9VqVSTucw6645UyNs7qad3HkjPcUtS"
2718
+ },
2719
+ q32026: {
2720
+ pubkey: "2EDUsGYCjnMAGSwx5WHAt4FQ7e4UoTGFiGCrvGCWhtdE",
2721
+ pt_address: "4uwJDdW2KrZ6bWuvsRvEtM1vWC4Tvqd2jARQjTwHv2uF",
2722
+ rt_address: "C1zV6xkoYGhw7UvPAz24gxuYnQpYRH1rYQaatCJvjfRC"
2723
+ },
2724
+ q42026: {
2725
+ pubkey: "BunfkBszoUmBUdXsZT2PTr6sQAKSWJrs5DHkZ5QDVYme",
2726
+ pt_address: "GpeGUgbonyGXjFqhrMwxQhfsqpLEevJmirRdwMbmqqAH",
2727
+ rt_address: "BayKLPep4JUeULAuZGb4w4DBLT2nkuoqBn8osz1uQhcE"
2728
+ }
2729
+ },
2730
+ "vybe-network": {
2731
+ q12026: {
2732
+ pubkey: "AUHLqeiDG9nGoD1Sn6wAcHkvNraGZSHbkicAHHX8Z2j1",
2733
+ pt_address: "3wPJi4SAB7mTTD5y6fJo6TmvjbzjuSFNzw1Qyi1D1PbR",
2734
+ rt_address: "DjLSf7geHKYUYQHBZXqRg61CiTWN8iRqgWoUiDf8rXaX"
2735
+ },
2736
+ q22026: {
2737
+ pubkey: "7P5XhaBvGS4gcZjpEVpXK71GsSj1DCd5HDnoQUcNygm5",
2738
+ pt_address: "31V8jMsJvpwEcMysnGk4sh2JpLU7kCmbmpDrZJZnFQcA",
2739
+ rt_address: "3g9MGvd3F2GorDndVy21UnTQxCdkfpmGDMCXSH57bkAf"
2740
+ },
2741
+ q32026: {
2742
+ pubkey: "J3ny5oEGdCJb3WEuJdN8FUC9SFviiHBwdWYn1NU9eip1",
2743
+ pt_address: "C5Y1zJE9z5CvdaYBooZfUhoFNzK5rKZoUzYUPKAwKy7o",
2744
+ rt_address: "79LkjDVrsXDfTLdPbLd1qEWxiTmYoeZGdx2CQjRAztyp"
2745
+ },
2746
+ q42026: {
2747
+ pubkey: "7sQ6FVXtNthgTLuPbipMggPFBkwzRQAdNEoXahykWKRt",
2748
+ pt_address: "5tXkKvuFn7HzkyH7JS4s11c4aPFy3P6XXFUisFshhkdS",
2749
+ rt_address: "JBtqvpCyZHys726PB5VA5yATe8hRjyvMg761JqTYcAap"
2750
+ }
2751
+ },
2752
+ "valid-blocks": {
2753
+ q12026: {
2754
+ pubkey: "6CBJxUxiHzqXhW41UvqRzEPZjc1Es3ewUPNHkL5PNjJA",
2755
+ pt_address: "54E6QjzuBEuXcbaMj2A2UEfbyMP75Ly66vXoso3SUjU6",
2756
+ rt_address: "5VvLcNENWjCVvrjptkxvw3GySYjdq7oAEvnWaDQxYBJw"
2757
+ },
2758
+ q22026: {
2759
+ pubkey: "EivBkYkHHbeUPR7ifGgkyCcWvH3G9w7WRv37dfPojdMQ",
2760
+ pt_address: "EkFrBtyi6TB9qJL7jmcRt5gkM7922tzA3dcugtqfSU2k",
2761
+ rt_address: "3Gf3k3UbEFZwHwY3kU155xgTeTYTzuF6KwcCdTsGaswE"
2762
+ },
2763
+ q32026: {
2764
+ pubkey: "bxP6NK5cheRh7bHxE9LhmwfL6NTUCA5EB7aZ2PJAckC",
2765
+ pt_address: "Fa286p6HeAVJE3HdC8wDXWLCRjhmTpyiEaHad5b6Ye9w",
2766
+ rt_address: "66M4SCcH4U69ZKCJHtSTYhazsUEy9pz7HG31tF38w9C8"
2767
+ },
2768
+ q42026: {
2769
+ pubkey: "9F6tgbG7u6uVqHq5G6qJ6AH5mQffQhfbX1MASPx565tU",
2770
+ pt_address: "CMdsxYjRi6XrnP3YZ71XpHtYGUM3z3U7qdL4VxqcXsCk",
2771
+ rt_address: "76krb5WApn2Zh5Z4fCh37DNqDEEQjU7Xs9duuT5m3z8E"
2772
+ }
2773
+ },
2774
+ omakase: {
2775
+ q12026: {
2776
+ pubkey: "EWq7m4Jkfcfqrocm7f4XpRFU8ygaJ7p5fbtmmgcMYM8",
2777
+ pt_address: "8d8XRC8wUMXAqBqTQH7AniJwjmasgtbRBZY4ihdCTuPQ",
2778
+ rt_address: "FoQVJ3JPNw8nvtZrTzxbeqE4dbidEHFChsVTbv4iTtcy"
2779
+ },
2780
+ q22026: {
2781
+ pubkey: "DKX1ge82R5mYys5L8gYw6Ai7BSJDxHT51Xm2uUD8Sa2V",
2782
+ pt_address: "2HwUCNkE5GDdpWJZpAMTGvdG5FLPqb6JVbS62U57FnqM",
2783
+ rt_address: "Ewh9q4kd2fD2vcV2DH26ee5zmfUmnrf8dQZyAbAPTGUe"
2784
+ },
2785
+ q32026: {
2786
+ pubkey: "CeCMsq8WWZrAgNjDRiZVAcbh4GnPoBGQVAf5W4cerNPU",
2787
+ pt_address: "BW5Eoabamjhh3F3DTpXff33oDzzFRyJcS2k6Rg4ercBu",
2788
+ rt_address: "HvvnsvLxLNeNM6kWDmCVm9XdzCaHQXXDemVa2gn5iMLS"
2789
+ },
2790
+ q42026: {
2791
+ pubkey: "DKnzAxnTqHqkj5DPzm9prfKFsT3jXNQXGXVGu7B5kCQS",
2792
+ pt_address: "2UfaMvnA4czYL8xiGCvEhpeX4CkapmoE1eR8LW5Jjz87",
2793
+ rt_address: "5zRsAkMPssPbYGWP8QB7RH3mPok92vjQyXtd3yTAweeP"
2794
+ }
2795
+ },
2796
+ "nova-consortium": {
2797
+ q12026: {
2798
+ pubkey: "7J7e4qPekYWZrJv96BAg2CzJpZVEPnLKQZEK8XrcYUYb",
2799
+ pt_address: "BJ8RwhpsJWZfHWyGZVV1uuRYK8dsgPnvnR7w6Rh3Qcus",
2800
+ rt_address: "GQ1taX8Hp4Lrd6U2vH1WC8LfJE9tnUNARaLR3Fj1HdMD"
2801
+ },
2802
+ q22026: {
2803
+ pubkey: "3HrqyVa6epGWJvzxgbtVDAeZUVVD5s3vp6VbegJCj1zK",
2804
+ pt_address: "HEdjN5VyxWj4EPQkB75M9L2RSghvawrMDL1Bmb8VzBNP",
2805
+ rt_address: "7eq2xGg3fbQcLzDWhiSYosPJ8avvBD5R9nxUr63ixXcj"
2806
+ },
2807
+ q32026: {
2808
+ pubkey: "AXrGmkRAxRbHDyaabeUUZiRXvdwzzRuEuo3ZuhpBHbF4",
2809
+ pt_address: "9ot9gvnKGgVPub1vPs3BFm187Jjo7JM49WDX7esRK5Qf",
2810
+ rt_address: "3KaBJkw2cd4ZcB8KwjAYvTLVdgpSsMNAyUjwGRPpLiUJ"
2811
+ },
2812
+ q42026: {
2813
+ pubkey: "34oE8g7TJE92RJeHPcjfsw7SXE5PUiRkNTFe6zj8yuEU",
2814
+ pt_address: "BkBnam68tbXsqG8rhkuwxxuXV8sB5rADDDoDjWwY638c",
2815
+ rt_address: "FiVskuKkc7TeukCyPjCwG2JCy7Pcj45K46f44XuDKnd2"
2816
+ }
2817
+ }
2818
+ };
2819
+ function allowedLockups() {
2820
+ const allowed = new Set(ALLOWED_VALIDATORS.map((v) => v.id));
2821
+ const result = {};
2822
+ for (const [vid, mats] of Object.entries(lockups)) {
2823
+ if (allowed.has(vid)) {
2824
+ result[vid] = mats;
2825
+ }
2826
+ }
2827
+ return result;
2828
+ }
2829
+ var voteAccountToValidatorId = /* @__PURE__ */ new Map();
2830
+ for (const v of ALLOWED_VALIDATORS) {
2831
+ voteAccountToValidatorId.set(v.vote_account, v.id);
2832
+ }
2833
+ function lookupBondByVoteAccount(voteAccount, maturityId) {
2834
+ var _a;
2835
+ const validatorId = voteAccountToValidatorId.get(voteAccount);
2836
+ if (!validatorId) return null;
2837
+ const bond = (_a = lockups[validatorId]) == null ? void 0 : _a[maturityId];
2838
+ if (!bond) return null;
2839
+ return __spreadProps(__spreadValues({}, bond), { validatorId });
2840
+ }
2841
+ var _ptLookupCache = null;
2842
+ function buildPtLookup() {
2843
+ if (_ptLookupCache) return _ptLookupCache;
2844
+ const map = /* @__PURE__ */ new Map();
2845
+ for (const [vid, matMap] of Object.entries(lockups)) {
2846
+ if (!matMap) continue;
2847
+ for (const [mid, bond] of Object.entries(matMap)) {
2848
+ if (!bond) continue;
2849
+ map.set(bond.pt_address, {
2850
+ validatorId: vid,
2851
+ maturityId: mid,
2852
+ bond
2853
+ });
2854
+ }
2855
+ }
2856
+ _ptLookupCache = map;
2857
+ return map;
2858
+ }
2859
+ function buildMarketRows() {
2860
+ const pts = [];
2861
+ const rts = [];
2862
+ const allowed = allowedLockups();
2863
+ for (const [vid, mats] of Object.entries(allowed)) {
2864
+ const validator = validators[vid];
2865
+ for (const maturityId of maturityIdsArray) {
2866
+ const bond = mats[maturityId];
2867
+ if (!bond) continue;
2868
+ const row = {
2869
+ id: vid,
2870
+ name: validator.name,
2871
+ symbol: validator.symbol,
2872
+ maturityId,
2873
+ maturityLabel: maturities[maturityId].human_readable,
2874
+ pt_sol: validator.pt_sol,
2875
+ rt_sol: validator.rt_sol,
2876
+ bond,
2877
+ maturity: maturities[maturityId],
2878
+ validator
2879
+ };
2880
+ pts.push(row);
2881
+ rts.push(row);
2882
+ }
2883
+ }
2884
+ return { pts, rts };
2885
+ }
2886
+ var { pts: _pts, rts: _rts } = buildMarketRows();
2887
+
2888
+ // src/constants/tokens.ts
2889
+ var tokens = {
2890
+ // @dev: add new tokens here
2891
+ solana: {
2892
+ name: "Solana",
2893
+ symbol: "SOL",
2894
+ coingecko_id: "solana",
2895
+ icon: "/solana.svg",
2896
+ address: "So11111111111111111111111111111111111111112"
2897
+ }
2898
+ };
2899
+ var tokenIdsArray = Object.keys(tokens);
2900
+ function allTokenAddresses() {
2901
+ const addresses = Object.values(tokens).map((t) => t.address);
2902
+ const allowed = allowedLockups();
2903
+ for (const mats of Object.values(allowed)) {
2904
+ for (const bond of Object.values(mats)) {
2905
+ addresses.push(bond.pt_address);
2906
+ addresses.push(bond.rt_address);
2907
+ }
2908
+ }
2909
+ return addresses;
2910
+ }
2911
+
2912
+ // src/stores/wallet-store.ts
2913
+ import { createStore } from "zustand/vanilla";
2914
+ import { immer } from "zustand/middleware/immer";
2915
+ var initialState = {
2916
+ status: "disconnected",
2917
+ publicKey: null,
2918
+ displayAddress: null,
2919
+ balanceLamports: null,
2920
+ error: null,
2921
+ walletInitialized: false
2922
+ };
2923
+ function createWalletStore() {
2924
+ return createStore()(
2925
+ immer((set) => __spreadProps(__spreadValues({}, initialState), {
2926
+ setWalletStatus(status) {
2927
+ set((s) => {
2928
+ s.status = status;
2929
+ });
2930
+ },
2931
+ setWalletPublicKey(publicKey) {
2932
+ set((s) => {
2933
+ s.publicKey = publicKey;
2934
+ });
2935
+ },
2936
+ setDisplayAddress(displayAddress) {
2937
+ set((s) => {
2938
+ s.displayAddress = displayAddress;
2939
+ });
2940
+ },
2941
+ setBalanceLamports(lamports) {
2942
+ set((s) => {
2943
+ s.balanceLamports = lamports;
2944
+ });
2945
+ },
2946
+ setError(error) {
2947
+ set((s) => {
2948
+ s.error = error;
2949
+ });
2950
+ },
2951
+ setWalletInitialized(initialized) {
2952
+ set((s) => {
2953
+ s.walletInitialized = initialized;
2954
+ });
2955
+ },
2956
+ resetWallet() {
2957
+ set((s) => {
2958
+ s.status = "disconnected";
2959
+ s.publicKey = null;
2960
+ s.displayAddress = null;
2961
+ s.balanceLamports = null;
2962
+ s.error = null;
2963
+ });
2964
+ }
2965
+ }))
2966
+ );
2967
+ }
2968
+
2969
+ // src/stores/balance-store.ts
2970
+ import { createStore as createStore2 } from "zustand/vanilla";
2971
+ import { immer as immer2 } from "zustand/middleware/immer";
2972
+ function buildInitialBalances() {
2973
+ const balances = {};
2974
+ for (const address of allTokenAddresses()) {
2975
+ balances[address] = 0;
2976
+ }
2977
+ return balances;
2978
+ }
2979
+ var initialBalances = buildInitialBalances();
2980
+ function createBalanceStore() {
2981
+ return createStore2()(
2982
+ immer2((set) => ({
2983
+ walletBalances: __spreadValues({}, initialBalances),
2984
+ exchangeBalances: __spreadValues({}, initialBalances),
2985
+ openOrdersBalances: {},
2986
+ solBalances: {},
2987
+ solOpenOrdersBalances: {},
2988
+ openOrders: [],
2989
+ perMarketBaseBalances: {},
2990
+ userStakeAccounts: [],
2991
+ userStakeAccountsLoading: false,
2992
+ setWalletBalances(updates) {
2993
+ set((s) => {
2994
+ for (const [mint, amount] of Object.entries(updates)) {
2995
+ s.walletBalances[mint] = amount;
2996
+ }
2997
+ });
2998
+ },
2999
+ setExchangeBalances(updates) {
3000
+ set((s) => {
3001
+ for (const [mint, amount] of Object.entries(updates)) {
3002
+ s.exchangeBalances[mint] = amount;
3003
+ }
3004
+ });
3005
+ },
3006
+ setOpenOrdersBalances(updates) {
3007
+ set((s) => {
3008
+ s.openOrdersBalances = updates;
3009
+ });
3010
+ },
3011
+ setSolBalances(updates) {
3012
+ set((s) => {
3013
+ for (const [key, amount] of Object.entries(updates)) {
3014
+ s.solBalances[key] = amount;
3015
+ }
3016
+ });
3017
+ },
3018
+ setSolOpenOrdersBalances(updates) {
3019
+ set((s) => {
3020
+ for (const [key, amount] of Object.entries(updates)) {
3021
+ s.solOpenOrdersBalances[key] = amount;
3022
+ }
3023
+ });
3024
+ },
3025
+ setOpenOrders(orders) {
3026
+ set((s) => {
3027
+ s.openOrders = orders;
3028
+ });
3029
+ },
3030
+ setPerMarketBaseBalances(balances) {
3031
+ set((s) => {
3032
+ s.perMarketBaseBalances = balances;
3033
+ });
3034
+ },
3035
+ setUserStakeAccounts(accounts) {
3036
+ set((s) => {
3037
+ s.userStakeAccounts = accounts;
3038
+ });
3039
+ },
3040
+ setUserStakeAccountsLoading(loading) {
3041
+ set((s) => {
3042
+ s.userStakeAccountsLoading = loading;
3043
+ });
3044
+ },
3045
+ resetBalances() {
3046
+ set((s) => {
3047
+ s.walletBalances = __spreadValues({}, initialBalances);
3048
+ s.exchangeBalances = __spreadValues({}, initialBalances);
3049
+ s.openOrdersBalances = {};
3050
+ s.solBalances = {};
3051
+ s.solOpenOrdersBalances = {};
3052
+ s.openOrders = [];
3053
+ s.perMarketBaseBalances = {};
3054
+ s.userStakeAccounts = [];
3055
+ s.userStakeAccountsLoading = false;
3056
+ });
3057
+ }
3058
+ }))
3059
+ );
3060
+ }
3061
+
3062
+ // src/lib/manifest-parser.ts
3063
+ import { Market } from "@cks-systems/manifest-sdk";
3064
+ import { PublicKey } from "@solana/web3.js";
3065
+ if (typeof Buffer !== "undefined") {
3066
+ if (!Buffer.prototype.readBigUInt64LE) {
3067
+ Buffer.prototype.readBigUInt64LE = function(offset = 0) {
3068
+ const lo = BigInt(this.readUInt32LE(offset));
3069
+ const hi = BigInt(this.readUInt32LE(offset + 4));
3070
+ return lo + (hi << BigInt(32));
3071
+ };
3072
+ }
3073
+ if (!Buffer.prototype.readBigInt64LE) {
3074
+ Buffer.prototype.readBigInt64LE = function(offset = 0) {
3075
+ const lo = BigInt(this.readUInt32LE(offset));
3076
+ const hi = BigInt(this.readInt32LE(offset + 4));
3077
+ return lo + (hi << BigInt(32));
3078
+ };
3079
+ }
3080
+ }
3081
+ function parseOrderBook(marketPubkey, hexData) {
3082
+ var _a, _b;
3083
+ const hex = hexData.startsWith("0x") ? hexData.slice(2) : hexData;
3084
+ const buffer = Buffer.from(hex, "hex");
3085
+ const market = Market.loadFromBuffer({
3086
+ address: new PublicKey(marketPubkey),
3087
+ buffer
3088
+ });
3089
+ const asks = market.asks();
3090
+ const bids = market.bids();
3091
+ const totalAskSize = asks.reduce(
3092
+ (sum, o) => sum + Number(o.numBaseTokens.toString()),
3093
+ 0
3094
+ );
3095
+ const totalBidSize = bids.reduce(
3096
+ (sum, o) => sum + Number(o.numBaseTokens.toString()),
3097
+ 0
3098
+ );
3099
+ const individualAsks = asks.map((o) => ({
3100
+ sequenceNumber: o.sequenceNumber.toString(),
3101
+ size: Number(o.numBaseTokens.toString()),
3102
+ price: o.tokenPrice
3103
+ }));
3104
+ const individualBids = bids.map((o) => ({
3105
+ sequenceNumber: o.sequenceNumber.toString(),
3106
+ size: Number(o.numBaseTokens.toString()),
3107
+ price: o.tokenPrice
3108
+ }));
3109
+ return {
3110
+ totalAskSize,
3111
+ bestAskPrice: (_a = market.bestAskPrice()) != null ? _a : null,
3112
+ totalBidSize,
3113
+ bestBidPrice: (_b = market.bestBidPrice()) != null ? _b : null,
3114
+ askCount: asks.length,
3115
+ bidCount: bids.length,
3116
+ asks: individualAsks,
3117
+ bids: individualBids
3118
+ };
3119
+ }
3120
+
3121
+ // src/lib/market-service.ts
3122
+ import { createClient } from "@supabase/supabase-js";
3123
+ var MATURITY_TOLERANCE = 86400;
3124
+ var voteAccountToValidatorId2 = /* @__PURE__ */ new Map();
3125
+ for (const v of ALLOWED_VALIDATORS) {
3126
+ voteAccountToValidatorId2.set(v.vote_account, v.id);
3127
+ }
3128
+ function matchMaturity(maturityTs) {
3129
+ for (const id of maturityIdsArray) {
3130
+ const m = maturities[id];
3131
+ const mTs = Number(m.maturity_timestamp);
3132
+ if (Math.abs(maturityTs - mTs) <= MATURITY_TOLERANCE) {
3133
+ return id;
3134
+ }
3135
+ }
3136
+ return null;
3137
+ }
3138
+ async function fetchManifestMarkets() {
3139
+ var _a, _b;
3140
+ const config = getPyeConfig();
3141
+ const supabase = createClient(config.supabaseUrl, config.supabaseAnonKey);
3142
+ const allowedVoteAccounts = ALLOWED_VALIDATORS.map((v) => v.vote_account);
3143
+ const [marketsRes, bondsRes] = await Promise.all([
3144
+ supabase.from("manifest_markets").select("pubkey, base_mint, account_data"),
3145
+ supabase.from("solo_validator_bonds").select(
3146
+ "pubkey, validator_vote_account, principal_token_mint, yield_token_mint, maturity_ts"
3147
+ ).in("validator_vote_account", allowedVoteAccounts)
3148
+ ]);
3149
+ if (marketsRes.error) throw marketsRes.error;
3150
+ if (bondsRes.error) throw bondsRes.error;
3151
+ if (!((_a = marketsRes.data) == null ? void 0 : _a.length) || !((_b = bondsRes.data) == null ? void 0 : _b.length)) return [];
3152
+ const ptMintToBond = /* @__PURE__ */ new Map();
3153
+ const rtMintToBond = /* @__PURE__ */ new Map();
3154
+ for (const bond of bondsRes.data) {
3155
+ ptMintToBond.set(bond.principal_token_mint, bond);
3156
+ rtMintToBond.set(bond.yield_token_mint, bond);
3157
+ }
3158
+ const matched = [];
3159
+ for (const market of marketsRes.data) {
3160
+ const ptBond = ptMintToBond.get(market.base_mint);
3161
+ const rtBond = rtMintToBond.get(market.base_mint);
3162
+ const bond = ptBond != null ? ptBond : rtBond;
3163
+ if (!bond) continue;
3164
+ const validatorId = voteAccountToValidatorId2.get(bond.validator_vote_account);
3165
+ if (!validatorId) continue;
3166
+ const maturityId = matchMaturity(Number(bond.maturity_ts));
3167
+ if (!maturityId) continue;
3168
+ let orderBook = {
3169
+ totalAskSize: 0,
3170
+ bestAskPrice: null,
3171
+ totalBidSize: 0,
3172
+ bestBidPrice: null,
3173
+ askCount: 0,
3174
+ bidCount: 0,
3175
+ asks: [],
3176
+ bids: []
3177
+ };
3178
+ if (market.account_data) {
3179
+ try {
3180
+ orderBook = parseOrderBook(market.pubkey, market.account_data);
3181
+ } catch (e) {
3182
+ console.error(
3183
+ `Failed to parse order book for ${market.pubkey}:`,
3184
+ e instanceof Error ? e.message : e
3185
+ );
3186
+ }
3187
+ }
3188
+ matched.push(__spreadValues({
3189
+ marketPubkey: market.pubkey,
3190
+ bondPubkey: bond.pubkey,
3191
+ validatorId,
3192
+ maturityId,
3193
+ tokenType: ptBond ? "PT" : "RT"
3194
+ }, orderBook));
3195
+ }
3196
+ return matched;
3197
+ }
3198
+ function buildMarketLookup(markets) {
3199
+ const lookup = {};
3200
+ for (const m of markets) {
3201
+ const key = `${m.validatorId}-${m.maturityId}-${m.tokenType}`;
3202
+ if (!lookup[key]) {
3203
+ lookup[key] = __spreadValues({}, m);
3204
+ }
3205
+ }
3206
+ return lookup;
3207
+ }
3208
+
3209
+ // src/stores/market-store.ts
3210
+ import { createStore as createStore3 } from "zustand/vanilla";
3211
+ import { immer as immer3 } from "zustand/middleware/immer";
3212
+ import { createClient as createClient2 } from "@supabase/supabase-js";
3213
+ function getSupabase() {
3214
+ const config = getPyeConfig();
3215
+ return createClient2(config.supabaseUrl, config.supabaseAnonKey);
3216
+ }
3217
+ function buildInitialRtBacking() {
3218
+ const backing = {};
3219
+ const allowed = allowedLockups();
3220
+ for (const mats of Object.values(allowed)) {
3221
+ if (!mats) continue;
3222
+ for (const bond of Object.values(mats)) {
3223
+ if (!bond) continue;
3224
+ backing[bond.pubkey] = 0;
3225
+ }
3226
+ }
3227
+ return backing;
3228
+ }
3229
+ var initialState2 = {
3230
+ markets: {},
3231
+ pubkeyIndex: {},
3232
+ rtBacking: buildInitialRtBacking(),
3233
+ loading: false,
3234
+ lastFetched: null
3235
+ };
3236
+ function createMarketStore() {
3237
+ return createStore3()(
3238
+ immer3((set, get) => __spreadProps(__spreadValues({}, initialState2), {
3239
+ async fetchMarkets() {
3240
+ set((s) => {
3241
+ s.loading = true;
3242
+ });
3243
+ try {
3244
+ const matched = await fetchManifestMarkets();
3245
+ const lookup = buildMarketLookup(matched);
3246
+ const index = {};
3247
+ for (const [key, m] of Object.entries(lookup)) {
3248
+ index[m.marketPubkey] = key;
3249
+ }
3250
+ set((s) => {
3251
+ s.markets = lookup;
3252
+ s.pubkeyIndex = index;
3253
+ s.lastFetched = Date.now();
3254
+ });
3255
+ } finally {
3256
+ set((s) => {
3257
+ s.loading = false;
3258
+ });
3259
+ }
3260
+ },
3261
+ async fetchRtBacking() {
3262
+ const supabase = getSupabase();
3263
+ const { data: latest, error: latestErr } = await supabase.from("rt_backing").select("snapshot_at").order("snapshot_at", { ascending: false }).limit(1).single();
3264
+ if (latestErr || !latest) {
3265
+ console.error("[fetchRtBacking] Failed to get latest snapshot:", latestErr == null ? void 0 : latestErr.message);
3266
+ return;
3267
+ }
3268
+ const latestDate = new Date(latest.snapshot_at);
3269
+ latestDate.setMinutes(0, 0, 0);
3270
+ const batchStart = latestDate.toISOString();
3271
+ const { data, error } = await supabase.from("rt_backing").select("lockup_id, backing_per_rt").gte("snapshot_at", batchStart).order("snapshot_at", { ascending: true });
3272
+ if (error || !data) {
3273
+ console.error("[fetchRtBacking] Supabase error:", error == null ? void 0 : error.message);
3274
+ return;
3275
+ }
3276
+ set((s) => {
3277
+ for (const row of data) {
3278
+ s.rtBacking[row.lockup_id] = row.backing_per_rt;
3279
+ }
3280
+ });
3281
+ },
3282
+ getMarket(validatorId, maturityId, tokenType) {
3283
+ var _a;
3284
+ const key = `${validatorId}-${maturityId}-${tokenType}`;
3285
+ return (_a = get().markets[key]) != null ? _a : null;
3286
+ },
3287
+ updateMarketOrderBook(marketPubkey, summary) {
3288
+ const storeKey = get().pubkeyIndex[marketPubkey];
3289
+ if (!storeKey) return;
3290
+ set((s) => {
3291
+ const market = s.markets[storeKey];
3292
+ if (!market || market.marketPubkey !== marketPubkey) return;
3293
+ market.totalAskSize = summary.totalAskSize;
3294
+ market.bestAskPrice = summary.bestAskPrice;
3295
+ market.totalBidSize = summary.totalBidSize;
3296
+ market.bestBidPrice = summary.bestBidPrice;
3297
+ market.askCount = summary.askCount;
3298
+ market.bidCount = summary.bidCount;
3299
+ market.asks = summary.asks;
3300
+ market.bids = summary.bids;
3301
+ });
3302
+ }
3303
+ }))
3304
+ );
3305
+ }
3306
+
3307
+ // src/stores/apy-store.ts
3308
+ import { createStore as createStore4 } from "zustand/vanilla";
3309
+ import { immer as immer4 } from "zustand/middleware/immer";
3310
+ import { createClient as createClient3 } from "@supabase/supabase-js";
3311
+ function getSupabase2() {
3312
+ const config = getPyeConfig();
3313
+ return createClient3(config.supabaseUrl, config.supabaseAnonKey);
3314
+ }
3315
+ var initialState3 = {
3316
+ apyByVoteAccount: {},
3317
+ loading: false,
3318
+ lastFetched: null
3319
+ };
3320
+ function createApyStore() {
3321
+ return createStore4()(
3322
+ immer4((set, get) => __spreadProps(__spreadValues({}, initialState3), {
3323
+ async fetchApyForVoteAccounts(voteAccounts, force) {
3324
+ if (voteAccounts.length === 0) return;
3325
+ const toFetch = force ? voteAccounts : voteAccounts.filter((va) => !(va in get().apyByVoteAccount));
3326
+ if (toFetch.length === 0) return;
3327
+ set((s) => {
3328
+ s.loading = true;
3329
+ });
3330
+ try {
3331
+ const supabase = getSupabase2();
3332
+ const results = await Promise.all(
3333
+ toFetch.map(
3334
+ (va) => supabase.from("stakewiz_apy").select("apy, vote_account").eq("vote_account", va).order("updated_at", { ascending: false }).limit(1).single().then((res) => res.data)
3335
+ )
3336
+ );
3337
+ set((s) => {
3338
+ for (const row of results) {
3339
+ if ((row == null ? void 0 : row.vote_account) && row.apy != null) {
3340
+ s.apyByVoteAccount[row.vote_account] = Number(row.apy) / 100;
3341
+ }
3342
+ }
3343
+ s.lastFetched = Date.now();
3344
+ });
3345
+ } catch (err) {
3346
+ console.error("[ApyStore] fetch failed:", err);
3347
+ } finally {
3348
+ set((s) => {
3349
+ s.loading = false;
3350
+ });
3351
+ }
3352
+ }
3353
+ }))
3354
+ );
3355
+ }
3356
+
3357
+ // src/lib/fetch-user-stake-accounts.ts
3358
+ import { PublicKey as PublicKey2 } from "@solana/web3.js";
3359
+ import { createClient as createClient4 } from "@supabase/supabase-js";
3360
+ var STAKE_PROGRAM_ID = new PublicKey2(
3361
+ "Stake11111111111111111111111111111111111111"
3362
+ );
3363
+ var voteAccountToValidator = /* @__PURE__ */ new Map();
3364
+ for (const [id, v] of Object.entries(validators)) {
3365
+ voteAccountToValidator.set(v.vote_account, {
3366
+ id,
3367
+ name: v.name,
3368
+ icon: v.pt_sol
3369
+ });
3370
+ }
3371
+ async function fetchUserStakeAccounts(connection, owner) {
3372
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
3373
+ const config = getPyeConfig();
3374
+ const filterVoteAccount = config.voteAccount;
3375
+ const ownerBase58 = owner.toBase58();
3376
+ const [stakerAccounts, withdrawerAccounts, epochInfo] = await Promise.all([
3377
+ connection.getParsedProgramAccounts(STAKE_PROGRAM_ID, {
3378
+ filters: [
3379
+ { dataSize: 200 },
3380
+ { memcmp: { offset: 12, bytes: ownerBase58 } }
3381
+ ]
3382
+ }),
3383
+ connection.getParsedProgramAccounts(STAKE_PROGRAM_ID, {
3384
+ filters: [
3385
+ { dataSize: 200 },
3386
+ { memcmp: { offset: 44, bytes: ownerBase58 } }
3387
+ ]
3388
+ }),
3389
+ connection.getEpochInfo()
3390
+ ]);
3391
+ const seen = /* @__PURE__ */ new Set();
3392
+ const accounts = [];
3393
+ for (const a of [...stakerAccounts, ...withdrawerAccounts]) {
3394
+ const key = a.pubkey.toBase58();
3395
+ if (!seen.has(key)) {
3396
+ seen.add(key);
3397
+ accounts.push(a);
3398
+ }
3399
+ }
3400
+ const currentEpoch = BigInt(epochInfo.epoch);
3401
+ const U64_MAX = BigInt("18446744073709551615");
3402
+ const results = [];
3403
+ for (const { pubkey, account } of accounts) {
3404
+ const parsed = account.data.parsed;
3405
+ const delegation = (_b = (_a = parsed == null ? void 0 : parsed.info) == null ? void 0 : _a.stake) == null ? void 0 : _b.delegation;
3406
+ if (!(delegation == null ? void 0 : delegation.voter)) continue;
3407
+ if (filterVoteAccount && delegation.voter !== filterVoteAccount) continue;
3408
+ const validatorInfo = voteAccountToValidator.get(delegation.voter);
3409
+ const activationEpoch = BigInt((_c = delegation.activationEpoch) != null ? _c : "0");
3410
+ const deactivationEpoch = BigInt(
3411
+ (_d = delegation.deactivationEpoch) != null ? _d : U64_MAX.toString()
3412
+ );
3413
+ let state;
3414
+ if (deactivationEpoch < currentEpoch) {
3415
+ state = "inactive";
3416
+ } else if (deactivationEpoch === currentEpoch) {
3417
+ state = "deactivating";
3418
+ } else if (activationEpoch === currentEpoch) {
3419
+ state = "activating";
3420
+ } else {
3421
+ state = "active";
3422
+ }
3423
+ results.push({
3424
+ pubkey: pubkey.toBase58(),
3425
+ validatorVoteAccount: delegation.voter,
3426
+ validatorName: (_e = validatorInfo == null ? void 0 : validatorInfo.name) != null ? _e : "Unknown Validator",
3427
+ validatorIcon: (_f = validatorInfo == null ? void 0 : validatorInfo.icon) != null ? _f : "/solana-token.png",
3428
+ validatorLogo: null,
3429
+ validatorAltPubkey: null,
3430
+ lamports: Number((_g = delegation.stake) != null ? _g : account.lamports),
3431
+ state
3432
+ });
3433
+ }
3434
+ const voteAccounts = Array.from(
3435
+ new Set(results.map((r) => r.validatorVoteAccount))
3436
+ );
3437
+ if (voteAccounts.length > 0) {
3438
+ const supabase = createClient4(config.supabaseUrl, config.supabaseAnonKey);
3439
+ const { data, error } = await supabase.from("validator_metadata_configs").select("vote_pubkey, base_image_url, alt_pubkey").in("vote_pubkey", voteAccounts);
3440
+ if (error) {
3441
+ console.warn("[fetchUserStakeAccounts] metadata fetch failed:", error);
3442
+ } else if (data) {
3443
+ const metaByVote = /* @__PURE__ */ new Map();
3444
+ for (const row of data) {
3445
+ metaByVote.set(row.vote_pubkey, {
3446
+ logo: (_h = row.base_image_url) != null ? _h : null,
3447
+ alt: (_i = row.alt_pubkey) != null ? _i : null
3448
+ });
3449
+ }
3450
+ for (const r of results) {
3451
+ const meta = metaByVote.get(r.validatorVoteAccount);
3452
+ r.validatorLogo = (_j = meta == null ? void 0 : meta.logo) != null ? _j : null;
3453
+ r.validatorAltPubkey = (_k = meta == null ? void 0 : meta.alt) != null ? _k : null;
3454
+ }
3455
+ }
3456
+ }
3457
+ return results;
3458
+ }
3459
+
3460
+ // src/lib/fetch-balances.ts
3461
+ import { PublicKey as PublicKey3 } from "@solana/web3.js";
3462
+ import {
3463
+ TOKEN_PROGRAM_ID,
3464
+ AccountLayout,
3465
+ getAssociatedTokenAddressSync
3466
+ } from "@solana/spl-token";
3467
+ var SOL_MINT = "So11111111111111111111111111111111111111112";
3468
+ async function fetchBalances(connection, owner) {
3469
+ const balances = {};
3470
+ const mintAddresses = allTokenAddresses().filter((a) => a !== SOL_MINT);
3471
+ const atas = mintAddresses.map(
3472
+ (mint) => getAssociatedTokenAddressSync(
3473
+ new PublicKey3(mint),
3474
+ owner,
3475
+ true,
3476
+ TOKEN_PROGRAM_ID
3477
+ )
3478
+ );
3479
+ const [lamports, accountInfos] = await Promise.all([
3480
+ connection.getBalance(owner),
3481
+ connection.getMultipleAccountsInfo(atas)
3482
+ ]);
3483
+ balances[SOL_MINT] = lamports;
3484
+ for (let i = 0; i < accountInfos.length; i++) {
3485
+ const info = accountInfos[i];
3486
+ if (info) {
3487
+ const data = AccountLayout.decode(info.data);
3488
+ balances[mintAddresses[i]] = Number(data.amount);
3489
+ }
3490
+ }
3491
+ return balances;
3492
+ }
3493
+ async function fetchBalancesForMints(connection, owner, mints) {
3494
+ const balances = {};
3495
+ for (const mint of mints) balances[mint] = 0;
3496
+ const atas = mints.map(
3497
+ (mint) => getAssociatedTokenAddressSync(
3498
+ new PublicKey3(mint),
3499
+ owner,
3500
+ true,
3501
+ TOKEN_PROGRAM_ID
3502
+ )
3503
+ );
3504
+ const accountInfos = await connection.getMultipleAccountsInfo(atas);
3505
+ for (let i = 0; i < accountInfos.length; i++) {
3506
+ const info = accountInfos[i];
3507
+ if (info) {
3508
+ const data = AccountLayout.decode(info.data);
3509
+ balances[mints[i]] = Number(data.amount);
3510
+ }
3511
+ }
3512
+ return balances;
3513
+ }
3514
+
3515
+ // src/lib/fetch-exchange-balances.ts
3516
+ import { PublicKey as PublicKey4 } from "@solana/web3.js";
3517
+ import { Market as Market2 } from "@cks-systems/manifest-sdk";
3518
+ async function fetchExchangeBalances(connection, owner, markets) {
3519
+ var _a, _b;
3520
+ const exchangeBalances = {};
3521
+ const openOrdersBalances = {};
3522
+ const solBalances = {};
3523
+ const solOpenOrdersBalances = {};
3524
+ const openOrders = [];
3525
+ const perMarketBaseBalances = {};
3526
+ const SOL_MINT2 = "So11111111111111111111111111111111111111112";
3527
+ if (markets.length === 0) return { exchangeBalances, openOrdersBalances, solBalances, solOpenOrdersBalances, openOrders, perMarketBaseBalances };
3528
+ const lockups2 = allowedLockups();
3529
+ function getMintAddress(validatorId, maturityId, tokenType) {
3530
+ var _a2;
3531
+ const bond = (_a2 = lockups2[validatorId]) == null ? void 0 : _a2[maturityId];
3532
+ if (!bond) return null;
3533
+ return tokenType === "PT" ? bond.pt_address : bond.rt_address;
3534
+ }
3535
+ const marketPubkeys = markets.map((m) => new PublicKey4(m.marketPubkey));
3536
+ const accountInfos = await connection.getMultipleAccountsInfo(marketPubkeys);
3537
+ let totalSolBalance = 0;
3538
+ for (let i = 0; i < markets.length; i++) {
3539
+ const entry = markets[i];
3540
+ const info = accountInfos[i];
3541
+ if (!info) continue;
3542
+ const storeKey = `${entry.validatorId}-${entry.maturityId}-${entry.tokenType}`;
3543
+ try {
3544
+ const market = Market2.loadFromBuffer({
3545
+ address: marketPubkeys[i],
3546
+ buffer: info.data
3547
+ });
3548
+ const traderBalances = market.getBalances(owner);
3549
+ const baseWithdrawable = traderBalances.baseWithdrawableBalanceTokens;
3550
+ const baseOpenOrders = traderBalances.baseOpenOrdersBalanceTokens;
3551
+ const mint = getMintAddress(
3552
+ entry.validatorId,
3553
+ entry.maturityId,
3554
+ entry.tokenType
3555
+ );
3556
+ if (mint) {
3557
+ exchangeBalances[mint] = ((_a = exchangeBalances[mint]) != null ? _a : 0) + baseWithdrawable;
3558
+ openOrdersBalances[mint] = ((_b = openOrdersBalances[mint]) != null ? _b : 0) + baseOpenOrders;
3559
+ }
3560
+ perMarketBaseBalances[entry.marketPubkey] = baseWithdrawable;
3561
+ const quoteWithdrawable = traderBalances.quoteWithdrawableBalanceTokens;
3562
+ const quoteOpenOrders = traderBalances.quoteOpenOrdersBalanceTokens;
3563
+ solBalances[storeKey] = quoteWithdrawable;
3564
+ solOpenOrdersBalances[storeKey] = quoteOpenOrders;
3565
+ totalSolBalance += quoteWithdrawable + quoteOpenOrders;
3566
+ const traderAsks = market.asks().filter((o) => o.trader.equals(owner));
3567
+ const traderBids = market.bids().filter((o) => o.trader.equals(owner));
3568
+ for (const o of traderAsks) {
3569
+ openOrders.push({
3570
+ marketKey: entry.marketPubkey,
3571
+ isBid: false,
3572
+ numBaseTokens: Number(o.numBaseTokens.toString()),
3573
+ tokenPrice: o.tokenPrice,
3574
+ sequenceNumber: o.sequenceNumber.toString()
3575
+ });
3576
+ }
3577
+ for (const o of traderBids) {
3578
+ openOrders.push({
3579
+ marketKey: entry.marketPubkey,
3580
+ isBid: true,
3581
+ numBaseTokens: Number(o.numBaseTokens.toString()),
3582
+ tokenPrice: o.tokenPrice,
3583
+ sequenceNumber: o.sequenceNumber.toString()
3584
+ });
3585
+ }
3586
+ } catch (e) {
3587
+ console.error(
3588
+ `[ExchangeBalances] Failed to parse market ${entry.marketPubkey}:`,
3589
+ e instanceof Error ? e.message : e
3590
+ );
3591
+ }
3592
+ }
3593
+ exchangeBalances[SOL_MINT2] = totalSolBalance;
3594
+ return { exchangeBalances, openOrdersBalances, solBalances, solOpenOrdersBalances, openOrders, perMarketBaseBalances };
3595
+ }
3596
+
3597
+ export {
3598
+ __spreadValues,
3599
+ configurePyeSDK,
3600
+ getPyeConfig,
3601
+ validators,
3602
+ ALLOWED_VALIDATORS,
3603
+ maturities,
3604
+ maturitiesArray,
3605
+ maturityIdsArray,
3606
+ getMaturity,
3607
+ lockups,
3608
+ allowedLockups,
3609
+ lookupBondByVoteAccount,
3610
+ buildPtLookup,
3611
+ tokens,
3612
+ tokenIdsArray,
3613
+ allTokenAddresses,
3614
+ createWalletStore,
3615
+ createBalanceStore,
3616
+ parseOrderBook,
3617
+ fetchManifestMarkets,
3618
+ buildMarketLookup,
3619
+ createMarketStore,
3620
+ createApyStore,
3621
+ fetchUserStakeAccounts,
3622
+ fetchBalances,
3623
+ fetchBalancesForMints,
3624
+ fetchExchangeBalances
3625
+ };
3626
+ //# sourceMappingURL=chunk-5XHGVQ3Z.js.map