@exponent-labs/meteora-idl 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2457 @@
1
+ export type Vault = {
2
+ version: "0.7.2"
3
+ name: "vault"
4
+ instructions: [
5
+ {
6
+ name: "initialize"
7
+ accounts: [
8
+ {
9
+ name: "vault"
10
+ isMut: true
11
+ isSigner: false
12
+ },
13
+ {
14
+ name: "payer"
15
+ isMut: true
16
+ isSigner: true
17
+ },
18
+ {
19
+ name: "tokenVault"
20
+ isMut: true
21
+ isSigner: false
22
+ },
23
+ {
24
+ name: "tokenMint"
25
+ isMut: false
26
+ isSigner: false
27
+ },
28
+ {
29
+ name: "lpMint"
30
+ isMut: true
31
+ isSigner: false
32
+ },
33
+ {
34
+ name: "rent"
35
+ isMut: false
36
+ isSigner: false
37
+ },
38
+ {
39
+ name: "tokenProgram"
40
+ isMut: false
41
+ isSigner: false
42
+ },
43
+ {
44
+ name: "systemProgram"
45
+ isMut: false
46
+ isSigner: false
47
+ },
48
+ ]
49
+ args: []
50
+ },
51
+ {
52
+ name: "enableVault"
53
+ accounts: [
54
+ {
55
+ name: "vault"
56
+ isMut: true
57
+ isSigner: false
58
+ },
59
+ {
60
+ name: "admin"
61
+ isMut: false
62
+ isSigner: true
63
+ },
64
+ ]
65
+ args: [
66
+ {
67
+ name: "enabled"
68
+ type: "u8"
69
+ },
70
+ ]
71
+ },
72
+ {
73
+ name: "setOperator"
74
+ accounts: [
75
+ {
76
+ name: "vault"
77
+ isMut: true
78
+ isSigner: false
79
+ },
80
+ {
81
+ name: "operator"
82
+ isMut: false
83
+ isSigner: false
84
+ },
85
+ {
86
+ name: "admin"
87
+ isMut: false
88
+ isSigner: true
89
+ },
90
+ ]
91
+ args: []
92
+ },
93
+ {
94
+ name: "updateLockedProfitDegradation"
95
+ accounts: [
96
+ {
97
+ name: "vault"
98
+ isMut: true
99
+ isSigner: false
100
+ },
101
+ {
102
+ name: "admin"
103
+ isMut: false
104
+ isSigner: true
105
+ },
106
+ ]
107
+ args: [
108
+ {
109
+ name: "lockedProfitDegradation"
110
+ type: "u64"
111
+ },
112
+ ]
113
+ },
114
+ {
115
+ name: "getUnlockedAmount"
116
+ accounts: [
117
+ {
118
+ name: "vault"
119
+ isMut: false
120
+ isSigner: false
121
+ },
122
+ ]
123
+ args: []
124
+ },
125
+ {
126
+ name: "transferAdmin"
127
+ accounts: [
128
+ {
129
+ name: "vault"
130
+ isMut: true
131
+ isSigner: false
132
+ },
133
+ {
134
+ name: "admin"
135
+ isMut: false
136
+ isSigner: true
137
+ },
138
+ {
139
+ name: "newAdmin"
140
+ isMut: false
141
+ isSigner: true
142
+ },
143
+ ]
144
+ args: []
145
+ },
146
+ {
147
+ name: "transferFeeVault"
148
+ accounts: [
149
+ {
150
+ name: "vault"
151
+ isMut: true
152
+ isSigner: false
153
+ },
154
+ {
155
+ name: "admin"
156
+ isMut: false
157
+ isSigner: true
158
+ },
159
+ {
160
+ name: "newFeeVault"
161
+ isMut: false
162
+ isSigner: false
163
+ },
164
+ ]
165
+ args: []
166
+ },
167
+ {
168
+ name: "initializeStrategy"
169
+ accounts: [
170
+ {
171
+ name: "vault"
172
+ isMut: true
173
+ isSigner: false
174
+ },
175
+ {
176
+ name: "strategyProgram"
177
+ isMut: false
178
+ isSigner: false
179
+ },
180
+ {
181
+ name: "strategy"
182
+ isMut: true
183
+ isSigner: false
184
+ },
185
+ {
186
+ name: "reserve"
187
+ isMut: true
188
+ isSigner: false
189
+ },
190
+ {
191
+ name: "collateralVault"
192
+ isMut: true
193
+ isSigner: false
194
+ },
195
+ {
196
+ name: "collateralMint"
197
+ isMut: false
198
+ isSigner: false
199
+ },
200
+ {
201
+ name: "admin"
202
+ isMut: true
203
+ isSigner: true
204
+ },
205
+ {
206
+ name: "systemProgram"
207
+ isMut: false
208
+ isSigner: false
209
+ },
210
+ {
211
+ name: "rent"
212
+ isMut: false
213
+ isSigner: false
214
+ },
215
+ {
216
+ name: "tokenProgram"
217
+ isMut: false
218
+ isSigner: false
219
+ },
220
+ ]
221
+ args: [
222
+ {
223
+ name: "bumps"
224
+ type: {
225
+ defined: "StrategyBumps"
226
+ }
227
+ },
228
+ {
229
+ name: "strategyType"
230
+ type: {
231
+ defined: "StrategyType"
232
+ }
233
+ },
234
+ ]
235
+ },
236
+ {
237
+ name: "removeStrategy"
238
+ accounts: [
239
+ {
240
+ name: "vault"
241
+ isMut: true
242
+ isSigner: false
243
+ },
244
+ {
245
+ name: "strategy"
246
+ isMut: true
247
+ isSigner: false
248
+ },
249
+ {
250
+ name: "strategyProgram"
251
+ isMut: false
252
+ isSigner: false
253
+ },
254
+ {
255
+ name: "collateralVault"
256
+ isMut: true
257
+ isSigner: false
258
+ },
259
+ {
260
+ name: "reserve"
261
+ isMut: true
262
+ isSigner: false
263
+ },
264
+ {
265
+ name: "tokenVault"
266
+ isMut: true
267
+ isSigner: false
268
+ },
269
+ {
270
+ name: "feeVault"
271
+ isMut: true
272
+ isSigner: false
273
+ },
274
+ {
275
+ name: "lpMint"
276
+ isMut: true
277
+ isSigner: false
278
+ },
279
+ {
280
+ name: "tokenProgram"
281
+ isMut: false
282
+ isSigner: false
283
+ },
284
+ {
285
+ name: "admin"
286
+ isMut: false
287
+ isSigner: true
288
+ },
289
+ ]
290
+ args: []
291
+ },
292
+ {
293
+ name: "removeStrategy2"
294
+ accounts: [
295
+ {
296
+ name: "vault"
297
+ isMut: true
298
+ isSigner: false
299
+ },
300
+ {
301
+ name: "strategy"
302
+ isMut: true
303
+ isSigner: false
304
+ },
305
+ {
306
+ name: "strategyProgram"
307
+ isMut: false
308
+ isSigner: false
309
+ },
310
+ {
311
+ name: "collateralVault"
312
+ isMut: true
313
+ isSigner: false
314
+ },
315
+ {
316
+ name: "reserve"
317
+ isMut: true
318
+ isSigner: false
319
+ },
320
+ {
321
+ name: "tokenVault"
322
+ isMut: true
323
+ isSigner: false
324
+ },
325
+ {
326
+ name: "tokenAdminAdvancePayment"
327
+ isMut: true
328
+ isSigner: false
329
+ },
330
+ {
331
+ name: "tokenVaultAdvancePayment"
332
+ isMut: true
333
+ isSigner: false
334
+ },
335
+ {
336
+ name: "feeVault"
337
+ isMut: true
338
+ isSigner: false
339
+ },
340
+ {
341
+ name: "lpMint"
342
+ isMut: true
343
+ isSigner: false
344
+ },
345
+ {
346
+ name: "tokenProgram"
347
+ isMut: false
348
+ isSigner: false
349
+ },
350
+ {
351
+ name: "admin"
352
+ isMut: false
353
+ isSigner: true
354
+ },
355
+ ]
356
+ args: [
357
+ {
358
+ name: "maxAdminPayAmount"
359
+ type: "u64"
360
+ },
361
+ ]
362
+ },
363
+ {
364
+ name: "collectDust"
365
+ accounts: [
366
+ {
367
+ name: "vault"
368
+ isMut: false
369
+ isSigner: false
370
+ },
371
+ {
372
+ name: "tokenVault"
373
+ isMut: true
374
+ isSigner: false
375
+ },
376
+ {
377
+ name: "tokenAdmin"
378
+ isMut: true
379
+ isSigner: false
380
+ },
381
+ {
382
+ name: "admin"
383
+ isMut: false
384
+ isSigner: true
385
+ },
386
+ {
387
+ name: "tokenProgram"
388
+ isMut: false
389
+ isSigner: false
390
+ },
391
+ ]
392
+ args: []
393
+ },
394
+ {
395
+ name: "addStrategy"
396
+ accounts: [
397
+ {
398
+ name: "vault"
399
+ isMut: true
400
+ isSigner: false
401
+ },
402
+ {
403
+ name: "strategy"
404
+ isMut: false
405
+ isSigner: false
406
+ },
407
+ {
408
+ name: "admin"
409
+ isMut: false
410
+ isSigner: true
411
+ },
412
+ ]
413
+ args: []
414
+ },
415
+ {
416
+ name: "depositStrategy"
417
+ accounts: [
418
+ {
419
+ name: "vault"
420
+ isMut: true
421
+ isSigner: false
422
+ },
423
+ {
424
+ name: "strategy"
425
+ isMut: true
426
+ isSigner: false
427
+ },
428
+ {
429
+ name: "tokenVault"
430
+ isMut: true
431
+ isSigner: false
432
+ },
433
+ {
434
+ name: "feeVault"
435
+ isMut: true
436
+ isSigner: false
437
+ },
438
+ {
439
+ name: "lpMint"
440
+ isMut: true
441
+ isSigner: false
442
+ },
443
+ {
444
+ name: "strategyProgram"
445
+ isMut: false
446
+ isSigner: false
447
+ },
448
+ {
449
+ name: "collateralVault"
450
+ isMut: true
451
+ isSigner: false
452
+ },
453
+ {
454
+ name: "reserve"
455
+ isMut: true
456
+ isSigner: false
457
+ },
458
+ {
459
+ name: "tokenProgram"
460
+ isMut: false
461
+ isSigner: false
462
+ },
463
+ {
464
+ name: "operator"
465
+ isMut: false
466
+ isSigner: true
467
+ },
468
+ ]
469
+ args: [
470
+ {
471
+ name: "amount"
472
+ type: "u64"
473
+ },
474
+ ]
475
+ },
476
+ {
477
+ name: "withdrawStrategy"
478
+ accounts: [
479
+ {
480
+ name: "vault"
481
+ isMut: true
482
+ isSigner: false
483
+ },
484
+ {
485
+ name: "strategy"
486
+ isMut: true
487
+ isSigner: false
488
+ },
489
+ {
490
+ name: "tokenVault"
491
+ isMut: true
492
+ isSigner: false
493
+ },
494
+ {
495
+ name: "feeVault"
496
+ isMut: true
497
+ isSigner: false
498
+ },
499
+ {
500
+ name: "lpMint"
501
+ isMut: true
502
+ isSigner: false
503
+ },
504
+ {
505
+ name: "strategyProgram"
506
+ isMut: false
507
+ isSigner: false
508
+ },
509
+ {
510
+ name: "collateralVault"
511
+ isMut: true
512
+ isSigner: false
513
+ },
514
+ {
515
+ name: "reserve"
516
+ isMut: true
517
+ isSigner: false
518
+ },
519
+ {
520
+ name: "tokenProgram"
521
+ isMut: false
522
+ isSigner: false
523
+ },
524
+ {
525
+ name: "operator"
526
+ isMut: false
527
+ isSigner: true
528
+ },
529
+ ]
530
+ args: [
531
+ {
532
+ name: "amount"
533
+ type: "u64"
534
+ },
535
+ ]
536
+ },
537
+ {
538
+ name: "claimRewards"
539
+ accounts: [
540
+ {
541
+ name: "vault"
542
+ isMut: false
543
+ isSigner: false
544
+ },
545
+ {
546
+ name: "strategy"
547
+ isMut: false
548
+ isSigner: false
549
+ },
550
+ {
551
+ name: "tokenProgram"
552
+ isMut: false
553
+ isSigner: false
554
+ },
555
+ {
556
+ name: "tokenRewardAcc"
557
+ isMut: true
558
+ isSigner: false
559
+ },
560
+ {
561
+ name: "operator"
562
+ isMut: false
563
+ isSigner: true
564
+ },
565
+ ]
566
+ args: []
567
+ },
568
+ {
569
+ name: "withdraw2"
570
+ accounts: [
571
+ {
572
+ name: "vault"
573
+ isMut: true
574
+ isSigner: false
575
+ },
576
+ {
577
+ name: "tokenVault"
578
+ isMut: true
579
+ isSigner: false
580
+ },
581
+ {
582
+ name: "lpMint"
583
+ isMut: true
584
+ isSigner: false
585
+ },
586
+ {
587
+ name: "userToken"
588
+ isMut: true
589
+ isSigner: false
590
+ },
591
+ {
592
+ name: "userLp"
593
+ isMut: true
594
+ isSigner: false
595
+ },
596
+ {
597
+ name: "user"
598
+ isMut: false
599
+ isSigner: true
600
+ },
601
+ {
602
+ name: "tokenProgram"
603
+ isMut: false
604
+ isSigner: false
605
+ },
606
+ ]
607
+ args: [
608
+ {
609
+ name: "unmintAmount"
610
+ type: "u64"
611
+ },
612
+ {
613
+ name: "minOutAmount"
614
+ type: "u64"
615
+ },
616
+ ]
617
+ },
618
+ {
619
+ name: "deposit"
620
+ accounts: [
621
+ {
622
+ name: "vault"
623
+ isMut: true
624
+ isSigner: false
625
+ },
626
+ {
627
+ name: "tokenVault"
628
+ isMut: true
629
+ isSigner: false
630
+ },
631
+ {
632
+ name: "lpMint"
633
+ isMut: true
634
+ isSigner: false
635
+ },
636
+ {
637
+ name: "userToken"
638
+ isMut: true
639
+ isSigner: false
640
+ },
641
+ {
642
+ name: "userLp"
643
+ isMut: true
644
+ isSigner: false
645
+ },
646
+ {
647
+ name: "user"
648
+ isMut: false
649
+ isSigner: true
650
+ },
651
+ {
652
+ name: "tokenProgram"
653
+ isMut: false
654
+ isSigner: false
655
+ },
656
+ ]
657
+ args: [
658
+ {
659
+ name: "tokenAmount"
660
+ type: "u64"
661
+ },
662
+ {
663
+ name: "minimumLpTokenAmount"
664
+ type: "u64"
665
+ },
666
+ ]
667
+ },
668
+ {
669
+ name: "withdraw"
670
+ accounts: [
671
+ {
672
+ name: "vault"
673
+ isMut: true
674
+ isSigner: false
675
+ },
676
+ {
677
+ name: "tokenVault"
678
+ isMut: true
679
+ isSigner: false
680
+ },
681
+ {
682
+ name: "lpMint"
683
+ isMut: true
684
+ isSigner: false
685
+ },
686
+ {
687
+ name: "userToken"
688
+ isMut: true
689
+ isSigner: false
690
+ },
691
+ {
692
+ name: "userLp"
693
+ isMut: true
694
+ isSigner: false
695
+ },
696
+ {
697
+ name: "user"
698
+ isMut: false
699
+ isSigner: true
700
+ },
701
+ {
702
+ name: "tokenProgram"
703
+ isMut: false
704
+ isSigner: false
705
+ },
706
+ ]
707
+ args: [
708
+ {
709
+ name: "unmintAmount"
710
+ type: "u64"
711
+ },
712
+ {
713
+ name: "minOutAmount"
714
+ type: "u64"
715
+ },
716
+ ]
717
+ },
718
+ {
719
+ name: "withdrawDirectlyFromStrategy"
720
+ accounts: [
721
+ {
722
+ name: "vault"
723
+ isMut: true
724
+ isSigner: false
725
+ },
726
+ {
727
+ name: "strategy"
728
+ isMut: true
729
+ isSigner: false
730
+ },
731
+ {
732
+ name: "reserve"
733
+ isMut: true
734
+ isSigner: false
735
+ },
736
+ {
737
+ name: "strategyProgram"
738
+ isMut: false
739
+ isSigner: false
740
+ },
741
+ {
742
+ name: "collateralVault"
743
+ isMut: true
744
+ isSigner: false
745
+ },
746
+ {
747
+ name: "tokenVault"
748
+ isMut: true
749
+ isSigner: false
750
+ },
751
+ {
752
+ name: "lpMint"
753
+ isMut: true
754
+ isSigner: false
755
+ },
756
+ {
757
+ name: "feeVault"
758
+ isMut: true
759
+ isSigner: false
760
+ },
761
+ {
762
+ name: "userToken"
763
+ isMut: true
764
+ isSigner: false
765
+ },
766
+ {
767
+ name: "userLp"
768
+ isMut: true
769
+ isSigner: false
770
+ },
771
+ {
772
+ name: "user"
773
+ isMut: false
774
+ isSigner: true
775
+ },
776
+ {
777
+ name: "tokenProgram"
778
+ isMut: false
779
+ isSigner: false
780
+ },
781
+ ]
782
+ args: [
783
+ {
784
+ name: "unmintAmount"
785
+ type: "u64"
786
+ },
787
+ {
788
+ name: "minOutAmount"
789
+ type: "u64"
790
+ },
791
+ ]
792
+ },
793
+ ]
794
+ accounts: [
795
+ {
796
+ name: "vault"
797
+ type: {
798
+ kind: "struct"
799
+ fields: [
800
+ {
801
+ name: "enabled"
802
+ type: "u8"
803
+ },
804
+ {
805
+ name: "bumps"
806
+ type: {
807
+ defined: "VaultBumps"
808
+ }
809
+ },
810
+ {
811
+ name: "totalAmount"
812
+ type: "u64"
813
+ },
814
+ {
815
+ name: "tokenVault"
816
+ type: "publicKey"
817
+ },
818
+ {
819
+ name: "feeVault"
820
+ type: "publicKey"
821
+ },
822
+ {
823
+ name: "tokenMint"
824
+ type: "publicKey"
825
+ },
826
+ {
827
+ name: "lpMint"
828
+ type: "publicKey"
829
+ },
830
+ {
831
+ name: "strategies"
832
+ type: {
833
+ array: ["publicKey", 30]
834
+ }
835
+ },
836
+ {
837
+ name: "base"
838
+ type: "publicKey"
839
+ },
840
+ {
841
+ name: "admin"
842
+ type: "publicKey"
843
+ },
844
+ {
845
+ name: "operator"
846
+ type: "publicKey"
847
+ },
848
+ {
849
+ name: "lockedProfitTracker"
850
+ type: {
851
+ defined: "LockedProfitTracker"
852
+ }
853
+ },
854
+ ]
855
+ }
856
+ },
857
+ {
858
+ name: "strategy"
859
+ type: {
860
+ kind: "struct"
861
+ fields: [
862
+ {
863
+ name: "reserve"
864
+ type: "publicKey"
865
+ },
866
+ {
867
+ name: "collateralVault"
868
+ type: "publicKey"
869
+ },
870
+ {
871
+ name: "strategyType"
872
+ type: {
873
+ defined: "StrategyType"
874
+ }
875
+ },
876
+ {
877
+ name: "currentLiquidity"
878
+ type: "u64"
879
+ },
880
+ {
881
+ name: "bumps"
882
+ type: {
883
+ array: ["u8", 10]
884
+ }
885
+ },
886
+ {
887
+ name: "vault"
888
+ type: "publicKey"
889
+ },
890
+ {
891
+ name: "isDisable"
892
+ type: "u8"
893
+ },
894
+ ]
895
+ }
896
+ },
897
+ ]
898
+ types: [
899
+ {
900
+ name: "VaultBumps"
901
+ type: {
902
+ kind: "struct"
903
+ fields: [
904
+ {
905
+ name: "vaultBump"
906
+ type: "u8"
907
+ },
908
+ {
909
+ name: "tokenVaultBump"
910
+ type: "u8"
911
+ },
912
+ ]
913
+ }
914
+ },
915
+ {
916
+ name: "StrategyBumps"
917
+ type: {
918
+ kind: "struct"
919
+ fields: [
920
+ {
921
+ name: "strategyIndex"
922
+ type: "u8"
923
+ },
924
+ {
925
+ name: "otherBumps"
926
+ type: {
927
+ array: ["u8", 10]
928
+ }
929
+ },
930
+ ]
931
+ }
932
+ },
933
+ {
934
+ name: "LockedProfitTracker"
935
+ type: {
936
+ kind: "struct"
937
+ fields: [
938
+ {
939
+ name: "lastUpdatedLockedProfit"
940
+ type: "u64"
941
+ },
942
+ {
943
+ name: "lastReport"
944
+ type: "u64"
945
+ },
946
+ {
947
+ name: "lockedProfitDegradation"
948
+ type: "u64"
949
+ },
950
+ ]
951
+ }
952
+ },
953
+ {
954
+ name: "StrategyType"
955
+ type: {
956
+ kind: "enum"
957
+ variants: [
958
+ {
959
+ name: "PortFinanceWithoutLM"
960
+ },
961
+ {
962
+ name: "PortFinanceWithLM"
963
+ },
964
+ {
965
+ name: "SolendWithoutLM"
966
+ },
967
+ {
968
+ name: "Mango"
969
+ },
970
+ {
971
+ name: "SolendWithLM"
972
+ },
973
+ {
974
+ name: "ApricotWithoutLM"
975
+ },
976
+ {
977
+ name: "Francium"
978
+ },
979
+ {
980
+ name: "Tulip"
981
+ },
982
+ {
983
+ name: "Vault"
984
+ },
985
+ {
986
+ name: "Drift"
987
+ },
988
+ {
989
+ name: "Frakt"
990
+ },
991
+ {
992
+ name: "Marginfi"
993
+ },
994
+ ]
995
+ }
996
+ },
997
+ ]
998
+ events: [
999
+ {
1000
+ name: "AddLiquidity"
1001
+ fields: [
1002
+ {
1003
+ name: "lpMintAmount"
1004
+ type: "u64"
1005
+ index: false
1006
+ },
1007
+ {
1008
+ name: "tokenAmount"
1009
+ type: "u64"
1010
+ index: false
1011
+ },
1012
+ ]
1013
+ },
1014
+ {
1015
+ name: "RemoveLiquidity"
1016
+ fields: [
1017
+ {
1018
+ name: "lpUnmintAmount"
1019
+ type: "u64"
1020
+ index: false
1021
+ },
1022
+ {
1023
+ name: "tokenAmount"
1024
+ type: "u64"
1025
+ index: false
1026
+ },
1027
+ ]
1028
+ },
1029
+ {
1030
+ name: "StrategyDeposit"
1031
+ fields: [
1032
+ {
1033
+ name: "strategyType"
1034
+ type: {
1035
+ defined: "StrategyType"
1036
+ }
1037
+ index: false
1038
+ },
1039
+ {
1040
+ name: "tokenAmount"
1041
+ type: "u64"
1042
+ index: false
1043
+ },
1044
+ ]
1045
+ },
1046
+ {
1047
+ name: "StrategyWithdraw"
1048
+ fields: [
1049
+ {
1050
+ name: "strategyType"
1051
+ type: {
1052
+ defined: "StrategyType"
1053
+ }
1054
+ index: false
1055
+ },
1056
+ {
1057
+ name: "collateralAmount"
1058
+ type: "u64"
1059
+ index: false
1060
+ },
1061
+ {
1062
+ name: "estimatedTokenAmount"
1063
+ type: "u64"
1064
+ index: false
1065
+ },
1066
+ ]
1067
+ },
1068
+ {
1069
+ name: "ClaimReward"
1070
+ fields: [
1071
+ {
1072
+ name: "strategyType"
1073
+ type: {
1074
+ defined: "StrategyType"
1075
+ }
1076
+ index: false
1077
+ },
1078
+ {
1079
+ name: "tokenAmount"
1080
+ type: "u64"
1081
+ index: false
1082
+ },
1083
+ {
1084
+ name: "mintAccount"
1085
+ type: "publicKey"
1086
+ index: false
1087
+ },
1088
+ ]
1089
+ },
1090
+ {
1091
+ name: "PerformanceFee"
1092
+ fields: [
1093
+ {
1094
+ name: "lpMintMore"
1095
+ type: "u64"
1096
+ index: false
1097
+ },
1098
+ ]
1099
+ },
1100
+ {
1101
+ name: "ReportLoss"
1102
+ fields: [
1103
+ {
1104
+ name: "strategy"
1105
+ type: "publicKey"
1106
+ index: false
1107
+ },
1108
+ {
1109
+ name: "loss"
1110
+ type: "u64"
1111
+ index: false
1112
+ },
1113
+ ]
1114
+ },
1115
+ {
1116
+ name: "TotalAmount"
1117
+ fields: [
1118
+ {
1119
+ name: "totalAmount"
1120
+ type: "u64"
1121
+ index: false
1122
+ },
1123
+ ]
1124
+ },
1125
+ ]
1126
+ errors: [
1127
+ {
1128
+ code: 6000
1129
+ name: "VaultIsDisabled"
1130
+ msg: "Vault is disabled"
1131
+ },
1132
+ {
1133
+ code: 6001
1134
+ name: "ExceededSlippage"
1135
+ msg: "Exceeded slippage tolerance"
1136
+ },
1137
+ {
1138
+ code: 6002
1139
+ name: "StrategyIsNotExisted"
1140
+ msg: "Strategy is not existed"
1141
+ },
1142
+ {
1143
+ code: 6003
1144
+ name: "UnAuthorized"
1145
+ msg: "UnAuthorized"
1146
+ },
1147
+ {
1148
+ code: 6004
1149
+ name: "MathOverflow"
1150
+ msg: "Math operation overflow"
1151
+ },
1152
+ {
1153
+ code: 6005
1154
+ name: "ProtocolIsNotSupported"
1155
+ msg: "Protocol is not supported"
1156
+ },
1157
+ {
1158
+ code: 6006
1159
+ name: "UnMatchReserve"
1160
+ msg: "Reserve does not support token mint"
1161
+ },
1162
+ {
1163
+ code: 6007
1164
+ name: "InvalidLockedProfitDegradation"
1165
+ msg: "lockedProfitDegradation is invalid"
1166
+ },
1167
+ {
1168
+ code: 6008
1169
+ name: "MaxStrategyReached"
1170
+ msg: "Maximum number of strategies have been reached"
1171
+ },
1172
+ {
1173
+ code: 6009
1174
+ name: "StrategyExisted"
1175
+ msg: "Strategy existed"
1176
+ },
1177
+ {
1178
+ code: 6010
1179
+ name: "InvalidUnmintAmount"
1180
+ msg: "Invalid unmint amount"
1181
+ },
1182
+ {
1183
+ code: 6011
1184
+ name: "InvalidAccountsForStrategy"
1185
+ msg: "Invalid accounts for strategy"
1186
+ },
1187
+ {
1188
+ code: 6012
1189
+ name: "InvalidBump"
1190
+ msg: "Invalid bump"
1191
+ },
1192
+ {
1193
+ code: 6013
1194
+ name: "AmountMustGreaterThanZero"
1195
+ msg: "Amount must be greater than 0"
1196
+ },
1197
+ {
1198
+ code: 6014
1199
+ name: "MangoIsNotSupportedAnymore"
1200
+ msg: "Mango is not supported anymore"
1201
+ },
1202
+ {
1203
+ code: 6015
1204
+ name: "StrategyIsNotSupported"
1205
+ msg: "Strategy is not supported"
1206
+ },
1207
+ {
1208
+ code: 6016
1209
+ name: "PayAmountIsExeeced"
1210
+ msg: "Pay amount is exceeded"
1211
+ },
1212
+ {
1213
+ code: 6017
1214
+ name: "FeeVaultIsNotSet"
1215
+ msg: "Fee vault is not set"
1216
+ },
1217
+ {
1218
+ code: 6018
1219
+ name: "LendingAssertionViolation"
1220
+ msg: "deposit amount in lending is not matched"
1221
+ },
1222
+ {
1223
+ code: 6019
1224
+ name: "HaveMoneyInLending"
1225
+ msg: "Cannot remove strategy becase we have some in lending"
1226
+ },
1227
+ ]
1228
+ }
1229
+
1230
+ export const IDL: Vault = {
1231
+ version: "0.7.2",
1232
+ name: "vault",
1233
+ instructions: [
1234
+ {
1235
+ name: "initialize",
1236
+ accounts: [
1237
+ {
1238
+ name: "vault",
1239
+ isMut: true,
1240
+ isSigner: false,
1241
+ },
1242
+ {
1243
+ name: "payer",
1244
+ isMut: true,
1245
+ isSigner: true,
1246
+ },
1247
+ {
1248
+ name: "tokenVault",
1249
+ isMut: true,
1250
+ isSigner: false,
1251
+ },
1252
+ {
1253
+ name: "tokenMint",
1254
+ isMut: false,
1255
+ isSigner: false,
1256
+ },
1257
+ {
1258
+ name: "lpMint",
1259
+ isMut: true,
1260
+ isSigner: false,
1261
+ },
1262
+ {
1263
+ name: "rent",
1264
+ isMut: false,
1265
+ isSigner: false,
1266
+ },
1267
+ {
1268
+ name: "tokenProgram",
1269
+ isMut: false,
1270
+ isSigner: false,
1271
+ },
1272
+ {
1273
+ name: "systemProgram",
1274
+ isMut: false,
1275
+ isSigner: false,
1276
+ },
1277
+ ],
1278
+ args: [],
1279
+ },
1280
+ {
1281
+ name: "enableVault",
1282
+ accounts: [
1283
+ {
1284
+ name: "vault",
1285
+ isMut: true,
1286
+ isSigner: false,
1287
+ },
1288
+ {
1289
+ name: "admin",
1290
+ isMut: false,
1291
+ isSigner: true,
1292
+ },
1293
+ ],
1294
+ args: [
1295
+ {
1296
+ name: "enabled",
1297
+ type: "u8",
1298
+ },
1299
+ ],
1300
+ },
1301
+ {
1302
+ name: "setOperator",
1303
+ accounts: [
1304
+ {
1305
+ name: "vault",
1306
+ isMut: true,
1307
+ isSigner: false,
1308
+ },
1309
+ {
1310
+ name: "operator",
1311
+ isMut: false,
1312
+ isSigner: false,
1313
+ },
1314
+ {
1315
+ name: "admin",
1316
+ isMut: false,
1317
+ isSigner: true,
1318
+ },
1319
+ ],
1320
+ args: [],
1321
+ },
1322
+ {
1323
+ name: "updateLockedProfitDegradation",
1324
+ accounts: [
1325
+ {
1326
+ name: "vault",
1327
+ isMut: true,
1328
+ isSigner: false,
1329
+ },
1330
+ {
1331
+ name: "admin",
1332
+ isMut: false,
1333
+ isSigner: true,
1334
+ },
1335
+ ],
1336
+ args: [
1337
+ {
1338
+ name: "lockedProfitDegradation",
1339
+ type: "u64",
1340
+ },
1341
+ ],
1342
+ },
1343
+ {
1344
+ name: "getUnlockedAmount",
1345
+ accounts: [
1346
+ {
1347
+ name: "vault",
1348
+ isMut: false,
1349
+ isSigner: false,
1350
+ },
1351
+ ],
1352
+ args: [],
1353
+ },
1354
+ {
1355
+ name: "transferAdmin",
1356
+ accounts: [
1357
+ {
1358
+ name: "vault",
1359
+ isMut: true,
1360
+ isSigner: false,
1361
+ },
1362
+ {
1363
+ name: "admin",
1364
+ isMut: false,
1365
+ isSigner: true,
1366
+ },
1367
+ {
1368
+ name: "newAdmin",
1369
+ isMut: false,
1370
+ isSigner: true,
1371
+ },
1372
+ ],
1373
+ args: [],
1374
+ },
1375
+ {
1376
+ name: "transferFeeVault",
1377
+ accounts: [
1378
+ {
1379
+ name: "vault",
1380
+ isMut: true,
1381
+ isSigner: false,
1382
+ },
1383
+ {
1384
+ name: "admin",
1385
+ isMut: false,
1386
+ isSigner: true,
1387
+ },
1388
+ {
1389
+ name: "newFeeVault",
1390
+ isMut: false,
1391
+ isSigner: false,
1392
+ },
1393
+ ],
1394
+ args: [],
1395
+ },
1396
+ {
1397
+ name: "initializeStrategy",
1398
+ accounts: [
1399
+ {
1400
+ name: "vault",
1401
+ isMut: true,
1402
+ isSigner: false,
1403
+ },
1404
+ {
1405
+ name: "strategyProgram",
1406
+ isMut: false,
1407
+ isSigner: false,
1408
+ },
1409
+ {
1410
+ name: "strategy",
1411
+ isMut: true,
1412
+ isSigner: false,
1413
+ },
1414
+ {
1415
+ name: "reserve",
1416
+ isMut: true,
1417
+ isSigner: false,
1418
+ },
1419
+ {
1420
+ name: "collateralVault",
1421
+ isMut: true,
1422
+ isSigner: false,
1423
+ },
1424
+ {
1425
+ name: "collateralMint",
1426
+ isMut: false,
1427
+ isSigner: false,
1428
+ },
1429
+ {
1430
+ name: "admin",
1431
+ isMut: true,
1432
+ isSigner: true,
1433
+ },
1434
+ {
1435
+ name: "systemProgram",
1436
+ isMut: false,
1437
+ isSigner: false,
1438
+ },
1439
+ {
1440
+ name: "rent",
1441
+ isMut: false,
1442
+ isSigner: false,
1443
+ },
1444
+ {
1445
+ name: "tokenProgram",
1446
+ isMut: false,
1447
+ isSigner: false,
1448
+ },
1449
+ ],
1450
+ args: [
1451
+ {
1452
+ name: "bumps",
1453
+ type: {
1454
+ defined: "StrategyBumps",
1455
+ },
1456
+ },
1457
+ {
1458
+ name: "strategyType",
1459
+ type: {
1460
+ defined: "StrategyType",
1461
+ },
1462
+ },
1463
+ ],
1464
+ },
1465
+ {
1466
+ name: "removeStrategy",
1467
+ accounts: [
1468
+ {
1469
+ name: "vault",
1470
+ isMut: true,
1471
+ isSigner: false,
1472
+ },
1473
+ {
1474
+ name: "strategy",
1475
+ isMut: true,
1476
+ isSigner: false,
1477
+ },
1478
+ {
1479
+ name: "strategyProgram",
1480
+ isMut: false,
1481
+ isSigner: false,
1482
+ },
1483
+ {
1484
+ name: "collateralVault",
1485
+ isMut: true,
1486
+ isSigner: false,
1487
+ },
1488
+ {
1489
+ name: "reserve",
1490
+ isMut: true,
1491
+ isSigner: false,
1492
+ },
1493
+ {
1494
+ name: "tokenVault",
1495
+ isMut: true,
1496
+ isSigner: false,
1497
+ },
1498
+ {
1499
+ name: "feeVault",
1500
+ isMut: true,
1501
+ isSigner: false,
1502
+ },
1503
+ {
1504
+ name: "lpMint",
1505
+ isMut: true,
1506
+ isSigner: false,
1507
+ },
1508
+ {
1509
+ name: "tokenProgram",
1510
+ isMut: false,
1511
+ isSigner: false,
1512
+ },
1513
+ {
1514
+ name: "admin",
1515
+ isMut: false,
1516
+ isSigner: true,
1517
+ },
1518
+ ],
1519
+ args: [],
1520
+ },
1521
+ {
1522
+ name: "removeStrategy2",
1523
+ accounts: [
1524
+ {
1525
+ name: "vault",
1526
+ isMut: true,
1527
+ isSigner: false,
1528
+ },
1529
+ {
1530
+ name: "strategy",
1531
+ isMut: true,
1532
+ isSigner: false,
1533
+ },
1534
+ {
1535
+ name: "strategyProgram",
1536
+ isMut: false,
1537
+ isSigner: false,
1538
+ },
1539
+ {
1540
+ name: "collateralVault",
1541
+ isMut: true,
1542
+ isSigner: false,
1543
+ },
1544
+ {
1545
+ name: "reserve",
1546
+ isMut: true,
1547
+ isSigner: false,
1548
+ },
1549
+ {
1550
+ name: "tokenVault",
1551
+ isMut: true,
1552
+ isSigner: false,
1553
+ },
1554
+ {
1555
+ name: "tokenAdminAdvancePayment",
1556
+ isMut: true,
1557
+ isSigner: false,
1558
+ },
1559
+ {
1560
+ name: "tokenVaultAdvancePayment",
1561
+ isMut: true,
1562
+ isSigner: false,
1563
+ },
1564
+ {
1565
+ name: "feeVault",
1566
+ isMut: true,
1567
+ isSigner: false,
1568
+ },
1569
+ {
1570
+ name: "lpMint",
1571
+ isMut: true,
1572
+ isSigner: false,
1573
+ },
1574
+ {
1575
+ name: "tokenProgram",
1576
+ isMut: false,
1577
+ isSigner: false,
1578
+ },
1579
+ {
1580
+ name: "admin",
1581
+ isMut: false,
1582
+ isSigner: true,
1583
+ },
1584
+ ],
1585
+ args: [
1586
+ {
1587
+ name: "maxAdminPayAmount",
1588
+ type: "u64",
1589
+ },
1590
+ ],
1591
+ },
1592
+ {
1593
+ name: "collectDust",
1594
+ accounts: [
1595
+ {
1596
+ name: "vault",
1597
+ isMut: false,
1598
+ isSigner: false,
1599
+ },
1600
+ {
1601
+ name: "tokenVault",
1602
+ isMut: true,
1603
+ isSigner: false,
1604
+ },
1605
+ {
1606
+ name: "tokenAdmin",
1607
+ isMut: true,
1608
+ isSigner: false,
1609
+ },
1610
+ {
1611
+ name: "admin",
1612
+ isMut: false,
1613
+ isSigner: true,
1614
+ },
1615
+ {
1616
+ name: "tokenProgram",
1617
+ isMut: false,
1618
+ isSigner: false,
1619
+ },
1620
+ ],
1621
+ args: [],
1622
+ },
1623
+ {
1624
+ name: "addStrategy",
1625
+ accounts: [
1626
+ {
1627
+ name: "vault",
1628
+ isMut: true,
1629
+ isSigner: false,
1630
+ },
1631
+ {
1632
+ name: "strategy",
1633
+ isMut: false,
1634
+ isSigner: false,
1635
+ },
1636
+ {
1637
+ name: "admin",
1638
+ isMut: false,
1639
+ isSigner: true,
1640
+ },
1641
+ ],
1642
+ args: [],
1643
+ },
1644
+ {
1645
+ name: "depositStrategy",
1646
+ accounts: [
1647
+ {
1648
+ name: "vault",
1649
+ isMut: true,
1650
+ isSigner: false,
1651
+ },
1652
+ {
1653
+ name: "strategy",
1654
+ isMut: true,
1655
+ isSigner: false,
1656
+ },
1657
+ {
1658
+ name: "tokenVault",
1659
+ isMut: true,
1660
+ isSigner: false,
1661
+ },
1662
+ {
1663
+ name: "feeVault",
1664
+ isMut: true,
1665
+ isSigner: false,
1666
+ },
1667
+ {
1668
+ name: "lpMint",
1669
+ isMut: true,
1670
+ isSigner: false,
1671
+ },
1672
+ {
1673
+ name: "strategyProgram",
1674
+ isMut: false,
1675
+ isSigner: false,
1676
+ },
1677
+ {
1678
+ name: "collateralVault",
1679
+ isMut: true,
1680
+ isSigner: false,
1681
+ },
1682
+ {
1683
+ name: "reserve",
1684
+ isMut: true,
1685
+ isSigner: false,
1686
+ },
1687
+ {
1688
+ name: "tokenProgram",
1689
+ isMut: false,
1690
+ isSigner: false,
1691
+ },
1692
+ {
1693
+ name: "operator",
1694
+ isMut: false,
1695
+ isSigner: true,
1696
+ },
1697
+ ],
1698
+ args: [
1699
+ {
1700
+ name: "amount",
1701
+ type: "u64",
1702
+ },
1703
+ ],
1704
+ },
1705
+ {
1706
+ name: "withdrawStrategy",
1707
+ accounts: [
1708
+ {
1709
+ name: "vault",
1710
+ isMut: true,
1711
+ isSigner: false,
1712
+ },
1713
+ {
1714
+ name: "strategy",
1715
+ isMut: true,
1716
+ isSigner: false,
1717
+ },
1718
+ {
1719
+ name: "tokenVault",
1720
+ isMut: true,
1721
+ isSigner: false,
1722
+ },
1723
+ {
1724
+ name: "feeVault",
1725
+ isMut: true,
1726
+ isSigner: false,
1727
+ },
1728
+ {
1729
+ name: "lpMint",
1730
+ isMut: true,
1731
+ isSigner: false,
1732
+ },
1733
+ {
1734
+ name: "strategyProgram",
1735
+ isMut: false,
1736
+ isSigner: false,
1737
+ },
1738
+ {
1739
+ name: "collateralVault",
1740
+ isMut: true,
1741
+ isSigner: false,
1742
+ },
1743
+ {
1744
+ name: "reserve",
1745
+ isMut: true,
1746
+ isSigner: false,
1747
+ },
1748
+ {
1749
+ name: "tokenProgram",
1750
+ isMut: false,
1751
+ isSigner: false,
1752
+ },
1753
+ {
1754
+ name: "operator",
1755
+ isMut: false,
1756
+ isSigner: true,
1757
+ },
1758
+ ],
1759
+ args: [
1760
+ {
1761
+ name: "amount",
1762
+ type: "u64",
1763
+ },
1764
+ ],
1765
+ },
1766
+ {
1767
+ name: "claimRewards",
1768
+ accounts: [
1769
+ {
1770
+ name: "vault",
1771
+ isMut: false,
1772
+ isSigner: false,
1773
+ },
1774
+ {
1775
+ name: "strategy",
1776
+ isMut: false,
1777
+ isSigner: false,
1778
+ },
1779
+ {
1780
+ name: "tokenProgram",
1781
+ isMut: false,
1782
+ isSigner: false,
1783
+ },
1784
+ {
1785
+ name: "tokenRewardAcc",
1786
+ isMut: true,
1787
+ isSigner: false,
1788
+ },
1789
+ {
1790
+ name: "operator",
1791
+ isMut: false,
1792
+ isSigner: true,
1793
+ },
1794
+ ],
1795
+ args: [],
1796
+ },
1797
+ {
1798
+ name: "withdraw2",
1799
+ accounts: [
1800
+ {
1801
+ name: "vault",
1802
+ isMut: true,
1803
+ isSigner: false,
1804
+ },
1805
+ {
1806
+ name: "tokenVault",
1807
+ isMut: true,
1808
+ isSigner: false,
1809
+ },
1810
+ {
1811
+ name: "lpMint",
1812
+ isMut: true,
1813
+ isSigner: false,
1814
+ },
1815
+ {
1816
+ name: "userToken",
1817
+ isMut: true,
1818
+ isSigner: false,
1819
+ },
1820
+ {
1821
+ name: "userLp",
1822
+ isMut: true,
1823
+ isSigner: false,
1824
+ },
1825
+ {
1826
+ name: "user",
1827
+ isMut: false,
1828
+ isSigner: true,
1829
+ },
1830
+ {
1831
+ name: "tokenProgram",
1832
+ isMut: false,
1833
+ isSigner: false,
1834
+ },
1835
+ ],
1836
+ args: [
1837
+ {
1838
+ name: "unmintAmount",
1839
+ type: "u64",
1840
+ },
1841
+ {
1842
+ name: "minOutAmount",
1843
+ type: "u64",
1844
+ },
1845
+ ],
1846
+ },
1847
+ {
1848
+ name: "deposit",
1849
+ accounts: [
1850
+ {
1851
+ name: "vault",
1852
+ isMut: true,
1853
+ isSigner: false,
1854
+ },
1855
+ {
1856
+ name: "tokenVault",
1857
+ isMut: true,
1858
+ isSigner: false,
1859
+ },
1860
+ {
1861
+ name: "lpMint",
1862
+ isMut: true,
1863
+ isSigner: false,
1864
+ },
1865
+ {
1866
+ name: "userToken",
1867
+ isMut: true,
1868
+ isSigner: false,
1869
+ },
1870
+ {
1871
+ name: "userLp",
1872
+ isMut: true,
1873
+ isSigner: false,
1874
+ },
1875
+ {
1876
+ name: "user",
1877
+ isMut: false,
1878
+ isSigner: true,
1879
+ },
1880
+ {
1881
+ name: "tokenProgram",
1882
+ isMut: false,
1883
+ isSigner: false,
1884
+ },
1885
+ ],
1886
+ args: [
1887
+ {
1888
+ name: "tokenAmount",
1889
+ type: "u64",
1890
+ },
1891
+ {
1892
+ name: "minimumLpTokenAmount",
1893
+ type: "u64",
1894
+ },
1895
+ ],
1896
+ },
1897
+ {
1898
+ name: "withdraw",
1899
+ accounts: [
1900
+ {
1901
+ name: "vault",
1902
+ isMut: true,
1903
+ isSigner: false,
1904
+ },
1905
+ {
1906
+ name: "tokenVault",
1907
+ isMut: true,
1908
+ isSigner: false,
1909
+ },
1910
+ {
1911
+ name: "lpMint",
1912
+ isMut: true,
1913
+ isSigner: false,
1914
+ },
1915
+ {
1916
+ name: "userToken",
1917
+ isMut: true,
1918
+ isSigner: false,
1919
+ },
1920
+ {
1921
+ name: "userLp",
1922
+ isMut: true,
1923
+ isSigner: false,
1924
+ },
1925
+ {
1926
+ name: "user",
1927
+ isMut: false,
1928
+ isSigner: true,
1929
+ },
1930
+ {
1931
+ name: "tokenProgram",
1932
+ isMut: false,
1933
+ isSigner: false,
1934
+ },
1935
+ ],
1936
+ args: [
1937
+ {
1938
+ name: "unmintAmount",
1939
+ type: "u64",
1940
+ },
1941
+ {
1942
+ name: "minOutAmount",
1943
+ type: "u64",
1944
+ },
1945
+ ],
1946
+ },
1947
+ {
1948
+ name: "withdrawDirectlyFromStrategy",
1949
+ accounts: [
1950
+ {
1951
+ name: "vault",
1952
+ isMut: true,
1953
+ isSigner: false,
1954
+ },
1955
+ {
1956
+ name: "strategy",
1957
+ isMut: true,
1958
+ isSigner: false,
1959
+ },
1960
+ {
1961
+ name: "reserve",
1962
+ isMut: true,
1963
+ isSigner: false,
1964
+ },
1965
+ {
1966
+ name: "strategyProgram",
1967
+ isMut: false,
1968
+ isSigner: false,
1969
+ },
1970
+ {
1971
+ name: "collateralVault",
1972
+ isMut: true,
1973
+ isSigner: false,
1974
+ },
1975
+ {
1976
+ name: "tokenVault",
1977
+ isMut: true,
1978
+ isSigner: false,
1979
+ },
1980
+ {
1981
+ name: "lpMint",
1982
+ isMut: true,
1983
+ isSigner: false,
1984
+ },
1985
+ {
1986
+ name: "feeVault",
1987
+ isMut: true,
1988
+ isSigner: false,
1989
+ },
1990
+ {
1991
+ name: "userToken",
1992
+ isMut: true,
1993
+ isSigner: false,
1994
+ },
1995
+ {
1996
+ name: "userLp",
1997
+ isMut: true,
1998
+ isSigner: false,
1999
+ },
2000
+ {
2001
+ name: "user",
2002
+ isMut: false,
2003
+ isSigner: true,
2004
+ },
2005
+ {
2006
+ name: "tokenProgram",
2007
+ isMut: false,
2008
+ isSigner: false,
2009
+ },
2010
+ ],
2011
+ args: [
2012
+ {
2013
+ name: "unmintAmount",
2014
+ type: "u64",
2015
+ },
2016
+ {
2017
+ name: "minOutAmount",
2018
+ type: "u64",
2019
+ },
2020
+ ],
2021
+ },
2022
+ ],
2023
+ accounts: [
2024
+ {
2025
+ name: "vault",
2026
+ type: {
2027
+ kind: "struct",
2028
+ fields: [
2029
+ {
2030
+ name: "enabled",
2031
+ type: "u8",
2032
+ },
2033
+ {
2034
+ name: "bumps",
2035
+ type: {
2036
+ defined: "VaultBumps",
2037
+ },
2038
+ },
2039
+ {
2040
+ name: "totalAmount",
2041
+ type: "u64",
2042
+ },
2043
+ {
2044
+ name: "tokenVault",
2045
+ type: "publicKey",
2046
+ },
2047
+ {
2048
+ name: "feeVault",
2049
+ type: "publicKey",
2050
+ },
2051
+ {
2052
+ name: "tokenMint",
2053
+ type: "publicKey",
2054
+ },
2055
+ {
2056
+ name: "lpMint",
2057
+ type: "publicKey",
2058
+ },
2059
+ {
2060
+ name: "strategies",
2061
+ type: {
2062
+ array: ["publicKey", 30],
2063
+ },
2064
+ },
2065
+ {
2066
+ name: "base",
2067
+ type: "publicKey",
2068
+ },
2069
+ {
2070
+ name: "admin",
2071
+ type: "publicKey",
2072
+ },
2073
+ {
2074
+ name: "operator",
2075
+ type: "publicKey",
2076
+ },
2077
+ {
2078
+ name: "lockedProfitTracker",
2079
+ type: {
2080
+ defined: "LockedProfitTracker",
2081
+ },
2082
+ },
2083
+ ],
2084
+ },
2085
+ },
2086
+ {
2087
+ name: "strategy",
2088
+ type: {
2089
+ kind: "struct",
2090
+ fields: [
2091
+ {
2092
+ name: "reserve",
2093
+ type: "publicKey",
2094
+ },
2095
+ {
2096
+ name: "collateralVault",
2097
+ type: "publicKey",
2098
+ },
2099
+ {
2100
+ name: "strategyType",
2101
+ type: {
2102
+ defined: "StrategyType",
2103
+ },
2104
+ },
2105
+ {
2106
+ name: "currentLiquidity",
2107
+ type: "u64",
2108
+ },
2109
+ {
2110
+ name: "bumps",
2111
+ type: {
2112
+ array: ["u8", 10],
2113
+ },
2114
+ },
2115
+ {
2116
+ name: "vault",
2117
+ type: "publicKey",
2118
+ },
2119
+ {
2120
+ name: "isDisable",
2121
+ type: "u8",
2122
+ },
2123
+ ],
2124
+ },
2125
+ },
2126
+ ],
2127
+ types: [
2128
+ {
2129
+ name: "VaultBumps",
2130
+ type: {
2131
+ kind: "struct",
2132
+ fields: [
2133
+ {
2134
+ name: "vaultBump",
2135
+ type: "u8",
2136
+ },
2137
+ {
2138
+ name: "tokenVaultBump",
2139
+ type: "u8",
2140
+ },
2141
+ ],
2142
+ },
2143
+ },
2144
+ {
2145
+ name: "StrategyBumps",
2146
+ type: {
2147
+ kind: "struct",
2148
+ fields: [
2149
+ {
2150
+ name: "strategyIndex",
2151
+ type: "u8",
2152
+ },
2153
+ {
2154
+ name: "otherBumps",
2155
+ type: {
2156
+ array: ["u8", 10],
2157
+ },
2158
+ },
2159
+ ],
2160
+ },
2161
+ },
2162
+ {
2163
+ name: "LockedProfitTracker",
2164
+ type: {
2165
+ kind: "struct",
2166
+ fields: [
2167
+ {
2168
+ name: "lastUpdatedLockedProfit",
2169
+ type: "u64",
2170
+ },
2171
+ {
2172
+ name: "lastReport",
2173
+ type: "u64",
2174
+ },
2175
+ {
2176
+ name: "lockedProfitDegradation",
2177
+ type: "u64",
2178
+ },
2179
+ ],
2180
+ },
2181
+ },
2182
+ {
2183
+ name: "StrategyType",
2184
+ type: {
2185
+ kind: "enum",
2186
+ variants: [
2187
+ {
2188
+ name: "PortFinanceWithoutLM",
2189
+ },
2190
+ {
2191
+ name: "PortFinanceWithLM",
2192
+ },
2193
+ {
2194
+ name: "SolendWithoutLM",
2195
+ },
2196
+ {
2197
+ name: "Mango",
2198
+ },
2199
+ {
2200
+ name: "SolendWithLM",
2201
+ },
2202
+ {
2203
+ name: "ApricotWithoutLM",
2204
+ },
2205
+ {
2206
+ name: "Francium",
2207
+ },
2208
+ {
2209
+ name: "Tulip",
2210
+ },
2211
+ {
2212
+ name: "Vault",
2213
+ },
2214
+ {
2215
+ name: "Drift",
2216
+ },
2217
+ {
2218
+ name: "Frakt",
2219
+ },
2220
+ {
2221
+ name: "Marginfi",
2222
+ },
2223
+ ],
2224
+ },
2225
+ },
2226
+ ],
2227
+ events: [
2228
+ {
2229
+ name: "AddLiquidity",
2230
+ fields: [
2231
+ {
2232
+ name: "lpMintAmount",
2233
+ type: "u64",
2234
+ index: false,
2235
+ },
2236
+ {
2237
+ name: "tokenAmount",
2238
+ type: "u64",
2239
+ index: false,
2240
+ },
2241
+ ],
2242
+ },
2243
+ {
2244
+ name: "RemoveLiquidity",
2245
+ fields: [
2246
+ {
2247
+ name: "lpUnmintAmount",
2248
+ type: "u64",
2249
+ index: false,
2250
+ },
2251
+ {
2252
+ name: "tokenAmount",
2253
+ type: "u64",
2254
+ index: false,
2255
+ },
2256
+ ],
2257
+ },
2258
+ {
2259
+ name: "StrategyDeposit",
2260
+ fields: [
2261
+ {
2262
+ name: "strategyType",
2263
+ type: {
2264
+ defined: "StrategyType",
2265
+ },
2266
+ index: false,
2267
+ },
2268
+ {
2269
+ name: "tokenAmount",
2270
+ type: "u64",
2271
+ index: false,
2272
+ },
2273
+ ],
2274
+ },
2275
+ {
2276
+ name: "StrategyWithdraw",
2277
+ fields: [
2278
+ {
2279
+ name: "strategyType",
2280
+ type: {
2281
+ defined: "StrategyType",
2282
+ },
2283
+ index: false,
2284
+ },
2285
+ {
2286
+ name: "collateralAmount",
2287
+ type: "u64",
2288
+ index: false,
2289
+ },
2290
+ {
2291
+ name: "estimatedTokenAmount",
2292
+ type: "u64",
2293
+ index: false,
2294
+ },
2295
+ ],
2296
+ },
2297
+ {
2298
+ name: "ClaimReward",
2299
+ fields: [
2300
+ {
2301
+ name: "strategyType",
2302
+ type: {
2303
+ defined: "StrategyType",
2304
+ },
2305
+ index: false,
2306
+ },
2307
+ {
2308
+ name: "tokenAmount",
2309
+ type: "u64",
2310
+ index: false,
2311
+ },
2312
+ {
2313
+ name: "mintAccount",
2314
+ type: "publicKey",
2315
+ index: false,
2316
+ },
2317
+ ],
2318
+ },
2319
+ {
2320
+ name: "PerformanceFee",
2321
+ fields: [
2322
+ {
2323
+ name: "lpMintMore",
2324
+ type: "u64",
2325
+ index: false,
2326
+ },
2327
+ ],
2328
+ },
2329
+ {
2330
+ name: "ReportLoss",
2331
+ fields: [
2332
+ {
2333
+ name: "strategy",
2334
+ type: "publicKey",
2335
+ index: false,
2336
+ },
2337
+ {
2338
+ name: "loss",
2339
+ type: "u64",
2340
+ index: false,
2341
+ },
2342
+ ],
2343
+ },
2344
+ {
2345
+ name: "TotalAmount",
2346
+ fields: [
2347
+ {
2348
+ name: "totalAmount",
2349
+ type: "u64",
2350
+ index: false,
2351
+ },
2352
+ ],
2353
+ },
2354
+ ],
2355
+ errors: [
2356
+ {
2357
+ code: 6000,
2358
+ name: "VaultIsDisabled",
2359
+ msg: "Vault is disabled",
2360
+ },
2361
+ {
2362
+ code: 6001,
2363
+ name: "ExceededSlippage",
2364
+ msg: "Exceeded slippage tolerance",
2365
+ },
2366
+ {
2367
+ code: 6002,
2368
+ name: "StrategyIsNotExisted",
2369
+ msg: "Strategy is not existed",
2370
+ },
2371
+ {
2372
+ code: 6003,
2373
+ name: "UnAuthorized",
2374
+ msg: "UnAuthorized",
2375
+ },
2376
+ {
2377
+ code: 6004,
2378
+ name: "MathOverflow",
2379
+ msg: "Math operation overflow",
2380
+ },
2381
+ {
2382
+ code: 6005,
2383
+ name: "ProtocolIsNotSupported",
2384
+ msg: "Protocol is not supported",
2385
+ },
2386
+ {
2387
+ code: 6006,
2388
+ name: "UnMatchReserve",
2389
+ msg: "Reserve does not support token mint",
2390
+ },
2391
+ {
2392
+ code: 6007,
2393
+ name: "InvalidLockedProfitDegradation",
2394
+ msg: "lockedProfitDegradation is invalid",
2395
+ },
2396
+ {
2397
+ code: 6008,
2398
+ name: "MaxStrategyReached",
2399
+ msg: "Maximum number of strategies have been reached",
2400
+ },
2401
+ {
2402
+ code: 6009,
2403
+ name: "StrategyExisted",
2404
+ msg: "Strategy existed",
2405
+ },
2406
+ {
2407
+ code: 6010,
2408
+ name: "InvalidUnmintAmount",
2409
+ msg: "Invalid unmint amount",
2410
+ },
2411
+ {
2412
+ code: 6011,
2413
+ name: "InvalidAccountsForStrategy",
2414
+ msg: "Invalid accounts for strategy",
2415
+ },
2416
+ {
2417
+ code: 6012,
2418
+ name: "InvalidBump",
2419
+ msg: "Invalid bump",
2420
+ },
2421
+ {
2422
+ code: 6013,
2423
+ name: "AmountMustGreaterThanZero",
2424
+ msg: "Amount must be greater than 0",
2425
+ },
2426
+ {
2427
+ code: 6014,
2428
+ name: "MangoIsNotSupportedAnymore",
2429
+ msg: "Mango is not supported anymore",
2430
+ },
2431
+ {
2432
+ code: 6015,
2433
+ name: "StrategyIsNotSupported",
2434
+ msg: "Strategy is not supported",
2435
+ },
2436
+ {
2437
+ code: 6016,
2438
+ name: "PayAmountIsExeeced",
2439
+ msg: "Pay amount is exceeded",
2440
+ },
2441
+ {
2442
+ code: 6017,
2443
+ name: "FeeVaultIsNotSet",
2444
+ msg: "Fee vault is not set",
2445
+ },
2446
+ {
2447
+ code: 6018,
2448
+ name: "LendingAssertionViolation",
2449
+ msg: "deposit amount in lending is not matched",
2450
+ },
2451
+ {
2452
+ code: 6019,
2453
+ name: "HaveMoneyInLending",
2454
+ msg: "Cannot remove strategy becase we have some in lending",
2455
+ },
2456
+ ],
2457
+ }