@drift-labs/sdk 2.31.1-beta.8 → 2.32.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.
Files changed (42) hide show
  1. package/VERSION +1 -1
  2. package/lib/constants/perpMarkets.js +20 -0
  3. package/lib/dlob/orderBookLevels.js +2 -2
  4. package/lib/driftClient.d.ts +53 -5
  5. package/lib/driftClient.js +203 -196
  6. package/lib/idl/drift.json +31 -1
  7. package/lib/index.d.ts +3 -0
  8. package/lib/index.js +3 -0
  9. package/lib/marinade/index.d.ts +11 -0
  10. package/lib/marinade/index.js +36 -0
  11. package/lib/marinade/types.d.ts +1963 -0
  12. package/lib/marinade/types.js +1965 -0
  13. package/lib/math/spotBalance.d.ts +9 -2
  14. package/lib/math/spotBalance.js +54 -6
  15. package/lib/math/superStake.d.ts +22 -0
  16. package/lib/math/superStake.js +108 -0
  17. package/lib/math/utils.d.ts +1 -0
  18. package/lib/math/utils.js +5 -1
  19. package/lib/orderParams.d.ts +18 -5
  20. package/lib/orderParams.js +17 -1
  21. package/lib/user.d.ts +45 -1
  22. package/lib/user.js +227 -9
  23. package/package.json +1 -1
  24. package/src/assert/assert.js +9 -0
  25. package/src/constants/perpMarkets.ts +20 -0
  26. package/src/dlob/orderBookLevels.ts +3 -2
  27. package/src/driftClient.ts +383 -225
  28. package/src/idl/drift.json +31 -1
  29. package/src/index.ts +3 -0
  30. package/src/marinade/idl/idl.json +1962 -0
  31. package/src/marinade/index.ts +64 -0
  32. package/src/marinade/types.ts +3925 -0
  33. package/src/math/spotBalance.ts +83 -5
  34. package/src/math/superStake.ts +148 -0
  35. package/src/math/utils.ts +4 -0
  36. package/src/orderParams.ts +35 -5
  37. package/src/token/index.js +38 -0
  38. package/src/user.ts +453 -15
  39. package/src/util/computeUnits.js +27 -0
  40. package/src/util/promiseTimeout.js +14 -0
  41. package/src/util/tps.js +27 -0
  42. package/tests/spot/test.ts +156 -0
