@meteora-ag/dlmm 1.3.17-rc.7 → 1.4.1-rc.0

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.
package/dist/index.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  import * as _coral_xyz_anchor from '@coral-xyz/anchor';
2
2
  import { BN, Program, IdlAccounts, ProgramAccount, IdlTypes, EventParser } from '@coral-xyz/anchor';
3
3
  import * as _solana_web3_js from '@solana/web3.js';
4
- import { PublicKey, TransactionInstruction, Connection, Transaction, Cluster } from '@solana/web3.js';
4
+ import { PublicKey, AccountMeta, TransactionInstruction, Connection, Transaction, Cluster } from '@solana/web3.js';
5
5
  import Decimal from 'decimal.js';
6
+ import { Mint } from '@solana/spl-token';
6
7
 
7
8
  type LbClmm = {
8
- "version": "0.8.6";
9
+ "version": "0.9.0";
9
10
  "name": "lb_clmm";
10
11
  "constants": [
11
12
  {
@@ -27,6 +28,20 @@ type LbClmm = {
27
28
  };
28
29
  "value": "70";
29
30
  },
31
+ {
32
+ "name": "MAX_RESIZE_LENGTH";
33
+ "type": {
34
+ "defined": "usize";
35
+ };
36
+ "value": "70";
37
+ },
38
+ {
39
+ "name": "POSITION_MAX_LENGTH";
40
+ "type": {
41
+ "defined": "usize";
42
+ };
43
+ "value": "1400";
44
+ },
30
45
  {
31
46
  "name": "MIN_BIN_ID";
32
47
  "type": "i32";
@@ -143,10 +158,20 @@ type LbClmm = {
143
158
  "type": "bytes";
144
159
  "value": "[112, 114, 101, 115, 101, 116, 95, 112, 97, 114, 97, 109, 101, 116, 101, 114]";
145
160
  },
161
+ {
162
+ "name": "PRESET_PARAMETER2";
163
+ "type": "bytes";
164
+ "value": "[112, 114, 101, 115, 101, 116, 95, 112, 97, 114, 97, 109, 101, 116, 101, 114, 50]";
165
+ },
146
166
  {
147
167
  "name": "POSITION";
148
168
  "type": "bytes";
149
169
  "value": "[112, 111, 115, 105, 116, 105, 111, 110]";
170
+ },
171
+ {
172
+ "name": "CLAIM_PROTOCOL_FEE_OPERATOR";
173
+ "type": "bytes";
174
+ "value": "[99, 102, 95, 111, 112, 101, 114, 97, 116, 111, 114]";
150
175
  }
151
176
  ];
152
177
  "instructions": [
@@ -286,7 +311,24 @@ type LbClmm = {
286
311
  "isSigner": true;
287
312
  },
288
313
  {
289
- "name": "tokenProgram";
314
+ "name": "tokenBadgeX";
315
+ "isMut": false;
316
+ "isSigner": false;
317
+ "isOptional": true;
318
+ },
319
+ {
320
+ "name": "tokenBadgeY";
321
+ "isMut": false;
322
+ "isSigner": false;
323
+ "isOptional": true;
324
+ },
325
+ {
326
+ "name": "tokenProgramX";
327
+ "isMut": false;
328
+ "isSigner": false;
329
+ },
330
+ {
331
+ "name": "tokenProgramY";
290
332
  "isMut": false;
291
333
  "isSigner": false;
292
334
  },
@@ -1545,6 +1587,19 @@ type LbClmm = {
1545
1587
  "isMut": true;
1546
1588
  "isSigner": false;
1547
1589
  },
1590
+ {
1591
+ "name": "claimFeeOperator";
1592
+ "isMut": false;
1593
+ "isSigner": false;
1594
+ },
1595
+ {
1596
+ "name": "operator";
1597
+ "isMut": false;
1598
+ "isSigner": true;
1599
+ "docs": [
1600
+ "operator"
1601
+ ];
1602
+ },
1548
1603
  {
1549
1604
  "name": "tokenXProgram";
1550
1605
  "isMut": false;
@@ -1554,6 +1609,11 @@ type LbClmm = {
1554
1609
  "name": "tokenYProgram";
1555
1610
  "isMut": false;
1556
1611
  "isSigner": false;
1612
+ },
1613
+ {
1614
+ "name": "memoProgram";
1615
+ "isMut": false;
1616
+ "isSigner": false;
1557
1617
  }
1558
1618
  ];
1559
1619
  "args": [
@@ -1564,6 +1624,12 @@ type LbClmm = {
1564
1624
  {
1565
1625
  "name": "amountY";
1566
1626
  "type": "u64";
1627
+ },
1628
+ {
1629
+ "name": "remainingAccountsInfo";
1630
+ "type": {
1631
+ "defined": "RemainingAccountsInfo";
1632
+ };
1567
1633
  }
1568
1634
  ];
1569
1635
  },
@@ -1585,6 +1651,12 @@ type LbClmm = {
1585
1651
  "isMut": false;
1586
1652
  "isSigner": false;
1587
1653
  },
1654
+ {
1655
+ "name": "tokenBadge";
1656
+ "isMut": false;
1657
+ "isSigner": false;
1658
+ "isOptional": true;
1659
+ },
1588
1660
  {
1589
1661
  "name": "admin";
1590
1662
  "isMut": true;
@@ -1692,6 +1764,12 @@ type LbClmm = {
1692
1764
  {
1693
1765
  "name": "carryForward";
1694
1766
  "type": "bool";
1767
+ },
1768
+ {
1769
+ "name": "remainingAccountsInfo";
1770
+ "type": {
1771
+ "defined": "RemainingAccountsInfo";
1772
+ };
1695
1773
  }
1696
1774
  ];
1697
1775
  },
@@ -2114,6 +2192,27 @@ type LbClmm = {
2114
2192
  ];
2115
2193
  "args": [];
2116
2194
  },
2195
+ {
2196
+ "name": "closePresetParameter2";
2197
+ "accounts": [
2198
+ {
2199
+ "name": "presetParameter";
2200
+ "isMut": true;
2201
+ "isSigner": false;
2202
+ },
2203
+ {
2204
+ "name": "admin";
2205
+ "isMut": true;
2206
+ "isSigner": true;
2207
+ },
2208
+ {
2209
+ "name": "rentReceiver";
2210
+ "isMut": true;
2211
+ "isSigner": false;
2212
+ }
2213
+ ];
2214
+ "args": [];
2215
+ },
2117
2216
  {
2118
2217
  "name": "removeAllLiquidity";
2119
2218
  "accounts": [
@@ -2358,6 +2457,11 @@ type LbClmm = {
2358
2457
  "isMut": false;
2359
2458
  "isSigner": false;
2360
2459
  },
2460
+ {
2461
+ "name": "memoProgram";
2462
+ "isMut": false;
2463
+ "isSigner": false;
2464
+ },
2361
2465
  {
2362
2466
  "name": "eventAuthority";
2363
2467
  "isMut": false;
@@ -2373,6 +2477,12 @@ type LbClmm = {
2373
2477
  {
2374
2478
  "name": "rewardIndex";
2375
2479
  "type": "u64";
2480
+ },
2481
+ {
2482
+ "name": "remainingAccountsInfo";
2483
+ "type": {
2484
+ "defined": "RemainingAccountsInfo";
2485
+ };
2376
2486
  }
2377
2487
  ];
2378
2488
  },
@@ -2677,135 +2787,1484 @@ type LbClmm = {
2677
2787
  "type": "u8";
2678
2788
  }
2679
2789
  ];
2680
- }
2681
- ];
2682
- "accounts": [
2790
+ },
2683
2791
  {
2684
- "name": "binArrayBitmapExtension";
2685
- "type": {
2686
- "kind": "struct";
2687
- "fields": [
2688
- {
2689
- "name": "lbPair";
2690
- "type": "publicKey";
2691
- },
2692
- {
2693
- "name": "positiveBinArrayBitmap";
2694
- "docs": [
2695
- "Packed initialized bin array state for start_bin_index is positive"
2696
- ];
2697
- "type": {
2698
- "array": [
2699
- {
2700
- "array": [
2701
- "u64",
2702
- 8
2703
- ];
2704
- },
2705
- 12
2706
- ];
2707
- };
2708
- },
2709
- {
2710
- "name": "negativeBinArrayBitmap";
2711
- "docs": [
2712
- "Packed initialized bin array state for start_bin_index is negative"
2713
- ];
2714
- "type": {
2715
- "array": [
2716
- {
2717
- "array": [
2718
- "u64",
2719
- 8
2720
- ];
2721
- },
2722
- 12
2723
- ];
2724
- };
2725
- }
2726
- ];
2727
- };
2792
+ "name": "initializeTokenBadge";
2793
+ "accounts": [
2794
+ {
2795
+ "name": "tokenMint";
2796
+ "isMut": false;
2797
+ "isSigner": false;
2798
+ },
2799
+ {
2800
+ "name": "tokenBadge";
2801
+ "isMut": true;
2802
+ "isSigner": false;
2803
+ },
2804
+ {
2805
+ "name": "admin";
2806
+ "isMut": true;
2807
+ "isSigner": true;
2808
+ },
2809
+ {
2810
+ "name": "systemProgram";
2811
+ "isMut": false;
2812
+ "isSigner": false;
2813
+ }
2814
+ ];
2815
+ "args": [];
2728
2816
  },
2729
2817
  {
2730
- "name": "binArray";
2731
- "docs": [
2732
- "An account to contain a range of bin. For example: Bin 100 <-> 200.",
2733
- "For example:",
2734
- "BinArray index: 0 contains bin 0 <-> 599",
2735
- "index: 2 contains bin 600 <-> 1199, ..."
2818
+ "name": "createClaimProtocolFeeOperator";
2819
+ "accounts": [
2820
+ {
2821
+ "name": "claimFeeOperator";
2822
+ "isMut": true;
2823
+ "isSigner": false;
2824
+ },
2825
+ {
2826
+ "name": "operator";
2827
+ "isMut": false;
2828
+ "isSigner": false;
2829
+ },
2830
+ {
2831
+ "name": "admin";
2832
+ "isMut": true;
2833
+ "isSigner": true;
2834
+ },
2835
+ {
2836
+ "name": "systemProgram";
2837
+ "isMut": false;
2838
+ "isSigner": false;
2839
+ }
2736
2840
  ];
2737
- "type": {
2738
- "kind": "struct";
2739
- "fields": [
2740
- {
2741
- "name": "index";
2742
- "type": "i64";
2743
- },
2744
- {
2745
- "name": "version";
2746
- "docs": [
2747
- "Version of binArray"
2748
- ];
2749
- "type": "u8";
2750
- },
2751
- {
2752
- "name": "padding";
2753
- "type": {
2754
- "array": [
2755
- "u8",
2756
- 7
2757
- ];
2758
- };
2759
- },
2760
- {
2761
- "name": "lbPair";
2762
- "type": "publicKey";
2763
- },
2764
- {
2765
- "name": "bins";
2766
- "type": {
2767
- "array": [
2768
- {
2769
- "defined": "Bin";
2770
- },
2771
- 70
2772
- ];
2773
- };
2774
- }
2775
- ];
2776
- };
2841
+ "args": [];
2777
2842
  },
2778
2843
  {
2779
- "name": "lbPair";
2780
- "type": {
2781
- "kind": "struct";
2782
- "fields": [
2783
- {
2784
- "name": "parameters";
2785
- "type": {
2786
- "defined": "StaticParameters";
2787
- };
2788
- },
2789
- {
2790
- "name": "vParameters";
2791
- "type": {
2792
- "defined": "VariableParameters";
2793
- };
2794
- },
2795
- {
2796
- "name": "bumpSeed";
2797
- "type": {
2798
- "array": [
2799
- "u8",
2800
- 1
2801
- ];
2802
- };
2803
- },
2804
- {
2805
- "name": "binStepSeed";
2806
- "docs": [
2807
- "Bin step signer seed"
2808
- ];
2844
+ "name": "closeClaimProtocolFeeOperator";
2845
+ "accounts": [
2846
+ {
2847
+ "name": "claimFeeOperator";
2848
+ "isMut": true;
2849
+ "isSigner": false;
2850
+ },
2851
+ {
2852
+ "name": "rentReceiver";
2853
+ "isMut": true;
2854
+ "isSigner": false;
2855
+ },
2856
+ {
2857
+ "name": "admin";
2858
+ "isMut": false;
2859
+ "isSigner": true;
2860
+ }
2861
+ ];
2862
+ "args": [];
2863
+ },
2864
+ {
2865
+ "name": "initializePresetParameter2";
2866
+ "accounts": [
2867
+ {
2868
+ "name": "presetParameter";
2869
+ "isMut": true;
2870
+ "isSigner": false;
2871
+ },
2872
+ {
2873
+ "name": "admin";
2874
+ "isMut": true;
2875
+ "isSigner": true;
2876
+ },
2877
+ {
2878
+ "name": "systemProgram";
2879
+ "isMut": false;
2880
+ "isSigner": false;
2881
+ }
2882
+ ];
2883
+ "args": [
2884
+ {
2885
+ "name": "ix";
2886
+ "type": {
2887
+ "defined": "InitPresetParameters2Ix";
2888
+ };
2889
+ }
2890
+ ];
2891
+ },
2892
+ {
2893
+ "name": "initializeLbPair2";
2894
+ "accounts": [
2895
+ {
2896
+ "name": "lbPair";
2897
+ "isMut": true;
2898
+ "isSigner": false;
2899
+ },
2900
+ {
2901
+ "name": "binArrayBitmapExtension";
2902
+ "isMut": true;
2903
+ "isSigner": false;
2904
+ "isOptional": true;
2905
+ },
2906
+ {
2907
+ "name": "tokenMintX";
2908
+ "isMut": false;
2909
+ "isSigner": false;
2910
+ },
2911
+ {
2912
+ "name": "tokenMintY";
2913
+ "isMut": false;
2914
+ "isSigner": false;
2915
+ },
2916
+ {
2917
+ "name": "reserveX";
2918
+ "isMut": true;
2919
+ "isSigner": false;
2920
+ },
2921
+ {
2922
+ "name": "reserveY";
2923
+ "isMut": true;
2924
+ "isSigner": false;
2925
+ },
2926
+ {
2927
+ "name": "oracle";
2928
+ "isMut": true;
2929
+ "isSigner": false;
2930
+ },
2931
+ {
2932
+ "name": "presetParameter";
2933
+ "isMut": false;
2934
+ "isSigner": false;
2935
+ },
2936
+ {
2937
+ "name": "funder";
2938
+ "isMut": true;
2939
+ "isSigner": true;
2940
+ },
2941
+ {
2942
+ "name": "tokenBadgeX";
2943
+ "isMut": false;
2944
+ "isSigner": false;
2945
+ "isOptional": true;
2946
+ },
2947
+ {
2948
+ "name": "tokenBadgeY";
2949
+ "isMut": false;
2950
+ "isSigner": false;
2951
+ "isOptional": true;
2952
+ },
2953
+ {
2954
+ "name": "tokenProgramX";
2955
+ "isMut": false;
2956
+ "isSigner": false;
2957
+ },
2958
+ {
2959
+ "name": "tokenProgramY";
2960
+ "isMut": false;
2961
+ "isSigner": false;
2962
+ },
2963
+ {
2964
+ "name": "systemProgram";
2965
+ "isMut": false;
2966
+ "isSigner": false;
2967
+ },
2968
+ {
2969
+ "name": "eventAuthority";
2970
+ "isMut": false;
2971
+ "isSigner": false;
2972
+ },
2973
+ {
2974
+ "name": "program";
2975
+ "isMut": false;
2976
+ "isSigner": false;
2977
+ }
2978
+ ];
2979
+ "args": [
2980
+ {
2981
+ "name": "params";
2982
+ "type": {
2983
+ "defined": "InitializeLbPair2Params";
2984
+ };
2985
+ }
2986
+ ];
2987
+ },
2988
+ {
2989
+ "name": "initializeCustomizablePermissionlessLbPair2";
2990
+ "accounts": [
2991
+ {
2992
+ "name": "lbPair";
2993
+ "isMut": true;
2994
+ "isSigner": false;
2995
+ },
2996
+ {
2997
+ "name": "binArrayBitmapExtension";
2998
+ "isMut": true;
2999
+ "isSigner": false;
3000
+ "isOptional": true;
3001
+ },
3002
+ {
3003
+ "name": "tokenMintX";
3004
+ "isMut": false;
3005
+ "isSigner": false;
3006
+ },
3007
+ {
3008
+ "name": "tokenMintY";
3009
+ "isMut": false;
3010
+ "isSigner": false;
3011
+ },
3012
+ {
3013
+ "name": "reserveX";
3014
+ "isMut": true;
3015
+ "isSigner": false;
3016
+ },
3017
+ {
3018
+ "name": "reserveY";
3019
+ "isMut": true;
3020
+ "isSigner": false;
3021
+ },
3022
+ {
3023
+ "name": "oracle";
3024
+ "isMut": true;
3025
+ "isSigner": false;
3026
+ },
3027
+ {
3028
+ "name": "userTokenX";
3029
+ "isMut": false;
3030
+ "isSigner": false;
3031
+ },
3032
+ {
3033
+ "name": "funder";
3034
+ "isMut": true;
3035
+ "isSigner": true;
3036
+ },
3037
+ {
3038
+ "name": "tokenBadgeX";
3039
+ "isMut": false;
3040
+ "isSigner": false;
3041
+ "isOptional": true;
3042
+ },
3043
+ {
3044
+ "name": "tokenBadgeY";
3045
+ "isMut": false;
3046
+ "isSigner": false;
3047
+ "isOptional": true;
3048
+ },
3049
+ {
3050
+ "name": "tokenProgramX";
3051
+ "isMut": false;
3052
+ "isSigner": false;
3053
+ },
3054
+ {
3055
+ "name": "tokenProgramY";
3056
+ "isMut": false;
3057
+ "isSigner": false;
3058
+ },
3059
+ {
3060
+ "name": "systemProgram";
3061
+ "isMut": false;
3062
+ "isSigner": false;
3063
+ },
3064
+ {
3065
+ "name": "userTokenY";
3066
+ "isMut": false;
3067
+ "isSigner": false;
3068
+ },
3069
+ {
3070
+ "name": "eventAuthority";
3071
+ "isMut": false;
3072
+ "isSigner": false;
3073
+ },
3074
+ {
3075
+ "name": "program";
3076
+ "isMut": false;
3077
+ "isSigner": false;
3078
+ }
3079
+ ];
3080
+ "args": [
3081
+ {
3082
+ "name": "params";
3083
+ "type": {
3084
+ "defined": "CustomizableParams";
3085
+ };
3086
+ }
3087
+ ];
3088
+ },
3089
+ {
3090
+ "name": "claimFee2";
3091
+ "accounts": [
3092
+ {
3093
+ "name": "lbPair";
3094
+ "isMut": true;
3095
+ "isSigner": false;
3096
+ },
3097
+ {
3098
+ "name": "position";
3099
+ "isMut": true;
3100
+ "isSigner": false;
3101
+ },
3102
+ {
3103
+ "name": "sender";
3104
+ "isMut": false;
3105
+ "isSigner": true;
3106
+ },
3107
+ {
3108
+ "name": "reserveX";
3109
+ "isMut": true;
3110
+ "isSigner": false;
3111
+ },
3112
+ {
3113
+ "name": "reserveY";
3114
+ "isMut": true;
3115
+ "isSigner": false;
3116
+ },
3117
+ {
3118
+ "name": "userTokenX";
3119
+ "isMut": true;
3120
+ "isSigner": false;
3121
+ },
3122
+ {
3123
+ "name": "userTokenY";
3124
+ "isMut": true;
3125
+ "isSigner": false;
3126
+ },
3127
+ {
3128
+ "name": "tokenXMint";
3129
+ "isMut": false;
3130
+ "isSigner": false;
3131
+ },
3132
+ {
3133
+ "name": "tokenYMint";
3134
+ "isMut": false;
3135
+ "isSigner": false;
3136
+ },
3137
+ {
3138
+ "name": "tokenProgramX";
3139
+ "isMut": false;
3140
+ "isSigner": false;
3141
+ },
3142
+ {
3143
+ "name": "tokenProgramY";
3144
+ "isMut": false;
3145
+ "isSigner": false;
3146
+ },
3147
+ {
3148
+ "name": "memoProgram";
3149
+ "isMut": false;
3150
+ "isSigner": false;
3151
+ },
3152
+ {
3153
+ "name": "eventAuthority";
3154
+ "isMut": false;
3155
+ "isSigner": false;
3156
+ },
3157
+ {
3158
+ "name": "program";
3159
+ "isMut": false;
3160
+ "isSigner": false;
3161
+ }
3162
+ ];
3163
+ "args": [
3164
+ {
3165
+ "name": "minBinId";
3166
+ "type": "i32";
3167
+ },
3168
+ {
3169
+ "name": "maxBinId";
3170
+ "type": "i32";
3171
+ },
3172
+ {
3173
+ "name": "remainingAccountsInfo";
3174
+ "type": {
3175
+ "defined": "RemainingAccountsInfo";
3176
+ };
3177
+ }
3178
+ ];
3179
+ },
3180
+ {
3181
+ "name": "claimReward2";
3182
+ "accounts": [
3183
+ {
3184
+ "name": "lbPair";
3185
+ "isMut": true;
3186
+ "isSigner": false;
3187
+ },
3188
+ {
3189
+ "name": "position";
3190
+ "isMut": true;
3191
+ "isSigner": false;
3192
+ },
3193
+ {
3194
+ "name": "sender";
3195
+ "isMut": false;
3196
+ "isSigner": true;
3197
+ },
3198
+ {
3199
+ "name": "rewardVault";
3200
+ "isMut": true;
3201
+ "isSigner": false;
3202
+ },
3203
+ {
3204
+ "name": "rewardMint";
3205
+ "isMut": false;
3206
+ "isSigner": false;
3207
+ },
3208
+ {
3209
+ "name": "userTokenAccount";
3210
+ "isMut": true;
3211
+ "isSigner": false;
3212
+ },
3213
+ {
3214
+ "name": "tokenProgram";
3215
+ "isMut": false;
3216
+ "isSigner": false;
3217
+ },
3218
+ {
3219
+ "name": "memoProgram";
3220
+ "isMut": false;
3221
+ "isSigner": false;
3222
+ },
3223
+ {
3224
+ "name": "eventAuthority";
3225
+ "isMut": false;
3226
+ "isSigner": false;
3227
+ },
3228
+ {
3229
+ "name": "program";
3230
+ "isMut": false;
3231
+ "isSigner": false;
3232
+ }
3233
+ ];
3234
+ "args": [
3235
+ {
3236
+ "name": "rewardIndex";
3237
+ "type": "u64";
3238
+ },
3239
+ {
3240
+ "name": "minBinId";
3241
+ "type": "i32";
3242
+ },
3243
+ {
3244
+ "name": "maxBinId";
3245
+ "type": "i32";
3246
+ },
3247
+ {
3248
+ "name": "remainingAccountsInfo";
3249
+ "type": {
3250
+ "defined": "RemainingAccountsInfo";
3251
+ };
3252
+ }
3253
+ ];
3254
+ },
3255
+ {
3256
+ "name": "addLiquidity2";
3257
+ "accounts": [
3258
+ {
3259
+ "name": "position";
3260
+ "isMut": true;
3261
+ "isSigner": false;
3262
+ },
3263
+ {
3264
+ "name": "lbPair";
3265
+ "isMut": true;
3266
+ "isSigner": false;
3267
+ },
3268
+ {
3269
+ "name": "binArrayBitmapExtension";
3270
+ "isMut": true;
3271
+ "isSigner": false;
3272
+ "isOptional": true;
3273
+ },
3274
+ {
3275
+ "name": "userTokenX";
3276
+ "isMut": true;
3277
+ "isSigner": false;
3278
+ },
3279
+ {
3280
+ "name": "userTokenY";
3281
+ "isMut": true;
3282
+ "isSigner": false;
3283
+ },
3284
+ {
3285
+ "name": "reserveX";
3286
+ "isMut": true;
3287
+ "isSigner": false;
3288
+ },
3289
+ {
3290
+ "name": "reserveY";
3291
+ "isMut": true;
3292
+ "isSigner": false;
3293
+ },
3294
+ {
3295
+ "name": "tokenXMint";
3296
+ "isMut": false;
3297
+ "isSigner": false;
3298
+ },
3299
+ {
3300
+ "name": "tokenYMint";
3301
+ "isMut": false;
3302
+ "isSigner": false;
3303
+ },
3304
+ {
3305
+ "name": "sender";
3306
+ "isMut": false;
3307
+ "isSigner": true;
3308
+ },
3309
+ {
3310
+ "name": "tokenXProgram";
3311
+ "isMut": false;
3312
+ "isSigner": false;
3313
+ },
3314
+ {
3315
+ "name": "tokenYProgram";
3316
+ "isMut": false;
3317
+ "isSigner": false;
3318
+ },
3319
+ {
3320
+ "name": "eventAuthority";
3321
+ "isMut": false;
3322
+ "isSigner": false;
3323
+ },
3324
+ {
3325
+ "name": "program";
3326
+ "isMut": false;
3327
+ "isSigner": false;
3328
+ }
3329
+ ];
3330
+ "args": [
3331
+ {
3332
+ "name": "liquidityParameter";
3333
+ "type": {
3334
+ "defined": "LiquidityParameter";
3335
+ };
3336
+ },
3337
+ {
3338
+ "name": "remainingAccountsInfo";
3339
+ "type": {
3340
+ "defined": "RemainingAccountsInfo";
3341
+ };
3342
+ }
3343
+ ];
3344
+ },
3345
+ {
3346
+ "name": "addLiquidityByStrategy2";
3347
+ "accounts": [
3348
+ {
3349
+ "name": "position";
3350
+ "isMut": true;
3351
+ "isSigner": false;
3352
+ },
3353
+ {
3354
+ "name": "lbPair";
3355
+ "isMut": true;
3356
+ "isSigner": false;
3357
+ },
3358
+ {
3359
+ "name": "binArrayBitmapExtension";
3360
+ "isMut": true;
3361
+ "isSigner": false;
3362
+ "isOptional": true;
3363
+ },
3364
+ {
3365
+ "name": "userTokenX";
3366
+ "isMut": true;
3367
+ "isSigner": false;
3368
+ },
3369
+ {
3370
+ "name": "userTokenY";
3371
+ "isMut": true;
3372
+ "isSigner": false;
3373
+ },
3374
+ {
3375
+ "name": "reserveX";
3376
+ "isMut": true;
3377
+ "isSigner": false;
3378
+ },
3379
+ {
3380
+ "name": "reserveY";
3381
+ "isMut": true;
3382
+ "isSigner": false;
3383
+ },
3384
+ {
3385
+ "name": "tokenXMint";
3386
+ "isMut": false;
3387
+ "isSigner": false;
3388
+ },
3389
+ {
3390
+ "name": "tokenYMint";
3391
+ "isMut": false;
3392
+ "isSigner": false;
3393
+ },
3394
+ {
3395
+ "name": "sender";
3396
+ "isMut": false;
3397
+ "isSigner": true;
3398
+ },
3399
+ {
3400
+ "name": "tokenXProgram";
3401
+ "isMut": false;
3402
+ "isSigner": false;
3403
+ },
3404
+ {
3405
+ "name": "tokenYProgram";
3406
+ "isMut": false;
3407
+ "isSigner": false;
3408
+ },
3409
+ {
3410
+ "name": "eventAuthority";
3411
+ "isMut": false;
3412
+ "isSigner": false;
3413
+ },
3414
+ {
3415
+ "name": "program";
3416
+ "isMut": false;
3417
+ "isSigner": false;
3418
+ }
3419
+ ];
3420
+ "args": [
3421
+ {
3422
+ "name": "liquidityParameter";
3423
+ "type": {
3424
+ "defined": "LiquidityParameterByStrategy";
3425
+ };
3426
+ },
3427
+ {
3428
+ "name": "remainingAccountsInfo";
3429
+ "type": {
3430
+ "defined": "RemainingAccountsInfo";
3431
+ };
3432
+ }
3433
+ ];
3434
+ },
3435
+ {
3436
+ "name": "addLiquidityOneSidePrecise2";
3437
+ "accounts": [
3438
+ {
3439
+ "name": "position";
3440
+ "isMut": true;
3441
+ "isSigner": false;
3442
+ },
3443
+ {
3444
+ "name": "lbPair";
3445
+ "isMut": true;
3446
+ "isSigner": false;
3447
+ },
3448
+ {
3449
+ "name": "binArrayBitmapExtension";
3450
+ "isMut": true;
3451
+ "isSigner": false;
3452
+ "isOptional": true;
3453
+ },
3454
+ {
3455
+ "name": "userToken";
3456
+ "isMut": true;
3457
+ "isSigner": false;
3458
+ },
3459
+ {
3460
+ "name": "reserve";
3461
+ "isMut": true;
3462
+ "isSigner": false;
3463
+ },
3464
+ {
3465
+ "name": "tokenMint";
3466
+ "isMut": false;
3467
+ "isSigner": false;
3468
+ },
3469
+ {
3470
+ "name": "sender";
3471
+ "isMut": false;
3472
+ "isSigner": true;
3473
+ },
3474
+ {
3475
+ "name": "tokenProgram";
3476
+ "isMut": false;
3477
+ "isSigner": false;
3478
+ },
3479
+ {
3480
+ "name": "eventAuthority";
3481
+ "isMut": false;
3482
+ "isSigner": false;
3483
+ },
3484
+ {
3485
+ "name": "program";
3486
+ "isMut": false;
3487
+ "isSigner": false;
3488
+ }
3489
+ ];
3490
+ "args": [
3491
+ {
3492
+ "name": "liquidityParameter";
3493
+ "type": {
3494
+ "defined": "AddLiquiditySingleSidePreciseParameter2";
3495
+ };
3496
+ },
3497
+ {
3498
+ "name": "remainingAccountsInfo";
3499
+ "type": {
3500
+ "defined": "RemainingAccountsInfo";
3501
+ };
3502
+ }
3503
+ ];
3504
+ },
3505
+ {
3506
+ "name": "removeLiquidity2";
3507
+ "accounts": [
3508
+ {
3509
+ "name": "position";
3510
+ "isMut": true;
3511
+ "isSigner": false;
3512
+ },
3513
+ {
3514
+ "name": "lbPair";
3515
+ "isMut": true;
3516
+ "isSigner": false;
3517
+ },
3518
+ {
3519
+ "name": "binArrayBitmapExtension";
3520
+ "isMut": true;
3521
+ "isSigner": false;
3522
+ "isOptional": true;
3523
+ },
3524
+ {
3525
+ "name": "userTokenX";
3526
+ "isMut": true;
3527
+ "isSigner": false;
3528
+ },
3529
+ {
3530
+ "name": "userTokenY";
3531
+ "isMut": true;
3532
+ "isSigner": false;
3533
+ },
3534
+ {
3535
+ "name": "reserveX";
3536
+ "isMut": true;
3537
+ "isSigner": false;
3538
+ },
3539
+ {
3540
+ "name": "reserveY";
3541
+ "isMut": true;
3542
+ "isSigner": false;
3543
+ },
3544
+ {
3545
+ "name": "tokenXMint";
3546
+ "isMut": false;
3547
+ "isSigner": false;
3548
+ },
3549
+ {
3550
+ "name": "tokenYMint";
3551
+ "isMut": false;
3552
+ "isSigner": false;
3553
+ },
3554
+ {
3555
+ "name": "sender";
3556
+ "isMut": false;
3557
+ "isSigner": true;
3558
+ },
3559
+ {
3560
+ "name": "tokenXProgram";
3561
+ "isMut": false;
3562
+ "isSigner": false;
3563
+ },
3564
+ {
3565
+ "name": "tokenYProgram";
3566
+ "isMut": false;
3567
+ "isSigner": false;
3568
+ },
3569
+ {
3570
+ "name": "memoProgram";
3571
+ "isMut": false;
3572
+ "isSigner": false;
3573
+ },
3574
+ {
3575
+ "name": "eventAuthority";
3576
+ "isMut": false;
3577
+ "isSigner": false;
3578
+ },
3579
+ {
3580
+ "name": "program";
3581
+ "isMut": false;
3582
+ "isSigner": false;
3583
+ }
3584
+ ];
3585
+ "args": [
3586
+ {
3587
+ "name": "binLiquidityRemoval";
3588
+ "type": {
3589
+ "vec": {
3590
+ "defined": "BinLiquidityReduction";
3591
+ };
3592
+ };
3593
+ },
3594
+ {
3595
+ "name": "remainingAccountsInfo";
3596
+ "type": {
3597
+ "defined": "RemainingAccountsInfo";
3598
+ };
3599
+ }
3600
+ ];
3601
+ },
3602
+ {
3603
+ "name": "removeLiquidityByRange2";
3604
+ "accounts": [
3605
+ {
3606
+ "name": "position";
3607
+ "isMut": true;
3608
+ "isSigner": false;
3609
+ },
3610
+ {
3611
+ "name": "lbPair";
3612
+ "isMut": true;
3613
+ "isSigner": false;
3614
+ },
3615
+ {
3616
+ "name": "binArrayBitmapExtension";
3617
+ "isMut": true;
3618
+ "isSigner": false;
3619
+ "isOptional": true;
3620
+ },
3621
+ {
3622
+ "name": "userTokenX";
3623
+ "isMut": true;
3624
+ "isSigner": false;
3625
+ },
3626
+ {
3627
+ "name": "userTokenY";
3628
+ "isMut": true;
3629
+ "isSigner": false;
3630
+ },
3631
+ {
3632
+ "name": "reserveX";
3633
+ "isMut": true;
3634
+ "isSigner": false;
3635
+ },
3636
+ {
3637
+ "name": "reserveY";
3638
+ "isMut": true;
3639
+ "isSigner": false;
3640
+ },
3641
+ {
3642
+ "name": "tokenXMint";
3643
+ "isMut": false;
3644
+ "isSigner": false;
3645
+ },
3646
+ {
3647
+ "name": "tokenYMint";
3648
+ "isMut": false;
3649
+ "isSigner": false;
3650
+ },
3651
+ {
3652
+ "name": "sender";
3653
+ "isMut": false;
3654
+ "isSigner": true;
3655
+ },
3656
+ {
3657
+ "name": "tokenXProgram";
3658
+ "isMut": false;
3659
+ "isSigner": false;
3660
+ },
3661
+ {
3662
+ "name": "tokenYProgram";
3663
+ "isMut": false;
3664
+ "isSigner": false;
3665
+ },
3666
+ {
3667
+ "name": "memoProgram";
3668
+ "isMut": false;
3669
+ "isSigner": false;
3670
+ },
3671
+ {
3672
+ "name": "eventAuthority";
3673
+ "isMut": false;
3674
+ "isSigner": false;
3675
+ },
3676
+ {
3677
+ "name": "program";
3678
+ "isMut": false;
3679
+ "isSigner": false;
3680
+ }
3681
+ ];
3682
+ "args": [
3683
+ {
3684
+ "name": "fromBinId";
3685
+ "type": "i32";
3686
+ },
3687
+ {
3688
+ "name": "toBinId";
3689
+ "type": "i32";
3690
+ },
3691
+ {
3692
+ "name": "bpsToRemove";
3693
+ "type": "u16";
3694
+ },
3695
+ {
3696
+ "name": "remainingAccountsInfo";
3697
+ "type": {
3698
+ "defined": "RemainingAccountsInfo";
3699
+ };
3700
+ }
3701
+ ];
3702
+ },
3703
+ {
3704
+ "name": "swap2";
3705
+ "accounts": [
3706
+ {
3707
+ "name": "lbPair";
3708
+ "isMut": true;
3709
+ "isSigner": false;
3710
+ },
3711
+ {
3712
+ "name": "binArrayBitmapExtension";
3713
+ "isMut": false;
3714
+ "isSigner": false;
3715
+ "isOptional": true;
3716
+ },
3717
+ {
3718
+ "name": "reserveX";
3719
+ "isMut": true;
3720
+ "isSigner": false;
3721
+ },
3722
+ {
3723
+ "name": "reserveY";
3724
+ "isMut": true;
3725
+ "isSigner": false;
3726
+ },
3727
+ {
3728
+ "name": "userTokenIn";
3729
+ "isMut": true;
3730
+ "isSigner": false;
3731
+ },
3732
+ {
3733
+ "name": "userTokenOut";
3734
+ "isMut": true;
3735
+ "isSigner": false;
3736
+ },
3737
+ {
3738
+ "name": "tokenXMint";
3739
+ "isMut": false;
3740
+ "isSigner": false;
3741
+ },
3742
+ {
3743
+ "name": "tokenYMint";
3744
+ "isMut": false;
3745
+ "isSigner": false;
3746
+ },
3747
+ {
3748
+ "name": "oracle";
3749
+ "isMut": true;
3750
+ "isSigner": false;
3751
+ },
3752
+ {
3753
+ "name": "hostFeeIn";
3754
+ "isMut": true;
3755
+ "isSigner": false;
3756
+ "isOptional": true;
3757
+ },
3758
+ {
3759
+ "name": "user";
3760
+ "isMut": false;
3761
+ "isSigner": true;
3762
+ },
3763
+ {
3764
+ "name": "tokenXProgram";
3765
+ "isMut": false;
3766
+ "isSigner": false;
3767
+ },
3768
+ {
3769
+ "name": "tokenYProgram";
3770
+ "isMut": false;
3771
+ "isSigner": false;
3772
+ },
3773
+ {
3774
+ "name": "memoProgram";
3775
+ "isMut": false;
3776
+ "isSigner": false;
3777
+ },
3778
+ {
3779
+ "name": "eventAuthority";
3780
+ "isMut": false;
3781
+ "isSigner": false;
3782
+ },
3783
+ {
3784
+ "name": "program";
3785
+ "isMut": false;
3786
+ "isSigner": false;
3787
+ }
3788
+ ];
3789
+ "args": [
3790
+ {
3791
+ "name": "amountIn";
3792
+ "type": "u64";
3793
+ },
3794
+ {
3795
+ "name": "minAmountOut";
3796
+ "type": "u64";
3797
+ },
3798
+ {
3799
+ "name": "remainingAccountsInfo";
3800
+ "type": {
3801
+ "defined": "RemainingAccountsInfo";
3802
+ };
3803
+ }
3804
+ ];
3805
+ },
3806
+ {
3807
+ "name": "swapExactOut2";
3808
+ "accounts": [
3809
+ {
3810
+ "name": "lbPair";
3811
+ "isMut": true;
3812
+ "isSigner": false;
3813
+ },
3814
+ {
3815
+ "name": "binArrayBitmapExtension";
3816
+ "isMut": false;
3817
+ "isSigner": false;
3818
+ "isOptional": true;
3819
+ },
3820
+ {
3821
+ "name": "reserveX";
3822
+ "isMut": true;
3823
+ "isSigner": false;
3824
+ },
3825
+ {
3826
+ "name": "reserveY";
3827
+ "isMut": true;
3828
+ "isSigner": false;
3829
+ },
3830
+ {
3831
+ "name": "userTokenIn";
3832
+ "isMut": true;
3833
+ "isSigner": false;
3834
+ },
3835
+ {
3836
+ "name": "userTokenOut";
3837
+ "isMut": true;
3838
+ "isSigner": false;
3839
+ },
3840
+ {
3841
+ "name": "tokenXMint";
3842
+ "isMut": false;
3843
+ "isSigner": false;
3844
+ },
3845
+ {
3846
+ "name": "tokenYMint";
3847
+ "isMut": false;
3848
+ "isSigner": false;
3849
+ },
3850
+ {
3851
+ "name": "oracle";
3852
+ "isMut": true;
3853
+ "isSigner": false;
3854
+ },
3855
+ {
3856
+ "name": "hostFeeIn";
3857
+ "isMut": true;
3858
+ "isSigner": false;
3859
+ "isOptional": true;
3860
+ },
3861
+ {
3862
+ "name": "user";
3863
+ "isMut": false;
3864
+ "isSigner": true;
3865
+ },
3866
+ {
3867
+ "name": "tokenXProgram";
3868
+ "isMut": false;
3869
+ "isSigner": false;
3870
+ },
3871
+ {
3872
+ "name": "tokenYProgram";
3873
+ "isMut": false;
3874
+ "isSigner": false;
3875
+ },
3876
+ {
3877
+ "name": "memoProgram";
3878
+ "isMut": false;
3879
+ "isSigner": false;
3880
+ },
3881
+ {
3882
+ "name": "eventAuthority";
3883
+ "isMut": false;
3884
+ "isSigner": false;
3885
+ },
3886
+ {
3887
+ "name": "program";
3888
+ "isMut": false;
3889
+ "isSigner": false;
3890
+ }
3891
+ ];
3892
+ "args": [
3893
+ {
3894
+ "name": "maxInAmount";
3895
+ "type": "u64";
3896
+ },
3897
+ {
3898
+ "name": "outAmount";
3899
+ "type": "u64";
3900
+ },
3901
+ {
3902
+ "name": "remainingAccountsInfo";
3903
+ "type": {
3904
+ "defined": "RemainingAccountsInfo";
3905
+ };
3906
+ }
3907
+ ];
3908
+ },
3909
+ {
3910
+ "name": "swapWithPriceImpact2";
3911
+ "accounts": [
3912
+ {
3913
+ "name": "lbPair";
3914
+ "isMut": true;
3915
+ "isSigner": false;
3916
+ },
3917
+ {
3918
+ "name": "binArrayBitmapExtension";
3919
+ "isMut": false;
3920
+ "isSigner": false;
3921
+ "isOptional": true;
3922
+ },
3923
+ {
3924
+ "name": "reserveX";
3925
+ "isMut": true;
3926
+ "isSigner": false;
3927
+ },
3928
+ {
3929
+ "name": "reserveY";
3930
+ "isMut": true;
3931
+ "isSigner": false;
3932
+ },
3933
+ {
3934
+ "name": "userTokenIn";
3935
+ "isMut": true;
3936
+ "isSigner": false;
3937
+ },
3938
+ {
3939
+ "name": "userTokenOut";
3940
+ "isMut": true;
3941
+ "isSigner": false;
3942
+ },
3943
+ {
3944
+ "name": "tokenXMint";
3945
+ "isMut": false;
3946
+ "isSigner": false;
3947
+ },
3948
+ {
3949
+ "name": "tokenYMint";
3950
+ "isMut": false;
3951
+ "isSigner": false;
3952
+ },
3953
+ {
3954
+ "name": "oracle";
3955
+ "isMut": true;
3956
+ "isSigner": false;
3957
+ },
3958
+ {
3959
+ "name": "hostFeeIn";
3960
+ "isMut": true;
3961
+ "isSigner": false;
3962
+ "isOptional": true;
3963
+ },
3964
+ {
3965
+ "name": "user";
3966
+ "isMut": false;
3967
+ "isSigner": true;
3968
+ },
3969
+ {
3970
+ "name": "tokenXProgram";
3971
+ "isMut": false;
3972
+ "isSigner": false;
3973
+ },
3974
+ {
3975
+ "name": "tokenYProgram";
3976
+ "isMut": false;
3977
+ "isSigner": false;
3978
+ },
3979
+ {
3980
+ "name": "memoProgram";
3981
+ "isMut": false;
3982
+ "isSigner": false;
3983
+ },
3984
+ {
3985
+ "name": "eventAuthority";
3986
+ "isMut": false;
3987
+ "isSigner": false;
3988
+ },
3989
+ {
3990
+ "name": "program";
3991
+ "isMut": false;
3992
+ "isSigner": false;
3993
+ }
3994
+ ];
3995
+ "args": [
3996
+ {
3997
+ "name": "amountIn";
3998
+ "type": "u64";
3999
+ },
4000
+ {
4001
+ "name": "activeId";
4002
+ "type": {
4003
+ "option": "i32";
4004
+ };
4005
+ },
4006
+ {
4007
+ "name": "maxPriceImpactBps";
4008
+ "type": "u16";
4009
+ },
4010
+ {
4011
+ "name": "remainingAccountsInfo";
4012
+ "type": {
4013
+ "defined": "RemainingAccountsInfo";
4014
+ };
4015
+ }
4016
+ ];
4017
+ },
4018
+ {
4019
+ "name": "closePosition2";
4020
+ "accounts": [
4021
+ {
4022
+ "name": "position";
4023
+ "isMut": true;
4024
+ "isSigner": false;
4025
+ },
4026
+ {
4027
+ "name": "sender";
4028
+ "isMut": false;
4029
+ "isSigner": true;
4030
+ },
4031
+ {
4032
+ "name": "rentReceiver";
4033
+ "isMut": true;
4034
+ "isSigner": false;
4035
+ },
4036
+ {
4037
+ "name": "eventAuthority";
4038
+ "isMut": false;
4039
+ "isSigner": false;
4040
+ },
4041
+ {
4042
+ "name": "program";
4043
+ "isMut": false;
4044
+ "isSigner": false;
4045
+ }
4046
+ ];
4047
+ "args": [];
4048
+ },
4049
+ {
4050
+ "name": "updateFeesAndReward2";
4051
+ "accounts": [
4052
+ {
4053
+ "name": "position";
4054
+ "isMut": true;
4055
+ "isSigner": false;
4056
+ },
4057
+ {
4058
+ "name": "lbPair";
4059
+ "isMut": true;
4060
+ "isSigner": false;
4061
+ },
4062
+ {
4063
+ "name": "owner";
4064
+ "isMut": false;
4065
+ "isSigner": true;
4066
+ }
4067
+ ];
4068
+ "args": [
4069
+ {
4070
+ "name": "minBinId";
4071
+ "type": "i32";
4072
+ },
4073
+ {
4074
+ "name": "maxBinId";
4075
+ "type": "i32";
4076
+ }
4077
+ ];
4078
+ },
4079
+ {
4080
+ "name": "closePositionIfEmpty";
4081
+ "accounts": [
4082
+ {
4083
+ "name": "position";
4084
+ "isMut": true;
4085
+ "isSigner": false;
4086
+ },
4087
+ {
4088
+ "name": "sender";
4089
+ "isMut": false;
4090
+ "isSigner": true;
4091
+ },
4092
+ {
4093
+ "name": "rentReceiver";
4094
+ "isMut": true;
4095
+ "isSigner": false;
4096
+ },
4097
+ {
4098
+ "name": "eventAuthority";
4099
+ "isMut": false;
4100
+ "isSigner": false;
4101
+ },
4102
+ {
4103
+ "name": "program";
4104
+ "isMut": false;
4105
+ "isSigner": false;
4106
+ }
4107
+ ];
4108
+ "args": [];
4109
+ }
4110
+ ];
4111
+ "accounts": [
4112
+ {
4113
+ "name": "binArrayBitmapExtension";
4114
+ "type": {
4115
+ "kind": "struct";
4116
+ "fields": [
4117
+ {
4118
+ "name": "lbPair";
4119
+ "type": "publicKey";
4120
+ },
4121
+ {
4122
+ "name": "positiveBinArrayBitmap";
4123
+ "docs": [
4124
+ "Packed initialized bin array state for start_bin_index is positive"
4125
+ ];
4126
+ "type": {
4127
+ "array": [
4128
+ {
4129
+ "array": [
4130
+ "u64",
4131
+ 8
4132
+ ];
4133
+ },
4134
+ 12
4135
+ ];
4136
+ };
4137
+ },
4138
+ {
4139
+ "name": "negativeBinArrayBitmap";
4140
+ "docs": [
4141
+ "Packed initialized bin array state for start_bin_index is negative"
4142
+ ];
4143
+ "type": {
4144
+ "array": [
4145
+ {
4146
+ "array": [
4147
+ "u64",
4148
+ 8
4149
+ ];
4150
+ },
4151
+ 12
4152
+ ];
4153
+ };
4154
+ }
4155
+ ];
4156
+ };
4157
+ },
4158
+ {
4159
+ "name": "binArray";
4160
+ "docs": [
4161
+ "An account to contain a range of bin. For example: Bin 100 <-> 200.",
4162
+ "For example:",
4163
+ "BinArray index: 0 contains bin 0 <-> 599",
4164
+ "index: 2 contains bin 600 <-> 1199, ..."
4165
+ ];
4166
+ "type": {
4167
+ "kind": "struct";
4168
+ "fields": [
4169
+ {
4170
+ "name": "index";
4171
+ "type": "i64";
4172
+ },
4173
+ {
4174
+ "name": "version";
4175
+ "docs": [
4176
+ "Version of binArray"
4177
+ ];
4178
+ "type": "u8";
4179
+ },
4180
+ {
4181
+ "name": "padding";
4182
+ "type": {
4183
+ "array": [
4184
+ "u8",
4185
+ 7
4186
+ ];
4187
+ };
4188
+ },
4189
+ {
4190
+ "name": "lbPair";
4191
+ "type": "publicKey";
4192
+ },
4193
+ {
4194
+ "name": "bins";
4195
+ "type": {
4196
+ "array": [
4197
+ {
4198
+ "defined": "Bin";
4199
+ },
4200
+ 70
4201
+ ];
4202
+ };
4203
+ }
4204
+ ];
4205
+ };
4206
+ },
4207
+ {
4208
+ "name": "claimFeeOperator";
4209
+ "docs": [
4210
+ "Parameter that set by the protocol"
4211
+ ];
4212
+ "type": {
4213
+ "kind": "struct";
4214
+ "fields": [
4215
+ {
4216
+ "name": "operator";
4217
+ "docs": [
4218
+ "operator"
4219
+ ];
4220
+ "type": "publicKey";
4221
+ },
4222
+ {
4223
+ "name": "padding";
4224
+ "docs": [
4225
+ "Reserve"
4226
+ ];
4227
+ "type": {
4228
+ "array": [
4229
+ "u8",
4230
+ 128
4231
+ ];
4232
+ };
4233
+ }
4234
+ ];
4235
+ };
4236
+ },
4237
+ {
4238
+ "name": "lbPair";
4239
+ "type": {
4240
+ "kind": "struct";
4241
+ "fields": [
4242
+ {
4243
+ "name": "parameters";
4244
+ "type": {
4245
+ "defined": "StaticParameters";
4246
+ };
4247
+ },
4248
+ {
4249
+ "name": "vParameters";
4250
+ "type": {
4251
+ "defined": "VariableParameters";
4252
+ };
4253
+ },
4254
+ {
4255
+ "name": "bumpSeed";
4256
+ "type": {
4257
+ "array": [
4258
+ "u8",
4259
+ 1
4260
+ ];
4261
+ };
4262
+ },
4263
+ {
4264
+ "name": "binStepSeed";
4265
+ "docs": [
4266
+ "Bin step signer seed"
4267
+ ];
2809
4268
  "type": {
2810
4269
  "array": [
2811
4270
  "u8",
@@ -3029,6 +4488,20 @@ type LbClmm = {
3029
4488
  ];
3030
4489
  "type": "publicKey";
3031
4490
  },
4491
+ {
4492
+ "name": "tokenMintXProgramFlag";
4493
+ "docs": [
4494
+ "token_mint_x_program_flag"
4495
+ ];
4496
+ "type": "u8";
4497
+ },
4498
+ {
4499
+ "name": "tokenMintYProgramFlag";
4500
+ "docs": [
4501
+ "token_mint_y_program_flag"
4502
+ ];
4503
+ "type": "u8";
4504
+ },
3032
4505
  {
3033
4506
  "name": "reserved";
3034
4507
  "docs": [
@@ -3037,7 +4510,7 @@ type LbClmm = {
3037
4510
  "type": {
3038
4511
  "array": [
3039
4512
  "u8",
3040
- 24
4513
+ 22
3041
4514
  ];
3042
4515
  };
3043
4516
  }
@@ -3343,6 +4816,103 @@ type LbClmm = {
3343
4816
  ];
3344
4817
  };
3345
4818
  },
4819
+ {
4820
+ "name": "presetParameter2";
4821
+ "type": {
4822
+ "kind": "struct";
4823
+ "fields": [
4824
+ {
4825
+ "name": "binStep";
4826
+ "docs": [
4827
+ "Bin step. Represent the price increment / decrement."
4828
+ ];
4829
+ "type": "u16";
4830
+ },
4831
+ {
4832
+ "name": "baseFactor";
4833
+ "docs": [
4834
+ "Used for base fee calculation. base_fee_rate = base_factor * bin_step * 10 * 10^base_fee_power_factor"
4835
+ ];
4836
+ "type": "u16";
4837
+ },
4838
+ {
4839
+ "name": "filterPeriod";
4840
+ "docs": [
4841
+ "Filter period determine high frequency trading time window."
4842
+ ];
4843
+ "type": "u16";
4844
+ },
4845
+ {
4846
+ "name": "decayPeriod";
4847
+ "docs": [
4848
+ "Decay period determine when the volatile fee start decay / decrease."
4849
+ ];
4850
+ "type": "u16";
4851
+ },
4852
+ {
4853
+ "name": "variableFeeControl";
4854
+ "docs": [
4855
+ "Used to scale the variable fee component depending on the dynamic of the market"
4856
+ ];
4857
+ "type": "u32";
4858
+ },
4859
+ {
4860
+ "name": "maxVolatilityAccumulator";
4861
+ "docs": [
4862
+ "Maximum number of bin crossed can be accumulated. Used to cap volatile fee rate."
4863
+ ];
4864
+ "type": "u32";
4865
+ },
4866
+ {
4867
+ "name": "reductionFactor";
4868
+ "docs": [
4869
+ "Reduction factor controls the volatile fee rate decrement rate."
4870
+ ];
4871
+ "type": "u16";
4872
+ },
4873
+ {
4874
+ "name": "protocolShare";
4875
+ "docs": [
4876
+ "Portion of swap fees retained by the protocol by controlling protocol_share parameter. protocol_swap_fee = protocol_share * total_swap_fee"
4877
+ ];
4878
+ "type": "u16";
4879
+ },
4880
+ {
4881
+ "name": "index";
4882
+ "docs": [
4883
+ "index"
4884
+ ];
4885
+ "type": "u16";
4886
+ },
4887
+ {
4888
+ "name": "baseFeePowerFactor";
4889
+ "docs": [
4890
+ "Base fee power factor"
4891
+ ];
4892
+ "type": "u8";
4893
+ },
4894
+ {
4895
+ "name": "padding0";
4896
+ "docs": [
4897
+ "Padding 0 for future use"
4898
+ ];
4899
+ "type": "u8";
4900
+ },
4901
+ {
4902
+ "name": "padding1";
4903
+ "docs": [
4904
+ "Padding 1 for future use"
4905
+ ];
4906
+ "type": {
4907
+ "array": [
4908
+ "u64",
4909
+ 20
4910
+ ];
4911
+ };
4912
+ }
4913
+ ];
4914
+ };
4915
+ },
3346
4916
  {
3347
4917
  "name": "presetParameter";
3348
4918
  "type": {
@@ -3358,7 +4928,7 @@ type LbClmm = {
3358
4928
  {
3359
4929
  "name": "baseFactor";
3360
4930
  "docs": [
3361
- "Used for base fee calculation. base_fee_rate = base_factor * bin_step"
4931
+ "Used for base fee calculation. base_fee_rate = base_factor * bin_step * 10 * 10^base_fee_power_factor"
3362
4932
  ];
3363
4933
  "type": "u16";
3364
4934
  },
@@ -3420,14 +4990,48 @@ type LbClmm = {
3420
4990
  }
3421
4991
  ];
3422
4992
  };
4993
+ },
4994
+ {
4995
+ "name": "tokenBadge";
4996
+ "docs": [
4997
+ "Parameter that set by the protocol"
4998
+ ];
4999
+ "type": {
5000
+ "kind": "struct";
5001
+ "fields": [
5002
+ {
5003
+ "name": "tokenMint";
5004
+ "docs": [
5005
+ "token mint"
5006
+ ];
5007
+ "type": "publicKey";
5008
+ },
5009
+ {
5010
+ "name": "padding";
5011
+ "docs": [
5012
+ "Reserve"
5013
+ ];
5014
+ "type": {
5015
+ "array": [
5016
+ "u8",
5017
+ 128
5018
+ ];
5019
+ };
5020
+ }
5021
+ ];
5022
+ };
3423
5023
  }
3424
5024
  ];
3425
5025
  "types": [
3426
5026
  {
3427
- "name": "InitPresetParametersIx";
5027
+ "name": "InitPresetParameters2Ix";
3428
5028
  "type": {
3429
5029
  "kind": "struct";
3430
5030
  "fields": [
5031
+ {
5032
+ "name": "index";
5033
+ "type": "u16";
5034
+ },
3431
5035
  {
3432
5036
  "name": "binStep";
3433
5037
  "docs": [
@@ -3438,7 +5042,7 @@ type LbClmm = {
3438
5042
  {
3439
5043
  "name": "baseFactor";
3440
5044
  "docs": [
3441
- "Used for base fee calculation. base_fee_rate = base_factor * bin_step"
5045
+ "Used for base fee calculation. base_fee_rate = base_factor * bin_step * 10 * 10^base_fee_power_factor"
3442
5046
  ];
3443
5047
  "type": "u16";
3444
5048
  },
@@ -3478,18 +5082,75 @@ type LbClmm = {
3478
5082
  "type": "u32";
3479
5083
  },
3480
5084
  {
3481
- "name": "minBinId";
5085
+ "name": "protocolShare";
3482
5086
  "docs": [
3483
- "Min bin id supported by the pool based on the configured bin step."
5087
+ "Portion of swap fees retained by the protocol by controlling protocol_share parameter. protocol_swap_fee = protocol_share * total_swap_fee"
3484
5088
  ];
3485
- "type": "i32";
5089
+ "type": "u16";
3486
5090
  },
3487
5091
  {
3488
- "name": "maxBinId";
5092
+ "name": "baseFeePowerFactor";
3489
5093
  "docs": [
3490
- "Max bin id supported by the pool based on the configured bin step."
5094
+ "Base fee power factor"
3491
5095
  ];
3492
- "type": "i32";
5096
+ "type": "u8";
5097
+ }
5098
+ ];
5099
+ };
5100
+ },
5101
+ {
5102
+ "name": "InitPresetParametersIx";
5103
+ "type": {
5104
+ "kind": "struct";
5105
+ "fields": [
5106
+ {
5107
+ "name": "binStep";
5108
+ "docs": [
5109
+ "Bin step. Represent the price increment / decrement."
5110
+ ];
5111
+ "type": "u16";
5112
+ },
5113
+ {
5114
+ "name": "baseFactor";
5115
+ "docs": [
5116
+ "Used for base fee calculation. base_fee_rate = base_factor * bin_step * 10 * 10^base_fee_power_factor"
5117
+ ];
5118
+ "type": "u16";
5119
+ },
5120
+ {
5121
+ "name": "filterPeriod";
5122
+ "docs": [
5123
+ "Filter period determine high frequency trading time window."
5124
+ ];
5125
+ "type": "u16";
5126
+ },
5127
+ {
5128
+ "name": "decayPeriod";
5129
+ "docs": [
5130
+ "Decay period determine when the volatile fee start decay / decrease."
5131
+ ];
5132
+ "type": "u16";
5133
+ },
5134
+ {
5135
+ "name": "reductionFactor";
5136
+ "docs": [
5137
+ "Reduction factor controls the volatile fee rate decrement rate."
5138
+ ];
5139
+ "type": "u16";
5140
+ },
5141
+ {
5142
+ "name": "variableFeeControl";
5143
+ "docs": [
5144
+ "Used to scale the variable fee component depending on the dynamic of the market"
5145
+ ];
5146
+ "type": "u32";
5147
+ },
5148
+ {
5149
+ "name": "maxVolatilityAccumulator";
5150
+ "docs": [
5151
+ "Maximum number of bin crossed can be accumulated. Used to cap volatile fee rate."
5152
+ ];
5153
+ "type": "u32";
3493
5154
  },
3494
5155
  {
3495
5156
  "name": "protocolShare";
@@ -3519,6 +5180,13 @@ type LbClmm = {
3519
5180
  "Base factor for base fee rate"
3520
5181
  ];
3521
5182
  "type": "u16";
5183
+ },
5184
+ {
5185
+ "name": "baseFeePowerFactor";
5186
+ "docs": [
5187
+ "Base fee power factor"
5188
+ ];
5189
+ "type": "u8";
3522
5190
  }
3523
5191
  ];
3524
5192
  };
@@ -3955,6 +5623,13 @@ type LbClmm = {
3955
5623
  ];
3956
5624
  "type": "bool";
3957
5625
  },
5626
+ {
5627
+ "name": "baseFeePowerFactor";
5628
+ "docs": [
5629
+ "Base fee power factor"
5630
+ ];
5631
+ "type": "u8";
5632
+ },
3958
5633
  {
3959
5634
  "name": "padding";
3960
5635
  "docs": [
@@ -3963,7 +5638,7 @@ type LbClmm = {
3963
5638
  "type": {
3964
5639
  "array": [
3965
5640
  "u8",
3966
- 63
5641
+ 62
3967
5642
  ];
3968
5643
  };
3969
5644
  }
@@ -3988,16 +5663,83 @@ type LbClmm = {
3988
5663
  "type": "u16";
3989
5664
  },
3990
5665
  {
3991
- "name": "minBinId";
5666
+ "name": "baseFeePowerFactor";
5667
+ "type": "u8";
5668
+ },
5669
+ {
5670
+ "name": "activationType";
5671
+ "type": "u8";
5672
+ },
5673
+ {
5674
+ "name": "protocolShare";
5675
+ "type": "u16";
5676
+ }
5677
+ ];
5678
+ };
5679
+ },
5680
+ {
5681
+ "name": "AddLiquiditySingleSidePreciseParameter2";
5682
+ "type": {
5683
+ "kind": "struct";
5684
+ "fields": [
5685
+ {
5686
+ "name": "bins";
5687
+ "type": {
5688
+ "vec": {
5689
+ "defined": "CompressedBinDepositAmount";
5690
+ };
5691
+ };
5692
+ },
5693
+ {
5694
+ "name": "decompressMultiplier";
5695
+ "type": "u64";
5696
+ },
5697
+ {
5698
+ "name": "maxAmount";
5699
+ "type": "u64";
5700
+ }
5701
+ ];
5702
+ };
5703
+ },
5704
+ {
5705
+ "name": "CompressedBinDepositAmount2";
5706
+ "type": {
5707
+ "kind": "struct";
5708
+ "fields": [
5709
+ {
5710
+ "name": "binId";
3992
5711
  "type": "i32";
3993
5712
  },
3994
5713
  {
3995
- "name": "maxBinId";
5714
+ "name": "amount";
5715
+ "type": "u32";
5716
+ }
5717
+ ];
5718
+ };
5719
+ },
5720
+ {
5721
+ "name": "InitializeLbPair2Params";
5722
+ "type": {
5723
+ "kind": "struct";
5724
+ "fields": [
5725
+ {
5726
+ "name": "activeId";
5727
+ "docs": [
5728
+ "Pool price"
5729
+ ];
3996
5730
  "type": "i32";
3997
5731
  },
3998
5732
  {
3999
- "name": "activationType";
4000
- "type": "u8";
5733
+ "name": "padding";
5734
+ "docs": [
5735
+ "Padding, for future use"
5736
+ ];
5737
+ "type": {
5738
+ "array": [
5739
+ "u8",
5740
+ 96
5741
+ ];
5742
+ };
4001
5743
  }
4002
5744
  ];
4003
5745
  };
@@ -4217,7 +5959,7 @@ type LbClmm = {
4217
5959
  {
4218
5960
  "name": "baseFactor";
4219
5961
  "docs": [
4220
- "Used for base fee calculation. base_fee_rate = base_factor * bin_step"
5962
+ "Used for base fee calculation. base_fee_rate = base_factor * bin_step * 10 * 10^base_fee_power_factor"
4221
5963
  ];
4222
5964
  "type": "u16";
4223
5965
  },
@@ -4277,6 +6019,13 @@ type LbClmm = {
4277
6019
  ];
4278
6020
  "type": "u16";
4279
6021
  },
6022
+ {
6023
+ "name": "baseFeePowerFactor";
6024
+ "docs": [
6025
+ "Base fee power factor"
6026
+ ];
6027
+ "type": "u8";
6028
+ },
4280
6029
  {
4281
6030
  "name": "padding";
4282
6031
  "docs": [
@@ -4285,7 +6034,7 @@ type LbClmm = {
4285
6034
  "type": {
4286
6035
  "array": [
4287
6036
  "u8",
4288
- 6
6037
+ 5
4289
6038
  ];
4290
6039
  };
4291
6040
  }
@@ -4406,6 +6155,40 @@ type LbClmm = {
4406
6155
  ];
4407
6156
  };
4408
6157
  },
6158
+ {
6159
+ "name": "RemainingAccountsSlice";
6160
+ "type": {
6161
+ "kind": "struct";
6162
+ "fields": [
6163
+ {
6164
+ "name": "accountsType";
6165
+ "type": {
6166
+ "defined": "AccountsType";
6167
+ };
6168
+ },
6169
+ {
6170
+ "name": "length";
6171
+ "type": "u8";
6172
+ }
6173
+ ];
6174
+ };
6175
+ },
6176
+ {
6177
+ "name": "RemainingAccountsInfo";
6178
+ "type": {
6179
+ "kind": "struct";
6180
+ "fields": [
6181
+ {
6182
+ "name": "slices";
6183
+ "type": {
6184
+ "vec": {
6185
+ "defined": "RemainingAccountsSlice";
6186
+ };
6187
+ };
6188
+ }
6189
+ ];
6190
+ };
6191
+ },
4409
6192
  {
4410
6193
  "name": "StrategyType";
4411
6194
  "type": {
@@ -4505,6 +6288,9 @@ type LbClmm = {
4505
6288
  },
4506
6289
  {
4507
6290
  "name": "CustomizablePermissionless";
6291
+ },
6292
+ {
6293
+ "name": "PermissionlessV2";
4508
6294
  }
4509
6295
  ];
4510
6296
  };
@@ -4525,6 +6311,37 @@ type LbClmm = {
4525
6311
  }
4526
6312
  ];
4527
6313
  };
6314
+ },
6315
+ {
6316
+ "name": "TokenProgramFlags";
6317
+ "type": {
6318
+ "kind": "enum";
6319
+ "variants": [
6320
+ {
6321
+ "name": "TokenProgram";
6322
+ },
6323
+ {
6324
+ "name": "TokenProgram2022";
6325
+ }
6326
+ ];
6327
+ };
6328
+ },
6329
+ {
6330
+ "name": "AccountsType";
6331
+ "type": {
6332
+ "kind": "enum";
6333
+ "variants": [
6334
+ {
6335
+ "name": "TransferHookX";
6336
+ },
6337
+ {
6338
+ "name": "TransferHookY";
6339
+ },
6340
+ {
6341
+ "name": "TransferHookReward";
6342
+ }
6343
+ ];
6344
+ };
4528
6345
  }
4529
6346
  ];
4530
6347
  "events": [
@@ -4918,6 +6735,66 @@ type LbClmm = {
4918
6735
  }
4919
6736
  ];
4920
6737
  },
6738
+ {
6739
+ "name": "IncreasePositionLength";
6740
+ "fields": [
6741
+ {
6742
+ "name": "lbPair";
6743
+ "type": "publicKey";
6744
+ "index": false;
6745
+ },
6746
+ {
6747
+ "name": "position";
6748
+ "type": "publicKey";
6749
+ "index": false;
6750
+ },
6751
+ {
6752
+ "name": "owner";
6753
+ "type": "publicKey";
6754
+ "index": false;
6755
+ },
6756
+ {
6757
+ "name": "lengthToAdd";
6758
+ "type": "u16";
6759
+ "index": false;
6760
+ },
6761
+ {
6762
+ "name": "side";
6763
+ "type": "u8";
6764
+ "index": false;
6765
+ }
6766
+ ];
6767
+ },
6768
+ {
6769
+ "name": "DecreasePositionLength";
6770
+ "fields": [
6771
+ {
6772
+ "name": "lbPair";
6773
+ "type": "publicKey";
6774
+ "index": false;
6775
+ },
6776
+ {
6777
+ "name": "position";
6778
+ "type": "publicKey";
6779
+ "index": false;
6780
+ },
6781
+ {
6782
+ "name": "owner";
6783
+ "type": "publicKey";
6784
+ "index": false;
6785
+ },
6786
+ {
6787
+ "name": "lengthToRemove";
6788
+ "type": "u16";
6789
+ "index": false;
6790
+ },
6791
+ {
6792
+ "name": "side";
6793
+ "type": "u8";
6794
+ "index": false;
6795
+ }
6796
+ ];
6797
+ },
4921
6798
  {
4922
6799
  "name": "FeeParameterUpdate";
4923
6800
  "fields": [
@@ -5424,6 +7301,76 @@ type LbClmm = {
5424
7301
  "code": 6068;
5425
7302
  "name": "InvalidMinimumLiquidity";
5426
7303
  "msg": "Invalid minimum liquidity";
7304
+ },
7305
+ {
7306
+ "code": 6069;
7307
+ "name": "NotSupportMint";
7308
+ "msg": "Not support token_2022 mint extension";
7309
+ },
7310
+ {
7311
+ "code": 6070;
7312
+ "name": "UnsupportedMintExtension";
7313
+ "msg": "Unsupported mint extension";
7314
+ },
7315
+ {
7316
+ "code": 6071;
7317
+ "name": "UnsupportNativeMintToken2022";
7318
+ "msg": "Unsupported native mint token2022";
7319
+ },
7320
+ {
7321
+ "code": 6072;
7322
+ "name": "UnmatchTokenMint";
7323
+ "msg": "Unmatch token mint";
7324
+ },
7325
+ {
7326
+ "code": 6073;
7327
+ "name": "UnsupportedTokenMint";
7328
+ "msg": "Unsupported token mint";
7329
+ },
7330
+ {
7331
+ "code": 6074;
7332
+ "name": "InsufficientRemainingAccounts";
7333
+ "msg": "Insufficient remaining accounts";
7334
+ },
7335
+ {
7336
+ "code": 6075;
7337
+ "name": "InvalidRemainingAccountSlice";
7338
+ "msg": "Invalid remaining account slice";
7339
+ },
7340
+ {
7341
+ "code": 6076;
7342
+ "name": "DuplicatedRemainingAccountTypes";
7343
+ "msg": "Duplicated remaining account types";
7344
+ },
7345
+ {
7346
+ "code": 6077;
7347
+ "name": "MissingRemainingAccountForTransferHook";
7348
+ "msg": "Missing remaining account for transfer hook";
7349
+ },
7350
+ {
7351
+ "code": 6078;
7352
+ "name": "NoTransferHookProgram";
7353
+ "msg": "Remaining account was passed for transfer hook but there's no hook program";
7354
+ },
7355
+ {
7356
+ "code": 6079;
7357
+ "name": "ZeroFundedAmount";
7358
+ "msg": "Zero funded amount";
7359
+ },
7360
+ {
7361
+ "code": 6080;
7362
+ "name": "InvalidSide";
7363
+ "msg": "Invalid side";
7364
+ },
7365
+ {
7366
+ "code": 6081;
7367
+ "name": "InvalidResizeLength";
7368
+ "msg": "Invalid resize length";
7369
+ },
7370
+ {
7371
+ "code": 6082;
7372
+ "name": "NotSupportAtTheMoment";
7373
+ "msg": "Not support at the moment";
5427
7374
  }
5428
7375
  ];
5429
7376
  };
@@ -5437,8 +7384,10 @@ interface BinAndAmount {
5437
7384
  interface TokenReserve {
5438
7385
  publicKey: PublicKey;
5439
7386
  reserve: PublicKey;
7387
+ mint: Mint;
5440
7388
  amount: bigint;
5441
- decimal: number;
7389
+ owner: PublicKey;
7390
+ transferHookAccountMetas: AccountMeta[];
5442
7391
  }
5443
7392
  type ClmmProgram = Program<LbClmm>;
5444
7393
  type LbPair = IdlAccounts<LbClmm>["lbPair"];
@@ -5448,8 +7397,12 @@ type BinArray = IdlAccounts<LbClmm>["binArray"];
5448
7397
  type BinArrayAccount = ProgramAccount<IdlAccounts<LbClmm>["binArray"]>;
5449
7398
  type Position = IdlAccounts<LbClmm>["position"];
5450
7399
  type PositionV2 = IdlAccounts<LbClmm>["positionV2"];
7400
+ type PresetParameter = IdlAccounts<LbClmm>["presetParameter"];
7401
+ type PresetParameter2 = IdlAccounts<LbClmm>["presetParameter2"];
5451
7402
  type vParameters = IdlAccounts<LbClmm>["lbPair"]["vParameters"];
5452
7403
  type sParameters = IdlAccounts<LbClmm>["lbPair"]["parameters"];
7404
+ type UserRewardInfo = IdlTypes<LbClmm>["UserRewardInfo"];
7405
+ type UserFeeInfo = IdlTypes<LbClmm>["FeeInfo"];
5453
7406
  type InitPermissionPairIx = IdlTypes<LbClmm>["InitPermissionPairIx"];
5454
7407
  type InitCustomizablePermissionlessPairIx = IdlTypes<LbClmm>["CustomizableParams"];
5455
7408
  type BinLiquidityDistribution = IdlTypes<LbClmm>["BinLiquidityDistribution"];
@@ -5463,8 +7416,11 @@ type LiquidityParameterByStrategyOneSide = IdlTypes<LbClmm>["LiquidityParameterB
5463
7416
  type LiquidityParameter = IdlTypes<LbClmm>["LiquidityParameter"];
5464
7417
  type ProgramStrategyParameter = IdlTypes<LbClmm>["StrategyParameters"];
5465
7418
  type ProgramStrategyType = IdlTypes<LbClmm>["StrategyType"];
7419
+ type RemainingAccountInfo = IdlTypes<LbClmm>["RemainingAccountsInfo"];
7420
+ type RemainingAccountsInfoSlice = IdlTypes<LbClmm>["RemainingAccountsSlice"];
5466
7421
  type CompressedBinDepositAmount = IdlTypes<LbClmm>["CompressedBinDepositAmount"];
5467
7422
  type CompressedBinDepositAmounts = CompressedBinDepositAmount[];
7423
+ declare const POSITION_V2_DISC: Buffer;
5468
7424
  interface LbPosition {
5469
7425
  publicKey: PublicKey;
5470
7426
  positionData: PositionData;
@@ -5501,7 +7457,8 @@ interface LMRewards {
5501
7457
  }
5502
7458
  declare enum PositionVersion {
5503
7459
  V1 = 0,
5504
- V2 = 1
7460
+ V2 = 1,
7461
+ V3 = 2
5505
7462
  }
5506
7463
  declare enum PairType {
5507
7464
  Permissionless = 0,
@@ -5528,12 +7485,9 @@ declare const Strategy: {
5528
7485
  };
5529
7486
  };
5530
7487
  declare enum StrategyType {
5531
- SpotImBalanced = 0,
5532
- CurveImBalanced = 1,
5533
- BidAskImBalanced = 2,
5534
- SpotBalanced = 3,
5535
- CurveBalanced = 4,
5536
- BidAskBalanced = 5
7488
+ Spot = 0,
7489
+ Curve = 1,
7490
+ BidAsk = 2
5537
7491
  }
5538
7492
  declare enum ActivationType {
5539
7493
  Slot = 0,
@@ -5572,6 +7526,9 @@ interface BinLiquidity {
5572
7526
  version: number;
5573
7527
  price: string;
5574
7528
  pricePerToken: string;
7529
+ feeAmountXPerTokenStored: BN;
7530
+ feeAmountYPerTokenStored: BN;
7531
+ rewardPerTokenStored: BN[];
5575
7532
  }
5576
7533
  declare namespace BinLiquidity {
5577
7534
  function fromBin(bin: Bin, binId: number, binStep: number, baseTokenDecimal: number, quoteTokenDecimal: number, version: number): BinLiquidity;
@@ -5610,6 +7567,9 @@ interface PositionBinData {
5610
7567
  positionLiquidity: string;
5611
7568
  positionXAmount: string;
5612
7569
  positionYAmount: string;
7570
+ positionFeeXAmount: string;
7571
+ positionFeeYAmount: string;
7572
+ positionRewardAmount: string[];
5613
7573
  }
5614
7574
  interface PositionData {
5615
7575
  totalXAmount: string;
@@ -5625,6 +7585,13 @@ interface PositionData {
5625
7585
  feeOwner: PublicKey;
5626
7586
  totalClaimedFeeXAmount: BN;
5627
7587
  totalClaimedFeeYAmount: BN;
7588
+ feeXExcludeTransferFee: BN;
7589
+ feeYExcludeTransferFee: BN;
7590
+ rewardOneExcludeTransferFee: BN;
7591
+ rewardTwoExcludeTransferFee: BN;
7592
+ totalXAmountExcludeTransferFee: BN;
7593
+ totalYAmountExcludeTransferFee: BN;
7594
+ owner: PublicKey;
5628
7595
  }
5629
7596
  interface SwapWithPriceImpactParams {
5630
7597
  /**
@@ -5742,6 +7709,11 @@ interface PositionLockInfo {
5742
7709
  tokenYAmount: string;
5743
7710
  lockReleasePoint: number;
5744
7711
  }
7712
+ declare enum ActionType {
7713
+ Liquidity = 0,
7714
+ Reward = 1
7715
+ }
7716
+ declare const MEMO_PROGRAM_ID: PublicKey;
5745
7717
 
5746
7718
  type Opt = {
5747
7719
  cluster?: Cluster | "localhost";
@@ -5754,9 +7726,10 @@ declare class DLMM {
5754
7726
  binArrayBitmapExtension: BinArrayBitmapExtensionAccount | null;
5755
7727
  tokenX: TokenReserve;
5756
7728
  tokenY: TokenReserve;
7729
+ rewards: Array<TokenReserve | null>;
5757
7730
  clock: Clock;
5758
7731
  private opt?;
5759
- constructor(pubkey: PublicKey, program: ClmmProgram, lbPair: LbPair, binArrayBitmapExtension: BinArrayBitmapExtensionAccount | null, tokenX: TokenReserve, tokenY: TokenReserve, clock: Clock, opt?: Opt);
7732
+ constructor(pubkey: PublicKey, program: ClmmProgram, lbPair: LbPair, binArrayBitmapExtension: BinArrayBitmapExtensionAccount | null, tokenX: TokenReserve, tokenY: TokenReserve, rewards: Array<TokenReserve | null>, clock: Clock, opt?: Opt);
5760
7733
  /** Static public method */
5761
7734
  /**
5762
7735
  * The function `getLbPairs` retrieves a list of LB pair accounts using a connection and optional
@@ -5769,8 +7742,18 @@ declare class DLMM {
5769
7742
  * `LbPairAccount` objects.
5770
7743
  */
5771
7744
  static getLbPairs(connection: Connection, opt?: Opt): Promise<LbPairAccount[]>;
5772
- static getPairPubkeyIfExists(connection: Connection, tokenX: PublicKey, tokenY: PublicKey, binStep: BN, baseFactor: BN, opt?: Opt): Promise<PublicKey | null>;
5773
- static getCustomizablePermissionlessLbPairIfExists(connection: Connection, tokenX: PublicKey, tokenY: PublicKey, opt?: Opt): Promise<PublicKey | null>;
7745
+ /**
7746
+ * Retrieves the public key of a LB pair if it exists.
7747
+ * @param connection The connection to the Solana cluster.
7748
+ * @param tokenX The mint address of token X.
7749
+ * @param tokenY The mint address of token Y.
7750
+ * @param binStep The bin step of the LB pair.
7751
+ * @param baseFactor The base factor of the LB pair.
7752
+ * @param baseFeePowerFactor The base fee power factor of the LB pair. It allow small bin step to have bigger fee rate.
7753
+ * @param opt Optional parameters.
7754
+ * @returns The public key of the LB pair if it exists, or null.
7755
+ */
7756
+ static getPairPubkeyIfExists(connection: Connection, tokenX: PublicKey, tokenY: PublicKey, binStep: BN, baseFactor: BN, baseFeePowerFactor: BN, opt?: Opt): Promise<PublicKey | null>;
5774
7757
  /**
5775
7758
  * The `create` function is a static method that creates a new instance of the `DLMM` class
5776
7759
  * @param {Connection} connection - The `connection` parameter is an instance of the `Connection`
@@ -5791,18 +7774,46 @@ declare class DLMM {
5791
7774
  * objects.
5792
7775
  */
5793
7776
  static createMultiple(connection: Connection, dlmmList: Array<PublicKey>, opt?: Opt): Promise<DLMM[]>;
5794
- static getAllPresetParameters(connection: Connection, opt?: Opt): Promise<_coral_xyz_anchor.ProgramAccount<{
5795
- binStep: number;
5796
- baseFactor: number;
5797
- filterPeriod: number;
5798
- decayPeriod: number;
5799
- reductionFactor: number;
5800
- variableFeeControl: number;
5801
- maxVolatilityAccumulator: number;
5802
- minBinId: number;
5803
- maxBinId: number;
5804
- protocolShare: number;
5805
- }>[]>;
7777
+ /**
7778
+ * The `getAllPresetParameters` function retrieves all preset parameter accounts
7779
+ * for the given DLMM program.
7780
+ *
7781
+ * @param {Connection} connection - The connection to the Solana cluster.
7782
+ * @param {Opt} [opt] - The optional parameters for the function.
7783
+ *
7784
+ * @returns A promise that resolves to an object containing the preset parameter
7785
+ * accounts, with the following properties:
7786
+ * - `presetParameter`: The preset parameter accounts for the original `PresetParameter` struct.
7787
+ * - `presetParameter2`: The preset parameter accounts for the `PresetParameter2` struct.
7788
+ */
7789
+ static getAllPresetParameters(connection: Connection, opt?: Opt): Promise<{
7790
+ presetParameter: _coral_xyz_anchor.ProgramAccount<{
7791
+ binStep: number;
7792
+ baseFactor: number;
7793
+ filterPeriod: number;
7794
+ decayPeriod: number;
7795
+ reductionFactor: number;
7796
+ variableFeeControl: number;
7797
+ maxVolatilityAccumulator: number;
7798
+ minBinId: number;
7799
+ maxBinId: number;
7800
+ protocolShare: number;
7801
+ }>[];
7802
+ presetParameter2: _coral_xyz_anchor.ProgramAccount<{
7803
+ binStep: number;
7804
+ baseFactor: number;
7805
+ filterPeriod: number;
7806
+ decayPeriod: number;
7807
+ variableFeeControl: number;
7808
+ maxVolatilityAccumulator: number;
7809
+ reductionFactor: number;
7810
+ protocolShare: number;
7811
+ index: number;
7812
+ baseFeePowerFactor: number;
7813
+ padding0: number;
7814
+ padding1: BN[];
7815
+ }>[];
7816
+ }>;
5806
7817
  /**
5807
7818
  * The function `getAllLbPairPositionsByUser` retrieves all liquidity pool pair positions for a given
5808
7819
  * user.
@@ -5818,17 +7829,74 @@ declare class DLMM {
5818
7829
  static getPricePerLamport(tokenXDecimal: number, tokenYDecimal: number, price: number): string;
5819
7830
  static getBinIdFromPrice(price: string | number | Decimal, binStep: number, min: boolean): number;
5820
7831
  /**
5821
- * The function `getLbPairLockInfo` retrieves all pair positions that has locked liquidity.
5822
- * @param {number} [lockDurationOpt] - An optional value indicating the minimum position lock duration that the function should return.
5823
- * Depending on the lbPair activationType, the param should be a number of seconds or a number of slots.
5824
- * @returns The function `getLbPairLockInfo` returns a `Promise` that resolves to a `PairLockInfo`
5825
- * object. The `PairLockInfo` object contains an array of `PositionLockInfo` objects.
5826
- */
7832
+ * The function `getLbPairLockInfo` retrieves all pair positions that has locked liquidity.
7833
+ * @param {number} [lockDurationOpt] - An optional value indicating the minimum position lock duration that the function should return.
7834
+ * Depending on the lbPair activationType, the param should be a number of seconds or a number of slots.
7835
+ * @returns The function `getLbPairLockInfo` returns a `Promise` that resolves to a `PairLockInfo`
7836
+ * object. The `PairLockInfo` object contains an array of `PositionLockInfo` objects.
7837
+ */
5827
7838
  getLbPairLockInfo(lockDurationOpt?: number): Promise<PairLockInfo>;
5828
7839
  /** Public methods */
5829
- static createPermissionLbPair(connection: Connection, binStep: BN, tokenX: PublicKey, tokenY: PublicKey, activeId: BN, baseKey: PublicKey, creatorKey: PublicKey, feeBps: BN, activationType: ActivationType, opt?: Opt): Promise<Transaction>;
7840
+ /**
7841
+ * Create a new customizable permissionless pair. Support both token and token 2022.
7842
+ * @param connection A connection to the Solana cluster.
7843
+ * @param binStep The bin step for the pair.
7844
+ * @param tokenX The mint of the first token.
7845
+ * @param tokenY The mint of the second token.
7846
+ * @param activeId The ID of the initial active bin. Represent the starting price.
7847
+ * @param feeBps The fee rate for swaps in the pair, in basis points.
7848
+ * @param activationType The type of activation for the pair.
7849
+ * @param hasAlphaVault Whether the pair has an alpha vault.
7850
+ * @param creatorKey The public key of the creator of the pair.
7851
+ * @param activationPoint The timestamp at which the pair will be activated.
7852
+ * @param opt An options object.
7853
+ * @returns A transaction that creates the pair.
7854
+ */
7855
+ static createCustomizablePermissionlessLbPair2(connection: Connection, binStep: BN, tokenX: PublicKey, tokenY: PublicKey, activeId: BN, feeBps: BN, activationType: ActivationType, hasAlphaVault: boolean, creatorKey: PublicKey, activationPoint?: BN, creatorPoolOnOffControl?: boolean, opt?: Opt): Promise<Transaction>;
7856
+ /**
7857
+ * Create a new customizable permissionless pair. Support only token program.
7858
+ * @param connection A connection to the Solana cluster.
7859
+ * @param binStep The bin step for the pair.
7860
+ * @param tokenX The mint of the first token.
7861
+ * @param tokenY The mint of the second token.
7862
+ * @param activeId The ID of the initial active bin. Represent the starting price.
7863
+ * @param feeBps The fee rate for swaps in the pair, in basis points.
7864
+ * @param activationType The type of activation for the pair.
7865
+ * @param hasAlphaVault Whether the pair has an alpha vault.
7866
+ * @param creatorKey The public key of the creator of the pair.
7867
+ * @param activationPoint The timestamp at which the pair will be activated.
7868
+ * @param opt An options object.
7869
+ * @returns A transaction that creates the pair.
7870
+ */
5830
7871
  static createCustomizablePermissionlessLbPair(connection: Connection, binStep: BN, tokenX: PublicKey, tokenY: PublicKey, activeId: BN, feeBps: BN, activationType: ActivationType, hasAlphaVault: boolean, creatorKey: PublicKey, activationPoint?: BN, creatorPoolOnOffControl?: boolean, opt?: Opt): Promise<Transaction>;
7872
+ /**
7873
+ * Create a new liquidity pair. Support only token program.
7874
+ * @param connection A connection to the Solana cluster.
7875
+ * @param funder The public key of the funder of the pair.
7876
+ * @param tokenX The mint of the first token.
7877
+ * @param tokenY The mint of the second token.
7878
+ * @param binStep The bin step for the pair.
7879
+ * @param baseFactor The base factor for the pair.
7880
+ * @param presetParameter The public key of the preset parameter account.
7881
+ * @param activeId The ID of the initial active bin. Represent the starting price.
7882
+ * @param opt An options object.
7883
+ * @returns A transaction that creates the pair.
7884
+ * @throws If the pair already exists.
7885
+ */
5831
7886
  static createLbPair(connection: Connection, funder: PublicKey, tokenX: PublicKey, tokenY: PublicKey, binStep: BN, baseFactor: BN, presetParameter: PublicKey, activeId: BN, opt?: Opt): Promise<Transaction>;
7887
+ /**
7888
+ * Create a new liquidity pair. Support both token and token2022 program.
7889
+ * @param connection A connection to the Solana cluster.
7890
+ * @param funder The public key of the funder of the pair.
7891
+ * @param tokenX The mint of the first token.
7892
+ * @param tokenY The mint of the second token.
7893
+ * @param presetParameter The public key of the preset parameter account.
7894
+ * @param activeId The ID of the initial active bin. Represent the starting price.
7895
+ * @param opt An options object.
7896
+ * @returns A transaction that creates the pair.
7897
+ * @throws If the pair already exists.
7898
+ */
7899
+ static createLbPair2(connection: Connection, funder: PublicKey, tokenX: PublicKey, tokenY: PublicKey, presetParameter: PublicKey, activeId: BN, opt?: Opt): Promise<Transaction>;
5832
7900
  /**
5833
7901
  * The function `refetchStates` retrieves and updates various states and data related to bin arrays
5834
7902
  * and lb pairs.
@@ -5857,7 +7925,15 @@ declare class DLMM {
5857
7925
  * @returns an array of `BinArrayAccount` objects.
5858
7926
  */
5859
7927
  getBinArrayForSwap(swapForY: any, count?: number): Promise<BinArrayAccount[]>;
5860
- static calculateFeeInfo(baseFactor: number | string, binStep: number | string): Omit<FeeInfo, "protocolFeePercentage">;
7928
+ /**
7929
+ * The function `calculateFeeInfo` calculates the base fee rate percentage and maximum fee rate percentage
7930
+ * given the base factor, bin step, and optional base fee power factor.
7931
+ * @param baseFactor - The base factor of the pair.
7932
+ * @param binStep - The bin step of the pair.
7933
+ * @param baseFeePowerFactor - Optional parameter to allow small bin step to have bigger fee rate. Default to 0.
7934
+ * @returns an object of type `Omit<FeeInfo, "protocolFeePercentage">` with the following properties: baseFeeRatePercentage and maxFeeRatePercentage.
7935
+ */
7936
+ static calculateFeeInfo(baseFactor: number | string, binStep: number | string, baseFeePowerFactor?: number | string): Omit<FeeInfo, "protocolFeePercentage">;
5861
7937
  /**
5862
7938
  * The function `getFeeInfo` calculates and returns the base fee rate percentage, maximum fee rate
5863
7939
  * percentage, and protocol fee percentage.
@@ -6007,11 +8083,12 @@ declare class DLMM {
6007
8083
  * - `strategy`: The strategy parameters to be used for the liquidity pool (Can use `calculateStrategyParameter` to calculate).
6008
8084
  * - `user`: The public key of the user account.
6009
8085
  * - `slippage`: The slippage percentage to be used for the liquidity pool.
6010
- * @returns {Promise<Transaction>} The function `initializePositionAndAddLiquidityByWeight` returns a `Promise` that
8086
+ * @returns {Promise<Transaction>} The function `initializePositionAndAddLiquidityByStrategy` returns a `Promise` that
6011
8087
  * resolves to either a single `Transaction` object.
6012
8088
  */
6013
8089
  initializePositionAndAddLiquidityByStrategy({ positionPubKey, totalXAmount, totalYAmount, strategy, user, slippage, }: TInitializePositionAndAddLiquidityParamsByStrategy): Promise<Transaction>;
6014
8090
  /**
8091
+ * @deprecated Use `initializePositionAndAddLiquidityByStrategy` instead which support both token and token2022.
6015
8092
  * The function `initializePositionAndAddLiquidityByWeight` function is used to initializes a position and adds liquidity
6016
8093
  * @param {TInitializePositionAndAddLiquidityParams}
6017
8094
  * - `positionPubKey`: The public key of the position account. (usually use `new Keypair()`)
@@ -6038,6 +8115,7 @@ declare class DLMM {
6038
8115
  */
6039
8116
  addLiquidityByStrategy({ positionPubKey, totalXAmount, totalYAmount, strategy, user, slippage, }: TInitializePositionAndAddLiquidityParamsByStrategy): Promise<Transaction>;
6040
8117
  /**
8118
+ * @deprecated Use `addLiquidityByStrategy` instead which support both token and token2022.
6041
8119
  * The `addLiquidityByWeight` function is used to add liquidity to existing position
6042
8120
  * @param {TInitializePositionAndAddLiquidityParams}
6043
8121
  * - `positionPubKey`: The public key of the position account. (usually use `new Keypair()`)
@@ -6056,18 +8134,27 @@ declare class DLMM {
6056
8134
  * @param
6057
8135
  * - `user`: The public key of the user account.
6058
8136
  * - `position`: The public key of the position account.
6059
- * - `binIds`: An array of numbers that represent the bin IDs to remove liquidity from.
8137
+ * - `fromBinId`: The ID of the starting bin to remove liquidity from. Must within position range.
8138
+ * - `toBinId`: The ID of the ending bin to remove liquidity from. Must within position range.
6060
8139
  * - `liquiditiesBpsToRemove`: An array of numbers (percentage) that represent the liquidity to remove from each bin.
6061
8140
  * - `shouldClaimAndClose`: A boolean flag that indicates whether to claim rewards and close the position.
6062
- * @returns {Promise<Transaction|Transaction[]>}
8141
+ * @returns {Promise<Transaction | Transaction[]>}
6063
8142
  */
6064
- removeLiquidity({ user, position, binIds, bps, shouldClaimAndClose, }: {
8143
+ removeLiquidity({ user, position, fromBinId, toBinId, bps, shouldClaimAndClose, }: {
6065
8144
  user: PublicKey;
6066
8145
  position: PublicKey;
6067
- binIds: number[];
8146
+ fromBinId: number;
8147
+ toBinId: number;
6068
8148
  bps: BN;
6069
8149
  shouldClaimAndClose?: boolean;
6070
8150
  }): Promise<Transaction | Transaction[]>;
8151
+ /**
8152
+ * The `closePositionIfEmpty` function closes a position if it is empty. Else, it does nothing.
8153
+ */
8154
+ closePositionIfEmpty({ owner, position, }: {
8155
+ owner: PublicKey;
8156
+ position: LbPosition;
8157
+ }): Promise<Transaction>;
6071
8158
  /**
6072
8159
  * The `closePosition` function closes a position
6073
8160
  * @param
@@ -6149,7 +8236,7 @@ declare class DLMM {
6149
8236
  * @param
6150
8237
  * - `owner`: The public key of the owner of the position.
6151
8238
  * - `position`: The public key of the position account.
6152
- * @returns {Promise<Transaction>}
8239
+ * @returns {Promise<Transaction>} Claim LM reward transactions.
6153
8240
  */
6154
8241
  claimLMReward({ owner, position, }: {
6155
8242
  owner: PublicKey;
@@ -6161,7 +8248,7 @@ declare class DLMM {
6161
8248
  * @param
6162
8249
  * - `owner`: The public key of the owner of the positions.
6163
8250
  * - `positions`: An array of objects of type `PositionData` that represents the positions to claim rewards from.
6164
- * @returns {Promise<Transaction[]>}
8251
+ * @returns {Promise<Transaction[]>} Array of claim LM reward and fees transactions.
6165
8252
  */
6166
8253
  claimAllLMRewards({ owner, positions, }: {
6167
8254
  owner: PublicKey;
@@ -6174,7 +8261,8 @@ declare class DLMM {
6174
8261
  * @param
6175
8262
  * - `owner`: The public key of the owner of the position.
6176
8263
  * - `position`: The public key of the position account.
6177
- * @returns {Promise<Transaction>}
8264
+ * - `binRange`: The bin range to claim swap fees for. If not provided, the function claim swap fees for full range.
8265
+ * @returns {Promise<Transaction>} Claim swap fee transactions.
6178
8266
  */
6179
8267
  claimSwapFee({ owner, position, }: {
6180
8268
  owner: PublicKey;
@@ -6185,7 +8273,7 @@ declare class DLMM {
6185
8273
  * @param
6186
8274
  * - `owner`: The public key of the owner of the positions.
6187
8275
  * - `positions`: An array of objects of type `PositionData` that represents the positions to claim swap fees from.
6188
- * @returns {Promise<Transaction[]>}
8276
+ * @returns {Promise<Transaction[]>} Array of claim swap fee transactions.
6189
8277
  */
6190
8278
  claimAllSwapFee({ owner, positions, }: {
6191
8279
  owner: PublicKey;
@@ -6197,14 +8285,14 @@ declare class DLMM {
6197
8285
  * @param
6198
8286
  * - `owner`: The public key of the owner of the position.
6199
8287
  * - `position`: The public key of the position account.
6200
- * @returns {Promise<Transaction[]>}
8288
+ * @returns {Promise<Transaction[]>} Array of claim reward transactions.
6201
8289
  */
6202
8290
  claimAllRewardsByPosition({ owner, position, }: {
6203
8291
  owner: PublicKey;
6204
8292
  position: LbPosition;
6205
8293
  }): Promise<Transaction[]>;
6206
8294
  /**
6207
- * The `seedLiquidity` function create multiple grouped instructions. The grouped instructions will be either [initialize bin array + initialize position instructions] or [deposit instruction] combination.
8295
+ * The `seedLiquidity` function create multiple grouped instructions. The grouped instructions will be [init ata + send lamport for token provde], [initialize bin array + initialize position instructions] and [deposit instruction]. Each grouped instructions can be executed parallelly.
6208
8296
  * @param
6209
8297
  * - `owner`: The public key of the positions owner.
6210
8298
  * - `seedAmount`: Lamport amount to be seeded to the pool.
@@ -6220,22 +8308,22 @@ declare class DLMM {
6220
8308
  */
6221
8309
  seedLiquidity(owner: PublicKey, seedAmount: BN, curvature: number, minPrice: number, maxPrice: number, base: PublicKey, payer: PublicKey, feeOwner: PublicKey, operator: PublicKey, lockReleasePoint: BN, shouldSeedPositionOwner?: boolean): Promise<SeedLiquidityResponse>;
6222
8310
  /**
6223
- * The `seedLiquidity` function create multiple grouped instructions. The grouped instructions will be either [initialize bin array + initialize position instructions] or [deposit instruction] combination.
6224
- * @param
6225
- * - `payer`: The public key of the tx payer.
6226
- * - `base`: Base key
6227
- * - `seedAmount`: Token X lamport amount to be seeded to the pool.
6228
- * - `price`: TokenX/TokenY Price in UI format
6229
- * - `roundingUp`: Whether to round up the price
6230
- * - `positionOwner`: The owner of the position
6231
- * - `feeOwner`: Position fee owner
6232
- * - `operator`: Operator of the position. Operator able to manage the position on behalf of the position owner. However, liquidity withdrawal issue by the operator can only send to the position owner.
6233
- * - `lockReleasePoint`: The lock release point of the position.
6234
- * - `shouldSeedPositionOwner` (optional): Whether to send 1 lamport amount of token X to the position owner to prove ownership.
6235
- *
6236
- * The returned instructions need to be executed sequentially if it was separated into multiple transactions.
6237
- * @returns {Promise<TransactionInstruction[]>}
6238
- */
8311
+ * The `seedLiquiditySingleBin` function seed liquidity into a single bin.
8312
+ * @param
8313
+ * - `payer`: The public key of the tx payer.
8314
+ * - `base`: Base key
8315
+ * - `seedAmount`: Token X lamport amount to be seeded to the pool.
8316
+ * - `price`: TokenX/TokenY Price in UI format
8317
+ * - `roundingUp`: Whether to round up the price
8318
+ * - `positionOwner`: The owner of the position
8319
+ * - `feeOwner`: Position fee owner
8320
+ * - `operator`: Operator of the position. Operator able to manage the position on behalf of the position owner. However, liquidity withdrawal issue by the operator can only send to the position owner.
8321
+ * - `lockReleasePoint`: The lock release point of the position.
8322
+ * - `shouldSeedPositionOwner` (optional): Whether to send 1 lamport amount of token X to the position owner to prove ownership.
8323
+ *
8324
+ * The returned instructions need to be executed sequentially if it was separated into multiple transactions.
8325
+ * @returns {Promise<TransactionInstruction[]>}
8326
+ */
6239
8327
  seedLiquiditySingleBin(payer: PublicKey, base: PublicKey, seedAmount: BN, price: number, roundingUp: boolean, positionOwner: PublicKey, feeOwner: PublicKey, operator: PublicKey, lockReleasePoint: BN, shouldSeedPositionOwner?: boolean): Promise<TransactionInstruction[]>;
6240
8328
  /**
6241
8329
  * Initializes bin arrays for the given bin array indexes if it wasn't initialized.
@@ -6273,7 +8361,7 @@ declare class DLMM {
6273
8361
  * @param
6274
8362
  * - `owner`: The public key of the owner of the positions.
6275
8363
  * - `positions`: An array of objects of type `PositionData` that represents the positions to claim swap fees and LM rewards from.
6276
- * @returns {Promise<Transaction[]>}
8364
+ * @returns {Promise<Transaction[]>} Array of claim swap fee and LM reward transactions.
6277
8365
  */
6278
8366
  claimAllRewards({ owner, positions, }: {
6279
8367
  owner: PublicKey;
@@ -6289,10 +8377,6 @@ declare class DLMM {
6289
8377
  */
6290
8378
  syncWithMarketPrice(marketPrice: number, owner: PublicKey): Promise<Transaction>;
6291
8379
  getMaxPriceInBinArrays(binArrayAccounts: BinArrayAccount[]): Promise<string>;
6292
- getAmountOutWithdrawSingleSide(maxLiquidityShare: BN, price: BN, bin: Bin, isWithdrawForY: boolean): {
6293
- withdrawAmount: BN;
6294
- };
6295
- getWithdrawSingleSideAmount(positionPubkey: PublicKey, isWithdrawForY: boolean): Promise<BN>;
6296
8380
  /**
6297
8381
  *
6298
8382
  * @param swapInitiator Address of the swap initiator
@@ -6301,8 +8385,6 @@ declare class DLMM {
6301
8385
  isSwapDisabled(swapInitiator: PublicKey): boolean;
6302
8386
  /** Private static method */
6303
8387
  private static getBinArrays;
6304
- private static getClaimableLMReward;
6305
- private static getClaimableSwapFee;
6306
8388
  private static processPosition;
6307
8389
  private static getBinsBetweenLowerAndUpperBound;
6308
8390
  /** Private method */
@@ -6314,9 +8396,12 @@ declare class DLMM {
6314
8396
  private updateReference;
6315
8397
  private createClaimBuildMethod;
6316
8398
  private createClaimSwapFeeMethod;
8399
+ private getPotentialToken2022IxDataAndAccounts;
6317
8400
  }
6318
8401
 
6319
8402
  /** private */
8403
+ declare function derivePresetParameterWithIndex(index: BN, programId: PublicKey): [PublicKey, number];
8404
+ declare function deriveLbPairWithPresetParamWithIndexKey(presetParameterKey: PublicKey, tokenX: PublicKey, tokenY: PublicKey, programId: PublicKey): [PublicKey, number];
6320
8405
  /**
6321
8406
  *
6322
8407
  * @deprecated Use derivePresetParameter2
@@ -6335,6 +8420,9 @@ declare function deriveOracle(lbPair: PublicKey, programId: PublicKey): [PublicK
6335
8420
  declare function derivePosition(lbPair: PublicKey, base: PublicKey, lowerBinId: BN, width: BN, programId: PublicKey): [PublicKey, number];
6336
8421
  declare function deriveBinArray(lbPair: PublicKey, index: BN, programId: PublicKey): [PublicKey, number];
6337
8422
  declare function deriveReserve(token: PublicKey, lbPair: PublicKey, programId: PublicKey): [PublicKey, number];
8423
+ declare function deriveTokenBadge(mint: PublicKey, programId: PublicKey): [PublicKey, number];
8424
+ declare function deriveEventAuthority(programId: PublicKey): [PublicKey, number];
8425
+ declare function deriveRewardVault(lbPair: PublicKey, rewardIndex: BN, programId: PublicKey): [PublicKey, number];
6338
8426
 
6339
8427
  /** private */
6340
8428
  declare function isOverflowDefaultBinArrayBitmap(binArrayIndex: BN): boolean;
@@ -6384,17 +8472,44 @@ declare function calculateNormalDistribution(activeBin: number, binIds: number[]
6384
8472
  xAmountBpsOfTotal: BN;
6385
8473
  yAmountBpsOfTotal: BN;
6386
8474
  }[];
8475
+ /**
8476
+ * Converts a weight distribution into token amounts for one side (either bid or ask).
8477
+ *
8478
+ * @param amount - The total amount of liquidity to distribute.
8479
+ * @param distributions - The array of weight distributions for each bin.
8480
+ * @param binStep - The step interval between bin ids.
8481
+ * @param activeId - The id of the active bin.
8482
+ * @param depositForY - Flag indicating if the deposit is for token Y (bid side).
8483
+ * @param mint - Mint information for the token. Mint Y if depositForY is true, else Mint X. Get from DLMM instance.
8484
+ * @param clock - Clock instance for the current epoch. Get from DLMM instance.
8485
+ * @returns An array of objects containing binId and amount for each bin.
8486
+ */
6387
8487
  declare function fromWeightDistributionToAmountOneSide(amount: BN, distributions: {
6388
8488
  binId: number;
6389
8489
  weight: number;
6390
- }[], binStep: number, activeId: number, depositForY: boolean): {
8490
+ }[], binStep: number, activeId: number, depositForY: boolean, mint: Mint, clock: Clock): {
6391
8491
  binId: number;
6392
8492
  amount: BN;
6393
8493
  }[];
8494
+ /**
8495
+ * Converts a weight distribution into token amounts for both bid and ask sides.
8496
+ *
8497
+ * @param amountX - The total amount of token X to distribute.
8498
+ * @param amountY - The total amount of token Y to distribute.
8499
+ * @param distributions - The array of weight distributions for each bin.
8500
+ * @param binStep - The step interval between bin ids.
8501
+ * @param activeId - The id of the active bin.
8502
+ * @param amountXInActiveBin - The amount of token X in the active bin.
8503
+ * @param amountYInActiveBin - The amount of token Y in the active bin.
8504
+ * @param mintX - Mint information for token X. Get from DLMM instance.
8505
+ * @param mintY - Mint information for token Y. Get from DLMM instance.
8506
+ * @param clock - Clock instance for the current epoch. Get from DLMM instance.
8507
+ * @returns An array of objects containing binId, amountX, and amountY for each bin.
8508
+ */
6394
8509
  declare function fromWeightDistributionToAmount(amountX: BN, amountY: BN, distributions: {
6395
8510
  binId: number;
6396
8511
  weight: number;
6397
- }[], binStep: number, activeId: number, amountXInActiveBin: BN, amountYInActiveBin: BN): {
8512
+ }[], binStep: number, activeId: number, amountXInActiveBin: BN, amountYInActiveBin: BN, mintX: Mint, mintY: Mint, clock: Clock): {
6398
8513
  binId: number;
6399
8514
  amountX: BN;
6400
8515
  amountY: BN;
@@ -6419,24 +8534,58 @@ declare function swapExactInQuoteAtBin(bin: Bin, binStep: number, sParameter: sP
6419
8534
  protocolFee: BN;
6420
8535
  };
6421
8536
 
8537
+ /**
8538
+ * Distribute totalAmount to all bid side bins according to given distributions.
8539
+ * @param activeId active bin id
8540
+ * @param totalAmount total amount of token Y to be distributed
8541
+ * @param distributions weight distribution of each bin
8542
+ * @param mintY mint of token Y, get from DLMM instance
8543
+ * @param clock clock of the program, for calculating transfer fee, get from DLMM instance
8544
+ * @returns array of {binId, amount} where amount is the amount of token Y in each bin
8545
+ */
6422
8546
  declare function toAmountBidSide(activeId: number, totalAmount: BN, distributions: {
6423
8547
  binId: number;
6424
8548
  weight: number;
6425
- }[]): {
8549
+ }[], mintY: Mint, clock: Clock): {
6426
8550
  binId: number;
6427
8551
  amount: BN;
6428
8552
  }[];
8553
+ /**
8554
+ * Distribute totalAmount to all ask side bins according to given distributions.
8555
+ * @param activeId active bin id
8556
+ * @param totalAmount total amount of token Y to be distributed
8557
+ * @param distributions weight distribution of each bin
8558
+ * @param mintX mint of token X, get from DLMM instance
8559
+ * @param clock clock of the program, for calculating transfer fee, get from DLMM instance
8560
+ * @returns array of {binId, amount} where amount is the amount of token X in each bin
8561
+ */
6429
8562
  declare function toAmountAskSide(activeId: number, binStep: number, totalAmount: BN, distributions: {
6430
8563
  binId: number;
6431
8564
  weight: number;
6432
- }[]): {
8565
+ }[], mintX: Mint, clock: Clock): {
6433
8566
  binId: number;
6434
8567
  amount: BN;
6435
8568
  }[];
8569
+ /**
8570
+ * Distributes the given amounts of tokens X and Y to both bid and ask side bins
8571
+ * based on the provided weight distributions.
8572
+ *
8573
+ * @param activeId - The id of the active bin.
8574
+ * @param binStep - The step interval between bin ids.
8575
+ * @param amountX - Total amount of token X to distribute.
8576
+ * @param amountY - Total amount of token Y to distribute.
8577
+ * @param amountXInActiveBin - Amount of token X already in the active bin.
8578
+ * @param amountYInActiveBin - Amount of token Y already in the active bin.
8579
+ * @param distributions - Array of bins with their respective weight distributions.
8580
+ * @param mintX - Mint information for token X. Get from DLMM instance.
8581
+ * @param mintY - Mint information for token Y. Get from DLMM instance.
8582
+ * @param clock - Clock instance. Get from DLMM instance.
8583
+ * @returns An array of objects containing binId, amountX, and amountY for each bin.
8584
+ */
6436
8585
  declare function toAmountBothSide(activeId: number, binStep: number, amountX: BN, amountY: BN, amountXInActiveBin: BN, amountYInActiveBin: BN, distributions: {
6437
8586
  binId: number;
6438
8587
  weight: number;
6439
- }[]): {
8588
+ }[], mintX: Mint, mintY: Mint, clock: Clock): {
6440
8589
  binId: number;
6441
8590
  amountX: BN;
6442
8591
  amountY: BN;
@@ -6450,7 +8599,23 @@ declare function autoFillXByWeight(activeId: number, binStep: number, amountY: B
6450
8599
  weight: number;
6451
8600
  }[]): BN;
6452
8601
 
6453
- declare function toAmountsBothSideByStrategy(activeId: number, binStep: number, minBinId: number, maxBinId: number, amountX: BN, amountY: BN, amountXInActiveBin: BN, amountYInActiveBin: BN, strategyType: StrategyType): {
8602
+ /**
8603
+ * Given a strategy type and amounts of X and Y, returns the distribution of liquidity.
8604
+ * @param activeId The bin id of the active bin.
8605
+ * @param binStep The step size of each bin.
8606
+ * @param minBinId The min bin id.
8607
+ * @param maxBinId The max bin id.
8608
+ * @param amountX The amount of X token to deposit.
8609
+ * @param amountY The amount of Y token to deposit.
8610
+ * @param amountXInActiveBin The amount of X token in the active bin.
8611
+ * @param amountYInActiveBin The amount of Y token in the active bin.
8612
+ * @param strategyType The strategy type.
8613
+ * @param mintX The mint info of X token. Get from DLMM instance.
8614
+ * @param mintY The mint info of Y token. Get from DLMM instance.
8615
+ * @param clock The clock info. Get from DLMM instance.
8616
+ * @returns The distribution of liquidity.
8617
+ */
8618
+ declare function toAmountsBothSideByStrategy(activeId: number, binStep: number, minBinId: number, maxBinId: number, amountX: BN, amountY: BN, amountXInActiveBin: BN, amountYInActiveBin: BN, strategyType: StrategyType, mintX: Mint, mintY: Mint, clock: Clock): {
6454
8619
  binId: number;
6455
8620
  amountX: BN;
6456
8621
  amountY: BN;
@@ -6458,49 +8623,10 @@ declare function toAmountsBothSideByStrategy(activeId: number, binStep: number,
6458
8623
  declare function autoFillYByStrategy(activeId: number, binStep: number, amountX: BN, amountXInActiveBin: BN, amountYInActiveBin: BN, minBinId: number, maxBinId: number, strategyType: StrategyType): BN;
6459
8624
  declare function autoFillXByStrategy(activeId: number, binStep: number, amountY: BN, amountXInActiveBin: BN, amountYInActiveBin: BN, minBinId: number, maxBinId: number, strategyType: StrategyType): BN;
6460
8625
  declare function toStrategyParameters({ maxBinId, minBinId, strategyType, singleSidedX, }: StrategyParameters): {
6461
- minBinId: number;
6462
- maxBinId: number;
6463
- strategyType: {
6464
- spotBalanced: {};
6465
- curveBalanced?: undefined;
6466
- bidAskBalanced?: undefined;
6467
- spotImBalanced?: undefined;
6468
- curveImBalanced?: undefined;
6469
- bidAskImBalanced?: undefined;
6470
- };
6471
- parameteres: number[];
6472
- } | {
6473
- minBinId: number;
6474
- maxBinId: number;
6475
- strategyType: {
6476
- curveBalanced: {};
6477
- spotBalanced?: undefined;
6478
- bidAskBalanced?: undefined;
6479
- spotImBalanced?: undefined;
6480
- curveImBalanced?: undefined;
6481
- bidAskImBalanced?: undefined;
6482
- };
6483
- parameteres: number[];
6484
- } | {
6485
- minBinId: number;
6486
- maxBinId: number;
6487
- strategyType: {
6488
- bidAskBalanced: {};
6489
- spotBalanced?: undefined;
6490
- curveBalanced?: undefined;
6491
- spotImBalanced?: undefined;
6492
- curveImBalanced?: undefined;
6493
- bidAskImBalanced?: undefined;
6494
- };
6495
- parameteres: number[];
6496
- } | {
6497
8626
  minBinId: number;
6498
8627
  maxBinId: number;
6499
8628
  strategyType: {
6500
8629
  spotImBalanced: {};
6501
- spotBalanced?: undefined;
6502
- curveBalanced?: undefined;
6503
- bidAskBalanced?: undefined;
6504
8630
  curveImBalanced?: undefined;
6505
8631
  bidAskImBalanced?: undefined;
6506
8632
  };
@@ -6510,9 +8636,6 @@ declare function toStrategyParameters({ maxBinId, minBinId, strategyType, single
6510
8636
  maxBinId: number;
6511
8637
  strategyType: {
6512
8638
  curveImBalanced: {};
6513
- spotBalanced?: undefined;
6514
- curveBalanced?: undefined;
6515
- bidAskBalanced?: undefined;
6516
8639
  spotImBalanced?: undefined;
6517
8640
  bidAskImBalanced?: undefined;
6518
8641
  };
@@ -6522,9 +8645,6 @@ declare function toStrategyParameters({ maxBinId, minBinId, strategyType, single
6522
8645
  maxBinId: number;
6523
8646
  strategyType: {
6524
8647
  bidAskImBalanced: {};
6525
- spotBalanced?: undefined;
6526
- curveBalanced?: undefined;
6527
- bidAskBalanced?: undefined;
6528
8648
  spotImBalanced?: undefined;
6529
8649
  curveImBalanced?: undefined;
6530
8650
  };
@@ -6539,10 +8659,15 @@ declare function toStrategyParameters({ maxBinId, minBinId, strategyType, single
6539
8659
  */
6540
8660
  declare function getTokensMintFromPoolAddress(connection: Connection, poolAddress: string, opt?: {
6541
8661
  cluster?: Cluster;
8662
+ programId?: PublicKey;
6542
8663
  }): Promise<{
6543
8664
  tokenXMint: PublicKey;
6544
8665
  tokenYMint: PublicKey;
6545
8666
  }>;
8667
+ declare function getTokenProgramId(lbPairState: LbPair): {
8668
+ tokenXProgram: PublicKey;
8669
+ tokenYProgram: PublicKey;
8670
+ };
6546
8671
 
6547
8672
  declare function chunks<T>(array: T[], size: number): T[][];
6548
8673
  declare function range<T>(min: number, max: number, mapfn: (i: number) => T): T[];
@@ -6557,6 +8682,7 @@ declare function chunkedFetchMultiplePoolAccount(program: ClmmProgram, pks: Publ
6557
8682
  minBinId: number;
6558
8683
  maxBinId: number;
6559
8684
  protocolShare: number;
8685
+ baseFeePowerFactor: number;
6560
8686
  padding: number[];
6561
8687
  };
6562
8688
  vParameters: {
@@ -6607,6 +8733,8 @@ declare function chunkedFetchMultiplePoolAccount(program: ClmmProgram, pks: Publ
6607
8733
  padding3: number[];
6608
8734
  padding4: BN;
6609
8735
  creator: PublicKey;
8736
+ tokenMintXProgramFlag: number;
8737
+ tokenMintYProgramFlag: number;
6610
8738
  reserved: number[];
6611
8739
  }[]>;
6612
8740
  declare function chunkedFetchMultipleBinArrayBitmapExtensionAccount(program: ClmmProgram, pks: PublicKey[], chunkSize?: number): Promise<{
@@ -6616,7 +8744,7 @@ declare function chunkedFetchMultipleBinArrayBitmapExtensionAccount(program: Clm
6616
8744
  }[]>;
6617
8745
  declare function getOutAmount(bin: Bin, inAmount: BN, swapForY: boolean): BN;
6618
8746
  declare function getTokenDecimals(conn: Connection, mint: PublicKey): Promise<number>;
6619
- declare const getOrCreateATAInstruction: (connection: Connection, tokenMint: PublicKey, owner: PublicKey, payer?: PublicKey, allowOwnerOffCurve?: boolean) => Promise<GetOrCreateATAResponse>;
8747
+ declare const getOrCreateATAInstruction: (connection: Connection, tokenMint: PublicKey, owner: PublicKey, programId?: PublicKey, payer?: PublicKey, allowOwnerOffCurve?: boolean) => Promise<GetOrCreateATAResponse>;
6620
8748
  declare function getTokenBalance(conn: Connection, tokenAccount: PublicKey): Promise<bigint>;
6621
8749
  declare const parseLogs: <T>(eventParser: EventParser, logs: string[]) => T;
6622
8750
  declare const wrapSOLInstruction: (from: PublicKey, to: PublicKey, amount: bigint) => TransactionInstruction[];
@@ -6690,5 +8818,6 @@ declare const MAX_BIN_PER_TX = 69;
6690
8818
  declare const MAX_ACTIVE_BIN_SLIPPAGE = 3;
6691
8819
  declare const ILM_BASE: PublicKey;
6692
8820
  declare const MAX_EXTRA_BIN_ARRAYS = 3;
8821
+ declare const U64_MAX: BN;
6693
8822
 
6694
- export { ADMIN, ActivationType, BASIS_POINT_MAX, BIN_ARRAY_BITMAP_SIZE, BIN_ARRAY_FEE, Bin, BinAndAmount, BinArray, BinArrayAccount, BinArrayBitmapExtension, BinArrayBitmapExtensionAccount, BinLiquidity, BinLiquidityDistribution, BinLiquidityReduction, BitmapType, ClmmProgram, Clock, ClockLayout, CompressedBinDepositAmount, CompressedBinDepositAmounts, DLMMError, DlmmSdkError, EXTENSION_BINARRAY_BITMAP_SIZE, EmissionRate, FEE_PRECISION, FeeInfo, GetOrCreateATAResponse, IAccountsCache, IDL, ILM_BASE, InitCustomizablePermissionlessPairIx, InitPermissionPairIx, LBCLMM_PROGRAM_IDS, LMRewards, LbClmm, LbPair, LbPairAccount, LbPosition, LiquidityOneSideParameter, LiquidityParameter, LiquidityParameterByStrategy, LiquidityParameterByStrategyOneSide, LiquidityParameterByWeight, MAX_ACTIVE_BIN_SLIPPAGE, MAX_BIN_ARRAY_SIZE, MAX_BIN_LENGTH_ALLOWED_IN_ONE_TX, MAX_BIN_PER_POSITION, MAX_BIN_PER_TX, MAX_CLAIM_ALL_ALLOWED, MAX_EXTRA_BIN_ARRAYS, MAX_FEE_RATE, Network, POSITION_FEE, PRECISION, PairLockInfo, PairStatus, PairType, Position, PositionBinData, PositionData, PositionInfo, PositionLockInfo, PositionV2, PositionVersion, ProgramStrategyParameter, ProgramStrategyType, SCALE, SCALE_OFFSET, SIMULATION_USER, SeedLiquidityResponse, Strategy, StrategyParameters, StrategyType, SwapExactOutParams, SwapFee, SwapParams, SwapQuote, SwapQuoteExactOut, SwapWithPriceImpactParams, TInitializePositionAndAddLiquidityParams, TInitializePositionAndAddLiquidityParamsByStrategy, TQuoteCreatePositionParams, TokenReserve, autoFillXByStrategy, autoFillXByWeight, autoFillYByStrategy, autoFillYByWeight, binIdToBinArrayIndex, calculateBidAskDistribution, calculateNormalDistribution, calculateSpotDistribution, chunkedFetchMultipleBinArrayBitmapExtensionAccount, chunkedFetchMultiplePoolAccount, chunkedGetMultipleAccountInfos, chunks, computeFee, computeFeeFromAmount, computeProtocolFee, DLMM as default, deriveBinArray, deriveBinArrayBitmapExtension, deriveCustomizablePermissionlessLbPair, deriveLbPair, deriveLbPair2, deriveOracle, derivePermissionLbPair, derivePosition, derivePresetParameter, derivePresetParameter2, deriveReserve, enumerateBins, findNextBinArrayIndexWithLiquidity, findNextBinArrayWithLiquidity, fromWeightDistributionToAmount, fromWeightDistributionToAmountOneSide, getBaseFee, getBinArrayLowerUpperBinId, getBinArraysRequiredByPositionRange, getBinFromBinArray, getEstimatedComputeUnitIxWithBuffer, getEstimatedComputeUnitUsageWithBuffer, getOrCreateATAInstruction, getOutAmount, getPriceOfBinByBinId, getTokenBalance, getTokenDecimals, getTokensMintFromPoolAddress, getTotalFee, getVariableFee, isBinIdWithinBinArray, isOverflowDefaultBinArrayBitmap, parseLogs, range, sParameters, swapExactInQuoteAtBin, swapExactOutQuoteAtBin, toAmountAskSide, toAmountBidSide, toAmountBothSide, toAmountsBothSideByStrategy, toStrategyParameters, toWeightDistribution, unwrapSOLInstruction, vParameters, wrapSOLInstruction };
8823
+ export { ADMIN, ActionType, ActivationType, BASIS_POINT_MAX, BIN_ARRAY_BITMAP_SIZE, BIN_ARRAY_FEE, Bin, BinAndAmount, BinArray, BinArrayAccount, BinArrayBitmapExtension, BinArrayBitmapExtensionAccount, BinLiquidity, BinLiquidityDistribution, BinLiquidityReduction, BitmapType, ClmmProgram, Clock, ClockLayout, CompressedBinDepositAmount, CompressedBinDepositAmounts, DLMMError, DlmmSdkError, EXTENSION_BINARRAY_BITMAP_SIZE, EmissionRate, FEE_PRECISION, FeeInfo, GetOrCreateATAResponse, IAccountsCache, IDL, ILM_BASE, InitCustomizablePermissionlessPairIx, InitPermissionPairIx, LBCLMM_PROGRAM_IDS, LMRewards, LbClmm, LbPair, LbPairAccount, LbPosition, LiquidityOneSideParameter, LiquidityParameter, LiquidityParameterByStrategy, LiquidityParameterByStrategyOneSide, LiquidityParameterByWeight, MAX_ACTIVE_BIN_SLIPPAGE, MAX_BIN_ARRAY_SIZE, MAX_BIN_LENGTH_ALLOWED_IN_ONE_TX, MAX_BIN_PER_POSITION, MAX_BIN_PER_TX, MAX_CLAIM_ALL_ALLOWED, MAX_EXTRA_BIN_ARRAYS, MAX_FEE_RATE, MEMO_PROGRAM_ID, Network, POSITION_FEE, POSITION_V2_DISC, PRECISION, PairLockInfo, PairStatus, PairType, Position, PositionBinData, PositionData, PositionInfo, PositionLockInfo, PositionV2, PositionVersion, PresetParameter, PresetParameter2, ProgramStrategyParameter, ProgramStrategyType, RemainingAccountInfo, RemainingAccountsInfoSlice, SCALE, SCALE_OFFSET, SIMULATION_USER, SeedLiquidityResponse, Strategy, StrategyParameters, StrategyType, SwapExactOutParams, SwapFee, SwapParams, SwapQuote, SwapQuoteExactOut, SwapWithPriceImpactParams, TInitializePositionAndAddLiquidityParams, TInitializePositionAndAddLiquidityParamsByStrategy, TQuoteCreatePositionParams, TokenReserve, U64_MAX, UserFeeInfo, UserRewardInfo, autoFillXByStrategy, autoFillXByWeight, autoFillYByStrategy, autoFillYByWeight, binIdToBinArrayIndex, calculateBidAskDistribution, calculateNormalDistribution, calculateSpotDistribution, chunkedFetchMultipleBinArrayBitmapExtensionAccount, chunkedFetchMultiplePoolAccount, chunkedGetMultipleAccountInfos, chunks, computeFee, computeFeeFromAmount, computeProtocolFee, DLMM as default, deriveBinArray, deriveBinArrayBitmapExtension, deriveCustomizablePermissionlessLbPair, deriveEventAuthority, deriveLbPair, deriveLbPair2, deriveLbPairWithPresetParamWithIndexKey, deriveOracle, derivePermissionLbPair, derivePosition, derivePresetParameter, derivePresetParameter2, derivePresetParameterWithIndex, deriveReserve, deriveRewardVault, deriveTokenBadge, enumerateBins, findNextBinArrayIndexWithLiquidity, findNextBinArrayWithLiquidity, fromWeightDistributionToAmount, fromWeightDistributionToAmountOneSide, getBaseFee, getBinArrayLowerUpperBinId, getBinArraysRequiredByPositionRange, getBinFromBinArray, getEstimatedComputeUnitIxWithBuffer, getEstimatedComputeUnitUsageWithBuffer, getOrCreateATAInstruction, getOutAmount, getPriceOfBinByBinId, getTokenBalance, getTokenDecimals, getTokenProgramId, getTokensMintFromPoolAddress, getTotalFee, getVariableFee, isBinIdWithinBinArray, isOverflowDefaultBinArrayBitmap, parseLogs, range, sParameters, swapExactInQuoteAtBin, swapExactOutQuoteAtBin, toAmountAskSide, toAmountBidSide, toAmountBothSide, toAmountsBothSideByStrategy, toStrategyParameters, toWeightDistribution, unwrapSOLInstruction, vParameters, wrapSOLInstruction };