@jup-ag/lend 0.0.7 → 0.0.9

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