@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,1788 +0,0 @@
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
- }