@meteora-ag/dlmm 1.4.3-rc.1 → 1.4.3

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
  };
@@ -3949,55 +5617,129 @@ type LbClmm = {
3949
5617
  };
3950
5618
  },
3951
5619
  {
3952
- "name": "creatorPoolOnOffControl";
3953
- "docs": [
3954
- "Pool creator have permission to enable/disable pool with restricted program validation. Only applicable for customizable permissionless pool."
3955
- ];
3956
- "type": "bool";
5620
+ "name": "creatorPoolOnOffControl";
5621
+ "docs": [
5622
+ "Pool creator have permission to enable/disable pool with restricted program validation. Only applicable for customizable permissionless pool."
5623
+ ];
5624
+ "type": "bool";
5625
+ },
5626
+ {
5627
+ "name": "baseFeePowerFactor";
5628
+ "docs": [
5629
+ "Base fee power factor"
5630
+ ];
5631
+ "type": "u8";
5632
+ },
5633
+ {
5634
+ "name": "padding";
5635
+ "docs": [
5636
+ "Padding, for future use"
5637
+ ];
5638
+ "type": {
5639
+ "array": [
5640
+ "u8",
5641
+ 62
5642
+ ];
5643
+ };
5644
+ }
5645
+ ];
5646
+ };
5647
+ },
5648
+ {
5649
+ "name": "InitPermissionPairIx";
5650
+ "type": {
5651
+ "kind": "struct";
5652
+ "fields": [
5653
+ {
5654
+ "name": "activeId";
5655
+ "type": "i32";
5656
+ },
5657
+ {
5658
+ "name": "binStep";
5659
+ "type": "u16";
5660
+ },
5661
+ {
5662
+ "name": "baseFactor";
5663
+ "type": "u16";
5664
+ },
5665
+ {
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";
3957
5696
  },
3958
5697
  {
3959
- "name": "padding";
3960
- "docs": [
3961
- "Padding, for future use"
3962
- ];
3963
- "type": {
3964
- "array": [
3965
- "u8",
3966
- 63
3967
- ];
3968
- };
5698
+ "name": "maxAmount";
5699
+ "type": "u64";
3969
5700
  }
3970
5701
  ];
3971
5702
  };
3972
5703
  },
