@jup-ag/lend 0.1.10-beta.4 → 0.2.0-beta.1

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