forgex-cli 1.0.58 → 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 +28 -27
  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
@@ -1,37 +1,37 @@
1
1
  /**
2
- * ForgeX CLI Codex API 数据源适配器
2
+ * ForgeX CLI Codex API Data Source Adapter
3
3
  *
4
- * 通过 Codex GraphQL API 获取代币信息、价格、K线等市场数据,
5
- * 替代原有对 forgex.online/api 的依赖。
4
+ * Fetches token info, prices, candlestick and other market data via Codex GraphQL API,
5
+ * replacing the previous dependency on forgex.online/api.
6
6
  *
7
- * Codex API 文档: https://docs.codex.io
8
- * GraphQL 端点: https://graph.codex.io/graphql
7
+ * Codex API docs: https://docs.codex.io
8
+ * GraphQL endpoint: https://graph.codex.io/graphql
9
9
  *
10
- * 设计参考: ARCH-DESIGN-v2.md Section 2.3
10
+ * Design reference: ARCH-DESIGN-v2.md Section 2.3
11
11
  */
12
12
  import axios, { AxiosError } from 'axios';
13
13
  import { loadConfig } from '../config.js';
14
14
  // ============================================================
15
- // 常量
15
+ // Constants
16
16
  // ============================================================
17
- /** Codex GraphQL 端点 */
17
+ /** Codex GraphQL endpoint */
18
18
  const CODEX_GRAPHQL_URL = 'https://graph.codex.io/graphql';
19
- /** Solana Codex 中的 networkId */
19
+ /** Solana networkId in Codex */
20
20
  const SOLANA_NETWORK_ID = 1399811149;
21
- /** SOL 原生代币 Wrapped 地址 (Codex 不支持原生代币直接查询, 需使用 Wrapped SOL) */
21
+ /** Wrapped SOL address (Codex doesn't support native token queries, use Wrapped SOL) */
22
22
  const WRAPPED_SOL_MINT = 'So11111111111111111111111111111111111111112';
23
- /** 默认重试次数 */
23
+ /** Default retry count */
24
24
  const DEFAULT_MAX_RETRIES = 3;
25
- /** 初始重试延迟 (ms) */
25
+ /** Initial retry delay (ms) */
26
26
  const INITIAL_RETRY_DELAY_MS = 500;
27
- /** getTokenPrices 每次最大批量 */
27
+ /** getTokenPrices max batch size */
28
28
  const TOKEN_PRICES_BATCH_SIZE = 25;
29
- /** 默认缓存 TTL (ms) -- 价格等实时数据 30 */
29
+ /** Default cache TTL (ms) -- 30s for real-time data like prices */
30
30
  const PRICE_CACHE_TTL_MS = 30_000;
31
- /** 代币信息缓存 TTL (ms) -- 10 分钟 */
31
+ /** Token info cache TTL (ms) -- 10 minutes */
32
32
  const TOKEN_INFO_CACHE_TTL_MS = 600_000;
33
33
  // ============================================================
34
- // GraphQL 查询
34
+ // GraphQL Queries
35
35
  // ============================================================
36
36
  const GQL_GET_TOKEN_PRICES = `
37
37
  query GetTokenPrices($inputs: [GetPriceInput!]!) {
@@ -123,7 +123,7 @@ const GQL_FILTER_PAIRS = `
123
123
  }
