@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,1794 +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/stake_controller.json`.
6
- */
7
- export type StakeController = {
8
- "address": "2BLSWVneoJAFXTDW2siQuEaZ7RUPTb9df482VChToK7K",
9
- "metadata": {
10
- "name": "stakeController",
11
- "version": "0.1.0",
12
- "spec": "0.1.0"
13
- },
14
- "instructions": [
15
- {
16
- "name": "claimUnstake",
17
- "discriminator": [
18
- 172,
19
- 113,
20
- 117,
21
- 178,
22
- 223,
23
- 245,
24
- 247,
25
- 118
26
- ],
27
- "accounts": [
28
- {
29
- "name": "user",
30
- "writable": true,
31
- "signer": true
32
- },
33
- {
34
- "name": "vault",
35
- "writable": true,
36
- "pda": {
37
- "seeds": [
38
- {
39
- "kind": "const",
40
- "value": [
41
- 118,
42
- 97,
43
- 117,
44
- 108,
45
- 116
46
- ]
47
- }
48
- ]
49
- }
50
- },
51
- {
52
- "name": "controllerState",
53
- "writable": true,
54
- "pda": {
55
- "seeds": [
56
- {
57
- "kind": "const",
58
- "value": [
59
- 115,
60
- 116,
61
- 97,
62
- 107,
63
- 101,
64
- 95,
65
- 99,
66
- 111,
67
- 110,
68
- 116,
69
- 114,
70
- 111,
71
- 108,
72
- 108,
73
- 101,
74
- 114
75
- ]
76
- }
77
- ]
78
- }
79
- }
80
- ],
81
- "args": [
82
- {
83
- "name": "ticketId",
84
- "type": "u64"
85
- }
86
- ]
87
- },
88
- {
89
- "name": "depositToReserve",
90
- "discriminator": [
91
- 8,
92
- 79,
93
- 123,
94
- 129,
95
- 146,
96
- 140,
97
- 178,
98
- 128
99
- ],
100
- "accounts": [
101
- {
102
- "name": "depositor",
103
- "writable": true,
104
- "signer": true
105
- },
106
- {
107
- "name": "reservePool",
108
- "writable": true,
109
- "pda": {
110
- "seeds": [
111
- {
112
- "kind": "const",
113
- "value": [
114
- 114,
115
- 101,
116
- 115,
117
- 101,
118
- 114,
119
- 118,
120
- 101,
121
- 95,
122
- 112,
123
- 111,
124
- 111,
125
- 108
126
- ]
127
- }
128
- ]
129
- }
130
- },
131
- {
132
- "name": "vault",
133
- "pda": {
134
- "seeds": [
135
- {
136
- "kind": "const",
137
- "value": [
138
- 118,
139
- 97,
140
- 117,
141
- 108,
142
- 116
143
- ]
144
- }
145
- ]
146
- }
147
- },
148
- {
149
- "name": "ephemeralStake",
150
- "writable": true
151
- },
152
- {
153
- "name": "controllerState",
154
- "pda": {
155
- "seeds": [
156
- {
157
- "kind": "const",
158
- "value": [
159
- 115,
160
- 116,
161
- 97,
162
- 107,
163
- 101,
164
- 95,
165
- 99,
166
- 111,
167
- 110,
168
- 116,
169
- 114,
170
- 111,
171
- 108,
172
- 108,
173
- 101,
174
- 114
175
- ]
176
- }
177
- ]
178
- }
179
- },
180
- {
181
- "name": "stakeProgram"
182
- },
183
- {
184
- "name": "systemProgram",
185
- "address": "11111111111111111111111111111111"
186
- },
187
- {
188
- "name": "clock",
189
- "address": "SysvarC1ock11111111111111111111111111111111"
190
- },
191
- {
192
- "name": "stakeHistory"
193
- },
194
- {
195
- "name": "rent",
196
- "address": "SysvarRent111111111111111111111111111111111"
197
- }
198
- ],
199
- "args": [
200
- {
201
- "name": "amount",
202
- "type": "u64"
203
- },
204
- {
205
- "name": "seed",
206
- "type": "u32"
207
- }
208
- ]
209
- },
210
- {
211
- "name": "distributeFromReserve",
212
- "discriminator": [
213
- 204,
214
- 157,
215
- 72,
216
- 30,
217
- 26,
218
- 149,
219
- 166,
220
- 166
221
- ],
222
- "accounts": [
223
- {
224
- "name": "admin",
225
- "writable": true,
226
- "signer": true
227
- },
228
- {
229
- "name": "reservePool",
230
- "writable": true,
231
- "pda": {
232
- "seeds": [
233
- {
234
- "kind": "const",
235
- "value": [
236
- 114,
237
- 101,
238
- 115,
239
- 101,
240
- 114,
241
- 118,
242
- 101,
243
- 95,
244
- 112,
245
- 111,
246
- 111,
247
- 108
248
- ]
249
- }
250
- ]
251
- }
252
- },
253
- {
254
- "name": "vault",
255
- "pda": {
256
- "seeds": [
257
- {
258
- "kind": "const",
259
- "value": [
260
- 118,
261
- 97,
262
- 117,
263
- 108,
264
- 116
265
- ]
266
- }
267
- ]
268
- }
269
- },
270
- {
271
- "name": "controllerState",
272
- "pda": {
273
- "seeds": [
274
- {
275
- "kind": "const",
276
- "value": [
277
- 115,
278
- 116,
279
- 97,
280
- 107,
281
- 101,
282
- 95,
283
- 99,
284
- 111,
285
- 110,
286
- 116,
287
- 114,
288
- 111,
289
- 108,
290
- 108,
291
- 101,
292
- 114
293
- ]
294
- }
295
- ]
296
- }
297
- },
298
- {
299
- "name": "validatorRegistry",
300
- "writable": true
301
- },
302
- {
303
- "name": "validatorRegistryProgram",
304
- "address": "DqaNZkyhg6ASSkut8tyQGjwMtv35Yj5rA9JZvzmzZb3e"
305
- },
306
- {
307
- "name": "stakeProgram"
308
- },
309
- {
310
- "name": "systemProgram",
311
- "address": "11111111111111111111111111111111"
312
- },
313
- {
314
- "name": "clock",
315
- "address": "SysvarC1ock11111111111111111111111111111111"
316
- },
317
- {
318
- "name": "stakeHistory"
319
- },
320
- {
321
- "name": "stakeConfig"
322
- },
323
- {
324
- "name": "rent",
325
- "address": "SysvarRent111111111111111111111111111111111"
326
- }
327
- ],
328
- "args": [
329
- {
330
- "name": "validatorsCount",
331
- "type": "u8"
332
- }
333
- ]
334
- },
335
- {
336
- "name": "initialize",
337
- "discriminator": [
338
- 175,
339
- 175,
340
- 109,
341
- 31,
342
- 13,
343
- 152,
344
- 155,
345
- 237
346
- ],
347
- "accounts": [
348
- {
349
- "name": "controllerState",
350
- "writable": true,
351
- "pda": {
352
- "seeds": [
353
- {
354
- "kind": "const",
355
- "value": [
356
- 115,
357
- 116,
358
- 97,
359
- 107,
360
- 101,
361
- 95,
362
- 99,
363
- 111,
364
- 110,
365
- 116,
366
- 114,
367
- 111,
368
- 108,
369
- 108,
370
- 101,
371
- 114
372
- ]
373
- }
374
- ]
375
- }
376
- },
377
- {
378
- "name": "payer",
379
- "writable": true,
380
- "signer": true
381
- },
382
- {
383
- "name": "authority",
384
- "signer": true
385
- },
386
- {
387
- "name": "systemProgram",
388
- "address": "11111111111111111111111111111111"
389
- }
390
- ],
391
- "args": []
392
- },
393
- {
394
- "name": "initializeReservePool",
395
- "discriminator": [
396
- 4,
397
- 7,
398
- 171,
399
- 131,
400
- 156,
401
- 172,
402
- 150,
403
- 220
404
- ],
405
- "accounts": [
406
- {
407
- "name": "reservePool",
408
- "writable": true,
409
- "pda": {
410
- "seeds": [
411
- {
412
- "kind": "const",
413
- "value": [
414
- 114,
415
- 101,
416
- 115,
417
- 101,
418
- 114,
419
- 118,
420
- 101,
421
- 95,
422
- 112,
423
- 111,
424
- 111,
425
- 108
426
- ]
427
- }
428
- ]
429
- }
430
- },
431
- {
432
- "name": "vault",
433
- "pda": {
434
- "seeds": [
435
- {
436
- "kind": "const",
437
- "value": [
438
- 118,
439
- 97,
440
- 117,
441
- 108,
442
- 116
443
- ]
444
- }
445
- ]
446
- }
447
- },
448
- {
449
- "name": "payer",
450
- "writable": true,
451
- "signer": true
452
- },
453
- {
454
- "name": "controllerState",
455
- "writable": true,
456
- "pda": {
457
- "seeds": [
458
- {
459
- "kind": "const",
460
- "value": [
461
- 115,
462
- 116,
463
- 97,
464
- 107,
465
- 101,
466
- 95,
467
- 99,
468
- 111,
469
- 110,
470
- 116,
471
- 114,
472
- 111,
473
- 108,
474
- 108,
475
- 101,
476
- 114
477
- ]
478
- }
479
- ]
480
- }
481
- },
482
- {
483
- "name": "stakeProgram",
484
- "address": "Stake11111111111111111111111111111111111111"
485
- },
486
- {
487
- "name": "systemProgram",
488
- "address": "11111111111111111111111111111111"
489
- },
490
- {
491
- "name": "rent",
492
- "address": "SysvarRent111111111111111111111111111111111"
493
- }
494
- ],
495
- "args": []
496
- },
497
- {
498
- "name": "initializeVault",
499
- "discriminator": [
500
- 48,
501
- 191,
502
- 163,
503
- 44,
504
- 71,
505
- 129,
506
- 63,
507
- 164
508
- ],
509
- "accounts": [
510
- {
511
- "name": "vault",
512
- "writable": true,
513
- "pda": {
514
- "seeds": [
515
- {
516
- "kind": "const",
517
- "value": [
518
- 118,
519
- 97,
520
- 117,
521
- 108,
522
- 116
523
- ]
524
- }
525
- ]
526
- }
527
- },
528
- {
529
- "name": "payer",
530
- "writable": true,
531
- "signer": true
532
- },
533
- {
534
- "name": "controllerState",
535
- "writable": true,
536
- "pda": {
537
- "seeds": [
538
- {
539
- "kind": "const",
540
- "value": [
541
- 115,
542
- 116,
543
- 97,
544
- 107,
545
- 101,
546
- 95,
547
- 99,
548
- 111,
549
- 110,
550
- 116,
551
- 114,
552
- 111,
553
- 108,
554
- 108,
555
- 101,
556
- 114
557
- ]
558
- }
559
- ]
560
- }
561
- },
562
- {
563
- "name": "treasuryProgram",
564
- "address": "GJXKqEbdu76rRW6HcAVVupxdS3TetKfm7Dg8q3trHR8T"
565
- },
566
- {
567
- "name": "treasury",
568
- "writable": true,
569
- "pda": {
570
- "seeds": [
571
- {
572
- "kind": "const",
573
- "value": [
574
- 116,
575
- 114,
576
- 101,
577
- 97,
578
- 115,
579
- 117,
580
- 114,
581
- 121
582
- ]
583
- }
584
- ],
585
- "program": {
586
- "kind": "account",
587
- "path": "treasuryProgram"
588
- }
589
- }
590
- },
591
- {
592
- "name": "treasuryConfig",
593
- "pda": {
594
- "seeds": [
595
- {
596
- "kind": "const",
597
- "value": [
598
- 116,
599
- 114,
600
- 101,
601
- 97,
602
- 115,
603
- 117,
604
- 114,
605
- 121,
606
- 95,
607
- 99,
608
- 111,
609
- 110,
610
- 102,
611
- 105,
612
- 103
613
- ]
614
- }
615
- ],
616
- "program": {
617
- "kind": "account",
618
- "path": "treasuryProgram"
619
- }
620
- }
621
- },
622
- {
623
- "name": "systemProgram",
624
- "address": "11111111111111111111111111111111"
625
- }
626
- ],
627
- "args": []
628
- },
629
- {
630
- "name": "initializeYieldHistory",
631
- "discriminator": [
632
- 238,
633
- 128,
634
- 77,
635
- 15,
636
- 178,
637
- 181,
638
- 48,
639
- 20
640
- ],
641
- "accounts": [
642
- {
643
- "name": "admin",
644
- "writable": true,
645
- "signer": true
646
- },
647
- {
648
- "name": "yieldHistory",
649
- "writable": true,
650
- "pda": {
651
- "seeds": [
652
- {
653
- "kind": "const",
654
- "value": [
655
- 121,
656
- 105,
657
- 101,
658
- 108,
659
- 100,
660
- 95,
661
- 104,
662
- 105,
663
- 115,
664
- 116,
665
- 111,
666
- 114,
667
- 121
668
- ]
669
- },
670
- {
671
- "kind": "arg",
672
- "path": "validator"
673
- }
674
- ]
675
- }
676
- },
677
- {
678
- "name": "systemProgram",
679
- "address": "11111111111111111111111111111111"
680
- }
681
- ],
682
- "args": [
683
- {
684
- "name": "validator",
685
- "type": "pubkey"
686
- }
687
- ]
688
- },
689
- {
690
- "name": "markEpochResolved",
691
- "discriminator": [
692
- 48,
693
- 60,
694
- 35,
695
- 201,
696
- 188,
697
- 9,
698
- 93,
699
- 14
700
- ],
701
- "accounts": [
702
- {
703
- "name": "admin",
704
- "signer": true
705
- },
706
- {
707
- "name": "validatorEpochInfo",
708
- "writable": true,
709
- "pda": {
710
- "seeds": [
711
- {
712
- "kind": "const",
713
- "value": [
714
- 118,
715
- 97,
716
- 108,
717
- 105,
718
- 100,
719
- 97,
720
- 116,
721
- 111,
722
- 114,
723
- 95,
724
- 101,
725
- 112,
726
- 111,
727
- 99,
728
- 104,
729
- 95,
730
- 105,
731
- 110,
732
- 102,
733
- 111
734
- ]
735
- },
736
- {
737
- "kind": "arg",
738
- "path": "validator"
739
- },
740
- {
741
- "kind": "arg",
742
- "path": "epoch"
743
- }
744
- ]
745
- }
746
- }
747
- ],
748
- "args": [
749
- {
750
- "name": "validator",
751
- "type": "pubkey"
752
- },
753
- {
754
- "name": "epoch",
755
- "type": "u64"
756
- }
757
- ]
758
- },
759
- {
760
- "name": "mergeEpochStakesBatch",
761
- "discriminator": [
762
- 59,
763
- 236,
764
- 93,
765
- 218,
766
- 134,
767
- 186,
768
- 165,
769
- 0
770
- ],
771
- "accounts": [
772
- {
773
- "name": "admin",
774
- "writable": true,
775
- "signer": true
776
- },
777
- {
778
- "name": "vault",
779
- "writable": true,
780
- "pda": {
781
- "seeds": [
782
- {
783
- "kind": "const",
784
- "value": [
785
- 118,
786
- 97,
787
- 117,
788
- 108,
789
- 116
790
- ]
791
- }
792
- ]
793
- }
794
- },
795
- {
796
- "name": "mainValidatorStake",
797
- "writable": true,
798
- "pda": {
799
- "seeds": [
800
- {
801
- "kind": "const",
802
- "value": [
803
- 109,
804
- 97,
805
- 105,
806
- 110,
807
- 95,
808
- 115,
809
- 116,
810
- 97,
811
- 107,
812
- 101
813
- ]
814
- },
815
- {
816
- "kind": "arg",
817
- "path": "validator"
818
- }
819
- ]
820
- }
821
- },
822
- {
823
- "name": "validatorEpochInfo",
824
- "docs": [
825
- "Epoch info account"
826
- ],
827
- "pda": {
828
- "seeds": [
829
- {
830
- "kind": "const",
831
- "value": [
832
- 118,
833
- 97,
834
- 108,
835
- 105,
836
- 100,
837
- 97,
838
- 116,
839
- 111,
840
- 114,
841
- 95,
842
- 101,
843
- 112,
844
- 111,
845
- 99,
846
- 104,
847
- 95,
848
- 105,
849
- 110,
850
- 102,
851
- 111
852
- ]
853
- },
854
- {
855
- "kind": "arg",
856
- "path": "validator"
857
- },
858
- {
859
- "kind": "arg",
860
- "path": "epoch"
861
- }
862
- ]
863
- }
864
- },
865
- {
866
- "name": "validatorRegistry",
867
- "docs": [
868
- "Validator registry (mutable for updating stakes)"
869
- ],
870
- "writable": true
871
- },
872
- {
873
- "name": "stakeProgram",
874
- "address": "Stake11111111111111111111111111111111111111"
875
- },
876
- {
877
- "name": "systemProgram",
878
- "address": "11111111111111111111111111111111"
879
- },
880
- {
881
- "name": "clock",
882
- "address": "SysvarC1ock11111111111111111111111111111111"
883
- },
884
- {
885
- "name": "stakeHistory"
886
- },
887
- {
888
- "name": "rent",
889
- "address": "SysvarRent111111111111111111111111111111111"
890
- }
891
- ],
892
- "args": [
893
- {
894
- "name": "validator",
895
- "type": "pubkey"
896
- },
897
- {
898
- "name": "epoch",
899
- "type": "u64"
900
- },
901
- {
902
- "name": "stakeIndices",
903
- "type": {
904
- "vec": "u32"
905
- }
906
- }
907
- ]
908
- },
909
- {
910
- "name": "processUnstakeQueue",
911
- "discriminator": [
912
- 6,
913
- 55,
914
- 223,
915
- 1,
916
- 252,
917
- 102,
918
- 55,
919
- 202
920
- ],
921
- "accounts": [
922
- {
923
- "name": "admin",
924
- "writable": true,
925
- "signer": true
926
- },
927
- {
928
- "name": "controllerState",
929
- "writable": true,
930
- "pda": {
931
- "seeds": [
932
- {
933
- "kind": "const",
934
- "value": [
935
- 115,
936
- 116,
937
- 97,
938
- 107,
939
- 101,
940
- 95,
941
- 99,
942
- 111,
943
- 110,
944
- 116,
945
- 114,
946
- 111,
947
- 108,
948
- 108,
949
- 101,
950
- 114
951
- ]
952
- }
953
- ]
954
- }
955
- },
956
- {
957
- "name": "vault",
958
- "writable": true,
959
- "pda": {
960
- "seeds": [
961
- {
962
- "kind": "const",
963
- "value": [
964
- 118,
965
- 97,
966
- 117,
967
- 108,
968
- 116
969
- ]
970
- }
971
- ]
972
- }
973
- }
974
- ],
975
- "args": []
976
- },
977
- {
978
- "name": "requestUnstake",
979
- "discriminator": [
980
- 44,
981
- 154,
982
- 110,
983
- 253,
984
- 160,
985
- 202,
986
- 54,
987
- 34
988
- ],
989
- "accounts": [
990
- {
991
- "name": "user",
992
- "writable": true,
993
- "signer": true
994
- },
995
- {
996
- "name": "controllerState",
997
- "writable": true,
998
- "pda": {
999
- "seeds": [
1000
- {
1001
- "kind": "const",
1002
- "value": [
1003
- 115,
1004
- 116,
1005
- 97,
1006
- 107,
1007
- 101,
1008
- 95,
1009
- 99,
1010
- 111,
1011
- 110,
1012
- 116,
1013
- 114,
1014
- 111,
1015
- 108,
1016
- 108,
1017
- 101,
1018
- 114
1019
- ]
1020
- }
1021
- ]
1022
- }
1023
- }
1024
- ],
1025
- "args": [
1026
- {
1027
- "name": "amount",
1028
- "type": "u64"
1029
- }
1030
- ]
1031
- },
1032
- {
1033
- "name": "skimDeactivated",
1034
- "discriminator": [
1035
- 133,
1036
- 188,
1037
- 72,
1038
- 50,
1039
- 24,
1040
- 209,
1041
- 118,
1042
- 50
1043
- ],
1044
- "accounts": [
1045
- {
1046
- "name": "admin",
1047
- "writable": true,
1048
- "signer": true
1049
- },
1050
- {
1051
- "name": "vault",
1052
- "writable": true,
1053
- "pda": {
1054
- "seeds": [
1055
- {
1056
- "kind": "const",
1057
- "value": [
1058
- 118,
1059
- 97,
1060
- 117,
1061
- 108,
1062
- 116
1063
- ]
1064
- }
1065
- ]
1066
- }
1067
- },
1068
- {
1069
- "name": "deactivatingTransient",
1070
- "writable": true
1071
- },
1072
- {
1073
- "name": "validatorVote"
1074
- },
1075
- {
1076
- "name": "stakeProgram",
1077
- "address": "Stake11111111111111111111111111111111111111"
1078
- },
1079
- {
1080
- "name": "clock",
1081
- "address": "SysvarC1ock11111111111111111111111111111111"
1082
- },
1083
- {
1084
- "name": "stakeHistory"
1085
- }
1086
- ],
1087
- "args": []
1088
- },
1089
- {
1090
- "name": "syncValidatorStakes",
1091
- "discriminator": [
1092
- 40,
1093
- 56,
1094
- 118,
1095
- 52,
1096
- 20,
1097
- 213,
1098
- 229,
1099
- 135
1100
- ],
1101
- "accounts": [
1102
- {
1103
- "name": "admin",
1104
- "signer": true
1105
- },
1106
- {
1107
- "name": "mainValidatorStake",
1108
- "pda": {
1109
- "seeds": [
1110
- {
1111
- "kind": "const",
1112
- "value": [
1113
- 109,
1114
- 97,
1115
- 105,
1116
- 110,
1117
- 95,
1118
- 115,
1119
- 116,
1120
- 97,
1121
- 107,
1122
- 101
1123
- ]
1124
- },
1125
- {
1126
- "kind": "arg",
1127
- "path": "validator"
1128
- }
1129
- ]
1130
- }
1131
- },
1132
- {
1133
- "name": "validatorRegistry",
1134
- "writable": true
1135
- }
1136
- ],
1137
- "args": [
1138
- {
1139
- "name": "validator",
1140
- "type": "pubkey"
1141
- }
1142
- ]
1143
- },
1144
- {
1145
- "name": "updateYieldHistory",
1146
- "discriminator": [
1147
- 105,
1148
- 49,
1149
- 85,
1150
- 192,
1151
- 14,
1152
- 146,
1153
- 32,
1154
- 64
1155
- ],
1156
- "accounts": [
1157
- {
1158
- "name": "admin",
1159
- "signer": true
1160
- },
1161
- {
1162
- "name": "yieldHistory",
1163
- "writable": true,
1164
- "pda": {
1165
- "seeds": [
1166
- {
1167
- "kind": "const",
1168
- "value": [
1169
- 121,
1170
- 105,
1171
- 101,
1172
- 108,
1173
- 100,
1174
- 95,
1175
- 104,
1176
- 105,
1177
- 115,
1178
- 116,
1179
- 111,
1180
- 114,
1181
- 121
1182
- ]
1183
- },
1184
- {
1185
- "kind": "arg",
1186
- "path": "validator"
1187
- }
1188
- ]
1189
- }
1190
- },
1191
- {
1192
- "name": "validatorRegistry",
1193
- "docs": [
1194
- "Validator registry that contains the validator info"
1195
- ]
1196
- }
1197
- ],
1198
- "args": [
1199
- {
1200
- "name": "validator",
1201
- "type": "pubkey"
1202
- },
1203
- {
1204
- "name": "rewardsEarned",
1205
- "type": "u64"
1206
- }
1207
- ]
1208
- }
1209
- ],
1210
- "accounts": [
1211
- {
1212
- "name": "stakeControllerState",
1213
- "discriminator": [
1214
- 218,
1215
- 168,
1216
- 114,
1217
- 136,
1218
- 80,
1219
- 186,
1220
- 29,
1221
- 218
1222
- ]
1223
- },
1224
- {
1225
- "name": "treasuryConfig",
1226
- "discriminator": [
1227
- 124,
1228
- 54,
1229
- 212,
1230
- 227,
1231
- 213,
1232
- 189,
1233
- 168,
1234
- 41
1235
- ]
1236
- },
1237
- {
1238
- "name": "validatorEpochInfo",
1239
- "discriminator": [
1240
- 242,
1241
- 22,
1242
- 169,
1243
- 20,
1244
- 113,
1245
- 82,
1246
- 73,
1247
- 139
1248
- ]
1249
- },
1250
- {
1251
- "name": "validatorRegistry",
1252
- "discriminator": [
1253
- 168,
1254
- 113,
1255
- 195,
1256
- 186,
1257
- 62,
1258
- 121,
1259
- 163,
1260
- 230
1261
- ]
1262
- },
1263
- {
1264
- "name": "validatorYieldHistory",
1265
- "discriminator": [
1266
- 236,
1267
- 4,
1268
- 64,
1269
- 157,
1270
- 209,
1271
- 103,
1272
- 197,
1273
- 75
1274
- ]
1275
- }
1276
- ],
1277
- "events": [
1278
- {
1279
- "name": "epochResolved",
1280
- "discriminator": [
1281
- 62,
1282
- 81,
1283
- 212,
1284
- 223,
1285
- 209,
1286
- 104,
1287
- 51,
1288
- 65
1289
- ]
1290
- },
1291
- {
1292
- "name": "stakesMerged",
1293
- "discriminator": [
1294
- 3,
1295
- 16,
1296
- 51,
1297
- 153,
1298
- 152,
1299
- 186,
1300
- 19,
1301
- 97
1302
- ]
1303
- },
1304
- {
1305
- "name": "yieldHistoryUpdated",
1306
- "discriminator": [
1307
- 96,
1308
- 28,
1309
- 163,
1310
- 1,
1311
- 10,
1312
- 117,
1313
- 83,
1314
- 152
1315
- ]
1316
- }
1317
- ],
1318
- "errors": [
1319
- {
1320
- "code": 6000,
1321
- "name": "insufficientFunds",
1322
- "msg": "Insufficient funds"
1323
- },
1324
- {
1325
- "code": 6001,
1326
- "name": "invalidValidator",
1327
- "msg": "Invalid validator"
1328
- },
1329
- {
1330
- "code": 6002,
1331
- "name": "noSuitableValidator",
1332
- "msg": "No suitable validator found"
1333
- },
1334
- {
1335
- "code": 6003,
1336
- "name": "ticketNotFound",
1337
- "msg": "Unstake ticket not found"
1338
- },
1339
- {
1340
- "code": 6004,
1341
- "name": "ticketNotClaimable",
1342
- "msg": "Ticket not claimable yet"
1343
- },
1344
- {
1345
- "code": 6005,
1346
- "name": "unauthorized",
1347
- "msg": "unauthorized"
1348
- },
1349
- {
1350
- "code": 6006,
1351
- "name": "arithmeticOverflow",
1352
- "msg": "Arithmetic overflow"
1353
- },
1354
- {
1355
- "code": 6007,
1356
- "name": "accountAlreadyExists",
1357
- "msg": "Account already exists"
1358
- },
1359
- {
1360
- "code": 6008,
1361
- "name": "invalidStakeAccount",
1362
- "msg": "Invalid stake account"
1363
- },
1364
- {
1365
- "code": 6009,
1366
- "name": "invalidThreshold",
1367
- "msg": "Invalid threshold value"
1368
- },
1369
- {
1370
- "code": 6010,
1371
- "name": "invalidAccountData",
1372
- "msg": "Invalid account data"
1373
- },
1374
- {
1375
- "code": 6011,
1376
- "name": "invalidVoteAccount",
1377
- "msg": "Invalid vote account"
1378
- },
1379
- {
1380
- "code": 6012,
1381
- "name": "stakesNotYetActive",
1382
- "msg": "Stakes not yet active"
1383
- },
1384
- {
1385
- "code": 6013,
1386
- "name": "invalidEpoch",
1387
- "msg": "Invalid epoch"
1388
- },
1389
- {
1390
- "code": 6014,
1391
- "name": "epochAlreadyResolved",
1392
- "msg": "Epoch already resolved"
1393
- },
1394
- {
1395
- "code": 6015,
1396
- "name": "mergeFailed",
1397
- "msg": "Merge failed"
1398
- },
1399
- {
1400
- "code": 6016,
1401
- "name": "reservePoolNotInitialized",
1402
- "msg": "Reserve pool not initialized"
1403
- },
1404
- {
1405
- "code": 6017,
1406
- "name": "invalidEphemeralAccount",
1407
- "msg": "Invalid ephemeral account"
1408
- }
1409
- ],
1410
- "types": [
1411
- {
1412
- "name": "epochResolved",
1413
- "type": {
1414
- "kind": "struct",
1415
- "fields": [
1416
- {
1417
- "name": "validator",
1418
- "type": "pubkey"
1419
- },
1420
- {
1421
- "name": "epoch",
1422
- "type": "u64"
1423
- },
1424
- {
1425
- "name": "totalStakeAmount",
1426
- "type": "u64"
1427
- },
1428
- {
1429
- "name": "maxIndex",
1430
- "type": "u32"
1431
- }
1432
- ]
1433
- }
1434
- },
1435
- {
1436
- "name": "stakeControllerState",
1437
- "type": {
1438
- "kind": "struct",
1439
- "fields": [
1440
- {
1441
- "name": "authority",
1442
- "type": "pubkey"
1443
- },
1444
- {
1445
- "name": "vaultInitialized",
1446
- "type": "bool"
1447
- },
1448
- {
1449
- "name": "reservePoolInitialized",
1450
- "type": "bool"
1451
- },
1452
- {
1453
- "name": "nextTicketId",
1454
- "type": "u64"
1455
- },
1456
- {
1457
- "name": "totalPendingUnstake",
1458
- "type": "u64"
1459
- },
1460
- {
1461
- "name": "unstakeTickets",
1462
- "type": {
1463
- "vec": {
1464
- "defined": {
1465
- "name": "unstakeTicket"
1466
- }
1467
- }
1468
- }
1469
- },
1470
- {
1471
- "name": "bump",
1472
- "type": "u8"
1473
- }
1474
- ]
1475
- }
1476
- },
1477
- {
1478
- "name": "stakesMerged",
1479
- "type": {
1480
- "kind": "struct",
1481
- "fields": [
1482
- {
1483
- "name": "validator",
1484
- "type": "pubkey"
1485
- },
1486
- {
1487
- "name": "epoch",
1488
- "type": "u64"
1489
- },
1490
- {
1491
- "name": "count",
1492
- "type": "u32"
1493
- },
1494
- {
1495
- "name": "amount",
1496
- "type": "u64"
1497
- }
1498
- ]
1499
- }
1500
- },
1501
- {
1502
- "name": "treasuryConfig",
1503
- "type": {
1504
- "kind": "struct",
1505
- "fields": [
1506
- {
1507
- "name": "authorities",
1508
- "type": {
1509
- "vec": "pubkey"
1510
- }
1511
- },
1512
- {
1513
- "name": "bump",
1514
- "type": "u8"
1515
- }
1516
- ]
1517
- }
1518
- },
1519
- {
1520
- "name": "unstakeStatus",
1521
- "type": {
1522
- "kind": "enum",
1523
- "variants": [
1524
- {
1525
- "name": "pending"
1526
- },
1527
- {
1528
- "name": "processing"
1529
- },
1530
- {
1531
- "name": "claimable"
1532
- },
1533
- {
1534
- "name": "claimed"
1535
- }
1536
- ]
1537
- }
1538
- },
1539
- {
1540
- "name": "unstakeTicket",
1541
- "type": {
1542
- "kind": "struct",
1543
- "fields": [
1544
- {
1545
- "name": "ticketId",
1546
- "type": "u64"
1547
- },
1548
- {
1549
- "name": "owner",
1550
- "type": "pubkey"
1551
- },
1552
- {
1553
- "name": "amount",
1554
- "type": "u64"
1555
- },
1556
- {
1557
- "name": "validator",
1558
- "type": "pubkey"
1559
- },
1560
- {
1561
- "name": "createdEpoch",
1562
- "type": "u64"
1563
- },
1564
- {
1565
- "name": "deactivationStartEpoch",
1566
- "type": {
1567
- "option": "u64"
1568
- }
1569
- },
1570
- {
1571
- "name": "status",
1572
- "type": {
1573
- "defined": {
1574
- "name": "unstakeStatus"
1575
- }
1576
- }
1577
- }
1578
- ]
1579
- }
1580
- },
1581
- {
1582
- "name": "validatorEpochInfo",
1583
- "type": {
1584
- "kind": "struct",
1585
- "fields": [
1586
- {
1587
- "name": "epoch",
1588
- "type": "u64"
1589
- },
1590
- {
1591
- "name": "maxIndex",
1592
- "type": "u32"
1593
- },
1594
- {
1595
- "name": "resolved",
1596
- "type": "bool"
1597
- },
1598
- {
1599
- "name": "totalStakeAmount",
1600
- "type": "u64"
1601
- },
1602
- {
1603
- "name": "rewardsEarned",
1604
- "type": "u64"
1605
- },
1606
- {
1607
- "name": "bump",
1608
- "type": "u8"
1609
- }
1610
- ]
1611
- }
1612
- },
1613
- {
1614
- "name": "validatorInfo",
1615
- "type": {
1616
- "kind": "struct",
1617
- "fields": [
1618
- {
1619
- "name": "voteAccount",
1620
- "type": "pubkey"
1621
- },
1622
- {
1623
- "name": "name",
1624
- "type": {
1625
- "array": [
1626
- "u8",
1627
- 32
1628
- ]
1629
- }
1630
- },
1631
- {
1632
- "name": "performanceScore",
1633
- "type": "u32"
1634
- },
1635
- {
1636
- "name": "activeStake",
1637
- "type": "u64"
1638
- },
1639
- {
1640
- "name": "activatingStake",
1641
- "type": "u64"
1642
- },
1643
- {
1644
- "name": "deactivatingStake",
1645
- "type": "u64"
1646
- },
1647
- {
1648
- "name": "commission",
1649
- "type": "u64"
1650
- },
1651
- {
1652
- "name": "lastUpdatedEpoch",
1653
- "type": "u64"
1654
- },
1655
- {
1656
- "name": "initialStake",
1657
- "type": "u64"
1658
- },
1659
- {
1660
- "name": "previousEpochActiveStake",
1661
- "type": "u64"
1662
- },
1663
- {
1664
- "name": "previousEpochSnapshot",
1665
- "type": "u64"
1666
- }
1667
- ]
1668
- }
1669
- },
1670
- {
1671
- "name": "validatorRegistry",
1672
- "type": {
1673
- "kind": "struct",
1674
- "fields": [
1675
- {
1676
- "name": "authority",
1677
- "type": "pubkey"
1678
- },
1679
- {
1680
- "name": "validators",
1681
- "type": {
1682
- "vec": {
1683
- "defined": {
1684
- "name": "validatorInfo"
1685
- }
1686
- }
1687
- }
1688
- },
1689
- {
1690
- "name": "lastUpdateEpoch",
1691
- "type": "u64"
1692
- },
1693
- {
1694
- "name": "bump",
1695
- "type": "u8"
1696
- }
1697
- ]
1698
- }
1699
- },
1700
- {
1701
- "name": "validatorYieldHistory",
1702
- "type": {
1703
- "kind": "struct",
1704
- "fields": [
1705
- {
1706
- "name": "validator",
1707
- "type": "pubkey"
1708
- },
1709
- {
1710
- "name": "currentIndex",
1711
- "type": "u8"
1712
- },
1713
- {
1714
- "name": "entries",
1715
- "type": {
1716
- "array": [
1717
- {
1718
- "defined": {
1719
- "name": "yieldEntry"
1720
- }
1721
- },
1722
- 20
1723
- ]
1724
- }
1725
- },
1726
- {
1727
- "name": "lastSnapshotEpoch",
1728
- "type": "u64"
1729
- },
1730
- {
1731
- "name": "lastSnapshotStake",
1732
- "type": "u64"
1733
- },
1734
- {
1735
- "name": "bump",
1736
- "type": "u8"
1737
- }
1738
- ]
1739
- }
1740
- },
1741
- {
1742
- "name": "yieldEntry",
1743
- "type": {
1744
- "kind": "struct",
1745
- "fields": [
1746
- {
1747
- "name": "epoch",
1748
- "type": "u64"
1749
- },
1750
- {
1751
- "name": "apyBps",
1752
- "type": "u32"
1753
- },
1754
- {
1755
- "name": "rewardsEarned",
1756
- "type": "u64"
1757
- },
1758
- {
1759
- "name": "activeStake",
1760
- "type": "u64"
1761
- },
1762
- {
1763
- "name": "isValid",
1764
- "type": "bool"
1765
- }
1766
- ]
1767
- }
1768
- },
1769
- {
1770
- "name": "yieldHistoryUpdated",
1771
- "type": {
1772
- "kind": "struct",
1773
- "fields": [
1774
- {
1775
- "name": "validator",
1776
- "type": "pubkey"
1777
- },
1778
- {
1779
- "name": "epoch",
1780
- "type": "u64"
1781
- },
1782
- {
1783
- "name": "apyBps",
1784
- "type": "u32"
1785
- },
1786
- {
1787
- "name": "rewardsEarned",
1788
- "type": "u64"
1789
- }
1790
- ]
1791
- }
1792
- }
1793
- ]
1794
- };