forgex-cli 1.0.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 (275) hide show
  1. package/README.md +479 -0
  2. package/dist/bin/forgex.d.ts +12 -0
  3. package/dist/bin/forgex.d.ts.map +1 -0
  4. package/dist/bin/forgex.js +23 -0
  5. package/dist/bin/forgex.js.map +1 -0
  6. package/dist/src/adapters/codex-adapter.d.ts +238 -0
  7. package/dist/src/adapters/codex-adapter.d.ts.map +1 -0
  8. package/dist/src/adapters/codex-adapter.js +524 -0
  9. package/dist/src/adapters/codex-adapter.js.map +1 -0
  10. package/dist/src/adapters/connection.d.ts +20 -0
  11. package/dist/src/adapters/connection.d.ts.map +1 -0
  12. package/dist/src/adapters/connection.js +43 -0
  13. package/dist/src/adapters/connection.js.map +1 -0
  14. package/dist/src/adapters/ipfs.d.ts +17 -0
  15. package/dist/src/adapters/ipfs.d.ts.map +1 -0
  16. package/dist/src/adapters/ipfs.js +30 -0
  17. package/dist/src/adapters/ipfs.js.map +1 -0
  18. package/dist/src/adapters/jito-adapter.d.ts +194 -0
  19. package/dist/src/adapters/jito-adapter.d.ts.map +1 -0
  20. package/dist/src/adapters/jito-adapter.js +474 -0
  21. package/dist/src/adapters/jito-adapter.js.map +1 -0
  22. package/dist/src/adapters/rpc-adapter.d.ts +148 -0
  23. package/dist/src/adapters/rpc-adapter.d.ts.map +1 -0
  24. package/dist/src/adapters/rpc-adapter.js +410 -0
  25. package/dist/src/adapters/rpc-adapter.js.map +1 -0
  26. package/dist/src/adapters/sdk-adapter.d.ts +148 -0
  27. package/dist/src/adapters/sdk-adapter.d.ts.map +1 -0
  28. package/dist/src/adapters/sdk-adapter.js +554 -0
  29. package/dist/src/adapters/sdk-adapter.js.map +1 -0
  30. package/dist/src/commands/config/index.d.ts +8 -0
  31. package/dist/src/commands/config/index.d.ts.map +1 -0
  32. package/dist/src/commands/config/index.js +91 -0
  33. package/dist/src/commands/config/index.js.map +1 -0
  34. package/dist/src/commands/query/index.d.ts +10 -0
  35. package/dist/src/commands/query/index.d.ts.map +1 -0
  36. package/dist/src/commands/query/index.js +376 -0
  37. package/dist/src/commands/query/index.js.map +1 -0
  38. package/dist/src/commands/sniper/index.d.ts +16 -0
  39. package/dist/src/commands/sniper/index.d.ts.map +1 -0
  40. package/dist/src/commands/sniper/index.js +292 -0
  41. package/dist/src/commands/sniper/index.js.map +1 -0
  42. package/dist/src/commands/token/index.d.ts +16 -0
  43. package/dist/src/commands/token/index.d.ts.map +1 -0
  44. package/dist/src/commands/token/index.js +295 -0
  45. package/dist/src/commands/token/index.js.map +1 -0
  46. package/dist/src/commands/tools/index.d.ts +17 -0
  47. package/dist/src/commands/tools/index.d.ts.map +1 -0
  48. package/dist/src/commands/tools/index.js +626 -0
  49. package/dist/src/commands/tools/index.js.map +1 -0
  50. package/dist/src/commands/trade/index.d.ts +8 -0
  51. package/dist/src/commands/trade/index.d.ts.map +1 -0
  52. package/dist/src/commands/trade/index.js +531 -0
  53. package/dist/src/commands/trade/index.js.map +1 -0
  54. package/dist/src/commands/transfer/index.d.ts +16 -0
  55. package/dist/src/commands/transfer/index.d.ts.map +1 -0
  56. package/dist/src/commands/transfer/index.js +509 -0
  57. package/dist/src/commands/transfer/index.js.map +1 -0
  58. package/dist/src/commands/wallet/index.d.ts +10 -0
  59. package/dist/src/commands/wallet/index.d.ts.map +1 -0
  60. package/dist/src/commands/wallet/index.js +828 -0
  61. package/dist/src/commands/wallet/index.js.map +1 -0
  62. package/dist/src/config.d.ts +74 -0
  63. package/dist/src/config.d.ts.map +1 -0
  64. package/dist/src/config.js +190 -0
  65. package/dist/src/config.js.map +1 -0
  66. package/dist/src/const/IDL/index.d.ts +4 -0
  67. package/dist/src/const/IDL/index.d.ts.map +1 -0
  68. package/dist/src/const/IDL/index.js +2 -0
  69. package/dist/src/const/IDL/index.js.map +1 -0
  70. package/dist/src/const/IDL/meteora-DLMM.d.ts +10249 -0
  71. package/dist/src/const/IDL/meteora-DLMM.d.ts.map +1 -0
  72. package/dist/src/const/IDL/meteora-DLMM.js +4177 -0
  73. package/dist/src/const/IDL/meteora-DLMM.js.map +1 -0
  74. package/dist/src/const/IDL/pump-fun.d.ts +4811 -0
  75. package/dist/src/const/IDL/pump-fun.d.ts.map +1 -0
  76. package/dist/src/const/IDL/pump-fun.js +2954 -0
  77. package/dist/src/const/IDL/pump-fun.js.map +1 -0
  78. package/dist/src/const/IDL/pump-swap-IDL.d.ts +3119 -0
  79. package/dist/src/const/IDL/pump-swap-IDL.d.ts.map +1 -0
  80. package/dist/src/const/IDL/pump-swap-IDL.js +2095 -0
  81. package/dist/src/const/IDL/pump-swap-IDL.js.map +1 -0
  82. package/dist/src/const/IDL/raydium-launchlab-IDL.d.ts +4031 -0
  83. package/dist/src/const/IDL/raydium-launchlab-IDL.d.ts.map +1 -0
  84. package/dist/src/const/IDL/raydium-launchlab-IDL.js +2110 -0
  85. package/dist/src/const/IDL/raydium-launchlab-IDL.js.map +1 -0
  86. package/dist/src/const/index.d.ts +40 -0
  87. package/dist/src/const/index.d.ts.map +1 -0
  88. package/dist/src/const/index.js +57 -0
  89. package/dist/src/const/index.js.map +1 -0
  90. package/dist/src/data-source.d.ts +270 -0
  91. package/dist/src/data-source.d.ts.map +1 -0
  92. package/dist/src/data-source.js +628 -0
  93. package/dist/src/data-source.js.map +1 -0
  94. package/dist/src/data-store/index.d.ts +87 -0
  95. package/dist/src/data-store/index.d.ts.map +1 -0
  96. package/dist/src/data-store/index.js +561 -0
  97. package/dist/src/data-store/index.js.map +1 -0
  98. package/dist/src/data-store/types.d.ts +91 -0
  99. package/dist/src/data-store/types.d.ts.map +1 -0
  100. package/dist/src/data-store/types.js +8 -0
  101. package/dist/src/data-store/types.js.map +1 -0
  102. package/dist/src/index.d.ts +8 -0
  103. package/dist/src/index.d.ts.map +1 -0
  104. package/dist/src/index.js +36 -0
  105. package/dist/src/index.js.map +1 -0
  106. package/dist/src/output.d.ts +52 -0
  107. package/dist/src/output.d.ts.map +1 -0
  108. package/dist/src/output.js +218 -0
  109. package/dist/src/output.js.map +1 -0
  110. package/dist/src/shims/store.d.ts +58 -0
  111. package/dist/src/shims/store.d.ts.map +1 -0
  112. package/dist/src/shims/store.js +55 -0
  113. package/dist/src/shims/store.js.map +1 -0
  114. package/dist/src/sol-sdk/account/index.d.ts +13 -0
  115. package/dist/src/sol-sdk/account/index.d.ts.map +1 -0
  116. package/dist/src/sol-sdk/account/index.js +174 -0
  117. package/dist/src/sol-sdk/account/index.js.map +1 -0
  118. package/dist/src/sol-sdk/account/lookupTable.d.ts +24 -0
  119. package/dist/src/sol-sdk/account/lookupTable.d.ts.map +1 -0
  120. package/dist/src/sol-sdk/account/lookupTable.js +103 -0
  121. package/dist/src/sol-sdk/account/lookupTable.js.map +1 -0
  122. package/dist/src/sol-sdk/batch/create.d.ts +23 -0
  123. package/dist/src/sol-sdk/batch/create.d.ts.map +1 -0
  124. package/dist/src/sol-sdk/batch/create.js +580 -0
  125. package/dist/src/sol-sdk/batch/create.js.map +1 -0
  126. package/dist/src/sol-sdk/batch/external-sniper.d.ts +31 -0
  127. package/dist/src/sol-sdk/batch/external-sniper.d.ts.map +1 -0
  128. package/dist/src/sol-sdk/batch/external-sniper.js +163 -0
  129. package/dist/src/sol-sdk/batch/external-sniper.js.map +1 -0
  130. package/dist/src/sol-sdk/batch/index.d.ts +144 -0
  131. package/dist/src/sol-sdk/batch/index.d.ts.map +1 -0
  132. package/dist/src/sol-sdk/batch/index.js +1573 -0
  133. package/dist/src/sol-sdk/batch/index.js.map +1 -0
  134. package/dist/src/sol-sdk/calc.d.ts +277 -0
  135. package/dist/src/sol-sdk/calc.d.ts.map +1 -0
  136. package/dist/src/sol-sdk/calc.js +590 -0
  137. package/dist/src/sol-sdk/calc.js.map +1 -0
  138. package/dist/src/sol-sdk/index.d.ts +1 -0
  139. package/dist/src/sol-sdk/index.d.ts.map +1 -0
  140. package/dist/src/sol-sdk/index.js +1 -0
  141. package/dist/src/sol-sdk/index.js.map +1 -0
  142. package/dist/src/sol-sdk/jito/index.d.ts +50 -0
  143. package/dist/src/sol-sdk/jito/index.d.ts.map +1 -0
  144. package/dist/src/sol-sdk/jito/index.js +225 -0
  145. package/dist/src/sol-sdk/jito/index.js.map +1 -0
  146. package/dist/src/sol-sdk/launchlab/index.d.ts +32 -0
  147. package/dist/src/sol-sdk/launchlab/index.d.ts.map +1 -0
  148. package/dist/src/sol-sdk/launchlab/index.js +78 -0
  149. package/dist/src/sol-sdk/launchlab/index.js.map +1 -0
  150. package/dist/src/sol-sdk/launchlab/instructions/buy.d.ts +27 -0
  151. package/dist/src/sol-sdk/launchlab/instructions/buy.d.ts.map +1 -0
  152. package/dist/src/sol-sdk/launchlab/instructions/buy.js +124 -0
  153. package/dist/src/sol-sdk/launchlab/instructions/buy.js.map +1 -0
  154. package/dist/src/sol-sdk/launchlab/instructions/create.d.ts +27 -0
  155. package/dist/src/sol-sdk/launchlab/instructions/create.d.ts.map +1 -0
  156. package/dist/src/sol-sdk/launchlab/instructions/create.js +125 -0
  157. package/dist/src/sol-sdk/launchlab/instructions/create.js.map +1 -0
  158. package/dist/src/sol-sdk/launchlab/instructions/sell.d.ts +15 -0
  159. package/dist/src/sol-sdk/launchlab/instructions/sell.d.ts.map +1 -0
  160. package/dist/src/sol-sdk/launchlab/instructions/sell.js +65 -0
  161. package/dist/src/sol-sdk/launchlab/instructions/sell.js.map +1 -0
  162. package/dist/src/sol-sdk/meteora/index.d.ts +32 -0
  163. package/dist/src/sol-sdk/meteora/index.d.ts.map +1 -0
  164. package/dist/src/sol-sdk/meteora/index.js +72 -0
  165. package/dist/src/sol-sdk/meteora/index.js.map +1 -0
  166. package/dist/src/sol-sdk/meteora/instructions/buy.d.ts +46 -0
  167. package/dist/src/sol-sdk/meteora/instructions/buy.d.ts.map +1 -0
  168. package/dist/src/sol-sdk/meteora/instructions/buy.js +153 -0
  169. package/dist/src/sol-sdk/meteora/instructions/buy.js.map +1 -0
  170. package/dist/src/sol-sdk/meteora/instructions/sell.d.ts +24 -0
  171. package/dist/src/sol-sdk/meteora/instructions/sell.d.ts.map +1 -0
  172. package/dist/src/sol-sdk/meteora/instructions/sell.js +98 -0
  173. package/dist/src/sol-sdk/meteora/instructions/sell.js.map +1 -0
  174. package/dist/src/sol-sdk/pump/index.d.ts +22 -0
  175. package/dist/src/sol-sdk/pump/index.d.ts.map +1 -0
  176. package/dist/src/sol-sdk/pump/index.js +101 -0
  177. package/dist/src/sol-sdk/pump/index.js.map +1 -0
  178. package/dist/src/sol-sdk/pump/instructions/buy.d.ts +29 -0
  179. package/dist/src/sol-sdk/pump/instructions/buy.d.ts.map +1 -0
  180. package/dist/src/sol-sdk/pump/instructions/buy.js +131 -0
  181. package/dist/src/sol-sdk/pump/instructions/buy.js.map +1 -0
  182. package/dist/src/sol-sdk/pump/instructions/createAndBuy.d.ts +36 -0
  183. package/dist/src/sol-sdk/pump/instructions/createAndBuy.d.ts.map +1 -0
  184. package/dist/src/sol-sdk/pump/instructions/createAndBuy.js +77 -0
  185. package/dist/src/sol-sdk/pump/instructions/createAndBuy.js.map +1 -0
  186. package/dist/src/sol-sdk/pump/instructions/sell.d.ts +7 -0
  187. package/dist/src/sol-sdk/pump/instructions/sell.d.ts.map +1 -0
  188. package/dist/src/sol-sdk/pump/instructions/sell.js +38 -0
  189. package/dist/src/sol-sdk/pump/instructions/sell.js.map +1 -0
  190. package/dist/src/sol-sdk/pumpswap/index.d.ts +9 -0
  191. package/dist/src/sol-sdk/pumpswap/index.d.ts.map +1 -0
  192. package/dist/src/sol-sdk/pumpswap/index.js +27 -0
  193. package/dist/src/sol-sdk/pumpswap/index.js.map +1 -0
  194. package/dist/src/sol-sdk/pumpswap/instructions/buy.d.ts +61 -0
  195. package/dist/src/sol-sdk/pumpswap/instructions/buy.d.ts.map +1 -0
  196. package/dist/src/sol-sdk/pumpswap/instructions/buy.js +215 -0
  197. package/dist/src/sol-sdk/pumpswap/instructions/buy.js.map +1 -0
  198. package/dist/src/sol-sdk/pumpswap/instructions/migrate.d.ts +3 -0
  199. package/dist/src/sol-sdk/pumpswap/instructions/migrate.d.ts.map +1 -0
  200. package/dist/src/sol-sdk/pumpswap/instructions/migrate.js +33 -0
  201. package/dist/src/sol-sdk/pumpswap/instructions/migrate.js.map +1 -0
  202. package/dist/src/sol-sdk/pumpswap/instructions/sell.d.ts +20 -0
  203. package/dist/src/sol-sdk/pumpswap/instructions/sell.d.ts.map +1 -0
  204. package/dist/src/sol-sdk/pumpswap/instructions/sell.js +107 -0
  205. package/dist/src/sol-sdk/pumpswap/instructions/sell.js.map +1 -0
  206. package/dist/src/sol-sdk/pumpswap/rpc/index.d.ts +28 -0
  207. package/dist/src/sol-sdk/pumpswap/rpc/index.d.ts.map +1 -0
  208. package/dist/src/sol-sdk/pumpswap/rpc/index.js +63 -0
  209. package/dist/src/sol-sdk/pumpswap/rpc/index.js.map +1 -0
  210. package/dist/src/sol-sdk/raydium/index.d.ts +16 -0
  211. package/dist/src/sol-sdk/raydium/index.d.ts.map +1 -0
  212. package/dist/src/sol-sdk/raydium/index.js +47 -0
  213. package/dist/src/sol-sdk/raydium/index.js.map +1 -0
  214. package/dist/src/sol-sdk/raydium/instructions/buy.d.ts +29 -0
  215. package/dist/src/sol-sdk/raydium/instructions/buy.d.ts.map +1 -0
  216. package/dist/src/sol-sdk/raydium/instructions/buy.js +106 -0
  217. package/dist/src/sol-sdk/raydium/instructions/buy.js.map +1 -0
  218. package/dist/src/sol-sdk/raydium/instructions/cpmmBuy.d.ts +29 -0
  219. package/dist/src/sol-sdk/raydium/instructions/cpmmBuy.d.ts.map +1 -0
  220. package/dist/src/sol-sdk/raydium/instructions/cpmmBuy.js +80 -0
  221. package/dist/src/sol-sdk/raydium/instructions/cpmmBuy.js.map +1 -0
  222. package/dist/src/sol-sdk/raydium/instructions/cpmmSell.d.ts +17 -0
  223. package/dist/src/sol-sdk/raydium/instructions/cpmmSell.d.ts.map +1 -0
  224. package/dist/src/sol-sdk/raydium/instructions/cpmmSell.js +56 -0
  225. package/dist/src/sol-sdk/raydium/instructions/cpmmSell.js.map +1 -0
  226. package/dist/src/sol-sdk/raydium/instructions/sell.d.ts +8558 -0
  227. package/dist/src/sol-sdk/raydium/instructions/sell.d.ts.map +1 -0
  228. package/dist/src/sol-sdk/raydium/instructions/sell.js +70 -0
  229. package/dist/src/sol-sdk/raydium/instructions/sell.js.map +1 -0
  230. package/dist/src/sol-sdk/raydium/rpc/index.d.ts +39 -0
  231. package/dist/src/sol-sdk/raydium/rpc/index.d.ts.map +1 -0
  232. package/dist/src/sol-sdk/raydium/rpc/index.js +82 -0
  233. package/dist/src/sol-sdk/raydium/rpc/index.js.map +1 -0
  234. package/dist/src/sol-sdk/raydium/rpc/raydium.d.ts +5 -0
  235. package/dist/src/sol-sdk/raydium/rpc/raydium.d.ts.map +1 -0
  236. package/dist/src/sol-sdk/raydium/rpc/raydium.js +18 -0
  237. package/dist/src/sol-sdk/raydium/rpc/raydium.js.map +1 -0
  238. package/dist/src/sol-sdk/rpc/index.d.ts +33 -0
  239. package/dist/src/sol-sdk/rpc/index.d.ts.map +1 -0
  240. package/dist/src/sol-sdk/rpc/index.js +128 -0
  241. package/dist/src/sol-sdk/rpc/index.js.map +1 -0
  242. package/dist/src/sol-sdk/transfer/index.d.ts +24 -0
  243. package/dist/src/sol-sdk/transfer/index.d.ts.map +1 -0
  244. package/dist/src/sol-sdk/transfer/index.js +65 -0
  245. package/dist/src/sol-sdk/transfer/index.js.map +1 -0
  246. package/dist/src/sol-sdk/turnover/index.d.ts +84 -0
  247. package/dist/src/sol-sdk/turnover/index.d.ts.map +1 -0
  248. package/dist/src/sol-sdk/turnover/index.js +569 -0
  249. package/dist/src/sol-sdk/turnover/index.js.map +1 -0
  250. package/dist/src/tx-tracker/detail-adapter.d.ts +100 -0
  251. package/dist/src/tx-tracker/detail-adapter.d.ts.map +1 -0
  252. package/dist/src/tx-tracker/detail-adapter.js +215 -0
  253. package/dist/src/tx-tracker/detail-adapter.js.map +1 -0
  254. package/dist/src/tx-tracker/index.d.ts +142 -0
  255. package/dist/src/tx-tracker/index.d.ts.map +1 -0
  256. package/dist/src/tx-tracker/index.js +447 -0
  257. package/dist/src/tx-tracker/index.js.map +1 -0
  258. package/dist/src/types/index.d.ts +76 -0
  259. package/dist/src/types/index.d.ts.map +1 -0
  260. package/dist/src/types/index.js +69 -0
  261. package/dist/src/types/index.js.map +1 -0
  262. package/dist/src/types/websocket.d.ts +15 -0
  263. package/dist/src/types/websocket.d.ts.map +1 -0
  264. package/dist/src/types/websocket.js +18 -0
  265. package/dist/src/types/websocket.js.map +1 -0
  266. package/dist/src/utils/index.d.ts +13 -0
  267. package/dist/src/utils/index.d.ts.map +1 -0
  268. package/dist/src/utils/index.js +174 -0
  269. package/dist/src/utils/index.js.map +1 -0
  270. package/dist/src/wallet-store.d.ts +124 -0
  271. package/dist/src/wallet-store.d.ts.map +1 -0
  272. package/dist/src/wallet-store.js +524 -0
  273. package/dist/src/wallet-store.js.map +1 -0
  274. package/package.json +86 -0
  275. package/scripts/postinstall.js +88 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sol-sdk/batch/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,277 @@
