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,21 +1,21 @@
1
1
  /**
2
- * ForgeX CLI Jito Bundle 直连适配器
2
+ * ForgeX CLI Jito Bundle Direct Adapter
3
3
  *
4
- * 替代现有通过 forgex.online/api 代理的 bundle 状态查询和发送。
5
- * 直接调用 Jito Block Engine JSON-RPC API
4
+ * Replaces the existing bundle status query and sending via forgex.online/api proxy.
5
+ * Directly calls Jito Block Engine JSON-RPC API.
6
6
  *
7
- * 设计参考: ARCH-DESIGN-v2.md Section 2.5
7
+ * Design reference: ARCH-DESIGN-v2.md Section 2.5
8
8
  *
9
- * 复用自 sol-sdk/jito/index.ts 的端点配置和 tip 账户列表。
9
+ * Reuses endpoint config and tip account list from sol-sdk/jito/index.ts.
10
10
  */
11
11
  import axios from 'axios';
12
12
  import { PublicKey, SystemProgram, LAMPORTS_PER_SOL } from '@solana/web3.js';
13
13
  import bs58 from 'bs58';
14
14
  import { loadConfig } from '../config.js';
15
15
  // ============================================================
16
- // 常量 (复用 sol-sdk/jito 配置)
16
+ // Constants (reuses sol-sdk/jito config)
17
17
  // ============================================================
