forgex-cli 1.0.59 → 1.0.62

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 (159) 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.d.ts.map +1 -1
  40. package/dist/src/commands/trade/index.js +120 -82
  41. package/dist/src/commands/trade/index.js.map +1 -1
  42. package/dist/src/commands/transfer/index.d.ts +8 -8
  43. package/dist/src/commands/transfer/index.js +106 -106
  44. package/dist/src/commands/transfer/index.js.map +1 -1
  45. package/dist/src/commands/wallet/index.d.ts +1 -1
  46. package/dist/src/commands/wallet/index.js +175 -175
  47. package/dist/src/commands/wallet/index.js.map +1 -1
  48. package/dist/src/config.d.ts +26 -26
  49. package/dist/src/config.d.ts.map +1 -1
  50. package/dist/src/config.js +28 -28
  51. package/dist/src/config.js.map +1 -1
  52. package/dist/src/const/index.js +1 -1
  53. package/dist/src/const/index.js.map +1 -1
  54. package/dist/src/data-source.d.ts +81 -81
  55. package/dist/src/data-source.d.ts.map +1 -1
  56. package/dist/src/data-source.js +149 -149
  57. package/dist/src/data-source.js.map +1 -1
  58. package/dist/src/data-store/index.d.ts +22 -22
  59. package/dist/src/data-store/index.d.ts.map +1 -1
  60. package/dist/src/data-store/index.js +46 -46
  61. package/dist/src/data-store/index.js.map +1 -1
  62. package/dist/src/data-store/types.d.ts +3 -3
  63. package/dist/src/data-store/types.js +3 -3
  64. package/dist/src/index.d.ts +2 -2
  65. package/dist/src/index.js +10 -10
  66. package/dist/src/index.js.map +1 -1
  67. package/dist/src/output.d.ts +18 -18
  68. package/dist/src/output.d.ts.map +1 -1
  69. package/dist/src/output.js +34 -34
  70. package/dist/src/output.js.map +1 -1
  71. package/dist/src/shims/store.d.ts +3 -2
  72. package/dist/src/shims/store.d.ts.map +1 -1
  73. package/dist/src/shims/store.js +6 -5
  74. package/dist/src/shims/store.js.map +1 -1
  75. package/dist/src/sol-sdk/batch/create.d.ts +4 -1
  76. package/dist/src/sol-sdk/batch/create.d.ts.map +1 -1
  77. package/dist/src/sol-sdk/batch/create.js +44 -44
  78. package/dist/src/sol-sdk/batch/create.js.map +1 -1
  79. package/dist/src/sol-sdk/batch/index.js +135 -135
  80. package/dist/src/sol-sdk/batch/index.js.map +1 -1
  81. package/dist/src/sol-sdk/calc.d.ts +63 -63
  82. package/dist/src/sol-sdk/calc.d.ts.map +1 -1
  83. package/dist/src/sol-sdk/calc.js +120 -120
  84. package/dist/src/sol-sdk/calc.js.map +1 -1
  85. package/dist/src/sol-sdk/jito/index.js +12 -12
  86. package/dist/src/sol-sdk/jito/index.js.map +1 -1
  87. package/dist/src/sol-sdk/launchlab/instructions/create.js +10 -10
  88. package/dist/src/sol-sdk/launchlab/instructions/create.js.map +1 -1
  89. package/dist/src/sol-sdk/meteora/index.d.ts +5 -5
  90. package/dist/src/sol-sdk/meteora/index.js +11 -11
  91. package/dist/src/sol-sdk/meteora/index.js.map +1 -1
  92. package/dist/src/sol-sdk/meteora/instructions/buy.js +8 -8
  93. package/dist/src/sol-sdk/meteora/instructions/buy.js.map +1 -1
  94. package/dist/src/sol-sdk/meteora/instructions/sell.js +6 -6
  95. package/dist/src/sol-sdk/meteora/instructions/sell.js.map +1 -1
  96. package/dist/src/sol-sdk/pump/index.js +3 -3
  97. package/dist/src/sol-sdk/pump/index.js.map +1 -1
  98. package/dist/src/sol-sdk/pump/instructions/buy.d.ts +12 -12
  99. package/dist/src/sol-sdk/pump/instructions/buy.d.ts.map +1 -1
  100. package/dist/src/sol-sdk/pump/instructions/buy.js +26 -26
  101. package/dist/src/sol-sdk/pump/instructions/buy.js.map +1 -1
  102. package/dist/src/sol-sdk/pump/instructions/createAndBuy.d.ts +13 -13
  103. package/dist/src/sol-sdk/pump/instructions/createAndBuy.js +17 -17
  104. package/dist/src/sol-sdk/pump/instructions/createAndBuy.js.map +1 -1
  105. package/dist/src/sol-sdk/pump/instructions/sell.d.ts +2 -2
  106. package/dist/src/sol-sdk/pump/instructions/sell.d.ts.map +1 -1
  107. package/dist/src/sol-sdk/pump/instructions/sell.js +7 -7
  108. package/dist/src/sol-sdk/pump/instructions/sell.js.map +1 -1
  109. package/dist/src/sol-sdk/pumpswap/index.d.ts +4 -4
  110. package/dist/src/sol-sdk/pumpswap/index.js +5 -5
  111. package/dist/src/sol-sdk/pumpswap/index.js.map +1 -1
  112. package/dist/src/sol-sdk/pumpswap/instructions/buy.d.ts +8 -8
  113. package/dist/src/sol-sdk/pumpswap/instructions/buy.js +19 -19
  114. package/dist/src/sol-sdk/pumpswap/instructions/buy.js.map +1 -1
  115. package/dist/src/sol-sdk/pumpswap/instructions/migrate.js +2 -2
  116. package/dist/src/sol-sdk/pumpswap/instructions/migrate.js.map +1 -1
  117. package/dist/src/sol-sdk/pumpswap/instructions/sell.js +4 -4
  118. package/dist/src/sol-sdk/pumpswap/instructions/sell.js.map +1 -1
  119. package/dist/src/sol-sdk/pumpswap/rpc/index.js +1 -1
  120. package/dist/src/sol-sdk/pumpswap/rpc/index.js.map +1 -1
  121. package/dist/src/sol-sdk/raydium/instructions/cpmmSell.js +3 -3
  122. package/dist/src/sol-sdk/raydium/instructions/cpmmSell.js.map +1 -1
  123. package/dist/src/sol-sdk/raydium/instructions/sell.d.ts +40 -8520
  124. package/dist/src/sol-sdk/raydium/instructions/sell.d.ts.map +1 -1
  125. package/dist/src/sol-sdk/raydium/instructions/sell.js +6 -6
  126. package/dist/src/sol-sdk/raydium/instructions/sell.js.map +1 -1
  127. package/dist/src/sol-sdk/raydium/rpc/index.d.ts +4 -4
  128. package/dist/src/sol-sdk/rpc/index.d.ts +14 -14
  129. package/dist/src/sol-sdk/rpc/index.d.ts.map +1 -1
  130. package/dist/src/sol-sdk/rpc/index.js +17 -17
  131. package/dist/src/sol-sdk/rpc/index.js.map +1 -1
  132. package/dist/src/sol-sdk/transfer/index.js +5 -5
  133. package/dist/src/sol-sdk/transfer/index.js.map +1 -1
  134. package/dist/src/sol-sdk/turnover/index.d.ts +3 -3
  135. package/dist/src/sol-sdk/turnover/index.js +56 -56
  136. package/dist/src/sol-sdk/turnover/index.js.map +1 -1
  137. package/dist/src/telemetry.d.ts +8 -8
  138. package/dist/src/telemetry.d.ts.map +1 -1
  139. package/dist/src/telemetry.js +25 -25
  140. package/dist/src/telemetry.js.map +1 -1
  141. package/dist/src/tx-tracker/detail-adapter.d.ts +53 -53
  142. package/dist/src/tx-tracker/detail-adapter.d.ts.map +1 -1
  143. package/dist/src/tx-tracker/detail-adapter.js +68 -68
  144. package/dist/src/tx-tracker/detail-adapter.js.map +1 -1
  145. package/dist/src/tx-tracker/index.d.ts +67 -67
  146. package/dist/src/tx-tracker/index.d.ts.map +1 -1
  147. package/dist/src/tx-tracker/index.js +103 -103
  148. package/dist/src/tx-tracker/index.js.map +1 -1
  149. package/dist/src/types/index.d.ts +10 -10
  150. package/dist/src/types/index.d.ts.map +1 -1
  151. package/dist/src/types/websocket.js +1 -1
  152. package/dist/src/types/websocket.js.map +1 -1
  153. package/dist/src/utils/index.js +20 -20
  154. package/dist/src/utils/index.js.map +1 -1
  155. package/dist/src/wallet-store.d.ts +51 -51
  156. package/dist/src/wallet-store.d.ts.map +1 -1
  157. package/dist/src/wallet-store.js +104 -104
  158. package/dist/src/wallet-store.js.map +1 -1
  159. package/package.json +1 -1
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * ForgeX CLI 入口
3
+ * ForgeX CLI Entry Point
4
4
  *