1
+ import BN from 'bn.js';
2
+ import { PublicKey } from '@solana/web3.js';
3
+ export default class AmmCalc {
4
+ private baseReserve;
5
+ private quoteReserve;
6
+ private readonly baseDecimals;
7
+ private readonly quoteDecimals;
8
+ constructor(props: {
9
+ baseReserve: string;
10
+ quoteReserve: string;
11
+ baseDecimals: number;
12
+ quoteDecimals: number;
13
+ });
14
+ /**
15
+ * 获取当前储备情况
16
+ */
17
+ getReserves(): {
18
+ base: string;
19
+ quote: string;
20
+ };
21
+ /**
22
+ * 根据 CPMM 恒定乘积公式计算输出数量
23
+ * @param amountIn 输入数量(bigint)
24
+ * @param reserveIn 输入方向储备
25
+ * @param reserveOut 输出方向储备
26
+ */
27
+ private calculateAmountOut;
28
+ /**
29
+ * 执行交换操作
30
+ * @param amountIn 输入数量(字符串)
31
+ * @param isBaseToQuote true = base->quote,false = quote->base
32
+ */
33
+ swap(amountIn: string, isBaseToQuote: boolean): string;
34
+ }
35
+ export declare class PumpAmmCalc {
36
+ tokenDecimals: number;
37
+ tokenTotalSupply: BN;
38
+ initialVirtualSolReserves: BN;
39
+ initialRealSolReserves: BN;
40
+ initialVirtualTokenReserves: BN;
41
+ initialRealTokenReserves: BN;
42
+ constructor(props: {
43
+ tokenTotalSupply?: BN;
44
+ initialRealSolReserves?: BN;
45
+ initialVirtualTokenReserves?: BN;
46
+ initialRealTokenReserves?: BN;
47
+ initialVirtualSolReserves?: BN;
48
+ });
49
+ /**
50
+ * 获取当前储备情况
51
+ */
52
+ getReserves(): {
53
+ virtualSolReserves: BN;
54
+ virtualTokenReserves: BN;
55
+ realTokenReserves: BN;
56
+ realSolReserves: BN;
57
+ tokenTotalSupply: BN;
58
+ };
59
+ getPrice(): BN;
60
+ calculateBuyAmountOut(amount: string): BN;
61
+ /**
62
+ * 计算购买固定数量token需要的SOL数量
63
+ * @param tokenAmount 想要购买的token数量(最小单位字符串)
64
+ * @returns 需要的SOL数量(lamports)
65
+ */
66
+ calculateBuyExactAmountOut(tokenAmount: string): BN;
67
+ calculateSellAmountOut(amount: string): string;
68
+ }
69
+ export declare class LaunchlabAmmCalc {
70
+ baseDecimals: number;
71
+ quoteDecimals: number;
72
+ migrateType: number;
73
+ supply: BN;
74
+ totalBaseSell: BN;
75
+ virtualBase: BN;
76
+ virtualQuote: BN;
77
+ realBase: BN;
78
+ realQuote: BN;
79
+ totalQuoteFundRaising: BN;
80
+ constructor(props: {
81
+ baseDecimals?: number;
82
+ quoteDecimals?: number;
83
+ migrateType?: number;
84
+ supply?: BN;
85
+ totalBaseSell?: BN;
86
+ virtualBase?: BN;
87
+ virtualQuote?: BN;
88
+ realBase?: BN;
89
+ realQuote?: BN;
90
+ totalQuoteFundRaising?: BN;
91
+ });
92
+ /**
93
+ * 获取当前储备情况
94
+ */
95
+ getReserves(): {
96
+ baseDecimals: number;
97
+ quoteDecimals: number;
98
+ migrateType: number;
99
+ supply: BN;
100
+ totalBaseSell: BN;
101
+ virtualBase: BN;
102
+ virtualQuote: BN;
103
+ realBase: BN;
104
+ realQuote: BN;
105
+ totalQuoteFundRaising: BN;
106
+ };
107
+ /**
108
+ * 获取当前价格 (SOL/Token)
109
+ */
110
+ getPrice(): BN;
111
+ /**
112
+ * 计算买入代币数量
113
+ * @param solAmount SOL数量(lamports字符串)
114
+ * @returns 能买到的代币数量(最小单位)
115
+ */
116
+ calculateBuyAmountOut(solAmount: string): BN;
117
+ /**
118
+ * 计算卖出获得的SOL数量
119
+ * @param tokenAmount 代币数量(最小单位字符串)
120
+ * @returns 能获得的SOL数量(lamports)
121
+ */
122
+ calculateSellAmountOut(tokenAmount: string): string;
123
+ /**
124
+ * 检查是否达到迁移条件
125
+ */
126
+ canMigrate(): boolean;
127
+ /**
128
+ * 获取资金筹集进度 (0-100)
129
+ */
130
+ getFundingProgress(): number;
131
+ /**
132
+ * 获取剩余可售代币数量
133
+ */
134
+ getRemainingTokensForSale(): BN;
135
+ /**
136
+ * 获取市值(基于当前价格)
137
+ */
138
+ getMarketCap(): BN;
139
+ }
140
+ export declare class MeteoraDLMMCalc {
141
+ /**
142
+ * DLMM核心参数
143
+ */
144
+ readonly reserveX: string;
145
+ readonly reserveY: string;
146
+ readonly mintA: string;
147
+ readonly mintB: string;
148
+ readonly oracle: string;
149
+ readonly binStep: number;
150
+ readonly binArrayBitmap: string[];
151
+ readonly activeId: number;
152
+ readonly vParameters: {
153
+ index_reference: number;
154
+ last_update_timestamp: string;
155
+ volatility_accumulator: number;
156
+ volatility_reference: number;
157
+ };
158
+ /**
159
+ * DLMM所有bin的流动性与价格(需外部组装好,按binId升序排列)
160
+ */
161
+ allBins: Array<{
162
+ account: {
163
+ index: number;
164
+ bins: {
165
+ amountX: BN;
166
+ amountY: BN;
167
+ price: BN;
168
+ liquiditySupply: BN;
169
+ binArrayPubkey: string;
170
+ }[];
171
+ };
172
+ publicKey: PublicKey;
173
+ }>;
174
+ static BASIS_POINT_MAX: number;
175
+ static MAX_FEE_RATE: number;
176
+ static FEE_PRECISION: number;
177
+ static OFFSET: number;
178
+ static SCALE: number;
179
+ baseDecimals: number;
180
+ quoteDecimals: number;
181
+ /**
182
+ * 构造函数支持传入allBins
183
+ */
184
+ constructor(info: MeteoraDLMMReverseInfo & {
185
+ allBins?: Array<{
186
+ account: {
187
+ index: number;
188
+ bins: {
189
+ amountX: BN;
190
+ amountY: BN;
191
+ price: BN;
192
+ liquiditySupply: BN;
193
+ binArrayPubkey: string;
194
+ }[];
195
+ };
196
+ publicKey: PublicKey;
197
+ }>;
198
+ baseDecimals?: number;
199
+ quoteDecimals?: number;
200
+ binArrayBitmap?: string[];
201
+ });
202
+ /**
203
+ * 获取DLMM当前价格
204
+ * price = (1 + bin_step/BASIS_POINT_MAX) ^ active_id
205
+ * @returns number
206
+ */
207
+ getPrice(): number;
208
+ /**
209
+ * 计算基础手续费率 base_fee_rate
210
+ * base_fee_rate = base_factor * bin_step * 10 * 10^base_fee_power_factor
211
+ * @param baseFactor number
212
+ * @param baseFeePowerFactor number
213
+ */
214
+ getBaseFeeRate(baseFactor: number, baseFeePowerFactor: number): number;
215
+ /**
216
+ * 计算浮动手续费率 variable_fee_rate
217
+ * variable_fee_rate = ((volatility_accumulator * bin_step)^2 * variable_fee_control + OFFSET) / SCALE
218
+ * @param variableFeeControl number
219
+ */
220
+ getVariableFeeRate(variableFeeControl: number): number;
221
+ /**
222
+ * 计算总手续费率 total_fee_rate
223
+ * total_fee_rate = min(base_fee_rate + variable_fee_rate, MAX_FEE_RATE)
224
+ * @param baseFactor number
225
+ * @param baseFeePowerFactor number
226
+ * @param variableFeeControl number
227
+ */
228
+ getTotalFeeRate(baseFactor: number, baseFeePowerFactor: number, variableFeeControl: number): number;
229
+ /**
230
+ * 计算复合手续费 composition_fee
231
+ * composition_fee = swap_amount * total_fee_rate * (1 + total_fee_rate) / FEE_PRECISION^2
232
+ * @param swapAmount number
233
+ * @param totalFeeRate number
234
+ */
235
+ getCompositionFee(swapAmount: number, totalFeeRate: number): number;
236
+ /**
237
+ * 计算价格冲击/滑点
238
+ * @param spotPrice number 当前价格
239
+ * @param maxPriceImpactBps number 最大价格冲击bps
240
+ * @param direction 'sellX' | 'sellY' 卖X还是卖Y
241
+ * @returns minPrice
242
+ */
243
+ getMinPrice(spotPrice: number, maxPriceImpactBps: number, direction: 'sellX' | 'sellY'): number;
244
+ /**
245
+ * 辅助函数:跳跃查找下一个有流动性的bin索引(买入方向)
246
+ * @param flatBins 扁平化bin数组
247
+ * @param startIdx 起始索引
248
+ * @returns 下一个有amountY流动性的bin索引,找不到则返回-1
249
+ */
250
+ private findNextBinIndexWithLiquidityY;
251
+ /**
252
+ * 辅助函数:跳跃查找下一个有流动性的bin索引(卖出方向)
253
+ * @param flatBins 扁平化bin数组
254
+ * @param startIdx 起始索引
255
+ * @returns 下一个有amountX流动性的bin索引,找不到则返回-1
256
+ */
257
+ private findNextBinIndexWithLiquidityX;
258
+ binIdToBinArrayIndex(binId: BN): BN;
259
+ internalBitmapRange(): BN[];
260
+ /**
261
+ * 真实DLMM买入:遍历activeId及右侧bins,消耗quoteIn,返回能买到的base数量和涉及的binArray pubkey
262
+ * 优化:跳跃查找有流动性的bin,提升性能
263
+ */
264
+ calculateBuyAmountOut(quoteIn: BN): {
265
+ amount: BN;
266
+ binArraysPubkey: string[];
267
+ };
268
+ /**
269
+ * 真实DLMM卖出:遍历activeId及左侧bins,消耗baseIn,返回能换到的quote数量和涉及的binArray pubkey
270
+ * 优化:跳跃查找有流动性的bin,提升性能
271
+ */
272
+ calculateSellAmountOut(baseIn: BN): {
273
+ amount: BN;
274
+ binArraysPubkey: string[];
275
+ };
276
+ }
277
+ //# sourceMappingURL=calc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calc.d.ts","sourceRoot":"","sources":["../../../src/sol-sdk/calc.ts"],"names":[],"mappings":"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"}