forgex-cli 1.0.59 → 1.0.61

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 (158) hide show
  1. package/README.md +375 -368
  2. package/dist/bin/forgex.d.ts +5 -5
  3. package/dist/bin/forgex.js +14 -14
  4. package/dist/bin/forgex.js.map +1 -1
  5. package/dist/src/adapters/codex-adapter.d.ts +90 -90
  6. package/dist/src/adapters/codex-adapter.d.ts.map +1 -1
  7. package/dist/src/adapters/codex-adapter.js +76 -76
  8. package/dist/src/adapters/codex-adapter.js.map +1 -1
  9. package/dist/src/adapters/connection.d.ts +6 -6
  10. package/dist/src/adapters/connection.js +8 -8
  11. package/dist/src/adapters/connection.js.map +1 -1
  12. package/dist/src/adapters/ipfs.d.ts +3 -3
  13. package/dist/src/adapters/ipfs.js +3 -3
  14. package/dist/src/adapters/jito-adapter.d.ts +85 -85
  15. package/dist/src/adapters/jito-adapter.d.ts.map +1 -1
  16. package/dist/src/adapters/jito-adapter.js +111 -111
  17. package/dist/src/adapters/jito-adapter.js.map +1 -1
  18. package/dist/src/adapters/rpc-adapter.d.ts +53 -53
  19. package/dist/src/adapters/rpc-adapter.d.ts.map +1 -1
  20. package/dist/src/adapters/rpc-adapter.js +69 -69
  21. package/dist/src/adapters/rpc-adapter.js.map +1 -1
  22. package/dist/src/adapters/sdk-adapter.d.ts +21 -21
  23. package/dist/src/adapters/sdk-adapter.d.ts.map +1 -1
  24. package/dist/src/adapters/sdk-adapter.js +79 -79
  25. package/dist/src/adapters/sdk-adapter.js.map +1 -1
  26. package/dist/src/commands/config/index.d.ts +1 -1
  27. package/dist/src/commands/config/index.js +15 -15
  28. package/dist/src/commands/config/index.js.map +1 -1
  29. package/dist/src/commands/query/index.d.ts +2 -2
  30. package/dist/src/commands/query/index.js +82 -82
  31. package/dist/src/commands/query/index.js.map +1 -1
  32. package/dist/src/commands/token/index.d.ts +8 -8
  33. package/dist/src/commands/token/index.js +73 -73
  34. package/dist/src/commands/token/index.js.map +1 -1
  35. package/dist/src/commands/tools/index.d.ts +9 -9
  36. package/dist/src/commands/tools/index.js +137 -137
  37. package/dist/src/commands/tools/index.js.map +1 -1
  38. package/dist/src/commands/trade/index.d.ts +2 -2
  39. package/dist/src/commands/trade/index.js +82 -82
  40. package/dist/src/commands/trade/index.js.map +1 -1
  41. package/dist/src/commands/transfer/index.d.ts +8 -8
  42. package/dist/src/commands/transfer/index.js +106 -106
  43. package/dist/src/commands/transfer/index.js.map +1 -1
  44. package/dist/src/commands/wallet/index.d.ts +1 -1
  45. package/dist/src/commands/wallet/index.js +175 -175
  46. package/dist/src/commands/wallet/index.js.map +1 -1
  47. package/dist/src/config.d.ts +26 -26
  48. package/dist/src/config.d.ts.map +1 -1
  49. package/dist/src/config.js +28 -28
  50. package/dist/src/config.js.map +1 -1
  51. package/dist/src/const/index.js +1 -1
  52. package/dist/src/const/index.js.map +1 -1
  53. package/dist/src/data-source.d.ts +81 -81
  54. package/dist/src/data-source.d.ts.map +1 -1
  55. package/dist/src/data-source.js +149 -149
  56. package/dist/src/data-source.js.map +1 -1
  57. package/dist/src/data-store/index.d.ts +22 -22
  58. package/dist/src/data-store/index.d.ts.map +1 -1
  59. package/dist/src/data-store/index.js +46 -46
  60. package/dist/src/data-store/index.js.map +1 -1
  61. package/dist/src/data-store/types.d.ts +3 -3
  62. package/dist/src/data-store/types.js +3 -3
  63. package/dist/src/index.d.ts +2 -2
  64. package/dist/src/index.js +10 -10
  65. package/dist/src/index.js.map +1 -1
  66. package/dist/src/output.d.ts +18 -18
  67. package/dist/src/output.d.ts.map +1 -1
  68. package/dist/src/output.js +34 -34
  69. package/dist/src/output.js.map +1 -1
  70. package/dist/src/shims/store.d.ts +3 -2
  71. package/dist/src/shims/store.d.ts.map +1 -1
  72. package/dist/src/shims/store.js +6 -5
  73. package/dist/src/shims/store.js.map +1 -1
  74. package/dist/src/sol-sdk/batch/create.d.ts +4 -1
  75. package/dist/src/sol-sdk/batch/create.d.ts.map +1 -1
  76. package/dist/src/sol-sdk/batch/create.js +44 -44
  77. package/dist/src/sol-sdk/batch/create.js.map +1 -1
  78. package/dist/src/sol-sdk/batch/index.js +135 -135
  79. package/dist/src/sol-sdk/batch/index.js.map +1 -1
  80. package/dist/src/sol-sdk/calc.d.ts +63 -63
  81. package/dist/src/sol-sdk/calc.d.ts.map +1 -1
  82. package/dist/src/sol-sdk/calc.js +120 -120
  83. package/dist/src/sol-sdk/calc.js.map +1 -1
  84. package/dist/src/sol-sdk/jito/index.js +12 -12
  85. package/dist/src/sol-sdk/jito/index.js.map +1 -1
  86. package/dist/src/sol-sdk/launchlab/instructions/create.js +10 -10
  87. package/dist/src/sol-sdk/launchlab/instructions/create.js.map +1 -1
  88. package/dist/src/sol-sdk/meteora/index.d.ts +5 -5
  89. package/dist/src/sol-sdk/meteora/index.js +11 -11
  90. package/dist/src/sol-sdk/meteora/index.js.map +1 -1
  91. package/dist/src/sol-sdk/meteora/instructions/buy.js +8 -8
  92. package/dist/src/sol-sdk/meteora/instructions/buy.js.map +1 -1
  93. package/dist/src/sol-sdk/meteora/instructions/sell.js +6 -6
  94. package/dist/src/sol-sdk/meteora/instructions/sell.js.map +1 -1
  95. package/dist/src/sol-sdk/pump/index.js +3 -3
  96. package/dist/src/sol-sdk/pump/index.js.map +1 -1
  97. package/dist/src/sol-sdk/pump/instructions/buy.d.ts +12 -12
  98. package/dist/src/sol-sdk/pump/instructions/buy.d.ts.map +1 -1
  99. package/dist/src/sol-sdk/pump/instructions/buy.js +26 -26
  100. package/dist/src/sol-sdk/pump/instructions/buy.js.map +1 -1
  101. package/dist/src/sol-sdk/pump/instructions/createAndBuy.d.ts +13 -13
  102. package/dist/src/sol-sdk/pump/instructions/createAndBuy.js +17 -17
  103. package/dist/src/sol-sdk/pump/instructions/createAndBuy.js.map +1 -1
  104. package/dist/src/sol-sdk/pump/instructions/sell.d.ts +2 -2
  105. package/dist/src/sol-sdk/pump/instructions/sell.d.ts.map +1 -1
  106. package/dist/src/sol-sdk/pump/instructions/sell.js +7 -7
  107. package/dist/src/sol-sdk/pump/instructions/sell.js.map +1 -1
  108. package/dist/src/sol-sdk/pumpswap/index.d.ts +4 -4
  109. package/dist/src/sol-sdk/pumpswap/index.js +5 -5
  110. package/dist/src/sol-sdk/pumpswap/index.js.map +1 -1
  111. package/dist/src/sol-sdk/pumpswap/instructions/buy.d.ts +8 -8
  112. package/dist/src/sol-sdk/pumpswap/instructions/buy.js +19 -19
  113. package/dist/src/sol-sdk/pumpswap/instructions/buy.js.map +1 -1
  114. package/dist/src/sol-sdk/pumpswap/instructions/migrate.js +2 -2
  115. package/dist/src/sol-sdk/pumpswap/instructions/migrate.js.map +1 -1
  116. package/dist/src/sol-sdk/pumpswap/instructions/sell.js +4 -4
  117. package/dist/src/sol-sdk/pumpswap/instructions/sell.js.map +1 -1
  118. package/dist/src/sol-sdk/pumpswap/rpc/index.js +1 -1
  119. package/dist/src/sol-sdk/pumpswap/rpc/index.js.map +1 -1
  120. package/dist/src/sol-sdk/raydium/instructions/cpmmSell.js +3 -3
  121. package/dist/src/sol-sdk/raydium/instructions/cpmmSell.js.map +1 -1
  122. package/dist/src/sol-sdk/raydium/instructions/sell.d.ts +40 -8520
  123. package/dist/src/sol-sdk/raydium/instructions/sell.d.ts.map +1 -1
  124. package/dist/src/sol-sdk/raydium/instructions/sell.js +6 -6
  125. package/dist/src/sol-sdk/raydium/instructions/sell.js.map +1 -1
  126. package/dist/src/sol-sdk/raydium/rpc/index.d.ts +4 -4
  127. package/dist/src/sol-sdk/rpc/index.d.ts +14 -14
  128. package/dist/src/sol-sdk/rpc/index.d.ts.map +1 -1
  129. package/dist/src/sol-sdk/rpc/index.js +17 -17
  130. package/dist/src/sol-sdk/rpc/index.js.map +1 -1
  131. package/dist/src/sol-sdk/transfer/index.js +5 -5
  132. package/dist/src/sol-sdk/transfer/index.js.map +1 -1
  133. package/dist/src/sol-sdk/turnover/index.d.ts +3 -3
  134. package/dist/src/sol-sdk/turnover/index.js +56 -56
  135. package/dist/src/sol-sdk/turnover/index.js.map +1 -1
  136. package/dist/src/telemetry.d.ts +8 -8
  137. package/dist/src/telemetry.d.ts.map +1 -1
  138. package/dist/src/telemetry.js +25 -25
  139. package/dist/src/telemetry.js.map +1 -1
  140. package/dist/src/tx-tracker/detail-adapter.d.ts +53 -53
  141. package/dist/src/tx-tracker/detail-adapter.d.ts.map +1 -1
  142. package/dist/src/tx-tracker/detail-adapter.js +68 -68
  143. package/dist/src/tx-tracker/detail-adapter.js.map +1 -1
  144. package/dist/src/tx-tracker/index.d.ts +67 -67
  145. package/dist/src/tx-tracker/index.d.ts.map +1 -1
  146. package/dist/src/tx-tracker/index.js +103 -103
  147. package/dist/src/tx-tracker/index.js.map +1 -1
  148. package/dist/src/types/index.d.ts +10 -10
  149. package/dist/src/types/index.d.ts.map +1 -1
  150. package/dist/src/types/websocket.js +1 -1
  151. package/dist/src/types/websocket.js.map +1 -1
  152. package/dist/src/utils/index.js +20 -20
  153. package/dist/src/utils/index.js.map +1 -1
  154. package/dist/src/wallet-store.d.ts +51 -51
  155. package/dist/src/wallet-store.d.ts.map +1 -1
  156. package/dist/src/wallet-store.js +104 -104
  157. package/dist/src/wallet-store.js.map +1 -1
  158. package/package.json +1 -1
