@jup-ag/lend 0.0.6 → 0.0.8

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,4427 @@
1
+ import { PublicKey } from '@solana/web3.js';
2
+ import { l as liquidity } from './lend.D5fnz2Fg.mjs';
3
+ import { getAssociatedTokenAddressSync } from '@solana/spl-token';
4
+
5
+ const address = "Ho32sUQ4NzuAQgkPkHuNDG3G18rgHmYtXFA8EBmqQrAu";
6
+ const metadata = {
7
+ name: "vaults",
8
+ version: "0.1.0",
9
+ spec: "0.1.0",
10
+ description: "Created with Anchor"
11
+ };
12
+ const instructions = [
13
+ {
14
+ name: "init_branch",
15
+ discriminator: [
16
+ 162,
17
+ 91,
18
+ 57,
19
+ 23,
20
+ 228,
21
+ 93,
22
+ 111,
23
+ 21
24
+ ],
25
+ accounts: [
26
+ {
27
+ name: "signer",
28
+ writable: true,
29
+ signer: true
30
+ },
31
+ {
32
+ name: "vault_config",
33
+ docs: [
34
+ "@dev Verification inside instruction logic"
35
+ ]
36
+ },
37
+ {
38
+ name: "branch",
39
+ writable: true,
40
+ pda: {
41
+ seeds: [
42
+ {
43
+ kind: "const",
44
+ value: [
45
+ 98,
46
+ 114,
47
+ 97,
48
+ 110,
49
+ 99,
50
+ 104
51
+ ]
52
+ },
53
+ {
54
+ kind: "arg",
55
+ path: "vault_id"
56
+ },
57
+ {
58
+ kind: "arg",
59
+ path: "branch_id"
60
+ }
61
+ ]
62
+ }
63
+ },
64
+ {
65
+ name: "system_program",
66
+ address: "11111111111111111111111111111111"
67
+ }
68
+ ],
69
+ args: [
70
+ {
71
+ name: "vault_id",
72
+ type: "u16"
73
+ },
74
+ {
75
+ name: "branch_id",
76
+ type: "u32"
77
+ }
78
+ ]
79
+ },
80
+ {
81
+ name: "init_position",
82
+ discriminator: [
83
+ 197,
84
+ 20,
85
+ 10,
86
+ 1,
87
+ 97,
88
+ 160,
89
+ 177,
90
+ 91
91
+ ],
92
+ accounts: [
93
+ {
94
+ name: "signer",
95
+ writable: true,
96
+ signer: true
97
+ },
98
+ {
99
+ name: "vault_admin",
100
+ docs: [
101
+ "@dev mut as this is mint authority for NFT"
102
+ ],
103
+ writable: true
104
+ },
105
+ {
106
+ name: "vault_state",
107
+ docs: [
108
+ "@dev Verification inside instruction logic"
109
+ ],
110
+ writable: true
111
+ },
112
+ {
113
+ name: "position",
114
+ writable: true,
115
+ pda: {
116
+ seeds: [
117
+ {
118
+ kind: "const",
119
+ value: [
120
+ 112,
121
+ 111,
122
+ 115,
123
+ 105,
124
+ 116,
125
+ 105,
126
+ 111,
127
+ 110
128
+ ]
129
+ },
130
+ {
131
+ kind: "arg",
132
+ path: "vault_id"
133
+ },
134
+ {
135
+ kind: "arg",
136
+ path: "next_position_id"
137
+ }
138
+ ]
139
+ }
140
+ },
141
+ {
142
+ name: "position_mint",
143
+ writable: true,
144
+ pda: {
145
+ seeds: [
146
+ {
147
+ kind: "const",
148
+ value: [
149
+ 112,
150
+ 111,
151
+ 115,
152
+ 105,
153
+ 116,
154
+ 105,
155
+ 111,
156
+ 110,
157
+ 95,
158
+ 109,
159
+ 105,
160
+ 110,
161
+ 116
162
+ ]
163
+ },
164
+ {
165
+ kind: "arg",
166
+ path: "vault_id"
167
+ },
168
+ {
169
+ kind: "arg",
170
+ path: "next_position_id"
171
+ }
172
+ ]
173
+ }
174
+ },
175
+ {
176
+ name: "position_token_account",
177
+ writable: true,
178
+ pda: {
179
+ seeds: [
180
+ {
181
+ kind: "account",
182
+ path: "signer"
183
+ },
184
+ {
185
+ kind: "const",
186
+ value: [
187
+ 6,
188
+ 221,
189
+ 246,
190
+ 225,
191
+ 215,
192
+ 101,
193
+ 161,
194
+ 147,
195
+ 217,
196
+ 203,
197
+ 225,
198
+ 70,
199
+ 206,
200
+ 235,
201
+ 121,
202
+ 172,
203
+ 28,
204
+ 180,
205
+ 133,
206
+ 237,
207
+ 95,
208
+ 91,
209
+ 55,
210
+ 145,
211
+ 58,
212
+ 140,
213
+ 245,
214
+ 133,
215
+ 126,
216
+ 255,
217
+ 0,
218
+ 169
219
+ ]
220
+ },
221
+ {
222
+ kind: "account",
223
+ path: "position_mint"
224
+ }
225
+ ],
226
+ program: {
227
+ kind: "const",
228
+ value: [
229
+ 140,
230
+ 151,
231
+ 37,
232
+ 143,
233
+ 78,
234
+ 36,
235
+ 137,
236
+ 241,
237
+ 187,
238
+ 61,
239
+ 16,
240
+ 41,
241
+ 20,
242
+ 142,
243
+ 13,
244
+ 131,
245
+ 11,
246
+ 90,
247
+ 19,
248
+ 153,
249
+ 218,
250
+ 255,
251
+ 16,
252
+ 132,
253
+ 4,
254
+ 142,
255
+ 123,
256
+ 216,
257
+ 219,
258
+ 233,
259
+ 248,
260
+ 89
261
+ ]
262
+ }
263
+ }
264
+ },
265
+ {
266
+ name: "token_program"
267
+ },
268
+ {
269
+ name: "associated_token_program",
270
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
271
+ },
272
+ {
273
+ name: "system_program",
274
+ address: "11111111111111111111111111111111"
275
+ }
276
+ ],
277
+ args: [
278
+ {
279
+ name: "vault_id",
280
+ type: "u16"
281
+ },
282
+ {
283
+ name: "next_position_id",
284
+ type: "u32"
285
+ }
286
+ ]
287
+ },
288
+ {
289
+ name: "init_tick",
290
+ discriminator: [
291
+ 22,
292
+ 13,
293
+ 62,
294
+ 141,
295
+ 73,
296
+ 89,
297
+ 178,
298
+ 29
299
+ ],
300
+ accounts: [
301
+ {
302
+ name: "signer",
303
+ writable: true,
304
+ signer: true
305
+ },
306
+ {
307
+ name: "vault_config",
308
+ docs: [
309
+ "@dev Verification inside instruction logic"
310
+ ]
311
+ },
312
+ {
313
+ name: "tick_data",
314
+ writable: true
315
+ },
316
+ {
317
+ name: "system_program",
318
+ address: "11111111111111111111111111111111"
319
+ }
320
+ ],
321
+ args: [
322
+ {
323
+ name: "vault_id",
324
+ type: "u16"
325
+ },
326
+ {
327
+ name: "tick",
328
+ type: "i32"
329
+ }
330
+ ]
331
+ },
332
+ {
333
+ name: "init_tick_has_debt_array",
334
+ discriminator: [
335
+ 206,
336
+ 108,
337
+ 146,
338
+ 245,
339
+ 20,
340
+ 0,
341
+ 141,
342
+ 208
343
+ ],
344
+ accounts: [
345
+ {
346
+ name: "signer",
347
+ writable: true,
348
+ signer: true
349
+ },
350
+ {
351
+ name: "vault_config",
352
+ docs: [
353
+ "@dev Verification inside instruction logic"
354
+ ]
355
+ },
356
+ {
357
+ name: "tick_has_debt_array",
358
+ writable: true,
359
+ pda: {
360
+ seeds: [
361
+ {
362
+ kind: "const",
363
+ value: [
364
+ 116,
365
+ 105,
366
+ 99,
367
+ 107,
368
+ 95,
369
+ 104,
370
+ 97,
371
+ 115,
372
+ 95,
373
+ 100,
374
+ 101,
375
+ 98,
376
+ 116
377
+ ]
378
+ },
379
+ {
380
+ kind: "arg",
381
+ path: "vault_id"
382
+ },
383
+ {
384
+ kind: "arg",
385
+ path: "index"
386
+ }
387
+ ]
388
+ }
389
+ },
390
+ {
391
+ name: "system_program",
392
+ address: "11111111111111111111111111111111"
393
+ }
394
+ ],
395
+ args: [
396
+ {
397
+ name: "vault_id",
398
+ type: "u16"
399
+ },
400
+ {
401
+ name: "index",
402
+ type: "u8"
403
+ }
404
+ ]
405
+ },
406
+ {
407
+ name: "init_tick_id_liquidation",
408
+ discriminator: [
409
+ 56,
410
+ 110,
411
+ 121,
412
+ 169,
413
+ 152,
414
+ 241,
415
+ 86,
416
+ 183
417
+ ],
418
+ accounts: [
419
+ {
420
+ name: "signer",
421
+ writable: true,
422
+ signer: true
423
+ },
424
+ {
425
+ name: "tick_data",
426
+ docs: [
427
+ "@dev Verification inside instruction logic"
428
+ ]
429
+ },
430
+ {
431
+ name: "tick_id_liquidation",
432
+ writable: true
433
+ },
434
+ {
435
+ name: "system_program",
436
+ address: "11111111111111111111111111111111"
437
+ }
438
+ ],
439
+ args: [
440
+ {
441
+ name: "vault_id",
442
+ type: "u16"
443
+ },
444
+ {
445
+ name: "tick",
446
+ type: "i32"
447
+ },
448
+ {
449
+ name: "total_ids",
450
+ type: "u32"
451
+ }
452
+ ]
453
+ },
454
+ {
455
+ name: "init_vault_admin",
456
+ discriminator: [
457
+ 22,
458
+ 133,
459
+ 2,
460
+ 244,
461
+ 123,
462
+ 100,
463
+ 249,
464
+ 230
465
+ ],
466
+ accounts: [
467
+ {
468
+ name: "signer",
469
+ writable: true,
470
+ signer: true
471
+ },
472
+ {
473
+ name: "vault_admin",
474
+ writable: true,
475
+ pda: {
476
+ seeds: [
477
+ {
478
+ kind: "const",
479
+ value: [
480
+ 118,
481
+ 97,
482
+ 117,
483
+ 108,
484
+ 116,
485
+ 95,
486
+ 97,
487
+ 100,
488
+ 109,
489
+ 105,
490
+ 110
491
+ ]
492
+ }
493
+ ]
494
+ }
495
+ },
496
+ {
497
+ name: "system_program",
498
+ address: "11111111111111111111111111111111"
499
+ }
500
+ ],
501
+ args: [
502
+ {
503
+ name: "liquidity",
504
+ type: "pubkey"
505
+ },
506
+ {
507
+ name: "authority",
508
+ type: "pubkey"
509
+ }
510
+ ]
511
+ },
512
+ {
513
+ name: "init_vault_config",
514
+ discriminator: [
515
+ 41,
516
+ 194,
517
+ 69,
518
+ 254,
519
+ 196,
520
+ 246,
521
+ 226,
522
+ 195
523
+ ],
524
+ accounts: [
525
+ {
526
+ name: "authority",
527
+ writable: true,
528
+ signer: true
529
+ },
530
+ {
531
+ name: "vault_admin",
532
+ writable: true
533
+ },
534
+ {
535
+ name: "vault_config",
536
+ writable: true,
537
+ pda: {
538
+ seeds: [
539
+ {
540
+ kind: "const",
541
+ value: [
542
+ 118,
543
+ 97,
544
+ 117,
545
+ 108,
546
+ 116,
547
+ 95,
548
+ 99,
549
+ 111,
550
+ 110,
551
+ 102,
552
+ 105,
553
+ 103
554
+ ]
555
+ },
556
+ {
557
+ kind: "arg",
558
+ path: "vault_id"
559
+ }
560
+ ]
561
+ }
562
+ },
563
+ {
564
+ name: "vault_metadata",
565
+ writable: true,
566
+ pda: {
567
+ seeds: [
568
+ {
569
+ kind: "const",
570
+ value: [
571
+ 118,
572
+ 97,
573
+ 117,
574
+ 108,
575
+ 116,
576
+ 95,
577
+ 109,
578
+ 101,
579
+ 116,
580
+ 97,
581
+ 100,
582
+ 97,
583
+ 116,
584
+ 97
585
+ ]
586
+ },
587
+ {
588
+ kind: "arg",
589
+ path: "vault_id"
590
+ }
591
+ ]
592
+ }
593
+ },
594
+ {
595
+ name: "system_program",
596
+ address: "11111111111111111111111111111111"
597
+ }
598
+ ],
599
+ args: [
600
+ {
601
+ name: "vault_id",
602
+ type: "u16"
603
+ },
604
+ {
605
+ name: "params",
606
+ type: {
607
+ defined: {
608
+ name: "InitVaultConfigParams"
609
+ }
610
+ }
611
+ }
612
+ ]
613
+ },
614
+ {
615
+ name: "init_vault_state",
616
+ discriminator: [
617
+ 96,
618
+ 120,
619
+ 23,
620
+ 100,
621
+ 153,
622
+ 11,
623
+ 13,
624
+ 165
625
+ ],
626
+ accounts: [
627
+ {
628
+ name: "authority",
629
+ writable: true,
630
+ signer: true
631
+ },
632
+ {
633
+ name: "vault_admin",
634
+ writable: true
635
+ },
636
+ {
637
+ name: "vault_config",
638
+ docs: [
639
+ "@dev Verification inside instruction logic"
640
+ ]
641
+ },
642
+ {
643
+ name: "vault_state",
644
+ writable: true,
645
+ pda: {
646
+ seeds: [
647
+ {
648
+ kind: "const",
649
+ value: [
650
+ 118,
651
+ 97,
652
+ 117,
653
+ 108,
654
+ 116,
655
+ 95,
656
+ 115,
657
+ 116,
658
+ 97,
659
+ 116,
660
+ 101
661
+ ]
662
+ },
663
+ {
664
+ kind: "arg",
665
+ path: "vault_id"
666
+ }
667
+ ]
668
+ }
669
+ },
670
+ {
671
+ name: "supply_token_reserves_liquidity",
672
+ docs: [
673
+ "@dev Verification inside instruction logic"
674
+ ]
675
+ },
676
+ {
677
+ name: "borrow_token_reserves_liquidity",
678
+ docs: [
679
+ "@dev Verification inside instruction logic"
680
+ ]
681
+ },
682
+ {
683
+ name: "system_program",
684
+ address: "11111111111111111111111111111111"
685
+ }
686
+ ],
687
+ args: [
688
+ {
689
+ name: "vault_id",
690
+ type: "u16"
691
+ }
692
+ ]
693
+ },
694
+ {
695
+ name: "liquidate",
696
+ discriminator: [
697
+ 223,
698
+ 179,
699
+ 226,
700
+ 125,
701
+ 48,
702
+ 46,
703
+ 39,
704
+ 74
705
+ ],
706
+ accounts: [
707
+ {
708
+ name: "signer",
709
+ writable: true,
710
+ signer: true
711
+ },
712
+ {
713
+ name: "signer_token_account",
714
+ writable: true,
715
+ pda: {
716
+ seeds: [
717
+ {
718
+ kind: "account",
719
+ path: "signer"
720
+ },
721
+ {
722
+ kind: "account",
723
+ path: "borrow_token_program"
724
+ },
725
+ {
726
+ kind: "account",
727
+ path: "borrow_token"
728
+ }
729
+ ],
730
+ program: {
731
+ kind: "const",
732
+ value: [
733
+ 140,
734
+ 151,
735
+ 37,
736
+ 143,
737
+ 78,
738
+ 36,
739
+ 137,
740
+ 241,
741
+ 187,
742
+ 61,
743
+ 16,
744
+ 41,
745
+ 20,
746
+ 142,
747
+ 13,
748
+ 131,
749
+ 11,
750
+ 90,
751
+ 19,
752
+ 153,
753
+ 218,
754
+ 255,
755
+ 16,
756
+ 132,
757
+ 4,
758
+ 142,
759
+ 123,
760
+ 216,
761
+ 219,
762
+ 233,
763
+ 248,
764
+ 89
765
+ ]
766
+ }
767
+ }
768
+ },
769
+ {
770
+ name: "to"
771
+ },
772
+ {
773
+ name: "to_token_account",
774
+ writable: true,
775
+ pda: {
776
+ seeds: [
777
+ {
778
+ kind: "account",
779
+ path: "to"
780
+ },
781
+ {
782
+ kind: "account",
783
+ path: "supply_token_program"
784
+ },
785
+ {
786
+ kind: "account",
787
+ path: "supply_token"
788
+ }
789
+ ],
790
+ program: {
791
+ kind: "const",
792
+ value: [
793
+ 140,
794
+ 151,
795
+ 37,
796
+ 143,
797
+ 78,
798
+ 36,
799
+ 137,
800
+ 241,
801
+ 187,
802
+ 61,
803
+ 16,
804
+ 41,
805
+ 20,
806
+ 142,
807
+ 13,
808
+ 131,
809
+ 11,
810
+ 90,
811
+ 19,
812
+ 153,
813
+ 218,
814
+ 255,
815
+ 16,
816
+ 132,
817
+ 4,
818
+ 142,
819
+ 123,
820
+ 216,
821
+ 219,
822
+ 233,
823
+ 248,
824
+ 89
825
+ ]
826
+ }
827
+ }
828
+ },
829
+ {
830
+ name: "vault_admin"
831
+ },
832
+ {
833
+ name: "vault_config",
834
+ docs: [
835
+ "@dev mut because this PDA signs the CPI to liquidity program",
836
+ "@dev verification inside instruction logic"
837
+ ],
838
+ writable: true
839
+ },
840
+ {
841
+ name: "vault_state",
842
+ writable: true
843
+ },
844
+ {
845
+ name: "supply_token",
846
+ writable: true
847
+ },
848
+ {
849
+ name: "borrow_token",
850
+ writable: true
851
+ },
852
+ {
853
+ name: "oracle"
854
+ },
855
+ {
856
+ name: "top_tick",
857
+ writable: true
858
+ },
859
+ {
860
+ name: "new_branch",
861
+ writable: true
862
+ },
863
+ {
864
+ name: "supply_token_reserves_liquidity",
865
+ writable: true
866
+ },
867
+ {
868
+ name: "borrow_token_reserves_liquidity",
869
+ writable: true
870
+ },
871
+ {
872
+ name: "vault_supply_position_on_liquidity",
873
+ writable: true
874
+ },
875
+ {
876
+ name: "vault_borrow_position_on_liquidity",
877
+ writable: true
878
+ },
879
+ {
880
+ name: "supply_rate_model",
881
+ writable: true
882
+ },
883
+ {
884
+ name: "borrow_rate_model",
885
+ writable: true
886
+ },
887
+ {
888
+ name: "supply_token_claim_account",
889
+ writable: true
890
+ },
891
+ {
892
+ name: "liquidity",
893
+ writable: true
894
+ },
895
+ {
896
+ name: "liquidity_program",
897
+ writable: true
898
+ },
899
+ {
900
+ name: "vault_supply_token_account",
901
+ writable: true
902
+ },
903
+ {
904
+ name: "vault_borrow_token_account",
905
+ writable: true
906
+ },
907
+ {
908
+ name: "supply_token_program"
909
+ },
910
+ {
911
+ name: "borrow_token_program"
912
+ },
913
+ {
914
+ name: "system_program",
915
+ address: "11111111111111111111111111111111"
916
+ },
917
+ {
918
+ name: "associated_token_program",
919
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
920
+ },
921
+ {
922
+ name: "oracle_program"
923
+ }
924
+ ],
925
+ args: [
926
+ {
927
+ name: "debt_amt",
928
+ type: "u64"
929
+ },
930
+ {
931
+ name: "col_per_unit_debt",
932
+ type: "u64"
933
+ },
934
+ {
935
+ name: "absorb",
936
+ type: "bool"
937
+ },
938
+ {
939
+ name: "remaining_accounts_indices",
940
+ type: "bytes"
941
+ }
942
+ ]
943
+ },
944
+ {
945
+ name: "operate",
946
+ discriminator: [
947
+ 217,
948
+ 106,
949
+ 208,
950
+ 99,
951
+ 116,
952
+ 151,
953
+ 42,
954
+ 135
955
+ ],
956
+ accounts: [
957
+ {
958
+ name: "signer",
959
+ writable: true,
960
+ signer: true
961
+ },
962
+ {
963
+ name: "signer_supply_token_account",
964
+ writable: true,
965
+ pda: {
966
+ seeds: [
967
+ {
968
+ kind: "account",
969
+ path: "signer"
970
+ },
971
+ {
972
+ kind: "account",
973
+ path: "supply_token_program"
974
+ },
975
+ {
976
+ kind: "account",
977
+ path: "supply_token"
978
+ }
979
+ ],
980
+ program: {
981
+ kind: "const",
982
+ value: [
983
+ 140,
984
+ 151,
985
+ 37,
986
+ 143,
987
+ 78,
988
+ 36,
989
+ 137,
990
+ 241,
991
+ 187,
992
+ 61,
993
+ 16,
994
+ 41,
995
+ 20,
996
+ 142,
997
+ 13,
998
+ 131,
999
+ 11,
1000
+ 90,
1001
+ 19,
1002
+ 153,
1003
+ 218,
1004
+ 255,
1005
+ 16,
1006
+ 132,
1007
+ 4,
1008
+ 142,
1009
+ 123,
1010
+ 216,
1011
+ 219,
1012
+ 233,
1013
+ 248,
1014
+ 89
1015
+ ]
1016
+ }
1017
+ }
1018
+ },
1019
+ {
1020
+ name: "signer_borrow_token_account",
1021
+ writable: true,
1022
+ pda: {
1023
+ seeds: [
1024
+ {
1025
+ kind: "account",
1026
+ path: "signer"
1027
+ },
1028
+ {
1029
+ kind: "account",
1030
+ path: "borrow_token_program"
1031
+ },
1032
+ {
1033
+ kind: "account",
1034
+ path: "borrow_token"
1035
+ }
1036
+ ],
1037
+ program: {
1038
+ kind: "const",
1039
+ value: [
1040
+ 140,
1041
+ 151,
1042
+ 37,
1043
+ 143,
1044
+ 78,
1045
+ 36,
1046
+ 137,
1047
+ 241,
1048
+ 187,
1049
+ 61,
1050
+ 16,
1051
+ 41,
1052
+ 20,
1053
+ 142,
1054
+ 13,
1055
+ 131,
1056
+ 11,
1057
+ 90,
1058
+ 19,
1059
+ 153,
1060
+ 218,
1061
+ 255,
1062
+ 16,
1063
+ 132,
1064
+ 4,
1065
+ 142,
1066
+ 123,
1067
+ 216,
1068
+ 219,
1069
+ 233,
1070
+ 248,
1071
+ 89
1072
+ ]
1073
+ }
1074
+ }
1075
+ },
1076
+ {
1077
+ name: "recipient"
1078
+ },
1079
+ {
1080
+ name: "recipient_borrow_token_account",
1081
+ writable: true,
1082
+ pda: {
1083
+ seeds: [
1084
+ {
1085
+ kind: "account",
1086
+ path: "recipient"
1087
+ },
1088
+ {
1089
+ kind: "account",
1090
+ path: "borrow_token_program"
1091
+ },
1092
+ {
1093
+ kind: "account",
1094
+ path: "borrow_token"
1095
+ }
1096
+ ],
1097
+ program: {
1098
+ kind: "const",
1099
+ value: [
1100
+ 140,
1101
+ 151,
1102
+ 37,
1103
+ 143,
1104
+ 78,
1105
+ 36,
1106
+ 137,
1107
+ 241,
1108
+ 187,
1109
+ 61,
1110
+ 16,
1111
+ 41,
1112
+ 20,
1113
+ 142,
1114
+ 13,
1115
+ 131,
1116
+ 11,
1117
+ 90,
1118
+ 19,
1119
+ 153,
1120
+ 218,
1121
+ 255,
1122
+ 16,
1123
+ 132,
1124
+ 4,
1125
+ 142,
1126
+ 123,
1127
+ 216,
1128
+ 219,
1129
+ 233,
1130
+ 248,
1131
+ 89
1132
+ ]
1133
+ }
1134
+ }
1135
+ },
1136
+ {
1137
+ name: "recipient_supply_token_account",
1138
+ writable: true,
1139
+ pda: {
1140
+ seeds: [
1141
+ {
1142
+ kind: "account",
1143
+ path: "recipient"
1144
+ },
1145
+ {
1146
+ kind: "account",
1147
+ path: "supply_token_program"
1148
+ },
1149
+ {
1150
+ kind: "account",
1151
+ path: "supply_token"
1152
+ }
1153
+ ],
1154
+ program: {
1155
+ kind: "const",
1156
+ value: [
1157
+ 140,
1158
+ 151,
1159
+ 37,
1160
+ 143,
1161
+ 78,
1162
+ 36,
1163
+ 137,
1164
+ 241,
1165
+ 187,
1166
+ 61,
1167
+ 16,
1168
+ 41,
1169
+ 20,
1170
+ 142,
1171
+ 13,
1172
+ 131,
1173
+ 11,
1174
+ 90,
1175
+ 19,
1176
+ 153,
1177
+ 218,
1178
+ 255,
1179
+ 16,
1180
+ 132,
1181
+ 4,
1182
+ 142,
1183
+ 123,
1184
+ 216,
1185
+ 219,
1186
+ 233,
1187
+ 248,
1188
+ 89
1189
+ ]
1190
+ }
1191
+ }
1192
+ },
1193
+ {
1194
+ name: "vault_config",
1195
+ docs: [
1196
+ "@dev mut because this PDA signs the CPI to liquidity program",
1197
+ "@dev verification inside instruction logic"
1198
+ ],
1199
+ writable: true
1200
+ },
1201
+ {
1202
+ name: "vault_state",
1203
+ docs: [
1204
+ "@dev verification inside instruction logic"
1205
+ ],
1206
+ writable: true
1207
+ },
1208
+ {
1209
+ name: "supply_token"
1210
+ },
1211
+ {
1212
+ name: "borrow_token"
1213
+ },
1214
+ {
1215
+ name: "oracle"
1216
+ },
1217
+ {
1218
+ name: "position",
1219
+ writable: true
1220
+ },
1221
+ {
1222
+ name: "position_token_account",
1223
+ docs: [
1224
+ "@dev verification inside instruction logic"
1225
+ ]
1226
+ },
1227
+ {
1228
+ name: "current_position_tick",
1229
+ writable: true
1230
+ },
1231
+ {
1232
+ name: "final_position_tick",
1233
+ writable: true
1234
+ },
1235
+ {
1236
+ name: "current_position_tick_id",
1237
+ writable: true
1238
+ },
1239
+ {
1240
+ name: "final_position_tick_id",
1241
+ writable: true
1242
+ },
1243
+ {
1244
+ name: "new_branch",
1245
+ writable: true
1246
+ },
1247
+ {
1248
+ name: "supply_token_reserves_liquidity",
1249
+ writable: true
1250
+ },
1251
+ {
1252
+ name: "borrow_token_reserves_liquidity",
1253
+ writable: true
1254
+ },
1255
+ {
1256
+ name: "vault_supply_position_on_liquidity",
1257
+ writable: true
1258
+ },
1259
+ {
1260
+ name: "vault_borrow_position_on_liquidity",
1261
+ writable: true
1262
+ },
1263
+ {
1264
+ name: "supply_rate_model",
1265
+ writable: true
1266
+ },
1267
+ {
1268
+ name: "borrow_rate_model",
1269
+ writable: true
1270
+ },
1271
+ {
1272
+ name: "vault_supply_token_account",
1273
+ writable: true
1274
+ },
1275
+ {
1276
+ name: "vault_borrow_token_account",
1277
+ writable: true
1278
+ },
1279
+ {
1280
+ name: "supply_token_claim_account",
1281
+ writable: true
1282
+ },
1283
+ {
1284
+ name: "borrow_token_claim_account",
1285
+ writable: true
1286
+ },
1287
+ {
1288
+ name: "liquidity",
1289
+ writable: true
1290
+ },
1291
+ {
1292
+ name: "liquidity_program",
1293
+ writable: true
1294
+ },
1295
+ {
1296
+ name: "oracle_program"
1297
+ },
1298
+ {
1299
+ name: "supply_token_program"
1300
+ },
1301
+ {
1302
+ name: "borrow_token_program"
1303
+ },
1304
+ {
1305
+ name: "associated_token_program",
1306
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
1307
+ },
1308
+ {
1309
+ name: "system_program",
1310
+ address: "11111111111111111111111111111111"
1311
+ }
1312
+ ],
1313
+ args: [
1314
+ {
1315
+ name: "new_col",
1316
+ type: "i128"
1317
+ },
1318
+ {
1319
+ name: "new_debt",
1320
+ type: "i128"
1321
+ },
1322
+ {
1323
+ name: "remaining_accounts_indices",
1324
+ type: "bytes"
1325
+ }
1326
+ ]
1327
+ },
1328
+ {
1329
+ name: "rebalance",
1330
+ discriminator: [
1331
+ 108,
1332
+ 158,
1333
+ 77,
1334
+ 9,
1335
+ 210,
1336
+ 52,
1337
+ 88,
1338
+ 62
1339
+ ],
1340
+ accounts: [
1341
+ {
1342
+ name: "rebalancer",
1343
+ writable: true,
1344
+ signer: true,
1345
+ relations: [
1346
+ "vault_config"
1347
+ ]
1348
+ },
1349
+ {
1350
+ name: "rebalancer_supply_token_account",
1351
+ writable: true,
1352
+ pda: {
1353
+ seeds: [
1354
+ {
1355
+ kind: "account",
1356
+ path: "rebalancer"
1357
+ },
1358
+ {
1359
+ kind: "account",
1360
+ path: "supply_token_program"
1361
+ },
1362
+ {
1363
+ kind: "account",
1364
+ path: "supply_token"
1365
+ }
1366
+ ],
1367
+ program: {
1368
+ kind: "const",
1369
+ value: [
1370
+ 140,
1371
+ 151,
1372
+ 37,
1373
+ 143,
1374
+ 78,
1375
+ 36,
1376
+ 137,
1377
+ 241,
1378
+ 187,
1379
+ 61,
1380
+ 16,
1381
+ 41,
1382
+ 20,
1383
+ 142,
1384
+ 13,
1385
+ 131,
1386
+ 11,
1387
+ 90,
1388
+ 19,
1389
+ 153,
1390
+ 218,
1391
+ 255,
1392
+ 16,
1393
+ 132,
1394
+ 4,
1395
+ 142,
1396
+ 123,
1397
+ 216,
1398
+ 219,
1399
+ 233,
1400
+ 248,
1401
+ 89
1402
+ ]
1403
+ }
1404
+ }
1405
+ },
1406
+ {
1407
+ name: "rebalancer_borrow_token_account",
1408
+ writable: true,
1409
+ pda: {
1410
+ seeds: [
1411
+ {
1412
+ kind: "account",
1413
+ path: "rebalancer"
1414
+ },
1415
+ {
1416
+ kind: "account",
1417
+ path: "borrow_token_program"
1418
+ },
1419
+ {
1420
+ kind: "account",
1421
+ path: "borrow_token"
1422
+ }
1423
+ ],
1424
+ program: {
1425
+ kind: "const",
1426
+ value: [
1427
+ 140,
1428
+ 151,
1429
+ 37,
1430
+ 143,
1431
+ 78,
1432
+ 36,
1433
+ 137,
1434
+ 241,
1435
+ 187,
1436
+ 61,
1437
+ 16,
1438
+ 41,
1439
+ 20,
1440
+ 142,
1441
+ 13,
1442
+ 131,
1443
+ 11,
1444
+ 90,
1445
+ 19,
1446
+ 153,
1447
+ 218,
1448
+ 255,
1449
+ 16,
1450
+ 132,
1451
+ 4,
1452
+ 142,
1453
+ 123,
1454
+ 216,
1455
+ 219,
1456
+ 233,
1457
+ 248,
1458
+ 89
1459
+ ]
1460
+ }
1461
+ }
1462
+ },
1463
+ {
1464
+ name: "vault_config",
1465
+ docs: [
1466
+ "@dev mut because this PDA signs the CPI to liquidity program",
1467
+ "@dev verification inside instruction logic"
1468
+ ],
1469
+ writable: true
1470
+ },
1471
+ {
1472
+ name: "vault_state",
1473
+ docs: [
1474
+ "@dev verification inside instruction logic"
1475
+ ],
1476
+ writable: true
1477
+ },
1478
+ {
1479
+ name: "supply_token",
1480
+ relations: [
1481
+ "vault_config"
1482
+ ]
1483
+ },
1484
+ {
1485
+ name: "borrow_token",
1486
+ relations: [
1487
+ "vault_config"
1488
+ ]
1489
+ },
1490
+ {
1491
+ name: "supply_token_reserves_liquidity",
1492
+ writable: true
1493
+ },
1494
+ {
1495
+ name: "borrow_token_reserves_liquidity",
1496
+ writable: true
1497
+ },
1498
+ {
1499
+ name: "vault_supply_position_on_liquidity",
1500
+ writable: true
1501
+ },
1502
+ {
1503
+ name: "vault_borrow_position_on_liquidity",
1504
+ writable: true
1505
+ },
1506
+ {
1507
+ name: "supply_rate_model",
1508
+ writable: true
1509
+ },
1510
+ {
1511
+ name: "borrow_rate_model",
1512
+ writable: true
1513
+ },
1514
+ {
1515
+ name: "liquidity",
1516
+ writable: true
1517
+ },
1518
+ {
1519
+ name: "liquidity_program",
1520
+ writable: true
1521
+ },
1522
+ {
1523
+ name: "vault_supply_token_account",
1524
+ writable: true
1525
+ },
1526
+ {
1527
+ name: "vault_borrow_token_account",
1528
+ writable: true
1529
+ },
1530
+ {
1531
+ name: "system_program",
1532
+ address: "11111111111111111111111111111111"
1533
+ },
1534
+ {
1535
+ name: "supply_token_program"
1536
+ },
1537
+ {
1538
+ name: "borrow_token_program"
1539
+ },
1540
+ {
1541
+ name: "associated_token_program",
1542
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
1543
+ }
1544
+ ],
1545
+ args: [
1546
+ ]
1547
+ },
1548
+ {
1549
+ name: "update_borrow_fee",
1550
+ discriminator: [
1551
+ 251,
1552
+ 124,
1553
+ 35,
1554
+ 148,
1555
+ 202,
1556
+ 167,
1557
+ 157,
1558
+ 65
1559
+ ],
1560
+ accounts: [
1561
+ {
1562
+ name: "authority",
1563
+ signer: true
1564
+ },
1565
+ {
1566
+ name: "vault_admin"
1567
+ },
1568
+ {
1569
+ name: "vault_state",
1570
+ docs: [
1571
+ "@dev Verification inside instruction logic"
1572
+ ],
1573
+ writable: true
1574
+ },
1575
+ {
1576
+ name: "vault_config",
1577
+ docs: [
1578
+ "@dev Verification inside instruction logic"
1579
+ ],
1580
+ writable: true
1581
+ },
1582
+ {
1583
+ name: "supply_token_reserves_liquidity",
1584
+ docs: [
1585
+ "@dev Verification inside instruction logic"
1586
+ ]
1587
+ },
1588
+ {
1589
+ name: "borrow_token_reserves_liquidity",
1590
+ docs: [
1591
+ "@dev Verification inside instruction logic"
1592
+ ]
1593
+ }
1594
+ ],
1595
+ args: [
1596
+ {
1597
+ name: "vault_id",
1598
+ type: "u16"
1599
+ },
1600
+ {
1601
+ name: "borrow_fee",
1602
+ type: "u16"
1603
+ }
1604
+ ]
1605
+ },
1606
+ {
1607
+ name: "update_borrow_rate_magnifier",
1608
+ discriminator: [
1609
+ 75,
1610
+ 250,
1611
+ 27,
1612
+ 176,
1613
+ 156,
1614
+ 53,
1615
+ 26,
1616
+ 112
1617
+ ],
1618
+ accounts: [
1619
+ {
1620
+ name: "authority",
1621
+ signer: true
1622
+ },
1623
+ {
1624
+ name: "vault_admin"
1625
+ },
1626
+ {
1627
+ name: "vault_state",
1628
+ docs: [
1629
+ "@dev Verification inside instruction logic"
1630
+ ],
1631
+ writable: true
1632
+ },
1633
+ {
1634
+ name: "vault_config",
1635
+ docs: [
1636
+ "@dev Verification inside instruction logic"
1637
+ ],
1638
+ writable: true
1639
+ },
1640
+ {
1641
+ name: "supply_token_reserves_liquidity",
1642
+ docs: [
1643
+ "@dev Verification inside instruction logic"
1644
+ ]
1645
+ },
1646
+ {
1647
+ name: "borrow_token_reserves_liquidity",
1648
+ docs: [
1649
+ "@dev Verification inside instruction logic"
1650
+ ]
1651
+ }
1652
+ ],
1653
+ args: [
1654
+ {
1655
+ name: "vault_id",
1656
+ type: "u16"
1657
+ },
1658
+ {
1659
+ name: "borrow_rate_magnifier",
1660
+ type: "i16"
1661
+ }
1662
+ ]
1663
+ },
1664
+ {
1665
+ name: "update_collateral_factor",
1666
+ discriminator: [
1667
+ 244,
1668
+ 83,
1669
+ 227,
1670
+ 215,
1671
+ 220,
1672
+ 82,
1673
+ 201,
1674
+ 221
1675
+ ],
1676
+ accounts: [
1677
+ {
1678
+ name: "authority",
1679
+ signer: true
1680
+ },
1681
+ {
1682
+ name: "vault_admin"
1683
+ },
1684
+ {
1685
+ name: "vault_state",
1686
+ docs: [
1687
+ "@dev Verification inside instruction logic"
1688
+ ],
1689
+ writable: true
1690
+ },
1691
+ {
1692
+ name: "vault_config",
1693
+ docs: [
1694
+ "@dev Verification inside instruction logic"
1695
+ ],
1696
+ writable: true
1697
+ },
1698
+ {
1699
+ name: "supply_token_reserves_liquidity",
1700
+ docs: [
1701
+ "@dev Verification inside instruction logic"
1702
+ ]
1703
+ },
1704
+ {
1705
+ name: "borrow_token_reserves_liquidity",
1706
+ docs: [
1707
+ "@dev Verification inside instruction logic"
1708
+ ]
1709
+ }
1710
+ ],
1711
+ args: [
1712
+ {
1713
+ name: "vault_id",
1714
+ type: "u16"
1715
+ },
1716
+ {
1717
+ name: "collateral_factor",
1718
+ type: "u16"
1719
+ }
1720
+ ]
1721
+ },
1722
+ {
1723
+ name: "update_core_settings",
1724
+ discriminator: [
1725
+ 101,
1726
+ 84,
1727
+ 9,
1728
+ 11,
1729
+ 60,
1730
+ 104,
1731
+ 149,
1732
+ 234
1733
+ ],
1734
+ accounts: [
1735
+ {
1736
+ name: "authority",
1737
+ signer: true
1738
+ },
1739
+ {
1740
+ name: "vault_admin"
1741
+ },
1742
+ {
1743
+ name: "vault_state",
1744
+ docs: [
1745
+ "@dev Verification inside instruction logic"
1746
+ ],
1747
+ writable: true
1748
+ },
1749
+ {
1750
+ name: "vault_config",
1751
+ docs: [
1752
+ "@dev Verification inside instruction logic"
1753
+ ],
1754
+ writable: true
1755
+ },
1756
+ {
1757
+ name: "supply_token_reserves_liquidity",
1758
+ docs: [
1759
+ "@dev Verification inside instruction logic"
1760
+ ]
1761
+ },
1762
+ {
1763
+ name: "borrow_token_reserves_liquidity",
1764
+ docs: [
1765
+ "@dev Verification inside instruction logic"
1766
+ ]
1767
+ }
1768
+ ],
1769
+ args: [
1770
+ {
1771
+ name: "vault_id",
1772
+ type: "u16"
1773
+ },
1774
+ {
1775
+ name: "params",
1776
+ type: {
1777
+ defined: {
1778
+ name: "UpdateCoreSettingsParams"
1779
+ }
1780
+ }
1781
+ }
1782
+ ]
1783
+ },
1784
+ {
1785
+ name: "update_liquidation_max_limit",
1786
+ discriminator: [
1787
+ 183,
1788
+ 242,
1789
+ 152,
1790
+ 150,
1791
+ 176,
1792
+ 40,
1793
+ 65,
1794
+ 161
1795
+ ],
1796
+ accounts: [
1797
+ {
1798
+ name: "authority",
1799
+ signer: true
1800
+ },
1801
+ {
1802
+ name: "vault_admin"
1803
+ },
1804
+ {
1805
+ name: "vault_state",
1806
+ docs: [
1807
+ "@dev Verification inside instruction logic"
1808
+ ],
1809
+ writable: true
1810
+ },
1811
+ {
1812
+ name: "vault_config",
1813
+ docs: [
1814
+ "@dev Verification inside instruction logic"
1815
+ ],
1816
+ writable: true
1817
+ },
1818
+ {
1819
+ name: "supply_token_reserves_liquidity",
1820
+ docs: [
1821
+ "@dev Verification inside instruction logic"
1822
+ ]
1823
+ },
1824
+ {
1825
+ name: "borrow_token_reserves_liquidity",
1826
+ docs: [
1827
+ "@dev Verification inside instruction logic"
1828
+ ]
1829
+ }
1830
+ ],
1831
+ args: [
1832
+ {
1833
+ name: "vault_id",
1834
+ type: "u16"
1835
+ },
1836
+ {
1837
+ name: "liquidation_max_limit",
1838
+ type: "u16"
1839
+ }
1840
+ ]
1841
+ },
1842
+ {
1843
+ name: "update_liquidation_penalty",
1844
+ discriminator: [
1845
+ 21,
1846
+ 168,
1847
+ 167,
1848
+ 206,
1849
+ 98,
1850
+ 206,
1851
+ 69,
1852
+ 32
1853
+ ],
1854
+ accounts: [
1855
+ {
1856
+ name: "authority",
1857
+ signer: true
1858
+ },
1859
+ {
1860
+ name: "vault_admin"
1861
+ },
1862
+ {
1863
+ name: "vault_state",
1864
+ docs: [
1865
+ "@dev Verification inside instruction logic"
1866
+ ],
1867
+ writable: true
1868
+ },
1869
+ {
1870
+ name: "vault_config",
1871
+ docs: [
1872
+ "@dev Verification inside instruction logic"
1873
+ ],
1874
+ writable: true
1875
+ },
1876
+ {
1877
+ name: "supply_token_reserves_liquidity",
1878
+ docs: [
1879
+ "@dev Verification inside instruction logic"
1880
+ ]
1881
+ },
1882
+ {
1883
+ name: "borrow_token_reserves_liquidity",
1884
+ docs: [
1885
+ "@dev Verification inside instruction logic"
1886
+ ]
1887
+ }
1888
+ ],
1889
+ args: [
1890
+ {
1891
+ name: "vault_id",
1892
+ type: "u16"
1893
+ },
1894
+ {
1895
+ name: "liquidation_penalty",
1896
+ type: "u16"
1897
+ }
1898
+ ]
1899
+ },
1900
+ {
1901
+ name: "update_liquidation_threshold",
1902
+ discriminator: [
1903
+ 53,
1904
+ 185,
1905
+ 87,
1906
+ 243,
1907
+ 138,
1908
+ 11,
1909
+ 79,
1910
+ 28
1911
+ ],
1912
+ accounts: [
1913
+ {
1914
+ name: "authority",
1915
+ signer: true
1916
+ },
1917
+ {
1918
+ name: "vault_admin"
1919
+ },
1920
+ {
1921
+ name: "vault_state",
1922
+ docs: [
1923
+ "@dev Verification inside instruction logic"
1924
+ ],
1925
+ writable: true
1926
+ },
1927
+ {
1928
+ name: "vault_config",
1929
+ docs: [
1930
+ "@dev Verification inside instruction logic"
1931
+ ],
1932
+ writable: true
1933
+ },
1934
+ {
1935
+ name: "supply_token_reserves_liquidity",
1936
+ docs: [
1937
+ "@dev Verification inside instruction logic"
1938
+ ]
1939
+ },
1940
+ {
1941
+ name: "borrow_token_reserves_liquidity",
1942
+ docs: [
1943
+ "@dev Verification inside instruction logic"
1944
+ ]
1945
+ }
1946
+ ],
1947
+ args: [
1948
+ {
1949
+ name: "vault_id",
1950
+ type: "u16"
1951
+ },
1952
+ {
1953
+ name: "liquidation_threshold",
1954
+ type: "u16"
1955
+ }
1956
+ ]
1957
+ },
1958
+ {
1959
+ name: "update_oracle",
1960
+ discriminator: [
1961
+ 112,
1962
+ 41,
1963
+ 209,
1964
+ 18,
1965
+ 248,
1966
+ 226,
1967
+ 252,
1968
+ 188
1969
+ ],
1970
+ accounts: [
1971
+ {
1972
+ name: "authority",
1973
+ signer: true
1974
+ },
1975
+ {
1976
+ name: "vault_admin"
1977
+ },
1978
+ {
1979
+ name: "vault_state",
1980
+ docs: [
1981
+ "@dev Verification inside instruction logic"
1982
+ ],
1983
+ writable: true
1984
+ },
1985
+ {
1986
+ name: "vault_config",
1987
+ docs: [
1988
+ "@dev Verification inside instruction logic"
1989
+ ],
1990
+ writable: true
1991
+ },
1992
+ {
1993
+ name: "new_oracle",
1994
+ writable: true
1995
+ },
1996
+ {
1997
+ name: "supply_token_reserves_liquidity",
1998
+ docs: [
1999
+ "@dev Verification inside instruction logic"
2000
+ ]
2001
+ },
2002
+ {
2003
+ name: "borrow_token_reserves_liquidity",
2004
+ docs: [
2005
+ "@dev Verification inside instruction logic"
2006
+ ]
2007
+ }
2008
+ ],
2009
+ args: [
2010
+ {
2011
+ name: "vault_id",
2012
+ type: "u16"
2013
+ }
2014
+ ]
2015
+ },
2016
+ {
2017
+ name: "update_rebalancer",
2018
+ discriminator: [
2019
+ 206,
2020
+ 187,
2021
+ 54,
2022
+ 228,
2023
+ 145,
2024
+ 8,
2025
+ 203,
2026
+ 111
2027
+ ],
2028
+ accounts: [
2029
+ {
2030
+ name: "authority",
2031
+ signer: true
2032
+ },
2033
+ {
2034
+ name: "vault_admin"
2035
+ },
2036
+ {
2037
+ name: "vault_state",
2038
+ docs: [
2039
+ "@dev Verification inside instruction logic"
2040
+ ],
2041
+ writable: true
2042
+ },
2043
+ {
2044
+ name: "vault_config",
2045
+ docs: [
2046
+ "@dev Verification inside instruction logic"
2047
+ ],
2048
+ writable: true
2049
+ },
2050
+ {
2051
+ name: "supply_token_reserves_liquidity",
2052
+ docs: [
2053
+ "@dev Verification inside instruction logic"
2054
+ ]
2055
+ },
2056
+ {
2057
+ name: "borrow_token_reserves_liquidity",
2058
+ docs: [
2059
+ "@dev Verification inside instruction logic"
2060
+ ]
2061
+ }
2062
+ ],
2063
+ args: [
2064
+ {
2065
+ name: "vault_id",
2066
+ type: "u16"
2067
+ },
2068
+ {
2069
+ name: "new_rebalancer",
2070
+ type: "pubkey"
2071
+ }
2072
+ ]
2073
+ },
2074
+ {
2075
+ name: "update_supply_rate_magnifier",
2076
+ discriminator: [
2077
+ 175,
2078
+ 59,
2079
+ 117,
2080
+ 196,
2081
+ 211,
2082
+ 170,
2083
+ 22,
2084
+ 12
2085
+ ],
2086
+ accounts: [
2087
+ {
2088
+ name: "authority",
2089
+ signer: true
2090
+ },
2091
+ {
2092
+ name: "vault_admin"
2093
+ },
2094
+ {
2095
+ name: "vault_state",
2096
+ docs: [
2097
+ "@dev Verification inside instruction logic"
2098
+ ],
2099
+ writable: true
2100
+ },
2101
+ {
2102
+ name: "vault_config",
2103
+ docs: [
2104
+ "@dev Verification inside instruction logic"
2105
+ ],
2106
+ writable: true
2107
+ },
2108
+ {
2109
+ name: "supply_token_reserves_liquidity",
2110
+ docs: [
2111
+ "@dev Verification inside instruction logic"
2112
+ ]
2113
+ },
2114
+ {
2115
+ name: "borrow_token_reserves_liquidity",
2116
+ docs: [
2117
+ "@dev Verification inside instruction logic"
2118
+ ]
2119
+ }
2120
+ ],
2121
+ args: [
2122
+ {
2123
+ name: "vault_id",
2124
+ type: "u16"
2125
+ },
2126
+ {
2127
+ name: "supply_rate_magnifier",
2128
+ type: "i16"
2129
+ }
2130
+ ]
2131
+ },
2132
+ {
2133
+ name: "update_withdraw_gap",
2134
+ discriminator: [
2135
+ 229,
2136
+ 163,
2137
+ 76,
2138
+ 21,
2139
+ 82,
2140
+ 215,
2141
+ 25,
2142
+ 233
2143
+ ],
2144
+ accounts: [
2145
+ {
2146
+ name: "authority",
2147
+ signer: true
2148
+ },
2149
+ {
2150
+ name: "vault_admin"
2151
+ },
2152
+ {
2153
+ name: "vault_state",
2154
+ docs: [
2155
+ "@dev Verification inside instruction logic"
2156
+ ],
2157
+ writable: true
2158
+ },
2159
+ {
2160
+ name: "vault_config",
2161
+ docs: [
2162
+ "@dev Verification inside instruction logic"
2163
+ ],
2164
+ writable: true
2165
+ },
2166
+ {
2167
+ name: "supply_token_reserves_liquidity",
2168
+ docs: [
2169
+ "@dev Verification inside instruction logic"
2170
+ ]
2171
+ },
2172
+ {
2173
+ name: "borrow_token_reserves_liquidity",
2174
+ docs: [
2175
+ "@dev Verification inside instruction logic"
2176
+ ]
2177
+ }
2178
+ ],
2179
+ args: [
2180
+ {
2181
+ name: "vault_id",
2182
+ type: "u16"
2183
+ },
2184
+ {
2185
+ name: "withdraw_gap",
2186
+ type: "u16"
2187
+ }
2188
+ ]
2189
+ }
2190
+ ];
2191
+ const accounts = [
2192
+ {
2193
+ name: "Branch",
2194
+ discriminator: [
2195
+ 14,
2196
+ 63,
2197
+ 100,
2198
+ 50,
2199
+ 25,
2200
+ 8,
2201
+ 29,
2202
+ 5
2203
+ ]
2204
+ },
2205
+ {
2206
+ name: "Oracle",
2207
+ discriminator: [
2208
+ 139,
2209
+ 194,
2210
+ 131,
2211
+ 179,
2212
+ 140,
2213
+ 179,
2214
+ 229,
2215
+ 244
2216
+ ]
2217
+ },
2218
+ {
2219
+ name: "Position",
2220
+ discriminator: [
2221
+ 170,
2222
+ 188,
2223
+ 143,
2224
+ 228,
2225
+ 122,
2226
+ 64,
2227
+ 247,
2228
+ 208
2229
+ ]
2230
+ },
2231
+ {
2232
+ name: "Tick",
2233
+ discriminator: [
2234
+ 176,
2235
+ 94,
2236
+ 67,
2237
+ 247,
2238
+ 133,
2239
+ 173,
2240
+ 7,
2241
+ 115
2242
+ ]
2243
+ },
2244
+ {
2245
+ name: "TickHasDebtArray",
2246
+ discriminator: [
2247
+ 91,
2248
+ 232,
2249
+ 60,
2250
+ 29,
2251
+ 124,
2252
+ 103,
2253
+ 49,
2254
+ 252
2255
+ ]
2256
+ },
2257
+ {
2258
+ name: "TickIdLiquidation",
2259
+ discriminator: [
2260
+ 41,
2261
+ 28,
2262
+ 190,
2263
+ 197,
2264
+ 68,
2265
+ 213,
2266
+ 31,
2267
+ 181
2268
+ ]
2269
+ },
2270
+ {
2271
+ name: "TokenReserve",
2272
+ discriminator: [
2273
+ 21,
2274
+ 18,
2275
+ 59,
2276
+ 135,
2277
+ 120,
2278
+ 20,
2279
+ 31,
2280
+ 12
2281
+ ]
2282
+ },
2283
+ {
2284
+ name: "UserBorrowPosition",
2285
+ discriminator: [
2286
+ 73,
2287
+ 126,
2288
+ 65,
2289
+ 123,
2290
+ 220,
2291
+ 126,
2292
+ 197,
2293
+ 24
2294
+ ]
2295
+ },
2296
+ {
2297
+ name: "UserSupplyPosition",
2298
+ discriminator: [
2299
+ 202,
2300
+ 219,
2301
+ 136,
2302
+ 118,
2303
+ 61,
2304
+ 177,
2305
+ 21,
2306
+ 146
2307
+ ]
2308
+ },
2309
+ {
2310
+ name: "VaultAdmin",
2311
+ discriminator: [
2312
+ 88,
2313
+ 97,
2314
+ 160,
2315
+ 117,
2316
+ 102,
2317
+ 39,
2318
+ 103,
2319
+ 44
2320
+ ]
2321
+ },
2322
+ {
2323
+ name: "VaultConfig",
2324
+ discriminator: [
2325
+ 99,
2326
+ 86,
2327
+ 43,
2328
+ 216,
2329
+ 184,
2330
+ 102,
2331
+ 119,
2332
+ 77
2333
+ ]
2334
+ },
2335
+ {
2336
+ name: "VaultMetadata",
2337
+ discriminator: [
2338
+ 248,
2339
+ 177,
2340
+ 244,
2341
+ 93,
2342
+ 67,
2343
+ 19,
2344
+ 117,
2345
+ 57
2346
+ ]
2347
+ },
2348
+ {
2349
+ name: "VaultState",
2350
+ discriminator: [
2351
+ 228,
2352
+ 196,
2353
+ 82,
2354
+ 165,
2355
+ 98,
2356
+ 210,
2357
+ 235,
2358
+ 152
2359
+ ]
2360
+ }
2361
+ ];
2362
+ const events = [
2363
+ {
2364
+ name: "LogAbsorb",
2365
+ discriminator: [
2366
+ 177,
2367
+ 119,
2368
+ 143,
2369
+ 137,
2370
+ 184,
2371
+ 63,
2372
+ 197,
2373
+ 215
2374
+ ]
2375
+ },
2376
+ {
2377
+ name: "LogInitBranch",
2378
+ discriminator: [
2379
+ 127,
2380
+ 182,
2381
+ 211,
2382
+ 219,
2383
+ 140,
2384
+ 189,
2385
+ 193,
2386
+ 101
2387
+ ]
2388
+ },
2389
+ {
2390
+ name: "LogInitTick",
2391
+ discriminator: [
2392
+ 56,
2393
+ 182,
2394
+ 35,
2395
+ 79,
2396
+ 249,
2397
+ 114,
2398
+ 9,
2399
+ 175
2400
+ ]
2401
+ },
2402
+ {
2403
+ name: "LogInitTickHasDebtArray",
2404
+ discriminator: [
2405
+ 15,
2406
+ 134,
2407
+ 113,
2408
+ 2,
2409
+ 251,
2410
+ 206,
2411
+ 30,
2412
+ 129
2413
+ ]
2414
+ },
2415
+ {
2416
+ name: "LogInitTickIdLiquidation",
2417
+ discriminator: [
2418
+ 172,
2419
+ 64,
2420
+ 170,
2421
+ 238,
2422
+ 39,
2423
+ 153,
2424
+ 185,
2425
+ 225
2426
+ ]
2427
+ },
2428
+ {
2429
+ name: "LogInitVaultConfig",
2430
+ discriminator: [
2431
+ 194,
2432
+ 158,
2433
+ 35,
2434
+ 55,
2435
+ 179,
2436
+ 48,
2437
+ 174,
2438
+ 46
2439
+ ]
2440
+ },
2441
+ {
2442
+ name: "LogInitVaultState",
2443
+ discriminator: [
2444
+ 140,
2445
+ 108,
2446
+ 65,
2447
+ 38,
2448
+ 128,
2449
+ 26,
2450
+ 194,
2451
+ 28
2452
+ ]
2453
+ },
2454
+ {
2455
+ name: "LogLiquidate",
2456
+ discriminator: [
2457
+ 154,
2458
+ 128,
2459
+ 202,
2460
+ 147,
2461
+ 65,
2462
+ 233,
2463
+ 195,
2464
+ 73
2465
+ ]
2466
+ },
2467
+ {
2468
+ name: "LogOperate",
2469
+ discriminator: [
2470
+ 180,
2471
+ 8,
2472
+ 81,
2473
+ 71,
2474
+ 19,
2475
+ 132,
2476
+ 173,
2477
+ 8
2478
+ ]
2479
+ },
2480
+ {
2481
+ name: "LogRebalance",
2482
+ discriminator: [
2483
+ 90,
2484
+ 67,
2485
+ 219,
2486
+ 41,
2487
+ 181,
2488
+ 118,
2489
+ 132,
2490
+ 9
2491
+ ]
2492
+ },
2493
+ {
2494
+ name: "LogUpdateAuths",
2495
+ discriminator: [
2496
+ 88,
2497
+ 80,
2498
+ 109,
2499
+ 48,
2500
+ 111,
2501
+ 203,
2502
+ 76,
2503
+ 251
2504
+ ]
2505
+ },
2506
+ {
2507
+ name: "LogUpdateBorrowFee",
2508
+ discriminator: [
2509
+ 33,
2510
+ 134,
2511
+ 42,
2512
+ 66,
2513
+ 16,
2514
+ 167,
2515
+ 119,
2516
+ 196
2517
+ ]
2518
+ },
2519
+ {
2520
+ name: "LogUpdateBorrowRateMagnifier",
2521
+ discriminator: [
2522
+ 186,
2523
+ 23,
2524
+ 46,
2525
+ 117,
2526
+ 57,
2527
+ 111,
2528
+ 107,
2529
+ 51
2530
+ ]
2531
+ },
2532
+ {
2533
+ name: "LogUpdateCollateralFactor",
2534
+ discriminator: [
2535
+ 142,
2536
+ 89,
2537
+ 0,
2538
+ 231,
2539
+ 164,
2540
+ 164,
2541
+ 230,
2542
+ 82
2543
+ ]
2544
+ },
2545
+ {
2546
+ name: "LogUpdateCoreSettings",
2547
+ discriminator: [
2548
+ 233,
2549
+ 65,
2550
+ 32,
2551
+ 7,
2552
+ 230,
2553
+ 115,
2554
+ 122,
2555
+ 197
2556
+ ]
2557
+ },
2558
+ {
2559
+ name: "LogUpdateExchangePrices",
2560
+ discriminator: [
2561
+ 190,
2562
+ 194,
2563
+ 69,
2564
+ 204,
2565
+ 30,
2566
+ 86,
2567
+ 181,
2568
+ 163
2569
+ ]
2570
+ },
2571
+ {
2572
+ name: "LogUpdateLiquidationMaxLimit",
2573
+ discriminator: [
2574
+ 73,
2575
+ 32,
2576
+ 49,
2577
+ 0,
2578
+ 234,
2579
+ 86,
2580
+ 150,
2581
+ 94
2582
+ ]
2583
+ },
2584
+ {
2585
+ name: "LogUpdateLiquidationPenalty",
2586
+ discriminator: [
2587
+ 42,
2588
+ 132,
2589
+ 67,
2590
+ 48,
2591
+ 209,
2592
+ 133,
2593
+ 77,
2594
+ 83
2595
+ ]
2596
+ },
2597
+ {
2598
+ name: "LogUpdateLiquidationThreshold",
2599
+ discriminator: [
2600
+ 211,
2601
+ 71,
2602
+ 215,
2603
+ 239,
2604
+ 159,
2605
+ 238,
2606
+ 71,
2607
+ 219
2608
+ ]
2609
+ },
2610
+ {
2611
+ name: "LogUpdateOracle",
2612
+ discriminator: [
2613
+ 251,
2614
+ 163,
2615
+ 219,
2616
+ 57,
2617
+ 30,
2618
+ 152,
2619
+ 177,
2620
+ 10
2621
+ ]
2622
+ },
2623
+ {
2624
+ name: "LogUpdateRebalancer",
2625
+ discriminator: [
2626
+ 66,
2627
+ 79,
2628
+ 144,
2629
+ 204,
2630
+ 26,
2631
+ 217,
2632
+ 153,
2633
+ 225
2634
+ ]
2635
+ },
2636
+ {
2637
+ name: "LogUpdateSupplyRateMagnifier",
2638
+ discriminator: [
2639
+ 198,
2640
+ 113,
2641
+ 184,
2642
+ 213,
2643
+ 239,
2644
+ 18,
2645
+ 253,
2646
+ 56
2647
+ ]
2648
+ },
2649
+ {
2650
+ name: "LogUpdateWithdrawGap",
2651
+ discriminator: [
2652
+ 182,
2653
+ 248,
2654
+ 48,
2655
+ 47,
2656
+ 8,
2657
+ 159,
2658
+ 21,
2659
+ 35
2660
+ ]
2661
+ }
2662
+ ];
2663
+ const errors = [
2664
+ {
2665
+ code: 6000,
2666
+ name: "VaultNextTickNotFound",
2667
+ msg: "VAULT_NEXT_TICK_NOT_FOUND"
2668
+ },
2669
+ {
2670
+ code: 6001,
2671
+ name: "VaultInvalidPositionMint",
2672
+ msg: "VAULT_INVALID_POSITION_MINT"
2673
+ },
2674
+ {
2675
+ code: 6002,
2676
+ name: "VaultTickIdLiquidationMismatch",
2677
+ msg: "VAULT_TICK_ID_LIQUIDATION_MISMATCH"
2678
+ },
2679
+ {
2680
+ code: 6003,
2681
+ name: "VaultInvalidPositionTokenAmount",
2682
+ msg: "VAULT_INVALID_POSITION_TOKEN_AMOUNT"
2683
+ },
2684
+ {
2685
+ code: 6004,
2686
+ name: "VaultInvalidRemainingAccountsIndices",
2687
+ msg: "VAULT_INVALID_REMAINING_ACCOUNTS_INDICES"
2688
+ },
2689
+ {
2690
+ code: 6005,
2691
+ name: "VaultTickHasDebtVaultIdMismatch",
2692
+ msg: "VAULT_TICK_HAS_DEBT_VAULT_ID_MISMATCH"
2693
+ },
2694
+ {
2695
+ code: 6006,
2696
+ name: "VaultBranchVaultIdMismatch",
2697
+ msg: "VAULT_BRANCH_VAULT_ID_MISMATCH"
2698
+ },
2699
+ {
2700
+ code: 6007,
2701
+ name: "VaultTickVaultIdMismatch",
2702
+ msg: "VAULT_TICK_VAULT_ID_MISMATCH"
2703
+ },
2704
+ {
2705
+ code: 6008,
2706
+ name: "VaultInvalidDecimals",
2707
+ msg: "VAULT_INVALID_DECIMALS"
2708
+ },
2709
+ {
2710
+ code: 6009,
2711
+ name: "VaultInvalidOperateAmount",
2712
+ msg: "VAULT_INVALID_OPERATE_AMOUNT"
2713
+ },
2714
+ {
2715
+ code: 6010,
2716
+ name: "VaultTickIsEmpty",
2717
+ msg: "VAULT_TICK_IS_EMPTY"
2718
+ },
2719
+ {
2720
+ code: 6011,
2721
+ name: "VaultPositionAboveCF",
2722
+ msg: "VAULT_POSITION_ABOVE_CF"
2723
+ },
2724
+ {
2725
+ code: 6012,
2726
+ name: "VaultTopTickDoesNotExist",
2727
+ msg: "VAULT_TOP_TICK_DOES_NOT_EXIST"
2728
+ },
2729
+ {
2730
+ code: 6013,
2731
+ name: "VaultExcessSlippageLiquidation",
2732
+ msg: "VAULT_EXCESS_SLIPPAGE_LIQUIDATION"
2733
+ },
2734
+ {
2735
+ code: 6014,
2736
+ name: "VaultNotRebalancer",
2737
+ msg: "VAULT_NOT_REBALANCER"
2738
+ },
2739
+ {
2740
+ code: 6015,
2741
+ name: "VaultTokenNotInitialized",
2742
+ msg: "VAULT_TOKEN_NOT_INITIALIZED"
2743
+ },
2744
+ {
2745
+ code: 6016,
2746
+ name: "VaultUserCollateralDebtExceed",
2747
+ msg: "VAULT_USER_COLLATERAL_DEBT_EXCEED"
2748
+ },
2749
+ {
2750
+ code: 6017,
2751
+ name: "VaultExcessCollateralWithdrawal",
2752
+ msg: "VAULT_EXCESS_COLLATERAL_WITHDRAWAL"
2753
+ },
2754
+ {
2755
+ code: 6018,
2756
+ name: "VaultExcessDebtPayback",
2757
+ msg: "VAULT_EXCESS_DEBT_PAYBACK"
2758
+ },
2759
+ {
2760
+ code: 6019,
2761
+ name: "VaultWithdrawMoreThanOperateLimit",
2762
+ msg: "VAULT_WITHDRAW_MORE_THAN_OPERATE_LIMIT"
2763
+ },
2764
+ {
2765
+ code: 6020,
2766
+ name: "VaultInvalidLiquidationAmt",
2767
+ msg: "VAULT_INVALID_LIQUIDATION_AMT"
2768
+ },
2769
+ {
2770
+ code: 6021,
2771
+ name: "VaultBranchDebtTooLow",
2772
+ msg: "VAULT_BRANCH_DEBT_TOO_LOW"
2773
+ },
2774
+ {
2775
+ code: 6022,
2776
+ name: "VaultTickDebtTooLow",
2777
+ msg: "VAULT_TICK_DEBT_TOO_LOW"
2778
+ },
2779
+ {
2780
+ code: 6023,
2781
+ name: "VaultLiquidityExchangePriceUnexpected",
2782
+ msg: "VAULT_LIQUIDITY_EXCHANGE_PRICE_UNEXPECTED"
2783
+ },
2784
+ {
2785
+ code: 6024,
2786
+ name: "VaultUserDebtTooLow",
2787
+ msg: "VAULT_USER_DEBT_TOO_LOW"
2788
+ },
2789
+ {
2790
+ code: 6025,
2791
+ name: "VaultInvalidPaybackOrDeposit",
2792
+ msg: "VAULT_INVALID_PAYBACK_OR_DEPOSIT"
2793
+ },
2794
+ {
2795
+ code: 6026,
2796
+ name: "VaultInvalidLiquidation",
2797
+ msg: "VAULT_INVALID_LIQUIDATION"
2798
+ },
2799
+ {
2800
+ code: 6027,
2801
+ name: "VaultNothingToRebalance",
2802
+ msg: "VAULT_NOTHING_TO_REBALANCE"
2803
+ },
2804
+ {
2805
+ code: 6028,
2806
+ name: "VaultLiquidationReverts",
2807
+ msg: "VAULT_LIQUIDATION_REVERTS"
2808
+ },
2809
+ {
2810
+ code: 6029,
2811
+ name: "VaultInvalidOraclePrice",
2812
+ msg: "VAULT_INVALID_ORACLE_PRICE"
2813
+ },
2814
+ {
2815
+ code: 6030,
2816
+ name: "VaultBranchNotFound",
2817
+ msg: "VAULT_BRANCH_NOT_FOUND"
2818
+ },
2819
+ {
2820
+ code: 6031,
2821
+ name: "VaultTickNotFound",
2822
+ msg: "VAULT_TICK_NOT_FOUND"
2823
+ },
2824
+ {
2825
+ code: 6032,
2826
+ name: "VaultTickHasDebtNotFound",
2827
+ msg: "VAULT_TICK_HAS_DEBT_NOT_FOUND"
2828
+ },
2829
+ {
2830
+ code: 6033,
2831
+ name: "VaultTickMismatch",
2832
+ msg: "VAULT_TICK_MISMATCH"
2833
+ },
2834
+ {
2835
+ code: 6034,
2836
+ name: "VaultInvalidVaultId",
2837
+ msg: "VAULT_INVALID_VAULT_ID"
2838
+ },
2839
+ {
2840
+ code: 6035,
2841
+ name: "VaultInvalidNextPositionId",
2842
+ msg: "VAULT_INVALID_NEXT_POSITION_ID"
2843
+ },
2844
+ {
2845
+ code: 6036,
2846
+ name: "VaultInvalidSupplyMint",
2847
+ msg: "VAULT_INVALID_SUPPLY_MINT"
2848
+ },
2849
+ {
2850
+ code: 6037,
2851
+ name: "VaultInvalidBorrowMint",
2852
+ msg: "VAULT_INVALID_BORROW_MINT"
2853
+ },
2854
+ {
2855
+ code: 6038,
2856
+ name: "VaultInvalidOracle",
2857
+ msg: "VAULT_INVALID_ORACLE"
2858
+ },
2859
+ {
2860
+ code: 6039,
2861
+ name: "VaultInvalidTick",
2862
+ msg: "VAULT_INVALID_TICK"
2863
+ },
2864
+ {
2865
+ code: 6040,
2866
+ name: "VaultInvalidLiquidityProgram",
2867
+ msg: "VAULT_INVALID_LIQUIDITY_PROGRAM"
2868
+ },
2869
+ {
2870
+ code: 6041,
2871
+ name: "VaultInvalidPositionAuthority",
2872
+ msg: "VAULT_INVALID_POSITION_AUTHORITY"
2873
+ },
2874
+ {
2875
+ code: 6042,
2876
+ name: "VaultOracleNotValid",
2877
+ msg: "VAULT_ORACLE_NOT_VALID"
2878
+ },
2879
+ {
2880
+ code: 6043,
2881
+ name: "VaultBranchOwnerNotValid",
2882
+ msg: "VAULT_BRANCH_OWNER_NOT_VALID"
2883
+ },
2884
+ {
2885
+ code: 6044,
2886
+ name: "VaultTickHasDebtOwnerNotValid",
2887
+ msg: "VAULT_TICK_HAS_DEBT_OWNER_NOT_VALID"
2888
+ },
2889
+ {
2890
+ code: 6045,
2891
+ name: "VaultTickOwnerNotValid",
2892
+ msg: "VAULT_TICK_DATA_OWNER_NOT_VALID"
2893
+ },
2894
+ {
2895
+ code: 6046,
2896
+ name: "VaultLiquidateRemainingAccountsTooShort",
2897
+ msg: "VAULT_LIQUIDATE_REMAINING_ACCOUNTS_TOO_SHORT"
2898
+ },
2899
+ {
2900
+ code: 6047,
2901
+ name: "VaultOperateRemainingAccountsTooShort",
2902
+ msg: "VAULT_OPERATE_REMAINING_ACCOUNTS_TOO_SHORT"
2903
+ },
2904
+ {
2905
+ code: 6048,
2906
+ name: "VaultInvalidZerothBranch",
2907
+ msg: "VAULT_INVALID_ZEROTH_BRANCH"
2908
+ },
2909
+ {
2910
+ code: 6049,
2911
+ name: "VaultCpiToLiquidityFailed",
2912
+ msg: "VAULT_CPY_TO_LIQUIDITY_FAILED"
2913
+ },
2914
+ {
2915
+ code: 6050,
2916
+ name: "VaultCpiToOracleFailed",
2917
+ msg: "VAULT_CPY_TO_ORACLE_FAILED"
2918
+ },
2919
+ {
2920
+ code: 6051,
2921
+ name: "VaultOnlyAuthority",
2922
+ msg: "VAULT_ONLY_AUTHORITY"
2923
+ },
2924
+ {
2925
+ code: 6052,
2926
+ name: "VaultNewBranchInvalid",
2927
+ msg: "VAULT_NEW_BRANCH_INVALID"
2928
+ },
2929
+ {
2930
+ code: 6053,
2931
+ name: "VaultTickHasDebtIndexMismatch",
2932
+ msg: "VAULT_TICK_HAS_DEBT_INDEX_MISMATCH"
2933
+ },
2934
+ {
2935
+ code: 6054,
2936
+ name: "VaultTickHasDebtOutOfRange",
2937
+ msg: "VAULT_TICK_HAS_DEBT_OUT_OF_RANGE"
2938
+ },
2939
+ {
2940
+ code: 6055,
2941
+ name: "VaultUserSupplyPositionRequired",
2942
+ msg: "VAULT_USER_SUPPLY_POSITION_REQUIRED"
2943
+ },
2944
+ {
2945
+ code: 6056,
2946
+ name: "VaultAdminValueAboveLimit",
2947
+ msg: "VAULT_ADMIN_VALUE_ABOVE_LIMIT"
2948
+ },
2949
+ {
2950
+ code: 6057,
2951
+ name: "VaultAdminOnlyAuths",
2952
+ msg: "VAULT_ADMIN_ONLY_AUTH_ACCOUNTS"
2953
+ },
2954
+ {
2955
+ code: 6058,
2956
+ name: "VaultAdminAddressZeroNotAllowed",
2957
+ msg: "VAULT_ADMIN_ADDRESS_ZERO_NOT_ALLOWED"
2958
+ },
2959
+ {
2960
+ code: 6059,
2961
+ name: "VaultAdminVaultIdMismatch",
2962
+ msg: "VAULT_ADMIN_VAULT_ID_MISMATCH"
2963
+ },
2964
+ {
2965
+ code: 6060,
2966
+ name: "VaultAdminTotalIdsMismatch",
2967
+ msg: "VAULT_ADMIN_TOTAL_IDS_MISMATCH"
2968
+ },
2969
+ {
2970
+ code: 6061,
2971
+ name: "VaultAdminTickMismatch",
2972
+ msg: "VAULT_ADMIN_TICK_MISMATCH"
2973
+ },
2974
+ {
2975
+ code: 6062,
2976
+ name: "VaultAdminLiquidityProgramMismatch",
2977
+ msg: "VAULT_ADMIN_LIQUIDITY_PROGRAM_MISMATCH"
2978
+ },
2979
+ {
2980
+ code: 6063,
2981
+ name: "VaultAdminMaxAuthCountReached",
2982
+ msg: "VAULT_ADMIN_MAX_AUTH_COUNT_REACHED"
2983
+ },
2984
+ {
2985
+ code: 6064,
2986
+ name: "VaultAdminInvalidParams",
2987
+ msg: "VAULT_ADMIN_INVALID_PARAMS"
2988
+ },
2989
+ {
2990
+ code: 6065,
2991
+ name: "VaultAdminOnlyAuthority",
2992
+ msg: "VAULT_ADMIN_ONLY_AUTHORITY"
2993
+ }
2994
+ ];
2995
+ const types = [
2996
+ {
2997
+ name: "AddressBool",
2998
+ type: {
2999
+ kind: "struct",
3000
+ fields: [
3001
+ {
3002
+ name: "addr",
3003
+ type: "pubkey"
3004
+ },
3005
+ {
3006
+ name: "value",
3007
+ type: "bool"
3008
+ }
3009
+ ]
3010
+ }
3011
+ },
3012
+ {
3013
+ name: "Branch",
3014
+ docs: [
3015
+ "Branch data structure"
3016
+ ],
3017
+ serialization: "bytemuck",
3018
+ repr: {
3019
+ kind: "c",
3020
+ packed: true
3021
+ },
3022
+ type: {
3023
+ kind: "struct",
3024
+ fields: [
3025
+ {
3026
+ name: "vault_id",
3027
+ type: "u16"
3028
+ },
3029
+ {
3030
+ name: "branch_id",
3031
+ type: "u32"
3032
+ },
3033
+ {
3034
+ name: "status",
3035
+ type: "u8"
3036
+ },
3037
+ {
3038
+ name: "minima_tick",
3039
+ type: "i32"
3040
+ },
3041
+ {
3042
+ name: "minima_tick_partials",
3043
+ type: "u32"
3044
+ },
3045
+ {
3046
+ name: "debt_liquidity",
3047
+ type: "u64"
3048
+ },
3049
+ {
3050
+ name: "debt_factor",
3051
+ type: "u64"
3052
+ },
3053
+ {
3054
+ name: "connected_branch_id",
3055
+ type: "u32"
3056
+ },
3057
+ {
3058
+ name: "connected_minima_tick",
3059
+ type: "i32"
3060
+ }
3061
+ ]
3062
+ }
3063
+ },
3064
+ {
3065
+ name: "InitVaultConfigParams",
3066
+ type: {
3067
+ kind: "struct",
3068
+ fields: [
3069
+ {
3070
+ name: "supply_rate_magnifier",
3071
+ type: "i16"
3072
+ },
3073
+ {
3074
+ name: "borrow_rate_magnifier",
3075
+ type: "i16"
3076
+ },
3077
+ {
3078
+ name: "collateral_factor",
3079
+ type: "u16"
3080
+ },
3081
+ {
3082
+ name: "liquidation_threshold",
3083
+ type: "u16"
3084
+ },
3085
+ {
3086
+ name: "liquidation_max_limit",
3087
+ type: "u16"
3088
+ },
3089
+ {
3090
+ name: "withdraw_gap",
3091
+ type: "u16"
3092
+ },
3093
+ {
3094
+ name: "liquidation_penalty",
3095
+ type: "u16"
3096
+ },
3097
+ {
3098
+ name: "borrow_fee",
3099
+ type: "u16"
3100
+ },
3101
+ {
3102
+ name: "oracle",
3103
+ type: "pubkey"
3104
+ },
3105
+ {
3106
+ name: "rebalancer",
3107
+ type: "pubkey"
3108
+ },
3109
+ {
3110
+ name: "liquidity",
3111
+ type: "pubkey"
3112
+ },
3113
+ {
3114
+ name: "supply_token",
3115
+ type: "pubkey"
3116
+ },
3117
+ {
3118
+ name: "borrow_token",
3119
+ type: "pubkey"
3120
+ },
3121
+ {
3122
+ name: "oracle_program",
3123
+ type: "pubkey"
3124
+ }
3125
+ ]
3126
+ }
3127
+ },
3128
+ {
3129
+ name: "LogAbsorb",
3130
+ type: {
3131
+ kind: "struct",
3132
+ fields: [
3133
+ {
3134
+ name: "col_amount",
3135
+ type: "u64"
3136
+ },
3137
+ {
3138
+ name: "debt_amount",
3139
+ type: "u64"
3140
+ }
3141
+ ]
3142
+ }
3143
+ },
3144
+ {
3145
+ name: "LogInitBranch",
3146
+ type: {
3147
+ kind: "struct",
3148
+ fields: [
3149
+ {
3150
+ name: "branch",
3151
+ type: "pubkey"
3152
+ },
3153
+ {
3154
+ name: "branch_id",
3155
+ type: "u32"
3156
+ }
3157
+ ]
3158
+ }
3159
+ },
3160
+ {
3161
+ name: "LogInitTick",
3162
+ type: {
3163
+ kind: "struct",
3164
+ fields: [
3165
+ {
3166
+ name: "tick",
3167
+ type: "pubkey"
3168
+ }
3169
+ ]
3170
+ }
3171
+ },
3172
+ {
3173
+ name: "LogInitTickHasDebtArray",
3174
+ type: {
3175
+ kind: "struct",
3176
+ fields: [
3177
+ {
3178
+ name: "tick_has_debt_array",
3179
+ type: "pubkey"
3180
+ }
3181
+ ]
3182
+ }
3183
+ },
3184
+ {
3185
+ name: "LogInitTickIdLiquidation",
3186
+ type: {
3187
+ kind: "struct",
3188
+ fields: [
3189
+ {
3190
+ name: "tick_id_liquidation",
3191
+ type: "pubkey"
3192
+ },
3193
+ {
3194
+ name: "tick",
3195
+ type: "i32"
3196
+ }
3197
+ ]
3198
+ }
3199
+ },
3200
+ {
3201
+ name: "LogInitVaultConfig",
3202
+ type: {
3203
+ kind: "struct",
3204
+ fields: [
3205
+ {
3206
+ name: "vault_config",
3207
+ type: "pubkey"
3208
+ }
3209
+ ]
3210
+ }
3211
+ },
3212
+ {
3213
+ name: "LogInitVaultState",
3214
+ type: {
3215
+ kind: "struct",
3216
+ fields: [
3217
+ {
3218
+ name: "vault_state",
3219
+ type: "pubkey"
3220
+ }
3221
+ ]
3222
+ }
3223
+ },
3224
+ {
3225
+ name: "LogLiquidate",
3226
+ type: {
3227
+ kind: "struct",
3228
+ fields: [
3229
+ {
3230
+ name: "signer",
3231
+ type: "pubkey"
3232
+ },
3233
+ {
3234
+ name: "col_amount",
3235
+ type: "u64"
3236
+ },
3237
+ {
3238
+ name: "debt_amount",
3239
+ type: "u64"
3240
+ },
3241
+ {
3242
+ name: "to",
3243
+ type: "pubkey"
3244
+ }
3245
+ ]
3246
+ }
3247
+ },
3248
+ {
3249
+ name: "LogOperate",
3250
+ type: {
3251
+ kind: "struct",
3252
+ fields: [
3253
+ {
3254
+ name: "signer",
3255
+ type: "pubkey"
3256
+ },
3257
+ {
3258
+ name: "nft_id",
3259
+ type: "u32"
3260
+ },
3261
+ {
3262
+ name: "new_col",
3263
+ type: "i128"
3264
+ },
3265
+ {
3266
+ name: "new_debt",
3267
+ type: "i128"
3268
+ },
3269
+ {
3270
+ name: "to",
3271
+ type: "pubkey"
3272
+ }
3273
+ ]
3274
+ }
3275
+ },
3276
+ {
3277
+ name: "LogRebalance",
3278
+ type: {
3279
+ kind: "struct",
3280
+ fields: [
3281
+ {
3282
+ name: "supply_amt",
3283
+ type: "i128"
3284
+ },
3285
+ {
3286
+ name: "borrow_amt",
3287
+ type: "i128"
3288
+ }
3289
+ ]
3290
+ }
3291
+ },
3292
+ {
3293
+ name: "LogUpdateAuths",
3294
+ type: {
3295
+ kind: "struct",
3296
+ fields: [
3297
+ {
3298
+ name: "auth_status",
3299
+ type: {
3300
+ vec: {
3301
+ defined: {
3302
+ name: "AddressBool"
3303
+ }
3304
+ }
3305
+ }
3306
+ }
3307
+ ]
3308
+ }
3309
+ },
3310
+ {
3311
+ name: "LogUpdateBorrowFee",
3312
+ type: {
3313
+ kind: "struct",
3314
+ fields: [
3315
+ {
3316
+ name: "borrow_fee",
3317
+ type: "u16"
3318
+ }
3319
+ ]
3320
+ }
3321
+ },
3322
+ {
3323
+ name: "LogUpdateBorrowRateMagnifier",
3324
+ type: {
3325
+ kind: "struct",
3326
+ fields: [
3327
+ {
3328
+ name: "borrow_rate_magnifier",
3329
+ type: "i16"
3330
+ }
3331
+ ]
3332
+ }
3333
+ },
3334
+ {
3335
+ name: "LogUpdateCollateralFactor",
3336
+ type: {
3337
+ kind: "struct",
3338
+ fields: [
3339
+ {
3340
+ name: "collateral_factor",
3341
+ type: "u16"
3342
+ }
3343
+ ]
3344
+ }
3345
+ },
3346
+ {
3347
+ name: "LogUpdateCoreSettings",
3348
+ type: {
3349
+ kind: "struct",
3350
+ fields: [
3351
+ {
3352
+ name: "supply_rate_magnifier",
3353
+ type: "i16"
3354
+ },
3355
+ {
3356
+ name: "borrow_rate_magnifier",
3357
+ type: "i16"
3358
+ },
3359
+ {
3360
+ name: "collateral_factor",
3361
+ type: "u16"
3362
+ },
3363
+ {
3364
+ name: "liquidation_threshold",
3365
+ type: "u16"
3366
+ },
3367
+ {
3368
+ name: "liquidation_max_limit",
3369
+ type: "u16"
3370
+ },
3371
+ {
3372
+ name: "withdraw_gap",
3373
+ type: "u16"
3374
+ },
3375
+ {
3376
+ name: "liquidation_penalty",
3377
+ type: "u16"
3378
+ },
3379
+ {
3380
+ name: "borrow_fee",
3381
+ type: "u16"
3382
+ }
3383
+ ]
3384
+ }
3385
+ },
3386
+ {
3387
+ name: "LogUpdateExchangePrices",
3388
+ type: {
3389
+ kind: "struct",
3390
+ fields: [
3391
+ {
3392
+ name: "vault_supply_exchange_price",
3393
+ type: "u64"
3394
+ },
3395
+ {
3396
+ name: "vault_borrow_exchange_price",
3397
+ type: "u64"
3398
+ },
3399
+ {
3400
+ name: "liquidity_supply_exchange_price",
3401
+ type: "u64"
3402
+ },
3403
+ {
3404
+ name: "liquidity_borrow_exchange_price",
3405
+ type: "u64"
3406
+ }
3407
+ ]
3408
+ }
3409
+ },
3410
+ {
3411
+ name: "LogUpdateLiquidationMaxLimit",
3412
+ type: {
3413
+ kind: "struct",
3414
+ fields: [
3415
+ {
3416
+ name: "liquidation_max_limit",
3417
+ type: "u16"
3418
+ }
3419
+ ]
3420
+ }
3421
+ },
3422
+ {
3423
+ name: "LogUpdateLiquidationPenalty",
3424
+ type: {
3425
+ kind: "struct",
3426
+ fields: [
3427
+ {
3428
+ name: "liquidation_penalty",
3429
+ type: "u16"
3430
+ }
3431
+ ]
3432
+ }
3433
+ },
3434
+ {
3435
+ name: "LogUpdateLiquidationThreshold",
3436
+ type: {
3437
+ kind: "struct",
3438
+ fields: [
3439
+ {
3440
+ name: "liquidation_threshold",
3441
+ type: "u16"
3442
+ }
3443
+ ]
3444
+ }
3445
+ },
3446
+ {
3447
+ name: "LogUpdateOracle",
3448
+ type: {
3449
+ kind: "struct",
3450
+ fields: [
3451
+ {
3452
+ name: "new_oracle",
3453
+ type: "pubkey"
3454
+ }
3455
+ ]
3456
+ }
3457
+ },
3458
+ {
3459
+ name: "LogUpdateRebalancer",
3460
+ type: {
3461
+ kind: "struct",
3462
+ fields: [
3463
+ {
3464
+ name: "new_rebalancer",
3465
+ type: "pubkey"
3466
+ }
3467
+ ]
3468
+ }
3469
+ },
3470
+ {
3471
+ name: "LogUpdateSupplyRateMagnifier",
3472
+ type: {
3473
+ kind: "struct",
3474
+ fields: [
3475
+ {
3476
+ name: "supply_rate_magnifier",
3477
+ type: "i16"
3478
+ }
3479
+ ]
3480
+ }
3481
+ },
3482
+ {
3483
+ name: "LogUpdateWithdrawGap",
3484
+ type: {
3485
+ kind: "struct",
3486
+ fields: [
3487
+ {
3488
+ name: "withdraw_gap",
3489
+ type: "u16"
3490
+ }
3491
+ ]
3492
+ }
3493
+ },
3494
+ {
3495
+ name: "Oracle",
3496
+ type: {
3497
+ kind: "struct",
3498
+ fields: [
3499
+ {
3500
+ name: "nonce",
3501
+ type: "u16"
3502
+ },
3503
+ {
3504
+ name: "sources",
3505
+ type: {
3506
+ vec: {
3507
+ defined: {
3508
+ name: "Sources"
3509
+ }
3510
+ }
3511
+ }
3512
+ },
3513
+ {
3514
+ name: "bump",
3515
+ type: "u8"
3516
+ }
3517
+ ]
3518
+ }
3519
+ },
3520
+ {
3521
+ name: "Position",
3522
+ docs: [
3523
+ "Position data structure"
3524
+ ],
3525
+ serialization: "bytemuck",
3526
+ repr: {
3527
+ kind: "c",
3528
+ packed: true
3529
+ },
3530
+ type: {
3531
+ kind: "struct",
3532
+ fields: [
3533
+ {
3534
+ name: "vault_id",
3535
+ type: "u16"
3536
+ },
3537
+ {
3538
+ name: "nft_id",
3539
+ type: "u32"
3540
+ },
3541
+ {
3542
+ name: "position_mint",
3543
+ type: "pubkey"
3544
+ },
3545
+ {
3546
+ name: "is_supply_only_position",
3547
+ type: "u8"
3548
+ },
3549
+ {
3550
+ name: "tick",
3551
+ type: "i32"
3552
+ },
3553
+ {
3554
+ name: "tick_id",
3555
+ type: "u32"
3556
+ },
3557
+ {
3558
+ name: "supply_amount",
3559
+ type: "u64"
3560
+ },
3561
+ {
3562
+ name: "dust_debt_amount",
3563
+ type: "u64"
3564
+ },
3565
+ {
3566
+ name: "bump",
3567
+ type: "u8"
3568
+ }
3569
+ ]
3570
+ }
3571
+ },
3572
+ {
3573
+ name: "SourceType",
3574
+ type: {
3575
+ kind: "enum",
3576
+ variants: [
3577
+ {
3578
+ name: "Pyth"
3579
+ }
3580
+ ]
3581
+ }
3582
+ },
3583
+ {
3584
+ name: "Sources",
3585
+ type: {
3586
+ kind: "struct",
3587
+ fields: [
3588
+ {
3589
+ name: "source",
3590
+ type: "pubkey"
3591
+ },
3592
+ {
3593
+ name: "invert",
3594
+ type: "bool"
3595
+ },
3596
+ {
3597
+ name: "multiplier",
3598
+ type: "u128"
3599
+ },
3600
+ {
3601
+ name: "divisor",
3602
+ type: "u128"
3603
+ },
3604
+ {
3605
+ name: "source_type",
3606
+ type: {
3607
+ defined: {
3608
+ name: "SourceType"
3609
+ }
3610
+ }
3611
+ }
3612
+ ]
3613
+ }
3614
+ },
3615
+ {
3616
+ name: "Tick",
3617
+ docs: [
3618
+ "Tick data structure"
3619
+ ],
3620
+ serialization: "bytemuck",
3621
+ repr: {
3622
+ kind: "c",
3623
+ packed: true
3624
+ },
3625
+ type: {
3626
+ kind: "struct",
3627
+ fields: [
3628
+ {
3629
+ name: "vault_id",
3630
+ type: "u16"
3631
+ },
3632
+ {
3633
+ name: "tick",
3634
+ type: "i32"
3635
+ },
3636
+ {
3637
+ name: "is_liquidated",
3638
+ type: "u8"
3639
+ },
3640
+ {
3641
+ name: "total_ids",
3642
+ type: "u32"
3643
+ },
3644
+ {
3645
+ name: "raw_debt",
3646
+ type: "u64"
3647
+ },
3648
+ {
3649
+ name: "is_fully_liquidated",
3650
+ type: "u8"
3651
+ },
3652
+ {
3653
+ name: "liquidation_branch_id",
3654
+ type: "u32"
3655
+ },
3656
+ {
3657
+ name: "debt_factor",
3658
+ type: "u64"
3659
+ },
3660
+ {
3661
+ name: "bump",
3662
+ type: "u8"
3663
+ }
3664
+ ]
3665
+ }
3666
+ },
3667
+ {
3668
+ name: "TickHasDebt",
3669
+ docs: [
3670
+ "Tick has debt structure",
3671
+ "Each TickHasDebt can track 8 * 256 = 2048 ticks",
3672
+ "children_bits has 32 bytes = 256 bits total",
3673
+ "Each map within the array covers 256 ticks"
3674
+ ],
3675
+ repr: {
3676
+ kind: "c",
3677
+ packed: true
3678
+ },
3679
+ type: {
3680
+ kind: "struct",
3681
+ fields: [
3682
+ {
3683
+ name: "children_bits",
3684
+ type: {
3685
+ array: [
3686
+ "u8",
3687
+ 32
3688
+ ]
3689
+ }
3690
+ }
3691
+ ]
3692
+ }
3693
+ },
3694
+ {
3695
+ name: "TickHasDebtArray",
3696
+ serialization: "bytemuck",
3697
+ repr: {
3698
+ kind: "c",
3699
+ packed: true
3700
+ },
3701
+ type: {
3702
+ kind: "struct",
3703
+ fields: [
3704
+ {
3705
+ name: "vault_id",
3706
+ type: "u16"
3707
+ },
3708
+ {
3709
+ name: "index",
3710
+ type: "u8"
3711
+ },
3712
+ {
3713
+ name: "tick_has_debt",
3714
+ docs: [
3715
+ "Each array contains 8 TickHasDebt structs",
3716
+ "Each TickHasDebt covers 256 ticks",
3717
+ "Total: 8 * 256 = 2048 ticks per TickHasDebtArray"
3718
+ ],
3719
+ type: {
3720
+ array: [
3721
+ {
3722
+ defined: {
3723
+ name: "TickHasDebt"
3724
+ }
3725
+ },
3726
+ 8
3727
+ ]
3728
+ }
3729
+ }
3730
+ ]
3731
+ }
3732
+ },
3733
+ {
3734
+ name: "TickIdLiquidation",
3735
+ docs: [
3736
+ "Tick ID liquidation data"
3737
+ ],
3738
+ serialization: "bytemuck",
3739
+ repr: {
3740
+ kind: "c",
3741
+ packed: true
3742
+ },
3743
+ type: {
3744
+ kind: "struct",
3745
+ fields: [
3746
+ {
3747
+ name: "vault_id",
3748
+ type: "u16"
3749
+ },
3750
+ {
3751
+ name: "tick",
3752
+ type: "i32"
3753
+ },
3754
+ {
3755
+ name: "tick_map",
3756
+ type: "u32"
3757
+ },
3758
+ {
3759
+ name: "is_fully_liquidated_1",
3760
+ type: "u8"
3761
+ },
3762
+ {
3763
+ name: "liquidation_branch_id_1",
3764
+ type: "u32"
3765
+ },
3766
+ {
3767
+ name: "debt_factor_1",
3768
+ type: "u64"
3769
+ },
3770
+ {
3771
+ name: "is_fully_liquidated_2",
3772
+ type: "u8"
3773
+ },
3774
+ {
3775
+ name: "liquidation_branch_id_2",
3776
+ type: "u32"
3777
+ },
3778
+ {
3779
+ name: "debt_factor_2",
3780
+ type: "u64"
3781
+ },
3782
+ {
3783
+ name: "is_fully_liquidated_3",
3784
+ type: "u8"
3785
+ },
3786
+ {
3787
+ name: "liquidation_branch_id_3",
3788
+ type: "u32"
3789
+ },
3790
+ {
3791
+ name: "debt_factor_3",
3792
+ type: "u64"
3793
+ }
3794
+ ]
3795
+ }
3796
+ },
3797
+ {
3798
+ name: "TokenReserve",
3799
+ docs: [
3800
+ "Token configuration and exchange prices"
3801
+ ],
3802
+ serialization: "bytemuck",
3803
+ repr: {
3804
+ kind: "c",
3805
+ packed: true
3806
+ },
3807
+ type: {
3808
+ kind: "struct",
3809
+ fields: [
3810
+ {
3811
+ name: "mint",
3812
+ type: "pubkey"
3813
+ },
3814
+ {
3815
+ name: "vault",
3816
+ type: "pubkey"
3817
+ },
3818
+ {
3819
+ name: "borrow_rate",
3820
+ type: "u16"
3821
+ },
3822
+ {
3823
+ name: "fee_on_interest",
3824
+ type: "u16"
3825
+ },
3826
+ {
3827
+ name: "last_utilization",
3828
+ type: "u16"
3829
+ },
3830
+ {
3831
+ name: "last_update_timestamp",
3832
+ type: "u64"
3833
+ },
3834
+ {
3835
+ name: "supply_exchange_price",
3836
+ type: "u64"
3837
+ },
3838
+ {
3839
+ name: "borrow_exchange_price",
3840
+ type: "u64"
3841
+ },
3842
+ {
3843
+ name: "max_utilization",
3844
+ type: "u16"
3845
+ },
3846
+ {
3847
+ name: "total_supply_with_interest",
3848
+ type: "u64"
3849
+ },
3850
+ {
3851
+ name: "total_supply_interest_free",
3852
+ type: "u64"
3853
+ },
3854
+ {
3855
+ name: "total_borrow_with_interest",
3856
+ type: "u64"
3857
+ },
3858
+ {
3859
+ name: "total_borrow_interest_free",
3860
+ type: "u64"
3861
+ },
3862
+ {
3863
+ name: "total_claim_amount",
3864
+ type: "u64"
3865
+ },
3866
+ {
3867
+ name: "interacting_protocol",
3868
+ type: "pubkey"
3869
+ },
3870
+ {
3871
+ name: "interacting_timestamp",
3872
+ type: "u64"
3873
+ },
3874
+ {
3875
+ name: "interacting_balance",
3876
+ type: "u64"
3877
+ }
3878
+ ]
3879
+ }
3880
+ },
3881
+ {
3882
+ name: "UpdateCoreSettingsParams",
3883
+ type: {
3884
+ kind: "struct",
3885
+ fields: [
3886
+ {
3887
+ name: "supply_rate_magnifier",
3888
+ type: "i16"
3889
+ },
3890
+ {
3891
+ name: "borrow_rate_magnifier",
3892
+ type: "i16"
3893
+ },
3894
+ {
3895
+ name: "collateral_factor",
3896
+ type: "u16"
3897
+ },
3898
+ {
3899
+ name: "liquidation_threshold",
3900
+ type: "u16"
3901
+ },
3902
+ {
3903
+ name: "liquidation_max_limit",
3904
+ type: "u16"
3905
+ },
3906
+ {
3907
+ name: "withdraw_gap",
3908
+ type: "u16"
3909
+ },
3910
+ {
3911
+ name: "liquidation_penalty",
3912
+ type: "u16"
3913
+ },
3914
+ {
3915
+ name: "borrow_fee",
3916
+ type: "u16"
3917
+ }
3918
+ ]
3919
+ }
3920
+ },
3921
+ {
3922
+ name: "UserBorrowPosition",
3923
+ docs: [
3924
+ "User borrow position"
3925
+ ],
3926
+ serialization: "bytemuck",
3927
+ repr: {
3928
+ kind: "c",
3929
+ packed: true
3930
+ },
3931
+ type: {
3932
+ kind: "struct",
3933
+ fields: [
3934
+ {
3935
+ name: "protocol",
3936
+ type: "pubkey"
3937
+ },
3938
+ {
3939
+ name: "mint",
3940
+ type: "pubkey"
3941
+ },
3942
+ {
3943
+ name: "with_interest",
3944
+ type: "u8"
3945
+ },
3946
+ {
3947
+ name: "amount",
3948
+ type: "u64"
3949
+ },
3950
+ {
3951
+ name: "debt_ceiling",
3952
+ type: "u64"
3953
+ },
3954
+ {
3955
+ name: "last_update",
3956
+ type: "u64"
3957
+ },
3958
+ {
3959
+ name: "expand_pct",
3960
+ type: "u16"
3961
+ },
3962
+ {
3963
+ name: "expand_duration",
3964
+ type: "u32"
3965
+ },
3966
+ {
3967
+ name: "base_debt_ceiling",
3968
+ type: "u64"
3969
+ },
3970
+ {
3971
+ name: "max_debt_ceiling",
3972
+ type: "u64"
3973
+ },
3974
+ {
3975
+ name: "status",
3976
+ type: "u8"
3977
+ }
3978
+ ]
3979
+ }
3980
+ },
3981
+ {
3982
+ name: "UserSupplyPosition",
3983
+ docs: [
3984
+ "User supply position"
3985
+ ],
3986
+ serialization: "bytemuck",
3987
+ repr: {
3988
+ kind: "c",
3989
+ packed: true
3990
+ },
3991
+ type: {
3992
+ kind: "struct",
3993
+ fields: [
3994
+ {
3995
+ name: "protocol",
3996
+ type: "pubkey"
3997
+ },
3998
+ {
3999
+ name: "mint",
4000
+ type: "pubkey"
4001
+ },
4002
+ {
4003
+ name: "with_interest",
4004
+ type: "u8"
4005
+ },
4006
+ {
4007
+ name: "amount",
4008
+ type: "u64"
4009
+ },
4010
+ {
4011
+ name: "withdrawal_limit",
4012
+ type: "u128"
4013
+ },
4014
+ {
4015
+ name: "last_update",
4016
+ type: "u64"
4017
+ },
4018
+ {
4019
+ name: "expand_pct",
4020
+ type: "u16"
4021
+ },
4022
+ {
4023
+ name: "expand_duration",
4024
+ type: "u64"
4025
+ },
4026
+ {
4027
+ name: "base_withdrawal_limit",
4028
+ type: "u64"
4029
+ },
4030
+ {
4031
+ name: "status",
4032
+ type: "u8"
4033
+ }
4034
+ ]
4035
+ }
4036
+ },
4037
+ {
4038
+ name: "VaultAdmin",
4039
+ type: {
4040
+ kind: "struct",
4041
+ fields: [
4042
+ {
4043
+ name: "authority",
4044
+ type: "pubkey"
4045
+ },
4046
+ {
4047
+ name: "liquidity_program",
4048
+ type: "pubkey"
4049
+ },
4050
+ {
4051
+ name: "next_vault_id",
4052
+ type: "u16"
4053
+ },
4054
+ {
4055
+ name: "auths",
4056
+ type: {
4057
+ vec: "pubkey"
4058
+ }
4059
+ },
4060
+ {
4061
+ name: "bump",
4062
+ type: "u8"
4063
+ }
4064
+ ]
4065
+ }
4066
+ },
4067
+ {
4068
+ name: "VaultConfig",
4069
+ serialization: "bytemuck",
4070
+ repr: {
4071
+ kind: "c",
4072
+ packed: true
4073
+ },
4074
+ type: {
4075
+ kind: "struct",
4076
+ fields: [
4077
+ {
4078
+ name: "vault_id",
4079
+ type: "u16"
4080
+ },
4081
+ {
4082
+ name: "supply_rate_magnifier",
4083
+ type: "i16"
4084
+ },
4085
+ {
4086
+ name: "borrow_rate_magnifier",
4087
+ type: "i16"
4088
+ },
4089
+ {
4090
+ name: "collateral_factor",
4091
+ type: "u16"
4092
+ },
4093
+ {
4094
+ name: "liquidation_threshold",
4095
+ type: "u16"
4096
+ },
4097
+ {
4098
+ name: "liquidation_max_limit",
4099
+ type: "u16"
4100
+ },
4101
+ {
4102
+ name: "withdraw_gap",
4103
+ type: "u16"
4104
+ },
4105
+ {
4106
+ name: "liquidation_penalty",
4107
+ type: "u16"
4108
+ },
4109
+ {
4110
+ name: "borrow_fee",
4111
+ type: "u16"
4112
+ },
4113
+ {
4114
+ name: "oracle",
4115
+ type: "pubkey"
4116
+ },
4117
+ {
4118
+ name: "rebalancer",
4119
+ type: "pubkey"
4120
+ },
4121
+ {
4122
+ name: "liquidity_program",
4123
+ type: "pubkey"
4124
+ },
4125
+ {
4126
+ name: "oracle_program",
4127
+ type: "pubkey"
4128
+ },
4129
+ {
4130
+ name: "supply_token",
4131
+ type: "pubkey"
4132
+ },
4133
+ {
4134
+ name: "borrow_token",
4135
+ type: "pubkey"
4136
+ },
4137
+ {
4138
+ name: "bump",
4139
+ type: "u8"
4140
+ }
4141
+ ]
4142
+ }
4143
+ },
4144
+ {
4145
+ name: "VaultMetadata",
4146
+ type: {
4147
+ kind: "struct",
4148
+ fields: [
4149
+ {
4150
+ name: "vault_id",
4151
+ type: "u16"
4152
+ },
4153
+ {
4154
+ name: "lookup_table",
4155
+ type: "pubkey"
4156
+ }
4157
+ ]
4158
+ }
4159
+ },
4160
+ {
4161
+ name: "VaultState",
4162
+ serialization: "bytemuck",
4163
+ repr: {
4164
+ kind: "c",
4165
+ packed: true
4166
+ },
4167
+ type: {
4168
+ kind: "struct",
4169
+ fields: [
4170
+ {
4171
+ name: "vault_id",
4172
+ type: "u16"
4173
+ },
4174
+ {
4175
+ name: "branch_liquidated",
4176
+ type: "u8"
4177
+ },
4178
+ {
4179
+ name: "topmost_tick",
4180
+ type: "i32"
4181
+ },
4182
+ {
4183
+ name: "current_branch_id",
4184
+ type: "u32"
4185
+ },
4186
+ {
4187
+ name: "total_branch_id",
4188
+ type: "u32"
4189
+ },
4190
+ {
4191
+ name: "total_supply",
4192
+ type: "u64"
4193
+ },
4194
+ {
4195
+ name: "total_borrow",
4196
+ type: "u64"
4197
+ },
4198
+ {
4199
+ name: "total_positions",
4200
+ type: "u32"
4201
+ },
4202
+ {
4203
+ name: "absorbed_debt_amount",
4204
+ type: "u128"
4205
+ },
4206
+ {
4207
+ name: "absorbed_col_amount",
4208
+ type: "u128"
4209
+ },
4210
+ {
4211
+ name: "absorbed_dust_debt",
4212
+ type: "u64"
4213
+ },
4214
+ {
4215
+ name: "liquidity_supply_exchange_price",
4216
+ type: "u64"
4217
+ },
4218
+ {
4219
+ name: "liquidity_borrow_exchange_price",
4220
+ type: "u64"
4221
+ },
4222
+ {
4223
+ name: "vault_supply_exchange_price",
4224
+ type: "u64"
4225
+ },
4226
+ {
4227
+ name: "vault_borrow_exchange_price",
4228
+ type: "u64"
4229
+ },
4230
+ {
4231
+ name: "next_position_id",
4232
+ type: "u32"
4233
+ },
4234
+ {
4235
+ name: "last_update_timestamp",
4236
+ type: "u64"
4237
+ }
4238
+ ]
4239
+ }
4240
+ }
4241
+ ];
4242
+ const vaults = {
4243
+ address: address,
4244
+ metadata: metadata,
4245
+ instructions: instructions,
4246
+ accounts: accounts,
4247
+ events: events,
4248
+ errors: errors,
4249
+ types: types
4250
+ };
4251
+
4252
+ const getVaultConfig = (vaultId) => {
4253
+ const [pda] = PublicKey.findProgramAddressSync(
4254
+ [Buffer.from("vault_config"), Buffer.from(vaultId.toString())],
4255
+ new PublicKey(vaults.address)
4256
+ );
4257
+ return pda;
4258
+ };
4259
+ const getVaultMetadata = (vaultId) => {
4260
+ const [pda] = PublicKey.findProgramAddressSync(
4261
+ [Buffer.from("vault_metadata"), Buffer.from(vaultId.toString())],
4262
+ new PublicKey(vaults.address)
4263
+ );
4264
+ return pda;
4265
+ };
4266
+ const getVaultAdmin = () => {
4267
+ const [pda] = PublicKey.findProgramAddressSync(
4268
+ [Buffer.from("vault_admin")],
4269
+ new PublicKey(vaults.address)
4270
+ );
4271
+ return pda;
4272
+ };
4273
+ const getVaultState = (vaultId) => {
4274
+ const [pda] = PublicKey.findProgramAddressSync(
4275
+ [Buffer.from("vault_state"), Buffer.from(vaultId.toString())],
4276
+ new PublicKey(vaults.address)
4277
+ );
4278
+ return pda;
4279
+ };
4280
+ const getLiquidity = () => {
4281
+ const [pda] = PublicKey.findProgramAddressSync(
4282
+ [Buffer.from("liquidity")],
4283
+ new PublicKey(liquidity.address)
4284
+ );
4285
+ return pda;
4286
+ };
4287
+ const getBranch = (vaultId, branchId) => {
4288
+ const [pda] = PublicKey.findProgramAddressSync(
4289
+ [
4290
+ Buffer.from("branch"),
4291
+ Buffer.from(vaultId.toString()),
4292
+ Buffer.from(branchId.toString())
4293
+ ],
4294
+ new PublicKey(vaults.address)
4295
+ );
4296
+ return pda;
4297
+ };
4298
+ const getPosition = (vaultId, positionId) => {
4299
+ const [pda] = PublicKey.findProgramAddressSync(
4300
+ [
4301
+ Buffer.from("position"),
4302
+ Buffer.from(vaultId.toString()),
4303
+ Buffer.from(positionId.toString())
4304
+ ],
4305
+ new PublicKey(vaults.address)
4306
+ );
4307
+ return pda;
4308
+ };
4309
+ const MAX_TICK = 16383;
4310
+ const getTick = (vaultId, tick) => {
4311
+ const [pda] = PublicKey.findProgramAddressSync(
4312
+ [
4313
+ Buffer.from("tick"),
4314
+ Buffer.from(vaultId.toString()),
4315
+ Buffer.from((tick + MAX_TICK).toString())
4316
+ ],
4317
+ new PublicKey(vaults.address)
4318
+ );
4319
+ return pda;
4320
+ };
4321
+ const getTickIdLiquidation = (vaultId, tick, totalIds) => {
4322
+ const [pda] = PublicKey.findProgramAddressSync(
4323
+ [
4324
+ Buffer.from("tick_id_data"),
4325
+ Buffer.from(vaultId.toString()),
4326
+ Buffer.from((tick + MAX_TICK).toString()),
4327
+ Buffer.from(((totalIds + 2) / 3).toFixed(0))
4328
+ ],
4329
+ new PublicKey(vaults.address)
4330
+ );
4331
+ return pda;
4332
+ };
4333
+ const getPositionMint = (vaultId, positionId) => {
4334
+ const [pda] = PublicKey.findProgramAddressSync(
4335
+ [
4336
+ Buffer.from("position_mint"),
4337
+ Buffer.from(vaultId.toString()),
4338
+ Buffer.from(positionId.toString())
4339
+ ],
4340
+ new PublicKey(vaults.address)
4341
+ );
4342
+ return pda;
4343
+ };
4344
+ const getPositionTokenAccount = (vaultId, positionId, user) => {
4345
+ return getAssociatedTokenAddressSync(
4346
+ getPositionMint(vaultId, positionId),
4347
+ user,
4348
+ false
4349
+ );
4350
+ };
4351
+ const getLiquidityReserve = (asset) => {
4352
+ const [pda] = PublicKey.findProgramAddressSync(
4353
+ [Buffer.from("reserve"), asset.toBuffer()],
4354
+ new PublicKey(liquidity.address)
4355
+ );
4356
+ return pda;
4357
+ };
4358
+ const getRateModel = (asset) => {
4359
+ const [pda] = PublicKey.findProgramAddressSync(
4360
+ [Buffer.from("rate_model"), asset.toBuffer()],
4361
+ new PublicKey(liquidity.address)
4362
+ );
4363
+ return pda;
4364
+ };
4365
+ const getClaimAccount = (asset, user) => {
4366
+ const [pda] = PublicKey.findProgramAddressSync(
4367
+ [Buffer.from("user_claim"), user.toBuffer(), asset.toBuffer()],
4368
+ new PublicKey(liquidity.address)
4369
+ );
4370
+ return pda;
4371
+ };
4372
+ const getUserSupplyPosition = (asset, protocol) => {
4373
+ const [pda] = PublicKey.findProgramAddressSync(
4374
+ [
4375
+ Buffer.from("user_supply_position"),
4376
+ asset.toBuffer(),
4377
+ protocol.toBuffer()
4378
+ ],
4379
+ new PublicKey(liquidity.address)
4380
+ );
4381
+ return pda;
4382
+ };
4383
+ const getUserBorrowPosition = (asset, protocol) => {
4384
+ const [pda] = PublicKey.findProgramAddressSync(
4385
+ [
4386
+ Buffer.from("user_borrow_position"),
4387
+ asset.toBuffer(),
4388
+ protocol.toBuffer()
4389
+ ],
4390
+ new PublicKey(liquidity.address)
4391
+ );
4392
+ return pda;
4393
+ };
4394
+ const getTickHasDebt = (vaultId, index) => {
4395
+ const [pda] = PublicKey.findProgramAddressSync(
4396
+ [
4397
+ Buffer.from("tick_has_debt"),
4398
+ Buffer.from(vaultId.toString()),
4399
+ Buffer.from(index.toString())
4400
+ ],
4401
+ new PublicKey(vaults.address)
4402
+ );
4403
+ return pda;
4404
+ };
4405
+
4406
+ const borrow = {
4407
+ __proto__: null,
4408
+ getBranch: getBranch,
4409
+ getClaimAccount: getClaimAccount,
4410
+ getLiquidity: getLiquidity,
4411
+ getLiquidityReserve: getLiquidityReserve,
4412
+ getPosition: getPosition,
4413
+ getPositionMint: getPositionMint,
4414
+ getPositionTokenAccount: getPositionTokenAccount,
4415
+ getRateModel: getRateModel,
4416
+ getTick: getTick,
4417
+ getTickHasDebt: getTickHasDebt,
4418
+ getTickIdLiquidation: getTickIdLiquidation,
4419
+ getUserBorrowPosition: getUserBorrowPosition,
4420
+ getUserSupplyPosition: getUserSupplyPosition,
4421
+ getVaultAdmin: getVaultAdmin,
4422
+ getVaultConfig: getVaultConfig,
4423
+ getVaultMetadata: getVaultMetadata,
4424
+ getVaultState: getVaultState
4425
+ };
4426
+
4427
+ export { getTickIdLiquidation as a, borrow as b, getVaultState as c, getVaultConfig as d, getBranch as e, getTickHasDebt as f, getTick as g, getVaultMetadata as h, getPosition as i, getLiquidity as j, getClaimAccount as k, getRateModel as l, getUserBorrowPosition as m, getUserSupplyPosition as n, getLiquidityReserve as o, getPositionTokenAccount as p, vaults as v };