3973
5704
  {
3974
- "name": "InitPermissionPairIx";
5705
+ "name": "CompressedBinDepositAmount2";
3975
5706
  "type": {
3976
5707
  "kind": "struct";
3977
5708
  "fields": [
3978
5709
  {
3979
- "name": "activeId";
5710
+ "name": "binId";
3980
5711
  "type": "i32";
3981
5712
  },
3982
5713
  {
3983
- "name": "binStep";
3984
- "type": "u16";
3985
- },
3986
- {
3987
- "name": "baseFactor";
3988
- "type": "u16";
3989
- },
3990
- {
3991
- "name": "minBinId";
3992
- "type": "i32";
3993
- },
5714
+ "name": "amount";
5715
+ "type": "u32";
5716
+ }
5717
+ ];
5718
+ };
5719
+ },
5720
+ {
5721
+ "name": "InitializeLbPair2Params";
5722
+ "type": {
5723
+ "kind": "struct";
5724
+ "fields": [
3994
5725
  {
3995
- "name": "maxBinId";
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,
@@ -5569,6 +7526,9 @@ interface BinLiquidity {
5569
7526
  version: number;
5570
7527
  price: string;
5571
7528
  pricePerToken: string;
7529
+ feeAmountXPerTokenStored: BN;
7530
+ feeAmountYPerTokenStored: BN;
7531
+ rewardPerTokenStored: BN[];
5572
7532
  }
5573
7533
  declare namespace BinLiquidity {
5574
7534
  function fromBin(bin: Bin, binId: number, binStep: number, baseTokenDecimal: number, quoteTokenDecimal: number, version: number): BinLiquidity;
@@ -5607,6 +7567,9 @@ interface PositionBinData {
5607
7567
  positionLiquidity: string;
5608
7568
  positionXAmount: string;
5609
7569
  positionYAmount: string;
7570
+ positionFeeXAmount: string;
7571
+ positionFeeYAmount: string;
7572
+ positionRewardAmount: string[];
5610
7573
  }
5611
7574
  interface PositionData {
5612
7575
  totalXAmount: string;
@@ -5622,6 +7585,13 @@ interface PositionData {
5622
7585
  feeOwner: PublicKey;
5623
7586
  totalClaimedFeeXAmount: BN;
5624
7587
  totalClaimedFeeYAmount: BN;
7588
+ feeXExcludeTransferFee: BN;
7589
+ feeYExcludeTransferFee: BN;
7590
+ rewardOneExcludeTransferFee: BN;
7591
+ rewardTwoExcludeTransferFee: BN;
7592
+ totalXAmountExcludeTransferFee: BN;
7593
+ totalYAmountExcludeTransferFee: BN;
7594
+ owner: PublicKey;
5625
7595
  }
5626
7596
  interface SwapWithPriceImpactParams {
5627
7597
  /**
@@ -5739,6 +7709,11 @@ interface PositionLockInfo {
5739
7709
  tokenYAmount: string;
5740
7710
  lockReleasePoint: number;
5741
7711
  }
7712
+ declare enum ActionType {
7713
+ Liquidity = 0,
7714
+ Reward = 1
7715
+ }
7716
+ declare const MEMO_PROGRAM_ID: PublicKey;
5742
7717
 
5743
7718
  type Opt = {
5744
7719
  cluster?: Cluster | "localhost";
@@ -5751,9 +7726,10 @@ declare class DLMM {
5751
7726
  binArrayBitmapExtension: BinArrayBitmapExtensionAccount | null;
5752
7727
  tokenX: TokenReserve;
5753
7728
  tokenY: TokenReserve;
7729
+ rewards: Array<TokenReserve | null>;
5754
7730
  clock: Clock;
5755
7731
  private opt?;
5756
- 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);
5757
7733
  /** Static public method */
5758
7734
  /**
5759
7735
  * The function `getLbPairs` retrieves a list of LB pair accounts using a connection and optional
@@ -5766,7 +7742,18 @@ declare class DLMM {
5766
7742
  * `LbPairAccount` objects.
5767
7743
  */
5768
7744
  static getLbPairs(connection: Connection, opt?: Opt): Promise<LbPairAccount[]>;
5769
- static getPairPubkeyIfExists(connection: Connection, tokenX: PublicKey, tokenY: PublicKey, binStep: BN, baseFactor: BN, 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>;
5770
7757
  static getCustomizablePermissionlessLbPairIfExists(connection: Connection, tokenX: PublicKey, tokenY: PublicKey, opt?: Opt): Promise<PublicKey | null>;
5771
7758
  /**
5772
7759
  * The `create` function is a static method that creates a new instance of the `DLMM` class
@@ -5788,18 +7775,46 @@ declare class DLMM {
5788
7775
  * objects.
5789
7776
  */
5790
7777
  static createMultiple(connection: Connection, dlmmList: Array<PublicKey>, opt?: Opt): Promise<DLMM[]>;
5791
- static getAllPresetParameters(connection: Connection, opt?: Opt): Promise<_coral_xyz_anchor.ProgramAccount<{
5792
- binStep: number;
5793
- baseFactor: number;
5794
- filterPeriod: number;
5795
- decayPeriod: number;
5796
- reductionFactor: number;
5797
- variableFeeControl: number;
5798
- maxVolatilityAccumulator: number;
5799
- minBinId: number;
5800
- maxBinId: number;
5801
- protocolShare: number;
5802
- }>[]>;
7778
+ /**
7779
+ * The `getAllPresetParameters` function retrieves all preset parameter accounts
7780
+ * for the given DLMM program.
7781
+ *
7782
+ * @param {Connection} connection - The connection to the Solana cluster.
7783
+ * @param {Opt} [opt] - The optional parameters for the function.
7784
+ *
7785
+ * @returns A promise that resolves to an object containing the preset parameter
7786
+ * accounts, with the following properties:
7787
+ * - `presetParameter`: The preset parameter accounts for the original `PresetParameter` struct.
7788
+ * - `presetParameter2`: The preset parameter accounts for the `PresetParameter2` struct.
7789
+ */
7790
+ static getAllPresetParameters(connection: Connection, opt?: Opt): Promise<{
7791
+ presetParameter: _coral_xyz_anchor.ProgramAccount<{
7792
+ binStep: number;
7793
+ baseFactor: number;
7794
+ filterPeriod: number;
7795
+ decayPeriod: number;
7796
+ reductionFactor: number;
7797
+ variableFeeControl: number;
7798
+ maxVolatilityAccumulator: number;
7799
+ minBinId: number;
7800
+ maxBinId: number;
7801
+ protocolShare: number;
7802
+ }>[];
7803
+ presetParameter2: _coral_xyz_anchor.ProgramAccount<{
7804
+ binStep: number;
7805
+ baseFactor: number;
7806
+ filterPeriod: number;
7807
+ decayPeriod: number;
7808
+ variableFeeControl: number;
7809
+ maxVolatilityAccumulator: number;
7810
+ reductionFactor: number;
7811
+ protocolShare: number;
7812
+ index: number;
7813
+ baseFeePowerFactor: number;
7814
+ padding0: number;
7815
+ padding1: BN[];
7816
+ }>[];
7817
+ }>;
5803
7818
  /**
5804
7819
  * The function `getAllLbPairPositionsByUser` retrieves all liquidity pool pair positions for a given
5805
7820
  * user.
@@ -5823,9 +7838,66 @@ declare class DLMM {
5823
7838
  */
5824
7839
  getLbPairLockInfo(lockDurationOpt?: number): Promise<PairLockInfo>;
5825
7840
  /** Public methods */
5826
- static createPermissionLbPair(connection: Connection, binStep: BN, tokenX: PublicKey, tokenY: PublicKey, activeId: BN, baseKey: PublicKey, creatorKey: PublicKey, feeBps: BN, activationType: ActivationType, opt?: Opt): Promise<Transaction>;
7841
+ /**
7842
+ * Create a new customizable permissionless pair. Support both token and token 2022.
7843
+ * @param connection A connection to the Solana cluster.
7844
+ * @param binStep The bin step for the pair.
7845
+ * @param tokenX The mint of the first token.
7846
+ * @param tokenY The mint of the second token.
7847
+ * @param activeId The ID of the initial active bin. Represent the starting price.
7848
+ * @param feeBps The fee rate for swaps in the pair, in basis points.
7849
+ * @param activationType The type of activation for the pair.
7850
+ * @param hasAlphaVault Whether the pair has an alpha vault.
7851
+ * @param creatorKey The public key of the creator of the pair.
7852
+ * @param activationPoint The timestamp at which the pair will be activated.
7853
+ * @param opt An options object.
7854
+ * @returns A transaction that creates the pair.
7855
+ */
7856
+ 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>;
7857
+ /**
7858
+ * Create a new customizable permissionless pair. Support only token program.
7859
+ * @param connection A connection to the Solana cluster.
7860
+ * @param binStep The bin step for the pair.
7861
+ * @param tokenX The mint of the first token.
7862
+ * @param tokenY The mint of the second token.
7863
+ * @param activeId The ID of the initial active bin. Represent the starting price.
7864
+ * @param feeBps The fee rate for swaps in the pair, in basis points.
7865
+ * @param activationType The type of activation for the pair.
7866
+ * @param hasAlphaVault Whether the pair has an alpha vault.
7867
+ * @param creatorKey The public key of the creator of the pair.
7868
+ * @param activationPoint The timestamp at which the pair will be activated.
7869
+ * @param opt An options object.
7870
+ * @returns A transaction that creates the pair.
7871
+ */
5827
7872
  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>;
7873
+ /**
7874
+ * Create a new liquidity pair. Support only token program.
7875
+ * @param connection A connection to the Solana cluster.
7876
+ * @param funder The public key of the funder of the pair.
7877
+ * @param tokenX The mint of the first token.
7878
+ * @param tokenY The mint of the second token.
7879
+ * @param binStep The bin step for the pair.
7880
+ * @param baseFactor The base factor for the pair.
7881
+ * @param presetParameter The public key of the preset parameter account.
7882
+ * @param activeId The ID of the initial active bin. Represent the starting price.
7883
+ * @param opt An options object.
7884
+ * @returns A transaction that creates the pair.
7885
+ * @throws If the pair already exists.
7886
+ */
5828
7887
  static createLbPair(connection: Connection, funder: PublicKey, tokenX: PublicKey, tokenY: PublicKey, binStep: BN, baseFactor: BN, presetParameter: PublicKey, activeId: BN, opt?: Opt): Promise<Transaction>;
7888
+ /**
7889
+ * Create a new liquidity pair. Support both token and token2022 program.
7890
+ * @param connection A connection to the Solana cluster.
7891
+ * @param funder The public key of the funder of the pair.
7892
+ * @param tokenX The mint of the first token.
7893
+ * @param tokenY The mint of the second token.
7894
+ * @param presetParameter The public key of the preset parameter account.
7895
+ * @param activeId The ID of the initial active bin. Represent the starting price.
7896
+ * @param opt An options object.
7897
+ * @returns A transaction that creates the pair.
7898
+ * @throws If the pair already exists.
7899
+ */
7900
+ static createLbPair2(connection: Connection, funder: PublicKey, tokenX: PublicKey, tokenY: PublicKey, presetParameter: PublicKey, activeId: BN, opt?: Opt): Promise<Transaction>;
5829
7901
  /**
5830
7902
  * The function `refetchStates` retrieves and updates various states and data related to bin arrays
5831
7903
  * and lb pairs.
@@ -5854,7 +7926,15 @@ declare class DLMM {
5854
7926
  * @returns an array of `BinArrayAccount` objects.
5855
7927
  */
5856
7928
  getBinArrayForSwap(swapForY: any, count?: number): Promise<BinArrayAccount[]>;
5857
- static calculateFeeInfo(baseFactor: number | string, binStep: number | string): Omit<FeeInfo, "protocolFeePercentage">;
7929
+ /**
7930
+ * The function `calculateFeeInfo` calculates the base fee rate percentage and maximum fee rate percentage
7931
+ * given the base factor, bin step, and optional base fee power factor.
7932
+ * @param baseFactor - The base factor of the pair.
7933
+ * @param binStep - The bin step of the pair.
7934
+ * @param baseFeePowerFactor - Optional parameter to allow small bin step to have bigger fee rate. Default to 0.
7935
+ * @returns an object of type `Omit<FeeInfo, "protocolFeePercentage">` with the following properties: baseFeeRatePercentage and maxFeeRatePercentage.
7936
+ */
7937
+ static calculateFeeInfo(baseFactor: number | string, binStep: number | string, baseFeePowerFactor?: number | string): Omit<FeeInfo, "protocolFeePercentage">;
5858
7938
  /**
5859
7939
  * The function `getFeeInfo` calculates and returns the base fee rate percentage, maximum fee rate
5860
7940
  * percentage, and protocol fee percentage.
@@ -6004,11 +8084,12 @@ declare class DLMM {
6004
8084
  * - `strategy`: The strategy parameters to be used for the liquidity pool (Can use `calculateStrategyParameter` to calculate).
6005
8085
  * - `user`: The public key of the user account.
6006
8086
  * - `slippage`: The slippage percentage to be used for the liquidity pool.
6007
- * @returns {Promise<Transaction>} The function `initializePositionAndAddLiquidityByWeight` returns a `Promise` that
8087
+ * @returns {Promise<Transaction>} The function `initializePositionAndAddLiquidityByStrategy` returns a `Promise` that
6008
8088
  * resolves to either a single `Transaction` object.
6009
8089
  */
6010
8090
  initializePositionAndAddLiquidityByStrategy({ positionPubKey, totalXAmount, totalYAmount, strategy, user, slippage, }: TInitializePositionAndAddLiquidityParamsByStrategy): Promise<Transaction>;
6011
8091
  /**
8092
+ * @deprecated Use `initializePositionAndAddLiquidityByStrategy` instead which support both token and token2022.
6012
8093
  * The function `initializePositionAndAddLiquidityByWeight` function is used to initializes a position and adds liquidity
6013
8094
  * @param {TInitializePositionAndAddLiquidityParams}
6014
8095
  * - `positionPubKey`: The public key of the position account. (usually use `new Keypair()`)
@@ -6035,6 +8116,7 @@ declare class DLMM {
6035
8116
  */
6036
8117
  addLiquidityByStrategy({ positionPubKey, totalXAmount, totalYAmount, strategy, user, slippage, }: TInitializePositionAndAddLiquidityParamsByStrategy): Promise<Transaction>;
6037
8118
  /**
8119
+ * @deprecated Use `addLiquidityByStrategy` instead which support both token and token2022.
6038
8120
  * The `addLiquidityByWeight` function is used to add liquidity to existing position
6039
8121
  * @param {TInitializePositionAndAddLiquidityParams}
6040
8122
  * - `positionPubKey`: The public key of the position account. (usually use `new Keypair()`)
@@ -6053,18 +8135,27 @@ declare class DLMM {
6053
8135
  * @param
6054
8136
  * - `user`: The public key of the user account.
6055
8137
  * - `position`: The public key of the position account.
6056
- * - `binIds`: An array of numbers that represent the bin IDs to remove liquidity from.
8138
+ * - `fromBinId`: The ID of the starting bin to remove liquidity from. Must within position range.
8139
+ * - `toBinId`: The ID of the ending bin to remove liquidity from. Must within position range.
6057
8140
  * - `liquiditiesBpsToRemove`: An array of numbers (percentage) that represent the liquidity to remove from each bin.
6058
8141
  * - `shouldClaimAndClose`: A boolean flag that indicates whether to claim rewards and close the position.
6059
- * @returns {Promise<Transaction|Transaction[]>}
8142
+ * @returns {Promise<Transaction | Transaction[]>}
6060
8143
  */
6061
- removeLiquidity({ user, position, binIds, bps, shouldClaimAndClose, }: {
8144
+ removeLiquidity({ user, position, fromBinId, toBinId, bps, shouldClaimAndClose, }: {
6062
8145
  user: PublicKey;
6063
8146
  position: PublicKey;
6064
- binIds: number[];
8147
+ fromBinId: number;
8148
+ toBinId: number;
6065
8149
  bps: BN;
6066
8150
  shouldClaimAndClose?: boolean;
6067
8151
  }): Promise<Transaction | Transaction[]>;
8152
+ /**
8153
+ * The `closePositionIfEmpty` function closes a position if it is empty. Else, it does nothing.
8154
+ */
8155
+ closePositionIfEmpty({ owner, position, }: {
8156
+ owner: PublicKey;
8157
+ position: LbPosition;
8158
+ }): Promise<Transaction>;
6068
8159
  /**
6069
8160
  * The `closePosition` function closes a position
6070
8161
  * @param
@@ -6146,7 +8237,7 @@ declare class DLMM {
6146
8237
  * @param
6147
8238
  * - `owner`: The public key of the owner of the position.
6148
8239
  * - `position`: The public key of the position account.
6149
- * @returns {Promise<Transaction>}
8240
+ * @returns {Promise<Transaction>} Claim LM reward transactions.
6150
8241
  */
6151
8242
  claimLMReward({ owner, position, }: {
6152
8243
  owner: PublicKey;
@@ -6158,7 +8249,7 @@ declare class DLMM {
6158
8249
  * @param
6159
8250
  * - `owner`: The public key of the owner of the positions.
6160
8251
  * - `positions`: An array of objects of type `PositionData` that represents the positions to claim rewards from.
6161
- * @returns {Promise<Transaction[]>}
8252
+ * @returns {Promise<Transaction[]>} Array of claim LM reward and fees transactions.
6162
8253
  */
6163
8254
  claimAllLMRewards({ owner, positions, }: {
6164
8255
  owner: PublicKey;
@@ -6171,7 +8262,8 @@ declare class DLMM {
6171
8262
  * @param
6172
8263
  * - `owner`: The public key of the owner of the position.
6173
8264
  * - `position`: The public key of the position account.
6174
- * @returns {Promise<Transaction>}
8265
+ * - `binRange`: The bin range to claim swap fees for. If not provided, the function claim swap fees for full range.
8266
+ * @returns {Promise<Transaction>} Claim swap fee transactions.
6175
8267
  */
6176
8268
  claimSwapFee({ owner, position, }: {
6177
8269
  owner: PublicKey;
@@ -6182,7 +8274,7 @@ declare class DLMM {
6182
8274
  * @param
6183
8275
  * - `owner`: The public key of the owner of the positions.
6184
8276
  * - `positions`: An array of objects of type `PositionData` that represents the positions to claim swap fees from.
6185
- * @returns {Promise<Transaction[]>}
8277
+ * @returns {Promise<Transaction[]>} Array of claim swap fee transactions.
6186
8278
  */
6187
8279
  claimAllSwapFee({ owner, positions, }: {
6188
8280
  owner: PublicKey;
@@ -6194,14 +8286,14 @@ declare class DLMM {
6194
8286
  * @param
6195
8287
  * - `owner`: The public key of the owner of the position.
6196
8288
  * - `position`: The public key of the position account.
6197
- * @returns {Promise<Transaction[]>}
8289
+ * @returns {Promise<Transaction[]>} Array of claim reward transactions.
6198
8290
  */
6199
8291
  claimAllRewardsByPosition({ owner, position, }: {
6200
8292
  owner: PublicKey;
6201
8293
  position: LbPosition;
6202
8294
  }): Promise<Transaction[]>;
6203
8295
  /**
6204
- * The `seedLiquidity` function create multiple grouped instructions. The grouped instructions will be either [initialize bin array + initialize position instructions] or [deposit instruction] combination.
8296
+ * 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.
6205
8297
  * @param
6206
8298
  * - `owner`: The public key of the positions owner.
6207
8299
  * - `seedAmount`: Lamport amount to be seeded to the pool.
@@ -6217,7 +8309,7 @@ declare class DLMM {
6217
8309
  */
6218
8310
  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>;
6219
8311
  /**
6220
- * The `seedLiquidity` function create multiple grouped instructions. The grouped instructions will be either [initialize bin array + initialize position instructions] or [deposit instruction] combination.
8312
+ * The `seedLiquiditySingleBin` function seed liquidity into a single bin.
6221
8313
  * @param
6222
8314
  * - `payer`: The public key of the tx payer.
6223
8315
  * - `base`: Base key
@@ -6270,7 +8362,7 @@ declare class DLMM {
6270
8362
  * @param
6271
8363
  * - `owner`: The public key of the owner of the positions.
6272
8364
  * - `positions`: An array of objects of type `PositionData` that represents the positions to claim swap fees and LM rewards from.
6273
- * @returns {Promise<Transaction[]>}
8365
+ * @returns {Promise<Transaction[]>} Array of claim swap fee and LM reward transactions.
6274
8366
  */
6275
8367
  claimAllRewards({ owner, positions, }: {
6276
8368
  owner: PublicKey;
@@ -6286,10 +8378,6 @@ declare class DLMM {
6286
8378
  */
6287
8379
  syncWithMarketPrice(marketPrice: number, owner: PublicKey): Promise<Transaction>;
6288
8380
  getMaxPriceInBinArrays(binArrayAccounts: BinArrayAccount[]): Promise<string>;
6289
- getAmountOutWithdrawSingleSide(maxLiquidityShare: BN, price: BN, bin: Bin, isWithdrawForY: boolean): {
6290
- withdrawAmount: BN;
6291
- };
6292
- getWithdrawSingleSideAmount(positionPubkey: PublicKey, isWithdrawForY: boolean): Promise<BN>;
6293
8381
  /**
6294
8382
  *
6295
8383
  * @param swapInitiator Address of the swap initiator
@@ -6298,8 +8386,6 @@ declare class DLMM {
6298
8386
  isSwapDisabled(swapInitiator: PublicKey): boolean;
6299
8387
  /** Private static method */
6300
8388
  private static getBinArrays;
6301
- private static getClaimableLMReward;
6302
- private static getClaimableSwapFee;
6303
8389
  private static processPosition;
6304
8390
  private static getBinsBetweenLowerAndUpperBound;
6305
8391
  /** Private method */
@@ -6311,9 +8397,12 @@ declare class DLMM {
6311
8397
  private updateReference;
6312
8398
  private createClaimBuildMethod;
6313
8399
  private createClaimSwapFeeMethod;
8400
+ private getPotentialToken2022IxDataAndAccounts;
6314
8401
  }
6315
8402
 
6316
8403
  /** private */
8404
+ declare function derivePresetParameterWithIndex(index: BN, programId: PublicKey): [PublicKey, number];
8405
+ declare function deriveLbPairWithPresetParamWithIndexKey(presetParameterKey: PublicKey, tokenX: PublicKey, tokenY: PublicKey, programId: PublicKey): [PublicKey, number];
6317
8406
  /**
6318
8407
  *
6319
8408
  * @deprecated Use derivePresetParameter2
@@ -6332,6 +8421,9 @@ declare function deriveOracle(lbPair: PublicKey, programId: PublicKey): [PublicK
6332
8421
  declare function derivePosition(lbPair: PublicKey, base: PublicKey, lowerBinId: BN, width: BN, programId: PublicKey): [PublicKey, number];
6333
8422
  declare function deriveBinArray(lbPair: PublicKey, index: BN, programId: PublicKey): [PublicKey, number];
6334
8423
  declare function deriveReserve(token: PublicKey, lbPair: PublicKey, programId: PublicKey): [PublicKey, number];
8424
+ declare function deriveTokenBadge(mint: PublicKey, programId: PublicKey): [PublicKey, number];
8425
+ declare function deriveEventAuthority(programId: PublicKey): [PublicKey, number];
8426
+ declare function deriveRewardVault(lbPair: PublicKey, rewardIndex: BN, programId: PublicKey): [PublicKey, number];
6335
8427
 
6336
8428
  /** private */
6337
8429
  declare function isOverflowDefaultBinArrayBitmap(binArrayIndex: BN): boolean;
@@ -6381,17 +8473,44 @@ declare function calculateNormalDistribution(activeBin: number, binIds: number[]
6381
8473
  xAmountBpsOfTotal: BN;
6382
8474
  yAmountBpsOfTotal: BN;
6383
8475
  }[];
8476
+ /**
8477
+ * Converts a weight distribution into token amounts for one side (either bid or ask).
8478
+ *
8479
+ * @param amount - The total amount of liquidity to distribute.
8480
+ * @param distributions - The array of weight distributions for each bin.
8481
+ * @param binStep - The step interval between bin ids.
8482
+ * @param activeId - The id of the active bin.
8483
+ * @param depositForY - Flag indicating if the deposit is for token Y (bid side).
8484
+ * @param mint - Mint information for the token. Mint Y if depositForY is true, else Mint X. Get from DLMM instance.
8485
+ * @param clock - Clock instance for the current epoch. Get from DLMM instance.
8486
+ * @returns An array of objects containing binId and amount for each bin.
8487
+ */
6384
8488
  declare function fromWeightDistributionToAmountOneSide(amount: BN, distributions: {
6385
8489
  binId: number;
6386
8490
  weight: number;
6387
- }[], binStep: number, activeId: number, depositForY: boolean): {
8491
+ }[], binStep: number, activeId: number, depositForY: boolean, mint: Mint, clock: Clock): {
6388
8492
  binId: number;
6389
8493
  amount: BN;
6390
8494
  }[];
8495
+ /**
8496
+ * Converts a weight distribution into token amounts for both bid and ask sides.
8497
+ *
8498
+ * @param amountX - The total amount of token X to distribute.
8499
+ * @param amountY - The total amount of token Y to distribute.
8500
+ * @param distributions - The array of weight distributions for each bin.
8501
+ * @param binStep - The step interval between bin ids.
8502
+ * @param activeId - The id of the active bin.
8503
+ * @param amountXInActiveBin - The amount of token X in the active bin.
8504
+ * @param amountYInActiveBin - The amount of token Y in the active bin.
8505
+ * @param mintX - Mint information for token X. Get from DLMM instance.
8506
+ * @param mintY - Mint information for token Y. Get from DLMM instance.
8507
+ * @param clock - Clock instance for the current epoch. Get from DLMM instance.
8508
+ * @returns An array of objects containing binId, amountX, and amountY for each bin.
8509
+ */
6391
8510
  declare function fromWeightDistributionToAmount(amountX: BN, amountY: BN, distributions: {
6392
8511
  binId: number;
6393
8512
  weight: number;
6394
- }[], binStep: number, activeId: number, amountXInActiveBin: BN, amountYInActiveBin: BN): {
8513
+ }[], binStep: number, activeId: number, amountXInActiveBin: BN, amountYInActiveBin: BN, mintX: Mint, mintY: Mint, clock: Clock): {
6395
8514
  binId: number;
6396
8515
  amountX: BN;
6397
8516
  amountY: BN;
@@ -6416,24 +8535,58 @@ declare function swapExactInQuoteAtBin(bin: Bin, binStep: number, sParameter: sP
6416
8535
  protocolFee: BN;
6417
8536
  };
6418
8537
 
8538
+ /**
8539
+ * Distribute totalAmount to all bid side bins according to given distributions.
8540
+ * @param activeId active bin id
8541
+ * @param totalAmount total amount of token Y to be distributed
8542
+ * @param distributions weight distribution of each bin
8543
+ * @param mintY mint of token Y, get from DLMM instance
8544
+ * @param clock clock of the program, for calculating transfer fee, get from DLMM instance
8545
+ * @returns array of {binId, amount} where amount is the amount of token Y in each bin
8546
+ */
6419
8547
  declare function toAmountBidSide(activeId: number, totalAmount: BN, distributions: {
6420
8548
  binId: number;
6421
8549
  weight: number;
6422
- }[]): {
8550
+ }[], mintY: Mint, clock: Clock): {
6423
8551
  binId: number;
6424
8552
  amount: BN;
6425
8553
  }[];
8554
+ /**
8555
+ * Distribute totalAmount to all ask side bins according to given distributions.
8556
+ * @param activeId active bin id
8557
+ * @param totalAmount total amount of token Y to be distributed
8558
+ * @param distributions weight distribution of each bin
8559
+ * @param mintX mint of token X, get from DLMM instance
8560
+ * @param clock clock of the program, for calculating transfer fee, get from DLMM instance
8561
+ * @returns array of {binId, amount} where amount is the amount of token X in each bin
8562
+ */
6426
8563
  declare function toAmountAskSide(activeId: number, binStep: number, totalAmount: BN, distributions: {
6427
8564
  binId: number;
6428
8565
  weight: number;
6429
- }[]): {
8566
+ }[], mintX: Mint, clock: Clock): {
6430
8567
  binId: number;
6431
8568
  amount: BN;
6432
8569
  }[];
8570
+ /**
8571
+ * Distributes the given amounts of tokens X and Y to both bid and ask side bins
8572
+ * based on the provided weight distributions.
8573
+ *
8574
+ * @param activeId - The id of the active bin.
8575
+ * @param binStep - The step interval between bin ids.
8576
+ * @param amountX - Total amount of token X to distribute.
8577
+ * @param amountY - Total amount of token Y to distribute.
8578
+ * @param amountXInActiveBin - Amount of token X already in the active bin.
8579
+ * @param amountYInActiveBin - Amount of token Y already in the active bin.
8580
+ * @param distributions - Array of bins with their respective weight distributions.
8581
+ * @param mintX - Mint information for token X. Get from DLMM instance.
8582
+ * @param mintY - Mint information for token Y. Get from DLMM instance.
8583
+ * @param clock - Clock instance. Get from DLMM instance.
8584
+ * @returns An array of objects containing binId, amountX, and amountY for each bin.
8585
+ */
6433
8586
  declare function toAmountBothSide(activeId: number, binStep: number, amountX: BN, amountY: BN, amountXInActiveBin: BN, amountYInActiveBin: BN, distributions: {
6434
8587
  binId: number;
6435
8588
  weight: number;
6436
- }[]): {
8589
+ }[], mintX: Mint, mintY: Mint, clock: Clock): {
6437
8590
  binId: number;
6438
8591
  amountX: BN;
6439
8592
  amountY: BN;
@@ -6447,7 +8600,23 @@ declare function autoFillXByWeight(activeId: number, binStep: number, amountY: B
6447
8600
  weight: number;
6448
8601
  }[]): BN;
6449
8602
 
6450
- declare function toAmountsBothSideByStrategy(activeId: number, binStep: number, minBinId: number, maxBinId: number, amountX: BN, amountY: BN, amountXInActiveBin: BN, amountYInActiveBin: BN, strategyType: StrategyType): {
8603
+ /**
8604
+ * Given a strategy type and amounts of X and Y, returns the distribution of liquidity.
8605
+ * @param activeId The bin id of the active bin.
8606
+ * @param binStep The step size of each bin.
8607
+ * @param minBinId The min bin id.
8608
+ * @param maxBinId The max bin id.
8609
+ * @param amountX The amount of X token to deposit.
8610
+ * @param amountY The amount of Y token to deposit.
8611
+ * @param amountXInActiveBin The amount of X token in the active bin.
8612
+ * @param amountYInActiveBin The amount of Y token in the active bin.
8613
+ * @param strategyType The strategy type.
8614
+ * @param mintX The mint info of X token. Get from DLMM instance.
8615
+ * @param mintY The mint info of Y token. Get from DLMM instance.
8616
+ * @param clock The clock info. Get from DLMM instance.
8617
+ * @returns The distribution of liquidity.
8618
+ */
8619
+ 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): {
6451
8620
  binId: number;
6452
8621
  amountX: BN;
6453
8622
  amountY: BN;
@@ -6491,10 +8660,15 @@ declare function toStrategyParameters({ maxBinId, minBinId, strategyType, single
6491
8660
  */
6492
8661
  declare function getTokensMintFromPoolAddress(connection: Connection, poolAddress: string, opt?: {
6493
8662
  cluster?: Cluster;
8663
+ programId?: PublicKey;
6494
8664
  }): Promise<{
6495
8665
  tokenXMint: PublicKey;
6496
8666
  tokenYMint: PublicKey;
6497
8667
  }>;
8668
+ declare function getTokenProgramId(lbPairState: LbPair): {
8669
+ tokenXProgram: PublicKey;
8670
+ tokenYProgram: PublicKey;
8671
+ };
6498
8672
 
6499
8673
  declare function chunks<T>(array: T[], size: number): T[][];
6500
8674
  declare function range<T>(min: number, max: number, mapfn: (i: number) => T): T[];
@@ -6509,6 +8683,7 @@ declare function chunkedFetchMultiplePoolAccount(program: ClmmProgram, pks: Publ
6509
8683
  minBinId: number;
6510
8684
  maxBinId: number;
6511
8685
  protocolShare: number;
8686
+ baseFeePowerFactor: number;
6512
8687
  padding: number[];
6513
8688
  };
6514
8689
  vParameters: {
@@ -6559,6 +8734,8 @@ declare function chunkedFetchMultiplePoolAccount(program: ClmmProgram, pks: Publ
6559
8734
  padding3: number[];
6560
8735
  padding4: BN;
6561
8736
  creator: PublicKey;
8737
+ tokenMintXProgramFlag: number;
8738
+ tokenMintYProgramFlag: number;
6562
8739
  reserved: number[];
6563
8740
  }[]>;
6564
8741
  declare function chunkedFetchMultipleBinArrayBitmapExtensionAccount(program: ClmmProgram, pks: PublicKey[], chunkSize?: number): Promise<{
@@ -6568,7 +8745,7 @@ declare function chunkedFetchMultipleBinArrayBitmapExtensionAccount(program: Clm
6568
8745
  }[]>;
6569
8746
  declare function getOutAmount(bin: Bin, inAmount: BN, swapForY: boolean): BN;
6570
8747
  declare function getTokenDecimals(conn: Connection, mint: PublicKey): Promise<number>;
6571
- declare const getOrCreateATAInstruction: (connection: Connection, tokenMint: PublicKey, owner: PublicKey, payer?: PublicKey, allowOwnerOffCurve?: boolean) => Promise<GetOrCreateATAResponse>;
8748
+ declare const getOrCreateATAInstruction: (connection: Connection, tokenMint: PublicKey, owner: PublicKey, programId?: PublicKey, payer?: PublicKey, allowOwnerOffCurve?: boolean) => Promise<GetOrCreateATAResponse>;
6572
8749
  declare function getTokenBalance(conn: Connection, tokenAccount: PublicKey): Promise<bigint>;
6573
8750
  declare const parseLogs: <T>(eventParser: EventParser, logs: string[]) => T;
6574
8751
  declare const wrapSOLInstruction: (from: PublicKey, to: PublicKey, amount: bigint) => TransactionInstruction[];
@@ -6642,5 +8819,6 @@ declare const MAX_BIN_PER_TX = 69;
6642
8819
  declare const MAX_ACTIVE_BIN_SLIPPAGE = 3;
6643
8820
  declare const ILM_BASE: PublicKey;
6644
8821
  declare const MAX_EXTRA_BIN_ARRAYS = 3;
8822
+ declare const U64_MAX: BN;
6645
8823
 
6646
- 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 };
8824
+ 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 };