@@ -20,14 +20,14 @@ async function getMeteoraDLMM() {
20
20
  _MeteoraDLMM = mod.default;
21
21
  }
22
22
  catch {
23
- throw new Error('@meteora-ag/dlmm 未安装,请先执行: npm install @meteora-ag/dlmm');
23
+ throw new Error('@meteora-ag/dlmm is not installed. Please run: npm install @meteora-ag/dlmm');
24
24
  }
25
25
  }
26
26
  return _MeteoraDLMM;
27
27
  }
28
28
  import { getBinArray } from '../meteora/index.js';
29
29
  /**
30
- * 执行单次换手交易(买入+卖出的捆绑交易)
30
+ * Execute a single turnover trade (bundled buy + sell transaction)
31
31
  */
32
32
  export const executeSingleTurnover = async (params) => {
33
33
  const { connection, fromWallet, toWallet, tokenAddress, tokenAmount, decimals, exchangeName, poolInfo, priceInSol, creatorAddress, priorityFee, slippage = 1, fallbackSendTx = false, pumpfunReverseInfo, ammReverseInfo, raydiumV4Keys, raydiumCpmmKeys, pumpswapReverseInfo, launchlabReverseInfo, meteoraDLMMReverseInfo, } = params;
@@ -43,7 +43,7 @@ export const executeSingleTurnover = async (params) => {
43
43
  poolId: poolInfo.pairAddress,
44
44
  });