5
- * Solana 链上做市系统命令行工具
5
+ * Solana on-chain market-making system CLI tool
6
6
  *
7
- * 启动流程:
8
- * 1. 检测钱包存储是否为旧格式(明文私钥),如果是则自动迁移到加密格式
9
- * 2. 构建命令树并解析命令行参数
7
+ * Startup flow:
8
+ * 1. Detect if wallet store uses legacy format (plaintext private keys); if so, auto-migrate to encrypted format
9
+ * 2. Build command tree and parse CLI arguments
10
10
  */
11
11
  export {};
12
12
  //# sourceMappingURL=forgex.d.ts.map
@@ -1,26 +1,26 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * ForgeX CLI 入口
3
+ * ForgeX CLI Entry Point
4
4
  *
5
- * Solana 链上做市系统命令行工具
5
+ * Solana on-chain market-making system CLI tool
6
6
  *
7
- * 启动流程:
8
- * 1. 检测钱包存储是否为旧格式(明文私钥),如果是则自动迁移到加密格式
9
- * 2. 构建命令树并解析命令行参数
7
+ * Startup flow:
8
+ * 1. Detect if wallet store uses legacy format (plaintext private keys); if so, auto-migrate to encrypted format
9
+ * 2. Build command tree and parse CLI arguments
10
10
  */
