@jup-ag/lend 0.1.10 → 0.2.0-beta.2

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,4745 @@
1
+ import * as _solana_web3_js from '@solana/web3.js';
2
+ import { Connection, PublicKey } from '@solana/web3.js';
3
+ import BN__default 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/dex.json`.
11
+ */
12
+ type Dex = {
13
+ address: "jupZ4m2GqUCJ5iueMfzQf8khFfH31d4XAQt3RzCT9Vd";
14
+ metadata: {
15
+ name: "dex";
16
+ version: "0.1.0";
17
+ spec: "0.1.0";
18
+ description: "Created with Anchor";
19
+ };
20
+ instructions: [
21
+ {
22
+ name: "borrow";
23
+ discriminator: [228, 253, 131, 202, 207, 116, 89, 18];
24
+ accounts: [
25
+ {
26
+ name: "signer";
27
+ docs: [
28
+ "The protocol calling the operation (must match position.protocol)"
29
+ ];
30
+ writable: true;
31
+ signer: true;
32
+ },
33
+ {
34
+ name: "dex";
35
+ docs: ["DEX pool state"];
36
+ writable: true;
37
+ },
38
+ {
39
+ name: "user";
40
+ signer: true;
41
+ },
42
+ {
43
+ name: "position";
44
+ docs: ["The user's DexPosition (tracks shares and limits)"];
45
+ writable: true;
46
+ },
47
+ {
48
+ name: "userToken0Account";
49
+ writable: true;
50
+ },
51
+ {
52
+ name: "userToken1Account";
53
+ writable: true;
54
+ },
55
+ {
56
+ name: "token0";
57
+ },
58
+ {
59
+ name: "token1";
60
+ },
61
+ {
62
+ name: "token0Reserve";
63
+ writable: true;
64
+ },
65
+ {
66
+ name: "token1Reserve";
67
+ writable: true;
68
+ },
69
+ {
70
+ name: "token0RateModel";
71
+ },
72
+ {
73
+ name: "token1RateModel";
74
+ },
75
+ {
76
+ name: "token0Vault";
77
+ docs: ["Liquidity vault token account for tokens"];
78
+ writable: true;
79
+ },
80
+ {
81
+ name: "token1Vault";
82
+ writable: true;
83
+ },
84
+ {
85
+ name: "dexSupplyPositionToken0";
86
+ docs: ["DEX's supply position for tokens on liquidity"];
87
+ writable: true;
88
+ optional: true;
89
+ },
90
+ {
91
+ name: "dexSupplyPositionToken1";
92
+ writable: true;
93
+ optional: true;
94
+ },
95
+ {
96
+ name: "dexBorrowPositionToken0";
97
+ docs: ["DEX's borrow position for tokens on liquidity"];
98
+ writable: true;
99
+ optional: true;
100
+ },
101
+ {
102
+ name: "dexBorrowPositionToken1";
103
+ writable: true;
104
+ optional: true;
105
+ },
106
+ {
107
+ name: "liquidity";
108
+ },
109
+ {
110
+ name: "liquidityProgram";
111
+ },
112
+ {
113
+ name: "oracleProgram";
114
+ },
115
+ {
116
+ name: "token0Program";
117
+ },
118
+ {
119
+ name: "token1Program";
120
+ },
121
+ {
122
+ name: "associatedTokenProgram";
123
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
124
+ }
125
+ ];
126
+ args: [
127
+ {
128
+ name: "token0Amt";
129
+ type: "u64";
130
+ },
131
+ {
132
+ name: "token1Amt";
133
+ type: "u64";
134
+ },
135
+ {
136
+ name: "maxShares";
137
+ type: "u64";
138
+ }
139
+ ];
140
+ returns: "u128";
141
+ },
142
+ {
143
+ name: "borrowPerfect";
144
+ discriminator: [210, 67, 245, 255, 134, 200, 153, 58];
145
+ accounts: [
146
+ {
147
+ name: "signer";
148
+ docs: [
149
+ "The protocol calling the operation (must match position.protocol)"
150
+ ];
151
+ writable: true;
152
+ signer: true;
153
+ },
154
+ {
155
+ name: "dex";
156
+ docs: ["DEX pool state"];
157
+ writable: true;
158
+ },
159
+ {
160
+ name: "user";
161
+ signer: true;
162
+ },
163
+ {
164
+ name: "position";
165
+ docs: ["The user's DexPosition (tracks shares and limits)"];
166
+ writable: true;
167
+ },
168
+ {
169
+ name: "userToken0Account";
170
+ writable: true;
171
+ },
172
+ {
173
+ name: "userToken1Account";
174
+ writable: true;
175
+ },
176
+ {
177
+ name: "token0";
178
+ },
179
+ {
180
+ name: "token1";
181
+ },
182
+ {
183
+ name: "token0Reserve";
184
+ writable: true;
185
+ },
186
+ {
187
+ name: "token1Reserve";
188
+ writable: true;
189
+ },
190
+ {
191
+ name: "token0RateModel";
192
+ },
193
+ {
194
+ name: "token1RateModel";
195
+ },
196
+ {
197
+ name: "token0Vault";
198
+ docs: ["Liquidity vault token account for tokens"];
199
+ writable: true;
200
+ },
201
+ {
202
+ name: "token1Vault";
203
+ writable: true;
204
+ },
205
+ {
206
+ name: "dexSupplyPositionToken0";
207
+ docs: ["DEX's supply position for tokens on liquidity"];
208
+ writable: true;
209
+ optional: true;
210
+ },
211
+ {
212
+ name: "dexSupplyPositionToken1";
213
+ writable: true;
214
+ optional: true;
215
+ },
216
+ {
217
+ name: "dexBorrowPositionToken0";
218
+ docs: ["DEX's borrow position for tokens on liquidity"];
219
+ writable: true;
220
+ optional: true;
221
+ },
222
+ {
223
+ name: "dexBorrowPositionToken1";
224
+ writable: true;
225
+ optional: true;
226
+ },
227
+ {
228
+ name: "liquidity";
229
+ },
230
+ {
231
+ name: "liquidityProgram";
232
+ },
233
+ {
234
+ name: "oracleProgram";
235
+ },
236
+ {
237
+ name: "token0Program";
238
+ },
239
+ {
240
+ name: "token1Program";
241
+ },
242
+ {
243
+ name: "associatedTokenProgram";
244
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
245
+ }
246
+ ];
247
+ args: [
248
+ {
249
+ name: "shares";
250
+ type: "u64";
251
+ },
252
+ {
253
+ name: "minToken0";
254
+ type: "u64";
255
+ },
256
+ {
257
+ name: "minToken1";
258
+ type: "u64";
259
+ }
260
+ ];
261
+ },
262
+ {
263
+ name: "deposit";
264
+ discriminator: [242, 35, 198, 137, 82, 225, 242, 182];
265
+ accounts: [
266
+ {
267
+ name: "signer";
268
+ docs: [
269
+ "The protocol calling the operation (must match position.protocol)"
270
+ ];
271
+ writable: true;
272
+ signer: true;
273
+ },
274
+ {
275
+ name: "dex";
276
+ docs: ["DEX pool state"];
277
+ writable: true;
278
+ },
279
+ {
280
+ name: "user";
281
+ signer: true;
282
+ },
283
+ {
284
+ name: "position";
285
+ docs: ["The user's DexPosition (tracks shares and limits)"];
286
+ writable: true;
287
+ },
288
+ {
289
+ name: "userToken0Account";
290
+ writable: true;
291
+ },
292
+ {
293
+ name: "userToken1Account";
294
+ writable: true;
295
+ },
296
+ {
297
+ name: "token0";
298
+ },
299
+ {
300
+ name: "token1";
301
+ },
302
+ {
303
+ name: "token0Reserve";
304
+ writable: true;
305
+ },
306
+ {
307
+ name: "token1Reserve";
308
+ writable: true;
309
+ },
310
+ {
311
+ name: "token0RateModel";
312
+ },
313
+ {
314
+ name: "token1RateModel";
315
+ },
316
+ {
317
+ name: "token0Vault";
318
+ docs: ["Liquidity vault token account for tokens"];
319
+ writable: true;
320
+ },
321
+ {
322
+ name: "token1Vault";
323
+ writable: true;
324
+ },
325
+ {
326
+ name: "dexSupplyPositionToken0";
327
+ docs: ["DEX's supply position for tokens on liquidity"];
328
+ writable: true;
329
+ optional: true;
330
+ },
331
+ {
332
+ name: "dexSupplyPositionToken1";
333
+ writable: true;
334
+ optional: true;
335
+ },
336
+ {
337
+ name: "dexBorrowPositionToken0";
338
+ docs: ["DEX's borrow position for tokens on liquidity"];
339
+ writable: true;
340
+ optional: true;
341
+ },
342
+ {
343
+ name: "dexBorrowPositionToken1";
344
+ writable: true;
345
+ optional: true;
346
+ },
347
+ {
348
+ name: "liquidity";
349
+ },
350
+ {
351
+ name: "liquidityProgram";
352
+ },
353
+ {
354
+ name: "oracleProgram";
355
+ },
356
+ {
357
+ name: "token0Program";
358
+ },
359
+ {
360
+ name: "token1Program";
361
+ },
362
+ {
363
+ name: "associatedTokenProgram";
364
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
365
+ }
366
+ ];
367
+ args: [
368
+ {
369
+ name: "token0Amt";
370
+ type: "u64";
371
+ },
372
+ {
373
+ name: "token1Amt";
374
+ type: "u64";
375
+ },
376
+ {
377
+ name: "minShares";
378
+ type: "u64";
379
+ }
380
+ ];
381
+ returns: "u128";
382
+ },
383
+ {
384
+ name: "depositPerfect";
385
+ discriminator: [4, 98, 66, 216, 110, 126, 154, 8];
386
+ accounts: [
387
+ {
388
+ name: "signer";
389
+ docs: [
390
+ "The protocol calling the operation (must match position.protocol)"
391
+ ];
392
+ writable: true;
393
+ signer: true;
394
+ },
395
+ {
396
+ name: "dex";
397
+ docs: ["DEX pool state"];
398
+ writable: true;
399
+ },
400
+ {
401
+ name: "user";
402
+ signer: true;
403
+ },
404
+ {
405
+ name: "position";
406
+ docs: ["The user's DexPosition (tracks shares and limits)"];
407
+ writable: true;
408
+ },
409
+ {
410
+ name: "userToken0Account";
411
+ writable: true;
412
+ },
413
+ {
414
+ name: "userToken1Account";
415
+ writable: true;
416
+ },
417
+ {
418
+ name: "token0";
419
+ },
420
+ {
421
+ name: "token1";
422
+ },
423
+ {
424
+ name: "token0Reserve";
425
+ writable: true;
426
+ },
427
+ {
428
+ name: "token1Reserve";
429
+ writable: true;
430
+ },
431
+ {
432
+ name: "token0RateModel";
433
+ },
434
+ {
435
+ name: "token1RateModel";
436
+ },
437
+ {
438
+ name: "token0Vault";
439
+ docs: ["Liquidity vault token account for tokens"];
440
+ writable: true;
441
+ },
442
+ {
443
+ name: "token1Vault";
444
+ writable: true;
445
+ },
446
+ {
447
+ name: "dexSupplyPositionToken0";
448
+ docs: ["DEX's supply position for tokens on liquidity"];
449
+ writable: true;
450
+ optional: true;
451
+ },
452
+ {
453
+ name: "dexSupplyPositionToken1";
454
+ writable: true;
455
+ optional: true;
456
+ },
457
+ {
458
+ name: "dexBorrowPositionToken0";
459
+ docs: ["DEX's borrow position for tokens on liquidity"];
460
+ writable: true;
461
+ optional: true;
462
+ },
463
+ {
464
+ name: "dexBorrowPositionToken1";
465
+ writable: true;
466
+ optional: true;
467
+ },
468
+ {
469
+ name: "liquidity";
470
+ },
471
+ {
472
+ name: "liquidityProgram";
473
+ },
474
+ {
475
+ name: "oracleProgram";
476
+ },
477
+ {
478
+ name: "token0Program";
479
+ },
480
+ {
481
+ name: "token1Program";
482
+ },
483
+ {
484
+ name: "associatedTokenProgram";
485
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
486
+ }
487
+ ];
488
+ args: [
489
+ {
490
+ name: "shares";
491
+ type: "u64";
492
+ },
493
+ {
494
+ name: "maxToken0";
495
+ type: "u64";
496
+ },
497
+ {
498
+ name: "maxToken1";
499
+ type: "u64";
500
+ }
501
+ ];
502
+ },
503
+ {
504
+ name: "initDex";
505
+ discriminator: [222, 187, 81, 48, 89, 117, 230, 164];
506
+ accounts: [
507
+ {
508
+ name: "authority";
509
+ writable: true;
510
+ signer: true;
511
+ },
512
+ {
513
+ name: "dexAdmin";
514
+ writable: true;
515
+ },
516
+ {
517
+ name: "dex";
518
+ writable: true;
519
+ pda: {
520
+ seeds: [
521
+ {
522
+ kind: "const";
523
+ value: [100, 101, 120];
524
+ },
525
+ {
526
+ kind: "account";
527
+ path: "dex_admin.next_dex_id";
528
+ account: "dexAdmin";
529
+ }
530
+ ];
531
+ };
532
+ },
533
+ {
534
+ name: "dexMetadata";
535
+ writable: true;
536
+ pda: {
537
+ seeds: [
538
+ {
539
+ kind: "const";
540
+ value: [100, 101, 120, 95, 109, 101, 116, 97, 100, 97, 116, 97];
541
+ },
542
+ {
543
+ kind: "account";
544
+ path: "dex_admin.next_dex_id";
545
+ account: "dexAdmin";
546
+ }
547
+ ];
548
+ };
549
+ },
550
+ {
551
+ name: "token0";
552
+ },
553
+ {
554
+ name: "token1";
555
+ },
556
+ {
557
+ name: "systemProgram";
558
+ address: "11111111111111111111111111111111";
559
+ }
560
+ ];
561
+ args: [
562
+ {
563
+ name: "params";
564
+ type: {
565
+ defined: {
566
+ name: "initDexParams";
567
+ };
568
+ };
569
+ }
570
+ ];
571
+ },
572
+ {
573
+ name: "initDexAdmin";
574
+ discriminator: [16, 61, 98, 61, 189, 243, 52, 252];
575
+ accounts: [
576
+ {
577
+ name: "signer";
578
+ writable: true;
579
+ signer: true;
580
+ },
581
+ {
582
+ name: "dexAdmin";
583
+ writable: true;
584
+ pda: {
585
+ seeds: [
586
+ {
587
+ kind: "const";
588
+ value: [100, 101, 120, 95, 97, 100, 109, 105, 110];
589
+ }
590
+ ];
591
+ };
592
+ },
593
+ {
594
+ name: "systemProgram";
595
+ address: "11111111111111111111111111111111";
596
+ }
597
+ ];
598
+ args: [
599
+ {
600
+ name: "liquidity";
601
+ type: "pubkey";
602
+ },
603
+ {
604
+ name: "authority";
605
+ type: "pubkey";
606
+ }
607
+ ];
608
+ },
609
+ {
610
+ name: "initDexMetadata";
611
+ discriminator: [114, 167, 144, 220, 143, 73, 224, 8];
612
+ accounts: [
613
+ {
614
+ name: "authority";
615
+ writable: true;
616
+ signer: true;
617
+ },
618
+ {
619
+ name: "dexAdmin";
620
+ },
621
+ {
622
+ name: "dex";
623
+ pda: {
624
+ seeds: [
625
+ {
626
+ kind: "const";
627
+ value: [100, 101, 120];
628
+ },
629
+ {
630
+ kind: "arg";
631
+ path: "dexId";
632
+ }
633
+ ];
634
+ };
635
+ },
636
+ {
637
+ name: "dexMetadata";
638
+ writable: true;
639
+ pda: {
640
+ seeds: [
641
+ {
642
+ kind: "const";
643
+ value: [100, 101, 120, 95, 109, 101, 116, 97, 100, 97, 116, 97];
644
+ },
645
+ {
646
+ kind: "arg";
647
+ path: "dexId";
648
+ }
649
+ ];
650
+ };
651
+ },
652
+ {
653
+ name: "systemProgram";
654
+ address: "11111111111111111111111111111111";
655
+ }
656
+ ];
657
+ args: [
658
+ {
659
+ name: "dexId";
660
+ type: "u16";
661
+ },
662
+ {
663
+ name: "lookupTable";
664
+ type: "pubkey";
665
+ }
666
+ ];
667
+ },
668
+ {
669
+ name: "initPosition";
670
+ discriminator: [197, 20, 10, 1, 97, 160, 177, 91];
671
+ accounts: [
672
+ {
673
+ name: "authority";
674
+ writable: true;
675
+ signer: true;
676
+ },
677
+ {
678
+ name: "dexAdmin";
679
+ },
680
+ {
681
+ name: "dex";
682
+ },
683
+ {
684
+ name: "position";
685
+ writable: true;
686
+ pda: {
687
+ seeds: [
688
+ {
689
+ kind: "const";
690
+ value: [
691
+ 100,
692
+ 101,
693
+ 120,
694
+ 95,
695
+ 112,
696
+ 111,
697
+ 115,
698
+ 105,
699
+ 116,
700
+ 105,
701
+ 111,
702
+ 110
703
+ ];
704
+ },
705
+ {
706
+ kind: "account";
707
+ path: "dex";
708
+ },
709
+ {
710
+ kind: "arg";
711
+ path: "protocol";
712
+ }
713
+ ];
714
+ };
715
+ },
716
+ {
717
+ name: "systemProgram";
718
+ address: "11111111111111111111111111111111";
719
+ }
720
+ ];
721
+ args: [
722
+ {
723
+ name: "protocol";
724
+ type: "pubkey";
725
+ }
726
+ ];
727
+ },
728
+ {
729
+ name: "pauseDex";
730
+ discriminator: [138, 255, 101, 0, 116, 202, 128, 100];
731
+ accounts: [
732
+ {
733
+ name: "authority";
734
+ signer: true;
735
+ },
736
+ {
737
+ name: "dexAdmin";
738
+ },
739
+ {
740
+ name: "dex";
741
+ writable: true;
742
+ }
743
+ ];
744
+ args: [];
745
+ },
746
+ {
747
+ name: "pauseSwapAndArbitrage";
748
+ discriminator: [252, 67, 166, 62, 45, 136, 88, 76];
749
+ accounts: [
750
+ {
751
+ name: "authority";
752
+ signer: true;
753
+ },
754
+ {
755
+ name: "dexAdmin";
756
+ },
757
+ {
758
+ name: "dex";
759
+ writable: true;
760
+ }
761
+ ];
762
+ args: [];
763
+ },
764
+ {
765
+ name: "pauseUser";
766
+ discriminator: [18, 63, 43, 94, 239, 53, 101, 14];
767
+ accounts: [
768
+ {
769
+ name: "authority";
770
+ signer: true;
771
+ },
772
+ {
773
+ name: "dexAdmin";
774
+ },
775
+ {
776
+ name: "dex";
777
+ },
778
+ {
779
+ name: "position";
780
+ writable: true;
781
+ }
782
+ ];
783
+ args: [
784
+ {
785
+ name: "pauseSupply";
786
+ type: "bool";
787
+ },
788
+ {
789
+ name: "pauseBorrow";
790
+ type: "bool";
791
+ }
792
+ ];
793
+ },
794
+ {
795
+ name: "payback";
796
+ discriminator: [148, 144, 50, 144, 8, 112, 203, 3];
797
+ accounts: [
798
+ {
799
+ name: "signer";
800
+ docs: [
801
+ "The protocol calling the operation (must match position.protocol)"
802
+ ];
803
+ writable: true;
804
+ signer: true;
805
+ },
806
+ {
807
+ name: "dex";
808
+ docs: ["DEX pool state"];
809
+ writable: true;
810
+ },
811
+ {
812
+ name: "user";
813
+ signer: true;
814
+ },
815
+ {
816
+ name: "position";
817
+ docs: ["The user's DexPosition (tracks shares and limits)"];
818
+ writable: true;
819
+ },
820
+ {
821
+ name: "userToken0Account";
822
+ writable: true;
823
+ },
824
+ {
825
+ name: "userToken1Account";
826
+ writable: true;
827
+ },
828
+ {
829
+ name: "token0";
830
+ },
831
+ {
832
+ name: "token1";
833
+ },
834
+ {
835
+ name: "token0Reserve";
836
+ writable: true;
837
+ },
838
+ {
839
+ name: "token1Reserve";
840
+ writable: true;
841
+ },
842
+ {
843
+ name: "token0RateModel";
844
+ },
845
+ {
846
+ name: "token1RateModel";
847
+ },
848
+ {
849
+ name: "token0Vault";
850
+ docs: ["Liquidity vault token account for tokens"];
851
+ writable: true;
852
+ },
853
+ {
854
+ name: "token1Vault";
855
+ writable: true;
856
+ },
857
+ {
858
+ name: "dexSupplyPositionToken0";
859
+ docs: ["DEX's supply position for tokens on liquidity"];
860
+ writable: true;
861
+ optional: true;
862
+ },
863
+ {
864
+ name: "dexSupplyPositionToken1";
865
+ writable: true;
866
+ optional: true;
867
+ },
868
+ {
869
+ name: "dexBorrowPositionToken0";
870
+ docs: ["DEX's borrow position for tokens on liquidity"];
871
+ writable: true;
872
+ optional: true;
873
+ },
874
+ {
875
+ name: "dexBorrowPositionToken1";
876
+ writable: true;
877
+ optional: true;
878
+ },
879
+ {
880
+ name: "liquidity";
881
+ },
882
+ {
883
+ name: "liquidityProgram";
884
+ },
885
+ {
886
+ name: "oracleProgram";
887
+ },
888
+ {
889
+ name: "token0Program";
890
+ },
891
+ {
892
+ name: "token1Program";
893
+ },
894
+ {
895
+ name: "associatedTokenProgram";
896
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
897
+ }
898
+ ];
899
+ args: [
900
+ {
901
+ name: "token0Amt";
902
+ type: "u64";
903
+ },
904
+ {
905
+ name: "token1Amt";
906
+ type: "u64";
907
+ },
908
+ {
909
+ name: "minShares";
910
+ type: "u64";
911
+ }
912
+ ];
913
+ returns: "u128";
914
+ },
915
+ {
916
+ name: "paybackPerfect";
917
+ discriminator: [39, 2, 197, 102, 11, 186, 97, 1];
918
+ accounts: [
919
+ {
920
+ name: "signer";
921
+ docs: [
922
+ "The protocol calling the operation (must match position.protocol)"
923
+ ];
924
+ writable: true;
925
+ signer: true;
926
+ },
927
+ {
928
+ name: "dex";
929
+ docs: ["DEX pool state"];
930
+ writable: true;
931
+ },
932
+ {
933
+ name: "user";
934
+ signer: true;
935
+ },
936
+ {
937
+ name: "position";
938
+ docs: ["The user's DexPosition (tracks shares and limits)"];
939
+ writable: true;
940
+ },
941
+ {
942
+ name: "userToken0Account";
943
+ writable: true;
944
+ },
945
+ {
946
+ name: "userToken1Account";
947
+ writable: true;
948
+ },
949
+ {
950
+ name: "token0";
951
+ },
952
+ {
953
+ name: "token1";
954
+ },
955
+ {
956
+ name: "token0Reserve";
957
+ writable: true;
958
+ },
959
+ {
960
+ name: "token1Reserve";
961
+ writable: true;
962
+ },
963
+ {
964
+ name: "token0RateModel";
965
+ },
966
+ {
967
+ name: "token1RateModel";
968
+ },
969
+ {
970
+ name: "token0Vault";
971
+ docs: ["Liquidity vault token account for tokens"];
972
+ writable: true;
973
+ },
974
+ {
975
+ name: "token1Vault";
976
+ writable: true;
977
+ },
978
+ {
979
+ name: "dexSupplyPositionToken0";
980
+ docs: ["DEX's supply position for tokens on liquidity"];
981
+ writable: true;
982
+ optional: true;
983
+ },
984
+ {
985
+ name: "dexSupplyPositionToken1";
986
+ writable: true;
987
+ optional: true;
988
+ },
989
+ {
990
+ name: "dexBorrowPositionToken0";
991
+ docs: ["DEX's borrow position for tokens on liquidity"];
992
+ writable: true;
993
+ optional: true;
994
+ },
995
+ {
996
+ name: "dexBorrowPositionToken1";
997
+ writable: true;
998
+ optional: true;
999
+ },
1000
+ {
1001
+ name: "liquidity";
1002
+ },
1003
+ {
1004
+ name: "liquidityProgram";
1005
+ },
1006
+ {
1007
+ name: "oracleProgram";
1008
+ },
1009
+ {
1010
+ name: "token0Program";
1011
+ },
1012
+ {
1013
+ name: "token1Program";
1014
+ },
1015
+ {
1016
+ name: "associatedTokenProgram";
1017
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
1018
+ }
1019
+ ];
1020
+ args: [
1021
+ {
1022
+ name: "shares";
1023
+ type: "u64";
1024
+ },
1025
+ {
1026
+ name: "maxToken0";
1027
+ type: "u64";
1028
+ },
1029
+ {
1030
+ name: "maxToken1";
1031
+ type: "u64";
1032
+ }
1033
+ ];
1034
+ },
1035
+ {
1036
+ name: "paybackPerfectInOneToken";
1037
+ discriminator: [134, 210, 96, 6, 127, 183, 182, 146];
1038
+ accounts: [
1039
+ {
1040
+ name: "signer";
1041
+ docs: [
1042
+ "The protocol calling the operation (must match position.protocol)"
1043
+ ];
1044
+ writable: true;
1045
+ signer: true;
1046
+ },
1047
+ {
1048
+ name: "dex";
1049
+ docs: ["DEX pool state"];
1050
+ writable: true;
1051
+ },
1052
+ {
1053
+ name: "user";
1054
+ signer: true;
1055
+ },
1056
+ {
1057
+ name: "position";
1058
+ docs: ["The user's DexPosition (tracks shares and limits)"];
1059
+ writable: true;
1060
+ },
1061
+ {
1062
+ name: "userToken0Account";
1063
+ writable: true;
1064
+ },
1065
+ {
1066
+ name: "userToken1Account";
1067
+ writable: true;
1068
+ },
1069
+ {
1070
+ name: "token0";
1071
+ },
1072
+ {
1073
+ name: "token1";
1074
+ },
1075
+ {
1076
+ name: "token0Reserve";
1077
+ writable: true;
1078
+ },
1079
+ {
1080
+ name: "token1Reserve";
1081
+ writable: true;
1082
+ },
1083
+ {
1084
+ name: "token0RateModel";
1085
+ },
1086
+ {
1087
+ name: "token1RateModel";
1088
+ },
1089
+ {
1090
+ name: "token0Vault";
1091
+ docs: ["Liquidity vault token account for tokens"];
1092
+ writable: true;
1093
+ },
1094
+ {
1095
+ name: "token1Vault";
1096
+ writable: true;
1097
+ },
1098
+ {
1099
+ name: "dexSupplyPositionToken0";
1100
+ docs: ["DEX's supply position for tokens on liquidity"];
1101
+ writable: true;
1102
+ optional: true;
1103
+ },
1104
+ {
1105
+ name: "dexSupplyPositionToken1";
1106
+ writable: true;
1107
+ optional: true;
1108
+ },
1109
+ {
1110
+ name: "dexBorrowPositionToken0";
1111
+ docs: ["DEX's borrow position for tokens on liquidity"];
1112
+ writable: true;
1113
+ optional: true;
1114
+ },
1115
+ {
1116
+ name: "dexBorrowPositionToken1";
1117
+ writable: true;
1118
+ optional: true;
1119
+ },
1120
+ {
1121
+ name: "liquidity";
1122
+ },
1123
+ {
1124
+ name: "liquidityProgram";
1125
+ },
1126
+ {
1127
+ name: "oracleProgram";
1128
+ },
1129
+ {
1130
+ name: "token0Program";
1131
+ },
1132
+ {
1133
+ name: "token1Program";
1134
+ },
1135
+ {
1136
+ name: "associatedTokenProgram";
1137
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
1138
+ }
1139
+ ];
1140
+ args: [
1141
+ {
1142
+ name: "shares";
1143
+ type: "u64";
1144
+ },
1145
+ {
1146
+ name: "maxToken0";
1147
+ type: "u64";
1148
+ },
1149
+ {
1150
+ name: "maxToken1";
1151
+ type: "u64";
1152
+ }
1153
+ ];
1154
+ returns: "u64";
1155
+ },
1156
+ {
1157
+ name: "previewDexShares";
1158
+ docs: [
1159
+ "Read-only: returns the exact collateral/debt share deltas a real operate",
1160
+ "would produce for the given (signed) token amounts, via `return_data`.",
1161
+ "Mutates nothing; meant to be run through `simulateTransaction` so an SDK",
1162
+ "can attach the correct vault tick / branch accounts. See `preview.rs`."
1163
+ ];
1164
+ discriminator: [246, 97, 50, 171, 63, 142, 62, 229];
1165
+ accounts: [
1166
+ {
1167
+ name: "dex";
1168
+ },
1169
+ {
1170
+ name: "position";
1171
+ docs: [
1172
+ "The protocol's DEX position (holds the share balances / withdrawal limits",
1173
+ "that gate the operation). Only read here; mutated on a local copy."
1174
+ ];
1175
+ },
1176
+ {
1177
+ name: "token0Reserve";
1178
+ },
1179
+ {
1180
+ name: "token1Reserve";
1181
+ },
1182
+ {
1183
+ name: "dexSupplyPositionToken0";
1184
+ optional: true;
1185
+ },
1186
+ {
1187
+ name: "dexSupplyPositionToken1";
1188
+ optional: true;
1189
+ },
1190
+ {
1191
+ name: "dexBorrowPositionToken0";
1192
+ optional: true;
1193
+ },
1194
+ {
1195
+ name: "dexBorrowPositionToken1";
1196
+ optional: true;
1197
+ },
1198
+ {
1199
+ name: "oracleProgram";
1200
+ }
1201
+ ];
1202
+ args: [
1203
+ {
1204
+ name: "colToken0";
1205
+ type: "i64";
1206
+ },
1207
+ {
1208
+ name: "colToken1";
1209
+ type: "i64";
1210
+ },
1211
+ {
1212
+ name: "debtToken0";
1213
+ type: "i64";
1214
+ },
1215
+ {
1216
+ name: "debtToken1";
1217
+ type: "i64";
1218
+ }
1219
+ ];
1220
+ },
1221
+ {
1222
+ name: "swapIn";
1223
+ discriminator: [141, 172, 10, 208, 69, 9, 56, 154];
1224
+ accounts: [
1225
+ {
1226
+ name: "signer";
1227
+ docs: [
1228
+ "The caller initiating the operation",
1229
+ "Funds will be transferred from signer to LL"
1230
+ ];
1231
+ writable: true;
1232
+ signer: true;
1233
+ },
1234
+ {
1235
+ name: "dex";
1236
+ writable: true;
1237
+ },
1238
+ {
1239
+ name: "userToken0Account";
1240
+ writable: true;
1241
+ },
1242
+ {
1243
+ name: "userToken1Account";
1244
+ writable: true;
1245
+ },
1246
+ {
1247
+ name: "recipient";
1248
+ optional: true;
1249
+ },
1250
+ {
1251
+ name: "recipientToken0Account";
1252
+ writable: true;
1253
+ optional: true;
1254
+ },
1255
+ {
1256
+ name: "recipientToken1Account";
1257
+ writable: true;
1258
+ optional: true;
1259
+ },
1260
+ {
1261
+ name: "token0";
1262
+ },
1263
+ {
1264
+ name: "token1";
1265
+ },
1266
+ {
1267
+ name: "token0Reserve";
1268
+ writable: true;
1269
+ },
1270
+ {
1271
+ name: "token1Reserve";
1272
+ writable: true;
1273
+ },
1274
+ {
1275
+ name: "token0RateModel";
1276
+ },
1277
+ {
1278
+ name: "token1RateModel";
1279
+ },
1280
+ {
1281
+ name: "token0Vault";
1282
+ docs: ["Liquidity vault token account for tokens"];
1283
+ writable: true;
1284
+ },
1285
+ {
1286
+ name: "token1Vault";
1287
+ writable: true;
1288
+ },
1289
+ {
1290
+ name: "dexSupplyPositionToken0";
1291
+ docs: ["DEX's supply position for tokens on liquidity"];
1292
+ writable: true;
1293
+ optional: true;
1294
+ },
1295
+ {
1296
+ name: "dexSupplyPositionToken1";
1297
+ writable: true;
1298
+ optional: true;
1299
+ },
1300
+ {
1301
+ name: "dexBorrowPositionToken0";
1302
+ docs: ["DEX's borrow position for tokens on liquidity"];
1303
+ writable: true;
1304
+ optional: true;
1305
+ },
1306
+ {
1307
+ name: "dexBorrowPositionToken1";
1308
+ writable: true;
1309
+ optional: true;
1310
+ },
1311
+ {
1312
+ name: "liquidity";
1313
+ },
1314
+ {
1315
+ name: "liquidityProgram";
1316
+ },
1317
+ {
1318
+ name: "token0Program";
1319
+ },
1320
+ {
1321
+ name: "token1Program";
1322
+ },
1323
+ {
1324
+ name: "oracleProgram";
1325
+ },
1326
+ {
1327
+ name: "associatedTokenProgram";
1328
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
1329
+ }
1330
+ ];
1331
+ args: [
1332
+ {
1333
+ name: "swap0to1";
1334
+ type: "bool";
1335
+ },
1336
+ {
1337
+ name: "amountIn";
1338
+ type: "u64";
1339
+ },
1340
+ {
1341
+ name: "amountOutMin";
1342
+ type: "u64";
1343
+ }
1344
+ ];
1345
+ returns: "u64";
1346
+ },
1347
+ {
1348
+ name: "swapOut";
1349
+ discriminator: [206, 36, 149, 14, 163, 132, 148, 1];
1350
+ accounts: [
1351
+ {
1352
+ name: "signer";
1353
+ docs: [
1354
+ "The caller initiating the operation",
1355
+ "Funds will be transferred from signer to LL"
1356
+ ];
1357
+ writable: true;
1358
+ signer: true;
1359
+ },
1360
+ {
1361
+ name: "dex";
1362
+ writable: true;
1363
+ },
1364
+ {
1365
+ name: "userToken0Account";
1366
+ writable: true;
1367
+ },
1368
+ {
1369
+ name: "userToken1Account";
1370
+ writable: true;
1371
+ },
1372
+ {
1373
+ name: "recipient";
1374
+ optional: true;
1375
+ },
1376
+ {
1377
+ name: "recipientToken0Account";
1378
+ writable: true;
1379
+ optional: true;
1380
+ },
1381
+ {
1382
+ name: "recipientToken1Account";
1383
+ writable: true;
1384
+ optional: true;
1385
+ },
1386
+ {
1387
+ name: "token0";
1388
+ },
1389
+ {
1390
+ name: "token1";
1391
+ },
1392
+ {
1393
+ name: "token0Reserve";
1394
+ writable: true;
1395
+ },
1396
+ {
1397
+ name: "token1Reserve";
1398
+ writable: true;
1399
+ },
1400
+ {
1401
+ name: "token0RateModel";
1402
+ },
1403
+ {
1404
+ name: "token1RateModel";
1405
+ },
1406
+ {
1407
+ name: "token0Vault";
1408
+ docs: ["Liquidity vault token account for tokens"];
1409
+ writable: true;
1410
+ },
1411
+ {
1412
+ name: "token1Vault";
1413
+ writable: true;
1414
+ },
1415
+ {
1416
+ name: "dexSupplyPositionToken0";
1417
+ docs: ["DEX's supply position for tokens on liquidity"];
1418
+ writable: true;
1419
+ optional: true;
1420
+ },
1421
+ {
1422
+ name: "dexSupplyPositionToken1";
1423
+ writable: true;
1424
+ optional: true;
1425
+ },
1426
+ {
1427
+ name: "dexBorrowPositionToken0";
1428
+ docs: ["DEX's borrow position for tokens on liquidity"];
1429
+ writable: true;
1430
+ optional: true;
1431
+ },
1432
+ {
1433
+ name: "dexBorrowPositionToken1";
1434
+ writable: true;
1435
+ optional: true;
1436
+ },
1437
+ {
1438
+ name: "liquidity";
1439
+ },
1440
+ {
1441
+ name: "liquidityProgram";
1442
+ },
1443
+ {
1444
+ name: "token0Program";
1445
+ },
1446
+ {
1447
+ name: "token1Program";
1448
+ },
1449
+ {
1450
+ name: "oracleProgram";
1451
+ },
1452
+ {
1453
+ name: "associatedTokenProgram";
1454
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
1455
+ }
1456
+ ];
1457
+ args: [
1458
+ {
1459
+ name: "swap0to1";
1460
+ type: "bool";
1461
+ },
1462
+ {
1463
+ name: "amountOut";
1464
+ type: "u64";
1465
+ },
1466
+ {
1467
+ name: "amountInMax";
1468
+ type: "u64";
1469
+ }
1470
+ ];
1471
+ returns: "u64";
1472
+ },
1473
+ {
1474
+ name: "turnOnSmartCol";
1475
+ discriminator: [143, 236, 131, 173, 22, 90, 214, 202];
1476
+ accounts: [
1477
+ {
1478
+ name: "authority";
1479
+ writable: true;
1480
+ signer: true;
1481
+ },
1482
+ {
1483
+ name: "dexAdmin";
1484
+ },
1485
+ {
1486
+ name: "dex";
1487
+ writable: true;
1488
+ },
1489
+ {
1490
+ name: "adminToken0Account";
1491
+ writable: true;
1492
+ },
1493
+ {
1494
+ name: "adminToken1Account";
1495
+ writable: true;
1496
+ },
1497
+ {
1498
+ name: "token0";
1499
+ },
1500
+ {
1501
+ name: "token1";
1502
+ },
1503
+ {
1504
+ name: "token0Reserve";
1505
+ writable: true;
1506
+ },
1507
+ {
1508
+ name: "token1Reserve";
1509
+ writable: true;
1510
+ },
1511
+ {
1512
+ name: "token0RateModel";
1513
+ },
1514
+ {
1515
+ name: "token1RateModel";
1516
+ },
1517
+ {
1518
+ name: "token0Vault";
1519
+ writable: true;
1520
+ },
1521
+ {
1522
+ name: "token1Vault";
1523
+ writable: true;
1524
+ },
1525
+ {
1526
+ name: "dexSupplyPositionToken0";
1527
+ writable: true;
1528
+ optional: true;
1529
+ },
1530
+ {
1531
+ name: "dexSupplyPositionToken1";
1532
+ writable: true;
1533
+ optional: true;
1534
+ },
1535
+ {
1536
+ name: "dexBorrowPositionToken0";
1537
+ writable: true;
1538
+ optional: true;
1539
+ },
1540
+ {
1541
+ name: "dexBorrowPositionToken1";
1542
+ writable: true;
1543
+ optional: true;
1544
+ },
1545
+ {
1546
+ name: "liquidity";
1547
+ },
1548
+ {
1549
+ name: "liquidityProgram";
1550
+ },
1551
+ {
1552
+ name: "token0Program";
1553
+ },
1554
+ {
1555
+ name: "token1Program";
1556
+ },
1557
+ {
1558
+ name: "associatedTokenProgram";
1559
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
1560
+ }
1561
+ ];
1562
+ args: [
1563
+ {
1564
+ name: "token0Amt";
1565
+ type: "u64";
1566
+ }
1567
+ ];
1568
+ },
1569
+ {
1570
+ name: "turnOnSmartDebt";
1571
+ discriminator: [177, 184, 215, 221, 92, 231, 153, 83];
1572
+ accounts: [
1573
+ {
1574
+ name: "authority";
1575
+ writable: true;
1576
+ signer: true;
1577
+ },
1578
+ {
1579
+ name: "dexAdmin";
1580
+ },
1581
+ {
1582
+ name: "dex";
1583
+ writable: true;
1584
+ },
1585
+ {
1586
+ name: "adminToken0Account";
1587
+ writable: true;
1588
+ },
1589
+ {
1590
+ name: "adminToken1Account";
1591
+ writable: true;
1592
+ },
1593
+ {
1594
+ name: "token0";
1595
+ },
1596
+ {
1597
+ name: "token1";
1598
+ },
1599
+ {
1600
+ name: "token0Reserve";
1601
+ writable: true;
1602
+ },
1603
+ {
1604
+ name: "token1Reserve";
1605
+ writable: true;
1606
+ },
1607
+ {
1608
+ name: "token0RateModel";
1609
+ },
1610
+ {
1611
+ name: "token1RateModel";
1612
+ },
1613
+ {
1614
+ name: "token0Vault";
1615
+ writable: true;
1616
+ },
1617
+ {
1618
+ name: "token1Vault";
1619
+ writable: true;
1620
+ },
1621
+ {
1622
+ name: "dexSupplyPositionToken0";
1623
+ writable: true;
1624
+ optional: true;
1625
+ },
1626
+ {
1627
+ name: "dexSupplyPositionToken1";
1628
+ writable: true;
1629
+ optional: true;
1630
+ },
1631
+ {
1632
+ name: "dexBorrowPositionToken0";
1633
+ writable: true;
1634
+ optional: true;
1635
+ },
1636
+ {
1637
+ name: "dexBorrowPositionToken1";
1638
+ writable: true;
1639
+ optional: true;
1640
+ },
1641
+ {
1642
+ name: "liquidity";
1643
+ },
1644
+ {
1645
+ name: "liquidityProgram";
1646
+ },
1647
+ {
1648
+ name: "token0Program";
1649
+ },
1650
+ {
1651
+ name: "token1Program";
1652
+ },
1653
+ {
1654
+ name: "associatedTokenProgram";
1655
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
1656
+ }
1657
+ ];
1658
+ args: [
1659
+ {
1660
+ name: "token0Amt";
1661
+ type: "u64";
1662
+ }
1663
+ ];
1664
+ },
1665
+ {
1666
+ name: "unpauseDex";
1667
+ discriminator: [88, 52, 175, 105, 210, 116, 178, 218];
1668
+ accounts: [
1669
+ {
1670
+ name: "authority";
1671
+ signer: true;
1672
+ },
1673
+ {
1674
+ name: "dexAdmin";
1675
+ },
1676
+ {
1677
+ name: "dex";
1678
+ writable: true;
1679
+ }
1680
+ ];
1681
+ args: [];
1682
+ },
1683
+ {
1684
+ name: "unpauseSwapAndArbitrage";
1685
+ discriminator: [241, 4, 197, 110, 244, 255, 172, 184];
1686
+ accounts: [
1687
+ {
1688
+ name: "authority";
1689
+ signer: true;
1690
+ },
1691
+ {
1692
+ name: "dexAdmin";
1693
+ },
1694
+ {
1695
+ name: "dex";
1696
+ writable: true;
1697
+ }
1698
+ ];
1699
+ args: [];
1700
+ },
1701
+ {
1702
+ name: "unpauseUser";
1703
+ discriminator: [71, 115, 128, 252, 182, 126, 234, 62];
1704
+ accounts: [
1705
+ {
1706
+ name: "authority";
1707
+ signer: true;
1708
+ },
1709
+ {
1710
+ name: "dexAdmin";
1711
+ },
1712
+ {
1713
+ name: "dex";
1714
+ },
1715
+ {
1716
+ name: "position";
1717
+ writable: true;
1718
+ }
1719
+ ];
1720
+ args: [
1721
+ {
1722
+ name: "unpauseSupply";
1723
+ type: "bool";
1724
+ },
1725
+ {
1726
+ name: "unpauseBorrow";
1727
+ type: "bool";
1728
+ }
1729
+ ];
1730
+ },
1731
+ {
1732
+ name: "updateAuthority";
1733
+ discriminator: [32, 46, 64, 28, 149, 75, 243, 88];
1734
+ accounts: [
1735
+ {
1736
+ name: "authority";
1737
+ signer: true;
1738
+ },
1739
+ {
1740
+ name: "dexAdmin";
1741
+ writable: true;
1742
+ }
1743
+ ];
1744
+ args: [
1745
+ {
1746
+ name: "newAuthority";
1747
+ type: "pubkey";
1748
+ }
1749
+ ];
1750
+ },
1751
+ {
1752
+ name: "updateAuths";
1753
+ discriminator: [93, 96, 178, 156, 57, 117, 253, 209];
1754
+ accounts: [
1755
+ {
1756
+ name: "authority";
1757
+ signer: true;
1758
+ },
1759
+ {
1760
+ name: "dexAdmin";
1761
+ writable: true;
1762
+ }
1763
+ ];
1764
+ args: [
1765
+ {
1766
+ name: "authStatus";
1767
+ type: {
1768
+ vec: {
1769
+ defined: {
1770
+ name: "addressBool";
1771
+ };
1772
+ };
1773
+ };
1774
+ }
1775
+ ];
1776
+ },
1777
+ {
1778
+ name: "updateCenterPriceAddress";
1779
+ discriminator: [45, 110, 96, 39, 201, 250, 142, 1];
1780
+ accounts: [
1781
+ {
1782
+ name: "authority";
1783
+ signer: true;
1784
+ },
1785
+ {
1786
+ name: "dexAdmin";
1787
+ },
1788
+ {
1789
+ name: "dex";
1790
+ writable: true;
1791
+ }
1792
+ ];
1793
+ args: [
1794
+ {
1795
+ name: "centerPriceAddress";
1796
+ type: "pubkey";
1797
+ },
1798
+ {
1799
+ name: "percent";
1800
+ type: "u32";
1801
+ },
1802
+ {
1803
+ name: "time";
1804
+ type: "u32";
1805
+ }
1806
+ ];
1807
+ },
1808
+ {
1809
+ name: "updateCenterPriceLimits";
1810
+ discriminator: [17, 23, 56, 200, 237, 163, 24, 152];
1811
+ accounts: [
1812
+ {
1813
+ name: "authority";
1814
+ signer: true;
1815
+ },
1816
+ {
1817
+ name: "dexAdmin";
1818
+ },
1819
+ {
1820
+ name: "dex";
1821
+ writable: true;
1822
+ }
1823
+ ];
1824
+ args: [
1825
+ {
1826
+ name: "maxCenterPrice";
1827
+ type: "u64";
1828
+ },
1829
+ {
1830
+ name: "minCenterPrice";
1831
+ type: "u64";
1832
+ }
1833
+ ];
1834
+ },
1835
+ {
1836
+ name: "updateDexLookupTable";
1837
+ discriminator: [87, 149, 96, 95, 24, 20, 211, 43];
1838
+ accounts: [
1839
+ {
1840
+ name: "authority";
1841
+ signer: true;
1842
+ },
1843
+ {
1844
+ name: "dexAdmin";
1845
+ },
1846
+ {
1847
+ name: "dexMetadata";
1848
+ docs: ["@dev Verification inside instruction logic"];
1849
+ writable: true;
1850
+ }
1851
+ ];
1852
+ args: [
1853
+ {
1854
+ name: "dexId";
1855
+ type: "u16";
1856
+ },
1857
+ {
1858
+ name: "lookupTable";
1859
+ type: "pubkey";
1860
+ }
1861
+ ];
1862
+ },
1863
+ {
1864
+ name: "updateFeeAndRevenueCut";
1865
+ discriminator: [223, 251, 181, 7, 34, 61, 183, 122];
1866
+ accounts: [
1867
+ {
1868
+ name: "authority";
1869
+ signer: true;
1870
+ },
1871
+ {
1872
+ name: "dexAdmin";
1873
+ },
1874
+ {
1875
+ name: "dex";
1876
+ writable: true;
1877
+ }
1878
+ ];
1879
+ args: [
1880
+ {
1881
+ name: "fee";
1882
+ type: "u32";
1883
+ },
1884
+ {
1885
+ name: "revenueCut";
1886
+ type: "u32";
1887
+ }
1888
+ ];
1889
+ },
1890
+ {
1891
+ name: "updateMaxBorrowShares";
1892
+ discriminator: [176, 13, 121, 189, 225, 225, 238, 78];
1893
+ accounts: [
1894
+ {
1895
+ name: "authority";
1896
+ signer: true;
1897
+ },
1898
+ {
1899
+ name: "dexAdmin";
1900
+ },
1901
+ {
1902
+ name: "dex";
1903
+ writable: true;
1904
+ }
1905
+ ];
1906
+ args: [
1907
+ {
1908
+ name: "maxBorrowShares";
1909
+ type: "u64";
1910
+ }
1911
+ ];
1912
+ },
1913
+ {
1914
+ name: "updateMaxSupplyShares";
1915
+ discriminator: [179, 157, 37, 206, 176, 51, 37, 79];
1916
+ accounts: [
1917
+ {
1918
+ name: "authority";
1919
+ signer: true;
1920
+ },
1921
+ {
1922
+ name: "dexAdmin";
1923
+ },
1924
+ {
1925
+ name: "dex";
1926
+ writable: true;
1927
+ }
1928
+ ];
1929
+ args: [
1930
+ {
1931
+ name: "maxSupplyShares";
1932
+ type: "u64";
1933
+ }
1934
+ ];
1935
+ },
1936
+ {
1937
+ name: "updateRangePercents";
1938
+ discriminator: [51, 233, 228, 43, 91, 7, 62, 20];
1939
+ accounts: [
1940
+ {
1941
+ name: "authority";
1942
+ signer: true;
1943
+ },
1944
+ {
1945
+ name: "dexAdmin";
1946
+ },
1947
+ {
1948
+ name: "dex";
1949
+ writable: true;
1950
+ }
1951
+ ];
1952
+ args: [
1953
+ {
1954
+ name: "upperPercent";
1955
+ type: "u32";
1956
+ },
1957
+ {
1958
+ name: "lowerPercent";
1959
+ type: "u32";
1960
+ },
1961
+ {
1962
+ name: "shiftTime";
1963
+ type: "u32";
1964
+ }
1965
+ ];
1966
+ },
1967
+ {
1968
+ name: "updateThresholdPercent";
1969
+ discriminator: [177, 125, 99, 134, 42, 254, 140, 234];
1970
+ accounts: [
1971
+ {
1972
+ name: "authority";
1973
+ signer: true;
1974
+ },
1975
+ {
1976
+ name: "dexAdmin";
1977
+ },
1978
+ {
1979
+ name: "dex";
1980
+ writable: true;
1981
+ }
1982
+ ];
1983
+ args: [
1984
+ {
1985
+ name: "upperThresholdPercent";
1986
+ type: "u32";
1987
+ },
1988
+ {
1989
+ name: "lowerThresholdPercent";
1990
+ type: "u32";
1991
+ },
1992
+ {
1993
+ name: "thresholdShiftTime";
1994
+ type: "u32";
1995
+ },
1996
+ {
1997
+ name: "shiftTime";
1998
+ type: "u32";
1999
+ }
2000
+ ];
2001
+ },
2002
+ {
2003
+ name: "updateUserBorrowConfig";
2004
+ discriminator: [100, 176, 201, 174, 247, 2, 54, 168];
2005
+ accounts: [
2006
+ {
2007
+ name: "authority";
2008
+ signer: true;
2009
+ },
2010
+ {
2011
+ name: "dexAdmin";
2012
+ },
2013
+ {
2014
+ name: "dex";
2015
+ },
2016
+ {
2017
+ name: "position";
2018
+ writable: true;
2019
+ }
2020
+ ];
2021
+ args: [
2022
+ {
2023
+ name: "config";
2024
+ type: {
2025
+ defined: {
2026
+ name: "userBorrowConfigParams";
2027
+ };
2028
+ };
2029
+ }
2030
+ ];
2031
+ },
2032
+ {
2033
+ name: "updateUserSupplyConfig";
2034
+ discriminator: [217, 239, 225, 218, 33, 49, 234, 183];
2035
+ accounts: [
2036
+ {
2037
+ name: "authority";
2038
+ signer: true;
2039
+ },
2040
+ {
2041
+ name: "dexAdmin";
2042
+ },
2043
+ {
2044
+ name: "dex";
2045
+ },
2046
+ {
2047
+ name: "position";
2048
+ writable: true;
2049
+ }
2050
+ ];
2051
+ args: [
2052
+ {
2053
+ name: "config";
2054
+ type: {
2055
+ defined: {
2056
+ name: "userSupplyConfigParams";
2057
+ };
2058
+ };
2059
+ }
2060
+ ];
2061
+ },
2062
+ {
2063
+ name: "updateUserWithdrawalLimit";
2064
+ discriminator: [162, 9, 186, 9, 213, 30, 173, 78];
2065
+ accounts: [
2066
+ {
2067
+ name: "authority";
2068
+ signer: true;
2069
+ },
2070
+ {
2071
+ name: "dexAdmin";
2072
+ },
2073
+ {
2074
+ name: "dex";
2075
+ },
2076
+ {
2077
+ name: "position";
2078
+ writable: true;
2079
+ }
2080
+ ];
2081
+ args: [
2082
+ {
2083
+ name: "newLimit";
2084
+ type: "u64";
2085
+ }
2086
+ ];
2087
+ },
2088
+ {
2089
+ name: "updateUtilizationLimit";
2090
+ discriminator: [48, 145, 0, 235, 118, 59, 55, 207];
2091
+ accounts: [
2092
+ {
2093
+ name: "authority";
2094
+ signer: true;
2095
+ },
2096
+ {
2097
+ name: "dexAdmin";
2098
+ },
2099
+ {
2100
+ name: "dex";
2101
+ writable: true;
2102
+ }
2103
+ ];
2104
+ args: [
2105
+ {
2106
+ name: "token0UtilizationLimit";
2107
+ type: "u16";
2108
+ },
2109
+ {
2110
+ name: "token1UtilizationLimit";
2111
+ type: "u16";
2112
+ }
2113
+ ];
2114
+ },
2115
+ {
2116
+ name: "withdraw";
2117
+ discriminator: [183, 18, 70, 156, 148, 109, 161, 34];
2118
+ accounts: [
2119
+ {
2120
+ name: "signer";
2121
+ docs: [
2122
+ "The protocol calling the operation (must match position.protocol)"
2123
+ ];
2124
+ writable: true;
2125
+ signer: true;
2126
+ },
2127
+ {
2128
+ name: "dex";
2129
+ docs: ["DEX pool state"];
2130
+ writable: true;
2131
+ },
2132
+ {
2133
+ name: "user";
2134
+ signer: true;
2135
+ },
2136
+ {
2137
+ name: "position";
2138
+ docs: ["The user's DexPosition (tracks shares and limits)"];
2139
+ writable: true;
2140
+ },
2141
+ {
2142
+ name: "userToken0Account";
2143
+ writable: true;
2144
+ },
2145
+ {
2146
+ name: "userToken1Account";
2147
+ writable: true;
2148
+ },
2149
+ {
2150
+ name: "token0";
2151
+ },
2152
+ {
2153
+ name: "token1";
2154
+ },
2155
+ {
2156
+ name: "token0Reserve";
2157
+ writable: true;
2158
+ },
2159
+ {
2160
+ name: "token1Reserve";
2161
+ writable: true;
2162
+ },
2163
+ {
2164
+ name: "token0RateModel";
2165
+ },
2166
+ {
2167
+ name: "token1RateModel";
2168
+ },
2169
+ {
2170
+ name: "token0Vault";
2171
+ docs: ["Liquidity vault token account for tokens"];
2172
+ writable: true;
2173
+ },
2174
+ {
2175
+ name: "token1Vault";
2176
+ writable: true;
2177
+ },
2178
+ {
2179
+ name: "dexSupplyPositionToken0";
2180
+ docs: ["DEX's supply position for tokens on liquidity"];
2181
+ writable: true;
2182
+ optional: true;
2183
+ },
2184
+ {
2185
+ name: "dexSupplyPositionToken1";
2186
+ writable: true;
2187
+ optional: true;
2188
+ },
2189
+ {
2190
+ name: "dexBorrowPositionToken0";
2191
+ docs: ["DEX's borrow position for tokens on liquidity"];
2192
+ writable: true;
2193
+ optional: true;
2194
+ },
2195
+ {
2196
+ name: "dexBorrowPositionToken1";
2197
+ writable: true;
2198
+ optional: true;
2199
+ },
2200
+ {
2201
+ name: "liquidity";
2202
+ },
2203
+ {
2204
+ name: "liquidityProgram";
2205
+ },
2206
+ {
2207
+ name: "oracleProgram";
2208
+ },
2209
+ {
2210
+ name: "token0Program";
2211
+ },
2212
+ {
2213
+ name: "token1Program";
2214
+ },
2215
+ {
2216
+ name: "associatedTokenProgram";
2217
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
2218
+ }
2219
+ ];
2220
+ args: [
2221
+ {
2222
+ name: "token0Amt";
2223
+ type: "u64";
2224
+ },
2225
+ {
2226
+ name: "token1Amt";
2227
+ type: "u64";
2228
+ },
2229
+ {
2230
+ name: "maxShares";
2231
+ type: "u64";
2232
+ }
2233
+ ];
2234
+ returns: "u128";
2235
+ },
2236
+ {
2237
+ name: "withdrawPerfect";
2238
+ discriminator: [41, 170, 122, 166, 20, 154, 180, 245];
2239
+ accounts: [
2240
+ {
2241
+ name: "signer";
2242
+ docs: [
2243
+ "The protocol calling the operation (must match position.protocol)"
2244
+ ];
2245
+ writable: true;
2246
+ signer: true;
2247
+ },
2248
+ {
2249
+ name: "dex";
2250
+ docs: ["DEX pool state"];
2251
+ writable: true;
2252
+ },
2253
+ {
2254
+ name: "user";
2255
+ signer: true;
2256
+ },
2257
+ {
2258
+ name: "position";
2259
+ docs: ["The user's DexPosition (tracks shares and limits)"];
2260
+ writable: true;
2261
+ },
2262
+ {
2263
+ name: "userToken0Account";
2264
+ writable: true;
2265
+ },
2266
+ {
2267
+ name: "userToken1Account";
2268
+ writable: true;
2269
+ },
2270
+ {
2271
+ name: "token0";
2272
+ },
2273
+ {
2274
+ name: "token1";
2275
+ },
2276
+ {
2277
+ name: "token0Reserve";
2278
+ writable: true;
2279
+ },
2280
+ {
2281
+ name: "token1Reserve";
2282
+ writable: true;
2283
+ },
2284
+ {
2285
+ name: "token0RateModel";
2286
+ },
2287
+ {
2288
+ name: "token1RateModel";
2289
+ },
2290
+ {
2291
+ name: "token0Vault";
2292
+ docs: ["Liquidity vault token account for tokens"];
2293
+ writable: true;
2294
+ },
2295
+ {
2296
+ name: "token1Vault";
2297
+ writable: true;
2298
+ },
2299
+ {
2300
+ name: "dexSupplyPositionToken0";
2301
+ docs: ["DEX's supply position for tokens on liquidity"];
2302
+ writable: true;
2303
+ optional: true;
2304
+ },
2305
+ {
2306
+ name: "dexSupplyPositionToken1";
2307
+ writable: true;
2308
+ optional: true;
2309
+ },
2310
+ {
2311
+ name: "dexBorrowPositionToken0";
2312
+ docs: ["DEX's borrow position for tokens on liquidity"];
2313
+ writable: true;
2314
+ optional: true;
2315
+ },
2316
+ {
2317
+ name: "dexBorrowPositionToken1";
2318
+ writable: true;
2319
+ optional: true;
2320
+ },
2321
+ {
2322
+ name: "liquidity";
2323
+ },
2324
+ {
2325
+ name: "liquidityProgram";
2326
+ },
2327
+ {
2328
+ name: "oracleProgram";
2329
+ },
2330
+ {
2331
+ name: "token0Program";
2332
+ },
2333
+ {
2334
+ name: "token1Program";
2335
+ },
2336
+ {
2337
+ name: "associatedTokenProgram";
2338
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
2339
+ }
2340
+ ];
2341
+ args: [
2342
+ {
2343
+ name: "shares";
2344
+ type: "u64";
2345
+ },
2346
+ {
2347
+ name: "minToken0";
2348
+ type: "u64";
2349
+ },
2350
+ {
2351
+ name: "minToken1";
2352
+ type: "u64";
2353
+ }
2354
+ ];
2355
+ },
2356
+ {
2357
+ name: "withdrawPerfectInOneToken";
2358
+ discriminator: [200, 72, 151, 197, 24, 15, 243, 165];
2359
+ accounts: [
2360
+ {
2361
+ name: "signer";
2362
+ docs: [
2363
+ "The protocol calling the operation (must match position.protocol)"
2364
+ ];
2365
+ writable: true;
2366
+ signer: true;
2367
+ },
2368
+ {
2369
+ name: "dex";
2370
+ docs: ["DEX pool state"];
2371
+ writable: true;
2372
+ },
2373
+ {
2374
+ name: "user";
2375
+ signer: true;
2376
+ },
2377
+ {
2378
+ name: "position";
2379
+ docs: ["The user's DexPosition (tracks shares and limits)"];
2380
+ writable: true;
2381
+ },
2382
+ {
2383
+ name: "userToken0Account";
2384
+ writable: true;
2385
+ },
2386
+ {
2387
+ name: "userToken1Account";
2388
+ writable: true;
2389
+ },
2390
+ {
2391
+ name: "token0";
2392
+ },
2393
+ {
2394
+ name: "token1";
2395
+ },
2396
+ {
2397
+ name: "token0Reserve";
2398
+ writable: true;
2399
+ },
2400
+ {
2401
+ name: "token1Reserve";
2402
+ writable: true;
2403
+ },
2404
+ {
2405
+ name: "token0RateModel";
2406
+ },
2407
+ {
2408
+ name: "token1RateModel";
2409
+ },
2410
+ {
2411
+ name: "token0Vault";
2412
+ docs: ["Liquidity vault token account for tokens"];
2413
+ writable: true;
2414
+ },
2415
+ {
2416
+ name: "token1Vault";
2417
+ writable: true;
2418
+ },
2419
+ {
2420
+ name: "dexSupplyPositionToken0";
2421
+ docs: ["DEX's supply position for tokens on liquidity"];
2422
+ writable: true;
2423
+ optional: true;
2424
+ },
2425
+ {
2426
+ name: "dexSupplyPositionToken1";
2427
+ writable: true;
2428
+ optional: true;
2429
+ },
2430
+ {
2431
+ name: "dexBorrowPositionToken0";
2432
+ docs: ["DEX's borrow position for tokens on liquidity"];
2433
+ writable: true;
2434
+ optional: true;
2435
+ },
2436
+ {
2437
+ name: "dexBorrowPositionToken1";
2438
+ writable: true;
2439
+ optional: true;
2440
+ },
2441
+ {
2442
+ name: "liquidity";
2443
+ },
2444
+ {
2445
+ name: "liquidityProgram";
2446
+ },
2447
+ {
2448
+ name: "oracleProgram";
2449
+ },
2450
+ {
2451
+ name: "token0Program";
2452
+ },
2453
+ {
2454
+ name: "token1Program";
2455
+ },
2456
+ {
2457
+ name: "associatedTokenProgram";
2458
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
2459
+ }
2460
+ ];
2461
+ args: [
2462
+ {
2463
+ name: "shares";
2464
+ type: "u64";
2465
+ },
2466
+ {
2467
+ name: "minToken0";
2468
+ type: "u64";
2469
+ },
2470
+ {
2471
+ name: "minToken1";
2472
+ type: "u64";
2473
+ }
2474
+ ];
2475
+ returns: "u64";
2476
+ }
2477
+ ];
2478
+ accounts: [
2479
+ {
2480
+ name: "dex";
2481
+ discriminator: [236, 30, 181, 80, 209, 217, 25, 163];
2482
+ },
2483
+ {
2484
+ name: "dexAdmin";
2485
+ discriminator: [82, 155, 122, 221, 230, 96, 118, 155];
2486
+ },
2487
+ {
2488
+ name: "dexMetadata";
2489
+ discriminator: [177, 231, 57, 253, 64, 12, 205, 37];
2490
+ },
2491
+ {
2492
+ name: "dexPosition";
2493
+ discriminator: [30, 36, 219, 78, 189, 173, 170, 47];
2494
+ },
2495
+ {
2496
+ name: "tokenReserve";
2497
+ discriminator: [21, 18, 59, 135, 120, 20, 31, 12];
2498
+ },
2499
+ {
2500
+ name: "userBorrowPosition";
2501
+ discriminator: [73, 126, 65, 123, 220, 126, 197, 24];
2502
+ },
2503
+ {
2504
+ name: "userSupplyPosition";
2505
+ discriminator: [202, 219, 136, 118, 61, 177, 21, 146];
2506
+ }
2507
+ ];
2508
+ events: [
2509
+ {
2510
+ name: "logArbitrage";
2511
+ discriminator: [105, 165, 52, 9, 218, 211, 46, 13];
2512
+ },
2513
+ {
2514
+ name: "logBorrowDebtLiquidity";
2515
+ discriminator: [70, 124, 172, 119, 252, 91, 62, 4];
2516
+ },
2517
+ {
2518
+ name: "logBorrowPerfectDebtLiquidity";
2519
+ discriminator: [164, 250, 16, 192, 152, 3, 238, 107];
2520
+ },
2521
+ {
2522
+ name: "logDepositColLiquidity";
2523
+ discriminator: [162, 105, 100, 76, 89, 95, 69, 189];
2524
+ },
2525
+ {
2526
+ name: "logDepositPerfectColLiquidity";
2527
+ discriminator: [33, 91, 169, 231, 163, 83, 37, 254];
2528
+ },
2529
+ {
2530
+ name: "logInitDex";
2531
+ discriminator: [170, 65, 241, 125, 34, 194, 79, 132];
2532
+ },
2533
+ {
2534
+ name: "logInitDexMetadata";
2535
+ discriminator: [53, 61, 248, 111, 245, 219, 167, 73];
2536
+ },
2537
+ {
2538
+ name: "logInitDexPriceParams";
2539
+ discriminator: [154, 98, 101, 72, 8, 203, 37, 200];
2540
+ },
2541
+ {
2542
+ name: "logPauseDex";
2543
+ discriminator: [107, 202, 204, 255, 100, 73, 92, 117];
2544
+ },
2545
+ {
2546
+ name: "logPauseSwapAndArbitrage";
2547
+ discriminator: [103, 184, 228, 52, 0, 229, 4, 154];
2548
+ },
2549
+ {
2550
+ name: "logPauseUser";
2551
+ discriminator: [100, 17, 114, 224, 180, 30, 52, 170];
2552
+ },
2553
+ {
2554
+ name: "logPaybackDebtInOneToken";
2555
+ discriminator: [123, 31, 108, 14, 12, 201, 20, 83];
2556
+ },
2557
+ {
2558
+ name: "logPaybackDebtLiquidity";
2559
+ discriminator: [230, 190, 245, 114, 113, 92, 173, 27];
2560
+ },
2561
+ {
2562
+ name: "logPaybackPerfectDebtLiquidity";
2563
+ discriminator: [75, 233, 232, 38, 153, 31, 239, 109];
2564
+ },
2565
+ {
2566
+ name: "logSwap";
2567
+ discriminator: [202, 242, 228, 28, 37, 194, 52, 34];
2568
+ },
2569
+ {
2570
+ name: "logTurnOnSmartCol";
2571
+ discriminator: [108, 254, 255, 147, 80, 55, 98, 86];
2572
+ },
2573
+ {
2574
+ name: "logTurnOnSmartDebt";
2575
+ discriminator: [23, 36, 134, 104, 91, 138, 126, 124];
2576
+ },
2577
+ {
2578
+ name: "logUnpauseDex";
2579
+ discriminator: [6, 190, 255, 207, 165, 71, 170, 212];
2580
+ },
2581
+ {
2582
+ name: "logUnpauseSwapAndArbitrage";
2583
+ discriminator: [229, 120, 123, 188, 146, 222, 159, 255];
2584
+ },
2585
+ {
2586
+ name: "logUnpauseUser";
2587
+ discriminator: [170, 91, 132, 96, 179, 77, 168, 26];
2588
+ },
2589
+ {
2590
+ name: "logUpdateAuthority";
2591
+ discriminator: [150, 152, 157, 143, 6, 135, 193, 101];
2592
+ },
2593
+ {
2594
+ name: "logUpdateAuths";
2595
+ discriminator: [88, 80, 109, 48, 111, 203, 76, 251];
2596
+ },
2597
+ {
2598
+ name: "logUpdateCenterPriceAddress";
2599
+ discriminator: [96, 24, 207, 2, 38, 203, 43, 145];
2600
+ },
2601
+ {
2602
+ name: "logUpdateCenterPriceLimits";
2603
+ discriminator: [111, 228, 61, 31, 234, 76, 5, 17];
2604
+ },
2605
+ {
2606
+ name: "logUpdateDexLookupTable";
2607
+ discriminator: [135, 31, 232, 96, 2, 64, 116, 229];
2608
+ },
2609
+ {
2610
+ name: "logUpdateFeeAndRevenueCut";
2611
+ discriminator: [187, 9, 16, 229, 8, 231, 7, 171];
2612
+ },
2613
+ {
2614
+ name: "logUpdateMaxBorrowShares";
2615
+ discriminator: [22, 124, 242, 112, 255, 39, 100, 206];
2616
+ },
2617
+ {
2618
+ name: "logUpdateMaxSupplyShares";
2619
+ discriminator: [209, 150, 112, 193, 243, 63, 233, 212];
2620
+ },
2621
+ {
2622
+ name: "logUpdateRangePercents";
2623
+ discriminator: [149, 47, 161, 6, 129, 240, 48, 100];
2624
+ },
2625
+ {
2626
+ name: "logUpdateThresholdPercent";
2627
+ discriminator: [44, 46, 70, 115, 25, 38, 92, 99];
2628
+ },
2629
+ {
2630
+ name: "logUpdateUserBorrowConfig";
2631
+ discriminator: [70, 142, 184, 48, 44, 158, 166, 3];
2632
+ },
2633
+ {
2634
+ name: "logUpdateUserSupplyConfig";
2635
+ discriminator: [86, 139, 35, 235, 30, 42, 192, 245];
2636
+ },
2637
+ {
2638
+ name: "logUpdateUserWithdrawalLimit";
2639
+ discriminator: [114, 131, 152, 189, 120, 253, 88, 105];
2640
+ },
2641
+ {
2642
+ name: "logUpdateUtilizationLimit";
2643
+ discriminator: [153, 239, 227, 172, 250, 247, 155, 69];
2644
+ },
2645
+ {
2646
+ name: "logWithdrawColInOneToken";
2647
+ discriminator: [86, 6, 224, 183, 211, 209, 199, 232];
2648
+ },
2649
+ {
2650
+ name: "logWithdrawColLiquidity";
2651
+ discriminator: [29, 6, 184, 148, 156, 65, 164, 228];
2652
+ },
2653
+ {
2654
+ name: "logWithdrawPerfectColLiquidity";
2655
+ discriminator: [199, 40, 242, 90, 55, 165, 41, 105];
2656
+ }
2657
+ ];
2658
+ errors: [
2659
+ {
2660
+ code: 6000;
2661
+ name: "dexCpiToOracleFailed";
2662
+ msg: "dexCpiToOracleFailed";
2663
+ },
2664
+ {
2665
+ code: 6001;
2666
+ name: "dexUserNotDefined";
2667
+ msg: "dexUserNotDefined";
2668
+ },
2669
+ {
2670
+ code: 6002;
2671
+ name: "dexUserMustSign";
2672
+ msg: "dexUserMustSign";
2673
+ },
2674
+ {
2675
+ code: 6003;
2676
+ name: "dexAdminLiquidityProgramMismatch";
2677
+ msg: "dexAdminLiquidityProgramMismatch";
2678
+ },
2679
+ {
2680
+ code: 6004;
2681
+ name: "dexAdminAddressZeroNotAllowed";
2682
+ msg: "dexAdminAddressZeroNotAllowed";
2683
+ },
2684
+ {
2685
+ code: 6005;
2686
+ name: "dexAdminNotAnAuth";
2687
+ msg: "dexAdminNotAnAuth";
2688
+ },
2689
+ {
2690
+ code: 6006;
2691
+ name: "dexAdminPoolNotInitialized";
2692
+ msg: "dexAdminPoolNotInitialized";
2693
+ },
2694
+ {
2695
+ code: 6007;
2696
+ name: "dexAdminSmartColAlreadyOn";
2697
+ msg: "dexAdminSmartColAlreadyOn";
2698
+ },
2699
+ {
2700
+ code: 6008;
2701
+ name: "dexAdminSmartDebtAlreadyOn";
2702
+ msg: "dexAdminSmartDebtAlreadyOn";
2703
+ },
2704
+ {
2705
+ code: 6009;
2706
+ name: "dexAdminConfigOverflow";
2707
+ msg: "dexAdminConfigOverflow";
2708
+ },
2709
+ {
2710
+ code: 6010;
2711
+ name: "dexAdminInvalidParams";
2712
+ msg: "dexAdminInvalidParams";
2713
+ },
2714
+ {
2715
+ code: 6011;
2716
+ name: "dexAdminUserNotDefined";
2717
+ msg: "dexAdminUserNotDefined";
2718
+ },
2719
+ {
2720
+ code: 6012;
2721
+ name: "dexAdminInvalidPauseToggle";
2722
+ msg: "dexAdminInvalidPauseToggle";
2723
+ },
2724
+ {
2725
+ code: 6013;
2726
+ name: "dexAdminUnexpectedPoolState";
2727
+ msg: "dexAdminUnexpectedPoolState";
2728
+ },
2729
+ {
2730
+ code: 6014;
2731
+ name: "dexAdminAddressNotAProgram";
2732
+ msg: "dexAdminAddressNotAProgram";
2733
+ },
2734
+ {
2735
+ code: 6015;
2736
+ name: "dexAdminInvalidTokenDecimals";
2737
+ msg: "dexAdminInvalidTokenDecimals";
2738
+ },
2739
+ {
2740
+ code: 6016;
2741
+ name: "dexAdminPreviousShiftStillActive";
2742
+ msg: "dexAdminPreviousShiftStillActive";
2743
+ },
2744
+ {
2745
+ code: 6017;
2746
+ name: "dexAlreadyEntered";
2747
+ msg: "dexAlreadyEntered";
2748
+ },
2749
+ {
2750
+ code: 6018;
2751
+ name: "dexNotAnAuth";
2752
+ msg: "dexNotAnAuth";
2753
+ },
2754
+ {
2755
+ code: 6019;
2756
+ name: "dexSmartColNotEnabled";
2757
+ msg: "dexSmartColNotEnabled";
2758
+ },
2759
+ {
2760
+ code: 6020;
2761
+ name: "dexSmartDebtNotEnabled";
2762
+ msg: "dexSmartDebtNotEnabled";
2763
+ },
2764
+ {
2765
+ code: 6021;
2766
+ name: "dexPoolNotInitialized";
2767
+ msg: "dexPoolNotInitialized";
2768
+ },
2769
+ {
2770
+ code: 6022;
2771
+ name: "dexTokenReservesTooLow";
2772
+ msg: "dexTokenReservesTooLow";
2773
+ },
2774
+ {
2775
+ code: 6023;
2776
+ name: "dexNoSwapRoute";
2777
+ msg: "dexNoSwapRoute";
2778
+ },
2779
+ {
2780
+ code: 6024;
2781
+ name: "dexNotEnoughAmountOut";
2782
+ msg: "dexNotEnoughAmountOut";
2783
+ },
2784
+ {
2785
+ code: 6025;
2786
+ name: "dexUtilizationCapReached";
2787
+ msg: "dexUtilizationCapReached";
2788
+ },
2789
+ {
2790
+ code: 6026;
2791
+ name: "dexUserSupplyNotOn";
2792
+ msg: "dexUserSupplyNotOn";
2793
+ },
2794
+ {
2795
+ code: 6027;
2796
+ name: "dexUserDebtNotOn";
2797
+ msg: "dexUserDebtNotOn";
2798
+ },
2799
+ {
2800
+ code: 6028;
2801
+ name: "dexAboveDepositMax";
2802
+ msg: "dexAboveDepositMax";
2803
+ },
2804
+ {
2805
+ code: 6029;
2806
+ name: "dexWithdrawalLimitReached";
2807
+ msg: "dexWithdrawalLimitReached";
2808
+ },
2809
+ {
2810
+ code: 6030;
2811
+ name: "dexBelowWithdrawMin";
2812
+ msg: "dexBelowWithdrawMin";
2813
+ },
2814
+ {
2815
+ code: 6031;
2816
+ name: "dexDebtLimitReached";
2817
+ msg: "dexDebtLimitReached";
2818
+ },
2819
+ {
2820
+ code: 6032;
2821
+ name: "dexBelowBorrowMin";
2822
+ msg: "dexBelowBorrowMin";
2823
+ },
2824
+ {
2825
+ code: 6033;
2826
+ name: "dexAbovePaybackMax";
2827
+ msg: "dexAbovePaybackMax";
2828
+ },
2829
+ {
2830
+ code: 6034;
2831
+ name: "dexInvalidDepositAmounts";
2832
+ msg: "dexInvalidDepositAmounts";
2833
+ },
2834
+ {
2835
+ code: 6035;
2836
+ name: "dexDepositAmountsZero";
2837
+ msg: "dexDepositAmountsZero";
2838
+ },
2839
+ {
2840
+ code: 6036;
2841
+ name: "dexSharesMintedLess";
2842
+ msg: "dexSharesMintedLess";
2843
+ },
2844
+ {
2845
+ code: 6037;
2846
+ name: "dexWithdrawalNotEnough";
2847
+ msg: "dexWithdrawalNotEnough";
2848
+ },
2849
+ {
2850
+ code: 6038;
2851
+ name: "dexInvalidWithdrawAmounts";
2852
+ msg: "dexInvalidWithdrawAmounts";
2853
+ },
2854
+ {
2855
+ code: 6039;
2856
+ name: "dexWithdrawAmountsZero";
2857
+ msg: "dexWithdrawAmountsZero";
2858
+ },
2859
+ {
2860
+ code: 6040;
2861
+ name: "dexWithdrawExcessSharesBurn";
2862
+ msg: "dexWithdrawExcessSharesBurn";
2863
+ },
2864
+ {
2865
+ code: 6041;
2866
+ name: "dexInvalidBorrowAmounts";
2867
+ msg: "dexInvalidBorrowAmounts";
2868
+ },
2869
+ {
2870
+ code: 6042;
2871
+ name: "dexBorrowAmountsZero";
2872
+ msg: "dexBorrowAmountsZero";
2873
+ },
2874
+ {
2875
+ code: 6043;
2876
+ name: "dexBorrowExcessSharesMinted";
2877
+ msg: "dexBorrowExcessSharesMinted";
2878
+ },
2879
+ {
2880
+ code: 6044;
2881
+ name: "dexInvalidPaybackAmounts";
2882
+ msg: "dexInvalidPaybackAmounts";
2883
+ },
2884
+ {
2885
+ code: 6045;
2886
+ name: "dexPaybackAmountsZero";
2887
+ msg: "dexPaybackAmountsZero";
2888
+ },
2889
+ {
2890
+ code: 6046;
2891
+ name: "dexPaybackSharesBurnedLess";
2892
+ msg: "dexPaybackSharesBurnedLess";
2893
+ },
2894
+ {
2895
+ code: 6047;
2896
+ name: "dexNothingToArbitrage";
2897
+ msg: "dexNothingToArbitrage";
2898
+ },
2899
+ {
2900
+ code: 6048;
2901
+ name: "dexOracleUpdateHugeSwapDiff";
2902
+ msg: "dexOracleUpdateHugeSwapDiff";
2903
+ },
2904
+ {
2905
+ code: 6049;
2906
+ name: "dexToken0ShouldBeSmallerThanToken1";
2907
+ msg: "dexToken0ShouldBeSmallerThanToken1";
2908
+ },
2909
+ {
2910
+ code: 6050;
2911
+ name: "dexSwapAndArbitragePaused";
2912
+ msg: "dexSwapAndArbitragePaused";
2913
+ },
2914
+ {
2915
+ code: 6051;
2916
+ name: "dexExceedsAmountInMax";
2917
+ msg: "dexExceedsAmountInMax";
2918
+ },
2919
+ {
2920
+ code: 6052;
2921
+ name: "dexSwapInLimitingAmounts";
2922
+ msg: "dexSwapInLimitingAmounts";
2923
+ },
2924
+ {
2925
+ code: 6053;
2926
+ name: "dexSwapOutLimitingAmounts";
2927
+ msg: "dexSwapOutLimitingAmounts";
2928
+ },
2929
+ {
2930
+ code: 6054;
2931
+ name: "dexSupplySharesOverflow";
2932
+ msg: "dexSupplySharesOverflow";
2933
+ },
2934
+ {
2935
+ code: 6055;
2936
+ name: "dexBorrowSharesOverflow";
2937
+ msg: "dexBorrowSharesOverflow";
2938
+ },
2939
+ {
2940
+ code: 6056;
2941
+ name: "dexCenterPriceOutOfRange";
2942
+ msg: "dexCenterPriceOutOfRange";
2943
+ },
2944
+ {
2945
+ code: 6057;
2946
+ name: "dexDebtReservesTooLow";
2947
+ msg: "dexDebtReservesTooLow";
2948
+ },
2949
+ {
2950
+ code: 6058;
2951
+ name: "dexInvalidCollateralReserves";
2952
+ msg: "dexInvalidCollateralReserves";
2953
+ },
2954
+ {
2955
+ code: 6059;
2956
+ name: "dexInvalidDebtReserves";
2957
+ msg: "dexInvalidDebtReserves";
2958
+ },
2959
+ {
2960
+ code: 6060;
2961
+ name: "dexLimitingAmountsSwapAndNonPerfect";
2962
+ msg: "dexLimitingAmountsSwapAndNonPerfect";
2963
+ },
2964
+ {
2965
+ code: 6061;
2966
+ name: "dexMintOverflow";
2967
+ msg: "dexMintOverflow";
2968
+ },
2969
+ {
2970
+ code: 6062;
2971
+ name: "dexBurnOverflow";
2972
+ msg: "dexBurnOverflow";
2973
+ },
2974
+ {
2975
+ code: 6063;
2976
+ name: "dexSharesAmountInsufficient";
2977
+ msg: "dexSharesAmountInsufficient";
2978
+ },
2979
+ {
2980
+ code: 6064;
2981
+ name: "dexPerfectNativeAmountsRoundToZero";
2982
+ msg: "dexPerfectNativeAmountsRoundToZero";
2983
+ },
2984
+ {
2985
+ code: 6065;
2986
+ name: "dexCpiToLiquidityFailed";
2987
+ msg: "dexCpiToLiquidityFailed";
2988
+ },
2989
+ {
2990
+ code: 6066;
2991
+ name: "dexInvalidTokenAccount";
2992
+ msg: "dexInvalidTokenAccount";
2993
+ },
2994
+ {
2995
+ code: 6067;
2996
+ name: "dexMissingExternalCenterPrice";
2997
+ msg: "dexMissingExternalCenterPrice";
2998
+ },
2999
+ {
3000
+ code: 6068;
3001
+ name: "dexInvalidExternalCenterPrice";
3002
+ msg: "dexInvalidExternalCenterPrice";
3003
+ },
3004
+ {
3005
+ code: 6069;
3006
+ name: "dexPaybackAmtTooHigh";
3007
+ msg: "dexPaybackAmtTooHigh";
3008
+ },
3009
+ {
3010
+ code: 6070;
3011
+ name: "dexSwapAndPaybackTooLowOrTooHigh";
3012
+ msg: "dexSwapAndPaybackTooLowOrTooHigh";
3013
+ },
3014
+ {
3015
+ code: 6071;
3016
+ name: "dexValidateInvalidDexId";
3017
+ msg: "dexInvalidDexId";
3018
+ },
3019
+ {
3020
+ code: 6072;
3021
+ name: "dexValidateInvalidToken0";
3022
+ msg: "dexInvalidToken0";
3023
+ },
3024
+ {
3025
+ code: 6073;
3026
+ name: "dexValidateInvalidToken1";
3027
+ msg: "dexInvalidToken1";
3028
+ },
3029
+ {
3030
+ code: 6074;
3031
+ name: "dexValidateInvalidPosition";
3032
+ msg: "dexInvalidPosition";
3033
+ },
3034
+ {
3035
+ code: 6075;
3036
+ name: "dexValidateInvalidLiquidityProgram";
3037
+ msg: "dexInvalidLiquidityProgram";
3038
+ },
3039
+ {
3040
+ code: 6076;
3041
+ name: "dexValidateInvalidOracleProgram";
3042
+ msg: "dexInvalidOracleProgram";
3043
+ },
3044
+ {
3045
+ code: 6077;
3046
+ name: "dexValidateInvalidLiquidityPosition";
3047
+ msg: "dexInvalidLiquidityPosition";
3048
+ },
3049
+ {
3050
+ code: 6078;
3051
+ name: "dexValidateMissingLiquidityPosition";
3052
+ msg: "dexMissingLiquidityPosition";
3053
+ },
3054
+ {
3055
+ code: 6079;
3056
+ name: "dexInvalidRecipientPositionWithdraw";
3057
+ msg: "dexInvalidRecipientPositionWithdraw";
3058
+ },
3059
+ {
3060
+ code: 6080;
3061
+ name: "dexInvalidRecipientPositionBorrow";
3062
+ msg: "dexInvalidRecipientPositionBorrow";
3063
+ },
3064
+ {
3065
+ code: 6081;
3066
+ name: "dexSwapInResult";
3067
+ msg: "dexSwapInResult";
3068
+ },
3069
+ {
3070
+ code: 6082;
3071
+ name: "dexSwapOutResult";
3072
+ msg: "dexSwapOutResult";
3073
+ },
3074
+ {
3075
+ code: 6083;
3076
+ name: "dexAdminDexIdMismatch";
3077
+ msg: "dexAdminDexIdMismatch";
3078
+ }
3079
+ ];
3080
+ types: [
3081
+ {
3082
+ name: "addressBool";
3083
+ type: {
3084
+ kind: "struct";
3085
+ fields: [
3086
+ {
3087
+ name: "addr";
3088
+ type: "pubkey";
3089
+ },
3090
+ {
3091
+ name: "value";
3092
+ type: "bool";
3093
+ }
3094
+ ];
3095
+ };
3096
+ },
3097
+ {
3098
+ name: "dex";
3099
+ docs: [
3100
+ "Core DEX pool state. One per trading pair.",
3101
+ "Uses zero_copy for efficient access without deserialization overhead."
3102
+ ];
3103
+ serialization: "bytemuck";
3104
+ repr: {
3105
+ kind: "c";
3106
+ packed: true;
3107
+ };
3108
+ type: {
3109
+ kind: "struct";
3110
+ fields: [
3111
+ {
3112
+ name: "dexId";
3113
+ type: "u16";
3114
+ },
3115
+ {
3116
+ name: "reEntrancy";
3117
+ type: "u8";
3118
+ },
3119
+ {
3120
+ name: "token0";
3121
+ type: "pubkey";
3122
+ },
3123
+ {
3124
+ name: "token1";
3125
+ type: "pubkey";
3126
+ },
3127
+ {
3128
+ name: "token0Decimals";
3129
+ type: "u8";
3130
+ },
3131
+ {
3132
+ name: "token1Decimals";
3133
+ type: "u8";
3134
+ },
3135
+ {
3136
+ name: "lastToLastStoredPrice";
3137
+ type: "u128";
3138
+ },
3139
+ {
3140
+ name: "lastStoredPrice";
3141
+ type: "u128";
3142
+ },
3143
+ {
3144
+ name: "centerPrice";
3145
+ type: "u128";
3146
+ },
3147
+ {
3148
+ name: "lastUpdateTimestamp";
3149
+ type: "u64";
3150
+ },
3151
+ {
3152
+ name: "lastUpdateSlot";
3153
+ type: "u64";
3154
+ },
3155
+ {
3156
+ name: "isSmartCollateralEnabled";
3157
+ type: "u8";
3158
+ },
3159
+ {
3160
+ name: "isSmartDebtEnabled";
3161
+ type: "u8";
3162
+ },
3163
+ {
3164
+ name: "fee";
3165
+ type: "u32";
3166
+ },
3167
+ {
3168
+ name: "revenueCut";
3169
+ type: "u8";
3170
+ },
3171
+ {
3172
+ name: "percentChangeActive";
3173
+ type: "u8";
3174
+ },
3175
+ {
3176
+ name: "upperPercent";
3177
+ type: "u32";
3178
+ },
3179
+ {
3180
+ name: "lowerPercent";
3181
+ type: "u32";
3182
+ },
3183
+ {
3184
+ name: "thresholdChangeActive";
3185
+ type: "u8";
3186
+ },
3187
+ {
3188
+ name: "upperShiftThresholdPercent";
3189
+ type: "u16";
3190
+ },
3191
+ {
3192
+ name: "lowerShiftThresholdPercent";
3193
+ type: "u16";
3194
+ },
3195
+ {
3196
+ name: "shiftingTime";
3197
+ type: "u32";
3198
+ },
3199
+ {
3200
+ name: "centerPriceAddress";
3201
+ type: "pubkey";
3202
+ },
3203
+ {
3204
+ name: "maxCenterPrice";
3205
+ type: "u64";
3206
+ },
3207
+ {
3208
+ name: "minCenterPrice";
3209
+ type: "u64";
3210
+ },
3211
+ {
3212
+ name: "token0MaxUtilization";
3213
+ type: "u16";
3214
+ },
3215
+ {
3216
+ name: "token1MaxUtilization";
3217
+ type: "u16";
3218
+ },
3219
+ {
3220
+ name: "isCenterPriceShiftActive";
3221
+ type: "u8";
3222
+ },
3223
+ {
3224
+ name: "swapAndArbitragePaused";
3225
+ type: "u8";
3226
+ },
3227
+ {
3228
+ name: "totalSupplyShares";
3229
+ type: "u64";
3230
+ },
3231
+ {
3232
+ name: "maxSupplyShares";
3233
+ type: "u64";
3234
+ },
3235
+ {
3236
+ name: "totalBorrowShares";
3237
+ type: "u64";
3238
+ },
3239
+ {
3240
+ name: "maxBorrowShares";
3241
+ type: "u64";
3242
+ },
3243
+ {
3244
+ name: "rangeOldUpperShift";
3245
+ type: "u32";
3246
+ },
3247
+ {
3248
+ name: "rangeOldLowerShift";
3249
+ type: "u32";
3250
+ },
3251
+ {
3252
+ name: "rangeShiftDuration";
3253
+ type: "u32";
3254
+ },
3255
+ {
3256
+ name: "rangeShiftStartTimestamp";
3257
+ type: "u32";
3258
+ },
3259
+ {
3260
+ name: "thresholdOldUpperShift";
3261
+ type: "u16";
3262
+ },
3263
+ {
3264
+ name: "thresholdOldLowerShift";
3265
+ type: "u16";
3266
+ },
3267
+ {
3268
+ name: "thresholdShiftDuration";
3269
+ type: "u32";
3270
+ },
3271
+ {
3272
+ name: "thresholdShiftStartTimestamp";
3273
+ type: "u32";
3274
+ },
3275
+ {
3276
+ name: "thresholdShiftOldTimestamp";
3277
+ type: "u32";
3278
+ },
3279
+ {
3280
+ name: "centerPriceShiftStartTimestamp";
3281
+ type: "u32";
3282
+ },
3283
+ {
3284
+ name: "centerPriceShiftPercent";
3285
+ type: "u32";
3286
+ },
3287
+ {
3288
+ name: "centerPriceShiftTime";
3289
+ type: "u32";
3290
+ },
3291
+ {
3292
+ name: "reserved";
3293
+ type: {
3294
+ array: ["u8", 32];
3295
+ };
3296
+ },
3297
+ {
3298
+ name: "bump";
3299
+ type: "u8";
3300
+ }
3301
+ ];
3302
+ };
3303
+ },
3304
+ {
3305
+ name: "dexAdmin";
3306
+ docs: ["DEX factory/admin account."];
3307
+ type: {
3308
+ kind: "struct";
3309
+ fields: [
3310
+ {
3311
+ name: "authority";
3312
+ type: "pubkey";
3313
+ },
3314
+ {
3315
+ name: "liquidityProgram";
3316
+ type: "pubkey";
3317
+ },
3318
+ {
3319
+ name: "nextDexId";
3320
+ type: "u16";
3321
+ },
3322
+ {
3323
+ name: "auths";
3324
+ type: {
3325
+ vec: "pubkey";
3326
+ };
3327
+ },
3328
+ {
3329
+ name: "reserved";
3330
+ type: {
3331
+ array: ["u8", 32];
3332
+ };
3333
+ },
3334
+ {
3335
+ name: "bump";
3336
+ type: "u8";
3337
+ }
3338
+ ];
3339
+ };
3340
+ },
3341
+ {
3342
+ name: "dexMetadata";
3343
+ type: {
3344
+ kind: "struct";
3345
+ fields: [
3346
+ {
3347
+ name: "dexId";
3348
+ type: "u16";
3349
+ },
3350
+ {
3351
+ name: "lookupTable";
3352
+ type: "pubkey";
3353
+ },
3354
+ {
3355
+ name: "reserved";
3356
+ type: {
3357
+ array: ["u8", 32];
3358
+ };
3359
+ }
3360
+ ];
3361
+ };
3362
+ },
3363
+ {
3364
+ name: "dexPosition";
3365
+ docs: [
3366
+ "Per-protocol per-DEX position.",
3367
+ "Seeds: [DEX_POSITION_SEED, dex.key(), protocol.key()]"
3368
+ ];
3369
+ serialization: "bytemuck";
3370
+ repr: {
3371
+ kind: "c";
3372
+ packed: true;
3373
+ };
3374
+ type: {
3375
+ kind: "struct";
3376
+ fields: [
3377
+ {
3378
+ name: "dexId";
3379
+ type: "u16";
3380
+ },
3381
+ {
3382
+ name: "protocol";
3383
+ type: "pubkey";
3384
+ },
3385
+ {
3386
+ name: "supplyStatus";
3387
+ type: "u8";
3388
+ },
3389
+ {
3390
+ name: "supplyShares";
3391
+ type: "u64";
3392
+ },
3393
+ {
3394
+ name: "withdrawalLimit";
3395
+ type: "u64";
3396
+ },
3397
+ {
3398
+ name: "supplyLastUpdate";
3399
+ type: "u64";
3400
+ },
3401
+ {
3402
+ name: "supplyExpandPct";
3403
+ type: "u16";
3404
+ },
3405
+ {
3406
+ name: "supplyExpandDuration";
3407
+ type: "u64";
3408
+ },
3409
+ {
3410
+ name: "baseWithdrawalLimit";
3411
+ type: "u64";
3412
+ },
3413
+ {
3414
+ name: "borrowStatus";
3415
+ type: "u8";
3416
+ },
3417
+ {
3418
+ name: "borrowShares";
3419
+ type: "u64";
3420
+ },
3421
+ {
3422
+ name: "debtCeiling";
3423
+ type: "u64";
3424
+ },
3425
+ {
3426
+ name: "borrowLastUpdate";
3427
+ type: "u64";
3428
+ },
3429
+ {
3430
+ name: "borrowExpandPct";
3431
+ type: "u16";
3432
+ },
3433
+ {
3434
+ name: "borrowExpandDuration";
3435
+ type: "u32";
3436
+ },
3437
+ {
3438
+ name: "baseDebtCeiling";
3439
+ type: "u64";
3440
+ },
3441
+ {
3442
+ name: "maxDebtCeiling";
3443
+ type: "u64";
3444
+ },
3445
+ {
3446
+ name: "reserved";
3447
+ type: {
3448
+ array: ["u8", 32];
3449
+ };
3450
+ }
3451
+ ];
3452
+ };
3453
+ },
3454
+ {
3455
+ name: "initDexParams";
3456
+ type: {
3457
+ kind: "struct";
3458
+ fields: [
3459
+ {
3460
+ name: "centerPrice";
3461
+ docs: [
3462
+ "Initial center price: a normalized ratio scaled by PRICE_PRECISION (10^15)"
3463
+ ];
3464
+ type: "u64";
3465
+ },
3466
+ {
3467
+ name: "fee";
3468
+ docs: ["Fee in 4 decimals: 1% = 10000, max 10% = 100000"];
3469
+ type: "u32";
3470
+ },
3471
+ {
3472
+ name: "revenueCut";
3473
+ docs: [
3474
+ "Revenue cut in 4 decimals (e.g., 100000 = 10%). Divided by 10000 for storage."
3475
+ ];
3476
+ type: "u32";
3477
+ },
3478
+ {
3479
+ name: "upperPercent";
3480
+ docs: ["Upper range percent in 4 decimals: 1% = 10000"];
3481
+ type: "u32";
3482
+ },
3483
+ {
3484
+ name: "lowerPercent";
3485
+ docs: ["Lower range percent in 4 decimals: 1% = 10000"];
3486
+ type: "u32";
3487
+ },
3488
+ {
3489
+ name: "upperShiftThreshold";
3490
+ docs: [
3491
+ "Upper shift threshold percent in 4 decimals. Divided by 1000 for storage."
3492
+ ];
3493
+ type: "u32";
3494
+ },
3495
+ {
3496
+ name: "lowerShiftThreshold";
3497
+ docs: [
3498
+ "Lower shift threshold percent in 4 decimals. Divided by 1000 for storage."
3499
+ ];
3500
+ type: "u32";
3501
+ },
3502
+ {
3503
+ name: "thresholdShiftTime";
3504
+ docs: ["Time (seconds) for threshold-based center price shift"];
3505
+ type: "u32";
3506
+ },
3507
+ {
3508
+ name: "maxCenterPrice";
3509
+ docs: ["Maximum center price"];
3510
+ type: "u64";
3511
+ },
3512
+ {
3513
+ name: "minCenterPrice";
3514
+ docs: ["Minimum center price"];
3515
+ type: "u64";
3516
+ }
3517
+ ];
3518
+ };
3519
+ },
3520
+ {
3521
+ name: "logArbitrage";
3522
+ type: {
3523
+ kind: "struct";
3524
+ fields: [
3525
+ {
3526
+ name: "dexId";
3527
+ type: "u16";
3528
+ },
3529
+ {
3530
+ name: "routing";
3531
+ type: "i128";
3532
+ },
3533
+ {
3534
+ name: "amtOut";
3535
+ type: "u64";
3536
+ }
3537
+ ];
3538
+ };
3539
+ },
3540
+ {
3541
+ name: "logBorrowDebtLiquidity";
3542
+ type: {
3543
+ kind: "struct";
3544
+ fields: [
3545
+ {
3546
+ name: "dexId";
3547
+ type: "u16";
3548
+ },
3549
+ {
3550
+ name: "amount0";
3551
+ type: "u64";
3552
+ },
3553
+ {
3554
+ name: "amount1";
3555
+ type: "u64";
3556
+ },
3557
+ {
3558
+ name: "shares";
3559
+ type: "u64";
3560
+ },
3561
+ {
3562
+ name: "user";
3563
+ type: "pubkey";
3564
+ },
3565
+ {
3566
+ name: "protocol";
3567
+ type: "pubkey";
3568
+ }
3569
+ ];
3570
+ };
3571
+ },
3572
+ {
3573
+ name: "logBorrowPerfectDebtLiquidity";
3574
+ type: {
3575
+ kind: "struct";
3576
+ fields: [
3577
+ {
3578
+ name: "dexId";
3579
+ type: "u16";
3580
+ },
3581
+ {
3582
+ name: "shares";
3583
+ type: "u64";
3584
+ },
3585
+ {
3586
+ name: "token0Amt";
3587
+ type: "u64";
3588
+ },
3589
+ {
3590
+ name: "token1Amt";
3591
+ type: "u64";
3592
+ },
3593
+ {
3594
+ name: "user";
3595
+ type: "pubkey";
3596
+ },
3597
+ {
3598
+ name: "protocol";
3599
+ type: "pubkey";
3600
+ }
3601
+ ];
3602
+ };
3603
+ },
3604
+ {
3605
+ name: "logDepositColLiquidity";
3606
+ type: {
3607
+ kind: "struct";
3608
+ fields: [
3609
+ {
3610
+ name: "dexId";
3611
+ type: "u16";
3612
+ },
3613
+ {
3614
+ name: "amount0";
3615
+ type: "u64";
3616
+ },
3617
+ {
3618
+ name: "amount1";
3619
+ type: "u64";
3620
+ },
3621
+ {
3622
+ name: "shares";
3623
+ type: "u64";
3624
+ },
3625
+ {
3626
+ name: "user";
3627
+ type: "pubkey";
3628
+ },
3629
+ {
3630
+ name: "protocol";
3631
+ type: "pubkey";
3632
+ }
3633
+ ];
3634
+ };
3635
+ },
3636
+ {
3637
+ name: "logDepositPerfectColLiquidity";
3638
+ type: {
3639
+ kind: "struct";
3640
+ fields: [
3641
+ {
3642
+ name: "dexId";
3643
+ type: "u16";
3644
+ },
3645
+ {
3646
+ name: "shares";
3647
+ type: "u64";
3648
+ },
3649
+ {
3650
+ name: "token0Amt";
3651
+ type: "u64";
3652
+ },
3653
+ {
3654
+ name: "token1Amt";
3655
+ type: "u64";
3656
+ },
3657
+ {
3658
+ name: "user";
3659
+ type: "pubkey";
3660
+ },
3661
+ {
3662
+ name: "protocol";
3663
+ type: "pubkey";
3664
+ }
3665
+ ];
3666
+ };
3667
+ },
3668
+ {
3669
+ name: "logInitDex";
3670
+ type: {
3671
+ kind: "struct";
3672
+ fields: [
3673
+ {
3674
+ name: "dexId";
3675
+ type: "u16";
3676
+ },
3677
+ {
3678
+ name: "token0";
3679
+ type: "pubkey";
3680
+ },
3681
+ {
3682
+ name: "token1";
3683
+ type: "pubkey";
3684
+ },
3685
+ {
3686
+ name: "smartCol";
3687
+ type: "bool";
3688
+ },
3689
+ {
3690
+ name: "smartDebt";
3691
+ type: "bool";
3692
+ },
3693
+ {
3694
+ name: "fee";
3695
+ type: "u32";
3696
+ },
3697
+ {
3698
+ name: "revenueCut";
3699
+ type: "u32";
3700
+ },
3701
+ {
3702
+ name: "centerPrice";
3703
+ type: "u64";
3704
+ }
3705
+ ];
3706
+ };
3707
+ },
3708
+ {
3709
+ name: "logInitDexMetadata";
3710
+ type: {
3711
+ kind: "struct";
3712
+ fields: [
3713
+ {
3714
+ name: "dexId";
3715
+ type: "u16";
3716
+ },
3717
+ {
3718
+ name: "lookupTable";
3719
+ type: "pubkey";
3720
+ }
3721
+ ];
3722
+ };
3723
+ },
3724
+ {
3725
+ name: "logInitDexPriceParams";
3726
+ type: {
3727
+ kind: "struct";
3728
+ fields: [
3729
+ {
3730
+ name: "dexId";
3731
+ type: "u16";
3732
+ },
3733
+ {
3734
+ name: "upperPercent";
3735
+ type: "u32";
3736
+ },
3737
+ {
3738
+ name: "lowerPercent";
3739
+ type: "u32";
3740
+ },
3741
+ {
3742
+ name: "upperShiftThreshold";
3743
+ type: "u32";
3744
+ },
3745
+ {
3746
+ name: "lowerShiftThreshold";
3747
+ type: "u32";
3748
+ },
3749
+ {
3750
+ name: "thresholdShiftTime";
3751
+ type: "u32";
3752
+ },
3753
+ {
3754
+ name: "maxCenterPrice";
3755
+ type: "u64";
3756
+ },
3757
+ {
3758
+ name: "minCenterPrice";
3759
+ type: "u64";
3760
+ }
3761
+ ];
3762
+ };
3763
+ },
3764
+ {
3765
+ name: "logPauseDex";
3766
+ type: {
3767
+ kind: "struct";
3768
+ fields: [
3769
+ {
3770
+ name: "dexId";
3771
+ type: "u16";
3772
+ }
3773
+ ];
3774
+ };
3775
+ },
3776
+ {
3777
+ name: "logPauseSwapAndArbitrage";
3778
+ type: {
3779
+ kind: "struct";
3780
+ fields: [
3781
+ {
3782
+ name: "dexId";
3783
+ type: "u16";
3784
+ }
3785
+ ];
3786
+ };
3787
+ },
3788
+ {
3789
+ name: "logPauseUser";
3790
+ type: {
3791
+ kind: "struct";
3792
+ fields: [
3793
+ {
3794
+ name: "dexId";
3795
+ type: "u16";
3796
+ },
3797
+ {
3798
+ name: "protocol";
3799
+ type: "pubkey";
3800
+ },
3801
+ {
3802
+ name: "pauseSupply";
3803
+ type: "bool";
3804
+ },
3805
+ {
3806
+ name: "pauseBorrow";
3807
+ type: "bool";
3808
+ }
3809
+ ];
3810
+ };
3811
+ },
3812
+ {
3813
+ name: "logPaybackDebtInOneToken";
3814
+ type: {
3815
+ kind: "struct";
3816
+ fields: [
3817
+ {
3818
+ name: "dexId";
3819
+ type: "u16";
3820
+ },
3821
+ {
3822
+ name: "shares";
3823
+ type: "u64";
3824
+ },
3825
+ {
3826
+ name: "token0Amt";
3827
+ type: "u64";
3828
+ },
3829
+ {
3830
+ name: "token1Amt";
3831
+ type: "u64";
3832
+ },
3833
+ {
3834
+ name: "user";
3835
+ type: "pubkey";
3836
+ },
3837
+ {
3838
+ name: "protocol";
3839
+ type: "pubkey";
3840
+ }
3841
+ ];
3842
+ };
3843
+ },
3844
+ {
3845
+ name: "logPaybackDebtLiquidity";
3846
+ type: {
3847
+ kind: "struct";
3848
+ fields: [
3849
+ {
3850
+ name: "dexId";
3851
+ type: "u16";
3852
+ },
3853
+ {
3854
+ name: "amount0";
3855
+ type: "u64";
3856
+ },
3857
+ {
3858
+ name: "amount1";
3859
+ type: "u64";
3860
+ },
3861
+ {
3862
+ name: "shares";
3863
+ type: "u64";
3864
+ },
3865
+ {
3866
+ name: "user";
3867
+ type: "pubkey";
3868
+ },
3869
+ {
3870
+ name: "protocol";
3871
+ type: "pubkey";
3872
+ }
3873
+ ];
3874
+ };
3875
+ },
3876
+ {
3877
+ name: "logPaybackPerfectDebtLiquidity";
3878
+ type: {
3879
+ kind: "struct";
3880
+ fields: [
3881
+ {
3882
+ name: "dexId";
3883
+ type: "u16";
3884
+ },
3885
+ {
3886
+ name: "shares";
3887
+ type: "u64";
3888
+ },
3889
+ {
3890
+ name: "token0Amt";
3891
+ type: "u64";
3892
+ },
3893
+ {
3894
+ name: "token1Amt";
3895
+ type: "u64";
3896
+ },
3897
+ {
3898
+ name: "user";
3899
+ type: "pubkey";
3900
+ },
3901
+ {
3902
+ name: "protocol";
3903
+ type: "pubkey";
3904
+ }
3905
+ ];
3906
+ };
3907
+ },
3908
+ {
3909
+ name: "logSwap";
3910
+ type: {
3911
+ kind: "struct";
3912
+ fields: [
3913
+ {
3914
+ name: "dexId";
3915
+ type: "u16";
3916
+ },
3917
+ {
3918
+ name: "swap0To1";
3919
+ type: "bool";
3920
+ },
3921
+ {
3922
+ name: "amountIn";
3923
+ type: "u64";
3924
+ },
3925
+ {
3926
+ name: "amountOut";
3927
+ type: "u64";
3928
+ },
3929
+ {
3930
+ name: "to";
3931
+ type: "pubkey";
3932
+ }
3933
+ ];
3934
+ };
3935
+ },
3936
+ {
3937
+ name: "logTurnOnSmartCol";
3938
+ type: {
3939
+ kind: "struct";
3940
+ fields: [
3941
+ {
3942
+ name: "dexId";
3943
+ type: "u16";
3944
+ },
3945
+ {
3946
+ name: "token0Amt";
3947
+ type: "u64";
3948
+ }
3949
+ ];
3950
+ };
3951
+ },
3952
+ {
3953
+ name: "logTurnOnSmartDebt";
3954
+ type: {
3955
+ kind: "struct";
3956
+ fields: [
3957
+ {
3958
+ name: "dexId";
3959
+ type: "u16";
3960
+ },
3961
+ {
3962
+ name: "token0Amt";
3963
+ type: "u64";
3964
+ }
3965
+ ];
3966
+ };
3967
+ },
3968
+ {
3969
+ name: "logUnpauseDex";
3970
+ type: {
3971
+ kind: "struct";
3972
+ fields: [
3973
+ {
3974
+ name: "dexId";
3975
+ type: "u16";
3976
+ }
3977
+ ];
3978
+ };
3979
+ },
3980
+ {
3981
+ name: "logUnpauseSwapAndArbitrage";
3982
+ type: {
3983
+ kind: "struct";
3984
+ fields: [
3985
+ {
3986
+ name: "dexId";
3987
+ type: "u16";
3988
+ }
3989
+ ];
3990
+ };
3991
+ },
3992
+ {
3993
+ name: "logUnpauseUser";
3994
+ type: {
3995
+ kind: "struct";
3996
+ fields: [
3997
+ {
3998
+ name: "dexId";
3999
+ type: "u16";
4000
+ },
4001
+ {
4002
+ name: "protocol";
4003
+ type: "pubkey";
4004
+ },
4005
+ {
4006
+ name: "unpauseSupply";
4007
+ type: "bool";
4008
+ },
4009
+ {
4010
+ name: "unpauseBorrow";
4011
+ type: "bool";
4012
+ }
4013
+ ];
4014
+ };
4015
+ },
4016
+ {
4017
+ name: "logUpdateAuthority";
4018
+ type: {
4019
+ kind: "struct";
4020
+ fields: [
4021
+ {
4022
+ name: "newAuthority";
4023
+ type: "pubkey";
4024
+ }
4025
+ ];
4026
+ };
4027
+ },
4028
+ {
4029
+ name: "logUpdateAuths";
4030
+ type: {
4031
+ kind: "struct";
4032
+ fields: [
4033
+ {
4034
+ name: "authStatus";
4035
+ type: {
4036
+ vec: {
4037
+ defined: {
4038
+ name: "addressBool";
4039
+ };
4040
+ };
4041
+ };
4042
+ }
4043
+ ];
4044
+ };
4045
+ },
4046
+ {
4047
+ name: "logUpdateCenterPriceAddress";
4048
+ type: {
4049
+ kind: "struct";
4050
+ fields: [
4051
+ {
4052
+ name: "dexId";
4053
+ type: "u16";
4054
+ },
4055
+ {
4056
+ name: "centerPriceAddress";
4057
+ type: "pubkey";
4058
+ },
4059
+ {
4060
+ name: "percent";
4061
+ type: "u32";
4062
+ },
4063
+ {
4064
+ name: "time";
4065
+ type: "u32";
4066
+ }
4067
+ ];
4068
+ };
4069
+ },
4070
+ {
4071
+ name: "logUpdateCenterPriceLimits";
4072
+ type: {
4073
+ kind: "struct";
4074
+ fields: [
4075
+ {
4076
+ name: "dexId";
4077
+ type: "u16";
4078
+ },
4079
+ {
4080
+ name: "maxCenterPrice";
4081
+ type: "u64";
4082
+ },
4083
+ {
4084
+ name: "minCenterPrice";
4085
+ type: "u64";
4086
+ }
4087
+ ];
4088
+ };
4089
+ },
4090
+ {
4091
+ name: "logUpdateDexLookupTable";
4092
+ type: {
4093
+ kind: "struct";
4094
+ fields: [
4095
+ {
4096
+ name: "dexId";
4097
+ type: "u16";
4098
+ },
4099
+ {
4100
+ name: "lookupTable";
4101
+ type: "pubkey";
4102
+ }
4103
+ ];
4104
+ };
4105
+ },
4106
+ {
4107
+ name: "logUpdateFeeAndRevenueCut";
4108
+ type: {
4109
+ kind: "struct";
4110
+ fields: [
4111
+ {
4112
+ name: "dexId";
4113
+ type: "u16";
4114
+ },
4115
+ {
4116
+ name: "fee";
4117
+ type: "u32";
4118
+ },
4119
+ {
4120
+ name: "revenueCut";
4121
+ type: "u32";
4122
+ }
4123
+ ];
4124
+ };
4125
+ },
4126
+ {
4127
+ name: "logUpdateMaxBorrowShares";
4128
+ type: {
4129
+ kind: "struct";
4130
+ fields: [
4131
+ {
4132
+ name: "dexId";
4133
+ type: "u16";
4134
+ },
4135
+ {
4136
+ name: "maxBorrowShares";
4137
+ type: "u64";
4138
+ }
4139
+ ];
4140
+ };
4141
+ },
4142
+ {
4143
+ name: "logUpdateMaxSupplyShares";
4144
+ type: {
4145
+ kind: "struct";
4146
+ fields: [
4147
+ {
4148
+ name: "dexId";
4149
+ type: "u16";
4150
+ },
4151
+ {
4152
+ name: "maxSupplyShares";
4153
+ type: "u64";
4154
+ }
4155
+ ];
4156
+ };
4157
+ },
4158
+ {
4159
+ name: "logUpdateRangePercents";
4160
+ type: {
4161
+ kind: "struct";
4162
+ fields: [
4163
+ {
4164
+ name: "dexId";
4165
+ type: "u16";
4166
+ },
4167
+ {
4168
+ name: "upperPercent";
4169
+ type: "u32";
4170
+ },
4171
+ {
4172
+ name: "lowerPercent";
4173
+ type: "u32";
4174
+ },
4175
+ {
4176
+ name: "shiftTime";
4177
+ type: "u32";
4178
+ }
4179
+ ];
4180
+ };
4181
+ },
4182
+ {
4183
+ name: "logUpdateThresholdPercent";
4184
+ type: {
4185
+ kind: "struct";
4186
+ fields: [
4187
+ {
4188
+ name: "dexId";
4189
+ type: "u16";
4190
+ },
4191
+ {
4192
+ name: "upperThresholdPercent";
4193
+ type: "u32";
4194
+ },
4195
+ {
4196
+ name: "lowerThresholdPercent";
4197
+ type: "u32";
4198
+ },
4199
+ {
4200
+ name: "thresholdShiftTime";
4201
+ type: "u32";
4202
+ },
4203
+ {
4204
+ name: "shiftTime";
4205
+ type: "u32";
4206
+ }
4207
+ ];
4208
+ };
4209
+ },
4210
+ {
4211
+ name: "logUpdateUserBorrowConfig";
4212
+ type: {
4213
+ kind: "struct";
4214
+ fields: [
4215
+ {
4216
+ name: "dexId";
4217
+ type: "u16";
4218
+ },
4219
+ {
4220
+ name: "protocol";
4221
+ type: "pubkey";
4222
+ },
4223
+ {
4224
+ name: "expandPercent";
4225
+ type: "u16";
4226
+ },
4227
+ {
4228
+ name: "expandDuration";
4229
+ type: "u32";
4230
+ },
4231
+ {
4232
+ name: "baseDebtCeiling";
4233
+ type: "u64";
4234
+ },
4235
+ {
4236
+ name: "maxDebtCeiling";
4237
+ type: "u64";
4238
+ }
4239
+ ];
4240
+ };
4241
+ },
4242
+ {
4243
+ name: "logUpdateUserSupplyConfig";
4244
+ type: {
4245
+ kind: "struct";
4246
+ fields: [
4247
+ {
4248
+ name: "dexId";
4249
+ type: "u16";
4250
+ },
4251
+ {
4252
+ name: "protocol";
4253
+ type: "pubkey";
4254
+ },
4255
+ {
4256
+ name: "expandPercent";
4257
+ type: "u16";
4258
+ },
4259
+ {
4260
+ name: "expandDuration";
4261
+ type: "u64";
4262
+ },
4263
+ {
4264
+ name: "baseWithdrawalLimit";
4265
+ type: "u64";
4266
+ }
4267
+ ];
4268
+ };
4269
+ },
4270
+ {
4271
+ name: "logUpdateUserWithdrawalLimit";
4272
+ type: {
4273
+ kind: "struct";
4274
+ fields: [
4275
+ {
4276
+ name: "dexId";
4277
+ type: "u16";
4278
+ },
4279
+ {
4280
+ name: "protocol";
4281
+ type: "pubkey";
4282
+ },
4283
+ {
4284
+ name: "newLimit";
4285
+ type: "u64";
4286
+ }
4287
+ ];
4288
+ };
4289
+ },
4290
+ {
4291
+ name: "logUpdateUtilizationLimit";
4292
+ type: {
4293
+ kind: "struct";
4294
+ fields: [
4295
+ {
4296
+ name: "dexId";
4297
+ type: "u16";
4298
+ },
4299
+ {
4300
+ name: "token0UtilizationLimit";
4301
+ type: "u16";
4302
+ },
4303
+ {
4304
+ name: "token1UtilizationLimit";
4305
+ type: "u16";
4306
+ }
4307
+ ];
4308
+ };
4309
+ },
4310
+ {
4311
+ name: "logWithdrawColInOneToken";
4312
+ type: {
4313
+ kind: "struct";
4314
+ fields: [
4315
+ {
4316
+ name: "dexId";
4317
+ type: "u16";
4318
+ },
4319
+ {
4320
+ name: "shares";
4321
+ type: "u64";
4322
+ },
4323
+ {
4324
+ name: "token0Amt";
4325
+ type: "u64";
4326
+ },
4327
+ {
4328
+ name: "token1Amt";
4329
+ type: "u64";
4330
+ },
4331
+ {
4332
+ name: "user";
4333
+ type: "pubkey";
4334
+ },
4335
+ {
4336
+ name: "protocol";
4337
+ type: "pubkey";
4338
+ }
4339
+ ];
4340
+ };
4341
+ },
4342
+ {
4343
+ name: "logWithdrawColLiquidity";
4344
+ type: {
4345
+ kind: "struct";
4346
+ fields: [
4347
+ {
4348
+ name: "dexId";
4349
+ type: "u16";
4350
+ },
4351
+ {
4352
+ name: "amount0";
4353
+ type: "u64";
4354
+ },
4355
+ {
4356
+ name: "amount1";
4357
+ type: "u64";
4358
+ },
4359
+ {
4360
+ name: "shares";
4361
+ type: "u64";
4362
+ },
4363
+ {
4364
+ name: "user";
4365
+ type: "pubkey";
4366
+ },
4367
+ {
4368
+ name: "protocol";
4369
+ type: "pubkey";
4370
+ }
4371
+ ];
4372
+ };
4373
+ },
4374
+ {
4375
+ name: "logWithdrawPerfectColLiquidity";
4376
+ type: {
4377
+ kind: "struct";
4378
+ fields: [
4379
+ {
4380
+ name: "dexId";
4381
+ type: "u16";
4382
+ },
4383
+ {
4384
+ name: "shares";
4385
+ type: "u64";
4386
+ },
4387
+ {
4388
+ name: "token0Amt";
4389
+ type: "u64";
4390
+ },
4391
+ {
4392
+ name: "token1Amt";
4393
+ type: "u64";
4394
+ },
4395
+ {
4396
+ name: "user";
4397
+ type: "pubkey";
4398
+ },
4399
+ {
4400
+ name: "protocol";
4401
+ type: "pubkey";
4402
+ }
4403
+ ];
4404
+ };
4405
+ },
4406
+ {
4407
+ name: "tokenReserve";
4408
+ docs: ["Token configuration and exchange prices"];
4409
+ serialization: "bytemuck";
4410
+ repr: {
4411
+ kind: "c";
4412
+ packed: true;
4413
+ };
4414
+ type: {
4415
+ kind: "struct";
4416
+ fields: [
4417
+ {
4418
+ name: "mint";
4419
+ type: "pubkey";
4420
+ },
4421
+ {
4422
+ name: "vault";
4423
+ type: "pubkey";
4424
+ },
4425
+ {
4426
+ name: "borrowRate";
4427
+ type: "u16";
4428
+ },
4429
+ {
4430
+ name: "feeOnInterest";
4431
+ type: "u16";
4432
+ },
4433
+ {
4434
+ name: "lastUtilization";
4435
+ type: "u16";
4436
+ },
4437
+ {
4438
+ name: "lastUpdateTimestamp";
4439
+ type: "u64";
4440
+ },
4441
+ {
4442
+ name: "supplyExchangePrice";
4443
+ type: "u64";
4444
+ },
4445
+ {
4446
+ name: "borrowExchangePrice";
4447
+ type: "u64";
4448
+ },
4449
+ {
4450
+ name: "maxUtilization";
4451
+ type: "u16";
4452
+ },
4453
+ {
4454
+ name: "totalSupplyWithInterest";
4455
+ type: "u64";
4456
+ },
4457
+ {
4458
+ name: "totalSupplyInterestFree";
4459
+ type: "u64";
4460
+ },
4461
+ {
4462
+ name: "totalBorrowWithInterest";
4463
+ type: "u64";
4464
+ },
4465
+ {
4466
+ name: "totalBorrowInterestFree";
4467
+ type: "u64";
4468
+ },
4469
+ {
4470
+ name: "totalClaimAmount";
4471
+ type: "u64";
4472
+ },
4473
+ {
4474
+ name: "interactingProtocol";
4475
+ type: "pubkey";
4476
+ },
4477
+ {
4478
+ name: "interactingTimestamp";
4479
+ type: "u64";
4480
+ },
4481
+ {
4482
+ name: "interactingBalance";
4483
+ type: "u64";
4484
+ }
4485
+ ];
4486
+ };
4487
+ },
4488
+ {
4489
+ name: "userBorrowConfigParams";
4490
+ type: {
4491
+ kind: "struct";
4492
+ fields: [
4493
+ {
4494
+ name: "expandPercent";
4495
+ type: "u16";
4496
+ },
4497
+ {
4498
+ name: "expandDuration";
4499
+ type: "u32";
4500
+ },
4501
+ {
4502
+ name: "baseDebtCeiling";
4503
+ type: "u64";
4504
+ },
4505
+ {
4506
+ name: "maxDebtCeiling";
4507
+ type: "u64";
4508
+ }
4509
+ ];
4510
+ };
4511
+ },
4512
+ {
4513
+ name: "userBorrowPosition";
4514
+ docs: ["User borrow position"];
4515
+ serialization: "bytemuck";
4516
+ repr: {
4517
+ kind: "c";
4518
+ packed: true;
4519
+ };
4520
+ type: {
4521
+ kind: "struct";
4522
+ fields: [
4523
+ {
4524
+ name: "protocol";
4525
+ type: "pubkey";
4526
+ },
4527
+ {
4528
+ name: "mint";
4529
+ type: "pubkey";
4530
+ },
4531
+ {
4532
+ name: "withInterest";
4533
+ type: "u8";
4534
+ },
4535
+ {
4536
+ name: "amount";
4537
+ type: "u64";
4538
+ },
4539
+ {
4540
+ name: "debtCeiling";
4541
+ type: "u64";
4542
+ },
4543
+ {
4544
+ name: "lastUpdate";
4545
+ type: "u64";
4546
+ },
4547
+ {
4548
+ name: "expandPct";
4549
+ type: "u16";
4550
+ },
4551
+ {
4552
+ name: "expandDuration";
4553
+ type: "u32";
4554
+ },
4555
+ {
4556
+ name: "baseDebtCeiling";
4557
+ type: "u64";
4558
+ },
4559
+ {
4560
+ name: "maxDebtCeiling";
4561
+ type: "u64";
4562
+ },
4563
+ {
4564
+ name: "status";
4565
+ type: "u8";
4566
+ }
4567
+ ];
4568
+ };
4569
+ },
4570
+ {
4571
+ name: "userSupplyConfigParams";
4572
+ type: {
4573
+ kind: "struct";
4574
+ fields: [
4575
+ {
4576
+ name: "expandPercent";
4577
+ type: "u16";
4578
+ },
4579
+ {
4580
+ name: "expandDuration";
4581
+ type: "u64";
4582
+ },
4583
+ {
4584
+ name: "baseWithdrawalLimit";
4585
+ type: "u64";
4586
+ }
4587
+ ];
4588
+ };
4589
+ },
4590
+ {
4591
+ name: "userSupplyPosition";
4592
+ docs: ["User supply position"];
4593
+ serialization: "bytemuck";
4594
+ repr: {
4595
+ kind: "c";
4596
+ packed: true;
4597
+ };
4598
+ type: {
4599
+ kind: "struct";
4600
+ fields: [
4601
+ {
4602
+ name: "protocol";
4603
+ type: "pubkey";
4604
+ },
4605
+ {
4606
+ name: "mint";
4607
+ type: "pubkey";
4608
+ },
4609
+ {
4610
+ name: "withInterest";
4611
+ type: "u8";
4612
+ },
4613
+ {
4614
+ name: "amount";
4615
+ type: "u64";
4616
+ },
4617
+ {
4618
+ name: "withdrawalLimit";
4619
+ type: "u128";
4620
+ },
4621
+ {
4622
+ name: "lastUpdate";
4623
+ type: "u64";
4624
+ },
4625
+ {
4626
+ name: "expandPct";
4627
+ type: "u16";
4628
+ },
4629
+ {
4630
+ name: "expandDuration";
4631
+ type: "u64";
4632
+ },
4633
+ {
4634
+ name: "baseWithdrawalLimit";
4635
+ type: "u64";
4636
+ },
4637
+ {
4638
+ name: "status";
4639
+ type: "u8";
4640
+ }
4641
+ ];
4642
+ };
4643
+ }
4644
+ ];
4645
+ };
4646
+
4647
+ type ConnectionParams = {
4648
+ connection: Connection;
4649
+ signer: PublicKey;
4650
+ };
4651
+ declare const getDexProgram: ({ connection, signer, }: {
4652
+ connection: Connection;
4653
+ signer?: PublicKey;
4654
+ }) => Program<Dex>;
4655
+ type SwapInIxParams = {
4656
+ dexId: number;
4657
+ swap0to1: boolean;
4658
+ amountIn: BN__default;
4659
+ amountOutMin: BN__default;
4660
+ recipient?: PublicKey;
4661
+ } & ConnectionParams;
4662
+ declare function getSwapInIx(params: SwapInIxParams): Promise<{
4663
+ ixs: _solana_web3_js.TransactionInstruction[];
4664
+ accounts: {
4665
+ signer: PublicKey;
4666
+ dex: PublicKey;
4667
+ userToken0Account: PublicKey;
4668
+ userToken1Account: PublicKey;
4669
+ recipient: PublicKey | undefined;
4670
+ recipientToken0Account: PublicKey;
4671
+ recipientToken1Account: PublicKey;
4672
+ token0: PublicKey;
4673
+ token1: PublicKey;
4674
+ token0Reserve: PublicKey;
4675
+ token1Reserve: PublicKey;
4676
+ token0RateModel: PublicKey;
4677
+ token1RateModel: PublicKey;
4678
+ token0Vault: PublicKey;
4679
+ token1Vault: PublicKey;
4680
+ dexSupplyPositionToken0: PublicKey;
4681
+ dexSupplyPositionToken1: PublicKey;
4682
+ dexBorrowPositionToken0: PublicKey;
4683
+ dexBorrowPositionToken1: PublicKey;
4684
+ liquidity: PublicKey;
4685
+ liquidityProgram: PublicKey;
4686
+ token0Program: PublicKey;
4687
+ token1Program: PublicKey;
4688
+ oracleProgram: PublicKey;
4689
+ associatedTokenProgram: PublicKey;
4690
+ };
4691
+ remainingAccounts: {
4692
+ pubkey: PublicKey;
4693
+ isWritable: boolean;
4694
+ isSigner: boolean;
4695
+ }[];
4696
+ addressLookupTableAddresses: PublicKey[];
4697
+ addressLookupTableAccounts: _solana_web3_js.AddressLookupTableAccount[];
4698
+ }>;
4699
+ type SwapOutIxParams = {
4700
+ dexId: number;
4701
+ swap0to1: boolean;
4702
+ amountOut: BN__default;
4703
+ amountInMax: BN__default;
4704
+ recipient?: PublicKey;
4705
+ } & ConnectionParams;
4706
+ declare function getSwapOutIx(params: SwapOutIxParams): Promise<{
4707
+ ixs: _solana_web3_js.TransactionInstruction[];
4708
+ accounts: {
4709
+ signer: PublicKey;
4710
+ dex: PublicKey;
4711
+ userToken0Account: PublicKey;
4712
+ userToken1Account: PublicKey;
4713
+ recipient: PublicKey | undefined;
4714
+ recipientToken0Account: PublicKey;
4715
+ recipientToken1Account: PublicKey;
4716
+ token0: PublicKey;
4717
+ token1: PublicKey;
4718
+ token0Reserve: PublicKey;
4719
+ token1Reserve: PublicKey;
4720
+ token0RateModel: PublicKey;
4721
+ token1RateModel: PublicKey;
4722
+ token0Vault: PublicKey;
4723
+ token1Vault: PublicKey;
4724
+ dexSupplyPositionToken0: PublicKey;
4725
+ dexSupplyPositionToken1: PublicKey;
4726
+ dexBorrowPositionToken0: PublicKey;
4727
+ dexBorrowPositionToken1: PublicKey;
4728
+ liquidity: PublicKey;
4729
+ liquidityProgram: PublicKey;
4730
+ token0Program: PublicKey;
4731
+ token1Program: PublicKey;
4732
+ oracleProgram: PublicKey;
4733
+ associatedTokenProgram: PublicKey;
4734
+ };
4735
+ remainingAccounts: {
4736
+ pubkey: PublicKey;
4737
+ isWritable: boolean;
4738
+ isSigner: boolean;
4739
+ }[];
4740
+ addressLookupTableAddresses: PublicKey[];
4741
+ addressLookupTableAccounts: _solana_web3_js.AddressLookupTableAccount[];
4742
+ }>;
4743
+
4744
+ export { getDexProgram, getSwapInIx, getSwapOutIx };
4745
+ export type { ConnectionParams, SwapInIxParams, SwapOutIxParams };