@meteora-ag/dlmm 1.3.17-rc.0 → 1.3.17-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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",
@@ -3027,7 +4486,21 @@ type LbClmm = {
3027
4486
  "docs": [
3028
4487
  "Pool creator"
3029
4488
  ];
3030
- "type": "publicKey";
4489
+ "type": "publicKey";
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";
3031
4504
  },
3032
4505
  {
3033
4506
  "name": "reserved";
@@ -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
  };
@@ -3956,48 +5624,122 @@ type LbClmm = {
3956
5624
  "type": "bool";
3957
5625
  },
3958
5626
  {
3959
- "name": "padding";
3960
- "docs": [
3961
- "Padding, for future use"
3962
- ];
3963
- "type": {
3964
- "array": [
3965
- "u8",
3966
- 63
3967
- ];
3968
- };
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";
5696
+ },
5697
+ {
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,
@@ -5572,6 +7529,9 @@ interface BinLiquidity {
5572
7529
  version: number;
5573
7530
  price: string;
5574
7531
  pricePerToken: string;
7532
+ feeAmountXPerTokenStored: BN;
7533
+ feeAmountYPerTokenStored: BN;
7534
+ rewardPerTokenStored: BN[];
5575
7535
  }
5576
7536
  declare namespace BinLiquidity {
5577
7537
  function fromBin(bin: Bin, binId: number, binStep: number, baseTokenDecimal: number, quoteTokenDecimal: number, version: number): BinLiquidity;
@@ -5610,6 +7570,9 @@ interface PositionBinData {
5610
7570
  positionLiquidity: string;
5611
7571
  positionXAmount: string;
5612
7572
  positionYAmount: string;
7573
+ positionFeeXAmount: string;
7574
+ positionFeeYAmount: string;
7575
+ positionRewardAmount: string[];
5613
7576
  }
5614
7577
  interface PositionData {
5615
7578
  totalXAmount: string;
@@ -5625,6 +7588,13 @@ interface PositionData {
5625
7588
  feeOwner: PublicKey;
5626
7589
  totalClaimedFeeXAmount: BN;
5627
7590
  totalClaimedFeeYAmount: BN;
7591
+ feeXExcludeTransferFee: BN;
7592
+ feeYExcludeTransferFee: BN;
7593
+ rewardOneExcludeTransferFee: BN;
7594
+ rewardTwoExcludeTransferFee: BN;
7595
+ totalXAmountExcludeTransferFee: BN;
7596
+ totalYAmountExcludeTransferFee: BN;
7597
+ owner: PublicKey;
5628
7598
  }
5629
7599
  interface SwapWithPriceImpactParams {
5630
7600
  /**
@@ -5742,6 +7712,11 @@ interface PositionLockInfo {
5742
7712
  tokenYAmount: string;
5743
7713
  lockReleasePoint: number;
5744
7714
  }
7715
+ declare enum ActionType {
7716
+ Liquidity = 0,
7717
+ Reward = 1
7718
+ }
7719
+ declare const MEMO_PROGRAM_ID: PublicKey;
5745
7720
 
5746
7721
  type Opt = {
5747
7722
  cluster?: Cluster | "localhost";
@@ -5754,9 +7729,10 @@ declare class DLMM {
5754
7729
  binArrayBitmapExtension: BinArrayBitmapExtensionAccount | null;
5755
7730
  tokenX: TokenReserve;
5756
7731
  tokenY: TokenReserve;
7732
+ rewards: Array<TokenReserve | null>;
5757
7733
  clock: Clock;
5758
7734
  private opt?;
5759
- constructor(pubkey: PublicKey, program: ClmmProgram, lbPair: LbPair, binArrayBitmapExtension: BinArrayBitmapExtensionAccount | null, tokenX: TokenReserve, tokenY: TokenReserve, clock: Clock, opt?: Opt);
7735
+ constructor(pubkey: PublicKey, program: ClmmProgram, lbPair: LbPair, binArrayBitmapExtension: BinArrayBitmapExtensionAccount | null, tokenX: TokenReserve, tokenY: TokenReserve, rewards: Array<TokenReserve | null>, clock: Clock, opt?: Opt);
5760
7736
  /** Static public method */
5761
7737
  /**
5762
7738
  * The function `getLbPairs` retrieves a list of LB pair accounts using a connection and optional
@@ -5769,7 +7745,18 @@ declare class DLMM {
5769
7745
  * `LbPairAccount` objects.
5770
7746
  */
5771
7747
  static getLbPairs(connection: Connection, opt?: Opt): Promise<LbPairAccount[]>;
5772
- static getPairPubkeyIfExists(connection: Connection, tokenX: PublicKey, tokenY: PublicKey, binStep: BN, baseFactor: BN, opt?: Opt): Promise<PublicKey | null>;
7748
+ /**
7749
+ * Retrieves the public key of a LB pair if it exists.
7750
+ * @param connection The connection to the Solana cluster.
7751
+ * @param tokenX The mint address of token X.
7752
+ * @param tokenY The mint address of token Y.
7753
+ * @param binStep The bin step of the LB pair.
7754
+ * @param baseFactor The base factor of the LB pair.
7755
+ * @param baseFeePowerFactor The base fee power factor of the LB pair. It allow small bin step to have bigger fee rate.
7756
+ * @param opt Optional parameters.
7757
+ * @returns The public key of the LB pair if it exists, or null.
7758
+ */
7759
+ static getPairPubkeyIfExists(connection: Connection, tokenX: PublicKey, tokenY: PublicKey, binStep: BN, baseFactor: BN, baseFeePowerFactor: BN, opt?: Opt): Promise<PublicKey | null>;
5773
7760
  /**
5774
7761
  * The `create` function is a static method that creates a new instance of the `DLMM` class
5775
7762
  * @param {Connection} connection - The `connection` parameter is an instance of the `Connection`
@@ -5790,18 +7777,46 @@ declare class DLMM {
5790
7777
  * objects.
5791
7778
  */
5792
7779
  static createMultiple(connection: Connection, dlmmList: Array<PublicKey>, opt?: Opt): Promise<DLMM[]>;
5793
- static getAllPresetParameters(connection: Connection, opt?: Opt): Promise<_coral_xyz_anchor.ProgramAccount<{
5794
- binStep: number;
5795
- baseFactor: number;
5796
- filterPeriod: number;
5797
- decayPeriod: number;
5798
- reductionFactor: number;
5799
- variableFeeControl: number;
5800
- maxVolatilityAccumulator: number;
5801
- minBinId: number;
5802
- maxBinId: number;
5803
- protocolShare: number;
5804
- }>[]>;
7780
+ /**
7781
+ * The `getAllPresetParameters` function retrieves all preset parameter accounts
7782
+ * for the given DLMM program.
7783
+ *
7784
+ * @param {Connection} connection - The connection to the Solana cluster.
7785
+ * @param {Opt} [opt] - The optional parameters for the function.
7786
+ *
7787
+ * @returns A promise that resolves to an object containing the preset parameter
7788
+ * accounts, with the following properties:
7789
+ * - `presetParameter`: The preset parameter accounts for the original `PresetParameter` struct.
7790
+ * - `presetParameter2`: The preset parameter accounts for the `PresetParameter2` struct.
7791
+ */
7792
+ static getAllPresetParameters(connection: Connection, opt?: Opt): Promise<{
7793
+ presetParameter: _coral_xyz_anchor.ProgramAccount<{
7794
+ binStep: number;
7795
+ baseFactor: number;
7796
+ filterPeriod: number;
7797
+ decayPeriod: number;
7798
+ reductionFactor: number;
7799
+ variableFeeControl: number;
7800
+ maxVolatilityAccumulator: number;
7801
+ minBinId: number;
7802
+ maxBinId: number;
7803
+ protocolShare: number;
7804
+ }>[];
7805
+ presetParameter2: _coral_xyz_anchor.ProgramAccount<{
7806
+ binStep: number;
7807
+ baseFactor: number;
7808
+ filterPeriod: number;
7809
+ decayPeriod: number;
7810
+ variableFeeControl: number;
7811
+ maxVolatilityAccumulator: number;
7812
+ reductionFactor: number;
7813
+ protocolShare: number;
7814
+ index: number;
7815
+ baseFeePowerFactor: number;
7816
+ padding0: number;
7817
+ padding1: BN[];
7818
+ }>[];
7819
+ }>;
5805
7820
  /**
5806
7821
  * The function `getAllLbPairPositionsByUser` retrieves all liquidity pool pair positions for a given
5807
7822
  * user.
@@ -5817,17 +7832,74 @@ declare class DLMM {
5817
7832
  static getPricePerLamport(tokenXDecimal: number, tokenYDecimal: number, price: number): string;
5818
7833
  static getBinIdFromPrice(price: string | number | Decimal, binStep: number, min: boolean): number;
5819
7834
  /**
5820
- * The function `getLbPairLockInfo` retrieves all pair positions that has locked liquidity.
5821
- * @param {number} [lockDurationOpt] - An optional value indicating the minimum position lock duration that the function should return.
5822
- * Depending on the lbPair activationType, the param should be a number of seconds or a number of slots.
5823
- * @returns The function `getLbPairLockInfo` returns a `Promise` that resolves to a `PairLockInfo`
5824
- * object. The `PairLockInfo` object contains an array of `PositionLockInfo` objects.
5825
- */
7835
+ * The function `getLbPairLockInfo` retrieves all pair positions that has locked liquidity.
7836
+ * @param {number} [lockDurationOpt] - An optional value indicating the minimum position lock duration that the function should return.
7837
+ * Depending on the lbPair activationType, the param should be a number of seconds or a number of slots.
7838
+ * @returns The function `getLbPairLockInfo` returns a `Promise` that resolves to a `PairLockInfo`
7839
+ * object. The `PairLockInfo` object contains an array of `PositionLockInfo` objects.
7840
+ */
5826
7841
  getLbPairLockInfo(lockDurationOpt?: number): Promise<PairLockInfo>;
5827
7842
  /** Public methods */
5828
- static createPermissionLbPair(connection: Connection, binStep: BN, tokenX: PublicKey, tokenY: PublicKey, activeId: BN, baseKey: PublicKey, creatorKey: PublicKey, feeBps: BN, activationType: ActivationType, opt?: Opt): Promise<Transaction>;
7843
+ /**
7844
+ * Create a new customizable permissionless pair. Support both token and token 2022.
7845
+ * @param connection A connection to the Solana cluster.
7846
+ * @param binStep The bin step for the pair.
7847
+ * @param tokenX The mint of the first token.
7848
+ * @param tokenY The mint of the second token.
7849
+ * @param activeId The ID of the initial active bin. Represent the starting price.
7850
+ * @param feeBps The fee rate for swaps in the pair, in basis points.
7851
+ * @param activationType The type of activation for the pair.
7852
+ * @param hasAlphaVault Whether the pair has an alpha vault.
7853
+ * @param creatorKey The public key of the creator of the pair.
7854
+ * @param activationPoint The timestamp at which the pair will be activated.
7855
+ * @param opt An options object.
7856
+ * @returns A transaction that creates the pair.
7857
+ */
7858
+ 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>;
7859
+ /**
7860
+ * Create a new customizable permissionless pair. Support only token program.
7861
+ * @param connection A connection to the Solana cluster.
7862
+ * @param binStep The bin step for the pair.
7863
+ * @param tokenX The mint of the first token.
7864
+ * @param tokenY The mint of the second token.
7865
+ * @param activeId The ID of the initial active bin. Represent the starting price.
7866
+ * @param feeBps The fee rate for swaps in the pair, in basis points.
7867
+ * @param activationType The type of activation for the pair.
7868
+ * @param hasAlphaVault Whether the pair has an alpha vault.
7869
+ * @param creatorKey The public key of the creator of the pair.
7870
+ * @param activationPoint The timestamp at which the pair will be activated.
7871
+ * @param opt An options object.
7872
+ * @returns A transaction that creates the pair.
7873
+ */
5829
7874
  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>;
7875
+ /**
7876
+ * Create a new liquidity pair. Support only token program.
7877
+ * @param connection A connection to the Solana cluster.
7878
+ * @param funder The public key of the funder of the pair.
7879
+ * @param tokenX The mint of the first token.
7880
+ * @param tokenY The mint of the second token.
7881
+ * @param binStep The bin step for the pair.
7882
+ * @param baseFactor The base factor for the pair.
7883
+ * @param presetParameter The public key of the preset parameter account.
7884
+ * @param activeId The ID of the initial active bin. Represent the starting price.
7885
+ * @param opt An options object.
7886
+ * @returns A transaction that creates the pair.
7887
+ * @throws If the pair already exists.
7888
+ */
5830
7889
  static createLbPair(connection: Connection, funder: PublicKey, tokenX: PublicKey, tokenY: PublicKey, binStep: BN, baseFactor: BN, presetParameter: PublicKey, activeId: BN, opt?: Opt): Promise<Transaction>;
7890
+ /**
7891
+ * Create a new liquidity pair. Support both token and token2022 program.
7892
+ * @param connection A connection to the Solana cluster.
7893
+ * @param funder The public key of the funder of the pair.
7894
+ * @param tokenX The mint of the first token.
7895
+ * @param tokenY The mint of the second token.
7896
+ * @param presetParameter The public key of the preset parameter account.
7897
+ * @param activeId The ID of the initial active bin. Represent the starting price.
7898
+ * @param opt An options object.
7899
+ * @returns A transaction that creates the pair.
7900
+ * @throws If the pair already exists.
7901
+ */
7902
+ static createLbPair2(connection: Connection, funder: PublicKey, tokenX: PublicKey, tokenY: PublicKey, presetParameter: PublicKey, activeId: BN, opt?: Opt): Promise<Transaction>;
5831
7903
  /**
5832
7904
  * The function `refetchStates` retrieves and updates various states and data related to bin arrays
5833
7905
  * and lb pairs.
@@ -5856,7 +7928,15 @@ declare class DLMM {
5856
7928
  * @returns an array of `BinArrayAccount` objects.
5857
7929
  */
5858
7930
  getBinArrayForSwap(swapForY: any, count?: number): Promise<BinArrayAccount[]>;
5859
- static calculateFeeInfo(baseFactor: number | string, binStep: number | string): Omit<FeeInfo, "protocolFeePercentage">;
7931
+ /**
7932
+ * The function `calculateFeeInfo` calculates the base fee rate percentage and maximum fee rate percentage
7933
+ * given the base factor, bin step, and optional base fee power factor.
7934
+ * @param baseFactor - The base factor of the pair.
7935
+ * @param binStep - The bin step of the pair.
7936
+ * @param baseFeePowerFactor - Optional parameter to allow small bin step to have bigger fee rate. Default to 0.
7937
+ * @returns an object of type `Omit<FeeInfo, "protocolFeePercentage">` with the following properties: baseFeeRatePercentage and maxFeeRatePercentage.
7938
+ */
7939
+ static calculateFeeInfo(baseFactor: number | string, binStep: number | string, baseFeePowerFactor?: number | string): Omit<FeeInfo, "protocolFeePercentage">;
5860
7940
  /**
5861
7941
  * The function `getFeeInfo` calculates and returns the base fee rate percentage, maximum fee rate
5862
7942
  * percentage, and protocol fee percentage.
@@ -6006,11 +8086,12 @@ declare class DLMM {
6006
8086
  * - `strategy`: The strategy parameters to be used for the liquidity pool (Can use `calculateStrategyParameter` to calculate).
6007
8087
  * - `user`: The public key of the user account.
6008
8088
  * - `slippage`: The slippage percentage to be used for the liquidity pool.
6009
- * @returns {Promise<Transaction>} The function `initializePositionAndAddLiquidityByWeight` returns a `Promise` that
8089
+ * @returns {Promise<Transaction>} The function `initializePositionAndAddLiquidityByStrategy` returns a `Promise` that
6010
8090
  * resolves to either a single `Transaction` object.
6011
8091
  */
6012
8092
  initializePositionAndAddLiquidityByStrategy({ positionPubKey, totalXAmount, totalYAmount, strategy, user, slippage, }: TInitializePositionAndAddLiquidityParamsByStrategy): Promise<Transaction>;
6013
8093
  /**
8094
+ * @deprecated Use `initializePositionAndAddLiquidityByStrategy` instead which support both token and token2022.
6014
8095
  * The function `initializePositionAndAddLiquidityByWeight` function is used to initializes a position and adds liquidity
6015
8096
  * @param {TInitializePositionAndAddLiquidityParams}
6016
8097
  * - `positionPubKey`: The public key of the position account. (usually use `new Keypair()`)
@@ -6037,6 +8118,7 @@ declare class DLMM {
6037
8118
  */
6038
8119
  addLiquidityByStrategy({ positionPubKey, totalXAmount, totalYAmount, strategy, user, slippage, }: TInitializePositionAndAddLiquidityParamsByStrategy): Promise<Transaction>;
6039
8120
  /**
8121
+ * @deprecated Use `addLiquidityByStrategy` instead which support both token and token2022.
6040
8122
  * The `addLiquidityByWeight` function is used to add liquidity to existing position
6041
8123
  * @param {TInitializePositionAndAddLiquidityParams}
6042
8124
  * - `positionPubKey`: The public key of the position account. (usually use `new Keypair()`)
@@ -6055,18 +8137,27 @@ declare class DLMM {
6055
8137
  * @param
6056
8138
  * - `user`: The public key of the user account.
6057
8139
  * - `position`: The public key of the position account.
6058
- * - `binIds`: An array of numbers that represent the bin IDs to remove liquidity from.
8140
+ * - `fromBinId`: The ID of the starting bin to remove liquidity from. Must within position range.
8141
+ * - `toBinId`: The ID of the ending bin to remove liquidity from. Must within position range.
6059
8142
  * - `liquiditiesBpsToRemove`: An array of numbers (percentage) that represent the liquidity to remove from each bin.
6060
8143
  * - `shouldClaimAndClose`: A boolean flag that indicates whether to claim rewards and close the position.
6061
- * @returns {Promise<Transaction|Transaction[]>}
8144
+ * @returns {Promise<Transaction | Transaction[]>}
6062
8145
  */
6063
- removeLiquidity({ user, position, binIds, bps, shouldClaimAndClose, }: {
8146
+ removeLiquidity({ user, position, fromBinId, toBinId, bps, shouldClaimAndClose, }: {
6064
8147
  user: PublicKey;
6065
8148
  position: PublicKey;
6066
- binIds: number[];
8149
+ fromBinId: number;
8150
+ toBinId: number;
6067
8151
  bps: BN;
6068
8152
  shouldClaimAndClose?: boolean;
6069
8153
  }): Promise<Transaction | Transaction[]>;
8154
+ /**
8155
+ * The `closePositionIfEmpty` function closes a position if it is empty. Else, it does nothing.
8156
+ */
8157
+ closePositionIfEmpty({ owner, position, }: {
8158
+ owner: PublicKey;
8159
+ position: LbPosition;
8160
+ }): Promise<Transaction>;
6070
8161
  /**
6071
8162
  * The `closePosition` function closes a position
6072
8163
  * @param
@@ -6148,7 +8239,7 @@ declare class DLMM {
6148
8239
  * @param
6149
8240
  * - `owner`: The public key of the owner of the position.
6150
8241
  * - `position`: The public key of the position account.
6151
- * @returns {Promise<Transaction>}
8242
+ * @returns {Promise<Transaction>} Claim LM reward transactions.
6152
8243
  */
6153
8244
  claimLMReward({ owner, position, }: {
6154
8245
  owner: PublicKey;
@@ -6160,7 +8251,7 @@ declare class DLMM {
6160
8251
  * @param
6161
8252
  * - `owner`: The public key of the owner of the positions.
6162
8253
  * - `positions`: An array of objects of type `PositionData` that represents the positions to claim rewards from.
6163
- * @returns {Promise<Transaction[]>}
8254
+ * @returns {Promise<Transaction[]>} Array of claim LM reward and fees transactions.
6164
8255
  */
6165
8256
  claimAllLMRewards({ owner, positions, }: {
6166
8257
  owner: PublicKey;
@@ -6173,7 +8264,8 @@ declare class DLMM {
6173
8264
  * @param
6174
8265
  * - `owner`: The public key of the owner of the position.
6175
8266
  * - `position`: The public key of the position account.
6176
- * @returns {Promise<Transaction>}
8267
+ * - `binRange`: The bin range to claim swap fees for. If not provided, the function claim swap fees for full range.
8268
+ * @returns {Promise<Transaction>} Claim swap fee transactions.
6177
8269
  */
6178
8270
  claimSwapFee({ owner, position, }: {
6179
8271
  owner: PublicKey;
@@ -6184,7 +8276,7 @@ declare class DLMM {
6184
8276
  * @param
6185
8277
  * - `owner`: The public key of the owner of the positions.
6186
8278
  * - `positions`: An array of objects of type `PositionData` that represents the positions to claim swap fees from.
6187
- * @returns {Promise<Transaction[]>}
8279
+ * @returns {Promise<Transaction[]>} Array of claim swap fee transactions.
6188
8280
  */
6189
8281
  claimAllSwapFee({ owner, positions, }: {
6190
8282
  owner: PublicKey;
@@ -6196,14 +8288,14 @@ declare class DLMM {
6196
8288
  * @param
6197
8289
  * - `owner`: The public key of the owner of the position.
6198
8290
  * - `position`: The public key of the position account.
6199
- * @returns {Promise<Transaction[]>}
8291
+ * @returns {Promise<Transaction[]>} Array of claim reward transactions.
6200
8292
  */
6201
8293
  claimAllRewardsByPosition({ owner, position, }: {
6202
8294
  owner: PublicKey;
6203
8295
  position: LbPosition;
6204
8296
  }): Promise<Transaction[]>;
6205
8297
  /**
6206
- * The `seedLiquidity` function create multiple grouped instructions. The grouped instructions will be either [initialize bin array + initialize position instructions] or [deposit instruction] combination.
8298
+ * 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.
6207
8299
  * @param
6208
8300
  * - `owner`: The public key of the positions owner.
6209
8301
  * - `seedAmount`: Lamport amount to be seeded to the pool.
@@ -6219,22 +8311,22 @@ declare class DLMM {
6219
8311
  */
6220
8312
  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>;
6221
8313
  /**
6222
- * The `seedLiquidity` function create multiple grouped instructions. The grouped instructions will be either [initialize bin array + initialize position instructions] or [deposit instruction] combination.
6223
- * @param
6224
- * - `payer`: The public key of the tx payer.
6225
- * - `base`: Base key
6226
- * - `seedAmount`: Token X lamport amount to be seeded to the pool.
6227
- * - `price`: TokenX/TokenY Price in UI format
6228
- * - `roundingUp`: Whether to round up the price
6229
- * - `positionOwner`: The owner of the position
6230
- * - `feeOwner`: Position fee owner
6231
- * - `operator`: Operator of the position. Operator able to manage the position on behalf of the position owner. However, liquidity withdrawal issue by the operator can only send to the position owner.
6232
- * - `lockReleasePoint`: The lock release point of the position.
6233
- * - `shouldSeedPositionOwner` (optional): Whether to send 1 lamport amount of token X to the position owner to prove ownership.
6234
- *
6235
- * The returned instructions need to be executed sequentially if it was separated into multiple transactions.
6236
- * @returns {Promise<TransactionInstruction[]>}
6237
- */
8314
+ * The `seedLiquiditySingleBin` function seed liquidity into a single bin.
8315
+ * @param
8316
+ * - `payer`: The public key of the tx payer.
8317
+ * - `base`: Base key
8318
+ * - `seedAmount`: Token X lamport amount to be seeded to the pool.
8319
+ * - `price`: TokenX/TokenY Price in UI format
8320
+ * - `roundingUp`: Whether to round up the price
8321
+ * - `positionOwner`: The owner of the position
8322
+ * - `feeOwner`: Position fee owner
8323
+ * - `operator`: Operator of the position. Operator able to manage the position on behalf of the position owner. However, liquidity withdrawal issue by the operator can only send to the position owner.
8324
+ * - `lockReleasePoint`: The lock release point of the position.
8325
+ * - `shouldSeedPositionOwner` (optional): Whether to send 1 lamport amount of token X to the position owner to prove ownership.
8326
+ *
8327
+ * The returned instructions need to be executed sequentially if it was separated into multiple transactions.
8328
+ * @returns {Promise<TransactionInstruction[]>}
8329
+ */
6238
8330
  seedLiquiditySingleBin(payer: PublicKey, base: PublicKey, seedAmount: BN, price: number, roundingUp: boolean, positionOwner: PublicKey, feeOwner: PublicKey, operator: PublicKey, lockReleasePoint: BN, shouldSeedPositionOwner?: boolean): Promise<TransactionInstruction[]>;
6239
8331
  /**
6240
8332
  * Initializes bin arrays for the given bin array indexes if it wasn't initialized.
@@ -6272,7 +8364,7 @@ declare class DLMM {
6272
8364
  * @param
6273
8365
  * - `owner`: The public key of the owner of the positions.
6274
8366
  * - `positions`: An array of objects of type `PositionData` that represents the positions to claim swap fees and LM rewards from.
6275
- * @returns {Promise<Transaction[]>}
8367
+ * @returns {Promise<Transaction[]>} Array of claim swap fee and LM reward transactions.
6276
8368
  */
6277
8369
  claimAllRewards({ owner, positions, }: {
6278
8370
  owner: PublicKey;
@@ -6288,10 +8380,6 @@ declare class DLMM {
6288
8380
  */
6289
8381
  syncWithMarketPrice(marketPrice: number, owner: PublicKey): Promise<Transaction>;
6290
8382
  getMaxPriceInBinArrays(binArrayAccounts: BinArrayAccount[]): Promise<string>;
6291
- getAmountOutWithdrawSingleSide(maxLiquidityShare: BN, price: BN, bin: Bin, isWithdrawForY: boolean): {
6292
- withdrawAmount: BN;
6293
- };
6294
- getWithdrawSingleSideAmount(positionPubkey: PublicKey, isWithdrawForY: boolean): Promise<BN>;
6295
8383
  /**
6296
8384
  *
6297
8385
  * @param swapInitiator Address of the swap initiator
@@ -6300,8 +8388,6 @@ declare class DLMM {
6300
8388
  isSwapDisabled(swapInitiator: PublicKey): boolean;
6301
8389
  /** Private static method */
6302
8390
  private static getBinArrays;
6303
- private static getClaimableLMReward;
6304
- private static getClaimableSwapFee;
6305
8391
  private static processPosition;
6306
8392
  private static getBinsBetweenLowerAndUpperBound;
6307
8393
  /** Private method */
@@ -6313,9 +8399,12 @@ declare class DLMM {
6313
8399
  private updateReference;
6314
8400
  private createClaimBuildMethod;
6315
8401
  private createClaimSwapFeeMethod;
8402
+ private getPotentialToken2022IxDataAndAccounts;
6316
8403
  }
6317
8404
 
6318
8405
  /** private */
8406
+ declare function derivePresetParameterWithIndex(index: BN, programId: PublicKey): [PublicKey, number];
8407
+ declare function deriveLbPairWithPresetParamWithIndexKey(presetParameterKey: PublicKey, tokenX: PublicKey, tokenY: PublicKey, programId: PublicKey): [PublicKey, number];
6319
8408
  /**
6320
8409
  *
6321
8410
  * @deprecated Use derivePresetParameter2
@@ -6334,6 +8423,9 @@ declare function deriveOracle(lbPair: PublicKey, programId: PublicKey): [PublicK
6334
8423
  declare function derivePosition(lbPair: PublicKey, base: PublicKey, lowerBinId: BN, width: BN, programId: PublicKey): [PublicKey, number];
6335
8424
  declare function deriveBinArray(lbPair: PublicKey, index: BN, programId: PublicKey): [PublicKey, number];
6336
8425
  declare function deriveReserve(token: PublicKey, lbPair: PublicKey, programId: PublicKey): [PublicKey, number];
8426
+ declare function deriveTokenBadge(mint: PublicKey, programId: PublicKey): [PublicKey, number];
8427
+ declare function deriveEventAuthority(programId: PublicKey): [PublicKey, number];
8428
+ declare function deriveRewardVault(lbPair: PublicKey, rewardIndex: BN, programId: PublicKey): [PublicKey, number];
6337
8429
 
6338
8430
  /** private */
6339
8431
  declare function isOverflowDefaultBinArrayBitmap(binArrayIndex: BN): boolean;
@@ -6383,17 +8475,44 @@ declare function calculateNormalDistribution(activeBin: number, binIds: number[]
6383
8475
  xAmountBpsOfTotal: BN;
6384
8476
  yAmountBpsOfTotal: BN;
6385
8477
  }[];
8478
+ /**
8479
+ * Converts a weight distribution into token amounts for one side (either bid or ask).
8480
+ *
8481
+ * @param amount - The total amount of liquidity to distribute.
8482
+ * @param distributions - The array of weight distributions for each bin.
8483
+ * @param binStep - The step interval between bin ids.
8484
+ * @param activeId - The id of the active bin.
8485
+ * @param depositForY - Flag indicating if the deposit is for token Y (bid side).
8486
+ * @param mint - Mint information for the token. Mint Y if depositForY is true, else Mint X. Get from DLMM instance.
8487
+ * @param clock - Clock instance for the current epoch. Get from DLMM instance.
8488
+ * @returns An array of objects containing binId and amount for each bin.
8489
+ */
6386
8490
  declare function fromWeightDistributionToAmountOneSide(amount: BN, distributions: {
6387
8491
  binId: number;
6388
8492
  weight: number;
6389
- }[], binStep: number, activeId: number, depositForY: boolean): {
8493
+ }[], binStep: number, activeId: number, depositForY: boolean, mint: Mint, clock: Clock): {
6390
8494
  binId: number;
6391
8495
  amount: BN;
6392
8496
  }[];
8497
+ /**
8498
+ * Converts a weight distribution into token amounts for both bid and ask sides.
8499
+ *
8500
+ * @param amountX - The total amount of token X to distribute.
8501
+ * @param amountY - The total amount of token Y to distribute.
8502
+ * @param distributions - The array of weight distributions for each bin.
8503
+ * @param binStep - The step interval between bin ids.
8504
+ * @param activeId - The id of the active bin.
8505
+ * @param amountXInActiveBin - The amount of token X in the active bin.
8506
+ * @param amountYInActiveBin - The amount of token Y in the active bin.
8507
+ * @param mintX - Mint information for token X. Get from DLMM instance.
8508
+ * @param mintY - Mint information for token Y. Get from DLMM instance.
8509
+ * @param clock - Clock instance for the current epoch. Get from DLMM instance.
8510
+ * @returns An array of objects containing binId, amountX, and amountY for each bin.
8511
+ */
6393
8512
  declare function fromWeightDistributionToAmount(amountX: BN, amountY: BN, distributions: {
6394
8513
  binId: number;
6395
8514
  weight: number;
6396
- }[], binStep: number, activeId: number, amountXInActiveBin: BN, amountYInActiveBin: BN): {
8515
+ }[], binStep: number, activeId: number, amountXInActiveBin: BN, amountYInActiveBin: BN, mintX: Mint, mintY: Mint, clock: Clock): {
6397
8516
  binId: number;
6398
8517
  amountX: BN;
6399
8518
  amountY: BN;
@@ -6418,24 +8537,58 @@ declare function swapExactInQuoteAtBin(bin: Bin, binStep: number, sParameter: sP
6418
8537
  protocolFee: BN;
6419
8538
  };
6420
8539
 
8540
+ /**
8541
+ * Distribute totalAmount to all bid side bins according to given distributions.
8542
+ * @param activeId active bin id
8543
+ * @param totalAmount total amount of token Y to be distributed
8544
+ * @param distributions weight distribution of each bin
8545
+ * @param mintY mint of token Y, get from DLMM instance
8546
+ * @param clock clock of the program, for calculating transfer fee, get from DLMM instance
8547
+ * @returns array of {binId, amount} where amount is the amount of token Y in each bin
8548
+ */
6421
8549
  declare function toAmountBidSide(activeId: number, totalAmount: BN, distributions: {
6422
8550
  binId: number;
6423
8551
  weight: number;
6424
- }[]): {
8552
+ }[], mintY: Mint, clock: Clock): {
6425
8553
  binId: number;
6426
8554
  amount: BN;
6427
8555
  }[];
8556
+ /**
8557
+ * Distribute totalAmount to all ask side bins according to given distributions.
8558
+ * @param activeId active bin id
8559
+ * @param totalAmount total amount of token Y to be distributed
8560
+ * @param distributions weight distribution of each bin
8561
+ * @param mintX mint of token X, get from DLMM instance
8562
+ * @param clock clock of the program, for calculating transfer fee, get from DLMM instance
8563
+ * @returns array of {binId, amount} where amount is the amount of token X in each bin
8564
+ */
6428
8565
  declare function toAmountAskSide(activeId: number, binStep: number, totalAmount: BN, distributions: {
6429
8566
  binId: number;
6430
8567
  weight: number;
6431
- }[]): {
8568
+ }[], mintX: Mint, clock: Clock): {
6432
8569
  binId: number;
6433
8570
  amount: BN;
6434
8571
  }[];
8572
+ /**
8573
+ * Distributes the given amounts of tokens X and Y to both bid and ask side bins
8574
+ * based on the provided weight distributions.
8575
+ *
8576
+ * @param activeId - The id of the active bin.
8577
+ * @param binStep - The step interval between bin ids.
8578
+ * @param amountX - Total amount of token X to distribute.
8579
+ * @param amountY - Total amount of token Y to distribute.
8580
+ * @param amountXInActiveBin - Amount of token X already in the active bin.
8581
+ * @param amountYInActiveBin - Amount of token Y already in the active bin.
8582
+ * @param distributions - Array of bins with their respective weight distributions.
8583
+ * @param mintX - Mint information for token X. Get from DLMM instance.
8584
+ * @param mintY - Mint information for token Y. Get from DLMM instance.
8585
+ * @param clock - Clock instance. Get from DLMM instance.
8586
+ * @returns An array of objects containing binId, amountX, and amountY for each bin.
8587
+ */
6435
8588
  declare function toAmountBothSide(activeId: number, binStep: number, amountX: BN, amountY: BN, amountXInActiveBin: BN, amountYInActiveBin: BN, distributions: {
6436
8589
  binId: number;
6437
8590
  weight: number;
6438
- }[]): {
8591
+ }[], mintX: Mint, mintY: Mint, clock: Clock): {
6439
8592
  binId: number;
6440
8593
  amountX: BN;
6441
8594
  amountY: BN;
@@ -6449,7 +8602,23 @@ declare function autoFillXByWeight(activeId: number, binStep: number, amountY: B
6449
8602
  weight: number;
6450
8603
  }[]): BN;
6451
8604
 
6452
- declare function toAmountsBothSideByStrategy(activeId: number, binStep: number, minBinId: number, maxBinId: number, amountX: BN, amountY: BN, amountXInActiveBin: BN, amountYInActiveBin: BN, strategyType: StrategyType): {
8605
+ /**
8606
+ * Given a strategy type and amounts of X and Y, returns the distribution of liquidity.
8607
+ * @param activeId The bin id of the active bin.
8608
+ * @param binStep The step size of each bin.
8609
+ * @param minBinId The min bin id.
8610
+ * @param maxBinId The max bin id.
8611
+ * @param amountX The amount of X token to deposit.
8612
+ * @param amountY The amount of Y token to deposit.
8613
+ * @param amountXInActiveBin The amount of X token in the active bin.
8614
+ * @param amountYInActiveBin The amount of Y token in the active bin.
8615
+ * @param strategyType The strategy type.
8616
+ * @param mintX The mint info of X token. Get from DLMM instance.
8617
+ * @param mintY The mint info of Y token. Get from DLMM instance.
8618
+ * @param clock The clock info. Get from DLMM instance.
8619
+ * @returns The distribution of liquidity.
8620
+ */
8621
+ 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): {
6453
8622
  binId: number;
6454
8623
  amountX: BN;
6455
8624
  amountY: BN;
@@ -6538,10 +8707,15 @@ declare function toStrategyParameters({ maxBinId, minBinId, strategyType, single
6538
8707
  */
6539
8708
  declare function getTokensMintFromPoolAddress(connection: Connection, poolAddress: string, opt?: {
6540
8709
  cluster?: Cluster;
8710
+ programId?: PublicKey;
6541
8711
  }): Promise<{
6542
8712
  tokenXMint: PublicKey;
6543
8713
  tokenYMint: PublicKey;
6544
8714
  }>;
8715
+ declare function getTokenProgramId(lbPairState: LbPair): {
8716
+ tokenXProgram: PublicKey;
8717
+ tokenYProgram: PublicKey;
8718
+ };
6545
8719
 
6546
8720
  declare function chunks<T>(array: T[], size: number): T[][];
6547
8721
  declare function range<T>(min: number, max: number, mapfn: (i: number) => T): T[];
@@ -6556,6 +8730,7 @@ declare function chunkedFetchMultiplePoolAccount(program: ClmmProgram, pks: Publ
6556
8730
  minBinId: number;
6557
8731
  maxBinId: number;
6558
8732
  protocolShare: number;
8733
+ baseFeePowerFactor: number;
6559
8734
  padding: number[];
6560
8735
  };
6561
8736
  vParameters: {
@@ -6606,6 +8781,8 @@ declare function chunkedFetchMultiplePoolAccount(program: ClmmProgram, pks: Publ
6606
8781
  padding3: number[];
6607
8782
  padding4: BN;
6608
8783
  creator: PublicKey;
8784
+ tokenMintXProgramFlag: number;
8785
+ tokenMintYProgramFlag: number;
6609
8786
  reserved: number[];
6610
8787
  }[]>;
6611
8788
  declare function chunkedFetchMultipleBinArrayBitmapExtensionAccount(program: ClmmProgram, pks: PublicKey[], chunkSize?: number): Promise<{
@@ -6615,7 +8792,7 @@ declare function chunkedFetchMultipleBinArrayBitmapExtensionAccount(program: Clm
6615
8792
  }[]>;
6616
8793
  declare function getOutAmount(bin: Bin, inAmount: BN, swapForY: boolean): BN;
6617
8794
  declare function getTokenDecimals(conn: Connection, mint: PublicKey): Promise<number>;
6618
- declare const getOrCreateATAInstruction: (connection: Connection, tokenMint: PublicKey, owner: PublicKey, payer?: PublicKey, allowOwnerOffCurve?: boolean) => Promise<GetOrCreateATAResponse>;
8795
+ declare const getOrCreateATAInstruction: (connection: Connection, tokenMint: PublicKey, owner: PublicKey, programId?: PublicKey, payer?: PublicKey, allowOwnerOffCurve?: boolean) => Promise<GetOrCreateATAResponse>;
6619
8796
  declare function getTokenBalance(conn: Connection, tokenAccount: PublicKey): Promise<bigint>;
6620
8797
  declare const parseLogs: <T>(eventParser: EventParser, logs: string[]) => T;
6621
8798
  declare const wrapSOLInstruction: (from: PublicKey, to: PublicKey, amount: bigint) => TransactionInstruction[];
@@ -6689,5 +8866,6 @@ declare const MAX_BIN_PER_TX = 69;
6689
8866
  declare const MAX_ACTIVE_BIN_SLIPPAGE = 3;
6690
8867
  declare const ILM_BASE: PublicKey;
6691
8868
  declare const MAX_EXTRA_BIN_ARRAYS = 3;
8869
+ declare const U64_MAX: BN;
6692
8870
 
6693
- 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 };
8871
+ 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 };