@jup-ag/lend 0.0.106 → 0.0.107-beta.1

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