@star-factory/sdk-staking 0.1.0

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.
@@ -0,0 +1,1407 @@
1
+ {
2
+ "address": "D49Ui3n2ksK12yywhZyA9vSY9uFouNCQ4PeNWLonAhVP",
3
+ "metadata": {
4
+ "name": "stake_program",
5
+ "version": "0.1.0",
6
+ "spec": "0.1.0",
7
+ "description": "Created with Anchor"
8
+ },
9
+ "instructions": [
10
+ {
11
+ "name": "claim_rewards",
12
+ "docs": [
13
+ "Claim accumulated rewards (users)"
14
+ ],
15
+ "discriminator": [
16
+ 4,
17
+ 144,
18
+ 132,
19
+ 71,
20
+ 116,
21
+ 23,
22
+ 151,
23
+ 80
24
+ ],
25
+ "accounts": [
26
+ {
27
+ "name": "stake_pool",
28
+ "pda": {
29
+ "seeds": [
30
+ {
31
+ "kind": "const",
32
+ "value": [
33
+ 115,
34
+ 116,
35
+ 97,
36
+ 107,
37
+ 101,
38
+ 95,
39
+ 112,
40
+ 111,
41
+ 111,
42
+ 108
43
+ ]
44
+ }
45
+ ]
46
+ }
47
+ },
48
+ {
49
+ "name": "user_stake",
50
+ "pda": {
51
+ "seeds": [
52
+ {
53
+ "kind": "const",
54
+ "value": [
55
+ 117,
56
+ 115,
57
+ 101,
58
+ 114,
59
+ 95,
60
+ 115,
61
+ 116,
62
+ 97,
63
+ 107,
64
+ 101
65
+ ]
66
+ },
67
+ {
68
+ "kind": "account",
69
+ "path": "user"
70
+ }
71
+ ]
72
+ }
73
+ },
74
+ {
75
+ "name": "reward_token",
76
+ "writable": true,
77
+ "pda": {
78
+ "seeds": [
79
+ {
80
+ "kind": "const",
81
+ "value": [
82
+ 114,
83
+ 101,
84
+ 119,
85
+ 97,
86
+ 114,
87
+ 100,
88
+ 95,
89
+ 116,
90
+ 111,
91
+ 107,
92
+ 101,
93
+ 110
94
+ ]
95
+ },
96
+ {
97
+ "kind": "account",
98
+ "path": "reward_mint"
99
+ }
100
+ ]
101
+ }
102
+ },
103
+ {
104
+ "name": "user_reward_info",
105
+ "writable": true,
106
+ "pda": {
107
+ "seeds": [
108
+ {
109
+ "kind": "const",
110
+ "value": [
111
+ 117,
112
+ 115,
113
+ 101,
114
+ 114,
115
+ 95,
116
+ 114,
117
+ 101,
118
+ 119,
119
+ 97,
120
+ 114,
121
+ 100,
122
+ 95,
123
+ 105,
124
+ 110,
125
+ 102,
126
+ 111
127
+ ]
128
+ },
129
+ {
130
+ "kind": "account",
131
+ "path": "user"
132
+ },
133
+ {
134
+ "kind": "account",
135
+ "path": "reward_mint"
136
+ }
137
+ ]
138
+ }
139
+ },
140
+ {
141
+ "name": "reward_vault",
142
+ "writable": true,
143
+ "pda": {
144
+ "seeds": [
145
+ {
146
+ "kind": "const",
147
+ "value": [
148
+ 114,
149
+ 101,
150
+ 119,
151
+ 97,
152
+ 114,
153
+ 100,
154
+ 95,
155
+ 118,
156
+ 97,
157
+ 117,
158
+ 108,
159
+ 116
160
+ ]
161
+ },
162
+ {
163
+ "kind": "account",
164
+ "path": "stake_pool"
165
+ },
166
+ {
167
+ "kind": "account",
168
+ "path": "reward_mint"
169
+ }
170
+ ]
171
+ }
172
+ },
173
+ {
174
+ "name": "reward_mint"
175
+ },
176
+ {
177
+ "name": "user_token_account",
178
+ "writable": true
179
+ },
180
+ {
181
+ "name": "user",
182
+ "writable": true,
183
+ "signer": true
184
+ },
185
+ {
186
+ "name": "token_program",
187
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
188
+ },
189
+ {
190
+ "name": "system_program",
191
+ "address": "11111111111111111111111111111111"
192
+ }
193
+ ],
194
+ "args": []
195
+ },
196
+ {
197
+ "name": "claim_unstake",
198
+ "discriminator": [
199
+ 172,
200
+ 113,
201
+ 117,
202
+ 178,
203
+ 223,
204
+ 245,
205
+ 247,
206
+ 118
207
+ ],
208
+ "accounts": [
209
+ {
210
+ "name": "stake_pool",
211
+ "writable": true,
212
+ "pda": {
213
+ "seeds": [
214
+ {
215
+ "kind": "const",
216
+ "value": [
217
+ 115,
218
+ 116,
219
+ 97,
220
+ 107,
221
+ 101,
222
+ 95,
223
+ 112,
224
+ 111,
225
+ 111,
226
+ 108
227
+ ]
228
+ }
229
+ ]
230
+ }
231
+ },
232
+ {
233
+ "name": "user_stake",
234
+ "writable": true,
235
+ "pda": {
236
+ "seeds": [
237
+ {
238
+ "kind": "const",
239
+ "value": [
240
+ 117,
241
+ 115,
242
+ 101,
243
+ 114,
244
+ 95,
245
+ 115,
246
+ 116,
247
+ 97,
248
+ 107,
249
+ 101
250
+ ]
251
+ },
252
+ {
253
+ "kind": "account",
254
+ "path": "user"
255
+ }
256
+ ]
257
+ }
258
+ },
259
+ {
260
+ "name": "user_token_account",
261
+ "writable": true
262
+ },
263
+ {
264
+ "name": "stake_vault",
265
+ "writable": true,
266
+ "pda": {
267
+ "seeds": [
268
+ {
269
+ "kind": "const",
270
+ "value": [
271
+ 115,
272
+ 116,
273
+ 97,
274
+ 107,
275
+ 101,
276
+ 95,
277
+ 118,
278
+ 97,
279
+ 117,
280
+ 108,
281
+ 116
282
+ ]
283
+ },
284
+ {
285
+ "kind": "account",
286
+ "path": "stake_pool"
287
+ }
288
+ ]
289
+ }
290
+ },
291
+ {
292
+ "name": "user",
293
+ "signer": true
294
+ },
295
+ {
296
+ "name": "token_program",
297
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
298
+ }
299
+ ],
300
+ "args": []
301
+ },
302
+ {
303
+ "name": "deposit_rewards",
304
+ "docs": [
305
+ "Deposit rewards into the pool (admin only)"
306
+ ],
307
+ "discriminator": [
308
+ 52,
309
+ 249,
310
+ 112,
311
+ 72,
312
+ 206,
313
+ 161,
314
+ 196,
315
+ 1
316
+ ],
317
+ "accounts": [
318
+ {
319
+ "name": "stake_pool",
320
+ "writable": true,
321
+ "pda": {
322
+ "seeds": [
323
+ {
324
+ "kind": "const",
325
+ "value": [
326
+ 115,
327
+ 116,
328
+ 97,
329
+ 107,
330
+ 101,
331
+ 95,
332
+ 112,
333
+ 111,
334
+ 111,
335
+ 108
336
+ ]
337
+ }
338
+ ]
339
+ }
340
+ },
341
+ {
342
+ "name": "reward_token",
343
+ "writable": true,
344
+ "pda": {
345
+ "seeds": [
346
+ {
347
+ "kind": "const",
348
+ "value": [
349
+ 114,
350
+ 101,
351
+ 119,
352
+ 97,
353
+ 114,
354
+ 100,
355
+ 95,
356
+ 116,
357
+ 111,
358
+ 107,
359
+ 101,
360
+ 110
361
+ ]
362
+ },
363
+ {
364
+ "kind": "account",
365
+ "path": "reward_mint"
366
+ }
367
+ ]
368
+ }
369
+ },
370
+ {
371
+ "name": "reward_vault",
372
+ "writable": true,
373
+ "pda": {
374
+ "seeds": [
375
+ {
376
+ "kind": "const",
377
+ "value": [
378
+ 114,
379
+ 101,
380
+ 119,
381
+ 97,
382
+ 114,
383
+ 100,
384
+ 95,
385
+ 118,
386
+ 97,
387
+ 117,
388
+ 108,
389
+ 116
390
+ ]
391
+ },
392
+ {
393
+ "kind": "account",
394
+ "path": "stake_pool"
395
+ },
396
+ {
397
+ "kind": "account",
398
+ "path": "reward_mint"
399
+ }
400
+ ]
401
+ }
402
+ },
403
+ {
404
+ "name": "reward_mint"
405
+ },
406
+ {
407
+ "name": "admin_token_account",
408
+ "writable": true
409
+ },
410
+ {
411
+ "name": "authority",
412
+ "writable": true,
413
+ "signer": true,
414
+ "relations": [
415
+ "stake_pool"
416
+ ]
417
+ },
418
+ {
419
+ "name": "token_program",
420
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
421
+ },
422
+ {
423
+ "name": "system_program",
424
+ "address": "11111111111111111111111111111111"
425
+ }
426
+ ],
427
+ "args": [
428
+ {
429
+ "name": "amount",
430
+ "type": "u64"
431
+ }
432
+ ]
433
+ },
434
+ {
435
+ "name": "initialize",
436
+ "discriminator": [
437
+ 175,
438
+ 175,
439
+ 109,
440
+ 31,
441
+ 13,
442
+ 152,
443
+ 155,
444
+ 237
445
+ ],
446
+ "accounts": [
447
+ {
448
+ "name": "stake_pool",
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
+ 112,
462
+ 111,
463
+ 111,
464
+ 108
465
+ ]
466
+ }
467
+ ]
468
+ }
469
+ },
470
+ {
471
+ "name": "stake_vault",
472
+ "writable": true,
473
+ "pda": {
474
+ "seeds": [
475
+ {
476
+ "kind": "const",
477
+ "value": [
478
+ 115,
479
+ 116,
480
+ 97,
481
+ 107,
482
+ 101,
483
+ 95,
484
+ 118,
485
+ 97,
486
+ 117,
487
+ 108,
488
+ 116
489
+ ]
490
+ },
491
+ {
492
+ "kind": "account",
493
+ "path": "stake_pool"
494
+ }
495
+ ]
496
+ }
497
+ },
498
+ {
499
+ "name": "accepted_mint"
500
+ },
501
+ {
502
+ "name": "authority",
503
+ "writable": true,
504
+ "signer": true
505
+ },
506
+ {
507
+ "name": "token_program",
508
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
509
+ },
510
+ {
511
+ "name": "system_program",
512
+ "address": "11111111111111111111111111111111"
513
+ },
514
+ {
515
+ "name": "rent",
516
+ "address": "SysvarRent111111111111111111111111111111111"
517
+ }
518
+ ],
519
+ "args": []
520
+ },
521
+ {
522
+ "name": "stake",
523
+ "discriminator": [
524
+ 206,
525
+ 176,
526
+ 202,
527
+ 18,
528
+ 200,
529
+ 209,
530
+ 179,
531
+ 108
532
+ ],
533
+ "accounts": [
534
+ {
535
+ "name": "stake_pool",
536
+ "writable": true,
537
+ "pda": {
538
+ "seeds": [
539
+ {
540
+ "kind": "const",
541
+ "value": [
542
+ 115,
543
+ 116,
544
+ 97,
545
+ 107,
546
+ 101,
547
+ 95,
548
+ 112,
549
+ 111,
550
+ 111,
551
+ 108
552
+ ]
553
+ }
554
+ ]
555
+ }
556
+ },
557
+ {
558
+ "name": "user_stake",
559
+ "writable": true,
560
+ "pda": {
561
+ "seeds": [
562
+ {
563
+ "kind": "const",
564
+ "value": [
565
+ 117,
566
+ 115,
567
+ 101,
568
+ 114,
569
+ 95,
570
+ 115,
571
+ 116,
572
+ 97,
573
+ 107,
574
+ 101
575
+ ]
576
+ },
577
+ {
578
+ "kind": "account",
579
+ "path": "user"
580
+ }
581
+ ]
582
+ }
583
+ },
584
+ {
585
+ "name": "user_token_account",
586
+ "writable": true
587
+ },
588
+ {
589
+ "name": "stake_vault",
590
+ "writable": true,
591
+ "pda": {
592
+ "seeds": [
593
+ {
594
+ "kind": "const",
595
+ "value": [
596
+ 115,
597
+ 116,
598
+ 97,
599
+ 107,
600
+ 101,
601
+ 95,
602
+ 118,
603
+ 97,
604
+ 117,
605
+ 108,
606
+ 116
607
+ ]
608
+ },
609
+ {
610
+ "kind": "account",
611
+ "path": "stake_pool"
612
+ }
613
+ ]
614
+ }
615
+ },
616
+ {
617
+ "name": "reward_mint",
618
+ "docs": [
619
+ "The reward mint - REQUIRED if rewards are active, must match pool.reward_mint"
620
+ ],
621
+ "optional": true
622
+ },
623
+ {
624
+ "name": "reward_token",
625
+ "docs": [
626
+ "Reward token config - REQUIRED if rewards are active"
627
+ ],
628
+ "writable": true,
629
+ "optional": true,
630
+ "pda": {
631
+ "seeds": [
632
+ {
633
+ "kind": "const",
634
+ "value": [
635
+ 114,
636
+ 101,
637
+ 119,
638
+ 97,
639
+ 114,
640
+ 100,
641
+ 95,
642
+ 116,
643
+ 111,
644
+ 107,
645
+ 101,
646
+ 110
647
+ ]
648
+ },
649
+ {
650
+ "kind": "account",
651
+ "path": "reward_mint"
652
+ }
653
+ ]
654
+ }
655
+ },
656
+ {
657
+ "name": "user_reward_info",
658
+ "docs": [
659
+ "User's reward tracking - REQUIRED if rewards are active"
660
+ ],
661
+ "writable": true,
662
+ "optional": true,
663
+ "pda": {
664
+ "seeds": [
665
+ {
666
+ "kind": "const",
667
+ "value": [
668
+ 117,
669
+ 115,
670
+ 101,
671
+ 114,
672
+ 95,
673
+ 114,
674
+ 101,
675
+ 119,
676
+ 97,
677
+ 114,
678
+ 100,
679
+ 95,
680
+ 105,
681
+ 110,
682
+ 102,
683
+ 111
684
+ ]
685
+ },
686
+ {
687
+ "kind": "account",
688
+ "path": "user"
689
+ },
690
+ {
691
+ "kind": "account",
692
+ "path": "reward_mint"
693
+ }
694
+ ]
695
+ }
696
+ },
697
+ {
698
+ "name": "user",
699
+ "writable": true,
700
+ "signer": true
701
+ },
702
+ {
703
+ "name": "token_program",
704
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
705
+ },
706
+ {
707
+ "name": "system_program",
708
+ "address": "11111111111111111111111111111111"
709
+ }
710
+ ],
711
+ "args": [
712
+ {
713
+ "name": "amount",
714
+ "type": "u64"
715
+ }
716
+ ]
717
+ },
718
+ {
719
+ "name": "switch_pause",
720
+ "discriminator": [
721
+ 171,
722
+ 37,
723
+ 127,
724
+ 131,
725
+ 143,
726
+ 253,
727
+ 213,
728
+ 8
729
+ ],
730
+ "accounts": [
731
+ {
732
+ "name": "stake_pool",
733
+ "writable": true,
734
+ "pda": {
735
+ "seeds": [
736
+ {
737
+ "kind": "const",
738
+ "value": [
739
+ 115,
740
+ 116,
741
+ 97,
742
+ 107,
743
+ 101,
744
+ 95,
745
+ 112,
746
+ 111,
747
+ 111,
748
+ 108
749
+ ]
750
+ }
751
+ ]
752
+ }
753
+ },
754
+ {
755
+ "name": "authority",
756
+ "signer": true,
757
+ "relations": [
758
+ "stake_pool"
759
+ ]
760
+ }
761
+ ],
762
+ "args": []
763
+ },
764
+ {
765
+ "name": "unstake",
766
+ "docs": [
767
+ "Initiate unstake (starts 30day unlock period, minimum 100 tokens)"
768
+ ],
769
+ "discriminator": [
770
+ 90,
771
+ 95,
772
+ 107,
773
+ 42,
774
+ 205,
775
+ 124,
776
+ 50,
777
+ 225
778
+ ],
779
+ "accounts": [
780
+ {
781
+ "name": "stake_pool",
782
+ "writable": true,
783
+ "pda": {
784
+ "seeds": [
785
+ {
786
+ "kind": "const",
787
+ "value": [
788
+ 115,
789
+ 116,
790
+ 97,
791
+ 107,
792
+ 101,
793
+ 95,
794
+ 112,
795
+ 111,
796
+ 111,
797
+ 108
798
+ ]
799
+ }
800
+ ]
801
+ }
802
+ },
803
+ {
804
+ "name": "user_stake",
805
+ "writable": true,
806
+ "pda": {
807
+ "seeds": [
808
+ {
809
+ "kind": "const",
810
+ "value": [
811
+ 117,
812
+ 115,
813
+ 101,
814
+ 114,
815
+ 95,
816
+ 115,
817
+ 116,
818
+ 97,
819
+ 107,
820
+ 101
821
+ ]
822
+ },
823
+ {
824
+ "kind": "account",
825
+ "path": "user"
826
+ }
827
+ ]
828
+ }
829
+ },
830
+ {
831
+ "name": "reward_mint",
832
+ "docs": [
833
+ "The reward mint - REQUIRED if rewards are active, must match pool.reward_mint"
834
+ ],
835
+ "optional": true
836
+ },
837
+ {
838
+ "name": "reward_token",
839
+ "docs": [
840
+ "Reward token config - REQUIRED if rewards are active"
841
+ ],
842
+ "writable": true,
843
+ "optional": true,
844
+ "pda": {
845
+ "seeds": [
846
+ {
847
+ "kind": "const",
848
+ "value": [
849
+ 114,
850
+ 101,
851
+ 119,
852
+ 97,
853
+ 114,
854
+ 100,
855
+ 95,
856
+ 116,
857
+ 111,
858
+ 107,
859
+ 101,
860
+ 110
861
+ ]
862
+ },
863
+ {
864
+ "kind": "account",
865
+ "path": "reward_mint"
866
+ }
867
+ ]
868
+ }
869
+ },
870
+ {
871
+ "name": "user_reward_info",
872
+ "docs": [
873
+ "User's reward tracking - REQUIRED if rewards are active"
874
+ ],
875
+ "writable": true,
876
+ "optional": true,
877
+ "pda": {
878
+ "seeds": [
879
+ {
880
+ "kind": "const",
881
+ "value": [
882
+ 117,
883
+ 115,
884
+ 101,
885
+ 114,
886
+ 95,
887
+ 114,
888
+ 101,
889
+ 119,
890
+ 97,
891
+ 114,
892
+ 100,
893
+ 95,
894
+ 105,
895
+ 110,
896
+ 102,
897
+ 111
898
+ ]
899
+ },
900
+ {
901
+ "kind": "account",
902
+ "path": "user"
903
+ },
904
+ {
905
+ "kind": "account",
906
+ "path": "reward_mint"
907
+ }
908
+ ]
909
+ }
910
+ },
911
+ {
912
+ "name": "user",
913
+ "writable": true,
914
+ "signer": true
915
+ },
916
+ {
917
+ "name": "system_program",
918
+ "address": "11111111111111111111111111111111"
919
+ }
920
+ ],
921
+ "args": [
922
+ {
923
+ "name": "amount",
924
+ "type": "u64"
925
+ }
926
+ ]
927
+ },
928
+ {
929
+ "name": "update_authority",
930
+ "docs": [
931
+ "Transfer authority to a new account (current authority only)"
932
+ ],
933
+ "discriminator": [
934
+ 32,
935
+ 46,
936
+ 64,
937
+ 28,
938
+ 149,
939
+ 75,
940
+ 243,
941
+ 88
942
+ ],
943
+ "accounts": [
944
+ {
945
+ "name": "stake_pool",
946
+ "writable": true,
947
+ "pda": {
948
+ "seeds": [
949
+ {
950
+ "kind": "const",
951
+ "value": [
952
+ 115,
953
+ 116,
954
+ 97,
955
+ 107,
956
+ 101,
957
+ 95,
958
+ 112,
959
+ 111,
960
+ 111,
961
+ 108
962
+ ]
963
+ }
964
+ ]
965
+ }
966
+ },
967
+ {
968
+ "name": "authority",
969
+ "signer": true,
970
+ "relations": [
971
+ "stake_pool"
972
+ ]
973
+ }
974
+ ],
975
+ "args": [
976
+ {
977
+ "name": "new_authority",
978
+ "type": "pubkey"
979
+ }
980
+ ]
981
+ }
982
+ ],
983
+ "accounts": [
984
+ {
985
+ "name": "RewardToken",
986
+ "discriminator": [
987
+ 234,
988
+ 93,
989
+ 249,
990
+ 45,
991
+ 69,
992
+ 185,
993
+ 102,
994
+ 28
995
+ ]
996
+ },
997
+ {
998
+ "name": "StakePool",
999
+ "discriminator": [
1000
+ 121,
1001
+ 34,
1002
+ 206,
1003
+ 21,
1004
+ 79,
1005
+ 127,
1006
+ 255,
1007
+ 28
1008
+ ]
1009
+ },
1010
+ {
1011
+ "name": "UserRewardInfo",
1012
+ "discriminator": [
1013
+ 110,
1014
+ 57,
1015
+ 251,
1016
+ 139,
1017
+ 250,
1018
+ 236,
1019
+ 213,
1020
+ 178
1021
+ ]
1022
+ },
1023
+ {
1024
+ "name": "UserStake",
1025
+ "discriminator": [
1026
+ 102,
1027
+ 53,
1028
+ 163,
1029
+ 107,
1030
+ 9,
1031
+ 138,
1032
+ 87,
1033
+ 153
1034
+ ]
1035
+ }
1036
+ ],
1037
+ "events": [
1038
+ {
1039
+ "name": "AuthorityUpdatedEvent",
1040
+ "discriminator": [
1041
+ 44,
1042
+ 40,
1043
+ 20,
1044
+ 115,
1045
+ 145,
1046
+ 198,
1047
+ 95,
1048
+ 200
1049
+ ]
1050
+ },
1051
+ {
1052
+ "name": "ClaimUnstakeEvent",
1053
+ "discriminator": [
1054
+ 18,
1055
+ 255,
1056
+ 161,
1057
+ 59,
1058
+ 246,
1059
+ 47,
1060
+ 255,
1061
+ 127
1062
+ ]
1063
+ },
1064
+ {
1065
+ "name": "PauseEvent",
1066
+ "discriminator": [
1067
+ 32,
1068
+ 51,
1069
+ 61,
1070
+ 169,
1071
+ 156,
1072
+ 104,
1073
+ 130,
1074
+ 43
1075
+ ]
1076
+ },
1077
+ {
1078
+ "name": "StakeEvent",
1079
+ "discriminator": [
1080
+ 226,
1081
+ 134,
1082
+ 188,
1083
+ 173,
1084
+ 19,
1085
+ 33,
1086
+ 75,
1087
+ 175
1088
+ ]
1089
+ },
1090
+ {
1091
+ "name": "UnstakeEvent",
1092
+ "discriminator": [
1093
+ 162,
1094
+ 104,
1095
+ 137,
1096
+ 228,
1097
+ 81,
1098
+ 3,
1099
+ 79,
1100
+ 197
1101
+ ]
1102
+ }
1103
+ ],
1104
+ "errors": [
1105
+ {
1106
+ "code": 6000,
1107
+ "name": "InvalidAmount",
1108
+ "msg": "Invalid amount"
1109
+ },
1110
+ {
1111
+ "code": 6001,
1112
+ "name": "InsufficientStake",
1113
+ "msg": "Insufficient stake"
1114
+ },
1115
+ {
1116
+ "code": 6002,
1117
+ "name": "UnstakePending",
1118
+ "msg": "Unstake already pending"
1119
+ },
1120
+ {
1121
+ "code": 6003,
1122
+ "name": "NoPendingUnstake",
1123
+ "msg": "No pending unstake"
1124
+ },
1125
+ {
1126
+ "code": 6004,
1127
+ "name": "UnlockPeriodNotComplete",
1128
+ "msg": "Unlock period not complete"
1129
+ },
1130
+ {
1131
+ "code": 6005,
1132
+ "name": "InvalidMint",
1133
+ "msg": "Invalid mint"
1134
+ },
1135
+ {
1136
+ "code": 6006,
1137
+ "name": "InvalidOwner",
1138
+ "msg": "Invalid owner"
1139
+ },
1140
+ {
1141
+ "code": 6007,
1142
+ "name": "NullStakeAmount",
1143
+ "msg": "Stake Amount cannot be zero"
1144
+ },
1145
+ {
1146
+ "code": 6008,
1147
+ "name": "MathOverflow",
1148
+ "msg": "Math Overflow"
1149
+ },
1150
+ {
1151
+ "code": 6009,
1152
+ "name": "ProtocolPaused",
1153
+ "msg": "Protocol is paused"
1154
+ },
1155
+ {
1156
+ "code": 6010,
1157
+ "name": "Unauthorized",
1158
+ "msg": "Unauthorized"
1159
+ },
1160
+ {
1161
+ "code": 6011,
1162
+ "name": "NoStakers",
1163
+ "msg": "Cannot deposit rewards when no one is staking"
1164
+ },
1165
+ {
1166
+ "code": 6012,
1167
+ "name": "RewardAccountsRequired",
1168
+ "msg": "Reward accounts required when rewards are active"
1169
+ },
1170
+ {
1171
+ "code": 6013,
1172
+ "name": "StakeBelowMinimum",
1173
+ "msg": "Stake amount below minimum (100 tokens)"
1174
+ },
1175
+ {
1176
+ "code": 6014,
1177
+ "name": "UnstakeBelowMinimum",
1178
+ "msg": "Unstake amount below minimum (100 tokens)"
1179
+ }
1180
+ ],
1181
+ "types": [
1182
+ {
1183
+ "name": "AuthorityUpdatedEvent",
1184
+ "type": {
1185
+ "kind": "struct",
1186
+ "fields": [
1187
+ {
1188
+ "name": "old_authority",
1189
+ "type": "pubkey"
1190
+ },
1191
+ {
1192
+ "name": "new_authority",
1193
+ "type": "pubkey"
1194
+ },
1195
+ {
1196
+ "name": "timestamp",
1197
+ "type": "i64"
1198
+ }
1199
+ ]
1200
+ }
1201
+ },
1202
+ {
1203
+ "name": "ClaimUnstakeEvent",
1204
+ "type": {
1205
+ "kind": "struct",
1206
+ "fields": [
1207
+ {
1208
+ "name": "user",
1209
+ "type": "pubkey"
1210
+ },
1211
+ {
1212
+ "name": "amount",
1213
+ "type": "u64"
1214
+ },
1215
+ {
1216
+ "name": "timestamp",
1217
+ "type": "i64"
1218
+ }
1219
+ ]
1220
+ }
1221
+ },
1222
+ {
1223
+ "name": "PauseEvent",
1224
+ "type": {
1225
+ "kind": "struct",
1226
+ "fields": [
1227
+ {
1228
+ "name": "paused",
1229
+ "type": "bool"
1230
+ },
1231
+ {
1232
+ "name": "timestamp",
1233
+ "type": "i64"
1234
+ }
1235
+ ]
1236
+ }
1237
+ },
1238
+ {
1239
+ "name": "RewardToken",
1240
+ "type": {
1241
+ "kind": "struct",
1242
+ "fields": [
1243
+ {
1244
+ "name": "reward_mint",
1245
+ "type": "pubkey"
1246
+ },
1247
+ {
1248
+ "name": "reward_per_token_stored",
1249
+ "type": "u128"
1250
+ },
1251
+ {
1252
+ "name": "total_deposited",
1253
+ "type": "u64"
1254
+ },
1255
+ {
1256
+ "name": "total_claimed",
1257
+ "type": "u64"
1258
+ },
1259
+ {
1260
+ "name": "bump",
1261
+ "type": "u8"
1262
+ }
1263
+ ]
1264
+ }
1265
+ },
1266
+ {
1267
+ "name": "StakeEvent",
1268
+ "type": {
1269
+ "kind": "struct",
1270
+ "fields": [
1271
+ {
1272
+ "name": "user",
1273
+ "type": "pubkey"
1274
+ },
1275
+ {
1276
+ "name": "amount",
1277
+ "type": "u64"
1278
+ },
1279
+ {
1280
+ "name": "timestamp",
1281
+ "type": "i64"
1282
+ }
1283
+ ]
1284
+ }
1285
+ },
1286
+ {
1287
+ "name": "StakePool",
1288
+ "type": {
1289
+ "kind": "struct",
1290
+ "fields": [
1291
+ {
1292
+ "name": "authority",
1293
+ "type": "pubkey"
1294
+ },
1295
+ {
1296
+ "name": "accepted_mint",
1297
+ "type": "pubkey"
1298
+ },
1299
+ {
1300
+ "name": "reward_mint",
1301
+ "docs": [
1302
+ "The reward token mint. Set on first deposit_rewards call.",
1303
+ "Pubkey::default() means no rewards have been deposited yet."
1304
+ ],
1305
+ "type": "pubkey"
1306
+ },
1307
+ {
1308
+ "name": "total_staked",
1309
+ "type": "u64"
1310
+ },
1311
+ {
1312
+ "name": "bump",
1313
+ "type": "u8"
1314
+ },
1315
+ {
1316
+ "name": "vault_bump",
1317
+ "type": "u8"
1318
+ },
1319
+ {
1320
+ "name": "paused",
1321
+ "type": "bool"
1322
+ }
1323
+ ]
1324
+ }
1325
+ },
1326
+ {
1327
+ "name": "UnstakeEvent",
1328
+ "type": {
1329
+ "kind": "struct",
1330
+ "fields": [
1331
+ {
1332
+ "name": "user",
1333
+ "type": "pubkey"
1334
+ },
1335
+ {
1336
+ "name": "amount",
1337
+ "type": "u64"
1338
+ },
1339
+ {
1340
+ "name": "unlock_timestamp",
1341
+ "type": "i64"
1342
+ }
1343
+ ]
1344
+ }
1345
+ },
1346
+ {
1347
+ "name": "UserRewardInfo",
1348
+ "type": {
1349
+ "kind": "struct",
1350
+ "fields": [
1351
+ {
1352
+ "name": "user",
1353
+ "type": "pubkey"
1354
+ },
1355
+ {
1356
+ "name": "reward_mint",
1357
+ "type": "pubkey"
1358
+ },
1359
+ {
1360
+ "name": "reward_per_token_paid",
1361
+ "type": "u128"
1362
+ },
1363
+ {
1364
+ "name": "rewards_earned",
1365
+ "type": "u64"
1366
+ },
1367
+ {
1368
+ "name": "rewards_claimed",
1369
+ "type": "u64"
1370
+ },
1371
+ {
1372
+ "name": "bump",
1373
+ "type": "u8"
1374
+ }
1375
+ ]
1376
+ }
1377
+ },
1378
+ {
1379
+ "name": "UserStake",
1380
+ "type": {
1381
+ "kind": "struct",
1382
+ "fields": [
1383
+ {
1384
+ "name": "user",
1385
+ "type": "pubkey"
1386
+ },
1387
+ {
1388
+ "name": "staked_amount",
1389
+ "type": "u64"
1390
+ },
1391
+ {
1392
+ "name": "pending_unstake",
1393
+ "type": "u64"
1394
+ },
1395
+ {
1396
+ "name": "unlock_timestamp",
1397
+ "type": "i64"
1398
+ },
1399
+ {
1400
+ "name": "bump",
1401
+ "type": "u8"
1402
+ }
1403
+ ]
1404
+ }
1405
+ }
1406
+ ]
1407
+ }