@@ -0,0 +1,3925 @@
1
+ export type MarinadeFinance = {
2
+ version: '0.1.0';
3
+ name: 'marinade_finance';
4
+ instructions: [
5
+ {
6
+ name: 'initialize';
7
+ accounts: [
8
+ {
9
+ name: 'creatorAuthority';
10
+ isMut: false;
11
+ isSigner: true;
12
+ },
13
+ {
14
+ name: 'state';
15
+ isMut: true;
16
+ isSigner: false;
17
+ },
18
+ {
19
+ name: 'reservePda';
20
+ isMut: false;
21
+ isSigner: false;
22
+ },
23
+ {
24
+ name: 'stakeList';
25
+ isMut: true;
26
+ isSigner: false;
27
+ },
28
+ {
29
+ name: 'validatorList';
30
+ isMut: true;
31
+ isSigner: false;
32
+ },
33
+ {
34
+ name: 'msolMint';
35
+ isMut: false;
36
+ isSigner: false;
37
+ },
38
+ {
39
+ name: 'operationalSolAccount';
40
+ isMut: false;
41
+ isSigner: false;
42
+ },
43
+ {
44
+ name: 'liqPool';
45
+ accounts: [
46
+ {
47
+ name: 'lpMint';
48
+ isMut: false;
49
+ isSigner: false;
50
+ },
51
+ {
52
+ name: 'solLegPda';
53
+ isMut: false;
54
+ isSigner: false;
55
+ },
56
+ {
57
+ name: 'msolLeg';
58
+ isMut: false;
59
+ isSigner: false;
60
+ }
61
+ ];
62
+ },
63
+ {
64
+ name: 'treasuryMsolAccount';
65
+ isMut: false;
66
+ isSigner: false;
67
+ },
68
+ {
69
+ name: 'clock';
70
+ isMut: false;
71
+ isSigner: false;
72
+ },
73
+ {
74
+ name: 'rent';
75
+ isMut: false;
76
+ isSigner: false;
77
+ }
78
+ ];
79
+ args: [
80
+ {
81
+ name: 'data';
82
+ type: {
83
+ defined: 'InitializeData';
84
+ };
85
+ }
86
+ ];
87
+ },
88
+ {
89
+ name: 'changeAuthority';
90
+ accounts: [
91
+ {
92
+ name: 'state';
93
+ isMut: true;
94
+ isSigner: false;
95
+ },
96
+ {
97
+ name: 'adminAuthority';
98
+ isMut: false;
99
+ isSigner: true;
100
+ }
101
+ ];
102
+ args: [
103
+ {
104
+ name: 'data';
105
+ type: {
106
+ defined: 'ChangeAuthorityData';
107
+ };
108
+ }
109
+ ];
110
+ },
111
+ {
112
+ name: 'addValidator';
113
+ accounts: [
114
+ {
115
+ name: 'state';
116
+ isMut: true;
117
+ isSigner: false;
118
+ },
119
+ {
120
+ name: 'managerAuthority';
121
+ isMut: false;
122
+ isSigner: true;
123
+ },
124
+ {
125
+ name: 'validatorList';
126
+ isMut: true;
127
+ isSigner: false;
128
+ },
129
+ {
130
+ name: 'validatorVote';
131
+ isMut: false;
132
+ isSigner: false;
133
+ },
134
+ {
135
+ name: 'duplicationFlag';
136
+ isMut: true;
137
+ isSigner: false;
138
+ },
139
+ {
140
+ name: 'rentPayer';
141
+ isMut: true;
142
+ isSigner: true;
143
+ },
144
+ {
145
+ name: 'clock';
146
+ isMut: false;
147
+ isSigner: false;
148
+ },
149
+ {
150
+ name: 'rent';
151
+ isMut: false;
152
+ isSigner: false;
153
+ },
154
+ {
155
+ name: 'systemProgram';
156
+ isMut: false;
157
+ isSigner: false;
158
+ }
159
+ ];
160
+ args: [
161
+ {
162
+ name: 'score';
163
+ type: 'u32';
164
+ }
165
+ ];
166
+ },
167
+ {
168
+ name: 'removeValidator';
169
+ accounts: [
170
+ {
171
+ name: 'state';
172
+ isMut: true;
173
+ isSigner: false;
174
+ },
175
+ {
176
+ name: 'managerAuthority';
177
+ isMut: false;
178
+ isSigner: true;
179
+ },
180
+ {
181
+ name: 'validatorList';
182
+ isMut: true;
183
+ isSigner: false;
184
+ },
185
+ {
186
+ name: 'duplicationFlag';
187
+ isMut: true;
188
+ isSigner: false;
189
+ },
190
+ {
191
+ name: 'operationalSolAccount';
192
+ isMut: true;
193
+ isSigner: false;
194
+ }
195
+ ];
196
+ args: [
197
+ {
198
+ name: 'index';
199
+ type: 'u32';
200
+ },
201
+ {
202
+ name: 'validatorVote';
203
+ type: 'publicKey';
204
+ }
205
+ ];
206
+ },
207
+ {
208
+ name: 'setValidatorScore';
209
+ accounts: [
210
+ {
211
+ name: 'state';
212
+ isMut: true;
213
+ isSigner: false;
214
+ },
215
+ {
216
+ name: 'managerAuthority';
217
+ isMut: false;
218
+ isSigner: true;
219
+ },
220
+ {
221
+ name: 'validatorList';
222
+ isMut: true;
223
+ isSigner: false;
224
+ }
225
+ ];
226
+ args: [
227
+ {
228
+ name: 'index';
229
+ type: 'u32';
230
+ },
231
+ {
232
+ name: 'validatorVote';
233
+ type: 'publicKey';
234
+ },
235
+ {
236
+ name: 'score';
237
+ type: 'u32';
238
+ }
239
+ ];
240
+ },
241
+ {
242
+ name: 'configValidatorSystem';
243
+ accounts: [
244
+ {
245
+ name: 'state';
246
+ isMut: true;
247
+ isSigner: false;
248
+ },
249
+ {
250
+ name: 'managerAuthority';
251
+ isMut: false;
252
+ isSigner: true;
253
+ }
254
+ ];
255
+ args: [
256
+ {
257
+ name: 'extraRuns';
258
+ type: 'u32';
259
+ }
260
+ ];
261
+ },
262
+ {
263
+ name: 'deposit';
264
+ accounts: [
265
+ {
266
+ name: 'state';
267
+ isMut: true;
268
+ isSigner: false;
269
+ },
270
+ {
271
+ name: 'msolMint';
272
+ isMut: true;
273
+ isSigner: false;
274
+ },
275
+ {
276
+ name: 'liqPoolSolLegPda';
277
+ isMut: true;
278
+ isSigner: false;
279
+ },
280
+ {
281
+ name: 'liqPoolMsolLeg';
282
+ isMut: true;
283
+ isSigner: false;
284
+ },
285
+ {
286
+ name: 'liqPoolMsolLegAuthority';
287
+ isMut: false;
288
+ isSigner: false;
289
+ },
290
+ {
291
+ name: 'reservePda';
292
+ isMut: true;
293
+ isSigner: false;
294
+ },
295
+ {
296
+ name: 'transferFrom';
297
+ isMut: true;
298
+ isSigner: true;
299
+ },
300
+ {
301
+ name: 'mintTo';
302
+ isMut: true;
303
+ isSigner: false;
304
+ },
305
+ {
306
+ name: 'msolMintAuthority';
307
+ isMut: false;
308
+ isSigner: false;
309
+ },
310
+ {
311
+ name: 'systemProgram';
312
+ isMut: false;
313
+ isSigner: false;
314
+ },
315
+ {
316
+ name: 'tokenProgram';
317
+ isMut: false;
318
+ isSigner: false;
319
+ }
320
+ ];
321
+ args: [
322
+ {
323
+ name: 'lamports';
324
+ type: 'u64';
325
+ }
326
+ ];
327
+ },
328
+ {
329
+ name: 'depositStakeAccount';
330
+ accounts: [
331
+ {
332
+ name: 'state';
333
+ isMut: true;
334
+ isSigner: false;
335
+ },
336
+ {
337
+ name: 'validatorList';
338
+ isMut: true;
339
+ isSigner: false;
340
+ },
341
+ {
342
+ name: 'stakeList';
343
+ isMut: true;
344
+ isSigner: false;
345
+ },
346
+ {
347
+ name: 'stakeAccount';
348
+ isMut: true;
349
+ isSigner: false;
350
+ },
351
+ {
352
+ name: 'stakeAuthority';
353
+ isMut: false;
354
+ isSigner: true;
355
+ },
356
+ {
357
+ name: 'duplicationFlag';
358
+ isMut: true;
359
+ isSigner: false;
360
+ },
361
+ {
362
+ name: 'rentPayer';
363
+ isMut: true;
364
+ isSigner: true;
365
+ },
366
+ {
367
+ name: 'msolMint';
368
+ isMut: true;
369
+ isSigner: false;
370
+ },
371
+ {
372
+ name: 'mintTo';
373
+ isMut: true;
374
+ isSigner: false;
375
+ },
376
+ {
377
+ name: 'msolMintAuthority';
378
+ isMut: false;
379
+ isSigner: false;
380
+ },
381
+ {
382
+ name: 'clock';
383
+ isMut: false;
384
+ isSigner: false;
385
+ },
386
+ {
387
+ name: 'rent';
388
+ isMut: false;
389
+ isSigner: false;
390
+ },
391
+ {
392
+ name: 'systemProgram';
393
+ isMut: false;
394
+ isSigner: false;
395
+ },
396
+ {
397
+ name: 'tokenProgram';
398
+ isMut: false;
399
+ isSigner: false;
400
+ },
401
+ {
402
+ name: 'stakeProgram';
403
+ isMut: false;
404
+ isSigner: false;
405
+ }
406
+ ];
407
+ args: [
408
+ {
409
+ name: 'validatorIndex';
410
+ type: 'u32';
411
+ }
412
+ ];
413
+ },
414
+ {
415
+ name: 'liquidUnstake';
416
+ accounts: [
417
+ {
418
+ name: 'state';
419
+ isMut: true;
420
+ isSigner: false;
421
+ },
422
+ {
423
+ name: 'msolMint';
424
+ isMut: true;
425
+ isSigner: false;
426
+ },
427
+ {
428
+ name: 'liqPoolSolLegPda';
429
+ isMut: true;
430
+ isSigner: false;
431
+ },
432
+ {
433
+ name: 'liqPoolMsolLeg';
434
+ isMut: true;
435
+ isSigner: false;
436
+ },
437
+ {
438
+ name: 'treasuryMsolAccount';
439
+ isMut: true;
440
+ isSigner: false;
441
+ },
442
+ {
443
+ name: 'getMsolFrom';
444
+ isMut: true;
445
+ isSigner: false;
446
+ },
447
+ {
448
+ name: 'getMsolFromAuthority';
449
+ isMut: false;
450
+ isSigner: true;
451
+ },
452
+ {
453
+ name: 'transferSolTo';
454
+ isMut: true;
455
+ isSigner: false;
456
+ },
457
+ {
458
+ name: 'systemProgram';
459
+ isMut: false;
460
+ isSigner: false;
461
+ },
462
+ {
463
+ name: 'tokenProgram';
464
+ isMut: false;
465
+ isSigner: false;
466
+ }
467
+ ];
468
+ args: [
469
+ {
470
+ name: 'msolAmount';
471
+ type: 'u64';
472
+ }
473
+ ];
474
+ },
475
+ {
476
+ name: 'addLiquidity';
477
+ accounts: [
478
+ {
479
+ name: 'state';
480
+ isMut: true;
481
+ isSigner: false;
482
+ },
483
+ {
484
+ name: 'lpMint';
485
+ isMut: true;
486
+ isSigner: false;
487
+ },
488
+ {
489
+ name: 'lpMintAuthority';
490
+ isMut: false;
491
+ isSigner: false;
492
+ },
493
+ {
494
+ name: 'liqPoolMsolLeg';
495
+ isMut: false;
496
+ isSigner: false;
497
+ },
498
+ {
499
+ name: 'liqPoolSolLegPda';
500
+ isMut: true;
501
+ isSigner: false;
502
+ },
503
+ {
504
+ name: 'transferFrom';
505
+ isMut: true;
506
+ isSigner: true;
507
+ },
508
+ {
509
+ name: 'mintTo';
510
+ isMut: true;
511
+ isSigner: false;
512
+ },
513
+ {
514
+ name: 'systemProgram';
515
+ isMut: false;
516
+ isSigner: false;
517
+ },
518
+ {
519
+ name: 'tokenProgram';
520
+ isMut: false;
521
+ isSigner: false;
522
+ }
523
+ ];
524
+ args: [
525
+ {
526
+ name: 'lamports';
527
+ type: 'u64';
528
+ }
529
+ ];
530
+ },
531
+ {
532
+ name: 'removeLiquidity';
533
+ accounts: [
534
+ {
535
+ name: 'state';
536
+ isMut: true;
537
+ isSigner: false;
538
+ },
539
+ {
540
+ name: 'lpMint';
541
+ isMut: true;
542
+ isSigner: false;
543
+ },
544
+ {
545
+ name: 'burnFrom';
546
+ isMut: true;
547
+ isSigner: false;
548
+ },
549
+ {
550
+ name: 'burnFromAuthority';
551
+ isMut: false;
552
+ isSigner: true;
553
+ },
554
+ {
555
+ name: 'transferSolTo';
556
+ isMut: true;
557
+ isSigner: false;
558
+ },
559
+ {
560
+ name: 'transferMsolTo';
561
+ isMut: true;
562
+ isSigner: false;
563
+ },
564
+ {
565
+ name: 'liqPoolSolLegPda';
566
+ isMut: true;
567
+ isSigner: false;
568
+ },
569
+ {
570
+ name: 'liqPoolMsolLeg';
571
+ isMut: true;
572
+ isSigner: false;
573
+ },
574
+ {
575
+ name: 'liqPoolMsolLegAuthority';
576
+ isMut: false;
577
+ isSigner: false;
578
+ },
579
+ {
580
+ name: 'systemProgram';
581
+ isMut: false;
582
+ isSigner: false;
583
+ },
584
+ {
585
+ name: 'tokenProgram';
586
+ isMut: false;
587
+ isSigner: false;
588
+ }
589
+ ];
590
+ args: [
591
+ {
592
+ name: 'tokens';
593
+ type: 'u64';
594
+ }
595
+ ];
596
+ },
597
+ {
598
+ name: 'configLp';
599
+ accounts: [
600
+ {
601
+ name: 'state';
602
+ isMut: true;
603
+ isSigner: false;
604
+ },
605
+ {
606
+ name: 'adminAuthority';
607
+ isMut: false;
608
+ isSigner: true;
609
+ }
610
+ ];
611
+ args: [
612
+ {
613
+ name: 'params';
614
+ type: {
615
+ defined: 'ConfigLpParams';
616
+ };
617
+ }
618
+ ];
619
+ },
620
+ {
621
+ name: 'configMarinade';
622
+ accounts: [
623
+ {
624
+ name: 'state';
625
+ isMut: true;
626
+ isSigner: false;
627
+ },
628
+ {
629
+ name: 'adminAuthority';
630
+ isMut: false;
631
+ isSigner: true;
632
+ }
633
+ ];
634
+ args: [
635
+ {
636
+ name: 'params';
637
+ type: {
638
+ defined: 'ConfigMarinadeParams';
639
+ };
640
+ }
641
+ ];
642
+ },
643
+ {
644
+ name: 'orderUnstake';
645
+ accounts: [
646
+ {
647
+ name: 'state';
648
+ isMut: true;
649
+ isSigner: false;
650
+ },
651
+ {
652
+ name: 'msolMint';
653
+ isMut: true;
654
+ isSigner: false;
655
+ },
656
+ {
657
+ name: 'burnMsolFrom';
658
+ isMut: true;
659
+ isSigner: false;
660
+ },
661
+ {
662
+ name: 'burnMsolAuthority';
663
+ isMut: false;
664
+ isSigner: true;
665
+ },
666
+ {
667
+ name: 'newTicketAccount';
668
+ isMut: true;
669
+ isSigner: false;
670
+ },
671
+ {
672
+ name: 'clock';
673
+ isMut: false;
674
+ isSigner: false;
675
+ },
676
+ {
677
+ name: 'rent';
678
+ isMut: false;
679
+ isSigner: false;
680
+ },
681
+ {
682
+ name: 'tokenProgram';
683
+ isMut: false;
684
+ isSigner: false;
685
+ }
686
+ ];
687
+ args: [
688
+ {
689
+ name: 'msolAmount';
690
+ type: 'u64';
691
+ }
692
+ ];
693
+ },
694
+ {
695
+ name: 'claim';
696
+ accounts: [
697
+ {
698
+ name: 'state';
699
+ isMut: true;
700
+ isSigner: false;
701
+ },
702
+ {
703
+ name: 'reservePda';
704
+ isMut: true;
705
+ isSigner: false;
706
+ },
707
+ {
708
+ name: 'ticketAccount';
709
+ isMut: true;
710
+ isSigner: false;
711
+ },
712
+ {
713
+ name: 'transferSolTo';
714
+ isMut: true;
715
+ isSigner: false;
716
+ },
717
+ {
718
+ name: 'clock';
719
+ isMut: false;
720
+ isSigner: false;
721
+ },
722
+ {
723
+ name: 'systemProgram';
724
+ isMut: false;
725
+ isSigner: false;
726
+ }
727
+ ];
728
+ args: [];
729
+ },
730
+ {
731
+ name: 'stakeReserve';
732
+ accounts: [
733
+ {
734
+ name: 'state';
735
+ isMut: true;
736
+ isSigner: false;
737
+ },
738
+ {
739
+ name: 'validatorList';
740
+ isMut: true;
741
+ isSigner: false;
742
+ },
743
+ {
744
+ name: 'stakeList';
745
+ isMut: true;
746
+ isSigner: false;
747
+ },
748
+ {
749
+ name: 'validatorVote';
750
+ isMut: true;
751
+ isSigner: false;
752
+ },
753
+ {
754
+ name: 'reservePda';
755
+ isMut: true;
756
+ isSigner: false;
757
+ },
758
+ {
759
+ name: 'stakeAccount';
760
+ isMut: true;
761
+ isSigner: false;
762
+ },
763
+ {
764
+ name: 'stakeDepositAuthority';
765
+ isMut: false;
766
+ isSigner: false;
767
+ },
768
+ {
769
+ name: 'clock';
770
+ isMut: false;
771
+ isSigner: false;
772
+ },
773
+ {
774
+ name: 'epochSchedule';
775
+ isMut: false;
776
+ isSigner: false;
777
+ },
778
+ {
779
+ name: 'rent';
780
+ isMut: false;
781
+ isSigner: false;
782
+ },
783
+ {
784
+ name: 'stakeHistory';
785
+ isMut: false;
786
+ isSigner: false;
787
+ },
788
+ {
789
+ name: 'stakeConfig';
790
+ isMut: false;
791
+ isSigner: false;
792
+ },
793
+ {
794
+ name: 'systemProgram';
795
+ isMut: false;
796
+ isSigner: false;
797
+ },
798
+ {
799
+ name: 'stakeProgram';
800
+ isMut: false;
801
+ isSigner: false;
802
+ }
803
+ ];
804
+ args: [
805
+ {
806
+ name: 'validatorIndex';
807
+ type: 'u32';
808
+ }
809
+ ];
810
+ },
811
+ {
812
+ name: 'updateActive';
813
+ accounts: [
814
+ {
815
+ name: 'common';
816
+ accounts: [
817
+ {
818
+ name: 'state';
819
+ isMut: true;
820
+ isSigner: false;
821
+ },
822
+ {
823
+ name: 'stakeList';
824
+ isMut: true;
825
+ isSigner: false;
826
+ },
827
+ {
828
+ name: 'stakeAccount';
829
+ isMut: true;
830
+ isSigner: false;
831
+ },
832
+ {
833
+ name: 'stakeWithdrawAuthority';
834
+ isMut: false;
835
+ isSigner: false;
836
+ },
837
+ {
838
+ name: 'reservePda';
839
+ isMut: true;
840
+ isSigner: false;
841
+ },
842
+ {
843
+ name: 'msolMint';
844
+ isMut: true;
845
+ isSigner: false;
846
+ },
847
+ {
848
+ name: 'msolMintAuthority';
849
+ isMut: false;
850
+ isSigner: false;
851
+ },
852
+ {
853
+ name: 'treasuryMsolAccount';
854
+ isMut: true;
855
+ isSigner: false;
856
+ },
857
+ {
858
+ name: 'clock';
859
+ isMut: false;
860
+ isSigner: false;
861
+ },
862
+ {
863
+ name: 'stakeHistory';
864
+ isMut: false;
865
+ isSigner: false;
866
+ },
867
+ {
868
+ name: 'stakeProgram';
869
+ isMut: false;
870
+ isSigner: false;
871
+ },
872
+ {
873
+ name: 'tokenProgram';
874
+ isMut: false;
875
+ isSigner: false;
876
+ }
877
+ ];
878
+ },
879
+ {
880
+ name: 'validatorList';
881
+ isMut: true;
882
+ isSigner: false;
883
+ }
884
+ ];
885
+ args: [
886
+ {
887
+ name: 'stakeIndex';
888
+ type: 'u32';
889
+ },
890
+ {
891
+ name: 'validatorIndex';
892
+ type: 'u32';
893
+ }
894
+ ];
895
+ },
896
+ {
897
+ name: 'updateDeactivated';
898
+ accounts: [
899
+ {
900
+ name: 'common';
901
+ accounts: [
902
+ {
903
+ name: 'state';
904
+ isMut: true;
905
+ isSigner: false;
906
+ },
907
+ {
908
+ name: 'stakeList';
909
+ isMut: true;
910
+ isSigner: false;
911
+ },
912
+ {
913
+ name: 'stakeAccount';
914
+ isMut: true;
915
+ isSigner: false;
916
+ },
917
+ {
918
+ name: 'stakeWithdrawAuthority';
919
+ isMut: false;
920
+ isSigner: false;
921
+ },
922
+ {
923
+ name: 'reservePda';
924
+ isMut: true;
925
+ isSigner: false;
926
+ },
927
+ {
928
+ name: 'msolMint';
929
+ isMut: true;
930
+ isSigner: false;
931
+ },
932
+ {
933
+ name: 'msolMintAuthority';
934
+ isMut: false;
935
+ isSigner: false;
936
+ },
937
+ {
938
+ name: 'treasuryMsolAccount';
939
+ isMut: true;
940
+ isSigner: false;
941
+ },
942
+ {
943
+ name: 'clock';
944
+ isMut: false;
945
+ isSigner: false;
946
+ },
947
+ {
948
+ name: 'stakeHistory';
949
+ isMut: false;
950
+ isSigner: false;
951
+ },
952
+ {
953
+ name: 'stakeProgram';
954
+ isMut: false;
955
+ isSigner: false;
956
+ },
957
+ {
958
+ name: 'tokenProgram';
959
+ isMut: false;
960
+ isSigner: false;
961
+ }
962
+ ];
963
+ },
964
+ {
965
+ name: 'operationalSolAccount';
966
+ isMut: true;
967
+ isSigner: false;
968
+ },
969
+ {
970
+ name: 'systemProgram';
971
+ isMut: false;
972
+ isSigner: false;
973
+ }
974
+ ];
975
+ args: [
976
+ {
977
+ name: 'stakeIndex';
978
+ type: 'u32';
979
+ }
980
+ ];
981
+ },
982
+ {
983
+ name: 'deactivateStake';
984
+ accounts: [
985
+ {
986
+ name: 'state';
987
+ isMut: true;
988
+ isSigner: false;
989
+ },
990
+ {
991
+ name: 'reservePda';
992
+ isMut: false;
993
+ isSigner: false;
994
+ },
995
+ {
996
+ name: 'validatorList';
997
+ isMut: true;
998
+ isSigner: false;
999
+ },
1000
+ {
1001
+ name: 'stakeList';
1002
+ isMut: true;
1003
+ isSigner: false;
1004
+ },
1005
+ {
1006
+ name: 'stakeAccount';
1007
+ isMut: true;
1008
+ isSigner: false;
1009
+ },
1010
+ {
1011
+ name: 'stakeDepositAuthority';
1012
+ isMut: false;
1013
+ isSigner: false;
1014
+ },
1015
+ {
1016
+ name: 'splitStakeAccount';
1017
+ isMut: true;
1018
+ isSigner: true;
1019
+ },
1020
+ {
1021
+ name: 'splitStakeRentPayer';
1022
+ isMut: true;
1023
+ isSigner: true;
1024
+ },
1025
+ {
1026
+ name: 'clock';
1027
+ isMut: false;
1028
+ isSigner: false;
1029
+ },
1030
+ {
1031
+ name: 'rent';
1032
+ isMut: false;
1033
+ isSigner: false;
1034
+ },
1035
+ {
1036
+ name: 'epochSchedule';
1037
+ isMut: false;
1038
+ isSigner: false;
1039
+ },
1040
+ {
1041
+ name: 'stakeHistory';
1042
+ isMut: false;
1043
+ isSigner: false;
1044
+ },
1045
+ {
1046
+ name: 'systemProgram';
1047
+ isMut: false;
1048
+ isSigner: false;
1049
+ },
1050
+ {
1051
+ name: 'stakeProgram';
1052
+ isMut: false;
1053
+ isSigner: false;
1054
+ }
1055
+ ];
1056
+ args: [
1057
+ {
1058
+ name: 'stakeIndex';
1059
+ type: 'u32';
1060
+ },
1061
+ {
1062
+ name: 'validatorIndex';
1063
+ type: 'u32';
1064
+ }
1065
+ ];
1066
+ },
1067
+ {
1068
+ name: 'emergencyUnstake';
1069
+ accounts: [
1070
+ {
1071
+ name: 'state';
1072
+ isMut: true;
1073
+ isSigner: false;
1074
+ },
1075
+ {
1076
+ name: 'validatorManagerAuthority';
1077
+ isMut: false;
1078
+ isSigner: true;
1079
+ },
1080
+ {
1081
+ name: 'validatorList';
1082
+ isMut: true;
1083
+ isSigner: false;
1084
+ },
1085
+ {
1086
+ name: 'stakeList';
1087
+ isMut: true;
1088
+ isSigner: false;
1089
+ },
1090
+ {
1091
+ name: 'stakeAccount';
1092
+ isMut: true;
1093
+ isSigner: false;
1094
+ },
1095
+ {
1096
+ name: 'stakeDepositAuthority';
1097
+ isMut: false;
1098
+ isSigner: false;
1099
+ },
1100
+ {
1101
+ name: 'clock';
1102
+ isMut: false;
1103
+ isSigner: false;
1104
+ },
1105
+ {
1106
+ name: 'stakeProgram';
1107
+ isMut: false;
1108
+ isSigner: false;
1109
+ }
1110
+ ];
1111
+ args: [
1112
+ {
1113
+ name: 'stakeIndex';
1114
+ type: 'u32';
1115
+ },
1116
+ {
1117
+ name: 'validatorIndex';
1118
+ type: 'u32';
1119
+ }
1120
+ ];
1121
+ },
1122
+ {
1123
+ name: 'partialUnstake';
1124
+ accounts: [
1125
+ {
1126
+ name: 'state';
1127
+ isMut: true;
1128
+ isSigner: false;
1129
+ },
1130
+ {
1131
+ name: 'validatorManagerAuthority';
1132
+ isMut: false;
1133
+ isSigner: true;
1134
+ },
1135
+ {
1136
+ name: 'validatorList';
1137
+ isMut: true;
1138
+ isSigner: false;
1139
+ },
1140
+ {
1141
+ name: 'stakeList';
1142
+ isMut: true;
1143
+ isSigner: false;
1144
+ },
1145
+ {
1146
+ name: 'stakeAccount';
1147
+ isMut: true;
1148
+ isSigner: false;
1149
+ },
1150
+ {
1151
+ name: 'stakeDepositAuthority';
1152
+ isMut: false;
1153
+ isSigner: false;
1154
+ },
1155
+ {
1156
+ name: 'reservePda';
1157
+ isMut: false;
1158
+ isSigner: false;
1159
+ },
1160
+ {
1161
+ name: 'splitStakeAccount';
1162
+ isMut: true;
1163
+ isSigner: true;
1164
+ },
1165
+ {
1166
+ name: 'splitStakeRentPayer';
1167
+ isMut: true;
1168
+ isSigner: true;
1169
+ },
1170
+ {
1171
+ name: 'clock';
1172
+ isMut: false;
1173
+ isSigner: false;
1174
+ },
1175
+ {
1176
+ name: 'rent';
1177
+ isMut: false;
1178
+ isSigner: false;
1179
+ },
1180
+ {
1181
+ name: 'stakeHistory';
1182
+ isMut: false;
1183
+ isSigner: false;
1184
+ },
1185
+ {
1186
+ name: 'systemProgram';
1187
+ isMut: false;
1188
+ isSigner: false;
1189
+ },
1190
+ {
1191
+ name: 'stakeProgram';
1192
+ isMut: false;
1193
+ isSigner: false;
1194
+ }
1195
+ ];
1196
+ args: [
1197
+ {
1198
+ name: 'stakeIndex';
1199
+ type: 'u32';
1200
+ },
1201
+ {
1202
+ name: 'validatorIndex';
1203
+ type: 'u32';
1204
+ },
1205
+ {
1206
+ name: 'desiredUnstakeAmount';
1207
+ type: 'u64';
1208
+ }
1209
+ ];
1210
+ },
1211
+ {
1212
+ name: 'mergeStakes';
1213
+ accounts: [
1214
+ {
1215
+ name: 'state';
1216
+ isMut: true;
1217
+ isSigner: false;
1218
+ },
1219
+ {
1220
+ name: 'stakeList';
1221
+ isMut: true;
1222
+ isSigner: false;
1223
+ },
1224
+ {
1225
+ name: 'validatorList';
1226
+ isMut: true;
1227
+ isSigner: false;
1228
+ },
1229
+ {
1230
+ name: 'destinationStake';
1231
+ isMut: true;
1232
+ isSigner: false;
1233
+ },
1234
+ {
1235
+ name: 'sourceStake';
1236
+ isMut: true;
1237
+ isSigner: false;
1238
+ },
1239
+ {
1240
+ name: 'stakeDepositAuthority';
1241
+ isMut: false;
1242
+ isSigner: false;
1243
+ },
1244
+ {
1245
+ name: 'stakeWithdrawAuthority';
1246
+ isMut: false;
1247
+ isSigner: false;
1248
+ },
1249
+ {
1250
+ name: 'operationalSolAccount';
1251
+ isMut: true;
1252
+ isSigner: false;
1253
+ },
1254
+ {
1255
+ name: 'clock';
1256
+ isMut: false;
1257
+ isSigner: false;
1258
+ },
1259
+ {
1260
+ name: 'stakeHistory';
1261
+ isMut: false;
1262
+ isSigner: false;
1263
+ },
1264
+ {
1265
+ name: 'stakeProgram';
1266
+ isMut: false;
1267
+ isSigner: false;
1268
+ }
1269
+ ];
1270
+ args: [
1271
+ {
1272
+ name: 'destinationStakeIndex';
1273
+ type: 'u32';
1274
+ },
1275
+ {
1276
+ name: 'sourceStakeIndex';
1277
+ type: 'u32';
1278
+ },
1279
+ {
1280
+ name: 'validatorIndex';
1281
+ type: 'u32';
1282
+ }
1283
+ ];
1284
+ }
1285
+ ];
1286
+ accounts: [
1287
+ {
1288
+ name: 'state';
1289
+ type: {
1290
+ kind: 'struct';
1291
+ fields: [
1292
+ {
1293
+ name: 'msolMint';
1294
+ type: 'publicKey';
1295
+ },
1296
+ {
1297
+ name: 'adminAuthority';
1298
+ type: 'publicKey';
1299
+ },
1300
+ {
1301
+ name: 'operationalSolAccount';
1302
+ type: 'publicKey';
1303
+ },
1304
+ {
1305
+ name: 'treasuryMsolAccount';
1306
+ type: 'publicKey';
1307
+ },
1308
+ {
1309
+ name: 'reserveBumpSeed';
1310
+ type: 'u8';
1311
+ },
1312
+ {
1313
+ name: 'msolMintAuthorityBumpSeed';
1314
+ type: 'u8';
1315
+ },
1316
+ {
1317
+ name: 'rentExemptForTokenAcc';
1318
+ type: 'u64';
1319
+ },
1320
+ {
1321
+ name: 'rewardFee';
1322
+ type: {
1323
+ defined: 'Fee';
1324
+ };
1325
+ },
1326
+ {
1327
+ name: 'stakeSystem';
1328
+ type: {
1329
+ defined: 'StakeSystem';
1330
+ };
1331
+ },
1332
+ {
1333
+ name: 'validatorSystem';
1334
+ type: {
1335
+ defined: 'ValidatorSystem';
1336
+ };
1337
+ },
1338
+ {
1339
+ name: 'liqPool';
1340
+ type: {
1341
+ defined: 'LiqPool';
1342
+ };
1343
+ },
1344
+ {
1345
+ name: 'availableReserveBalance';
1346
+ type: 'u64';
1347
+ },
1348
+ {
1349
+ name: 'msolSupply';
1350
+ type: 'u64';
1351
+ },
1352
+ {
1353
+ name: 'msolPrice';
1354
+ type: 'u64';
1355
+ },
1356
+ {
1357
+ name: 'circulatingTicketCount';
1358
+ docs: ['count tickets for delayed-unstake'];
1359
+ type: 'u64';
1360
+ },
1361
+ {
1362
+ name: 'circulatingTicketBalance';
1363
+ docs: [
1364
+ 'total lamports amount of generated and not claimed yet tickets'
1365
+ ];
1366
+ type: 'u64';
1367
+ },
1368
+ {
1369
+ name: 'lentFromReserve';
1370
+ type: 'u64';
1371
+ },
1372
+ {
1373
+ name: 'minDeposit';
1374
+ type: 'u64';
1375
+ },
1376
+ {
1377
+ name: 'minWithdraw';
1378
+ type: 'u64';
1379
+ },
1380
+ {
1381
+ name: 'stakingSolCap';
1382
+ type: 'u64';
1383
+ },
1384
+ {
1385
+ name: 'emergencyCoolingDown';
1386
+ type: 'u64';
1387
+ }
1388
+ ];
1389
+ };
1390
+ },
1391
+ {
1392
+ name: 'ticketAccountData';
1393
+ type: {
1394
+ kind: 'struct';
1395
+ fields: [
1396
+ {
1397
+ name: 'stateAddress';
1398
+ type: 'publicKey';
1399
+ },
1400
+ {
1401
+ name: 'beneficiary';
1402
+ type: 'publicKey';
1403
+ },
1404
+ {
1405
+ name: 'lamportsAmount';
1406
+ type: 'u64';
1407
+ },
1408
+ {
1409
+ name: 'createdEpoch';
1410
+ type: 'u64';
1411
+ }
1412
+ ];
1413
+ };
1414
+ }
1415
+ ];
1416
+ types: [
1417
+ {
1418
+ name: 'LiqPool';
1419
+ type: {
1420
+ kind: 'struct';
1421
+ fields: [
1422
+ {
1423
+ name: 'lpMint';
1424
+ type: 'publicKey';
1425
+ },
1426
+ {
1427
+ name: 'lpMintAuthorityBumpSeed';
1428
+ type: 'u8';
1429
+ },
1430
+ {
1431
+ name: 'solLegBumpSeed';
1432
+ type: 'u8';
1433
+ },
1434
+ {
1435
+ name: 'msolLegAuthorityBumpSeed';
1436
+ type: 'u8';
1437
+ },
1438
+ {
1439
+ name: 'msolLeg';
1440
+ type: 'publicKey';
1441
+ },
1442
+ {
1443
+ name: 'lpLiquidityTarget';
1444
+ docs: [
1445
+ 'Liquidity target. If the Liquidity reach this amount, the fee reaches lp_min_discount_fee'
1446
+ ];
1447
+ type: 'u64';
1448
+ },
1449
+ {
1450
+ name: 'lpMaxFee';
1451
+ docs: ['Liquidity pool max fee'];
1452
+ type: {
1453
+ defined: 'Fee';
1454
+ };
1455
+ },
1456
+ {
1457
+ name: 'lpMinFee';
1458
+ docs: ['SOL/mSOL Liquidity pool min fee'];
1459
+ type: {
1460
+ defined: 'Fee';
1461
+ };
1462
+ },
1463
+ {
1464
+ name: 'treasuryCut';
1465
+ docs: ['Treasury cut'];
1466
+ type: {
1467
+ defined: 'Fee';
1468
+ };
1469
+ },
1470
+ {
1471
+ name: 'lpSupply';
1472
+ type: 'u64';
1473
+ },
1474
+ {
1475
+ name: 'lentFromSolLeg';
1476
+ type: 'u64';
1477
+ },
1478
+ {
1479
+ name: 'liquiditySolCap';
1480
+ type: 'u64';
1481
+ }
1482
+ ];
1483
+ };
1484
+ },
1485
+ {
1486
+ name: 'List';
1487
+ type: {
1488
+ kind: 'struct';
1489
+ fields: [
1490
+ {
1491
+ name: 'account';
1492
+ type: 'publicKey';
1493
+ },
1494
+ {
1495
+ name: 'itemSize';
1496
+ type: 'u32';
1497
+ },
1498
+ {
1499
+ name: 'count';
1500
+ type: 'u32';
1501
+ },
1502
+ {
1503
+ name: 'newAccount';
1504
+ type: 'publicKey';
1505
+ },
1506
+ {
1507
+ name: 'copiedCount';
1508
+ type: 'u32';
1509
+ }
1510
+ ];
1511
+ };
1512
+ },
1513
+ {
1514
+ name: 'StakeRecord';
1515
+ type: {
1516
+ kind: 'struct';
1517
+ fields: [
1518
+ {
1519
+ name: 'stakeAccount';
1520
+ type: 'publicKey';
1521
+ },
1522
+ {
1523
+ name: 'lastUpdateDelegatedLamports';
1524
+ type: 'u64';
1525
+ },
1526
+ {
1527
+ name: 'lastUpdateEpoch';
1528
+ type: 'u64';
1529
+ },
1530
+ {
1531
+ name: 'isEmergencyUnstaking';
1532
+ type: 'u8';
1533
+ }
1534
+ ];
1535
+ };
1536
+ },
1537
+ {
1538
+ name: 'StakeSystem';
1539
+ type: {
1540
+ kind: 'struct';
1541
+ fields: [
1542
+ {
1543
+ name: 'stakeList';
1544
+ type: {
1545
+ defined: 'List';
1546
+ };
1547
+ },
1548
+ {
1549
+ name: 'delayedUnstakeCoolingDown';
1550
+ type: 'u64';
1551
+ },
1552
+ {
1553
+ name: 'stakeDepositBumpSeed';
1554
+ type: 'u8';
1555
+ },
1556
+ {
1557
+ name: 'stakeWithdrawBumpSeed';
1558
+ type: 'u8';
1559
+ },
1560
+ {
1561
+ name: 'slotsForStakeDelta';
1562
+ docs: [
1563
+ 'set by admin, how much slots before the end of the epoch, stake-delta can start'
1564
+ ];
1565
+ type: 'u64';
1566
+ },
1567
+ {
1568
+ name: 'lastStakeDeltaEpoch';
1569
+ docs: [
1570
+ 'Marks the start of stake-delta operations, meaning that if somebody starts a delayed-unstake ticket',
1571
+ 'after this var is set with epoch_num the ticket will have epoch_created = current_epoch+1',
1572
+ '(the user must wait one more epoch, because their unstake-delta will be execute in this epoch)'
1573
+ ];
1574
+ type: 'u64';
1575
+ },
1576
+ {
1577
+ name: 'minStake';
1578
+ type: 'u64';
1579
+ },
1580
+ {
1581
+ name: 'extraStakeDeltaRuns';
1582
+ docs: [
1583
+ 'can be set by validator-manager-auth to allow a second run of stake-delta to stake late stakers in the last minute of the epoch',
1584
+ "so we maximize user's rewards"
1585
+ ];
1586
+ type: 'u32';
1587
+ }
1588
+ ];
1589
+ };
1590
+ },
1591
+ {
1592
+ name: 'ValidatorRecord';
1593
+ type: {
1594
+ kind: 'struct';
1595
+ fields: [
1596
+ {
1597
+ name: 'validatorAccount';
1598
+ docs: ['Validator vote pubkey'];
1599
+ type: 'publicKey';
1600
+ },
1601
+ {
1602
+ name: 'activeBalance';
1603
+ docs: ['Validator total balance in lamports'];
1604
+ type: 'u64';
1605
+ },
1606
+ {
1607
+ name: 'score';
1608
+ type: 'u32';
1609
+ },
1610
+ {
1611
+ name: 'lastStakeDeltaEpoch';
1612
+ type: 'u64';
1613
+ },
1614
+ {
1615
+ name: 'duplicationFlagBumpSeed';
1616
+ type: 'u8';
1617
+ }
1618
+ ];
1619
+ };
1620
+ },
1621
+ {
1622
+ name: 'ValidatorSystem';
1623
+ type: {
1624
+ kind: 'struct';
1625
+ fields: [
1626
+ {
1627
+ name: 'validatorList';
1628
+ type: {
1629
+ defined: 'List';
1630
+ };
1631
+ },
1632
+ {
1633
+ name: 'managerAuthority';
1634
+ type: 'publicKey';
1635
+ },
1636
+ {
1637
+ name: 'totalValidatorScore';
1638
+ type: 'u32';
1639
+ },
1640
+ {
1641
+ name: 'totalActiveBalance';
1642
+ docs: ['sum of all active lamports staked'];
1643
+ type: 'u64';
1644
+ },
1645
+ {
1646
+ name: 'autoAddValidatorEnabled';
1647
+ docs: [
1648
+ 'allow & auto-add validator when a user deposits a stake-account of a non-listed validator'
1649
+ ];
1650
+ type: 'u8';
1651
+ }
1652
+ ];
1653
+ };
1654
+ },
1655
+ {
1656
+ name: 'Fee';
1657
+ type: {
1658
+ kind: 'struct';
1659
+ fields: [
1660
+ {
1661
+ name: 'basisPoints';
1662
+ type: 'u32';
1663
+ }
1664
+ ];
1665
+ };
1666
+ },
1667
+ {
1668
+ name: 'InitializeData';
1669
+ type: {
1670
+ kind: 'struct';
1671
+ fields: [
1672
+ {
1673
+ name: 'adminAuthority';
1674
+ type: 'publicKey';
1675
+ },
1676
+ {
1677
+ name: 'validatorManagerAuthority';
1678
+ type: 'publicKey';
1679
+ },
1680
+ {
1681
+ name: 'minStake';
1682
+ type: 'u64';
1683
+ },
1684
+ {
1685
+ name: 'rewardFee';
1686
+ type: {
1687
+ defined: 'Fee';
1688
+ };
1689
+ },
1690
+ {
1691
+ name: 'liqPool';
1692
+ type: {
1693
+ defined: 'LiqPoolInitializeData';
1694
+ };
1695
+ },
1696
+ {
1697
+ name: 'additionalStakeRecordSpace';
1698
+ type: 'u32';
1699
+ },
1700
+ {
1701
+ name: 'additionalValidatorRecordSpace';
1702
+ type: 'u32';
1703
+ },
1704
+ {
1705
+ name: 'slotsForStakeDelta';
1706
+ type: 'u64';
1707
+ }
1708
+ ];
1709
+ };
1710
+ },
1711
+ {
1712
+ name: 'LiqPoolInitializeData';
1713
+ type: {
1714
+ kind: 'struct';
1715
+ fields: [
1716
+ {
1717
+ name: 'lpLiquidityTarget';
1718
+ type: 'u64';
1719
+ },
1720
+ {
1721
+ name: 'lpMaxFee';
1722
+ type: {
1723
+ defined: 'Fee';
1724
+ };
1725
+ },
1726
+ {
1727
+ name: 'lpMinFee';
1728
+ type: {
1729
+ defined: 'Fee';
1730
+ };
1731
+ },
1732
+ {
1733
+ name: 'lpTreasuryCut';
1734
+ type: {
1735
+ defined: 'Fee';
1736
+ };
1737
+ }
1738
+ ];
1739
+ };
1740
+ },
1741
+ {
1742
+ name: 'ChangeAuthorityData';
1743
+ type: {
1744
+ kind: 'struct';
1745
+ fields: [
1746
+ {
1747
+ name: 'admin';
1748
+ type: {
1749
+ option: 'publicKey';
1750
+ };
1751
+ },
1752
+ {
1753
+ name: 'validatorManager';
1754
+ type: {
1755
+ option: 'publicKey';
1756
+ };
1757
+ },
1758
+ {
1759
+ name: 'operationalSolAccount';
1760
+ type: {
1761
+ option: 'publicKey';
1762
+ };
1763
+ },
1764
+ {
1765
+ name: 'treasuryMsolAccount';
1766
+ type: {
1767
+ option: 'publicKey';
1768
+ };
1769
+ }
1770
+ ];
1771
+ };
1772
+ },
1773
+ {
1774
+ name: 'ConfigLpParams';
1775
+ type: {
1776
+ kind: 'struct';
1777
+ fields: [
1778
+ {
1779
+ name: 'minFee';
1780
+ type: {
1781
+ option: {
1782
+ defined: 'Fee';
1783
+ };
1784
+ };
1785
+ },
1786
+ {
1787
+ name: 'maxFee';
1788
+ type: {
1789
+ option: {
1790
+ defined: 'Fee';
1791
+ };
1792
+ };
1793
+ },
1794
+ {
1795
+ name: 'liquidityTarget';
1796
+ type: {
1797
+ option: 'u64';
1798
+ };
1799
+ },
1800
+ {
1801
+ name: 'treasuryCut';
1802
+ type: {
1803
+ option: {
1804
+ defined: 'Fee';
1805
+ };
1806
+ };
1807
+ }
1808
+ ];
1809
+ };
1810
+ },
1811
+ {
1812
+ name: 'ConfigMarinadeParams';
1813
+ type: {
1814
+ kind: 'struct';
1815
+ fields: [
1816
+ {
1817
+ name: 'rewardsFee';
1818
+ type: {
1819
+ option: {
1820
+ defined: 'Fee';
1821
+ };
1822
+ };
1823
+ },
1824
+ {
1825
+ name: 'slotsForStakeDelta';
1826
+ type: {
1827
+ option: 'u64';
1828
+ };
1829
+ },
1830
+ {
1831
+ name: 'minStake';
1832
+ type: {
1833
+ option: 'u64';
1834
+ };
1835
+ },
1836
+ {
1837
+ name: 'minDeposit';
1838
+ type: {
1839
+ option: 'u64';
1840
+ };
1841
+ },
1842
+ {
1843
+ name: 'minWithdraw';
1844
+ type: {
1845
+ option: 'u64';
1846
+ };
1847
+ },
1848
+ {
1849
+ name: 'stakingSolCap';
1850
+ type: {
1851
+ option: 'u64';
1852
+ };
1853
+ },
1854
+ {
1855
+ name: 'liquiditySolCap';
1856
+ type: {
1857
+ option: 'u64';
1858
+ };
1859
+ },
1860
+ {
1861
+ name: 'autoAddValidatorEnabled';
1862
+ type: {
1863
+ option: 'bool';
1864
+ };
1865
+ }
1866
+ ];
1867
+ };
1868
+ },
1869
+ {
1870
+ name: 'CommonError';
1871
+ type: {
1872
+ kind: 'enum';
1873
+ variants: [
1874
+ {
1875
+ name: 'WrongReserveOwner';
1876
+ },
1877
+ {
1878
+ name: 'NonEmptyReserveData';
1879
+ },
1880
+ {
1881
+ name: 'InvalidInitialReserveLamports';
1882
+ },
1883
+ {
1884
+ name: 'ZeroValidatorChunkSize';
1885
+ },
1886
+ {
1887
+ name: 'TooBigValidatorChunkSize';
1888
+ },
1889
+ {
1890
+ name: 'ZeroCreditChunkSize';
1891
+ },
1892
+ {
1893
+ name: 'TooBigCreditChunkSize';
1894
+ },
1895
+ {
1896
+ name: 'TooLowCreditFee';
1897
+ },
1898
+ {
1899
+ name: 'InvalidMintAuthority';
1900
+ },
1901
+ {
1902
+ name: 'MintHasInitialSupply';
1903
+ },
1904
+ {
1905
+ name: 'InvalidOwnerFeeState';
1906
+ },
1907
+ {
1908
+ name: 'InvalidProgramId';
1909
+ },
1910
+ {
1911
+ name: 'UnexpectedAccount';
1912
+ },
1913
+ {
1914
+ name: 'CalculationFailure';
1915
+ },
1916
+ {
1917
+ name: 'AccountWithLockup';
1918
+ },
1919
+ {
1920
+ name: 'NumberTooLow';
1921
+ },
1922
+ {
1923
+ name: 'NumberTooHigh';
1924
+ },
1925
+ {
1926
+ name: 'FeeTooHigh';
1927
+ },
1928
+ {
1929
+ name: 'FeesWrongWayRound';
1930
+ },
1931
+ {
1932
+ name: 'LiquidityTargetTooLow';
1933
+ },
1934
+ {
1935
+ name: 'TicketNotDue';
1936
+ },
1937
+ {
1938
+ name: 'TicketNotReady';
1939
+ },
1940
+ {
1941
+ name: 'WrongBeneficiary';
1942
+ },
1943
+ {
1944
+ name: 'StakeAccountNotUpdatedYet';
1945
+ },
1946
+ {
1947
+ name: 'StakeNotDelegated';
1948
+ },
1949
+ {
1950
+ name: 'StakeAccountIsEmergencyUnstaking';
1951
+ },
1952
+ {
1953
+ name: 'InsufficientLiquidity';
1954
+ },
1955
+ {
1956
+ name: 'InvalidValidator';
1957
+ }
1958
+ ];
1959
+ };
1960
+ }
1961
+ ];
1962
+ };
1963
+
1964
+ export const IDL: MarinadeFinance = {
1965
+ version: '0.1.0',
1966
+ name: 'marinade_finance',
1967
+ instructions: [
1968
+ {
1969
+ name: 'initialize',
1970
+ accounts: [
1971
+ {
1972
+ name: 'creatorAuthority',
1973
+ isMut: false,
1974
+ isSigner: true,
1975
+ },
1976
+ {
1977
+ name: 'state',
1978
+ isMut: true,
1979
+ isSigner: false,
1980
+ },
1981
+ {
1982
+ name: 'reservePda',
1983
+ isMut: false,
1984
+ isSigner: false,
1985
+ },
1986
+ {
1987
+ name: 'stakeList',
1988
+ isMut: true,
1989
+ isSigner: false,
1990
+ },
1991
+ {
1992
+ name: 'validatorList',
1993
+ isMut: true,
1994
+ isSigner: false,
1995
+ },
1996
+ {
1997
+ name: 'msolMint',
1998
+ isMut: false,
1999
+ isSigner: false,
2000
+ },
2001
+ {
2002
+ name: 'operationalSolAccount',
2003
+ isMut: false,
2004
+ isSigner: false,
2005
+ },
2006
+ {
2007
+ name: 'liqPool',
2008
+ accounts: [
2009
+ {
2010
+ name: 'lpMint',
2011
+ isMut: false,
2012
+ isSigner: false,
2013
+ },
2014
+ {
2015
+ name: 'solLegPda',
2016
+ isMut: false,
2017
+ isSigner: false,
2018
+ },
2019
+ {
2020
+ name: 'msolLeg',
2021
+ isMut: false,
2022
+ isSigner: false,
2023
+ },
2024
+ ],
2025
+ },
2026
+ {
2027
+ name: 'treasuryMsolAccount',
2028
+ isMut: false,
2029
+ isSigner: false,
2030
+ },
2031
+ {
2032
+ name: 'clock',
2033
+ isMut: false,
2034
+ isSigner: false,
2035
+ },
2036
+ {
2037
+ name: 'rent',
2038
+ isMut: false,
2039
+ isSigner: false,
2040
+ },
2041
+ ],
2042
+ args: [
2043
+ {
2044
+ name: 'data',
2045
+ type: {
2046
+ defined: 'InitializeData',
2047
+ },
2048
+ },
2049
+ ],
2050
+ },
2051
+ {
2052
+ name: 'changeAuthority',
2053
+ accounts: [
2054
+ {
2055
+ name: 'state',
2056
+ isMut: true,
2057
+ isSigner: false,
2058
+ },
2059
+ {
2060
+ name: 'adminAuthority',
2061
+ isMut: false,
2062
+ isSigner: true,
2063
+ },
2064
+ ],
2065
+ args: [
2066
+ {
2067
+ name: 'data',
2068
+ type: {
2069
+ defined: 'ChangeAuthorityData',
2070
+ },
2071
+ },
2072
+ ],
2073
+ },
2074
+ {
2075
+ name: 'addValidator',
2076
+ accounts: [
2077
+ {
2078
+ name: 'state',
2079
+ isMut: true,
2080
+ isSigner: false,
2081
+ },
2082
+ {
2083
+ name: 'managerAuthority',
2084
+ isMut: false,
2085
+ isSigner: true,
2086
+ },
2087
+ {
2088
+ name: 'validatorList',
2089
+ isMut: true,
2090
+ isSigner: false,
2091
+ },
2092
+ {
2093
+ name: 'validatorVote',
2094
+ isMut: false,
2095
+ isSigner: false,
2096
+ },
2097
+ {
2098
+ name: 'duplicationFlag',
2099
+ isMut: true,
2100
+ isSigner: false,
2101
+ },
2102
+ {
2103
+ name: 'rentPayer',
2104
+ isMut: true,
2105
+ isSigner: true,
2106
+ },
2107
+ {
2108
+ name: 'clock',
2109
+ isMut: false,
2110
+ isSigner: false,
2111
+ },
2112
+ {
2113
+ name: 'rent',
2114
+ isMut: false,
2115
+ isSigner: false,
2116
+ },
2117
+ {
2118
+ name: 'systemProgram',
2119
+ isMut: false,
2120
+ isSigner: false,
2121
+ },
2122
+ ],
2123
+ args: [
2124
+ {
2125
+ name: 'score',
2126
+ type: 'u32',
2127
+ },
2128
+ ],
2129
+ },
2130
+ {
2131
+ name: 'removeValidator',
2132
+ accounts: [
2133
+ {
2134
+ name: 'state',
2135
+ isMut: true,
2136
+ isSigner: false,
2137
+ },
2138
+ {
2139
+ name: 'managerAuthority',
2140
+ isMut: false,
2141
+ isSigner: true,
2142
+ },
2143
+ {
2144
+ name: 'validatorList',
2145
+ isMut: true,
2146
+ isSigner: false,
2147
+ },
2148
+ {
2149
+ name: 'duplicationFlag',
2150
+ isMut: true,
2151
+ isSigner: false,
2152
+ },
2153
+ {
2154
+ name: 'operationalSolAccount',
2155
+ isMut: true,
2156
+ isSigner: false,
2157
+ },
2158
+ ],
2159
+ args: [
2160
+ {
2161
+ name: 'index',
2162
+ type: 'u32',
2163
+ },
2164
+ {
2165
+ name: 'validatorVote',
2166
+ type: 'publicKey',
2167
+ },
2168
+ ],
2169
+ },
2170
+ {
2171
+ name: 'setValidatorScore',
2172
+ accounts: [
2173
+ {
2174
+ name: 'state',
2175
+ isMut: true,
2176
+ isSigner: false,
2177
+ },
2178
+ {
2179
+ name: 'managerAuthority',
2180
+ isMut: false,
2181
+ isSigner: true,
2182
+ },
2183
+ {
2184
+ name: 'validatorList',
2185
+ isMut: true,
2186
+ isSigner: false,
2187
+ },
2188
+ ],
2189
+ args: [
2190
+ {
2191
+ name: 'index',
2192
+ type: 'u32',
2193
+ },
2194
+ {
2195
+ name: 'validatorVote',
2196
+ type: 'publicKey',
2197
+ },
2198
+ {
2199
+ name: 'score',
2200
+ type: 'u32',
2201
+ },
2202
+ ],
2203
+ },
2204
+ {
2205
+ name: 'configValidatorSystem',
2206
+ accounts: [
2207
+ {
2208
+ name: 'state',
2209
+ isMut: true,
2210
+ isSigner: false,
2211
+ },
2212
+ {
2213
+ name: 'managerAuthority',
2214
+ isMut: false,
2215
+ isSigner: true,
2216
+ },
2217
+ ],
2218
+ args: [
2219
+ {
2220
+ name: 'extraRuns',
2221
+ type: 'u32',
2222
+ },
2223
+ ],
2224
+ },
2225
+ {
2226
+ name: 'deposit',
2227
+ accounts: [
2228
+ {
2229
+ name: 'state',
2230
+ isMut: true,
2231
+ isSigner: false,
2232
+ },
2233
+ {
2234
+ name: 'msolMint',
2235
+ isMut: true,
2236
+ isSigner: false,
2237
+ },
2238
+ {
2239
+ name: 'liqPoolSolLegPda',
2240
+ isMut: true,
2241
+ isSigner: false,
2242
+ },
2243
+ {
2244
+ name: 'liqPoolMsolLeg',
2245
+ isMut: true,
2246
+ isSigner: false,
2247
+ },
2248
+ {
2249
+ name: 'liqPoolMsolLegAuthority',
2250
+ isMut: false,
2251
+ isSigner: false,
2252
+ },
2253
+ {
2254
+ name: 'reservePda',
2255
+ isMut: true,
2256
+ isSigner: false,
2257
+ },
2258
+ {
2259
+ name: 'transferFrom',
2260
+ isMut: true,
2261
+ isSigner: true,
2262
+ },
2263
+ {
2264
+ name: 'mintTo',
2265
+ isMut: true,
2266
+ isSigner: false,
2267
+ },
2268
+ {
2269
+ name: 'msolMintAuthority',
2270
+ isMut: false,
2271
+ isSigner: false,
2272
+ },
2273
+ {
2274
+ name: 'systemProgram',
2275
+ isMut: false,
2276
+ isSigner: false,
2277
+ },
2278
+ {
2279
+ name: 'tokenProgram',
2280
+ isMut: false,
2281
+ isSigner: false,
2282
+ },
2283
+ ],
2284
+ args: [
2285
+ {
2286
+ name: 'lamports',
2287
+ type: 'u64',
2288
+ },
2289
+ ],
2290
+ },
2291
+ {
2292
+ name: 'depositStakeAccount',
2293
+ accounts: [
2294
+ {
2295
+ name: 'state',
2296
+ isMut: true,
2297
+ isSigner: false,
2298
+ },
2299
+ {
2300
+ name: 'validatorList',
2301
+ isMut: true,
2302
+ isSigner: false,
2303
+ },
2304
+ {
2305
+ name: 'stakeList',
2306
+ isMut: true,
2307
+ isSigner: false,
2308
+ },
2309
+ {
2310
+ name: 'stakeAccount',
2311
+ isMut: true,
2312
+ isSigner: false,
2313
+ },
2314
+ {
2315
+ name: 'stakeAuthority',
2316
+ isMut: false,
2317
+ isSigner: true,
2318
+ },
2319
+ {
2320
+ name: 'duplicationFlag',
2321
+ isMut: true,
2322
+ isSigner: false,
2323
+ },
2324
+ {
2325
+ name: 'rentPayer',
2326
+ isMut: true,
2327
+ isSigner: true,
2328
+ },
2329
+ {
2330
+ name: 'msolMint',
2331
+ isMut: true,
2332
+ isSigner: false,
2333
+ },
2334
+ {
2335
+ name: 'mintTo',
2336
+ isMut: true,
2337
+ isSigner: false,
2338
+ },
2339
+ {
2340
+ name: 'msolMintAuthority',
2341
+ isMut: false,
2342
+ isSigner: false,
2343
+ },
2344
+ {
2345
+ name: 'clock',
2346
+ isMut: false,
2347
+ isSigner: false,
2348
+ },
2349
+ {
2350
+ name: 'rent',
2351
+ isMut: false,
2352
+ isSigner: false,
2353
+ },
2354
+ {
2355
+ name: 'systemProgram',
2356
+ isMut: false,
2357
+ isSigner: false,
2358
+ },
2359
+ {
2360
+ name: 'tokenProgram',
2361
+ isMut: false,
2362
+ isSigner: false,
2363
+ },
2364
+ {
2365
+ name: 'stakeProgram',
2366
+ isMut: false,
2367
+ isSigner: false,
2368
+ },
2369
+ ],
2370
+ args: [
2371
+ {
2372
+ name: 'validatorIndex',
2373
+ type: 'u32',
2374
+ },
2375
+ ],
2376
+ },
2377
+ {
2378
+ name: 'liquidUnstake',
2379
+ accounts: [
2380
+ {
2381
+ name: 'state',
2382
+ isMut: true,
2383
+ isSigner: false,
2384
+ },
2385
+ {
2386
+ name: 'msolMint',
2387
+ isMut: true,
2388
+ isSigner: false,
2389
+ },
2390
+ {
2391
+ name: 'liqPoolSolLegPda',
2392
+ isMut: true,
2393
+ isSigner: false,
2394
+ },
2395
+ {
2396
+ name: 'liqPoolMsolLeg',
2397
+ isMut: true,
2398
+ isSigner: false,
2399
+ },
2400
+ {
2401
+ name: 'treasuryMsolAccount',
2402
+ isMut: true,
2403
+ isSigner: false,
2404
+ },
2405
+ {
2406
+ name: 'getMsolFrom',
2407
+ isMut: true,
2408
+ isSigner: false,
2409
+ },
2410
+ {
2411
+ name: 'getMsolFromAuthority',
2412
+ isMut: false,
2413
+ isSigner: true,
2414
+ },
2415
+ {
2416
+ name: 'transferSolTo',
2417
+ isMut: true,
2418
+ isSigner: false,
2419
+ },
2420
+ {
2421
+ name: 'systemProgram',
2422
+ isMut: false,
2423
+ isSigner: false,
2424
+ },
2425
+ {
2426
+ name: 'tokenProgram',
2427
+ isMut: false,
2428
+ isSigner: false,
2429
+ },
2430
+ ],
2431
+ args: [
2432
+ {
2433
+ name: 'msolAmount',
2434
+ type: 'u64',
2435
+ },
2436
+ ],
2437
+ },
2438
+ {
2439
+ name: 'addLiquidity',
2440
+ accounts: [
2441
+ {
2442
+ name: 'state',
2443
+ isMut: true,
2444
+ isSigner: false,
2445
+ },
2446
+ {
2447
+ name: 'lpMint',
2448
+ isMut: true,
2449
+ isSigner: false,
2450
+ },
2451
+ {
2452
+ name: 'lpMintAuthority',
2453
+ isMut: false,
2454
+ isSigner: false,
2455
+ },
2456
+ {
2457
+ name: 'liqPoolMsolLeg',
2458
+ isMut: false,
2459
+ isSigner: false,
2460
+ },
2461
+ {
2462
+ name: 'liqPoolSolLegPda',
2463
+ isMut: true,
2464
+ isSigner: false,
2465
+ },
2466
+ {
2467
+ name: 'transferFrom',
2468
+ isMut: true,
2469
+ isSigner: true,
2470
+ },
2471
+ {
2472
+ name: 'mintTo',
2473
+ isMut: true,
2474
+ isSigner: false,
2475
+ },
2476
+ {
2477
+ name: 'systemProgram',
2478
+ isMut: false,
2479
+ isSigner: false,
2480
+ },
2481
+ {
2482
+ name: 'tokenProgram',
2483
+ isMut: false,
2484
+ isSigner: false,
2485
+ },
2486
+ ],
2487
+ args: [
2488
+ {
2489
+ name: 'lamports',
2490
+ type: 'u64',
2491
+ },
2492
+ ],
2493
+ },
2494
+ {
2495
+ name: 'removeLiquidity',
2496
+ accounts: [
2497
+ {
2498
+ name: 'state',
2499
+ isMut: true,
2500
+ isSigner: false,
2501
+ },
2502
+ {
2503
+ name: 'lpMint',
2504
+ isMut: true,
2505
+ isSigner: false,
2506
+ },
2507
+ {
2508
+ name: 'burnFrom',
2509
+ isMut: true,
2510
+ isSigner: false,
2511
+ },
2512
+ {
2513
+ name: 'burnFromAuthority',
2514
+ isMut: false,
2515
+ isSigner: true,
2516
+ },
2517
+ {
2518
+ name: 'transferSolTo',
2519
+ isMut: true,
2520
+ isSigner: false,
2521
+ },
2522
+ {
2523
+ name: 'transferMsolTo',
2524
+ isMut: true,
2525
+ isSigner: false,
2526
+ },
2527
+ {
2528
+ name: 'liqPoolSolLegPda',
2529
+ isMut: true,
2530
+ isSigner: false,
2531
+ },
2532
+ {
2533
+ name: 'liqPoolMsolLeg',
2534
+ isMut: true,
2535
+ isSigner: false,
2536
+ },
2537
+ {
2538
+ name: 'liqPoolMsolLegAuthority',
2539
+ isMut: false,
2540
+ isSigner: false,
2541
+ },
2542
+ {
2543
+ name: 'systemProgram',
2544
+ isMut: false,
2545
+ isSigner: false,
2546
+ },
2547
+ {
2548
+ name: 'tokenProgram',
2549
+ isMut: false,
2550
+ isSigner: false,
2551
+ },
2552
+ ],
2553
+ args: [
2554
+ {
2555
+ name: 'tokens',
2556
+ type: 'u64',
2557
+ },
2558
+ ],
2559
+ },
2560
+ {
2561
+ name: 'configLp',
2562
+ accounts: [
2563
+ {
2564
+ name: 'state',
2565
+ isMut: true,
2566
+ isSigner: false,
2567
+ },
2568
+ {
2569
+ name: 'adminAuthority',
2570
+ isMut: false,
2571
+ isSigner: true,
2572
+ },
2573
+ ],
2574
+ args: [
2575
+ {
2576
+ name: 'params',
2577
+ type: {
2578
+ defined: 'ConfigLpParams',
2579
+ },
2580
+ },
2581
+ ],
2582
+ },
2583
+ {
2584
+ name: 'configMarinade',
2585
+ accounts: [
2586
+ {
2587
+ name: 'state',
2588
+ isMut: true,
2589
+ isSigner: false,
2590
+ },
2591
+ {
2592
+ name: 'adminAuthority',
2593
+ isMut: false,
2594
+ isSigner: true,
2595
+ },
2596
+ ],
2597
+ args: [
2598
+ {
2599
+ name: 'params',
2600
+ type: {
2601
+ defined: 'ConfigMarinadeParams',
2602
+ },
2603
+ },
2604
+ ],
2605
+ },
2606
+ {
2607
+ name: 'orderUnstake',
2608
+ accounts: [
2609
+ {
2610
+ name: 'state',
2611
+ isMut: true,
2612
+ isSigner: false,
2613
+ },
2614
+ {
2615
+ name: 'msolMint',
2616
+ isMut: true,
2617
+ isSigner: false,
2618
+ },
2619
+ {
2620
+ name: 'burnMsolFrom',
2621
+ isMut: true,
2622
+ isSigner: false,
2623
+ },
2624
+ {
2625
+ name: 'burnMsolAuthority',
2626
+ isMut: false,
2627
+ isSigner: true,
2628
+ },
2629
+ {
2630
+ name: 'newTicketAccount',
2631
+ isMut: true,
2632
+ isSigner: false,
2633
+ },
2634
+ {
2635
+ name: 'clock',
2636
+ isMut: false,
2637
+ isSigner: false,
2638
+ },
2639
+ {
2640
+ name: 'rent',
2641
+ isMut: false,
2642
+ isSigner: false,
2643
+ },
2644
+ {
2645
+ name: 'tokenProgram',
2646
+ isMut: false,
2647
+ isSigner: false,
2648
+ },
2649
+ ],
2650
+ args: [
2651
+ {
2652
+ name: 'msolAmount',
2653
+ type: 'u64',
2654
+ },
2655
+ ],
2656
+ },
2657
+ {
2658
+ name: 'claim',
2659
+ accounts: [
2660
+ {
2661
+ name: 'state',
2662
+ isMut: true,
2663
+ isSigner: false,
2664
+ },
2665
+ {
2666
+ name: 'reservePda',
2667
+ isMut: true,
2668
+ isSigner: false,
2669
+ },
2670
+ {
2671
+ name: 'ticketAccount',
2672
+ isMut: true,
2673
+ isSigner: false,
2674
+ },
2675
+ {
2676
+ name: 'transferSolTo',
2677
+ isMut: true,
2678
+ isSigner: false,
2679
+ },
2680
+ {
2681
+ name: 'clock',
2682
+ isMut: false,
2683
+ isSigner: false,
2684
+ },
2685
+ {
2686
+ name: 'systemProgram',
2687
+ isMut: false,
2688
+ isSigner: false,
2689
+ },
2690
+ ],
2691
+ args: [],
2692
+ },
2693
+ {
2694
+ name: 'stakeReserve',
2695
+ accounts: [
2696
+ {
2697
+ name: 'state',
2698
+ isMut: true,
2699
+ isSigner: false,
2700
+ },
2701
+ {
2702
+ name: 'validatorList',
2703
+ isMut: true,
2704
+ isSigner: false,
2705
+ },
2706
+ {
2707
+ name: 'stakeList',
2708
+ isMut: true,
2709
+ isSigner: false,
2710
+ },
2711
+ {
2712
+ name: 'validatorVote',
2713
+ isMut: true,
2714
+ isSigner: false,
2715
+ },
2716
+ {
2717
+ name: 'reservePda',
2718
+ isMut: true,
2719
+ isSigner: false,
2720
+ },
2721
+ {
2722
+ name: 'stakeAccount',
2723
+ isMut: true,
2724
+ isSigner: false,
2725
+ },
2726
+ {
2727
+ name: 'stakeDepositAuthority',
2728
+ isMut: false,
2729
+ isSigner: false,
2730
+ },
2731
+ {
2732
+ name: 'clock',
2733
+ isMut: false,
2734
+ isSigner: false,
2735
+ },
2736
+ {
2737
+ name: 'epochSchedule',
2738
+ isMut: false,
2739
+ isSigner: false,
2740
+ },
2741
+ {
2742
+ name: 'rent',
2743
+ isMut: false,
2744
+ isSigner: false,
2745
+ },
2746
+ {
2747
+ name: 'stakeHistory',
2748
+ isMut: false,
2749
+ isSigner: false,
2750
+ },
2751
+ {
2752
+ name: 'stakeConfig',
2753
+ isMut: false,
2754
+ isSigner: false,
2755
+ },
2756
+ {
2757
+ name: 'systemProgram',
2758
+ isMut: false,
2759
+ isSigner: false,
2760
+ },
2761
+ {
2762
+ name: 'stakeProgram',
2763
+ isMut: false,
2764
+ isSigner: false,
2765
+ },
2766
+ ],
2767
+ args: [
2768
+ {
2769
+ name: 'validatorIndex',
2770
+ type: 'u32',
2771
+ },
2772
+ ],
2773
+ },
2774
+ {
2775
+ name: 'updateActive',
2776
+ accounts: [
2777
+ {
2778
+ name: 'common',
2779
+ accounts: [
2780
+ {
2781
+ name: 'state',
2782
+ isMut: true,
2783
+ isSigner: false,
2784
+ },
2785
+ {
2786
+ name: 'stakeList',
2787
+ isMut: true,
2788
+ isSigner: false,
2789
+ },
2790
+ {
2791
+ name: 'stakeAccount',
2792
+ isMut: true,
2793
+ isSigner: false,
2794
+ },
2795
+ {
2796
+ name: 'stakeWithdrawAuthority',
2797
+ isMut: false,
2798
+ isSigner: false,
2799
+ },
2800
+ {
2801
+ name: 'reservePda',
2802
+ isMut: true,
2803
+ isSigner: false,
2804
+ },
2805
+ {
2806
+ name: 'msolMint',
2807
+ isMut: true,
2808
+ isSigner: false,
2809
+ },
2810
+ {
2811
+ name: 'msolMintAuthority',
2812
+ isMut: false,
2813
+ isSigner: false,
2814
+ },
2815
+ {
2816
+ name: 'treasuryMsolAccount',
2817
+ isMut: true,
2818
+ isSigner: false,
2819
+ },
2820
+ {
2821
+ name: 'clock',
2822
+ isMut: false,
2823
+ isSigner: false,
2824
+ },
2825
+ {
2826
+ name: 'stakeHistory',
2827
+ isMut: false,
2828
+ isSigner: false,
2829
+ },
2830
+ {
2831
+ name: 'stakeProgram',
2832
+ isMut: false,
2833
+ isSigner: false,
2834
+ },
2835
+ {
2836
+ name: 'tokenProgram',
2837
+ isMut: false,
2838
+ isSigner: false,
2839
+ },
2840
+ ],
2841
+ },
2842
+ {
2843
+ name: 'validatorList',
2844
+ isMut: true,
2845
+ isSigner: false,
2846
+ },
2847
+ ],
2848
+ args: [
2849
+ {
2850
+ name: 'stakeIndex',
2851
+ type: 'u32',
2852
+ },
2853
+ {
2854
+ name: 'validatorIndex',
2855
+ type: 'u32',
2856
+ },
2857
+ ],
2858
+ },
2859
+ {
2860
+ name: 'updateDeactivated',
2861
+ accounts: [
2862
+ {
2863
+ name: 'common',
2864
+ accounts: [
2865
+ {
2866
+ name: 'state',
2867
+ isMut: true,
2868
+ isSigner: false,
2869
+ },
2870
+ {
2871
+ name: 'stakeList',
2872
+ isMut: true,
2873
+ isSigner: false,
2874
+ },
2875
+ {
2876
+ name: 'stakeAccount',
2877
+ isMut: true,
2878
+ isSigner: false,
2879
+ },
2880
+ {
2881
+ name: 'stakeWithdrawAuthority',
2882
+ isMut: false,
2883
+ isSigner: false,
2884
+ },
2885
+ {
2886
+ name: 'reservePda',
2887
+ isMut: true,
2888
+ isSigner: false,
2889
+ },
2890
+ {
2891
+ name: 'msolMint',
2892
+ isMut: true,
2893
+ isSigner: false,
2894
+ },
2895
+ {
2896
+ name: 'msolMintAuthority',
2897
+ isMut: false,
2898
+ isSigner: false,
2899
+ },
2900
+ {
2901
+ name: 'treasuryMsolAccount',
2902
+ isMut: true,
2903
+ isSigner: false,
2904
+ },
2905
+ {
2906
+ name: 'clock',
2907
+ isMut: false,
2908
+ isSigner: false,
2909
+ },
2910
+ {
2911
+ name: 'stakeHistory',
2912
+ isMut: false,
2913
+ isSigner: false,
2914
+ },
2915
+ {
2916
+ name: 'stakeProgram',
2917
+ isMut: false,
2918
+ isSigner: false,
2919
+ },
2920
+ {
2921
+ name: 'tokenProgram',
2922
+ isMut: false,
2923
+ isSigner: false,
2924
+ },
2925
+ ],
2926
+ },
2927
+ {
2928
+ name: 'operationalSolAccount',
2929
+ isMut: true,
2930
+ isSigner: false,
2931
+ },
2932
+ {
2933
+ name: 'systemProgram',
2934
+ isMut: false,
2935
+ isSigner: false,
2936
+ },
2937
+ ],
2938
+ args: [
2939
+ {
2940
+ name: 'stakeIndex',
2941
+ type: 'u32',
2942
+ },
2943
+ ],
2944
+ },
2945
+ {
2946
+ name: 'deactivateStake',
2947
+ accounts: [
2948
+ {
2949
+ name: 'state',
2950
+ isMut: true,
2951
+ isSigner: false,
2952
+ },
2953
+ {
2954
+ name: 'reservePda',
2955
+ isMut: false,
2956
+ isSigner: false,
2957
+ },
2958
+ {
2959
+ name: 'validatorList',
2960
+ isMut: true,
2961
+ isSigner: false,
2962
+ },
2963
+ {
2964
+ name: 'stakeList',
2965
+ isMut: true,
2966
+ isSigner: false,
2967
+ },
2968
+ {
2969
+ name: 'stakeAccount',
2970
+ isMut: true,
2971
+ isSigner: false,
2972
+ },
2973
+ {
2974
+ name: 'stakeDepositAuthority',
2975
+ isMut: false,
2976
+ isSigner: false,
2977
+ },
2978
+ {
2979
+ name: 'splitStakeAccount',
2980
+ isMut: true,
2981
+ isSigner: true,
2982
+ },
2983
+ {
2984
+ name: 'splitStakeRentPayer',
2985
+ isMut: true,
2986
+ isSigner: true,
2987
+ },
2988
+ {
2989
+ name: 'clock',
2990
+ isMut: false,
2991
+ isSigner: false,
2992
+ },
2993
+ {
2994
+ name: 'rent',
2995
+ isMut: false,
2996
+ isSigner: false,
2997
+ },
2998
+ {
2999
+ name: 'epochSchedule',
3000
+ isMut: false,
3001
+ isSigner: false,
3002
+ },
3003
+ {
3004
+ name: 'stakeHistory',
3005
+ isMut: false,
3006
+ isSigner: false,
3007
+ },
3008
+ {
3009
+ name: 'systemProgram',
3010
+ isMut: false,
3011
+ isSigner: false,
3012
+ },
3013
+ {
3014
+ name: 'stakeProgram',
3015
+ isMut: false,
3016
+ isSigner: false,
3017
+ },
3018
+ ],
3019
+ args: [
3020
+ {
3021
+ name: 'stakeIndex',
3022
+ type: 'u32',
3023
+ },
3024
+ {
3025
+ name: 'validatorIndex',
3026
+ type: 'u32',
3027
+ },
3028
+ ],
3029
+ },
3030
+ {
3031
+ name: 'emergencyUnstake',
3032
+ accounts: [
3033
+ {
3034
+ name: 'state',
3035
+ isMut: true,
3036
+ isSigner: false,
3037
+ },
3038
+ {
3039
+ name: 'validatorManagerAuthority',
3040
+ isMut: false,
3041
+ isSigner: true,
3042
+ },
3043
+ {
3044
+ name: 'validatorList',
3045
+ isMut: true,
3046
+ isSigner: false,
3047
+ },
3048
+ {
3049
+ name: 'stakeList',
3050
+ isMut: true,
3051
+ isSigner: false,
3052
+ },
3053
+ {
3054
+ name: 'stakeAccount',
3055
+ isMut: true,
3056
+ isSigner: false,
3057
+ },
3058
+ {
3059
+ name: 'stakeDepositAuthority',
3060
+ isMut: false,
3061
+ isSigner: false,
3062
+ },
3063
+ {
3064
+ name: 'clock',
3065
+ isMut: false,
3066
+ isSigner: false,
3067
+ },
3068
+ {
3069
+ name: 'stakeProgram',
3070
+ isMut: false,
3071
+ isSigner: false,
3072
+ },
3073
+ ],
3074
+ args: [
3075
+ {
3076
+ name: 'stakeIndex',
3077
+ type: 'u32',
3078
+ },
3079
+ {
3080
+ name: 'validatorIndex',
3081
+ type: 'u32',
3082
+ },
3083
+ ],
3084
+ },
3085
+ {
3086
+ name: 'partialUnstake',
3087
+ accounts: [
3088
+ {
3089
+ name: 'state',
3090
+ isMut: true,
3091
+ isSigner: false,
3092
+ },
3093
+ {
3094
+ name: 'validatorManagerAuthority',
3095
+ isMut: false,
3096
+ isSigner: true,
3097
+ },
3098
+ {
3099
+ name: 'validatorList',
3100
+ isMut: true,
3101
+ isSigner: false,
3102
+ },
3103
+ {
3104
+ name: 'stakeList',
3105
+ isMut: true,
3106
+ isSigner: false,
3107
+ },
3108
+ {
3109
+ name: 'stakeAccount',
3110
+ isMut: true,
3111
+ isSigner: false,
3112
+ },
3113
+ {
3114
+ name: 'stakeDepositAuthority',
3115
+ isMut: false,
3116
+ isSigner: false,
3117
+ },
3118
+ {
3119
+ name: 'reservePda',
3120
+ isMut: false,
3121
+ isSigner: false,
3122
+ },
3123
+ {
3124
+ name: 'splitStakeAccount',
3125
+ isMut: true,
3126
+ isSigner: true,
3127
+ },
3128
+ {
3129
+ name: 'splitStakeRentPayer',
3130
+ isMut: true,
3131
+ isSigner: true,
3132
+ },
3133
+ {
3134
+ name: 'clock',
3135
+ isMut: false,
3136
+ isSigner: false,
3137
+ },
3138
+ {
3139
+ name: 'rent',
3140
+ isMut: false,
3141
+ isSigner: false,
3142
+ },
3143
+ {
3144
+ name: 'stakeHistory',
3145
+ isMut: false,
3146
+ isSigner: false,
3147
+ },
3148
+ {
3149
+ name: 'systemProgram',
3150
+ isMut: false,
3151
+ isSigner: false,
3152
+ },
3153
+ {
3154
+ name: 'stakeProgram',
3155
+ isMut: false,
3156
+ isSigner: false,
3157
+ },
3158
+ ],
3159
+ args: [
3160
+ {
3161
+ name: 'stakeIndex',
3162
+ type: 'u32',
3163
+ },
3164
+ {
3165
+ name: 'validatorIndex',
3166
+ type: 'u32',
3167
+ },
3168
+ {
3169
+ name: 'desiredUnstakeAmount',
3170
+ type: 'u64',
3171
+ },
3172
+ ],
3173
+ },
3174
+ {
3175
+ name: 'mergeStakes',
3176
+ accounts: [
3177
+ {
3178
+ name: 'state',
3179
+ isMut: true,
3180
+ isSigner: false,
3181
+ },
3182
+ {
3183
+ name: 'stakeList',
3184
+ isMut: true,
3185
+ isSigner: false,
3186
+ },
3187
+ {
3188
+ name: 'validatorList',
3189
+ isMut: true,
3190
+ isSigner: false,
3191
+ },
3192
+ {
3193
+ name: 'destinationStake',
3194
+ isMut: true,
3195
+ isSigner: false,
3196
+ },
3197
+ {
3198
+ name: 'sourceStake',
3199
+ isMut: true,
3200
+ isSigner: false,
3201
+ },
3202
+ {
3203
+ name: 'stakeDepositAuthority',
3204
+ isMut: false,
3205
+ isSigner: false,
3206
+ },
3207
+ {
3208
+ name: 'stakeWithdrawAuthority',
3209
+ isMut: false,
3210
+ isSigner: false,
3211
+ },
3212
+ {
3213
+ name: 'operationalSolAccount',
3214
+ isMut: true,
3215
+ isSigner: false,
3216
+ },
3217
+ {
3218
+ name: 'clock',
3219
+ isMut: false,
3220
+ isSigner: false,
3221
+ },
3222
+ {
3223
+ name: 'stakeHistory',
3224
+ isMut: false,
3225
+ isSigner: false,
3226
+ },
3227
+ {
3228
+ name: 'stakeProgram',
3229
+ isMut: false,
3230
+ isSigner: false,
3231
+ },
3232
+ ],
3233
+ args: [
3234
+ {
3235
+ name: 'destinationStakeIndex',
3236
+ type: 'u32',
3237
+ },
3238
+ {
3239
+ name: 'sourceStakeIndex',
3240
+ type: 'u32',
3241
+ },
3242
+ {
3243
+ name: 'validatorIndex',
3244
+ type: 'u32',
3245
+ },
3246
+ ],
3247
+ },
3248
+ ],
3249
+ accounts: [
3250
+ {
3251
+ name: 'state',
3252
+ type: {
3253
+ kind: 'struct',
3254
+ fields: [
3255
+ {
3256
+ name: 'msolMint',
3257
+ type: 'publicKey',
3258
+ },
3259
+ {
3260
+ name: 'adminAuthority',
3261
+ type: 'publicKey',
3262
+ },
3263
+ {
3264
+ name: 'operationalSolAccount',
3265
+ type: 'publicKey',
3266
+ },
3267
+ {
3268
+ name: 'treasuryMsolAccount',
3269
+ type: 'publicKey',
3270
+ },
3271
+ {
3272
+ name: 'reserveBumpSeed',
3273
+ type: 'u8',
3274
+ },
3275
+ {
3276
+ name: 'msolMintAuthorityBumpSeed',
3277
+ type: 'u8',
3278
+ },
3279
+ {
3280
+ name: 'rentExemptForTokenAcc',
3281
+ type: 'u64',
3282
+ },
3283
+ {
3284
+ name: 'rewardFee',
3285
+ type: {
3286
+ defined: 'Fee',
3287
+ },
3288
+ },
3289
+ {
3290
+ name: 'stakeSystem',
3291
+ type: {
3292
+ defined: 'StakeSystem',
3293
+ },
3294
+ },
3295
+ {
3296
+ name: 'validatorSystem',
3297
+ type: {
3298
+ defined: 'ValidatorSystem',
3299
+ },
3300
+ },
3301
+ {
3302
+ name: 'liqPool',
3303
+ type: {
3304
+ defined: 'LiqPool',
3305
+ },
3306
+ },
3307
+ {
3308
+ name: 'availableReserveBalance',
3309
+ type: 'u64',
3310
+ },
3311
+ {
3312
+ name: 'msolSupply',
3313
+ type: 'u64',
3314
+ },
3315
+ {
3316
+ name: 'msolPrice',
3317
+ type: 'u64',
3318
+ },
3319
+ {
3320
+ name: 'circulatingTicketCount',
3321
+ docs: ['count tickets for delayed-unstake'],
3322
+ type: 'u64',
3323
+ },
3324
+ {
3325
+ name: 'circulatingTicketBalance',
3326
+ docs: [
3327
+ 'total lamports amount of generated and not claimed yet tickets',
3328
+ ],
3329
+ type: 'u64',
3330
+ },
3331
+ {
3332
+ name: 'lentFromReserve',
3333
+ type: 'u64',
3334
+ },
3335
+ {
3336
+ name: 'minDeposit',
3337
+ type: 'u64',
3338
+ },
3339
+ {
3340
+ name: 'minWithdraw',
3341
+ type: 'u64',
3342
+ },
3343
+ {
3344
+ name: 'stakingSolCap',
3345
+ type: 'u64',
3346
+ },
3347
+ {
3348
+ name: 'emergencyCoolingDown',
3349
+ type: 'u64',
3350
+ },
3351
+ ],
3352
+ },
3353
+ },
3354
+ {
3355
+ name: 'ticketAccountData',
3356
+ type: {
3357
+ kind: 'struct',
3358
+ fields: [
3359
+ {
3360
+ name: 'stateAddress',
3361
+ type: 'publicKey',
3362
+ },
3363
+ {
3364
+ name: 'beneficiary',
3365
+ type: 'publicKey',
3366
+ },
3367
+ {
3368
+ name: 'lamportsAmount',
3369
+ type: 'u64',
3370
+ },
3371
+ {
3372
+ name: 'createdEpoch',
3373
+ type: 'u64',
3374
+ },
3375
+ ],
3376
+ },
3377
+ },
3378
+ ],
3379
+ types: [
3380
+ {
3381
+ name: 'LiqPool',
3382
+ type: {
3383
+ kind: 'struct',
3384
+ fields: [
3385
+ {
3386
+ name: 'lpMint',
3387
+ type: 'publicKey',
3388
+ },
3389
+ {
3390
+ name: 'lpMintAuthorityBumpSeed',
3391
+ type: 'u8',
3392
+ },
3393
+ {
3394
+ name: 'solLegBumpSeed',
3395
+ type: 'u8',
3396
+ },
3397
+ {
3398
+ name: 'msolLegAuthorityBumpSeed',
3399
+ type: 'u8',
3400
+ },
3401
+ {
3402
+ name: 'msolLeg',
3403
+ type: 'publicKey',
3404
+ },
3405
+ {
3406
+ name: 'lpLiquidityTarget',
3407
+ docs: [
3408
+ 'Liquidity target. If the Liquidity reach this amount, the fee reaches lp_min_discount_fee',
3409
+ ],
3410
+ type: 'u64',
3411
+ },
3412
+ {
3413
+ name: 'lpMaxFee',
3414
+ docs: ['Liquidity pool max fee'],
3415
+ type: {
3416
+ defined: 'Fee',
3417
+ },
3418
+ },
3419
+ {
3420
+ name: 'lpMinFee',
3421
+ docs: ['SOL/mSOL Liquidity pool min fee'],
3422
+ type: {
3423
+ defined: 'Fee',
3424
+ },
3425
+ },
3426
+ {
3427
+ name: 'treasuryCut',
3428
+ docs: ['Treasury cut'],
3429
+ type: {
3430
+ defined: 'Fee',
3431
+ },
3432
+ },
3433
+ {
3434
+ name: 'lpSupply',
3435
+ type: 'u64',
3436
+ },
3437
+ {
3438
+ name: 'lentFromSolLeg',
3439
+ type: 'u64',
3440
+ },
3441
+ {
3442
+ name: 'liquiditySolCap',
3443
+ type: 'u64',
3444
+ },
3445
+ ],
3446
+ },
3447
+ },
3448
+ {
3449
+ name: 'List',
3450
+ type: {
3451
+ kind: 'struct',
3452
+ fields: [
3453
+ {
3454
+ name: 'account',
3455
+ type: 'publicKey',
3456
+ },
3457
+ {
3458
+ name: 'itemSize',
3459
+ type: 'u32',
3460
+ },
3461
+ {
3462
+ name: 'count',
3463
+ type: 'u32',
3464
+ },
3465
+ {
3466
+ name: 'newAccount',
3467
+ type: 'publicKey',
3468
+ },
3469
+ {
3470
+ name: 'copiedCount',
3471
+ type: 'u32',
3472
+ },
3473
+ ],
3474
+ },
3475
+ },
3476
+ {
3477
+ name: 'StakeRecord',
3478
+ type: {
3479
+ kind: 'struct',
3480
+ fields: [
3481
+ {
3482
+ name: 'stakeAccount',
3483
+ type: 'publicKey',
3484
+ },
3485
+ {
3486
+ name: 'lastUpdateDelegatedLamports',
3487
+ type: 'u64',
3488
+ },
3489
+ {
3490
+ name: 'lastUpdateEpoch',
3491
+ type: 'u64',
3492
+ },
3493
+ {
3494
+ name: 'isEmergencyUnstaking',
3495
+ type: 'u8',
3496
+ },
3497
+ ],
3498
+ },
3499
+ },
3500
+ {
3501
+ name: 'StakeSystem',
3502
+ type: {
3503
+ kind: 'struct',
3504
+ fields: [
3505
+ {
3506
+ name: 'stakeList',
3507
+ type: {
3508
+ defined: 'List',
3509
+ },
3510
+ },
3511
+ {
3512
+ name: 'delayedUnstakeCoolingDown',
3513
+ type: 'u64',
3514
+ },
3515
+ {
3516
+ name: 'stakeDepositBumpSeed',
3517
+ type: 'u8',
3518
+ },
3519
+ {
3520
+ name: 'stakeWithdrawBumpSeed',
3521
+ type: 'u8',
3522
+ },
3523
+ {
3524
+ name: 'slotsForStakeDelta',
3525
+ docs: [
3526
+ 'set by admin, how much slots before the end of the epoch, stake-delta can start',
3527
+ ],
3528
+ type: 'u64',
3529
+ },
3530
+ {
3531
+ name: 'lastStakeDeltaEpoch',
3532
+ docs: [
3533
+ 'Marks the start of stake-delta operations, meaning that if somebody starts a delayed-unstake ticket',
3534
+ 'after this var is set with epoch_num the ticket will have epoch_created = current_epoch+1',
3535
+ '(the user must wait one more epoch, because their unstake-delta will be execute in this epoch)',
3536
+ ],
3537
+ type: 'u64',
3538
+ },
3539
+ {
3540
+ name: 'minStake',
3541
+ type: 'u64',
3542
+ },
3543
+ {
3544
+ name: 'extraStakeDeltaRuns',
3545
+ docs: [
3546
+ 'can be set by validator-manager-auth to allow a second run of stake-delta to stake late stakers in the last minute of the epoch',
3547
+ "so we maximize user's rewards",
3548
+ ],
3549
+ type: 'u32',
3550
+ },
3551
+ ],
3552
+ },
3553
+ },
3554
+ {
3555
+ name: 'ValidatorRecord',
3556
+ type: {
3557
+ kind: 'struct',
3558
+ fields: [
3559
+ {
3560
+ name: 'validatorAccount',
3561
+ docs: ['Validator vote pubkey'],
3562
+ type: 'publicKey',
3563
+ },
3564
+ {
3565
+ name: 'activeBalance',
3566
+ docs: ['Validator total balance in lamports'],
3567
+ type: 'u64',
3568
+ },
3569
+ {
3570
+ name: 'score',
3571
+ type: 'u32',
3572
+ },
3573
+ {
3574
+ name: 'lastStakeDeltaEpoch',
3575
+ type: 'u64',
3576
+ },
3577
+ {
3578
+ name: 'duplicationFlagBumpSeed',
3579
+ type: 'u8',
3580
+ },
3581
+ ],
3582
+ },
3583
+ },
3584
+ {
3585
+ name: 'ValidatorSystem',
3586
+ type: {
3587
+ kind: 'struct',
3588
+ fields: [
3589
+ {
3590
+ name: 'validatorList',
3591
+ type: {
3592
+ defined: 'List',
3593
+ },
3594
+ },
3595
+ {
3596
+ name: 'managerAuthority',
3597
+ type: 'publicKey',
3598
+ },
3599
+ {
3600
+ name: 'totalValidatorScore',
3601
+ type: 'u32',
3602
+ },
3603
+ {
3604
+ name: 'totalActiveBalance',
3605
+ docs: ['sum of all active lamports staked'],
3606
+ type: 'u64',
3607
+ },
3608
+ {
3609
+ name: 'autoAddValidatorEnabled',
3610
+ docs: [
3611
+ 'allow & auto-add validator when a user deposits a stake-account of a non-listed validator',
3612
+ ],
3613
+ type: 'u8',
3614
+ },
3615
+ ],
3616
+ },
3617
+ },
3618
+ {
3619
+ name: 'Fee',
3620
+ type: {
3621
+ kind: 'struct',
3622
+ fields: [
3623
+ {
3624
+ name: 'basisPoints',
3625
+ type: 'u32',
3626
+ },
3627
+ ],
3628
+ },
3629
+ },
3630
+ {
3631
+ name: 'InitializeData',
3632
+ type: {
3633
+ kind: 'struct',
3634
+ fields: [
3635
+ {
3636
+ name: 'adminAuthority',
3637
+ type: 'publicKey',
3638
+ },
3639
+ {
3640
+ name: 'validatorManagerAuthority',
3641
+ type: 'publicKey',
3642
+ },
3643
+ {
3644
+ name: 'minStake',
3645
+ type: 'u64',
3646
+ },
3647
+ {
3648
+ name: 'rewardFee',
3649
+ type: {
3650
+ defined: 'Fee',
3651
+ },
3652
+ },
3653
+ {
3654
+ name: 'liqPool',
3655
+ type: {
3656
+ defined: 'LiqPoolInitializeData',
3657
+ },
3658
+ },
3659
+ {
3660
+ name: 'additionalStakeRecordSpace',
3661
+ type: 'u32',
3662
+ },
3663
+ {
3664
+ name: 'additionalValidatorRecordSpace',
3665
+ type: 'u32',
3666
+ },
3667
+ {
3668
+ name: 'slotsForStakeDelta',
3669
+ type: 'u64',
3670
+ },
3671
+ ],
3672
+ },
3673
+ },
3674
+ {
3675
+ name: 'LiqPoolInitializeData',
3676
+ type: {
3677
+ kind: 'struct',
3678
+ fields: [
3679
+ {
3680
+ name: 'lpLiquidityTarget',
3681
+ type: 'u64',
3682
+ },
3683
+ {
3684
+ name: 'lpMaxFee',
3685
+ type: {
3686
+ defined: 'Fee',
3687
+ },
3688
+ },
3689
+ {
3690
+ name: 'lpMinFee',
3691
+ type: {
3692
+ defined: 'Fee',
3693
+ },
3694
+ },
3695
+ {
3696
+ name: 'lpTreasuryCut',
3697
+ type: {
3698
+ defined: 'Fee',
3699
+ },
3700
+ },
3701
+ ],
3702
+ },
3703
+ },
3704
+ {
3705
+ name: 'ChangeAuthorityData',
3706
+ type: {
3707
+ kind: 'struct',
3708
+ fields: [
3709
+ {
3710
+ name: 'admin',
3711
+ type: {
3712
+ option: 'publicKey',
3713
+ },
3714
+ },
3715
+ {
3716
+ name: 'validatorManager',
3717
+ type: {
3718
+ option: 'publicKey',
3719
+ },
3720
+ },
3721
+ {
3722
+ name: 'operationalSolAccount',
3723
+ type: {
3724
+ option: 'publicKey',
3725
+ },
3726
+ },
3727
+ {
3728
+ name: 'treasuryMsolAccount',
3729
+ type: {
3730
+ option: 'publicKey',
3731
+ },
3732
+ },
3733
+ ],
3734
+ },
3735
+ },
3736
+ {
3737
+ name: 'ConfigLpParams',
3738
+ type: {
3739
+ kind: 'struct',
3740
+ fields: [
3741
+ {
3742
+ name: 'minFee',
3743
+ type: {
3744
+ option: {
3745
+ defined: 'Fee',
3746
+ },
3747
+ },
3748
+ },
3749
+ {
3750
+ name: 'maxFee',
3751
+ type: {
3752
+ option: {
3753
+ defined: 'Fee',
3754
+ },
3755
+ },
3756
+ },
3757
+ {
3758
+ name: 'liquidityTarget',
3759
+ type: {
3760
+ option: 'u64',
3761
+ },
3762
+ },
3763
+ {
3764
+ name: 'treasuryCut',
3765
+ type: {
3766
+ option: {
3767
+ defined: 'Fee',
3768
+ },
3769
+ },
3770
+ },
3771
+ ],
3772
+ },
3773
+ },
3774
+ {
3775
+ name: 'ConfigMarinadeParams',
3776
+ type: {
3777
+ kind: 'struct',
3778
+ fields: [
3779
+ {
3780
+ name: 'rewardsFee',
3781
+ type: {
3782
+ option: {
3783
+ defined: 'Fee',
3784
+ },
3785
+ },
3786
+ },
3787
+ {
3788
+ name: 'slotsForStakeDelta',
3789
+ type: {
3790
+ option: 'u64',
3791
+ },
3792
+ },
3793
+ {
3794
+ name: 'minStake',
3795
+ type: {
3796
+ option: 'u64',
3797
+ },
3798
+ },
3799
+ {
3800
+ name: 'minDeposit',
3801
+ type: {
3802
+ option: 'u64',
3803
+ },
3804
+ },
3805
+ {
3806
+ name: 'minWithdraw',
3807
+ type: {
3808
+ option: 'u64',
3809
+ },
3810
+ },
3811
+ {
3812
+ name: 'stakingSolCap',
3813
+ type: {
3814
+ option: 'u64',
3815
+ },
3816
+ },
3817
+ {
3818
+ name: 'liquiditySolCap',
3819
+ type: {
3820
+ option: 'u64',
3821
+ },
3822
+ },
3823
+ {
3824
+ name: 'autoAddValidatorEnabled',
3825
+ type: {
3826
+ option: 'bool',
3827
+ },
3828
+ },
3829
+ ],
3830
+ },
3831
+ },
3832
+ {
3833
+ name: 'CommonError',
3834
+ type: {
3835
+ kind: 'enum',
3836
+ variants: [
3837
+ {
3838
+ name: 'WrongReserveOwner',
3839
+ },
3840
+ {
3841
+ name: 'NonEmptyReserveData',
3842
+ },
3843
+ {
3844
+ name: 'InvalidInitialReserveLamports',
3845
+ },
3846
+ {
3847
+ name: 'ZeroValidatorChunkSize',
3848
+ },
3849
+ {
3850
+ name: 'TooBigValidatorChunkSize',
3851
+ },
3852
+ {
3853
+ name: 'ZeroCreditChunkSize',
3854
+ },
3855
+ {
3856
+ name: 'TooBigCreditChunkSize',
3857
+ },
3858
+ {
3859
+ name: 'TooLowCreditFee',
3860
+ },
3861
+ {
3862
+ name: 'InvalidMintAuthority',
3863
+ },
3864
+ {
3865
+ name: 'MintHasInitialSupply',
3866
+ },
3867
+ {
3868
+ name: 'InvalidOwnerFeeState',
3869
+ },
3870
+ {
3871
+ name: 'InvalidProgramId',
3872
+ },
3873
+ {
3874
+ name: 'UnexpectedAccount',
3875
+ },
3876
+ {
3877
+ name: 'CalculationFailure',
3878
+ },
3879
+ {
3880
+ name: 'AccountWithLockup',
3881
+ },
3882
+ {
3883
+ name: 'NumberTooLow',
3884
+ },
3885
+ {
3886
+ name: 'NumberTooHigh',
3887
+ },
3888
+ {
3889
+ name: 'FeeTooHigh',
3890
+ },
3891
+ {
3892
+ name: 'FeesWrongWayRound',
3893
+ },
3894
+ {
3895
+ name: 'LiquidityTargetTooLow',
3896
+ },
3897
+ {
3898
+ name: 'TicketNotDue',
3899
+ },
3900
+ {
3901
+ name: 'TicketNotReady',
3902
+ },
3903
+ {
3904
+ name: 'WrongBeneficiary',
3905
+ },
3906
+ {
3907
+ name: 'StakeAccountNotUpdatedYet',
3908
+ },
3909
+ {
3910
+ name: 'StakeNotDelegated',
3911
+ },
3912
+ {
3913
+ name: 'StakeAccountIsEmergencyUnstaking',
3914
+ },
3915
+ {
3916
+ name: 'InsufficientLiquidity',
3917
+ },
3918
+ {
3919
+ name: 'InvalidValidator',
3920
+ },
3921
+ ],
3922
+ },
3923
+ },
3924
+ ],
3925
+ };