11
11
  import { createProgram } from '../src/index.js';
12
12
  import { migrateToEncryptedStore, setMasterPassword } from '../src/wallet-store.js';
13
13
  import { trackCommand, shutdownTelemetry } from '../src/telemetry.js';
14
14
  /**
15
- * argv 中提取全局 --password 参数(子命令名之前的位置)。
15
+ * Extract global --password argument from argv (before the subcommand name).
16
16
  *
17
- * 不注册为 Commander 全局选项的原因:wallet import-group / export-group
18
- * 已有同名 --password 子命令选项,注册到 program 会冲突。
17
+ * Not registered as a Commander global option because wallet import-group / export-group
18
+ * already have a --password subcommand option; registering it on program would conflict.
19
19
  */
20
20
  function extractGlobalPassword(argv) {
21
21
  const cleaned = [...argv];
22
22
  for (let i = 2; i < cleaned.length; i++) {
23
- // 遇到不以 '-' 开头的参数说明已经到了子命令名,停止搜索
23
+ // Non-dash argument means we've reached the subcommand name; stop searching
24
24
  if (!cleaned[i].startsWith('-'))
25
25
  break;
26
26
  if (cleaned[i].startsWith('--password=')) {
@@ -33,21 +33,21 @@ function extractGlobalPassword(argv) {
33
33
  cleaned.splice(i, 2);
34
34
  return { password: pw, cleanedArgv: cleaned };
35
35
  }
36
- // 跳过其他 --key value 形式的全局参数(如 --format json
36
+ // Skip other --key value global arguments (e.g. --format json)
37
37
  if (cleaned[i].startsWith('--') && !cleaned[i].includes('='))
38
38
  i++;
39
39
  }
40
40
  return { password: null, cleanedArgv: cleaned };
41
41
  }
42
42
  async function main() {
43
- // 提取全局 --password(优先级最高:--password > FORGEX_PASSWORD env > 交互式输入)
43
+ // Extract global --password (highest priority: --password > FORGEX_PASSWORD env > interactive prompt)
44
44
  const { password, cleanedArgv } = extractGlobalPassword(process.argv);
45
45
  if (password)
46
46
  setMasterPassword(password);
47
- // 检测并迁移旧格式的钱包存储(明文私钥 AES 加密)
47
+ // Detect and migrate legacy wallet store (plaintext private keys -> AES encryption)
48
48
  await migrateToEncryptedStore();
49
49
  const program = createProgram();
50
- // 埋点:追踪命令执行(提取子命令名称)
50
+ // Telemetry: track command execution (extract subcommand name)
51
51
  const args = cleanedArgv.slice(2).filter(a => !a.startsWith('-'));
52
52
  const command = args.join(' ') || 'help';
53
53
  trackCommand(command);
@@ -55,7 +55,7 @@ async function main() {
55
55
  }
56
56
  main()
57
57
  .catch((err) => {
58
- console.error('启动失败:', err.message || err);
58
+ console.error('Startup failed:', err.message || err);
59
59
  process.exit(1);
60
60
  })
61
61
  .finally(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"forgex.js","sourceRoot":"","sources":["../../bin/forgex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forgex.js","sourceRoot":"","sources":["../../bin/forgex.ts"],"names":[],"mappings":"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"}
@@ -1,139 +1,139 @@
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
- /** Solana Codex 中的 networkId */
12
+ /** Solana networkId in Codex */
13
13
  declare const SOLANA_NETWORK_ID = 1399811149;
14
- /** SOL 原生代币 Wrapped 地址 (Codex 不支持原生代币直接查询, 需使用 Wrapped SOL) */
14
+ /** Wrapped SOL address (Codex doesn't support native token queries, use Wrapped SOL) */
15
15
  declare const WRAPPED_SOL_MINT = "So11111111111111111111111111111111111111112";
16
- /** Codex API 配置 */
16
+ /** Codex API configuration */
17
17
  export interface CodexConfig {
18
18
  /** Codex API Key */
19
19
  apiKey: string;
20
- /** GraphQL 端点 (默认 https://graph.codex.io/graphql) */
20
+ /** GraphQL endpoint (default https://graph.codex.io/graphql) */
21
21
  baseUrl?: string;
22
- /** 最大重试次数 */
22
+ /** Max retry count */
23
23
  maxRetries?: number;
24
24
  }
25
- /** 代币信息 ( ARCH-DESIGN-v2.md TokenInfoFile 对齐) */
25
+ /** Token info (aligned with ARCH-DESIGN-v2.md TokenInfoFile) */
26
26
  export interface CodexTokenInfo {
27
- /** 合约地址 */
27
+ /** Contract address */
28
28
  address: string;
29
- /** 代币符号 */
29
+ /** Token symbol */
30
30
  symbol: string;
31
- /** 代币名称 */
31
+ /** Token name */
32
32
  name: string;
33
- /** 小数位数 */
33
+ /** Decimals */
34
34
  decimals: number;
35
- /** 总供应量 */
35
+ /** Total supply */
36
36
  totalSupply: string;
37
- /** 图标 URL */
37
+ /** Icon URL */
38
38
  imageUrl: string | null;
39
- /** 创建时间 (Unix timestamp ) */
39
+ /** Creation time (Unix timestamp seconds) */
40
40
  createdAt: number | null;
41
- /** 网络 ID */
41
+ /** Network ID */
42
42
  networkId: number;
43
43
  }
44
- /** 代币价格 */
44
+ /** Token price */
45
45
  export interface CodexTokenPrice {
46
- /** 合约地址 */
46
+ /** Contract address */
47
47
  address: string;
48
- /** 网络 ID */
48
+ /** Network ID */
49
49
  networkId: number;
50
- /** USD 价格 */
50
+ /** USD price */
51
51
  priceUsd: number;
52
- /** 时间戳 */
52
+ /** Timestamp */
53
53
  timestamp: number | null;
54
54
  }
55
- /** 代币详细市场数据 (来自 filterTokens) */
55
+ /** Token detailed market data (from filterTokens) */
56
56
  export interface CodexTokenMarketData {
57
- /** 合约地址 */
57
+ /** Contract address */
58
58
  address: string;
59
- /** 代币符号 */
59
+ /** Token symbol */
60
60
  symbol: string;
61
- /** 代币名称 */
61
+ /** Token name */
62
62
  name: string;
63
- /** 小数位数 */
63
+ /** Decimals */
64
64
  decimals: number;
65
- /** USD 价格 */
65
+ /** USD price */
66
66
  priceUsd: number;
67
- /** 24h 交易量 (USD) */
67
+ /** 24h volume (USD) */
68
68
  volume24h: number;
69
- /** 24h 价格变化百分比 */
69
+ /** 24h price change percentage */
70
70
  priceChange24h: number;
71
- /** 流动性 (USD) */
71
+ /** Liquidity (USD) */
72
72
  liquidity: number;
73
- /** 完全稀释市值 */
73
+ /** Fully diluted market cap */
74
74
  marketCap: number;
75
- /** 持有者数量 */
75
+ /** Holder count */
76
76
  holders: number;
77
- /** 24h 买入次数 */
77
+ /** 24h buy count */
78
78
  buyCount24h: number;
79
- /** 24h 卖出次数 */
79
+ /** 24h sell count */
80
80
  sellCount24h: number;
81
- /** 24h 总交易笔数 */
81
+ /** 24h total transaction count */
82
82
  txnCount24h: number;
83
- /** 顶部交易对地址 */
83
+ /** Top pair address */
84
84
  topPairAddress: string | null;
85
- /** 创建时间 (Unix timestamp ) */
85
+ /** Creation time (Unix timestamp seconds) */
86
86
  createdAt: number | null;
87
87
  }
88
- /** K线柱 (OHLCV) */
88
+ /** Candlestick bar (OHLCV) */
89
89
  export interface CodexBar {
90
- /** 时间戳 (Unix ) */
90
+ /** Timestamp (Unix seconds) */
91
91
  t: number;
92
- /** 开盘价 (USD) */
92
+ /** Open price (USD) */
93
93
  o: number;
94
- /** 最高价 (USD) */
94
+ /** High price (USD) */
95
95
  h: number;
96
- /** 最低价 (USD) */
96
+ /** Low price (USD) */
97
97
  l: number;
98
- /** 收盘价 (USD) */
98
+ /** Close price (USD) */
99
99
  c: number;
100
- /** 成交量 */
100
+ /** Volume */
101
101
  v: number;
102
102
  }
103
- /** 交易对/池信息 */
103
+ /** Pair/pool info */
104
104
  export interface CodexPairInfo {
105
- /** 交易对地址 */
105
+ /** Pair address */
106
106
  pairAddress: string;
107
- /** 交易所/DEX 名称 */
107
+ /** Exchange/DEX name */
108
108
  exchangeName: string;
109
- /** 流动性 (USD) */
109
+ /** Liquidity (USD) */
110
110
  liquidity: number;
111
- /** token0 地址 */
111
+ /** token0 address */
112
112
  token0Address: string;
113
- /** token1 地址 */
113
+ /** token1 address */
114
114
  token1Address: string;
115
- /** 价格 (USD) */
115
+ /** Price (USD) */
116
116
  priceUsd: number;
117
- /** 24h 交易量 */
117
+ /** 24h volume */
118
118
  volume24h: number;
119
- /** 24h 交易笔数 */
119
+ /** 24h transaction count */
120
120
  txnCount24h: number;
121
- /** 创建时间 */
121
+ /** Creation time */
122
122
  createdAt: number | null;
123
123
  }
124
- /** K线查询参数 */
124
+ /** Candlestick query params */
125
125
  export interface GetBarsParams {
126
- /** 代币合约地址 */
126
+ /** Token contract address */
127
127
  tokenAddress: string;
128
- /** 交易对地址 (可选, 不传则使用顶部交易对) */
128
+ /** Pair address (optional, uses top pair if not provided) */
129
129
  pairAddress?: string;
130
- /** 时间粒度 */
130
+ /** Time resolution */
131
131
  resolution: '1' | '5' | '15' | '30' | '60' | '240' | '720' | '1D';
132
- /** 开始时间 (Unix ) */
132
+ /** Start time (Unix seconds) */
133
133
  from: number;
134
- /** 结束时间 (Unix ) */
134
+ /** End time (Unix seconds) */
135
135
  to: number;
136
- /** 向前回溯柱数 */
136
+ /** Number of bars to look back */
137
137
  countback?: number;
138
138
  }
139
139
  export declare class CodexAdapter {
@@ -143,65 +143,65 @@ export declare class CodexAdapter {
143
143
  private tokenInfoCache;
144
144
  constructor(config?: Partial<CodexConfig>);
145
145
  /**
146
- * 带指数退避重试的 GraphQL 请求执行器
146
+ * GraphQL request executor with exponential backoff retry
147
147
  */
148
148
  private executeQuery;
149
- /** 判断错误是否可重试 */
149
+ /** Check if error is retryable */
150
150
  private isRetryableError;
151
- /** 获取缓存值 (未过期则返回数据, 否则返回 null) */
151
+ /** Get cached value (returns data if not expired, null otherwise) */
152
152
  private getCached;
153
- /** 设置缓存 */
153
+ /** Set cache */
154
154
  private setCache;
155
- /** 清除所有缓存 */
155
+ /** Clear all caches */
156
156
  clearCache(): void;
157
157
  /**
158
- * 获取代币详细市场数据 (使用 filterTokens)
159
- * 包含价格、流动性、市值、持有者、交易量等
158
+ * Get detailed token market data (using filterTokens)
159
+ * Includes price, liquidity, market cap, holders, volume, etc.
160
160
  */
161
161
  getTokenMarketData(ca: string): Promise<CodexTokenMarketData>;
162
162
  /**
163
- * 获取代币基本信息 (精简版, filterTokens 提取)
163
+ * Get basic token info (compact version, extracted from filterTokens)
164
164
  */
165
165
  getTokenInfo(ca: string): Promise<CodexTokenInfo>;
166
166
  /**
167
- * 获取单个代币的实时价格 (USD)
167
+ * Get real-time price (USD) for a single token
168
168
  */
169
169
  getTokenPrice(ca: string): Promise<CodexTokenPrice>;
170
170
  /**
171
- * 批量获取代币价格
172
- * Codex 限制每次最多 25 个输入
171
+ * Batch get token prices
172
+ * Codex limits max 25 inputs per request
173
173
  */
174
174
  getTokenPrices(addresses: string[]): Promise<CodexTokenPrice[]>;
175
175
  /**
176
- * 获取 SOL 价格 (USD)
177
- * 使用 Wrapped SOL 地址查询
176
+ * Get SOL price (USD)
177
+ * Uses Wrapped SOL address for query
178
178
  */
179
179
  getSolPrice(): Promise<number>;
180
180
  /**
181
- * 获取 K线 (OHLCV) 数据
181
+ * Get candlestick (OHLCV) data
182
182
  *
183
- * getBars symbol 格式: tokenAddress:pairAddress (如无 pairAddress 则用默认交易对)
183
+ * getBars symbol format: tokenAddress:pairAddress (uses default pair if no pairAddress)
184
184
  */
185
185
  getBars(params: GetBarsParams): Promise<CodexBar[]>;
186
186
  /**
187
- * 查找代币的交易对列表 (按流动性降序排列)
187
+ * Find trading pairs for a token (sorted by liquidity descending)
188
188
  */
189
189
  getPairsForToken(ca: string, limit?: number): Promise<CodexPairInfo[]>;
190
190
  /**
191
- * 获取代币的顶部 (最高流动性) 交易对
191
+ * Get top (highest liquidity) trading pair for a token
192
192
  */
193
193
  getTopPair(ca: string): Promise<CodexPairInfo | null>;
194
194
  /**
195
- * 获取代币价格 (SOL USD)
196
- * 同时获取代币的 USD 价格和 SOL 价格
195
+ * Get token price (SOL and USD)
196
+ * Fetches both USD and SOL prices simultaneously
197
197
  */
198
198
  getTokenPriceInSolAndUsd(ca: string): Promise<{
199
199
  priceSol: number;
200
200
  priceUsd: number;
201
201
  }>;
202
202
  /**
203
- * 获取池信息 ( ARCH-DESIGN-v2.md PoolInfoFile 格式对齐)
204
- * 综合 Codex 价格和交易对数据
203
+ * Get pool info (aligned with ARCH-DESIGN-v2.md PoolInfoFile format)
204
+ * Combines Codex price and pair data
205
205
  */
206
206
  getPoolInfo(ca: string): Promise<{
207
207
  ca: string;
@@ -216,7 +216,7 @@ export declare class CodexAdapter {
216
216
  updatedAt: number;
217
217
  }>;
218
218
  /**
219
- * 验证 Codex API Key 和连接是否可用
219
+ * Verify Codex API Key and connection availability
220
220
  */
221
221
  healthCheck(): Promise<{
222
222
  healthy: boolean;
@@ -226,12 +226,12 @@ export declare class CodexAdapter {
226
226
  }>;
227
227
  }
228
228
  /**
229
- * 获取 CodexAdapter 单例
230
- * 首次调用时从 config 读取 Codex API Key 创建实例
229
+ * Get CodexAdapter singleton
230
+ * Creates instance from config Codex API Key on first call
231
231
  */
232
232
  export declare function getCodexAdapter(): CodexAdapter;
233
233
  /**
234
- * 重置单例 (配置变更后重新初始化)
234
+ * Reset singleton (re-initialize after config changes)
235
235
  */
236
236
  export declare function resetCodexAdapter(): void;
237
237
  export { SOLANA_NETWORK_ID, WRAPPED_SOL_MINT };
@@ -1 +1 @@
1
- {"version":3,"file":"codex-adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/codex-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,kCAAkC;AAClC,QAAA,MAAM,iBAAiB,aAAa,CAAC;AAErC,+DAA+D;AAC/D,QAAA,MAAM,gBAAgB,gDAAgD,CAAC;AAqBvE,mBAAmB;AACnB,MAAM,WAAW,WAAW;IAC1B,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,oDAAoD;AACpD,MAAM,WAAW,cAAc;IAC7B,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,WAAW;AACX,MAAM,WAAW,eAAe;IAC9B,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU;IACV,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,iCAAiC;AACjC,MAAM,WAAW,oBAAoB;IACnC,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc;IACd,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,8BAA8B;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,kBAAkB;AAClB,MAAM,WAAW,QAAQ;IACvB,mBAAmB;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,gBAAgB;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,gBAAgB;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,gBAAgB;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,gBAAgB;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,UAAU;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,cAAc;AACd,MAAM,WAAW,aAAa;IAC5B,YAAY;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW;IACX,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,aAAa;AACb,MAAM,WAAW,aAAa;IAC5B,aAAa;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW;IACX,UAAU,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;IAClE,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6GD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAA2C;IAC7D,OAAO,CAAC,cAAc,CAAgD;gBAE1D,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IA+BzC;;OAEG;YACW,YAAY;IAqC1B,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IA+BxB,kCAAkC;IAClC,OAAO,CAAC,SAAS;IAUjB,WAAW;IACX,OAAO,CAAC,QAAQ;IAIhB,aAAa;IACb,UAAU,IAAI,IAAI;IASlB;;;OAGG;IACG,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAqEnE;;OAEG;IACG,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAkBvD;;OAEG;IACG,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAsCzD;;;OAGG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IA4CrE;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IASpC;;;;OAIG;IACG,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IA0CzD;;OAEG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA4ChF;;OAEG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAS3D;;;OAGG;IACG,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAClD,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAYF;;;OAGG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QACrC,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1C,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAgCF;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC;QAC3B,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CAgBH;AAQD;;;GAGG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAK9C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAMD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"codex-adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/codex-adapter.ts"],"names":[],"mappings":"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"}