124
124
  `;
125
125
  // ============================================================
126
- // CodexAdapter 实现
126
+ // CodexAdapter Implementation
127
127
  // ============================================================
128
128
  export class CodexAdapter {
129
129
  client;
@@ -136,9 +136,9 @@ export class CodexAdapter {
136
136
  const baseUrl = config?.baseUrl || CODEX_GRAPHQL_URL;
137
137
  this.maxRetries = config?.maxRetries ?? DEFAULT_MAX_RETRIES;
138
138
  if (!apiKey) {
139
- throw new Error('缺少 Codex API Key,请运行: forgex config set codexApiKey <your-key>\n' +
140
- '或设置环境变量: export FORGEX_CODEX_API_KEY=<your-key>\n' +
141
- '获取 API Key: https://www.codex.io');
139
+ throw new Error('Missing Codex API Key. Run: forgex config set codexApiKey <your-key>\n' +
140
+ 'Or set env var: export FORGEX_CODEX_API_KEY=<your-key>\n' +
141
+ 'Get API Key: https://www.codex.io');
142
142
  }
143
143
  this.client = axios.create({
144
144
  baseURL: baseUrl,
@@ -152,17 +152,17 @@ export class CodexAdapter {
152
152
  this.tokenInfoCache = new Map();
153
153
  }
154
154
  // ============================================================
155
- // 重试和错误处理
155
+ // Retry and Error Handling
156
156
  // ============================================================
157
157
  /**
158
- * 带指数退避重试的 GraphQL 请求执行器
158
+ * GraphQL request executor with exponential backoff retry
159
159
  */
160
160
  async executeQuery(query, variables, operationName) {
161
161
  let lastError = null;
162
162
  for (let attempt = 0; attempt < this.maxRetries; attempt++) {
163
163
  try {
164
164
  const response = await this.client.post('', { query, variables });
165
- // GraphQL 层面的错误
165
+ // GraphQL-level errors
166
166
  if (response.data?.errors && response.data.errors.length > 0) {
167
167
  const gqlErrors = response.data.errors;
168
168
  const messages = gqlErrors.map((e) => e.message).join('; ');
@@ -175,29 +175,29 @@ export class CodexAdapter {
175
175
  if (!this.isRetryableError(err)) {
176
176
  throw err;
177
177
  }
178
- // 指数退避等待
178
+ // Exponential backoff wait
179
179
  if (attempt < this.maxRetries - 1) {
180
180
  const delay = INITIAL_RETRY_DELAY_MS * Math.pow(2, attempt);
181
181
  await sleep(delay);
182
182
  }
183
183
  }
184
184
  }
185
- throw lastError || new Error(`${operationName}: 所有重试均失败`);
185
+ throw lastError || new Error(`${operationName}: All retries failed`);
186
186
  }
187
- /** 判断错误是否可重试 */
187
+ /** Check if error is retryable */
188
188
  isRetryableError(err) {
189
- // GraphQL 业务错误不重试
189
+ // Do not retry GraphQL business errors
190
190
  if (err.message?.includes('Codex GraphQL error')) {
191
191
  return false;
192
192
  }
193
- // axios 错误
193
+ // Axios errors
194
194
  if (err instanceof AxiosError) {
195
195
  const status = err.response?.status;
196
- // 429 (rate limit), 502, 503, 504 可重试
196
+ // 429 (rate limit), 502, 503, 504 are retryable
197
197
  if (status && [429, 502, 503, 504].includes(status)) {
198
198
  return true;
199
199
  }
200
- // 网络错误
200
+ // Network error
201
201
  if (!err.response && err.code) {
202
202
  return ['ECONNREFUSED', 'ECONNRESET', 'ETIMEDOUT', 'ENOTFOUND'].includes(err.code);
203
203
  }
@@ -209,9 +209,9 @@ export class CodexAdapter {
209
209
  return false;
210
210
  }
211
211
  // ============================================================
212
- // 缓存管理
212
+ // Cache Management
213
213
  // ============================================================
214
- /** 获取缓存值 (未过期则返回数据, 否则返回 null) */
214
+ /** Get cached value (returns data if not expired, null otherwise) */
215
215
  getCached(cache, key) {
216
216
  const entry = cache.get(key);
217
217
  if (!entry)
@@ -222,24 +222,24 @@ export class CodexAdapter {
222
222
  }
223
223
  return entry.data;
224
224
  }
225
- /** 设置缓存 */
225
+ /** Set cache */
226
226
  setCache(cache, key, data, ttlMs) {
227
227
  cache.set(key, { data, expiresAt: Date.now() + ttlMs });
228
228
  }
229
- /** 清除所有缓存 */
229
+ /** Clear all caches */
230
230
  clearCache() {
231
231
  this.priceCache.clear();
232
232
  this.tokenInfoCache.clear();
233
233
  }
234
234
  // ============================================================
235
- // 代币信息查询
235
+ // Token Info Queries
236
236
  // ============================================================
237
237
  /**
238
- * 获取代币详细市场数据 (使用 filterTokens)
239
- * 包含价格、流动性、市值、持有者、交易量等
238
+ * Get detailed token market data (using filterTokens)
239
+ * Includes price, liquidity, market cap, holders, volume, etc.
240
240
  */
241
241
  async getTokenMarketData(ca) {
242
- // 检查缓存
242
+ // Check cache
243
243
  const cached = this.getCached(this.tokenInfoCache, ca);
244
244
  if (cached)
245
245
  return cached;
@@ -250,7 +250,7 @@ export class CodexAdapter {
250
250
  }, 'getTokenMarketData');
251
251
  const results = data.filterTokens?.results;
252
252
  if (!results || results.length === 0) {
253
- throw new Error(`代币 ${ca} 未找到 (Codex 上无数据)`);
253
+ throw new Error(`Token ${ca} not found (no data on Codex)`);
254
254
  }
255
255
  const r = results[0];
256
256
  const tokenData = {
@@ -270,12 +270,12 @@ export class CodexAdapter {
270
270
  topPairAddress: r.pair?.address || null,
271
271
  createdAt: r.createdAt ?? null,
272
272
  };
273
- // 缓存
273
+ // Cache
274
274
  this.setCache(this.tokenInfoCache, ca, tokenData, TOKEN_INFO_CACHE_TTL_MS);
275
275
  return tokenData;
276
276
  }
277
277
  /**
278
- * 获取代币基本信息 (精简版, filterTokens 提取)
278
+ * Get basic token info (compact version, extracted from filterTokens)
279
279
  */
280
280
  async getTokenInfo(ca) {
281
281
  const marketData = await this.getTokenMarketData(ca);
@@ -284,20 +284,20 @@ export class CodexAdapter {
284
284
  symbol: marketData.symbol,
285
285
  name: marketData.name,
286
286
  decimals: marketData.decimals,
287
- totalSupply: '0', // filterTokens 返回的 totalSupply 可能不准, 链上查询更可靠
287
+ totalSupply: '0', // totalSupply from filterTokens may be inaccurate, on-chain query is more reliable
288
288
  imageUrl: null,
289
289
  createdAt: marketData.createdAt,
290
290
  networkId: SOLANA_NETWORK_ID,
291
291
  };
292
292
  }
293
293
  // ============================================================
294
- // 价格查询
294
+ // Price Queries
295
295
  // ============================================================
296
296
  /**
297
- * 获取单个代币的实时价格 (USD)
297
+ * Get real-time price (USD) for a single token
298
298
  */
299
299
  async getTokenPrice(ca) {
300
- // 检查缓存
300
+ // Check cache
301
301
  const cached = this.getCached(this.priceCache, ca);
302
302
  if (cached)
303
303
  return cached;
@@ -306,7 +306,7 @@ export class CodexAdapter {
306
306
  }, 'getTokenPrice');
307
307
  const prices = data.getTokenPrices;
308
308
  if (!prices || prices.length === 0) {
309
- throw new Error(`代币 ${ca} 价格未找到`);
309
+ throw new Error(`Token ${ca} price not found`);
310
310
  }
311
311
  const price = {
312
312
  address: prices[0].address,
@@ -314,19 +314,19 @@ export class CodexAdapter {
314
314
  priceUsd: prices[0].priceUsd ?? 0,
315
315
  timestamp: prices[0].timestamp ?? null,
316
316
  };
317
- // 缓存
317
+ // Cache
318
318
  this.setCache(this.priceCache, ca, price, PRICE_CACHE_TTL_MS);
319
319
  return price;
320
320
  }
321
321
  /**
322
- * 批量获取代币价格
323
- * Codex 限制每次最多 25 个输入
322
+ * Batch get token prices
323
+ * Codex limits max 25 inputs per request
324
324
  */
325
325
  async getTokenPrices(addresses) {
326
326
  if (addresses.length === 0)
327
327
  return [];
328
328
  const allPrices = [];
329
- // 分批查询
329
+ // Batch query
330
330
  for (let i = 0; i < addresses.length; i += TOKEN_PRICES_BATCH_SIZE) {
331
331
  const batch = addresses.slice(i, i + TOKEN_PRICES_BATCH_SIZE);
332
332
  const inputs = batch.map(address => ({
@@ -343,7 +343,7 @@ export class CodexAdapter {
343
343
  timestamp: p.timestamp ?? null,
344
344
  };
345
345
  allPrices.push(price);
346
- // 缓存每个价格
346
+ // Cache each price
347
347
  this.setCache(this.priceCache, p.address, price, PRICE_CACHE_TTL_MS);
348
348
  }
349
349
  }
@@ -351,23 +351,23 @@ export class CodexAdapter {
351
351
  return allPrices;
352
352
  }
353
353
  /**
354
- * 获取 SOL 价格 (USD)
355
- * 使用 Wrapped SOL 地址查询
354
+ * Get SOL price (USD)
355
+ * Uses Wrapped SOL address for query
356
356
  */
357
357
  async getSolPrice() {
358
358
  const price = await this.getTokenPrice(WRAPPED_SOL_MINT);
359
359
  return price.priceUsd;
360
360
  }
361
361
  // ============================================================
362
- // K线数据
362
+ // Candlestick Data
363
363
  // ============================================================
364
364
  /**
365
- * 获取 K线 (OHLCV) 数据
365
+ * Get candlestick (OHLCV) data
366
366
  *
367
- * getBars symbol 格式: tokenAddress:pairAddress (如无 pairAddress 则用默认交易对)
367
+ * getBars symbol format: tokenAddress:pairAddress (uses default pair if no pairAddress)
368
368
  */
369
369
  async getBars(params) {
370
- // 构建 symbol: Codex getBars 需要 "tokenAddress:networkId" "pairAddress:networkId" 格式
370
+ // Build symbol: Codex getBars requires "tokenAddress:networkId" or "pairAddress:networkId" format
371
371
  const symbolBase = params.pairAddress || params.tokenAddress;
372
372
  const symbol = `${symbolBase}:${SOLANA_NETWORK_ID}`;
373
373
  const data = await this.executeQuery(GQL_GET_BARS, {
@@ -389,13 +389,13 @@ export class CodexAdapter {
389
389
  }));
390
390
  }
391
391
  // ============================================================
392
- // 交易对/流动性池查询
392
+ // Pair/Liquidity Pool Queries
393
393
  // ============================================================
394
394
  /**
395
- * 查找代币的交易对列表 (按流动性降序排列)
395
+ * Find trading pairs for a token (sorted by liquidity descending)
396
396
  */
397
397
  async getPairsForToken(ca, limit = 10) {
398
- // filterPairs phrase 支持代币地址搜索
398
+ // filterPairs phrase supports token address search
399
399
  const data = await this.executeQuery(GQL_FILTER_PAIRS, {
400
400
  phrase: `${ca}:${SOLANA_NETWORK_ID}`,
401
401
  networkFilter: [SOLANA_NETWORK_ID],
@@ -417,18 +417,18 @@ export class CodexAdapter {
417
417
  }));
418
418
  }
419
419
  /**
420
- * 获取代币的顶部 (最高流动性) 交易对
420
+ * Get top (highest liquidity) trading pair for a token
421
421
  */
422
422
  async getTopPair(ca) {
423
423
  const pairs = await this.getPairsForToken(ca, 1);
424
424
  return pairs.length > 0 ? pairs[0] : null;
425
425
  }
426
426
  // ============================================================
427
- // 便捷组合方法 -- ARCH-DESIGN-v2.md 中接口对齐
427
+ // Convenience combo methods -- aligned with ARCH-DESIGN-v2.md interfaces
428
428
  // ============================================================
429
429
  /**
430
- * 获取代币价格 (SOL USD)
431
- * 同时获取代币的 USD 价格和 SOL 价格
430
+ * Get token price (SOL and USD)
431
+ * Fetches both USD and SOL prices simultaneously
432
432
  */
433
433
  async getTokenPriceInSolAndUsd(ca) {
434
434
  const [tokenPrice, solPrice] = await Promise.all([
@@ -440,8 +440,8 @@ export class CodexAdapter {
440
440
  return { priceSol, priceUsd };
441
441
  }
442
442
  /**
443
- * 获取池信息 ( ARCH-DESIGN-v2.md PoolInfoFile 格式对齐)
444
- * 综合 Codex 价格和交易对数据
443
+ * Get pool info (aligned with ARCH-DESIGN-v2.md PoolInfoFile format)
444
+ * Combines Codex price and pair data
445
445
  */
446
446
  async getPoolInfo(ca) {
447
447
  const [marketData, solPrice] = await Promise.all([
@@ -450,14 +450,14 @@ export class CodexAdapter {
450
450
  ]);
451
451
  const priceUsd = marketData.priceUsd;
452
452
  const priceSol = solPrice > 0 ? priceUsd / solPrice : 0;
453
- // 流动性近似拆分: Codex 返回 USD 总流动性, 粗略按 50/50 估算 SOL 一侧
453
+ // Approximate liquidity split: Codex returns total USD liquidity, roughly estimate 50/50 SOL side
454
454
  const liquidityUsd = marketData.liquidity;
455
455
  const liquiditySolSide = solPrice > 0 ? (liquidityUsd / 2) / solPrice : 0;
456
456
  const liquidityTokenSide = priceSol > 0 ? (liquidityUsd / 2) / priceUsd : 0;
457
457
  return {
458
458
  ca,
459
459
  pairAddress: marketData.topPairAddress || '',
460
- dex: 'unknown', // Codex filterTokens 不直接返回 DEX 名, 可通过 getPairsForToken
460
+ dex: 'unknown', // Codex filterTokens doesn't return DEX name directly, use getPairsForToken to query
461
461
  liquidity: {
462
462
  sol: liquiditySolSide,
463
463
  token: liquidityTokenSide,
@@ -468,10 +468,10 @@ export class CodexAdapter {
468
468
  };
469
469
  }
470
470
  // ============================================================
471
- // 健康检查
471
+ // Health Check
472
472
  // ============================================================
473
473
  /**
474
- * 验证 Codex API Key 和连接是否可用
474
+ * Verify Codex API Key and connection availability
475
475
  */
476
476
  async healthCheck() {
477
477
  try {
@@ -492,12 +492,12 @@ export class CodexAdapter {
492
492
  }
493
493
  }
494
494
  // ============================================================
495
- // 单例管理
495
+ // Singleton Management
496
496
  // ============================================================
497
497
  let _instance = null;
498
498
  /**
499
- * 获取 CodexAdapter 单例
500
- * 首次调用时从 config 读取 Codex API Key 创建实例
499
+ * Get CodexAdapter singleton
500
+ * Creates instance from config Codex API Key on first call
501
501
  */
502
502
  export function getCodexAdapter() {
503
503
  if (!_instance) {
@@ -506,17 +506,17 @@ export function getCodexAdapter() {
506
506
  return _instance;
507
507
  }
508
508
  /**
509
- * 重置单例 (配置变更后重新初始化)
509
+ * Reset singleton (re-initialize after config changes)
510
510
  */
511
511
  export function resetCodexAdapter() {
512
512
  _instance = null;
513
513
  }
514
514
  // ============================================================
515
- // 导出常量 (供其他模块使用)
515
+ // Export constants (for use by other modules)
516
516
  // ============================================================
517
517
  export { SOLANA_NETWORK_ID, WRAPPED_SOL_MINT };
518
518
  // ============================================================
519
- // 工具函数
519
+ // Utility Functions
520
520
  // ============================================================
521
521
  function sleep(ms) {
522
522
  return new Promise((resolve) => setTimeout(resolve, ms));
@@ -1 +1 @@
1
- {"version":3,"file":"codex-adapter.js","sourceRoot":"","sources":["../../../src/adapters/codex-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-adapter.js","sourceRoot":"","sources":["../../../src/adapters/codex-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,EAAiB,UAAU,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,+DAA+D;AAC/D,YAAY;AACZ,+DAA+D;AAE/D,6BAA6B;AAC7B,MAAM,iBAAiB,GAAG,gCAAgC,CAAC;AAE3D,gCAAgC;AAChC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAErC,wFAAwF;AACxF,MAAM,gBAAgB,GAAG,6CAA6C,CAAC;AAEvE,0BAA0B;AAC1B,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B,+BAA+B;AAC/B,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC,oCAAoC;AACpC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC,mEAAmE;AACnE,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC,8CAA8C;AAC9C,MAAM,uBAAuB,GAAG,OAAO,CAAC;AA8IxC,+DAA+D;AAC/D,kBAAkB;AAClB,+DAA+D;AAE/D,MAAM,oBAAoB,GAAG;;;;;;;;;CAS5B,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCzB,CAAC;AAEF,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;CAiBpB,CAAC;AAEF,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBxB,CAAC;AAEF,+DAA+D;AAC/D,8BAA8B;AAC9B,+DAA+D;AAE/D,MAAM,OAAO,YAAY;IACf,MAAM,CAAgB;IACtB,UAAU,CAAS;IACnB,UAAU,CAA2C;IACrD,cAAc,CAAgD;IAEtE,YAAY,MAA6B;QACvC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,SAAS,CAAC,WAAW,CAAC;QACvD,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,iBAAiB,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,MAAM,EAAE,UAAU,IAAI,mBAAmB,CAAC;QAE5D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,wEAAwE;gBACxE,0DAA0D;gBAC1D,mCAAmC,CACpC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,MAAM;YACf,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,MAAM;aACxB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;IAClC,CAAC;IAED,+DAA+D;IAC/D,2BAA2B;IAC3B,+DAA+D;IAE/D;;OAEG;IACK,KAAK,CAAC,YAAY,CACxB,KAAa,EACb,SAAkC,EAClC,aAAqB;QAErB,IAAI,SAAS,GAAiB,IAAI,CAAC;QAEnC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YAC3D,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBAElE,uBAAuB;gBACvB,IAAI,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7D,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;oBACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjE,MAAM,IAAI,KAAK,CAAC,wBAAwB,aAAa,MAAM,QAAQ,EAAE,CAAC,CAAC;gBACzE,CAAC;gBAED,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAS,CAAC;YAClC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,SAAS,GAAG,GAAG,CAAC;gBAEhB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChC,MAAM,GAAG,CAAC;gBACZ,CAAC;gBAED,2BAA2B;gBAC3B,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;oBAClC,MAAM,KAAK,GAAG,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC5D,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,SAAS,IAAI,IAAI,KAAK,CAAC,GAAG,aAAa,sBAAsB,CAAC,CAAC;IACvE,CAAC;IAED,kCAAkC;IAC1B,gBAAgB,CAAC,GAAQ;QAC/B,uCAAuC;QACvC,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACjD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,eAAe;QACf,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;YACpC,gDAAgD;YAChD,IAAI,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,gBAAgB;YAChB,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC9B,OAAO,CAAC,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACnD,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC3G,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+DAA+D;IAC/D,mBAAmB;IACnB,+DAA+D;IAE/D,qEAAqE;IAC7D,SAAS,CAAI,KAAiC,EAAE,GAAW;QACjE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACjC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IAED,gBAAgB;IACR,QAAQ,CAAI,KAAiC,EAAE,GAAW,EAAE,IAAO,EAAE,KAAa;QACxF,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,uBAAuB;IACvB,UAAU;QACR,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,+DAA+D;IAC/D,qBAAqB;IACrB,+DAA+D;IAE/D;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,EAAU;QACjC,cAAc;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACvD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAyBlC,iBAAiB,EACjB;YACE,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,aAAa,EAAE,CAAC,iBAAiB,CAAC;YAClC,KAAK,EAAE,CAAC;SACT,EACD,oBAAoB,CACrB,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;QAC3C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,+BAA+B,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,SAAS,GAAyB;YACtC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO;YACxB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS;YACnC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,eAAe;YACrC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC;YAC/B,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC;YACvC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC;YACxC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC;YAC7C,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC;YACzC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC;YACzC,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC;YACvB,WAAW,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC;YAC9B,YAAY,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC;YAChC,WAAW,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC;YAC9B,cAAc,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,IAAI,IAAI;YACvC,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;SAC/B,CAAC;QAEF,QAAQ;QACR,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,uBAAuB,CAAC,CAAC;QAE3E,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,EAAU;QAC3B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACrD,OAAO;YACL,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,WAAW,EAAE,GAAG,EAAE,mFAAmF;YACrG,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,SAAS,EAAE,iBAAiB;SAC7B,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,gBAAgB;IAChB,+DAA+D;IAE/D;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,EAAU;QAC5B,cAAc;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAQlC,oBAAoB,EACpB;YACE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;SACxD,EACD,eAAe,CAChB,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;QACnC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,KAAK,GAAoB;YAC7B,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO;YAC1B,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YAC9B,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC;YACjC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI;SACvC,CAAC;QAEF,QAAQ;QACR,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAE9D,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,SAAmB;QACtC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEtC,MAAM,SAAS,GAAsB,EAAE,CAAC;QAExC,cAAc;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,uBAAuB,EAAE,CAAC;YACnE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACnC,OAAO;gBACP,SAAS,EAAE,iBAAiB;aAC7B,CAAC,CAAC,CAAC;YAEJ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAQlC,oBAAoB,EACpB,EAAE,MAAM,EAAE,EACV,gBAAgB,CACjB,CAAC;YAEF,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpC,MAAM,KAAK,GAAoB;wBAC7B,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC;wBACzB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;qBAC/B,CAAC;oBACF,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACtB,mBAAmB;oBACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW;QACf,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACzD,OAAO,KAAK,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED,+DAA+D;IAC/D,mBAAmB;IACnB,+DAA+D;IAE/D;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,MAAqB;QACjC,kGAAkG;QAClG,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY,CAAC;QAC7D,MAAM,MAAM,GAAG,GAAG,UAAU,IAAI,iBAAiB,EAAE,CAAC;QAEpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAUlC,YAAY,EACZ;YACE,MAAM;YACN,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,EACD,SAAS,CACV,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAE7B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,CAAC,EAAE,GAAG,CAAC,CAAC;SACT,CAAC,CAAC,CAAC;IACN,CAAC;IAED,+DAA+D;IAC/D,8BAA8B;IAC9B,+DAA+D;IAE/D;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,EAAU,EAAE,QAAgB,EAAE;QACnD,mDAAmD;QACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAiBlC,gBAAgB,EAChB;YACE,MAAM,EAAE,GAAG,EAAE,IAAI,iBAAiB,EAAE;YACpC,aAAa,EAAE,CAAC,iBAAiB,CAAC;YAClC,KAAK;SACN,EACD,kBAAkB,CACnB,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;QAC1C,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAExB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvB,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO;YAC3B,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,IAAI,SAAS;YAC3C,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC;YACzC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM;YAC5B,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM;YAC5B,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC;YACpC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC;YACxC,WAAW,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC;YAC9B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI;SACpC,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;IAED,+DAA+D;IAC/D,yEAAyE;IACzE,+DAA+D;IAE/D;;;OAGG;IACH,KAAK,CAAC,wBAAwB,CAAC,EAAU;QAIvC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/C,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE;SACnB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACrC,MAAM,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAExD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,EAAU;QAS1B,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/C,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,EAAE;SACnB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACrC,MAAM,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAExD,kGAAkG;QAClG,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC;QAC1C,MAAM,gBAAgB,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,kBAAkB,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5E,OAAO;YACL,EAAE;YACF,WAAW,EAAE,UAAU,CAAC,cAAc,IAAI,EAAE;YAC5C,GAAG,EAAE,SAAS,EAAE,qFAAqF;YACrG,SAAS,EAAE;gBACT,GAAG,EAAE,gBAAgB;gBACrB,KAAK,EAAE,kBAAkB;aAC1B;YACD,QAAQ;YACR,QAAQ;YACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,eAAe;IACf,+DAA+D;IAE/D;;OAEG;IACH,KAAK,CAAC,WAAW;QAMf,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,iBAAiB;gBAC3B,WAAW,EAAE,QAAQ;aACtB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,iBAAiB;gBAC3B,KAAK,EAAE,GAAG,CAAC,OAAO;aACnB,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED,+DAA+D;AAC/D,uBAAuB;AACvB,+DAA+D;AAE/D,IAAI,SAAS,GAAwB,IAAI,CAAC;AAE1C;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,IAAI,YAAY,EAAE,CAAC;IACjC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,SAAS,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,+DAA+D;AAC/D,8CAA8C;AAC9C,+DAA+D;AAE/D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;AAE/C,+DAA+D;AAC/D,oBAAoB;AACpB,+DAA+D;AAE/D,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -1,20 +1,20 @@
1
1
  /**
2
- * ForgeX CLI Solana 连接适配器
2
+ * ForgeX CLI Solana Connection Adapter
3
3
  *
4
- * 替代前端的 useConnection hook,提供直接的 Connection 创建。
4
+ * Replaces the frontend useConnection hook, providing direct Connection creation.
5
5
  */
6
6
  import { Connection, Commitment } from '@solana/web3.js';
7
7
  /**
8
- * 获取 Solana Connection
9
- * 缓存实例,仅在 RPC URL 变化时重建
8
+ * Get Solana Connection
9
+ * Caches instance, only rebuilds when RPC URL changes
10
10
  */
11
11
  export declare function getConnection(commitment?: Commitment): Connection;
12
12
  /**
13
- * 创建新的 Connection(不使用缓存)
13
+ * Create a new Connection (without caching)
14
14
  */
15
15
  export declare function createConnection(rpcUrl?: string, commitment?: Commitment): Connection;
16
16
  /**
17
- * 重置连接缓存
17
+ * Reset connection cache
18
18
  */
19
19
  export declare function resetConnection(): void;
20
20
  //# sourceMappingURL=connection.d.ts.map
@@ -1,21 +1,21 @@
1
1
  /**
2
- * ForgeX CLI Solana 连接适配器
2
+ * ForgeX CLI Solana Connection Adapter
3
3
  *
4
- * 替代前端的 useConnection hook,提供直接的 Connection 创建。
4
+ * Replaces the frontend useConnection hook, providing direct Connection creation.
5
5
  */
6
6
  import { Connection } from '@solana/web3.js';
7
7
  import { loadConfig } from '../config.js';
8
8
  let _connection = null;
9
9
  let _currentRpcUrl = '';
10
10
  /**
11
- * 获取 Solana Connection
12
- * 缓存实例,仅在 RPC URL 变化时重建
11
+ * Get Solana Connection
12
+ * Caches instance, only rebuilds when RPC URL changes
13
13
  */
14
14
  export function getConnection(commitment = 'processed') {
15
15
  const config = loadConfig();
16
16
  const rpcUrl = config.rpcUrl;
17
17
  if (!rpcUrl) {
18
- throw new Error('未配置 RPC URL,请运行: forgex config set rpcUrl <your-rpc-url>');
18
+ throw new Error('RPC URL not configured. Please run: forgex config set rpcUrl <your-rpc-url>');
19
19
  }
20
20
  if (!_connection || _currentRpcUrl !== rpcUrl) {
21
21
  _connection = new Connection(rpcUrl, commitment);
@@ -24,17 +24,17 @@ export function getConnection(commitment = 'processed') {
24
24
  return _connection;
25
25
  }
26
26
  /**
27
- * 创建新的 Connection(不使用缓存)
27
+ * Create a new Connection (without caching)
28
28
  */
29
29
  export function createConnection(rpcUrl, commitment = 'processed') {
30
30
  const url = rpcUrl || loadConfig().rpcUrl;
31
31
  if (!url) {
32
- throw new Error('未配置 RPC URL');
32
+ throw new Error('RPC URL not configured');
33
33
  }
34
34
  return new Connection(url, commitment);
35
35
  }
36
36
  /**
37
- * 重置连接缓存
37
+ * Reset connection cache
38
38
  */
39
39
  export function resetConnection() {
40
40
  _connection = null;
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/adapters/connection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAc,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,IAAI,WAAW,GAAsB,IAAI,CAAC;AAC1C,IAAI,cAAc,GAAG,EAAE,CAAC;AAExB;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,aAAyB,WAAW;IAChE,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAE7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,CAAC,WAAW,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QAC9C,WAAW,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACjD,cAAc,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAe,EACf,aAAyB,WAAW;IAEpC,MAAM,GAAG,GAAG,MAAM,IAAI,UAAU,EAAE,CAAC,MAAM,CAAC;IAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,IAAI,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,WAAW,GAAG,IAAI,CAAC;IACnB,cAAc,GAAG,EAAE,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/adapters/connection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAc,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,IAAI,WAAW,GAAsB,IAAI,CAAC;AAC1C,IAAI,cAAc,GAAG,EAAE,CAAC;AAExB;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,aAAyB,WAAW;IAChE,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAE7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,CAAC,WAAW,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QAC9C,WAAW,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACjD,cAAc,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAe,EACf,aAAyB,WAAW;IAEpC,MAAM,GAAG,GAAG,MAAM,IAAI,UAAU,EAAE,CAAC,MAAM,CAAC;IAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,WAAW,GAAG,IAAI,CAAC;IACnB,cAAc,GAAG,EAAE,CAAC;AACtB,CAAC"}
@@ -1,10 +1,10 @@
1
1
  /**
2
- * IPFS 上传适配器
2
+ * IPFS Upload Adapter
3
3
  *
4
- * 直连 pump.fun/api/ipfs 上传代币元数据。
4
+ * Directly uploads token metadata to pump.fun/api/ipfs.
5
5
  */
6
6
  /**
7
- * 上传代币元数据到 IPFS (直连 pump.fun/api/ipfs)
7
+ * Upload token metadata to IPFS (direct to pump.fun/api/ipfs)
8
8
  */
9
9
  export declare const uploadToIpfs: (filePath: string, metadata?: {
10
10
  name: string;
@@ -1,13 +1,13 @@
1
1
  /**
2
- * IPFS 上传适配器
2
+ * IPFS Upload Adapter
3
3
  *
4
- * 直连 pump.fun/api/ipfs 上传代币元数据。
4
+ * Directly uploads token metadata to pump.fun/api/ipfs.
5
5
  */
6
6
  import fs from 'fs';
7
7
  import axios from 'axios';
8
8
  import FormData from 'form-data';
9
9
  /**
10
- * 上传代币元数据到 IPFS (直连 pump.fun/api/ipfs)
10
+ * Upload token metadata to IPFS (direct to pump.fun/api/ipfs)
11
11
  */
12
12
  export const uploadToIpfs = async (filePath, metadata) => {
13
13
  const formData = new FormData();