@byreal-io/byreal-clmm-sdk 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +341 -0
  3. package/dist/esm/client/chain.d.ts +227 -0
  4. package/dist/esm/client/chain.d.ts.map +1 -0
  5. package/dist/esm/client/chain.js +1123 -0
  6. package/dist/esm/client/chain.js.map +1 -0
  7. package/dist/esm/client/index.d.ts +4 -0
  8. package/dist/esm/client/index.d.ts.map +1 -0
  9. package/dist/esm/client/index.js +4 -0
  10. package/dist/esm/client/index.js.map +1 -0
  11. package/dist/esm/client/models.d.ts +160 -0
  12. package/dist/esm/client/models.d.ts.map +1 -0
  13. package/dist/esm/client/models.js +2 -0
  14. package/dist/esm/client/models.js.map +1 -0
  15. package/dist/esm/client/utils.d.ts +103 -0
  16. package/dist/esm/client/utils.d.ts.map +1 -0
  17. package/dist/esm/client/utils.js +238 -0
  18. package/dist/esm/client/utils.js.map +1 -0
  19. package/dist/esm/constants.d.ts +19 -0
  20. package/dist/esm/constants.d.ts.map +1 -0
  21. package/dist/esm/constants.js +27 -0
  22. package/dist/esm/constants.js.map +1 -0
  23. package/dist/esm/index.d.ts +5 -0
  24. package/dist/esm/index.d.ts.map +1 -0
  25. package/dist/esm/index.js +5 -0
  26. package/dist/esm/index.js.map +1 -0
  27. package/dist/esm/instructions/baseInstruction.d.ts +74 -0
  28. package/dist/esm/instructions/baseInstruction.d.ts.map +1 -0
  29. package/dist/esm/instructions/baseInstruction.js +577 -0
  30. package/dist/esm/instructions/baseInstruction.js.map +1 -0
  31. package/dist/esm/instructions/constants.d.ts +29 -0
  32. package/dist/esm/instructions/constants.d.ts.map +1 -0
  33. package/dist/esm/instructions/constants.js +32 -0
  34. package/dist/esm/instructions/constants.js.map +1 -0
  35. package/dist/esm/instructions/getRawData.d.ts +60 -0
  36. package/dist/esm/instructions/getRawData.d.ts.map +1 -0
  37. package/dist/esm/instructions/getRawData.js +105 -0
  38. package/dist/esm/instructions/getRawData.js.map +1 -0
  39. package/dist/esm/instructions/index.d.ts +9 -0
  40. package/dist/esm/instructions/index.d.ts.map +1 -0
  41. package/dist/esm/instructions/index.js +9 -0
  42. package/dist/esm/instructions/index.js.map +1 -0
  43. package/dist/esm/instructions/instruction.d.ts +137 -0
  44. package/dist/esm/instructions/instruction.d.ts.map +1 -0
  45. package/dist/esm/instructions/instruction.js +152 -0
  46. package/dist/esm/instructions/instruction.js.map +1 -0
  47. package/dist/esm/instructions/layout.d.ts +217 -0
  48. package/dist/esm/instructions/layout.d.ts.map +1 -0
  49. package/dist/esm/instructions/layout.js +203 -0
  50. package/dist/esm/instructions/layout.js.map +1 -0
  51. package/dist/esm/instructions/libs/marshmallow/bufferLayout.d.ts +107 -0
  52. package/dist/esm/instructions/libs/marshmallow/bufferLayout.d.ts.map +1 -0
  53. package/dist/esm/instructions/libs/marshmallow/bufferLayout.js +49 -0
  54. package/dist/esm/instructions/libs/marshmallow/bufferLayout.js.map +1 -0
  55. package/dist/esm/instructions/libs/marshmallow/index.d.ts +88 -0
  56. package/dist/esm/instructions/libs/marshmallow/index.d.ts.map +1 -0
  57. package/dist/esm/instructions/libs/marshmallow/index.js +256 -0
  58. package/dist/esm/instructions/libs/marshmallow/index.js.map +1 -0
  59. package/dist/esm/instructions/models.d.ts +39 -0
  60. package/dist/esm/instructions/models.d.ts.map +1 -0
  61. package/dist/esm/instructions/models.js +14 -0
  62. package/dist/esm/instructions/models.js.map +1 -0
  63. package/dist/esm/instructions/pda.d.ts +52 -0
  64. package/dist/esm/instructions/pda.d.ts.map +1 -0
  65. package/dist/esm/instructions/pda.js +47 -0
  66. package/dist/esm/instructions/pda.js.map +1 -0
  67. package/dist/esm/instructions/target/idl/byreal_amm_v3.json +7242 -0
  68. package/dist/esm/instructions/target/idl/byreal_amm_v3_test.json +7680 -0
  69. package/dist/esm/instructions/target/types/byreal_amm_v3.d.ts +5329 -0
  70. package/dist/esm/instructions/target/types/byreal_amm_v3.d.ts.map +1 -0
  71. package/dist/esm/instructions/target/types/byreal_amm_v3.js +2 -0
  72. package/dist/esm/instructions/target/types/byreal_amm_v3.js.map +1 -0
  73. package/dist/esm/instructions/target/types/raydium_amm_v3.d.ts +4149 -0
  74. package/dist/esm/instructions/target/types/raydium_amm_v3.d.ts.map +1 -0
  75. package/dist/esm/instructions/target/types/raydium_amm_v3.js +2 -0
  76. package/dist/esm/instructions/target/types/raydium_amm_v3.js.map +1 -0
  77. package/dist/esm/instructions/utils/binaryUtils.d.ts +11 -0
  78. package/dist/esm/instructions/utils/binaryUtils.d.ts.map +1 -0
  79. package/dist/esm/instructions/utils/binaryUtils.js +77 -0
  80. package/dist/esm/instructions/utils/binaryUtils.js.map +1 -0
  81. package/dist/esm/instructions/utils/fetchWalletTokenAccounts.d.ts +42 -0
  82. package/dist/esm/instructions/utils/fetchWalletTokenAccounts.d.ts.map +1 -0
  83. package/dist/esm/instructions/utils/fetchWalletTokenAccounts.js +63 -0
  84. package/dist/esm/instructions/utils/fetchWalletTokenAccounts.js.map +1 -0
  85. package/dist/esm/instructions/utils/getTickArrayBitmapExtension.d.ts +8 -0
  86. package/dist/esm/instructions/utils/getTickArrayBitmapExtension.d.ts.map +1 -0
  87. package/dist/esm/instructions/utils/getTickArrayBitmapExtension.js +22 -0
  88. package/dist/esm/instructions/utils/getTickArrayBitmapExtension.js.map +1 -0
  89. package/dist/esm/instructions/utils/getTickArrayInfo.d.ts +16 -0
  90. package/dist/esm/instructions/utils/getTickArrayInfo.d.ts.map +1 -0
  91. package/dist/esm/instructions/utils/getTickArrayInfo.js +75 -0
  92. package/dist/esm/instructions/utils/getTickArrayInfo.js.map +1 -0
  93. package/dist/esm/instructions/utils/index.d.ts +21 -0
  94. package/dist/esm/instructions/utils/index.d.ts.map +1 -0
  95. package/dist/esm/instructions/utils/index.js +21 -0
  96. package/dist/esm/instructions/utils/index.js.map +1 -0
  97. package/dist/esm/instructions/utils/liquidityMath.d.ts +30 -0
  98. package/dist/esm/instructions/utils/liquidityMath.d.ts.map +1 -0
  99. package/dist/esm/instructions/utils/liquidityMath.js +138 -0
  100. package/dist/esm/instructions/utils/liquidityMath.js.map +1 -0
  101. package/dist/esm/instructions/utils/mathUtils.d.ts +11 -0
  102. package/dist/esm/instructions/utils/mathUtils.d.ts.map +1 -0
  103. package/dist/esm/instructions/utils/mathUtils.js +36 -0
  104. package/dist/esm/instructions/utils/mathUtils.js.map +1 -0
  105. package/dist/esm/instructions/utils/models.d.ts +93 -0
  106. package/dist/esm/instructions/utils/models.d.ts.map +1 -0
  107. package/dist/esm/instructions/utils/models.js +13 -0
  108. package/dist/esm/instructions/utils/models.js.map +1 -0
  109. package/dist/esm/instructions/utils/poolStateUtils.d.ts +134 -0
  110. package/dist/esm/instructions/utils/poolStateUtils.d.ts.map +1 -0
  111. package/dist/esm/instructions/utils/poolStateUtils.js +137 -0
  112. package/dist/esm/instructions/utils/poolStateUtils.js.map +1 -0
  113. package/dist/esm/instructions/utils/poolUtils.d.ts +136 -0
  114. package/dist/esm/instructions/utils/poolUtils.d.ts.map +1 -0
  115. package/dist/esm/instructions/utils/poolUtils.js +219 -0
  116. package/dist/esm/instructions/utils/poolUtils.js.map +1 -0
  117. package/dist/esm/instructions/utils/position.d.ts +36 -0
  118. package/dist/esm/instructions/utils/position.d.ts.map +1 -0
  119. package/dist/esm/instructions/utils/position.js +86 -0
  120. package/dist/esm/instructions/utils/position.js.map +1 -0
  121. package/dist/esm/instructions/utils/sqrtPriceMath.d.ts +14 -0
  122. package/dist/esm/instructions/utils/sqrtPriceMath.d.ts.map +1 -0
  123. package/dist/esm/instructions/utils/sqrtPriceMath.js +168 -0
  124. package/dist/esm/instructions/utils/sqrtPriceMath.js.map +1 -0
  125. package/dist/esm/instructions/utils/swapMath.d.ts +48 -0
  126. package/dist/esm/instructions/utils/swapMath.d.ts.map +1 -0
  127. package/dist/esm/instructions/utils/swapMath.js +263 -0
  128. package/dist/esm/instructions/utils/swapMath.js.map +1 -0
  129. package/dist/esm/instructions/utils/tick.d.ts +106 -0
  130. package/dist/esm/instructions/utils/tick.d.ts.map +1 -0
  131. package/dist/esm/instructions/utils/tick.js +390 -0
  132. package/dist/esm/instructions/utils/tick.js.map +1 -0
  133. package/dist/esm/instructions/utils/tickArrayUtils.d.ts +50 -0
  134. package/dist/esm/instructions/utils/tickArrayUtils.d.ts.map +1 -0
  135. package/dist/esm/instructions/utils/tickArrayUtils.js +157 -0
  136. package/dist/esm/instructions/utils/tickArrayUtils.js.map +1 -0
  137. package/dist/esm/instructions/utils/tickMath.d.ts +18 -0
  138. package/dist/esm/instructions/utils/tickMath.d.ts.map +1 -0
  139. package/dist/esm/instructions/utils/tickMath.js +34 -0
  140. package/dist/esm/instructions/utils/tickMath.js.map +1 -0
  141. package/dist/esm/instructions/utils/tickarrayBitmap.d.ts +38 -0
  142. package/dist/esm/instructions/utils/tickarrayBitmap.d.ts.map +1 -0
  143. package/dist/esm/instructions/utils/tickarrayBitmap.js +157 -0
  144. package/dist/esm/instructions/utils/tickarrayBitmap.js.map +1 -0
  145. package/dist/esm/instructions/utils/transfer.d.ts +7 -0
  146. package/dist/esm/instructions/utils/transfer.d.ts.map +1 -0
  147. package/dist/esm/instructions/utils/transfer.js +78 -0
  148. package/dist/esm/instructions/utils/transfer.js.map +1 -0
  149. package/dist/esm/utils/accountInfo.d.ts +27 -0
  150. package/dist/esm/utils/accountInfo.d.ts.map +1 -0
  151. package/dist/esm/utils/accountInfo.js +80 -0
  152. package/dist/esm/utils/accountInfo.js.map +1 -0
  153. package/dist/esm/utils/checkV0TxSize.d.ts +8 -0
  154. package/dist/esm/utils/checkV0TxSize.d.ts.map +1 -0
  155. package/dist/esm/utils/checkV0TxSize.js +18 -0
  156. package/dist/esm/utils/checkV0TxSize.js.map +1 -0
  157. package/dist/esm/utils/estimateComputeUnits.d.ts +11 -0
  158. package/dist/esm/utils/estimateComputeUnits.d.ts.map +1 -0
  159. package/dist/esm/utils/estimateComputeUnits.js +48 -0
  160. package/dist/esm/utils/estimateComputeUnits.js.map +1 -0
  161. package/dist/esm/utils/generatePubKey.d.ts +10 -0
  162. package/dist/esm/utils/generatePubKey.d.ts.map +1 -0
  163. package/dist/esm/utils/generatePubKey.js +14 -0
  164. package/dist/esm/utils/generatePubKey.js.map +1 -0
  165. package/dist/esm/utils/index.d.ts +9 -0
  166. package/dist/esm/utils/index.d.ts.map +1 -0
  167. package/dist/esm/utils/index.js +11 -0
  168. package/dist/esm/utils/index.js.map +1 -0
  169. package/dist/esm/utils/token.d.ts +9 -0
  170. package/dist/esm/utils/token.d.ts.map +1 -0
  171. package/dist/esm/utils/token.js +16 -0
  172. package/dist/esm/utils/token.js.map +1 -0
  173. package/dist/esm/utils/transactionUtils.d.ts +84 -0
  174. package/dist/esm/utils/transactionUtils.d.ts.map +1 -0
  175. package/dist/esm/utils/transactionUtils.js +138 -0
  176. package/dist/esm/utils/transactionUtils.js.map +1 -0
  177. package/dist/esm/utils/validateAndParsePublicKey.d.ts +15 -0
  178. package/dist/esm/utils/validateAndParsePublicKey.d.ts.map +1 -0
  179. package/dist/esm/utils/validateAndParsePublicKey.js +42 -0
  180. package/dist/esm/utils/validateAndParsePublicKey.js.map +1 -0
  181. package/package.json +66 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/client/chain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './chain.js';
