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