@wireio/stake 0.0.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.
Files changed (48) hide show
  1. package/LICENSE.md +114 -0
  2. package/README.md +28 -0
  3. package/lib/stake.browser.js +6875 -0
  4. package/lib/stake.browser.js.map +1 -0
  5. package/lib/stake.d.ts +6759 -0
  6. package/lib/stake.js +7178 -0
  7. package/lib/stake.js.map +1 -0
  8. package/lib/stake.m.js +6875 -0
  9. package/lib/stake.m.js.map +1 -0
  10. package/package.json +102 -0
  11. package/src/assets/ethereum/ABI/token/ERC1155Token.sol/ERC1155Token.dbg.json +4 -0
  12. package/src/assets/ethereum/ABI/token/ERC1155Token.sol/ERC1155Token.json +472 -0
  13. package/src/assets/ethereum/ABI/token/ERC20Token.sol/ERC20Token.dbg.json +4 -0
  14. package/src/assets/ethereum/ABI/token/ERC20Token.sol/ERC20Token.json +330 -0
  15. package/src/assets/ethereum/ABI/token/ERC721Token.sol/ERC721Token.dbg.json +4 -0
  16. package/src/assets/ethereum/ABI/token/ERC721Token.sol/ERC721Token.json +449 -0
  17. package/src/assets/solana/idl/deposit.json +260 -0
  18. package/src/assets/solana/idl/distribution.json +736 -0
  19. package/src/assets/solana/idl/liq_sol_token.json +275 -0
  20. package/src/assets/solana/idl/stake_controller.json +1788 -0
  21. package/src/assets/solana/idl/stake_registry.json +435 -0
  22. package/src/assets/solana/idl/treasury.json +336 -0
  23. package/src/assets/solana/idl/validator_leaderboard.json +528 -0
  24. package/src/assets/solana/idl/validator_registry.json +418 -0
  25. package/src/assets/solana/idl/yield_oracle.json +32 -0
  26. package/src/assets/solana/types/deposit.ts +266 -0
  27. package/src/assets/solana/types/distribution.ts +742 -0
  28. package/src/assets/solana/types/liq_sol_token.ts +281 -0
  29. package/src/assets/solana/types/stake_controller.ts +1794 -0
  30. package/src/assets/solana/types/stake_registry.ts +441 -0
  31. package/src/assets/solana/types/treasury.ts +342 -0
  32. package/src/assets/solana/types/validator_leaderboard.ts +534 -0
  33. package/src/assets/solana/types/validator_registry.ts +424 -0
  34. package/src/assets/solana/types/yield_oracle.ts +38 -0
  35. package/src/index.ts +21 -0
  36. package/src/networks/ethereum/contract.ts +167 -0
  37. package/src/networks/ethereum/ethereum.ts +64 -0
  38. package/src/networks/ethereum/types.ts +6 -0
  39. package/src/networks/solana/clients/deposit.client.ts +178 -0
  40. package/src/networks/solana/clients/distribution.client.ts +230 -0
  41. package/src/networks/solana/clients/leaderboard.client.ts +179 -0
  42. package/src/networks/solana/constants.ts +73 -0
  43. package/src/networks/solana/program.ts +113 -0
  44. package/src/networks/solana/solana.ts +84 -0
  45. package/src/networks/solana/utils.ts +122 -0
  46. package/src/staker/staker.ts +38 -0
  47. package/src/staker/types.ts +26 -0
  48. package/src/utils.ts +9 -0
