@wireio/stake 0.0.6 → 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.
Files changed (48) hide show
  1. package/README.md +260 -13
  2. package/lib/stake.browser.js +4861 -4218
  3. package/lib/stake.browser.js.map +1 -1
  4. package/lib/stake.d.ts +434 -6484
  5. package/lib/stake.js +5059 -4371
  6. package/lib/stake.js.map +1 -1
  7. package/lib/stake.m.js +4861 -4218
  8. package/lib/stake.m.js.map +1 -1
  9. package/package.json +2 -2
  10. package/src/assets/solana/idl/liqsol_core.json +4239 -0
  11. package/src/assets/solana/idl/liqsol_token.json +183 -0
  12. package/src/assets/solana/idl/validator_leaderboard.json +296 -250
  13. package/src/assets/solana/types/liqsol_core.ts +4245 -0
  14. package/src/assets/solana/types/liqsol_token.ts +189 -0
  15. package/src/assets/solana/types/validator_leaderboard.ts +296 -250
  16. package/src/index.ts +2 -5
  17. package/src/networks/ethereum/contract.ts +138 -36
  18. package/src/networks/ethereum/ethereum.ts +167 -38
  19. package/src/networks/ethereum/types.ts +32 -1
  20. package/src/networks/solana/clients/deposit.client.ts +92 -139
  21. package/src/networks/solana/clients/distribution.client.ts +302 -178
  22. package/src/networks/solana/clients/leaderboard.client.ts +40 -160
  23. package/src/networks/solana/constants.ts +238 -69
  24. package/src/networks/solana/program.ts +27 -93
  25. package/src/networks/solana/solana.ts +181 -36
  26. package/src/networks/solana/types.ts +47 -0
  27. package/src/networks/solana/utils.ts +522 -93
  28. package/src/scripts/fetch-artifacts.sh +24 -0
  29. package/src/scripts/tsconfig.json +17 -0
  30. package/src/staker/staker.ts +35 -30
  31. package/src/staker/types.ts +25 -22
  32. package/src/assets/solana/idl/deposit.json +0 -260
  33. package/src/assets/solana/idl/distribution.json +0 -736
  34. package/src/assets/solana/idl/liq_sol_token.json +0 -275
  35. package/src/assets/solana/idl/stake_controller.json +0 -1788
  36. package/src/assets/solana/idl/stake_registry.json +0 -435
  37. package/src/assets/solana/idl/treasury.json +0 -336
  38. package/src/assets/solana/idl/validator_registry.json +0 -418
  39. package/src/assets/solana/idl/yield_oracle.json +0 -32
  40. package/src/assets/solana/types/deposit.ts +0 -266
  41. package/src/assets/solana/types/distribution.ts +0 -742
  42. package/src/assets/solana/types/liq_sol_token.ts +0 -281
  43. package/src/assets/solana/types/stake_controller.ts +0 -1794
  44. package/src/assets/solana/types/stake_registry.ts +0 -441
  45. package/src/assets/solana/types/treasury.ts +0 -342
  46. package/src/assets/solana/types/validator_registry.ts +0 -424
  47. package/src/assets/solana/types/yield_oracle.ts +0 -38
  48. package/src/utils.ts +0 -9
