@drift-labs/sdk 2.31.1-beta.9 → 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 +51 -4
  5. package/lib/driftClient.js +195 -194
  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 +373 -223
  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,1963 @@
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
+ export declare const IDL: MarinadeFinance;