@@ -0,0 +1,528 @@
1
+ {
2
+ "address": "4tY1rN1EX7SfyhjwgRh8nEFp9AwCGwXrcUXnWDMac35e",
3
+ "metadata": {
4
+ "name": "validator_leaderboard",
5
+ "version": "0.1.0",
6
+ "spec": "0.1.0",
7
+ "description": "Created with Anchor"
8
+ },
9
+ "instructions": [
10
+ {
11
+ "name": "get_cached_top_10",
12
+ "discriminator": [
13
+ 28,
14
+ 77,
15
+ 207,
16
+ 225,
17
+ 217,
18
+ 150,
19
+ 249,
20
+ 51
21
+ ],
22
+ "accounts": [
23
+ {
24
+ "name": "cache",
25
+ "pda": {
26
+ "seeds": [
27
+ {
28
+ "kind": "const",
29
+ "value": [
30
+ 116,
31
+ 111,
32
+ 112,
33
+ 95,
34
+ 49,
35
+ 48,
36
+ 95,
37
+ 99,
38
+ 97,
39
+ 99,
40
+ 104,
41
+ 101
42
+ ]
43
+ }
44
+ ]
45
+ }
46
+ }
47
+ ],
48
+ "args": [],
49
+ "returns": {
50
+ "array": [
51
+ "pubkey",
52
+ 10
53
+ ]
54
+ }
55
+ },
56
+ {
57
+ "name": "initialize",
58
+ "discriminator": [
59
+ 175,
60
+ 175,
61
+ 109,
62
+ 31,
63
+ 13,
64
+ 152,
65
+ 155,
66
+ 237
67
+ ],
68
+ "accounts": [
69
+ {
70
+ "name": "authority",
71
+ "writable": true,
72
+ "signer": true
73
+ },
74
+ {
75
+ "name": "leaderboard_head",
76
+ "docs": [
77
+ "HEAD node - points to the highest VPP validator"
78
+ ],
79
+ "writable": true,
80
+ "pda": {
81
+ "seeds": [
82
+ {
83
+ "kind": "const",
84
+ "value": [
85
+ 108,
86
+ 101,
87
+ 97,
88
+ 100,
89
+ 101,
90
+ 114,
91
+ 98,
92
+ 111,
93
+ 97,
94
+ 114,
95
+ 100,
96
+ 95,
97
+ 104,
98
+ 101,
99
+ 97,
100
+ 100
101
+ ]
102
+ }
103
+ ]
104
+ }
105
+ },
106
+ {
107
+ "name": "system_program",
108
+ "address": "11111111111111111111111111111111"
109
+ }
110
+ ],
111
+ "args": []
112
+ },
113
+ {
114
+ "name": "update_top_10_cache",
115
+ "discriminator": [
116
+ 0,
117
+ 35,
118
+ 58,
119
+ 64,
120
+ 74,
121
+ 12,
122
+ 249,
123
+ 209
124
+ ],
125
+ "accounts": [
126
+ {
127
+ "name": "payer",
128
+ "writable": true,
129
+ "signer": true
130
+ },
131
+ {
132
+ "name": "cache",
133
+ "writable": true,
134
+ "pda": {
135
+ "seeds": [
136
+ {
137
+ "kind": "const",
138
+ "value": [
139
+ 116,
140
+ 111,
141
+ 112,
142
+ 95,
143
+ 49,
144
+ 48,
145
+ 95,
146
+ 99,
147
+ 97,
148
+ 99,
149
+ 104,
150
+ 101
151
+ ]
152
+ }
153
+ ]
154
+ }
155
+ },
156
+ {
157
+ "name": "system_program",
158
+ "address": "11111111111111111111111111111111"
159
+ }
160
+ ],
161
+ "args": [
162
+ {
163
+ "name": "top_10",
164
+ "type": {
165
+ "array": [
166
+ "pubkey",
167
+ 10
168
+ ]
169
+ }
170
+ }
171
+ ]
172
+ },
173
+ {
174
+ "name": "update_validator",
175
+ "discriminator": [
176
+ 105,
177
+ 192,
178
+ 4,
179
+ 98,
180
+ 236,
181
+ 115,
182
+ 108,
183
+ 192
184
+ ],
185
+ "accounts": [
186
+ {
187
+ "name": "registrant",
188
+ "writable": true,
189
+ "signer": true
190
+ },
191
+ {
192
+ "name": "vote_account"
193
+ },
194
+ {
195
+ "name": "validator_record",
196
+ "writable": true,
197
+ "pda": {
198
+ "seeds": [
199
+ {
200
+ "kind": "const",
201
+ "value": [
202
+ 118,
203
+ 97,
204
+ 108,
205
+ 105,
206
+ 100,
207
+ 97,
208
+ 116,
209
+ 111,
210
+ 114
211
+ ]
212
+ },
213
+ {
214
+ "kind": "account",
215
+ "path": "vote_account"
216
+ }
217
+ ]
218
+ }
219
+ },
220
+ {
221
+ "name": "leaderboard_head",
222
+ "writable": true,
223
+ "pda": {
224
+ "seeds": [
225
+ {
226
+ "kind": "const",
227
+ "value": [
228
+ 108,
229
+ 101,
230
+ 97,
231
+ 100,
232
+ 101,
233
+ 114,
234
+ 98,
235
+ 111,
236
+ 97,
237
+ 114,
238
+ 100,
239
+ 95,
240
+ 104,
241
+ 101,
242
+ 97,
243
+ 100
244
+ ]
245
+ }
246
+ ]
247
+ }
248
+ },
249
+ {
250
+ "name": "insert_after",
251
+ "writable": true,
252
+ "optional": true
253
+ },
254
+ {
255
+ "name": "insert_before",
256
+ "writable": true,
257
+ "optional": true
258
+ },
259
+ {
260
+ "name": "current_prev",
261
+ "writable": true,
262
+ "optional": true
263
+ },
264
+ {
265
+ "name": "current_next",
266
+ "writable": true,
267
+ "optional": true
268
+ },
269
+ {
270
+ "name": "system_program",
271
+ "address": "11111111111111111111111111111111"
272
+ }
273
+ ],
274
+ "args": [
275
+ {
276
+ "name": "vpp",
277
+ "type": "u64"
278
+ }
279
+ ]
280
+ }
281
+ ],
282
+ "accounts": [
283
+ {
284
+ "name": "LeaderboardHead",
285
+ "discriminator": [
286
+ 159,
287
+ 158,
288
+ 16,
289
+ 9,
290
+ 41,
291
+ 114,
292
+ 23,
293
+ 157
294
+ ]
295
+ },
296
+ {
297
+ "name": "Top10Cache",
298
+ "discriminator": [
299
+ 112,
300
+ 78,
301
+ 189,
302
+ 26,
303
+ 143,
304
+ 41,
305
+ 15,
306
+ 81
307
+ ]
308
+ },
309
+ {
310
+ "name": "ValidatorRecord",
311
+ "discriminator": [
312
+ 105,
313
+ 248,
314
+ 112,
315
+ 34,
316
+ 71,
317
+ 224,
318
+ 21,
319
+ 71
320
+ ]
321
+ }
322
+ ],
323
+ "errors": [
324
+ {
325
+ "code": 6000,
326
+ "name": "MissingPreviousValidator",
327
+ "msg": "Missing previous validator account"
328
+ },
329
+ {
330
+ "code": 6001,
331
+ "name": "MissingNextValidator",
332
+ "msg": "Missing next validator account"
333
+ },
334
+ {
335
+ "code": 6002,
336
+ "name": "InvalidVppScore",
337
+ "msg": "Invalid VPP score provided."
338
+ },
339
+ {
340
+ "code": 6003,
341
+ "name": "InvalidInsertPosition",
342
+ "msg": "Invalid insertion position."
343
+ },
344
+ {
345
+ "code": 6004,
346
+ "name": "InvalidCurrentPrev",
347
+ "msg": "Invalid current previous validator."
348
+ },
349
+ {
350
+ "code": 6005,
351
+ "name": "InvalidCurrentNext",
352
+ "msg": "Invalid current next validator."
353
+ },
354
+ {
355
+ "code": 6006,
356
+ "name": "InvalidHeadValidator",
357
+ "msg": "Head validator cannot have a previous validator"
358
+ },
359
+ {
360
+ "code": 6007,
361
+ "name": "InvalidTailValidator",
362
+ "msg": "Tail validator cannot have a next validator"
363
+ },
364
+ {
365
+ "code": 6008,
366
+ "name": "ValidatorNotInLeaderboard",
367
+ "msg": "Cannot remove validator that is not in the leaderboard"
368
+ },
369
+ {
370
+ "code": 6009,
371
+ "name": "ValidatorAlreadyExists",
372
+ "msg": "Validator already exists in the leaderboard"
373
+ },
374
+ {
375
+ "code": 6010,
376
+ "name": "Overflow",
377
+ "msg": "Arithmetic overflow"
378
+ },
379
+ {
380
+ "code": 6011,
381
+ "name": "InvalidVoteAccount",
382
+ "msg": "Invalid vote account - must be owned by vote program"
383
+ },
384
+ {
385
+ "code": 6012,
386
+ "name": "VppVerificationFailed",
387
+ "msg": "VPP verification failed"
388
+ },
389
+ {
390
+ "code": 6013,
391
+ "name": "VppUnchanged",
392
+ "msg": "VPP score unchanged - update not needed"
393
+ },
394
+ {
395
+ "code": 6014,
396
+ "name": "InvalidAccountCount",
397
+ "msg": "Invalid account count for top 10 verification"
398
+ },
399
+ {
400
+ "code": 6015,
401
+ "name": "InvalidVppOrdering",
402
+ "msg": "Validators not in correct VPP order"
403
+ },
404
+ {
405
+ "code": 6016,
406
+ "name": "BrokenLinkage",
407
+ "msg": "Broken linked list continuity"
408
+ }
409
+ ],
410
+ "types": [
411
+ {
412
+ "name": "LeaderboardHead",
413
+ "docs": [
414
+ "Special HEAD node for the linked list"
415
+ ],
416
+ "type": {
417
+ "kind": "struct",
418
+ "fields": [
419
+ {
420
+ "name": "next_validator",
421
+ "type": "pubkey"
422
+ },
423
+ {
424
+ "name": "bump",
425
+ "type": "u8"
426
+ }
427
+ ]
428
+ }
429
+ },
430
+ {
431
+ "name": "Top10Cache",
432
+ "docs": [
433
+ "Cache for the top 10 validators for fast CPI access"
434
+ ],
435
+ "type": {
436
+ "kind": "struct",
437
+ "fields": [
438
+ {
439
+ "name": "validators",
440
+ "type": {
441
+ "array": [
442
+ "pubkey",
443
+ 10
444
+ ]
445
+ }
446
+ },
447
+ {
448
+ "name": "last_updated_slot",
449
+ "type": "u64"
450
+ },
451
+ {
452
+ "name": "bump",
453
+ "type": "u8"
454
+ }
455
+ ]
456
+ }
457
+ },
458
+ {
459
+ "name": "ValidatorRecord",
460
+ "type": {
461
+ "kind": "struct",
462
+ "fields": [
463
+ {
464
+ "name": "vote_account",
465
+ "type": "pubkey"
466
+ },
467
+ {
468
+ "name": "credits_observed",
469
+ "type": "u64"
470
+ },
471
+ {
472
+ "name": "commission_history",
473
+ "type": {
474
+ "array": [
475
+ "u8",
476
+ 10
477
+ ]
478
+ }
479
+ },
480
+ {
481
+ "name": "commission_index",
482
+ "type": "u8"
483
+ },
484
+ {
485
+ "name": "last_commission_update",
486
+ "type": "u64"
487
+ },
488
+ {
489
+ "name": "epoch",
490
+ "type": "u64"
491
+ },
492
+ {
493
+ "name": "slot",
494
+ "type": "u64"
495
+ },
496
+ {
497
+ "name": "performance",
498
+ "type": "u64"
499
+ },
500
+ {
501
+ "name": "stake",
502
+ "type": "u64"
503
+ },
504
+ {
505
+ "name": "registrant",
506
+ "type": "pubkey"
507
+ },
508
+ {
509
+ "name": "wire_operator",
510
+ "type": "bool"
511
+ },
512
+ {
513
+ "name": "next_validator",
514
+ "type": "pubkey"
515
+ },
516
+ {
517
+ "name": "prev_validator",
518
+ "type": "pubkey"
519
+ },
520
+ {
521
+ "name": "bump",
522
+ "type": "u8"
523
+ }
524
+ ]
525
+ }
526
+ }
527
+ ]
528
+ }