@@ -1,742 +0,0 @@
1
- /**
2
- * Program IDL in camelCase format in order to be used in JS/TS.
3
- *
4
- * Note that this is only a type helper and is not the actual IDL. The original
5
- * IDL can be found at `target/idl/distribution.json`.
6
- */
7
- export type Distribution = {
8
- "address": "4MAXmFPeLotiGBt1BRWQwUYrWcsvGKrWWKxMwiMgKfci",
9
- "metadata": {
10
- "name": "distribution",
11
- "version": "0.1.0",
12
- "spec": "0.1.0",
13
- "description": "Created with Anchor"
14
- },
15
- "instructions": [
16
- {
17
- "name": "claimRewards",
18
- "discriminator": [
19
- 4,
20
- 144,
21
- 132,
22
- 71,
23
- 116,
24
- 23,
25
- 151,
26
- 80
27
- ],
28
- "accounts": [
29
- {
30
- "name": "user",
31
- "writable": true,
32
- "signer": true
33
- },
34
- {
35
- "name": "userAta",
36
- "writable": true,
37
- "pda": {
38
- "seeds": [
39
- {
40
- "kind": "account",
41
- "path": "user"
42
- },
43
- {
44
- "kind": "const",
45
- "value": [
46
- 6,
47
- 221,
48
- 246,
49
- 225,
50
- 215,
51
- 101,
52
- 161,
53
- 147,
54
- 217,
55
- 203,
56
- 225,
57
- 70,
58
- 206,
59
- 235,
60
- 121,
61
- 172,
62
- 28,
63
- 180,
64
- 133,
65
- 237,
66
- 95,
67
- 91,
68
- 55,
69
- 145,
70
- 58,
71
- 140,
72
- 245,
73
- 133,
74
- 126,
75
- 255,
76
- 0,
77
- 169
78
- ]
79
- },
80
- {
81
- "kind": "account",
82
- "path": "liqsolMint"
83
- }
84
- ],
85
- "program": {
86
- "kind": "const",
87
- "value": [
88
- 140,
89
- 151,
90
- 37,
91
- 143,
92
- 78,
93
- 36,
94
- 137,
95
- 241,
96
- 187,
97
- 61,
98
- 16,
99
- 41,
100
- 20,
101
- 142,
102
- 13,
103
- 131,
104
- 11,
105
- 90,
106
- 19,
107
- 153,
108
- 218,
109
- 255,
110
- 16,
111
- 132,
112
- 4,
113
- 142,
114
- 123,
115
- 216,
116
- 219,
117
- 233,
118
- 248,
119
- 89
120
- ]
121
- }
122
- }
123
- },
124
- {
125
- "name": "userRecord",
126
- "writable": true,
127
- "pda": {
128
- "seeds": [
129
- {
130
- "kind": "const",
131
- "value": [
132
- 117,
133
- 115,
134
- 101,
135
- 114,
136
- 95,
137
- 114,
138
- 101,
139
- 99,
140
- 111,
141
- 114,
142
- 100
143
- ]
144
- },
145
- {
146
- "kind": "account",
147
- "path": "user"
148
- }
149
- ]
150
- }
151
- },
152
- {
153
- "name": "distributionState",
154
- "writable": true,
155
- "pda": {
156
- "seeds": [
157
- {
158
- "kind": "const",
159
- "value": [
160
- 100,
161
- 105,
162
- 115,
163
- 116,
164
- 114,
165
- 105,
166
- 98,
167
- 117,
168
- 116,
169
- 105,
170
- 111,
171
- 110,
172
- 95,
173
- 115,
174
- 116,
175
- 97,
176
- 116,
177
- 101
178
- ]
179
- }
180
- ]
181
- }
182
- },
183
- {
184
- "name": "liqsolMint",
185
- "writable": true
186
- },
187
- {
188
- "name": "liqsolProgram",
189
- "address": "4XtXy6aa2VCi6GN2Vnj3F5GfGG2qbVhBz2DpDSy8MF4X"
190
- },
191
- {
192
- "name": "liqsolMintAuthority"
193
- },
194
- {
195
- "name": "instructionsSysvar",
196
- "address": "Sysvar1nstructions1111111111111111111111111"
197
- },
198
- {
199
- "name": "yieldOracleProgram"
200
- },
201
- {
202
- "name": "tokenProgram"
203
- },
204
- {
205
- "name": "associatedTokenProgram",
206
- "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
207
- },
208
- {
209
- "name": "systemProgram",
210
- "address": "11111111111111111111111111111111"
211
- }
212
- ],
213
- "args": []
214
- },
215
- {
216
- "name": "initialize",
217
- "discriminator": [
218
- 175,
219
- 175,
220
- 109,
221
- 31,
222
- 13,
223
- 152,
224
- 155,
225
- 237
226
- ],
227
- "accounts": [
228
- {
229
- "name": "authority",
230
- "writable": true,
231
- "signer": true
232
- },
233
- {
234
- "name": "liqsolMint"
235
- },
236
- {
237
- "name": "distributionState",
238
- "writable": true,
239
- "pda": {
240
- "seeds": [
241
- {
242
- "kind": "const",
243
- "value": [
244
- 100,
245
- 105,
246
- 115,
247
- 116,
248
- 114,
249
- 105,
250
- 98,
251
- 117,
252
- 116,
253
- 105,
254
- 111,
255
- 110,
256
- 95,
257
- 115,
258
- 116,
259
- 97,
260
- 116,
261
- 101
262
- ]
263
- }
264
- ]
265
- }
266
- },
267
- {
268
- "name": "tokenProgram"
269
- },
270
- {
271
- "name": "systemProgram",
272
- "address": "11111111111111111111111111111111"
273
- },
274
- {
275
- "name": "rent",
276
- "address": "SysvarRent111111111111111111111111111111111"
277
- }
278
- ],
279
- "args": []
280
- },
281
- {
282
- "name": "updateUser",
283
- "discriminator": [
284
- 9,
285
- 2,
286
- 160,
287
- 169,
288
- 118,
289
- 12,
290
- 207,
291
- 84
292
- ],
293
- "accounts": [
294
- {
295
- "name": "user",
296
- "writable": true
297
- },
298
- {
299
- "name": "userAta",
300
- "writable": true
301
- },
302
- {
303
- "name": "userRecord",
304
- "writable": true,
305
- "pda": {
306
- "seeds": [
307
- {
308
- "kind": "const",
309
- "value": [
310
- 117,
311
- 115,
312
- 101,
313
- 114,
314
- 95,
315
- 114,
316
- 101,
317
- 99,
318
- 111,
319
- 114,
320
- 100
321
- ]
322
- },
323
- {
324
- "kind": "account",
325
- "path": "user"
326
- }
327
- ]
328
- }
329
- },
330
- {
331
- "name": "authority",
332
- "docs": [
333
- "Authority that can update this user record",
334
- "- For manual registration: user's keypair",
335
- "- For deposit flow: deposit program's program_authority PDA"
336
- ],
337
- "signer": true
338
- },
339
- {
340
- "name": "payer",
341
- "docs": [
342
- "Payer for the user record PDA creation (always the user)"
343
- ],
344
- "writable": true,
345
- "signer": true
346
- },
347
- {
348
- "name": "distributionState",
349
- "writable": true,
350
- "pda": {
351
- "seeds": [
352
- {
353
- "kind": "const",
354
- "value": [
355
- 100,
356
- 105,
357
- 115,
358
- 116,
359
- 114,
360
- 105,
361
- 98,
362
- 117,
363
- 116,
364
- 105,
365
- 111,
366
- 110,
367
- 95,
368
- 115,
369
- 116,
370
- 97,
371
- 116,
372
- 101
373
- ]
374
- }
375
- ]
376
- }
377
- },
378
- {
379
- "name": "liqsolMint"
380
- },
381
- {
382
- "name": "instructionsSysvar",
383
- "address": "Sysvar1nstructions1111111111111111111111111"
384
- },
385
- {
386
- "name": "tokenProgram"
387
- },
388
- {
389
- "name": "yieldOracleProgram"
390
- },
391
- {
392
- "name": "systemProgram",
393
- "address": "11111111111111111111111111111111"
394
- }
395
- ],
396
- "args": []
397
- },
398
- {
399
- "name": "withdraw",
400
- "discriminator": [
401
- 183,
402
- 18,
403
- 70,
404
- 156,
405
- 148,
406
- 109,
407
- 161,
408
- 34
409
- ],
410
- "accounts": [
411
- {
412
- "name": "user",
413
- "writable": true,
414
- "signer": true
415
- },
416
- {
417
- "name": "userAta",
418
- "writable": true,
419
- "pda": {
420
- "seeds": [
421
- {
422
- "kind": "account",
423
- "path": "user"
424
- },
425
- {
426
- "kind": "const",
427
- "value": [
428
- 6,
429
- 221,
430
- 246,
431
- 225,
432
- 215,
433
- 101,
434
- 161,
435
- 147,
436
- 217,
437
- 203,
438
- 225,
439
- 70,
440
- 206,
441
- 235,
442
- 121,
443
- 172,
444
- 28,
445
- 180,
446
- 133,
447
- 237,
448
- 95,
449
- 91,
450
- 55,
451
- 145,
452
- 58,
453
- 140,
454
- 245,
455
- 133,
456
- 126,
457
- 255,
458
- 0,
459
- 169
460
- ]
461
- },
462
- {
463
- "kind": "account",
464
- "path": "distribution_state.liqsol_mint",
465
- "account": "distributionState"
466
- }
467
- ],
468
- "program": {
469
- "kind": "const",
470
- "value": [
471
- 140,
472
- 151,
473
- 37,
474
- 143,
475
- 78,
476
- 36,
477
- 137,
478
- 241,
479
- 187,
480
- 61,
481
- 16,
482
- 41,
483
- 20,
484
- 142,
485
- 13,
486
- 131,
487
- 11,
488
- 90,
489
- 19,
490
- 153,
491
- 218,
492
- 255,
493
- 16,
494
- 132,
495
- 4,
496
- 142,
497
- 123,
498
- 216,
499
- 219,
500
- 233,
501
- 248,
502
- 89
503
- ]
504
- }
505
- }
506
- },
507
- {
508
- "name": "userRecord",
509
- "writable": true,
510
- "pda": {
511
- "seeds": [
512
- {
513
- "kind": "const",
514
- "value": [
515
- 117,
516
- 115,
517
- 101,
518
- 114,
519
- 95,
520
- 114,
521
- 101,
522
- 99,
523
- 111,
524
- 114,
525
- 100
526
- ]
527
- },
528
- {
529
- "kind": "account",
530
- "path": "user"
531
- }
532
- ]
533
- }
534
- },
535
- {
536
- "name": "distributionState",
537
- "writable": true,
538
- "pda": {
539
- "seeds": [
540
- {
541
- "kind": "const",
542
- "value": [
543
- 100,
544
- 105,
545
- 115,
546
- 116,
547
- 114,
548
- 105,
549
- 98,
550
- 117,
551
- 116,
552
- 105,
553
- 111,
554
- 110,
555
- 95,
556
- 115,
557
- 116,
558
- 97,
559
- 116,
560
- 101
561
- ]
562
- }
563
- ]
564
- }
565
- },
566
- {
567
- "name": "liqsolMint",
568
- "writable": true
569
- },
570
- {
571
- "name": "tokenProgram"
572
- },
573
- {
574
- "name": "stakeControllerProgram"
575
- },
576
- {
577
- "name": "stakeControllerState"
578
- },
579
- {
580
- "name": "controllerAuthority"
581
- },
582
- {
583
- "name": "yieldOracleProgram"
584
- },
585
- {
586
- "name": "systemProgram",
587
- "address": "11111111111111111111111111111111"
588
- }
589
- ],
590
- "args": [
591
- {
592
- "name": "amount",
593
- "type": "u64"
594
- }
595
- ]
596
- }
597
- ],
598
- "accounts": [
599
- {
600
- "name": "distributionState",
601
- "discriminator": [
602
- 7,
603
- 25,
604
- 94,
605
- 15,
606
- 208,
607
- 170,
608
- 4,
609
- 103
610
- ]
611
- },
612
- {
613
- "name": "userRecord",
614
- "discriminator": [
615
- 210,
616
- 252,
617
- 132,
618
- 218,
619
- 191,
620
- 85,
621
- 173,
622
- 167
623
- ]
624
- }
625
- ],
626
- "errors": [
627
- {
628
- "code": 6000,
629
- "name": "overflow",
630
- "msg": "Arithmetic overflow"
631
- },
632
- {
633
- "code": 6001,
634
- "name": "noRewardsToClaim",
635
- "msg": "No rewards to claim"
636
- },
637
- {
638
- "code": 6002,
639
- "name": "insufficientBalance",
640
- "msg": "Insufficient balance"
641
- },
642
- {
643
- "code": 6003,
644
- "name": "insufficientFunds",
645
- "msg": "Insufficient funds"
646
- },
647
- {
648
- "code": 6004,
649
- "name": "unauthorized",
650
- "msg": "Unauthorized - caller is not the distribution authority"
651
- },
652
- {
653
- "code": 6005,
654
- "name": "invalidMint",
655
- "msg": "Invalid mint"
656
- },
657
- {
658
- "code": 6006,
659
- "name": "invalidOwner",
660
- "msg": "Invalid owner"
661
- },
662
- {
663
- "code": 6007,
664
- "name": "invalidUserRecord",
665
- "msg": "Invalid user record"
666
- },
667
- {
668
- "code": 6008,
669
- "name": "invalidWithdrawal",
670
- "msg": "Invalid withdrawal - balance increased instead of decreased"
671
- },
672
- {
673
- "code": 6009,
674
- "name": "invalidProgramId",
675
- "msg": "Invalid program ID"
676
- },
677
- {
678
- "code": 6010,
679
- "name": "unauthorizedProgram",
680
- "msg": "Unauthorized program attempting CPI call"
681
- },
682
- {
683
- "code": 6011,
684
- "name": "instructionIntrospectionFailed",
685
- "msg": "Instruction introspection failed"
686
- }
687
- ],
688
- "types": [
689
- {
690
- "name": "distributionState",
691
- "type": {
692
- "kind": "struct",
693
- "fields": [
694
- {
695
- "name": "liqsolMint",
696
- "type": "pubkey"
697
- },
698
- {
699
- "name": "totalTrackedBalance",
700
- "type": "u64"
701
- },
702
- {
703
- "name": "availableBalance",
704
- "type": "u64"
705
- },
706
- {
707
- "name": "bump",
708
- "type": "u8"
709
- }
710
- ]
711
- }
712
- },
713
- {
714
- "name": "userRecord",
715
- "type": {
716
- "kind": "struct",
717
- "fields": [
718
- {
719
- "name": "userAta",
720
- "type": "pubkey"
721
- },
722
- {
723
- "name": "trackedBalance",
724
- "type": "u64"
725
- },
726
- {
727
- "name": "claimBalance",
728
- "type": "u64"
729
- },
730
- {
731
- "name": "lastClaimTimestamp",
732
- "type": "i64"
733
- },
734
- {
735
- "name": "bump",
736
- "type": "u8"
737
- }
738
- ]
739
- }
740
- }
741
- ]
742
- };