45
45
  }
46
- // 1. 构建买入交易(接收钱包买入代币)
46
+ // 1. Build buy transaction (receiver wallet buys tokens)
47
47
  const buyTx = await buildBuyTransaction({
48
48
  connection,
49
49
  buyerKeypair: toKeypair,
@@ -66,7 +66,7 @@ export const executeSingleTurnover = async (params) => {
66
66
  meteoraDLMMReverseInfo,
67
67
  binArray,
68
68
  });
69
- // 2. 构建卖出交易(发送钱包卖出代币)
69
+ // 2. Build sell transaction (sender wallet sells tokens)
70
70
  const sellTx = await buildSellTransaction({
71
71
  connection,
72
72
  sellerKeypair: fromKeypair,
@@ -93,7 +93,7 @@ export const executeSingleTurnover = async (params) => {
93
93
  sellTx.add(tipTx);
94
94
  buyTx.sign(toKeypair);
95
95
  sellTx.sign(fromKeypair);
96
- // 提取交易签名(用于结果展示和 RPC 确认)
96
+ // Extract transaction signatures (for result display and RPC confirmation)
97
97
  const buyTxSig = bs58.encode(buyTx.signature);
98
98
  const sellTxSig = bs58.encode(sellTx.signature);
99
99
  const simulation1 = await connection.simulateTransaction(buyTx);
@@ -101,7 +101,7 @@ export const executeSingleTurnover = async (params) => {
101
101
  if (simulation1.value.err) {
102
102
  return {
103
103
  success: false,
104
- error: `买入交易模拟失败: ${JSON.stringify(simulation1.value.err)} | ${simulation1.value.logs?.slice(-3)?.join(' | ')}`,
104
+ error: `Buy transaction simulation failed: ${JSON.stringify(simulation1.value.err)} | ${simulation1.value.logs?.slice(-3)?.join(' | ')}`,
105
105
  };
106
106
  }
107
107
  const simulation2 = await connection.simulateTransaction(sellTx);
@@ -109,14 +109,14 @@ export const executeSingleTurnover = async (params) => {
109
109
  if (simulation2.value.err) {
110
110
  return {
111
111
  success: false,
112
- error: `卖出交易模拟失败: ${JSON.stringify(simulation2.value.err)} | ${simulation2.value.logs?.slice(-3)?.join(' | ')}`,
112
+ error: `Sell transaction simulation failed: ${JSON.stringify(simulation2.value.err)} | ${simulation2.value.logs?.slice(-3)?.join(' | ')}`,
113
113
  };
114
114
  }
115
- // 3. buy + sell 指令合并到同一笔交易(同一签名/同一区块)
115
+ // 3. Merge buy + sell instructions into a single transaction (same signature / same block)
116
116
  const combinedTx = new Transaction();
117
117
  combinedTx.recentBlockhash = blockhash;
118
118
  combinedTx.feePayer = fromKeypair.publicKey;
119
- // 顺序必须是先买后卖;合并时过滤重复 ComputeBudget 指令
119
+ // Order must be buy first then sell; filter duplicate ComputeBudget instructions during merge
120
120
  const seenComputeBudgetTypes = new Set();
121
121
  const appendInstruction = (ix) => {
122
122
  if (ix.programId.equals(ComputeBudgetProgram.programId)) {
@@ -133,37 +133,37 @@ export const executeSingleTurnover = async (params) => {
133
133
  appendInstruction(ix);
134
134
  for (const ix of sellTx.instructions)
135
135
  appendInstruction(ix);
136
- // 两个钱包都需要签名
136
+ // Both wallets need to sign
137
137
  combinedTx.sign(toKeypair, fromKeypair);
138
138
  const simCombined = await connection.simulateTransaction(combinedTx);
139
139
  if (simCombined.value.err) {
140
140
  return {
141
141
  success: false,
142
- error: `合并交易模拟失败: ${JSON.stringify(simCombined.value.err)} | ${simCombined.value.logs?.slice(-3)?.join(' | ')}`,
142
+ error: `Combined transaction simulation failed: ${JSON.stringify(simCombined.value.err)} | ${simCombined.value.logs?.slice(-3)?.join(' | ')}`,
143
143
  };
144
144
  }
145
145
  const combinedTxBase64 = Buffer.from(combinedTx.serialize()).toString('base64');
146
146
  const sendResult = await jitoAdapter.sendTransaction(combinedTxBase64);
147
- console.log(`[Turnover] 合并交易已发送, txHash: ${sendResult.txHash}`);
147
+ console.log(`[Turnover] Combined transaction sent, txHash: ${sendResult.txHash}`);
148
148
  const confirm = await jitoAdapter.confirmTransactionByRpc(connection, sendResult.txHash, 90000);
149
149
  return {
150
150
  success: confirm.success,
151
151
  bundleId: undefined,
152
152
  buyTxHash: sendResult.txHash,
153
153
  sellTxHash: sendResult.txHash,
154
- error: confirm.success ? undefined : `合并交易未确认: ${confirm.error}`,
154
+ error: confirm.success ? undefined : `Combined transaction not confirmed: ${confirm.error}`,
155
155
  };
156
156
  }
157
157
  catch (error) {
158
- console.error('换手交易执行失败:', error);
158
+ console.error('Turnover trade execution failed:', error);
159
159
  return {
160
160
  success: false,
161
- error: error instanceof Error ? error.message : '未知错误',
161
+ error: error instanceof Error ? error.message : 'Unknown error',
162
162
  };
163
163
  }
164
164
  };
165
165
  /**
166
- * 执行批量换手交易
166
+ * Execute batch turnover trades
167
167
  */
168
168
  export const executeBatchTurnover = async (params) => {
169
169
  const { turnoverItems, intervalMs = 1000 } = params;
@@ -177,7 +177,7 @@ export const executeBatchTurnover = async (params) => {
177
177
  tokenAmount: item.tokenAmount,
178
178
  });
179
179
  results.push(result);
180
- // 添加交易间隔(最后一笔交易不需要间隔)
180
+ // Add trade interval (no interval needed after last trade)
181
181
  if (i < turnoverItems.length - 1) {
182
182
  await new Promise(resolve => setTimeout(resolve, intervalMs));
183
183
  }
@@ -185,7 +185,7 @@ export const executeBatchTurnover = async (params) => {
185
185
  return results;
186
186
  };
187
187
  /**
188
- * 构建买入交易
188
+ * Build buy transaction
189
189
  */
190
190
  async function buildBuyTransaction(params) {
191
191
  const { connection, buyerKeypair, tokenAddress, tokenAmount, decimals, exchangeName, poolInfo, priceInSol, creatorAddress, priorityFee, slippage, blockhash, pumpfunReverseInfo, ammReverseInfo, raydiumV4Keys, raydiumCpmmKeys, pumpswapReverseInfo, launchlabReverseInfo, meteoraDLMMReverseInfo, binArray, } = params;
@@ -194,14 +194,14 @@ async function buildBuyTransaction(params) {
194
194
  const provider = new AnchorProvider(connection, {
195
195
  publicKey: buyerKeypair.publicKey,
196
196
  signTransaction: async () => {
197
- throw new Error('不支持签名');
197
+ throw new Error('Signing not supported');
198
198
  },
199
199
  signAllTransactions: async () => {
200
- throw new Error('不支持签名');
200
+ throw new Error('Signing not supported');
201
201
  },
202
202
  });
203
203
  if (exchangeName === 'Pump') {
204
- // Pump.fun 买入
204
+ // Pump.fun buy
205
205
  const solAmount = new BigNumber(tokenAmount)
206
206
  .times(priceInSol)
207
207
  .times(LAMPORTS_PER_SOL)
@@ -212,7 +212,7 @@ async function buildBuyTransaction(params) {
212
212
  buyTx.add(buyInstruction);
213
213
  }
214
214
  else if (exchangeName === 'PumpSwap') {
215
- // PumpSwap 买入
215
+ // PumpSwap buy
216
216
  let info = ammReverseInfo;
217
217
  if (!info) {
218
218
  const rawInfo = await pumpSwapGetPoolInfo(connection, poolInfo.pairAddress);
@@ -245,7 +245,7 @@ async function buildBuyTransaction(params) {
245
245
  slippage,
246
246
  creator: new PublicKey(creatorAddress),
247
247
  });
248
- // 检查买入方钱包是否需要初始化 user_volume_accumulator
248
+ // Check if buyer wallet needs user_volume_accumulator initialization
249
249
  const initVolumeIx = await getInitUserVolumeAccumulatorIxIfNeeded(connection, buyerKeypair.publicKey, buyerKeypair.publicKey);
250
250
  if (initVolumeIx) {
251
251
  buyTx.add(initVolumeIx);
@@ -253,9 +253,9 @@ async function buildBuyTransaction(params) {
253
253
  buyTx.add(buyInstruction);
254
254
  }
255
255
  else if (exchangeName === 'Raydium') {
256
- // Raydium V4 买入
256
+ // Raydium V4 buy
257
257
  if (!raydiumV4Keys) {
258
- throw new Error('Raydium V4 Keys 未提供');
258
+ throw new Error('Raydium V4 Keys not provided');
259
259
  }
260
260
  let info = ammReverseInfo;
261
261
  let raydiumPoolInfo;
@@ -285,9 +285,9 @@ async function buildBuyTransaction(params) {
285
285
  buyTx.add(buyInstruction);
286
286
  }
287
287
  else if (exchangeName === 'Raydium CPMM') {
288
- // Raydium CPMM 买入
288
+ // Raydium CPMM buy
289
289
  if (!raydiumCpmmKeys) {
290
- throw new Error('Raydium CPMM Keys 未提供');
290
+ throw new Error('Raydium CPMM Keys not provided');
291
291
  }
292
292
  let info = ammReverseInfo;
293
293
  if (!info) {
@@ -319,14 +319,14 @@ async function buildBuyTransaction(params) {
319
319
  buyTx.add(buyInstruction);
320
320
  }
321
321
  else if (exchangeName === 'LaunchLab') {
322
- // Launchlab 买入
322
+ // Launchlab buy
323
323
  const provider = new AnchorProvider(connection, {
324
324
  publicKey: buyerKeypair.publicKey,
325
325
  signTransaction: async () => {
326
- throw new Error('不支持签名');
326
+ throw new Error('Signing not supported');
327
327
  },
328
328
  signAllTransactions: async () => {
329
- throw new Error('不支持签名');
329
+ throw new Error('Signing not supported');
330
330
  },
331
331
  });
332
332
  const solAmount = new BigNumber(tokenAmount)
@@ -350,9 +350,9 @@ async function buildBuyTransaction(params) {
350
350
  const dlmmPool = await MeteoraDLMM.create(connection, new PublicKey(poolInfo.pairAddress));
351
351
  const swapQuote = dlmmPool.swapQuote(new BN(new BigNumber(tokenAmount).times(10 ** decimals).toFixed(0)), poolInfo.tokenB == NATIVE_MINT.toBase58(), new BN(slippage), binArray || []);
352
352
  if (!meteoraDLMMReverseInfo) {
353
- throw new Error('Meteora DLMM Reverse Info 未提供');
353
+ throw new Error('Meteora DLMM Reverse Info not provided');
354
354
  }
355
- // Meteora 买入
355
+ // Meteora buy
356
356
  const buyInstruction = await meteoraDlmmBuyExactOutInstructions({
357
357
  provider,
358
358
  owner: buyerKeypair,
@@ -374,9 +374,9 @@ async function buildBuyTransaction(params) {
374
374
  buyTx.add(buyInstruction);
375
375
  }
376
376
  else {
377
- throw new Error(`暂不支持的交易所: ${exchangeName}`);
377
+ throw new Error(`Unsupported exchange: ${exchangeName}`);
378
378
  }
379
- // 添加优先费用
379
+ // Add priority fee
380
380
  // if (priorityFee > 0) {
381
381
  // const { limitIx, priceIx } = getCU(priorityFee);
382
382
  // buyTx.add(limitIx);
@@ -386,7 +386,7 @@ async function buildBuyTransaction(params) {
386
386
  return buyTx;
387
387
  }
388
388
  /**
389
- * 构建卖出交易
389
+ * Build sell transaction
390
390
  */
391
391
  async function buildSellTransaction(params) {
392
392
  const { connection, sellerKeypair, tokenAddress, tokenAmount, decimals, exchangeName, poolInfo, priceInSol, creatorAddress, priorityFee, slippage, blockhash, pumpfunReverseInfo, ammReverseInfo, raydiumV4Keys, raydiumCpmmKeys, pumpswapReverseInfo, launchlabReverseInfo, meteoraDLMMReverseInfo, binArray, } = params;
@@ -396,14 +396,14 @@ async function buildSellTransaction(params) {
396
396
  const provider = new AnchorProvider(connection, {
397
397
  publicKey: sellerKeypair.publicKey,
398
398
  signTransaction: async () => {
399
- throw new Error('不支持签名');
399
+ throw new Error('Signing not supported');
400
400
  },
401
401
  signAllTransactions: async () => {
402
- throw new Error('不支持签名');
402
+ throw new Error('Signing not supported');
403
403
  },
404
404
  });
405
405
  if (exchangeName === 'Pump') {
406
- // Pump.fun 卖出
406
+ // Pump.fun sell
407
407
  const expectedSolOutput = new BigNumber(tokenAmount)
408
408
  .times(priceInSol)
409
409
  .times(1 - slippage)
@@ -413,7 +413,7 @@ async function buildSellTransaction(params) {
413
413
  sellTx.add(sellInstruction);
414
414
  }
415
415
  else if (exchangeName === 'PumpSwap') {
416
- // PumpSwap 卖出
416
+ // PumpSwap sell
417
417
  let poolData = ammReverseInfo;
418
418
  if (!poolData) {
419
419
  const rawPoolData = await pumpSwapGetPoolInfo(connection, poolInfo.pairAddress);
@@ -452,11 +452,11 @@ async function buildSellTransaction(params) {
452
452
  sellTx.add(sellInstruction);
453
453
  }
454
454
  else if (exchangeName === 'Raydium') {
455
- // Raydium V4 卖出
455
+ // Raydium V4 sell
456
456
  if (!raydiumV4Keys) {
457
- throw new Error('Raydium V4 Keys 未提供');
457
+ throw new Error('Raydium V4 Keys not provided');
458
458
  }
459
- // 获取池子信息
459
+ // Get pool info
460
460
  let baseReserve, quoteReserve, mintA, mintB;
461
461
  if (ammReverseInfo) {
462
462
  baseReserve = ammReverseInfo.poolBaseTokenInfo.amount;
@@ -489,11 +489,11 @@ async function buildSellTransaction(params) {
489
489
  sellTx.add(sellInstruction);
490
490
  }
491
491
  else if (exchangeName === 'Raydium CPMM') {
492
- // Raydium CPMM 卖出
492
+ // Raydium CPMM sell
493
493
  if (!raydiumCpmmKeys) {
494
- throw new Error('Raydium CPMM Keys 未提供');
494
+ throw new Error('Raydium CPMM Keys not provided');
495
495
  }
496
- // 获取池子信息
496
+ // Get pool info
497
497
  let baseReserve, quoteReserve, mintA, mintB;
498
498
  if (ammReverseInfo) {
499
499
  baseReserve = ammReverseInfo.poolBaseTokenInfo.amount;
@@ -531,22 +531,22 @@ async function buildSellTransaction(params) {
531
531
  sellTx.add(sellInstruction);
532
532
  }
533
533
  else if (exchangeName === 'LaunchLab') {
534
- // Launchlab 卖出
534
+ // Launchlab sell
535
535
  const provider = new AnchorProvider(connection, {
536
536
  publicKey: sellerKeypair.publicKey,
537
537
  signTransaction: async () => {
538
- throw new Error('不支持签名');
538
+ throw new Error('Signing not supported');
539
539
  },
540
540
  signAllTransactions: async () => {
541
- throw new Error('不支持签名');
541
+ throw new Error('Signing not supported');
542
542
  },
543
543
  });
544
- // 获取池子信息
544
+ // Get pool info
545
545
  let poolData = launchlabReverseInfo;
546
546
  if (!poolData) {
547
547
  poolData = await getLaunchlabReverseInfo({ connection, poolId: poolInfo.pairAddress });
548
548
  }
549
- // 创建计算器实例
549
+ // Create calculator instance
550
550
  const launchlabCalc = new LaunchlabAmmCalc({
551
551
  baseDecimals: poolData.baseDecimals,
552
552
  quoteDecimals: poolData.quoteDecimals,
@@ -572,12 +572,12 @@ async function buildSellTransaction(params) {
572
572
  sellTx.add(sellInstruction);
573
573
  }
574
574
  else if (exchangeName === 'Meteora') {
575
- // Meteora 卖出
575
+ // Meteora sell
576
576
  const MeteoraDLMM = await getMeteoraDLMM();
577
577
  const dlmmPool = await MeteoraDLMM.create(connection, new PublicKey(poolInfo.pairAddress));
578
578
  const swapQuote = dlmmPool.swapQuote(new BN(tokenAmountInDecimals), poolInfo.tokenB == NATIVE_MINT.toBase58(), new BN(slippage), binArray || []);
579
579
  if (!meteoraDLMMReverseInfo) {
580
- throw new Error('Meteora DLMM Reverse Info 未提供');
580
+ throw new Error('Meteora DLMM Reverse Info not provided');
581
581
  }
582
582
  const sellInstruction = await meteoraDlmmSellInstructions({
583
583
  provider,
@@ -600,9 +600,9 @@ async function buildSellTransaction(params) {
600
600
  sellTx.add(sellInstruction);
601
601
  }
602
602
  else {
603
- throw new Error(`暂不支持的交易所: ${exchangeName}`);
603
+ throw new Error(`Unsupported exchange: ${exchangeName}`);
604
604
  }
605
- // 添加优先费用
605
+ // Add priority fee
606
606
  // if (priorityFee > 0) {
607
607
  // const { limitIx, priceIx } = getCU(priorityFee);
608
608
  // sellTx.add(limitIx);
@@ -612,9 +612,9 @@ async function buildSellTransaction(params) {
612
612
  return sellTx;
613
613
  }
614
614
  /**
615
- * 计算换手交易的SOL转账数量
615
+ * Calculate SOL transfer amount for turnover trades
616
616
  */
617
- export const calculateTurnoverProfit = (tokenAmount, priceInSol, slippage = 0.01, fees = 0.02 // 2%的费用(滑点+手续费)
617
+ export const calculateTurnoverProfit = (tokenAmount, priceInSol, slippage = 0.01, fees = 0.02 // 2% fees (slippage + transaction fees)
618
618
  ) => {
619
619
  return new BigNumber(tokenAmount)
620
620
  .times(priceInSol)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sol-sdk/turnover/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sol-sdk/turnover/index.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  /**
2
- * ForgeX CLI 匿名使用统计 (Telemetry)
2
+ * ForgeX CLI Anonymous Usage Telemetry
3
3
  *
4
- * - 异步 fire-and-forget,不阻塞命令执行
5
- * - 失败静默忽略,不影响用户体验
6
- * - 支持 opt-out: `forgex config set telemetry false` `FORGEX_NO_TELEMETRY=1`
7
- * - 不收集任何私钥、地址、交易内容等敏感信息
4
+ * - Async fire-and-forget, does not block command execution
5
+ * - Failures are silently ignored, no impact on user experience
6
+ * - Supports opt-out: `forgex config set telemetry false` or `FORGEX_NO_TELEMETRY=1`
7
+ * - Does not collect any private keys, addresses, transaction content, or other sensitive data
8
8
  */
9
- /** 追踪命令执行事件 */
9
+ /** Track command execution event */
10
10
  export declare function trackCommand(command: string, properties?: Record<string, unknown>): void;
11
- /** 追踪自定义事件 */
11
+ /** Track custom event */
12
12
  export declare function trackEvent(event: string, properties?: Record<string, unknown>): void;
13
- /** 在进程退出前 flush 所有待发送的事件(不阻塞退出) */
13
+ /** Flush all pending events before process exit (non-blocking) */
14
14
  export declare function shutdownTelemetry(): Promise<void>;
15
15
  //# sourceMappingURL=telemetry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAyHH,eAAe;AACf,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAsBxF;AAED,cAAc;AACd,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAiBpF;AAED,mCAAmC;AACnC,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAUvD"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAyHH,oCAAoC;AACpC,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAsBxF;AAED,yBAAyB;AACzB,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAiBpF;AAED,kEAAkE;AAClE,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAUvD"}
@@ -1,10 +1,10 @@
1
1
  /**
2
- * ForgeX CLI 匿名使用统计 (Telemetry)
2
+ * ForgeX CLI Anonymous Usage Telemetry
3
3
  *
4
- * - 异步 fire-and-forget,不阻塞命令执行
5
- * - 失败静默忽略,不影响用户体验
6
- * - 支持 opt-out: `forgex config set telemetry false` `FORGEX_NO_TELEMETRY=1`
7
- * - 不收集任何私钥、地址、交易内容等敏感信息
4
+ * - Async fire-and-forget, does not block command execution
5
+ * - Failures are silently ignored, no impact on user experience
6
+ * - Supports opt-out: `forgex config set telemetry false` or `FORGEX_NO_TELEMETRY=1`
7
+ * - Does not collect any private keys, addresses, transaction content, or other sensitive data
8
8
  */
9
9
  import { PostHog } from 'posthog-node';
10
10
  import { randomUUID } from 'crypto';
@@ -13,15 +13,15 @@ import os from 'os';
13
13
  import path from 'path';
14
14
  import { FORGEX_DIR, ensureConfigDir, loadConfig } from './config.js';
15
15
  // ============================================================
16
- // 常量
16
+ // Constants
17
17
  // ============================================================
18
- const POSTHOG_API_KEY = 'phx_vSIGADbpPIvlpvtX27myNnajZsWjjcwM4JiZAljukmU6LYI';
19
- const POSTHOG_HOST = 'https://us.i.posthog.com';
18
+ const POSTHOG_API_KEY = 'phc_nYSQzmljgTrNqmuHonEWEjGXzX97B9w81D9DzsiVYlX';
19
+ const POSTHOG_HOST = 'https://eu.i.posthog.com';
20
20
  const ANONYMOUS_ID_FILE = path.join(FORGEX_DIR, '.anonymous-id');
21
21
  // ============================================================
22
- // 匿名 ID 管理
22
+ // Anonymous ID Management
23
23
  // ============================================================
24
- /** 获取或生成持久化的匿名 ID(不关联任何用户身份) */
24
+ /** Get or generate a persistent anonymous ID (not linked to any user identity) */
25
25
  function getAnonymousId() {
26
26
  ensureConfigDir();
27
27
  try {
@@ -42,7 +42,7 @@ function getAnonymousId() {
42
42
  return id;
43
43
  }
44
44
  // ============================================================
45
- // 安装来源检测
45
+ // Install Source Detection
46
46
  // ============================================================
47
47
  function detectInstallSource() {
48
48
  // npm install
@@ -61,18 +61,18 @@ function detectInstallSource() {
61
61
  return 'manual';
62
62
  }
63
63
  // ============================================================
64
- // Telemetry 开关
64
+ // Telemetry Toggle
65
65
  // ============================================================
66
66
  function isTelemetryEnabled() {
67
- // 环境变量优先
67
+ // Environment variables take priority
68
68
  if (process.env.FORGEX_NO_TELEMETRY === '1' || process.env.DO_NOT_TRACK === '1') {
69
69
  return false;
70
70
  }
71
- // CI 环境默认关闭
71
+ // Disabled by default in CI environments
72
72
  if (process.env.CI === 'true' || process.env.CI === '1') {
73
73
  return false;
74
74
  }
75
- // 配置文件
75
+ // Config file
76
76
  try {
77
77
  const config = loadConfig();
78
78
  if (config.telemetry === false) {
@@ -85,7 +85,7 @@ function isTelemetryEnabled() {
85
85
  return true;
86
86
  }
87
87
  // ============================================================
88
- // PostHog 客户端(懒初始化)
88
+ // PostHog Client (lazy initialization)
89
89
  // ============================================================
90
90
  let _client = null;
91
91
  function getClient() {
@@ -98,15 +98,15 @@ function getClient() {
98
98
  flushInterval: 10000,
99
99
  requestTimeout: 3000,
100
100
  });
101
- // 吞掉所有 PostHog 错误,不影响 CLI 主流程
101
+ // Swallow all PostHog errors to avoid affecting CLI main flow
102
102
  _client.on?.('error', () => { });
103
103
  }
104
104
  return _client;
105
105
  }
106
106
  // ============================================================
107
- // 公共 API
107
+ // Public API
108
108
  // ============================================================
109
- /** 追踪命令执行事件 */
109
+ /** Track command execution event */
110
110
  export function trackCommand(command, properties) {
111
111
  try {
112
112
  const client = getClient();
@@ -128,10 +128,10 @@ export function trackCommand(command, properties) {
128
128
  });
129
129
  }
130
130
  catch {
131
- // 埋点失败不影响用户操作
131
+ // Tracking failure does not affect user operations
132
132
  }
133
133
  }
134
- /** 追踪自定义事件 */
134
+ /** Track custom event */
135
135
  export function trackEvent(event, properties) {
136
136
  try {
137
137
  const client = getClient();
@@ -148,14 +148,14 @@ export function trackEvent(event, properties) {
148
148
  });
149
149
  }
150
150
  catch {
151
- // 埋点失败不影响用户操作
151
+ // Tracking failure does not affect user operations
152
152
  }
153
153
  }
154
- /** 在进程退出前 flush 所有待发送的事件(不阻塞退出) */
154
+ /** Flush all pending events before process exit (non-blocking) */
155
155
  export async function shutdownTelemetry() {
156
156
  try {
157
157
  if (_client) {
158
- // 不等待 flush,直接销毁客户端,避免网络超时阻塞进程退出
158
+ // Don't wait for flush, destroy client immediately to avoid network timeout blocking process exit
159
159
  _client.shutdown().catch(() => { });
160
160
  _client = null;
161
161
  }
@@ -165,7 +165,7 @@ export async function shutdownTelemetry() {
165
165
  }
166
166
  }
167
167
  // ============================================================
168
- // 工具函数
168
+ // Utility Functions
169
169
  // ============================================================
170
170
  function getCliVersion() {
171
171
  try {