18
- /** Jito Block Engine API 端点列表 (多区域容错) */
18
+ /** Jito Block Engine API endpoint list (multi-region fault tolerance) */
19
19
  export const JITO_ENDPOINTS = [
20
20
  'https://mainnet.block-engine.jito.wtf/api/v1',
21
21
  'https://amsterdam.mainnet.block-engine.jito.wtf/api/v1',
@@ -23,7 +23,7 @@ export const JITO_ENDPOINTS = [
23
23
  'https://ny.mainnet.block-engine.jito.wtf/api/v1',
24
24
  'https://tokyo.mainnet.block-engine.jito.wtf/api/v1',
25
25
  ];
26
- /** Jito Tip 账户列表 */
26
+ /** Jito Tip account list */
27
27
  export const JITO_TIP_ACCOUNTS = [
28
28
  '96gYZGLnJYVFmbjzopPSU6QiEV5fGqZNyN9nmNhvrZU5',
29
29
  'HFqU5x63VTqvQss8hp11i4wVV8bD44PvwucfZ2bU7gRe',
@@ -34,35 +34,35 @@ export const JITO_TIP_ACCOUNTS = [
34
34
  'DttWaMuVvTiduZRnguLF7jNxTgiMBZ1hyAumKUiL2KRL',
35
35
  '3AVi9Tg9Uo68tJfuvoKvqKNWKkC5wPdSSdeBnizKZ6jT',
36
36
  ];
37
- /** Bundle 确认状态枚举 */
37
+ /** Bundle confirmation status enum */
38
38
  export var BundleStatusEnum;
39
39
  (function (BundleStatusEnum) {
40
- /** 已发送,尚未处理 */
40
+ /** Sent, not yet processed */
41
41
  BundleStatusEnum["SENT"] = "sent";
42
- /** 已处理 (包含在区块中) */
42
+ /** Processed (included in block) */
43
43
  BundleStatusEnum["PROCESSED"] = "processed";
44
- /** 已确认 (超级多数验证) */
44
+ /** Confirmed (supermajority validation) */
45
45
  BundleStatusEnum["CONFIRMED"] = "confirmed";
46
- /** 已最终确认 (不可逆) */
46
+ /** Finalized (irreversible) */
47
47
  BundleStatusEnum["FINALIZED"] = "finalized";
48
- /** 执行失败 */
48
+ /** Execution failed */
49
49
  BundleStatusEnum["FAILED"] = "failed";
50
- /** 查询超时 */
50
+ /** Query timeout */
51
51
  BundleStatusEnum["TIMEOUT"] = "timeout";
52
- /** landing (inflight) */
52
+ /** In landing (inflight) */
53
53
  BundleStatusEnum["INFLIGHT"] = "inflight";
54
- /** 未知状态 */
54
+ /** Unknown status */
55
55
  BundleStatusEnum["UNKNOWN"] = "unknown";
56
56
  })(BundleStatusEnum || (BundleStatusEnum = {}));
57
57
  // ============================================================
58
- // 默认值
58
+ // Defaults
59
59
  // ============================================================
60
60
  const DEFAULT_MAX_RETRIES = 3;
61
61
  const INITIAL_RETRY_DELAY_MS = 500;
62
62
  const DEFAULT_TIMEOUT_MS = 90000;
63
63
  const DEFAULT_POLL_INTERVAL_MS = 3000;
64
64
  // ============================================================
65
- // JitoAdapter 实现
65
+ // JitoAdapter Implementation
66
66
  // ============================================================
67
67
  export class JitoAdapter {
68
68
  endpoints;
@@ -70,12 +70,12 @@ export class JitoAdapter {
70
70
  client;
71
71
  maxRetries;
72
72
  constructor(options) {
73
- // 端点列表: 用户配置 > 默认 Jito 端点
73
+ // Endpoint list: user config > default Jito endpoints
74
74
  if (options?.endpoints && options.endpoints.length > 0) {
75
75
  this.endpoints = [...options.endpoints];
76
76
  }
77
77
  else {
78
- // 尝试从 config 读取自定义 Jito 端点
78
+ // Try reading custom Jito endpoints from config
79
79
  try {
80
80
  const config = loadConfig();
81
81
  const configEndpoints = config.jitoEndpoints;
@@ -104,13 +104,13 @@ export class JitoAdapter {
104
104
  });
105
105
  }
106
106
  // ============================================================
107
- // 底层 JSON-RPC 通信
107
+ // Low-level JSON-RPC Communication
108
108
  // ============================================================
109
109
  /**
110
- * 发送 JSON-RPC 请求到 Jito Block Engine
111
- * @param path API 路径 ( /bundles)
112
- * @param method JSON-RPC 方法名
113
- * @param params JSON-RPC 参数
110
+ * Send JSON-RPC request to Jito Block Engine
111
+ * @param path API path (e.g. /bundles)
112
+ * @param method JSON-RPC method name
113
+ * @param params JSON-RPC params
114
114
  */
115
115
  async sendRequest(path, method, params) {
116
116
  const baseUrl = this.endpoints[this.currentEndpointIndex];
@@ -130,13 +130,13 @@ export class JitoAdapter {
130
130
  return response.data;
131
131
  }
132
132
  // ============================================================
133
- // 重试和容错 ( RpcAdapter 一致的模式)
133
+ // Retry and Fault Tolerance (same pattern as RpcAdapter)
134
134
  // ============================================================
135
135
  /**
136
- * 带指数退避重试 + 端点轮转的执行器
137
- * 1. 在当前端点上重试 maxRetries (指数退避)
138
- * 2. 如果当前端点全部失败,切换到下一个端点继续
139
- * 3. 所有端点都失败后抛出最后一个错误
136
+ * Executor with exponential backoff retry + endpoint rotation
137
+ * 1. Retry maxRetries times on current endpoint (exponential backoff)
138
+ * 2. If current endpoint fails all retries, switch to next endpoint
139
+ * 3. Throw last error after all endpoints fail
140
140
  */
141
141
  async executeWithRetry(operation, operationName) {
142
142
  const triedEndpoints = new Set();
@@ -162,29 +162,29 @@ export class JitoAdapter {
162
162
  if (!this.isRetryableError(err)) {
163
163
  throw lastError;
164
164
  }
165
- // 指数退避等待
165
+ // Exponential backoff wait
166
166
  if (attempt < this.maxRetries - 1) {
167
167
  const delay = INITIAL_RETRY_DELAY_MS * Math.pow(2, attempt);
168
168
  await sleep(delay);
169
169
  }
170
170
  }
171
171
  }
172
- // 当前端点全部重试失败,尝试切换
172
+ // All retries failed on current endpoint, try switching
173
173
  const switched = this.switchEndpoint();
174
174
  if (!switched)
175
175
  break;
176
176
  }
177
- throw lastError || new Error(`${operationName}: 所有 Jito 端点均不可用`);
177
+ throw lastError || new Error(`${operationName}: All Jito endpoints unavailable`);
178
178
  }
179
- /** 判断错误是否可重试 */
179
+ /** Check if error is retryable */
180
180
  isRetryableError(err) {
181
181
  const message = (err?.message || '').toLowerCase();
182
182
  const status = err?.response?.status;
183
- // HTTP 状态码判断
183
+ // HTTP status code check
184
184
  if (status === 429 || status === 502 || status === 503 || status === 500) {
185
185
  return true;
186
186
  }
187
- // 网络错误
187
+ // Network error
188
188
  if (message.includes('fetch failed') ||
189
189
  message.includes('econnrefused') ||
190
190
  message.includes('econnreset') ||
@@ -192,17 +192,17 @@ export class JitoAdapter {
192
192
  message.includes('network error')) {
193
193
  return true;
194
194
  }
195
- // 超时
195
+ // Timeout
196
196
  if (message.includes('timeout') || message.includes('timed out') || err?.code === 'ECONNABORTED') {
197
197
  return true;
198
198
  }
199
- // 速率限制
199
+ // Rate limit
200
200
  if (message.includes('rate limit') || message.includes('too many requests')) {
201
201
  return true;
202
202
  }
203
203
  return false;
204
204
  }
205
- /** 切换到下一个端点 */
205
+ /** Switch to next endpoint */
206
206
  switchEndpoint() {
207
207
  if (this.endpoints.length <= 1)
208
208
  return false;
@@ -210,19 +210,19 @@ export class JitoAdapter {
210
210
  this.currentEndpointIndex = (this.currentEndpointIndex + 1) % this.endpoints.length;
211
211
  return this.currentEndpointIndex !== oldIndex;
212
212
  }
213
- /** 获取当前端点 URL (供调试使用) */
213
+ /** Get current endpoint URL (for debugging) */
214
214
  getCurrentEndpoint() {
215
215
  return this.endpoints[this.currentEndpointIndex];
216
216
  }
217
217
  // ============================================================
218
- // Bundle 状态查询
218
+ // Bundle Status Queries
219
219
  // ============================================================
220
220
  /**
221
- * 查询 Bundle 状态
222
- * 调用 Jito getBundleStatuses JSON-RPC 方法
221
+ * Query bundle statuses
222
+ * Calls Jito getBundleStatuses JSON-RPC method
223
223
  *
224
- * @param bundleIds 要查询的 Bundle ID 列表
225
- * @returns 每个 Bundle 的状态
224
+ * @param bundleIds Bundle IDs to query
225
+ * @returns Status for each bundle
226
226
  */
227
227
  async getBundleStatuses(bundleIds) {
228
228
  if (bundleIds.length === 0)
@@ -230,11 +230,11 @@ export class JitoAdapter {
230
230
  return this.executeWithRetry(async () => {
231
231
  const response = await this.sendRequest('/bundles', 'getBundleStatuses', [bundleIds]);
232
232
  if (response.error) {
233
- throw new Error(`Jito getBundleStatuses 错误: ${response.error.message}`);
233
+ throw new Error(`Jito getBundleStatuses error: ${response.error.message}`);
234
234
  }
235
235
  const value = response.result?.value;
236
236
  if (!Array.isArray(value)) {
237
- // 没有找到任何 bundle 状态
237
+ // No bundle statuses found
238
238
  return bundleIds.map((id) => ({
239
239
  bundleId: id,
240
240
  status: BundleStatusEnum.UNKNOWN,
@@ -256,15 +256,15 @@ export class JitoAdapter {
256
256
  }, 'getBundleStatuses');
257
257
  }
258
258
  /**
259
- * 查询单个 Bundle 的状态 (便捷方法)
259
+ * Query single bundle status (convenience method)
260
260
  */
261
261
  async getBundleStatus(bundleId) {
262
262
  const results = await this.getBundleStatuses([bundleId]);
263
263
  return results[0];
264
264
  }
265
265
  /**
266
- * 查询 Inflight Bundle 状态
267
- * 用于查询刚发送、尚未落地的 bundle
266
+ * Query inflight bundle statuses
267
+ * For querying bundles that have been sent but not yet landed
268
268
  */
269
269
  async getInflightBundleStatuses(bundleIds) {
270
270
  if (bundleIds.length === 0)
@@ -272,7 +272,7 @@ export class JitoAdapter {
272
272
  return this.executeWithRetry(async () => {
273
273
  const response = await this.sendRequest('/bundles', 'getInflightBundleStatuses', [bundleIds]);
274
274
  if (response.error) {
275
- throw new Error(`Jito getInflightBundleStatuses 错误: ${response.error.message}`);
275
+ throw new Error(`Jito getInflightBundleStatuses error: ${response.error.message}`);
276
276
  }
277
277
  const value = response.result?.value;
278
278
  if (!Array.isArray(value)) {
@@ -289,15 +289,15 @@ export class JitoAdapter {
289
289
  }, 'getInflightBundleStatuses');
290
290
  }
291
291
  // ============================================================
292
- // Bundle 确认等待 (轮询)
292
+ // Bundle Confirmation Wait (polling)
293
293
  // ============================================================
294
294
  /**
295
- * 等待 Bundle 确认
296
- * 轮询 getBundleStatuses 直到达到终态或超时
295
+ * Wait for bundle confirmation
296
+ * Polls getBundleStatuses until terminal state or timeout
297
297
  *
298
298
  * @param bundleId Bundle ID
299
- * @param options 超时和轮询间隔配置
300
- * @returns Bundle 确认结果
299
+ * @param options Timeout and poll interval config
300
+ * @returns Bundle confirmation result
301
301
  */
302
302
  async waitForBundleConfirmation(bundleId, options) {
303
303
  const timeoutMs = options?.timeoutMs ?? DEFAULT_TIMEOUT_MS;
@@ -311,7 +311,7 @@ export class JitoAdapter {
311
311
  ]);
312
312
  const inflightStatus = inflight?.[0];
313
313
  console.log(`[Jito] bundle ${bundleId} poll => final=${status.status} slot=${status.slot ?? 'n/a'} inflight=${inflightStatus?.status ?? 'n/a'} landedSlot=${inflightStatus?.landedSlot ?? 'n/a'} txs=${status.transactions?.length ?? 0}`);
314
- // 如果 inflight landed,但 final 端还没刷新,把它视为成功并继续返回可观测信息
314
+ // If inflight has landed but final status not yet updated, treat as success and return observable info
315
315
  if (inflightStatus?.status &&
316
316
  ['landed', 'processed', 'confirmed', 'finalized'].includes(String(inflightStatus.status).toLowerCase())) {
317
317
  return {
@@ -330,7 +330,7 @@ export class JitoAdapter {
330
330
  success,
331
331
  slot: status.slot,
332
332
  transactions: status.transactions,
333
- error: success ? undefined : `Bundle 状态: ${status.status}`,
333
+ error: success ? undefined : `Bundle status: ${status.status}`,
334
334
  };
335
335
  }
336
336
  }
@@ -345,86 +345,86 @@ export class JitoAdapter {
345
345
  bundleId,
346
346
  status: BundleStatusEnum.TIMEOUT,
347
347
  success: false,
348
- error: `等待 Bundle 确认超时 (${timeoutMs}ms)`,
348
+ error: `Bundle confirmation timeout (${timeoutMs}ms)`,
349
349
  };
350
350
  }
351
351
  // ============================================================
352
- // Bundle 发送
352
+ // Bundle Sending
353
353
  // ============================================================
354
354
  /**
355
- * 发送 Bundle Jito Block Engine
356
- * 直连 Jito,不经过 forgex.online/api 代理
355
+ * Send bundle to Jito Block Engine
356
+ * Direct connection to Jito, not through forgex.online/api proxy
357
357
  *
358
- * @param base64Txs Base64 编码的交易列表
358
+ * @param base64Txs Base64 encoded transaction list
359
359
  * @returns Bundle ID
360
360
  */
361
361
  async sendBundle(base64Txs) {
362
362
  if (base64Txs.length === 0) {
363
- throw new Error('sendBundle: 交易列表不能为空');
363
+ throw new Error('sendBundle: transaction list cannot be empty');
364
364
  }
365
- console.log(`[Jito] 发送 Bundle: ${base64Txs.length} 笔交易, 端点: ${this.getCurrentEndpoint()}`);
365
+ console.log(`[Jito] Sending bundle: ${base64Txs.length} transactions, endpoint: ${this.getCurrentEndpoint()}`);
366
366
  return this.executeWithRetry(async () => {
367
367
  const response = await this.sendRequest('/bundles', 'sendBundle', [base64Txs, { encoding: 'base64' }]);
368
368
  if (response.error) {
369
- throw new Error(`Jito sendBundle 错误: ${response.error.message}`);
369
+ throw new Error(`Jito sendBundle error: ${response.error.message}`);
370
370
  }
371
371
  const bundleId = response.result;
372
372
  if (!bundleId || typeof bundleId !== 'string') {
373
- throw new Error('Jito sendBundle: 未返回有效的 Bundle ID');
373
+ throw new Error('Jito sendBundle: no valid Bundle ID returned');
374
374
  }
375
375
  return { bundleId };
376
376
  }, 'sendBundle');
377
377
  }
378
378
  async sendBundleBase58(base64Txs) {
379
379
  if (base64Txs.length === 0) {
380
- throw new Error('sendBundleBase58: 交易列表不能为空');
380
+ throw new Error('sendBundleBase58: transaction list cannot be empty');
381
381
  }
382
382
  const base58Txs = base64Txs.map(b64 => bs58.encode(Buffer.from(b64, 'base64')));
383
- console.log(`[Jito] 发送 Bundle(base58): ${base58Txs.length} 笔交易, 端点: ${this.getCurrentEndpoint()}`);
383
+ console.log(`[Jito] Sending bundle (base58): ${base58Txs.length} transactions, endpoint: ${this.getCurrentEndpoint()}`);
384
384
  return this.executeWithRetry(async () => {
385
385
  const response = await this.sendRequest('/bundles', 'sendBundle', [base58Txs]);
386
386
  if (response.error) {
387
- throw new Error(`Jito sendBundle(base58) 错误: ${response.error.message}`);
387
+ throw new Error(`Jito sendBundle(base58) error: ${response.error.message}`);
388
388
  }
389
389
  const bundleId = response.result;
390
390
  if (!bundleId || typeof bundleId !== 'string') {
391
- throw new Error('Jito sendBundle(base58): 未返回有效的 Bundle ID');
391
+ throw new Error('Jito sendBundle(base58): no valid Bundle ID returned');
392
392
  }
393
393
  return { bundleId };
394
394
  }, 'sendBundleBase58');
395
395
  }
396
396
  // ============================================================
397
- // 单笔交易发送 (sendTransaction)
397
+ // Single Transaction Sending (sendTransaction)
398
398
  // ============================================================
399
399
  /**
400
- * 通过 Jito 发送单笔交易
401
- * 使用 /transactions 端点 + base64 编码
400
+ * Send single transaction via Jito
401
+ * Uses /transactions endpoint + base64 encoding
402
402
  *
403
- * @param base64Tx Base64 编码的交易
404
- * @returns 交易签名 (txHash)
403
+ * @param base64Tx Base64 encoded transaction
404
+ * @returns Transaction signature (txHash)
405
405
  */
406
406
  async sendTransaction(base64Tx, options) {
407
407
  return this.executeWithRetry(async () => {
408
408
  const path = options?.bundleOnly ? '/transactions?bundleOnly=true' : '/transactions';
409
409
  const response = await this.sendRequest(path, 'sendTransaction', [base64Tx, { encoding: 'base64' }]);
410
410
  if (response.error) {
411
- throw new Error(`Jito sendTransaction 错误: ${response.error.message}`);
411
+ throw new Error(`Jito sendTransaction error: ${response.error.message}`);
412
412
  }
413
413
  return { txHash: response.result };
414
414
  }, 'sendTransaction');
415
415
  }
416
416
  // ============================================================
417
- // RPC 交易确认
417
+ // RPC Transaction Confirmation
418
418
  // ============================================================
419
419
  /**
420
- * 通过标准 Solana RPC 确认交易状态
421
- * 轮询 getSignatureStatuses 直到交易确认或超时
420
+ * Confirm transaction status via standard Solana RPC
421
+ * Polls getSignatureStatuses until confirmed or timeout
422
422
  *
423
423
  * @param connection Solana Connection
424
- * @param signature 交易签名
425
- * @param timeoutMs 超时时间 (ms), 默认 30000
426
- * @param intervalMs 轮询间隔 (ms), 默认 2000
427
- * @returns 确认结果
424
+ * @param signature Transaction signature
425
+ * @param timeoutMs Timeout (ms), default 30000
426
+ * @param intervalMs Poll interval (ms), default 2000
427
+ * @returns Confirmation result
428
428
  */
429
429
  async confirmTransactionByRpc(connection, signature, timeoutMs = 30000, intervalMs = 2000) {
430
430
  const start = Date.now();
@@ -439,45 +439,45 @@ export class JitoAdapter {
439
439
  }
440
440
  await sleep(intervalMs);
441
441
  }
442
- return { success: false, error: '交易确认超时' };
442
+ return { success: false, error: 'Transaction confirmation timeout' };
443
443
  }
444
444
  // ============================================================
445
- // Tip 相关查询
445
+ // Tip Queries
446
446
  // ============================================================
447
447
  /**
448
- * Jito API 获取最新的 Tip 账户列表
449
- * 通常使用本地硬编码的 JITO_TIP_ACCOUNTS 即可,
450
- * 此方法用于需要动态获取最新 tip 账户的场景
448
+ * Fetch latest tip account list from Jito API
449
+ * Normally the local hardcoded JITO_TIP_ACCOUNTS suffice,
450
+ * this method is for scenarios requiring dynamic tip account retrieval
451
451
  */
452
452
  async getTipAccounts() {
453
453
  return this.executeWithRetry(async () => {
454
454
  const response = await this.sendRequest('/bundles', 'getTipAccounts');
455
455
  if (response.error) {
456
- throw new Error(`Jito getTipAccounts 错误: ${response.error.message}`);
456
+ throw new Error(`Jito getTipAccounts error: ${response.error.message}`);
457
457
  }
458
458
  const accounts = response.result;
459
459
  if (Array.isArray(accounts) && accounts.length > 0) {
460
460
  return accounts;
461
461
  }
462
- // fallback 到本地硬编码列表
462
+ // Fallback to local hardcoded list
463
463
  return [...JITO_TIP_ACCOUNTS];
464
464
  }, 'getTipAccounts');
465
465
  }
466
466
  /**
467
- * 随机获取一个 Tip 账户地址
468
- * 使用本地硬编码列表,无网络开销
467
+ * Get a random tip account address
468
+ * Uses local hardcoded list, no network overhead
469
469
  */
470
470
  getRandomTipAccount() {
471
471
  const index = Math.floor(Math.random() * JITO_TIP_ACCOUNTS.length);
472
472
  return JITO_TIP_ACCOUNTS[index];
473
473
  }
474
474
  /**
475
- * 构建 Jito Tip 转账指令
476
- * 复用 sol-sdk/jito 中的逻辑
475
+ * Build Jito tip transfer instruction
476
+ * Reuses logic from sol-sdk/jito
477
477
  *
478
- * @param payer 付款者的 PublicKey
479
- * @param tipAmountSol Tip 金额 (SOL 单位)
480
- * @returns SystemProgram.transfer 指令
478
+ * @param payer Payer PublicKey
479
+ * @param tipAmountSol Tip amount (SOL units)
480
+ * @returns SystemProgram.transfer instruction
481
481
  */
482
482
  getTipInstruction(payer, tipAmountSol) {
483
483
  const tipAccount = new PublicKey(this.getRandomTipAccount());
@@ -489,11 +489,11 @@ export class JitoAdapter {
489
489
  });
490
490
  }
491
491
  // ============================================================
492
- // 辅助方法
492
+ // Helper Methods
493
493
  // ============================================================
494
494
  /**
495
- * 判断 Bundle 状态是否为成功状态
496
- * (processed / confirmed / finalized 均视为成功)
495
+ * Check if bundle status is a success state
496
+ * (processed / confirmed / finalized are all considered successful)
497
497
  */
498
498
  isSuccessStatus(status) {
499
499
  return (status === BundleStatusEnum.PROCESSED ||
@@ -501,7 +501,7 @@ export class JitoAdapter {
501
501
  status === BundleStatusEnum.FINALIZED);
502
502
  }
503
503
  /**
504
- * 判断 Bundle 状态是否为终态 (不会再变化)
504
+ * Check if bundle status is a terminal state (will not change)
505
505
  */
506
506
  isTerminalStatus(status) {
507
507
  return (status === BundleStatusEnum.PROCESSED ||
@@ -510,7 +510,7 @@ export class JitoAdapter {
510
510
  status === BundleStatusEnum.FAILED);
511
511
  }
512
512
  /**
513
- * Jito API 返回的状态字符串映射到 BundleStatusEnum
513
+ * Map Jito API status string to BundleStatusEnum
514
514
  */
515
515
  mapBundleStatus(rawStatus) {
516
516
  if (!rawStatus)
@@ -532,12 +532,12 @@ export class JitoAdapter {
532
532
  }
533
533
  }
534
534
  /**
535
- * 健康检查: 验证当前 Jito 端点是否可用
535
+ * Health check: verify current Jito endpoint availability
536
536
  */
537
537
  async healthCheck() {
538
538
  const endpoint = this.getCurrentEndpoint();
539
539
  try {
540
- // getTipAccounts 是最轻量的 Jito API 调用,适合做健康检查
540
+ // getTipAccounts is the lightest Jito API call, suitable for health checks
541
541
  await this.getTipAccounts();
542
542
  return { healthy: true, endpoint };
543
543
  }
@@ -547,12 +547,12 @@ export class JitoAdapter {
547
547
  }
548
548
  }
549
549
  // ============================================================
550
- // 单例管理 ( RpcAdapter 一致的模式)
550
+ // Singleton Management (same pattern as RpcAdapter)
551
551
  // ============================================================
552
552
  let _instance = null;
553
553
  /**
554
- * 获取 JitoAdapter 单例
555
- * 首次调用时创建实例
554
+ * Get JitoAdapter singleton
555
+ * Creates instance on first call
556
556
  */
557
557
  export function getJitoAdapter() {
558
558
  if (!_instance) {
@@ -561,13 +561,13 @@ export function getJitoAdapter() {
561
561
  return _instance;
562
562
  }
563
563
  /**
564
- * 重置单例 (用于配置变更后重新初始化)
564
+ * Reset singleton (for re-initialization after config changes)
565
565
  */
566
566
  export function resetJitoAdapter() {
567
567
  _instance = null;
568
568
  }
569
569
  // ============================================================
570
- // 工具函数
570
+ // Utility Functions
571
571
  // ============================================================
572
572
  function sleep(ms) {
573
573
  return new Promise((resolve) => setTimeout(resolve, ms));
@@ -1 +1 @@
1
- {"version":3,"file":"jito-adapter.js","sourceRoot":"","sources":["../../../src/adapters/jito-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jito-adapter.js","sourceRoot":"","sources":["../../../src/adapters/jito-adapter.ts"],"names":[],"mappings":"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"}