2
+ export * from './models.js';
3
+ export * from './utils.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './chain.js';
2
+ export * from './models.js';
3
+ export * from './utils.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,160 @@
1
+ import { PublicKey, Signer, TransactionInstruction, VersionedTransaction } from '@solana/web3.js';
2
+ import BN from 'bn.js';
3
+ import { Decimal } from 'decimal.js';
4
+ import { IPersonalPositionLayout, IPoolLayoutWithId, ITokenInfo } from '../instructions/index.js';
5
+ import { IMakeTransactionOptions } from '../utils/index.js';
6
+ export type SignerCallback = (transaction: VersionedTransaction) => Promise<VersionedTransaction>;
7
+ export type ParamsWithSignerCallback<T> = T & {
8
+ signerCallback: SignerCallback;
9
+ };
10
+ export interface IInstructionReturn {
11
+ instructions: TransactionInstruction[];
12
+ signers?: Signer[];
13
+ transaction: VersionedTransaction;
14
+ nftAddress?: string;
15
+ }
16
+ export interface ICreatePositionParams {
17
+ userAddress: PublicKey;
18
+ poolInfo: IPoolLayoutWithId;
19
+ tickLower: number;
20
+ tickUpper: number;
21
+ base: 'MintA' | 'MintB';
22
+ baseAmount: BN;
23
+ otherAmountMax: BN;
24
+ transactionOptions?: IMakeTransactionOptions;
25
+ }
26
+ export interface IClosePositionParams {
27
+ userAddress: PublicKey;
28
+ nftMint: PublicKey;
29
+ }
30
+ export interface IDecreaseLiquidityParams {
31
+ userAddress: PublicKey;
32
+ nftMint: PublicKey;
33
+ liquidity: BN;
34
+ slippage?: number;
35
+ }
36
+ export interface IDecreaseFullLiquidityParams {
37
+ userAddress: PublicKey;
38
+ nftMint: PublicKey;
39
+ closePosition?: boolean;
40
+ slippage?: number;
41
+ }
42
+ export interface IAddLiquidityParams {
43
+ userAddress: PublicKey;
44
+ nftMint: PublicKey;
45
+ base: 'MintA' | 'MintB';
46
+ baseAmount: BN;
47
+ otherAmountMax: BN;
48
+ computeBudgetOptions?: IComputeBudgetOptions;
49
+ }
50
+ export interface ICreatePoolParams {
51
+ userAddress: PublicKey;
52
+ poolManager: PublicKey;
53
+ mintA: ITokenInfo;
54
+ mintB: ITokenInfo;
55
+ ammConfigId: PublicKey;
56
+ initialPrice: number;
57
+ openTime?: BN;
58
+ computeBudgetOptions?: IComputeBudgetOptions;
59
+ }
60
+ export interface ICollectFeesParams {
61
+ userAddress: PublicKey;
62
+ nftMint: PublicKey;
63
+ }
64
+ export interface ICollectAllFeesParams {
65
+ userAddress: PublicKey;
66
+ nftMintList: PublicKey[];
67
+ }
68
+ export interface IGetPositionInfoByNftMintReturn {
69
+ priceLower: Decimal;
70
+ priceUpper: Decimal;
71
+ uiPriceLower: string;
72
+ uiPriceUpper: string;
73
+ tokenA: {
74
+ address: PublicKey;
75
+ decimals: number;
76
+ amount: BN;
77
+ feeAmount: BN;
78
+ uiAmount: string;
79
+ uiFeeAmount: string;
80
+ };
81
+ tokenB: {
82
+ address: PublicKey;
83
+ decimals: number;
84
+ amount: BN;
85
+ feeAmount: BN;
86
+ uiAmount: string;
87
+ uiFeeAmount: string;
88
+ };
89
+ rawPositionInfo: IPersonalPositionLayout;
90
+ rawPoolInfo: IPoolLayoutWithId;
91
+ }
92
+ export interface ICalculateCreatePositionFee {
93
+ transactionNetFee: number;
94
+ refundableFees: number;
95
+ unRefundableFees: number;
96
+ createTickFee: number;
97
+ }
98
+ /**
99
+ * maxFee and exactFee are mutually exclusive
100
+ */
101
+ export type IComputeBudgetOptions = {
102
+ maxFee: number;
103
+ exactFee?: never;
104
+ computeUnitPrice?: number;
105
+ } | {
106
+ maxFee?: never;
107
+ exactFee: number;
108
+ computeUnitPrice?: never;
109
+ } | {
110
+ maxFee?: undefined;
111
+ exactFee?: undefined;
112
+ computeUnitPrice?: number;
113
+ };
114
+ export interface IQouteSwapParams {
115
+ poolInfo: IPoolLayoutWithId;
116
+ inputTokenMint: PublicKey;
117
+ amountIn: BN;
118
+ slippage?: number;
119
+ priceLimit?: Decimal;
120
+ catchLiquidityInsufficient?: boolean;
121
+ }
122
+ export interface IQouteSwapReturn {
123
+ allTrade: boolean;
124
+ amountIn: BN;
125
+ isInputMintA: boolean;
126
+ expectedAmountOut: BN;
127
+ minAmountOut: BN;
128
+ remainingAccounts: PublicKey[];
129
+ executionPrice: BN;
130
+ feeAmount: BN;
131
+ }
132
+ export interface ISwapParams {
133
+ poolInfo: IPoolLayoutWithId;
134
+ userAddress: PublicKey;
135
+ quoteReturn: IQouteSwapReturn;
136
+ }
137
+ export interface ISwapExactOutParams {
138
+ poolInfo: IPoolLayoutWithId;
139
+ userAddress: PublicKey;
140
+ quoteReturn: IQuoteSwapExactOutReturn;
141
+ }
142
+ export interface IQuoteSwapExactOutParams {
143
+ poolInfo: IPoolLayoutWithId;
144
+ outputTokenMint: PublicKey;
145
+ amountOut: BN;
146
+ slippage?: number;
147
+ priceLimit?: Decimal;
148
+ catchLiquidityInsufficient?: boolean;
149
+ }
150
+ export interface IQuoteSwapExactOutReturn {
151
+ allTrade: boolean;
152
+ amountOut: BN;
153
+ isOutputMintA: boolean;
154
+ expectedAmountIn: BN;
155
+ maxAmountIn: BN;
156
+ remainingAccounts: PublicKey[];
157
+ executionPrice: BN;
158
+ feeAmount: BN;
159
+ }
160
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/client/models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/client/models.ts"],"names":[],"mappings":""}
@@ -0,0 +1,103 @@
1
+ import BN from 'bn.js';
2
+ import { Decimal } from 'decimal.js';
3
+ import { IPoolLayout, IPoolLayoutWithId } from '../instructions/index.js';
4
+ import { Connection, PublicKey } from '@solana/web3.js';
5
+ /**
6
+ * Used to round the price to the corresponding tick when creating a position
7
+ * @param price Input price
8
+ * @param poolInfo Pool information
9
+ * @returns Decimal rounded price
10
+ */
11
+ export declare function alignPriceToTickPrice(price: Decimal, poolInfo: IPoolLayout): Decimal;
12
+ /**
13
+ * Calculate the amount of tokenB needed to be invested after the specified tokenA amount has been invested
14
+ * @param params.priceLower Lower price
15
+ * @param params.priceUpper Upper price
16
+ * @param params.amountA Amount of tokenA to be invested
17
+ * @param params.poolInfo Pool information
18
+ * @returns BN amount of tokenB to be invested
19
+ */
20
+ export declare function getAmountBFromAmountA(params: {
21
+ priceLower: Decimal | number | string;
22
+ priceUpper: Decimal | number | string;
23
+ amountA: BN;
24
+ poolInfo: IPoolLayout;
25
+ }): BN;
26
+ /**
27
+ * Calculate the amount of tokenA needed to be invested after the specified tokenB amount has been invested
28
+ * @param params.priceLower Lower price
29
+ * @param params.priceUpper Upper price
30
+ * @param params.amountB Amount of tokenB to be invested
31
+ * @param params.poolInfo Pool information
32
+ * @returns BN amount of tokenA to be invested
33
+ */
34
+ export declare function getAmountAFromAmountB(params: {
35
+ priceLower: Decimal | number | string;
36
+ priceUpper: Decimal | number | string;
37
+ amountB: BN;
38
+ poolInfo: IPoolLayout;
39
+ }): BN;
40
+ /**
41
+ * Calculate the expected annualized return rate of adding liquidity (APR)
42
+ */
43
+ export declare function calculateApr(params: {
44
+ volume24h: number;
45
+ feeRate: number;
46
+ positionUsdValue: number;
47
+ amountA: BN;
48
+ amountB: BN;
49
+ tickLower: number;
50
+ tickUpper: number;
51
+ poolInfo: IPoolLayoutWithId;
52
+ existLiquidity?: BN;
53
+ scene?: 'create' | 'add' | 'exist';
54
+ }): number;
55
+ /**
56
+ * Calculate the expected annualized return rate of reward
57
+ */
58
+ export declare function calculateRewardApr(params: {
59
+ reward24hUsdValue: number;
60
+ positionUsdValue: number;
61
+ amountA: BN;
62
+ amountB: BN;
63
+ tickLower: number;
64
+ tickUpper: number;
65
+ poolInfo: IPoolLayoutWithId;
66
+ existLiquidity?: BN;
67
+ scene?: 'create' | 'add' | 'exist';
68
+ }): number;
69
+ /**
70
+ * Calculate the expected annualized return rate of adding liquidity (APR)
71
+ *
72
+ */
73
+ export declare function _calculateApr(params: {
74
+ fee24hUsdValue: number;
75
+ positionUsdValue: number;
76
+ amountA: BN;
77
+ amountB: BN;
78
+ tickLower: number;
79
+ tickUpper: number;
80
+ poolInfo: IPoolLayoutWithId;
81
+ existLiquidity?: BN;
82
+ scene?: 'create' | 'add' | 'exist';
83
+ }): number;
84
+ /**
85
+ * Calculate the annualized return rate for different price ranges
86
+ * Calculate APR for different price ranges based on the percentage offset from the current price
87
+ *
88
+ * @param params Calculation parameters
89
+ * @returns Mapping of annualized return rates for different price ranges, using -1 to represent the full range
90
+ */
91
+ export declare function calculateRangeAprs(params: {
92
+ percentRanges: number[];
93
+ volume24h: number;
94
+ feeRate: number;
95
+ tokenAPriceUsd: number;
96
+ tokenBPriceUsd: number;
97
+ poolInfo: IPoolLayoutWithId;
98
+ }): Record<number, number>;
99
+ /**
100
+ * 获取 mint 对应的 token program ID
101
+ */
102
+ export declare function getTokenProgramId(connection: Connection, mintAddress: PublicKey): Promise<PublicKey>;
103
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/client/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,238 @@
1
+ import BN from 'bn.js';
2
+ import { Decimal } from 'decimal.js';
3
+ import { LiquidityMath, PoolUtils, SqrtPriceMath, TickMath, } from '../instructions/index.js';
4
+ import { TOKEN_2022_PROGRAM_ID, TOKEN_PROGRAM_ID } from '@solana/spl-token';
5
+ /**
6
+ * Used to round the price to the corresponding tick when creating a position
7
+ * @param price Input price
8
+ * @param poolInfo Pool information
9
+ * @returns Decimal rounded price
10
+ */
11
+ export function alignPriceToTickPrice(price, poolInfo) {
12
+ const { price: roundedPrice } = TickMath.getTickAlignedPriceDetails(price, poolInfo.tickSpacing, poolInfo.mintDecimalsA, poolInfo.mintDecimalsB);
13
+ return roundedPrice;
14
+ }
15
+ /**
16
+ * Calculate the amount of tokenB needed to be invested after the specified tokenA amount has been invested
17
+ * @param params.priceLower Lower price
18
+ * @param params.priceUpper Upper price
19
+ * @param params.amountA Amount of tokenA to be invested
20
+ * @param params.poolInfo Pool information
21
+ * @returns BN amount of tokenB to be invested
22
+ */
23
+ export function getAmountBFromAmountA(params) {
24
+ // console.log('[clmm sdk] getAmountBFromAmountA fn params:', JSON.stringify(params, null, 2));
25
+ const { priceLower, priceUpper, amountA, poolInfo } = params;
26
+ const priceLowerDecimal = alignPriceToTickPrice(new Decimal(priceLower), poolInfo);
27
+ const priceUpperDecimal = alignPriceToTickPrice(new Decimal(priceUpper), poolInfo);
28
+ const sqrtPriceX64A = SqrtPriceMath.priceToSqrtPriceX64(priceLowerDecimal, poolInfo.mintDecimalsA, poolInfo.mintDecimalsB);
29
+ const sqrtPriceX64B = SqrtPriceMath.priceToSqrtPriceX64(priceUpperDecimal, poolInfo.mintDecimalsA, poolInfo.mintDecimalsB);
30
+ const amountB = LiquidityMath.getAmountBFromAmountA(sqrtPriceX64A, sqrtPriceX64B, poolInfo.sqrtPriceX64, amountA);
31
+ return amountB;
32
+ }
33
+ /**
34
+ * Calculate the amount of tokenA needed to be invested after the specified tokenB amount has been invested
35
+ * @param params.priceLower Lower price
36
+ * @param params.priceUpper Upper price
37
+ * @param params.amountB Amount of tokenB to be invested
38
+ * @param params.poolInfo Pool information
39
+ * @returns BN amount of tokenA to be invested
40
+ */
41
+ export function getAmountAFromAmountB(params) {
42
+ const { priceLower, priceUpper, amountB, poolInfo } = params;
43
+ const priceLowerDecimal = alignPriceToTickPrice(new Decimal(priceLower), poolInfo);
44
+ const priceUpperDecimal = alignPriceToTickPrice(new Decimal(priceUpper), poolInfo);
45
+ const sqrtPriceX64A = SqrtPriceMath.priceToSqrtPriceX64(priceLowerDecimal, poolInfo.mintDecimalsA, poolInfo.mintDecimalsB);
46
+ const sqrtPriceX64B = SqrtPriceMath.priceToSqrtPriceX64(priceUpperDecimal, poolInfo.mintDecimalsA, poolInfo.mintDecimalsB);
47
+ return LiquidityMath.getAmountAFromAmountB(sqrtPriceX64A, sqrtPriceX64B, poolInfo.sqrtPriceX64, amountB);
48
+ }
49
+ /**
50
+ * Calculate the expected annualized return rate of adding liquidity (APR)
51
+ */
52
+ export function calculateApr(params) {
53
+ // console.log('[clmm sdk] calculateApr fn params:', JSON.stringify(params, null, 2));
54
+ const { volume24h, feeRate, positionUsdValue, amountA, amountB, tickLower, tickUpper, poolInfo, scene = 'exist', existLiquidity = new BN(0), } = params;
55
+ return _calculateApr({
56
+ fee24hUsdValue: volume24h * feeRate,
57
+ positionUsdValue,
58
+ amountA,
59
+ amountB,
60
+ tickLower,
61
+ tickUpper,
62
+ poolInfo,
63
+ scene,
64
+ existLiquidity,
65
+ });
66
+ }
67
+ /**
68
+ * Calculate the expected annualized return rate of reward
69
+ */
70
+ export function calculateRewardApr(params) {
71
+ const { reward24hUsdValue, positionUsdValue, amountA, amountB, tickLower, tickUpper, poolInfo, scene = 'exist', existLiquidity = new BN(0), } = params;
72
+ return _calculateApr({
73
+ fee24hUsdValue: reward24hUsdValue,
74
+ positionUsdValue,
75
+ amountA,
76
+ amountB,
77
+ tickLower,
78
+ tickUpper,
79
+ poolInfo,
80
+ scene,
81
+ existLiquidity,
82
+ });
83
+ }
84
+ /**
85
+ * Calculate the expected annualized return rate of adding liquidity (APR)
86
+ *
87
+ */
88
+ export function _calculateApr(params) {
89
+ const { fee24hUsdValue, positionUsdValue, amountA, amountB, tickLower, tickUpper, poolInfo, scene = 'exist', existLiquidity = new BN(0), } = params;
90
+ // Get the active liquidity of the pool
91
+ const poolActiveLiquidity = poolInfo.liquidity;
92
+ // Calculate the sqrtPrice of the price range
93
+ const sqrtPriceCurrentX64 = poolInfo.sqrtPriceX64;
94
+ const sqrtPriceLowerX64 = SqrtPriceMath.getSqrtPriceX64FromTick(tickLower);
95
+ const sqrtPriceUpperX64 = SqrtPriceMath.getSqrtPriceX64FromTick(tickUpper);
96
+ // Calculate the active liquidity of the user
97
+ const userActiveLiquidity = LiquidityMath.getLiquidityFromTokenAmounts(sqrtPriceCurrentX64, sqrtPriceLowerX64, sqrtPriceUpperX64, amountA, amountB);
98
+ // Check if the current price is within the user's range
99
+ const isInRange = poolInfo.tickCurrent >= tickLower && poolInfo.tickCurrent < tickUpper;
100
+ // If not in range, active liquidity is 0
101
+ if (!isInRange) {
102
+ return 0;
103
+ }
104
+ if (poolActiveLiquidity.isZero()) {
105
+ return 0;
106
+ }
107
+ // Calculate the annualized return rate
108
+ // Formula source: https://uponly.larksuite.com/wiki/GznTwz3kGi3D0ikaLp8uDlYcsKd?fromScene=spaceOverview
109
+ // For creating liquidity: (Volume * FeeRate / Position) * (userAL / (AL + userAL)) * 365 * 100
110
+ // For adding liquidity: (Volume * FeeRate / Position) * ((userAL + addAL) / (AL + addAL)) * 365 * 100
111
+ // For existing positions: (Volume * FeeRate / Position) * (userAL / AL) * 365 * 100
112
+ const fee24hDec = new Decimal(fee24hUsdValue);
113
+ const positionUsdValueDec = new Decimal(positionUsdValue);
114
+ const userActiveLiquidityDec = new Decimal(userActiveLiquidity.toString());
115
+ const poolActiveLiquidityDec = new Decimal(poolActiveLiquidity.toString());
116
+ const existLiquidityDec = new Decimal(existLiquidity.toString());
117
+ // Daily return rate
118
+ const dailyReturn = fee24hDec.div(positionUsdValueDec);
119
+ // Calculate the liquidity share using Decimal
120
+ let liquidityShare;
121
+ if (scene === 'create') {
122
+ liquidityShare = userActiveLiquidityDec.div(poolActiveLiquidityDec.plus(userActiveLiquidityDec));
123
+ }
124
+ else if (scene === 'add') {
125
+ liquidityShare = existLiquidityDec
126
+ .plus(userActiveLiquidityDec)
127
+ .div(poolActiveLiquidityDec.plus(userActiveLiquidityDec));
128
+ }
129
+ else {
130
+ liquidityShare = userActiveLiquidityDec.div(poolActiveLiquidityDec);
131
+ }
132
+ // Calculate the annualized return rate
133
+ const apr = dailyReturn.mul(liquidityShare).mul(365).mul(100).toNumber();
134
+ return apr;
135
+ }
136
+ /**
137
+ * Calculate the annualized return rate for different price ranges
138
+ * Calculate APR for different price ranges based on the percentage offset from the current price
139
+ *
140
+ * @param params Calculation parameters
141
+ * @returns Mapping of annualized return rates for different price ranges, using -1 to represent the full range
142
+ */
143
+ export function calculateRangeAprs(params) {
144
+ const { percentRanges, volume24h, feeRate, tokenAPriceUsd, tokenBPriceUsd, poolInfo } = params;
145
+ // Get the current price, liquidity and sample liquidity
146
+ const currentPrice = TickMath.getPriceFromTick({
147
+ tick: poolInfo.tickCurrent,
148
+ decimalsA: poolInfo.mintDecimalsA,
149
+ decimalsB: poolInfo.mintDecimalsB,
150
+ });
151
+ const poolLiquidity = poolInfo.liquidity;
152
+ const _sampleLiquidity = poolLiquidity.div(new BN(10000));
153
+ const _minLiquidity = new BN(1000);
154
+ const liquidityToUse = _sampleLiquidity.lt(_minLiquidity) ? _minLiquidity : _sampleLiquidity;
155
+ // Result mapping
156
+ const result = {};
157
+ const { minTickBoundary, maxTickBoundary } = PoolUtils.tickRange(poolInfo.tickSpacing);
158
+ // Calculate APR for each range
159
+ for (const range of percentRanges) {
160
+ let tickLower;
161
+ let tickUpper;
162
+ if (range === -1) {
163
+ tickLower = minTickBoundary;
164
+ tickUpper = maxTickBoundary;
165
+ }
166
+ else {
167
+ const lowerPriceRatio = new Decimal(1).minus(new Decimal(range).div(100));
168
+ const upperPriceRatio = new Decimal(1).plus(new Decimal(range).div(100));
169
+ const lowerPrice = currentPrice.mul(lowerPriceRatio);
170
+ const upperPrice = currentPrice.mul(upperPriceRatio);
171
+ tickLower = TickMath.getTickWithPriceAndTickspacing(lowerPrice, poolInfo.tickSpacing, poolInfo.mintDecimalsA, poolInfo.mintDecimalsB);
172
+ tickUpper = TickMath.getTickWithPriceAndTickspacing(upperPrice, poolInfo.tickSpacing, poolInfo.mintDecimalsA, poolInfo.mintDecimalsB);
173
+ }
174
+ // Ensure that lower and upper are at least 1 tickSpacing apart
175
+ if (tickLower >= tickUpper) {
176
+ tickLower = Math.max(minTickBoundary, poolInfo.tickCurrent - poolInfo.tickSpacing);
177
+ tickUpper = Math.min(maxTickBoundary, poolInfo.tickCurrent + poolInfo.tickSpacing);
178
+ }
179
+ // Calculate the square root of the price (X64 format)
180
+ const sqrtPriceCurrentX64 = poolInfo.sqrtPriceX64;
181
+ const sqrtPriceLowerX64 = SqrtPriceMath.getSqrtPriceX64FromTick(tickLower);
182
+ const sqrtPriceUpperX64 = SqrtPriceMath.getSqrtPriceX64FromTick(tickUpper);
183
+ // Calculate the corresponding token amounts based on the liquidity
184
+ const { amountA, amountB } = LiquidityMath.getAmountsFromLiquidity(sqrtPriceCurrentX64, sqrtPriceLowerX64, sqrtPriceUpperX64, liquidityToUse, false // Do not round up
185
+ );
186
+ // Calculate the USD value of the tokens
187
+ const tokenAUsdAmount = new Decimal(amountA.toString())
188
+ .div(new Decimal(10).pow(poolInfo.mintDecimalsA))
189
+ .mul(tokenAPriceUsd);
190
+ const tokenBUsdAmount = new Decimal(amountB.toString())
191
+ .div(new Decimal(10).pow(poolInfo.mintDecimalsB))
192
+ .mul(tokenBPriceUsd);
193
+ // Calculate the total investment value
194
+ const positionUsdValue = tokenAUsdAmount.plus(tokenBUsdAmount);
195
+ // If the USD value is too small, set a minimum value to avoid division issues
196
+ const effectivePositionUsdValue = positionUsdValue.lt(0.01) ? new Decimal(0.01) : positionUsdValue;
197
+ // Calculate the actual annualized return rate
198
+ const apr = calculateApr({
199
+ volume24h,
200
+ feeRate,
201
+ positionUsdValue: effectivePositionUsdValue.toNumber(),
202
+ amountA,
203
+ amountB,
204
+ tickLower,
205
+ tickUpper,
206
+ poolInfo,
207
+ scene: 'create',
208
+ });
209
+ result[range] = apr;
210
+ }
211
+ return result;
212
+ }
213
+ /**
214
+ * 获取 mint 对应的 token program ID
215
+ */
216
+ export async function getTokenProgramId(connection, mintAddress) {
217
+ try {
218
+ const mintAccountInfo = await connection.getAccountInfo(mintAddress);
219
+ if (!mintAccountInfo) {
220
+ throw new Error(`Mint account not found: ${mintAddress.toBase58()}`);
221
+ }
222
+ // 检查 mint 账户的 owner 来确定使用的是哪个 token program
223
+ if (mintAccountInfo.owner.equals(TOKEN_2022_PROGRAM_ID)) {
224
+ return TOKEN_2022_PROGRAM_ID;
225
+ }
226
+ else if (mintAccountInfo.owner.equals(TOKEN_PROGRAM_ID)) {
227
+ return TOKEN_PROGRAM_ID;
228
+ }
229
+ else {
230
+ throw new Error(`Unknown token program for mint: ${mintAddress.toBase58()}`);
231
+ }
232
+ }
233
+ catch (error) {
234
+ console.warn(`Failed to get token program for ${mintAddress.toBase58()}, defaulting to TOKEN_PROGRAM_ID`);
235
+ return TOKEN_PROGRAM_ID;
236
+ }
237
+ }
238
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/client/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { PublicKey } from '@solana/web3.js';
2
+ export declare const TICK_ARRAY_SIZE = 60;
3
+ export declare const TICK_ARRAY_BITMAP_SIZE = 512;
4
+ export declare const EXTENSION_TICKARRAY_BITMAP_SIZE = 14;
5
+ export declare const DYN_TICK_ARRAY_STRUCT_LEN = 208;
6
+ export declare const DYN_TICK_ARRAY_HEADER_LEN = 216;
7
+ export declare const TICK_STATE_LEN = 168;
8
+ export declare const U64_IGNORE_RANGE: any;
9
+ export declare const BYREAL_CLMM_PROGRAM_ID: PublicKey;
10
+ export declare const BYREAL_CLMM_PROGRAM_ID_TEST: PublicKey;
11
+ export declare const MEMO_PROGRAM_ID: PublicKey;
12
+ export declare const RENT_PROGRAM_ID: PublicKey;
13
+ export declare const CLOCK_PROGRAM_ID: PublicKey;
14
+ export declare const METADATA_PROGRAM_ID: PublicKey;
15
+ export declare const INSTRUCTION_PROGRAM_ID: PublicKey;
16
+ export declare const WSOLMint: PublicKey;
17
+ export declare const SOLMint: PublicKey;
18
+ export declare const SYSTEM_PROGRAM_ID: PublicKey;
19
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAI3D,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAKlD,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAC7C,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,eAAO,MAAM,gBAAgB,KAAiC,CAAC;AAE/D,eAAO,MAAM,sBAAsB,WAA+D,CAAC;AACnG,eAAO,MAAM,2BAA2B,WAAgE,CAAC;AAEzG,eAAO,MAAM,eAAe,WAA+D,CAAC;AAC5F,eAAO,MAAM,eAAe,WAA+D,CAAC;AAC5F,eAAO,MAAM,gBAAgB,WAA+D,CAAC;AAC7F,eAAO,MAAM,mBAAmB,WAA+D,CAAC;AAChG,eAAO,MAAM,sBAAsB,WAA+D,CAAC;AACnG,eAAO,MAAM,QAAQ,WAA+D,CAAC;AACrF,eAAO,MAAM,OAAO,WAAoB,CAAC;AACzC,eAAO,MAAM,iBAAiB,WAA0B,CAAC"}